(ex:import-libraries-for-run '(((rnrs base) 0)) '(&build~1187093766~1613) 0) (define ex:make-variable-transformer #f) (define ex:identifier? #f) (define ex:bound-identifier=? #f) (define ex:free-identifier=? #f) (define ex:generate-temporaries #f) (define ex:datum->syntax #f) (define ex:syntax->datum #f) (define ex:environment #f) (define ex:environment-bindings #f) (define ex:eval #f) (define ex:syntax-violation #f) (define ex:expand-file #f) (define ex:repl #f) (define ex:expand-r5rs-file #f) (define ex:invalid-form #f) (define ex:register-macro! #f) (define ex:syntax-rename #f) (define ex:map-while #f) (define ex:dotted-length #f) (define ex:dotted-butlast #f) (define ex:dotted-last #f) (define ex:uncompress #f) (define ex:free=? #f) ((lambda (&*toplevel-env*~1187093766~2065) ((lambda (&*usage-env*~1187093766~2068) ((lambda (&*phase*~1187093766~2071) ((lambda (&*color*~1187093766~2074) ((lambda (&*macro-table*~1187093766~2077) ((lambda (&*env-table*~1187093766~2080) ((lambda (&*current-library*~1187093766~2083) ((lambda (&*used*~1187093766~2086) ((lambda (&*trace*~1187093766~2089) ((lambda (&*syntax-reflected*~1187093766~2092) ((lambda (&:identifier~1187093766~2095) ((lambda (&make-identifier~1187093766~2098) ((lambda (&make-library-language~1187093766~2243 &library-language-names~1187093766~2242 &source->syntax~1187093766~2241 &toplevel-template~1187093766~2240 &write-file~1187093766~2239 &read-file~1187093766~2238 &normalize~1187093766~2237 &expand-r5rs-file~1187093766~2236 &expand-file~1187093766~2235 &expand-toplevel-sequence~1187093766~2234 &reset-toplevel!~1187093766~2233 &repl~1187093766~2232 &invalid-form~1187093766~2231 &check~1187093766~2230 &compose~1187093766~2229 &list->string~1187093766~2228 &drop-tail~1187093766~2227 &unionv~1187093766~2226 &check-set?~1187093766~2225 &map-while~1187093766~2224 &dotted-last~1187093766~2223 &dotted-butlast~1187093766~2222 &dotted-length~1187093766~2221 &dotted-map~1187093766~2220 &dotted-memp~1187093766~2219 &sexp-map~1187093766~2218 &flatten~1187093766~2217 &format-mapping~1187093766~2216 &environment-bindings~1187093766~2215 &r6rs-eval~1187093766~2214 &environment~1187093766~2213 &r6rs-environment-env~1187093766~2212 &r6rs-environment-imported-libraries~1187093766~2211 &make-r6rs-environment~1187093766~2210 &eval-template~1187093766~2209 &syntax-debug~1187093766~2208 &syntax-violation~1187093766~2207 &subversion-condition?~1187093766~2206 &subversion-reference?~1187093766~2205 &version-reference?~1187093766~2204 &subversion?~1187093766~2203 &version?~1187093766~2202 &library-ref-helper~1187093766~2201 &library-ref~1187093766~2200 &scan-library-name~1187093766~2199 &unify-imports~1187093766~2198 &compose-levels~1187093766~2197 &scan-levels~1187093766~2196 &scan-import-spec~1187093766~2195 &scan-imports~1187093766~2194 &scan-export-set~1187093766~2193 &scan-exports~1187093766~2192 &import-libraries-for-expand~1187093766~2191 ¤t-builds~1187093766~2190 &env-import!~1187093766~2189 &expand-library-or-program~1187093766~2188 &expand-library~1187093766~2187 &expand-program~1187093766~2186 &check-used~1187093766~2185 &merge-used-with-parent-frame!~1187093766~2184 ®ister-use!~1187093766~2183 &add-fresh-used-frame!~1187093766~2182 &segment-tail~1187093766~2181 &segment-depth~1187093766~2180 &free-meta-variables~1187093766~2179 &process-template~1187093766~2178 &expand-syntax~1187093766~2177 &process-clauses~1187093766~2176 &expand-syntax-case~1187093766~2175 &check-expression-body~1187093766~2174 &check-valid-definition~1187093766~2173 &check-toplevel~1187093766~2172 &check-expression-sequence~1187093766~2171 &parse-local-syntax~1187093766~2170 &parse-definition~1187093766~2169 &emit-body~1187093766~2168 &scan-sequence~1187093766~2167 &wrap-exp~1187093766~2166 &wrap-env~1187093766~2165 &make-wrap~1187093766~2164 &formals?~1187093766~2163 &expand-lambda~1187093766~2162 &expand-or~1187093766~2161 &expand-and~1187093766~2160 &expand-local-syntax~1187093766~2159 &expand-begin~1187093766~2158 &expand-set!~1187093766~2157 &expand-if~1187093766~2156 &expand-quote~1187093766~2155 &check-implicit-import-of-mutable~1187093766~2154 &operator-binding~1187093766~2153 &head-expand~1187093766~2152 &expand~1187093766~2151 &invoke-macro~1187093766~2150 ®ister-macro!~1187093766~2149 &binding->macro~1187093766~2148 &make-user-macro~1187093766~2147 &make-variable-transformer~1187093766~2146 &make-transformer~1187093766~2145 &make-expander~1187093766~2144 ¯o-proc~1187093766~2143 ¯o-type~1187093766~2142 &make-macro~1187093766~2141 &rename~1187093766~2140 &generate-temporaries~1187093766~2139 &syntax->datum~1187093766~2138 &datum->syntax~1187093766~2137 &syntax-rename~1187093766~2136 &syntax-reflect~1187093766~2135 &uncompress~1187093766~2134 &compress~1187093766~2133 &env-reify~1187093766~2132 &env-reflect~1187093766~2131 &duplicate?~1187093766~2130 &env-lookup~1187093766~2129 &env-extend!~1187093766~2128 &env-extend~1187093766~2127 &make-unit-env~1187093766~2126 &make-null-env~1187093766~2125 &check-binding-level~1187093766~2124 &source-level~1187093766~2123 &make-toplevel-mapping~1187093766~2122 &make-local-mapping~1187093766~2121 &binding~1187093766~2120 &binding-mutable-set!~1187093766~2119 &binding-library~1187093766~2118 &binding-dimension~1187093766~2117 &binding-mutable?~1187093766~2116 &binding-levels~1187093766~2115 &binding-name~1187093766~2114 &binding-type~1187093766~2113 &make-binding~1187093766~2112 &generate-color~1187093766~2111 &make-free-name~1187093766~2110 &generate-guid~1187093766~2109 &free=?~1187093766~2108 &free-identifier=?~1187093766~2107 &bound-identifier=?~1187093766~2106 &id-library~1187093766~2105 &id-maybe-library~1187093766~2104 &id-displacement~1187093766~2103 &id-transformer-envs~1187093766~2102 &id-colors~1187093766~2101 &id-name~1187093766~2100 &identifier?~1187093766~2099) (set! &identifier?~1187093766~2099 (record-predicate &:identifier~1187093766~2095)) (set! &id-name~1187093766~2100 (record-accessor &:identifier~1187093766~2095 0)) (set! &id-colors~1187093766~2101 (record-accessor &:identifier~1187093766~2095 1)) (set! &id-transformer-envs~1187093766~2102 (record-accessor &:identifier~1187093766~2095 2)) (set! &id-displacement~1187093766~2103 (record-accessor &:identifier~1187093766~2095 3)) (set! &id-maybe-library~1187093766~2104 (record-accessor &:identifier~1187093766~2095 4)) (set! &id-library~1187093766~2105 (lambda (&id~1187093766~9409) (let ((x (&id-maybe-library~1187093766~2104 &id~1187093766~9409))) (if x x &*current-library*~1187093766~2083)))) (set! &bound-identifier=?~1187093766~2106 (lambda (&x~1187093766~9402 &y~1187093766~9403) (&check~1187093766~2230 &x~1187093766~9402 &identifier?~1187093766~2099 'bound-identifier=?) (&check~1187093766~2230 &y~1187093766~9403 &identifier?~1187093766~2099 'bound-identifier=?) (if (eq? (&id-name~1187093766~2100 &x~1187093766~9402) (&id-name~1187093766~2100 &y~1187093766~9403)) (equal? (&id-colors~1187093766~2101 &x~1187093766~9402) (&id-colors~1187093766~2101 &y~1187093766~9403)) #f))) (set! &free-identifier=?~1187093766~2107 (lambda (&x~1187093766~9378 &y~1187093766~9379) (&check~1187093766~2230 &x~1187093766~9378 &identifier?~1187093766~2099 'free-identifier=?) (&check~1187093766~2230 &y~1187093766~9379 &identifier?~1187093766~2099 'free-identifier=?) ((lambda (&bx~1187093766~9382 &by~1187093766~9383) ((lambda (&result~1187093766~9386) (if &result~1187093766~9386 (if &bx~1187093766~9382 (begin (&check-binding-level~1187093766~2124 &x~1187093766~9378 &bx~1187093766~9382) (&check-binding-level~1187093766~2124 &y~1187093766~9379 &by~1187093766~9383)) #f) #f) (if &result~1187093766~9386 (if (®ister-use!~1187093766~2183 &x~1187093766~9378 &bx~1187093766~9382) (®ister-use!~1187093766~2183 &y~1187093766~9379 &by~1187093766~9383) #f) #f) &result~1187093766~9386) (if &bx~1187093766~9382 (if &by~1187093766~9383 (eq? (&binding-name~1187093766~2114 &bx~1187093766~9382) (&binding-name~1187093766~2114 &by~1187093766~9383)) #f) (if (not &by~1187093766~9383) (eq? (&id-name~1187093766~2100 &x~1187093766~9378) (&id-name~1187093766~2100 &y~1187093766~9379)) #f)))) (&binding~1187093766~2120 &x~1187093766~9378) (&binding~1187093766~2120 &y~1187093766~9379)))) (set! &free=?~1187093766~2108 (lambda (&x~1187093766~9360 &symbol~1187093766~9361) (if (&identifier?~1187093766~2099 &x~1187093766~9360) ((lambda (&bx~1187093766~9366) ((lambda (&result~1187093766~9369) (if &result~1187093766~9369 (if &bx~1187093766~9366 (&check-binding-level~1187093766~2124 &x~1187093766~9360 &bx~1187093766~9366) #f) #f) (if &result~1187093766~9369 (®ister-use!~1187093766~2183 &x~1187093766~9360 &bx~1187093766~9366) #f) &result~1187093766~9369) (if &bx~1187093766~9366 (eq? (&binding-name~1187093766~2114 &bx~1187093766~9366) &symbol~1187093766~9361) #f))) (&binding~1187093766~2120 &x~1187093766~9360)) #f))) (set! &generate-guid~1187093766~2109 ((lambda (&token~1187093766~9354 &ticks~1187093766~9355) (lambda (&symbol~1187093766~9357) (set! &ticks~1187093766~9355 (+ &ticks~1187093766~9355 1)) (string->symbol (string-append ex:guid-prefix (symbol->string &symbol~1187093766~9357) "~" &token~1187093766~9354 "~" (number->string &ticks~1187093766~9355))))) (ex:unique-token) 0)) (set! &make-free-name~1187093766~2110 (lambda (&symbol~1187093766~9351) (string->symbol (string-append ex:free-prefix (symbol->string &symbol~1187093766~9351))))) (set! &generate-color~1187093766~2111 (lambda () (&generate-guid~1187093766~2109 'c))) (set! &make-binding~1187093766~2112 (lambda (&type~1187093766~9343 &name~1187093766~9344 &levels~1187093766~9345 &content~1187093766~9346 &library~1187093766~9347) (list &type~1187093766~9343 &name~1187093766~9344 &levels~1187093766~9345 &content~1187093766~9346 &library~1187093766~9347))) (set! &binding-type~1187093766~2113 (lambda (&b~1187093766~9341) (car &b~1187093766~9341))) (set! &binding-name~1187093766~2114 (lambda (&b~1187093766~9339) (cadr &b~1187093766~9339))) (set! &binding-levels~1187093766~2115 (lambda (&b~1187093766~9337) (caddr &b~1187093766~9337))) (set! &binding-mutable?~1187093766~2116 (lambda (&b~1187093766~9335) (cadddr &b~1187093766~9335))) (set! &binding-dimension~1187093766~2117 (lambda (&b~1187093766~9333) (cadddr &b~1187093766~9333))) (set! &binding-library~1187093766~2118 (lambda (&b~1187093766~9331) (car (cddddr &b~1187093766~9331)))) (set! &binding-mutable-set!~1187093766~2119 (lambda (&b~1187093766~9328 &x~1187093766~9329) (set-car! (cdddr &b~1187093766~9328) &x~1187093766~9329))) (set! &binding~1187093766~2120 (lambda (&id~1187093766~9303) ((lambda (&name~1187093766~9306) (((lambda (&loop~1187093766~9312) ((lambda (&temp~1187093766~9315) (set! &loop~1187093766~9312 &temp~1187093766~9315) ((lambda () &loop~1187093766~9312))) (lambda (&env~1187093766~9320 &envs~1187093766~9321 &colors~1187093766~9322) (let ((x (&env-lookup~1187093766~2129 (cons &name~1187093766~9306 &colors~1187093766~9322) &env~1187093766~9320))) (if x x (if (pair? &envs~1187093766~9321) (&loop~1187093766~9312 (&env-reify~1187093766~2132 (car &envs~1187093766~9321)) (cdr &envs~1187093766~9321) (cdr &colors~1187093766~9322)) #f)))))) &unspecified~1187093766~179) &*usage-env*~1187093766~2068 (&id-transformer-envs~1187093766~2102 &id~1187093766~9303) (&id-colors~1187093766~2101 &id~1187093766~9303))) (&id-name~1187093766~2100 &id~1187093766~9303)))) (set! &make-local-mapping~1187093766~2121 (lambda (&type~1187093766~9299 &id~1187093766~9300 &content~1187093766~9301) (cons (cons (&id-name~1187093766~2100 &id~1187093766~9300) (&id-colors~1187093766~2101 &id~1187093766~9300)) (&make-binding~1187093766~2112 &type~1187093766~9299 (&generate-guid~1187093766~2109 (&id-name~1187093766~2100 &id~1187093766~9300)) (list (&source-level~1187093766~2123 &id~1187093766~9300)) &content~1187093766~9301 &*current-library*~1187093766~2083)))) (set! &make-toplevel-mapping~1187093766~2122 (lambda (&type~1187093766~9293 &id~1187093766~9294 &content~1187093766~9295) (if (null? (&id-colors~1187093766~2101 &id~1187093766~9294)) (cons (cons (&id-name~1187093766~2100 &id~1187093766~9294) (&id-colors~1187093766~2101 &id~1187093766~9294)) (&make-binding~1187093766~2112 &type~1187093766~9293 (&make-free-name~1187093766~2110 (&id-name~1187093766~2100 &id~1187093766~9294)) '(0) &content~1187093766~9295 &*current-library*~1187093766~2083)) (&make-local-mapping~1187093766~2121 &type~1187093766~9293 &id~1187093766~9294 &content~1187093766~9295)))) (set! &source-level~1187093766~2123 (lambda (&id~1187093766~9291) (- &*phase*~1187093766~2071 (&id-displacement~1187093766~2103 &id~1187093766~9291)))) (set! &check-binding-level~1187093766~2124 (lambda (&id~1187093766~9281 &binding~1187093766~9282) (if &binding~1187093766~9282 (let ((x (memv (&source-level~1187093766~2123 &id~1187093766~9281) (&binding-levels~1187093766~2115 &binding~1187093766~9282)))) (if x x (&syntax-violation~1187093766~2207 "invalid reference" (string-append "Attempt to use binding of " (symbol->string (&id-name~1187093766~2100 &id~1187093766~9281)) " in library (" (&list->string~1187093766~2228 (&id-library~1187093766~2105 &id~1187093766~9281) " ") ") at invalid level " (number->string (&source-level~1187093766~2123 &id~1187093766~9281)) ". Binding is only available at levels: " (&list->string~1187093766~2228 (&binding-levels~1187093766~2115 &binding~1187093766~9282) " ")) &id~1187093766~9281))) (let ((x (if (null? (&id-library~1187093766~2105 &id~1187093766~9281)) (= &*phase*~1187093766~2071 0) #f))) (if x x (&syntax-violation~1187093766~2207 "invalid reference" (string-append "No binding available for " (symbol->string (&id-name~1187093766~2100 &id~1187093766~9281)) " in library (" (&list->string~1187093766~2228 (&id-library~1187093766~2105 &id~1187093766~9281) " ") ")") &id~1187093766~9281)))))) (set! &make-null-env~1187093766~2125 (lambda () '())) (set! &make-unit-env~1187093766~2126 (lambda () (&env-extend~1187093766~2127 '() (&make-null-env~1187093766~2125)))) (set! &env-extend~1187093766~2127 (lambda (&mappings~1187093766~9274 &env~1187093766~9275) (cons (list &mappings~1187093766~9274) &env~1187093766~9275))) (set! &env-extend!~1187093766~2128 (lambda (&mappings~1187093766~9268 &env~1187093766~9269) ((lambda (&frame~1187093766~9272) (set-car! &frame~1187093766~9272 (append &mappings~1187093766~9268 (car &frame~1187093766~9272)))) (car &env~1187093766~9269)))) (set! &env-lookup~1187093766~2129 (lambda (&key~1187093766~9254 &env~1187093766~9255) (if (pair? &env~1187093766~9255) (let ((x ((lambda (&probe~1187093766~9261) (if &probe~1187093766~9261 (let ((x (cdr &probe~1187093766~9261))) (if x x (&syntax-violation~1187093766~2207 #f "Out of context reference to identifier" (car &key~1187093766~9254)))) #f)) (assoc &key~1187093766~9254 (caar &env~1187093766~9255))))) (if x x (&env-lookup~1187093766~2129 &key~1187093766~9254 (cdr &env~1187093766~9255)))) #f))) (set! &duplicate?~1187093766~2130 (lambda (&id~1187093766~9251 &env~1187093766~9252) (assoc (cons (&id-name~1187093766~2100 &id~1187093766~9251) (&id-colors~1187093766~2101 &id~1187093766~9251)) (caar &env~1187093766~9252)))) (set! &env-reflect~1187093766~2131 (lambda (&env~1187093766~9238) (if (if (not (null? &*env-table*~1187093766~2080)) (eq? &env~1187093766~9238 (cdar &*env-table*~1187093766~2080)) #f) (begin (caar &*env-table*~1187093766~2080)) (begin ((lambda (&key~1187093766~9247) (set! &*env-table*~1187093766~2080 (cons (cons &key~1187093766~9247 &env~1187093766~9238) &*env-table*~1187093766~2080)) &key~1187093766~9247) (&generate-guid~1187093766~2109 'env)))))) (set! &env-reify~1187093766~2132 (lambda (&key-or-env~1187093766~9235) (if (symbol? &key-or-env~1187093766~9235) (cdr (assq &key-or-env~1187093766~9235 &*env-table*~1187093766~2080)) &key-or-env~1187093766~9235))) (set! &compress~1187093766~2133 (lambda (&env-table~1187093766~9201) ((lambda (&frame-table~1187093766~9204 &count~1187093766~9205) (for-each (lambda (&entry~1187093766~9226) (for-each (lambda (&frame~1187093766~9228) (if (not (assq &frame~1187093766~9228 &frame-table~1187093766~9204)) (begin (set! &frame-table~1187093766~9204 (cons (cons &frame~1187093766~9228 &count~1187093766~9205) &frame-table~1187093766~9204)) (set! &count~1187093766~9205 (+ 1 &count~1187093766~9205))))) (cdr &entry~1187093766~9226))) &env-table~1187093766~9201) (cons (map (lambda (&env-entry~1187093766~9207) (cons (car &env-entry~1187093766~9207) (map (lambda (&frame~1187093766~9209) (cdr (assq &frame~1187093766~9209 &frame-table~1187093766~9204))) (cdr &env-entry~1187093766~9207)))) &env-table~1187093766~9201) (map (lambda (&frame-entry~1187093766~9211) (cons (cdr &frame-entry~1187093766~9211) (list (map (lambda (&mapping~1187093766~9213) (cons (car &mapping~1187093766~9213) ((lambda (&binding~1187093766~9216) ((lambda (&t~1187093766~9220) (if (memv &t~1187093766~9220 '(pattern-variable)) (begin #f) (begin &binding~1187093766~9216))) (&binding-type~1187093766~2113 &binding~1187093766~9216))) (cdr &mapping~1187093766~9213)))) (caar &frame-entry~1187093766~9211))))) &frame-table~1187093766~9204))) '() 0))) (set! &uncompress~1187093766~2134 (lambda (&compressed-env-table~1187093766~9195) (map (lambda (&env-entry~1187093766~9197) (cons (car &env-entry~1187093766~9197) (map (lambda (&frame-abbrev~1187093766~9199) (cdr (assv &frame-abbrev~1187093766~9199 (cdr &compressed-env-table~1187093766~9195)))) (cdr &env-entry~1187093766~9197)))) (car &compressed-env-table~1187093766~9195)))) (set! &syntax-reflect~1187093766~2135 (lambda (&id~1187093766~9186) (set! &*syntax-reflected*~1187093766~2092 #t) (list 'ex:syntax-rename (list 'quote (&id-name~1187093766~2100 &id~1187093766~9186)) (list 'quote (&id-colors~1187093766~2101 &id~1187093766~9186)) (list 'quote (cons (&env-reflect~1187093766~2131 &*usage-env*~1187093766~2068) (&id-transformer-envs~1187093766~2102 &id~1187093766~9186))) (- &*phase*~1187093766~2071 (&id-displacement~1187093766~2103 &id~1187093766~9186) 1) (list 'quote (&id-library~1187093766~2105 &id~1187093766~9186))))) (set! &syntax-rename~1187093766~2136 (lambda (&name~1187093766~9180 &colors~1187093766~9181 &transformer-envs~1187093766~9182 &transformer-phase~1187093766~9183 &source-library~1187093766~9184) (&make-identifier~1187093766~2098 &name~1187093766~9180 (cons &*color*~1187093766~2074 &colors~1187093766~9181) &transformer-envs~1187093766~9182 (- &*phase*~1187093766~2071 &transformer-phase~1187093766~9183) &source-library~1187093766~9184))) (set! &datum->syntax~1187093766~2137 (lambda (&tid~1187093766~9170 &datum~1187093766~9171) (&check~1187093766~2230 &tid~1187093766~9170 &identifier?~1187093766~2099 'datum->syntax) (&sexp-map~1187093766~2218 (lambda (&leaf~1187093766~9173) (if (symbol? &leaf~1187093766~9173) (begin (&make-identifier~1187093766~2098 &leaf~1187093766~9173 (&id-colors~1187093766~2101 &tid~1187093766~9170) (&id-transformer-envs~1187093766~2102 &tid~1187093766~9170) (&id-displacement~1187093766~2103 &tid~1187093766~9170) (&id-maybe-library~1187093766~2104 &tid~1187093766~9170))) (begin &leaf~1187093766~9173))) &datum~1187093766~9171))) (set! &syntax->datum~1187093766~2138 (lambda (&exp~1187093766~9159) (&sexp-map~1187093766~2218 (lambda (&leaf~1187093766~9161) (if (&identifier?~1187093766~2099 &leaf~1187093766~9161) (begin (&id-name~1187093766~2100 &leaf~1187093766~9161)) (if (symbol? &leaf~1187093766~9161) (begin (assertion-violation 'syntax->datum "A symbol is not a valid syntax object" &leaf~1187093766~9161)) (begin &leaf~1187093766~9161)))) &exp~1187093766~9159))) (set! &generate-temporaries~1187093766~2139 (lambda (&ls~1187093766~9153) (&check~1187093766~2230 &ls~1187093766~9153 list? 'generate-temporaries) (map (lambda (&ignore~1187093766~9155) (&make-identifier~1187093766~2098 'temp (list (&generate-color~1187093766~2111)) (list (&make-null-env~1187093766~2125)) &*phase*~1187093766~2071 #f)) &ls~1187093766~9153))) (set! &rename~1187093766~2140 (lambda (&type~1187093766~9147 &symbol~1187093766~9148) (&make-identifier~1187093766~2098 &symbol~1187093766~9148 (list &*color*~1187093766~2074) (list (&env-extend~1187093766~2127 (list (cons (cons &symbol~1187093766~9148 '()) (&make-binding~1187093766~2112 &type~1187093766~9147 &symbol~1187093766~9148 '(0) #f '()))) (&make-null-env~1187093766~2125))) &*phase*~1187093766~2071 #f))) (set! &make-macro~1187093766~2141 (lambda (&type~1187093766~9144 &proc~1187093766~9145) (list &type~1187093766~9144 &proc~1187093766~9145))) (set! ¯o-type~1187093766~2142 car) (set! ¯o-proc~1187093766~2143 cadr) (set! &make-expander~1187093766~2144 (lambda (&proc~1187093766~9141) (&make-macro~1187093766~2141 'expander &proc~1187093766~9141))) (set! &make-transformer~1187093766~2145 (lambda (&proc~1187093766~9138) (&make-macro~1187093766~2141 'transformer &proc~1187093766~9138))) (set! &make-variable-transformer~1187093766~2146 (lambda (&proc~1187093766~9135) (&make-macro~1187093766~2141 'variable-transformer &proc~1187093766~9135))) (set! &make-user-macro~1187093766~2147 (lambda (&procedure-or-macro~1187093766~9132) (if (procedure? &procedure-or-macro~1187093766~9132) (&make-transformer~1187093766~2145 &procedure-or-macro~1187093766~9132) &procedure-or-macro~1187093766~9132))) (set! &binding->macro~1187093766~2148 (lambda (&binding~1187093766~9123 &t~1187093766~9124) ((lambda (&t~1187093766~9128) (if &t~1187093766~9128 (cdr &t~1187093766~9128) (begin (&syntax-violation~1187093766~2207 #f "Reference to macro keyword out of context" &t~1187093766~9124)))) (assq (&binding-name~1187093766~2114 &binding~1187093766~9123) &*macro-table*~1187093766~2077)))) (set! ®ister-macro!~1187093766~2149 (lambda (&binding-name~1187093766~9119 &procedure-or-macro~1187093766~9120) (set! &*macro-table*~1187093766~2077 (cons (cons &binding-name~1187093766~9119 (&make-user-macro~1187093766~2147 &procedure-or-macro~1187093766~9120)) &*macro-table*~1187093766~2077)))) (set! &invoke-macro~1187093766~2150 (lambda (¯o~1187093766~9115 &t~1187093766~9116) (set! &*color*~1187093766~2074 (&generate-color~1187093766~2111)) ((¯o-proc~1187093766~2143 ¯o~1187093766~9115) &t~1187093766~9116))) (set! &expand~1187093766~2151 (lambda (&t~1187093766~9060) ((lambda (&saved~1187093766~9064) (set! &*trace*~1187093766~2089 (cons &t~1187093766~9060 &*trace*~1187093766~2089)) (call-with-values (lambda () ((lambda (&binding~1187093766~9069) (if &binding~1187093766~9069 (begin ((lambda (&t~1187093766~9076) (if (memv &t~1187093766~9076 '(macro)) (begin ((lambda (¯o~1187093766~9082) ((lambda (&expanded-once~1187093766~9085) ((lambda (&t~1187093766~9089) (if (memv &t~1187093766~9089 '(expander)) (begin &expanded-once~1187093766~9085) (begin (&expand~1187093766~2151 &expanded-once~1187093766~9085)))) (¯o-type~1187093766~2142 ¯o~1187093766~9082))) (&invoke-macro~1187093766~2150 ¯o~1187093766~9082 &t~1187093766~9060))) (&binding->macro~1187093766~2148 &binding~1187093766~9069 &t~1187093766~9060))) (if (memv &t~1187093766~9076 '(variable)) (begin (&check-implicit-import-of-mutable~1187093766~2154 &binding~1187093766~9069 &t~1187093766~9060) (if (list? &t~1187093766~9060) (cons (&binding-name~1187093766~2114 &binding~1187093766~9069) (map &expand~1187093766~2151 (cdr &t~1187093766~9060))) (&binding-name~1187093766~2114 &binding~1187093766~9069))) (if (memv &t~1187093766~9076 '(pattern-variable)) (begin (&syntax-violation~1187093766~2207 #f "Pattern variable used outside syntax template" &t~1187093766~9060)))))) (&binding-type~1187093766~2113 &binding~1187093766~9069))) (if (list? &t~1187093766~9060) (begin (map &expand~1187093766~2151 &t~1187093766~9060)) (if (&identifier?~1187093766~2099 &t~1187093766~9060) (begin (&make-free-name~1187093766~2110 (&id-name~1187093766~2100 &t~1187093766~9060))) (if (pair? &t~1187093766~9060) (begin (&syntax-violation~1187093766~2207 #f "Invalid procedure call syntax" &t~1187093766~9060)) (if (symbol? &t~1187093766~9060) (begin (&syntax-violation~1187093766~2207 #f "Symbol may not appear in syntax object" &t~1187093766~9060)) (begin &t~1187093766~9060))))))) (&operator-binding~1187093766~2153 &t~1187093766~9060))) (lambda &results~1187093766~9111 (set! &*trace*~1187093766~2089 &saved~1187093766~9064) (apply values &results~1187093766~9111)))) &*trace*~1187093766~2089))) (set! &head-expand~1187093766~2152 (lambda (&t~1187093766~9022) ((lambda (&saved~1187093766~9026) (set! &*trace*~1187093766~2089 (cons &t~1187093766~9022 &*trace*~1187093766~2089)) (call-with-values (lambda () ((lambda (&binding~1187093766~9031) (if &binding~1187093766~9031 (begin ((lambda (&t~1187093766~9038) (if (memv &t~1187093766~9038 '(macro)) (begin ((lambda (¯o~1187093766~9044) ((lambda (&t~1187093766~9048) (if (memv &t~1187093766~9048 '(expander)) (begin (values &t~1187093766~9022 &binding~1187093766~9031)) (begin (&head-expand~1187093766~2152 (&invoke-macro~1187093766~2150 ¯o~1187093766~9044 &t~1187093766~9022))))) (¯o-type~1187093766~2142 ¯o~1187093766~9044))) (&binding->macro~1187093766~2148 &binding~1187093766~9031 &t~1187093766~9022))) (begin (values &t~1187093766~9022 &binding~1187093766~9031)))) (&binding-type~1187093766~2113 &binding~1187093766~9031))) (begin (values &t~1187093766~9022 &binding~1187093766~9031)))) (&operator-binding~1187093766~2153 &t~1187093766~9022))) (lambda &results~1187093766~9056 (set! &*trace*~1187093766~2089 &saved~1187093766~9026) (apply values &results~1187093766~9056)))) &*trace*~1187093766~2089))) (set! &operator-binding~1187093766~2153 (lambda (&t~1187093766~9011) ((lambda (&operator~1187093766~9014) (if (&identifier?~1187093766~2099 &operator~1187093766~9014) ((lambda (&binding~1187093766~9019) (&check-binding-level~1187093766~2124 &operator~1187093766~9014 &binding~1187093766~9019) (®ister-use!~1187093766~2183 &operator~1187093766~9014 &binding~1187093766~9019) &binding~1187093766~9019) (&binding~1187093766~2120 &operator~1187093766~9014)) #f)) (if (pair? &t~1187093766~9011) (car &t~1187093766~9011) &t~1187093766~9011)))) (set! &check-implicit-import-of-mutable~1187093766~2154 (lambda (&binding~1187093766~9005 &t~1187093766~9006) (let ((x (equal? (&binding-library~1187093766~2118 &binding~1187093766~9005) &*current-library*~1187093766~2083))) (if x x (let ((x (not (&binding-mutable?~1187093766~2116 &binding~1187093766~9005)))) (if x x (&syntax-violation~1187093766~2207 #f (string-append "Attempt to implicitly import variable that is mutable in library (" (&list->string~1187093766~2228 (&binding-library~1187093766~2118 &binding~1187093766~9005) " ") ")") &t~1187093766~9006))))))) (set! &expand-quote~1187093766~2155 (lambda (&exp~1187093766~8959) ((lambda (&x~1187093766~8972 &sk~1187093766~8973 &fk~1187093766~8974) (if (pair? &x~1187093766~8972) ((lambda (&x~1187093766~8977 &sk~1187093766~8978 &fk~1187093766~8979) (&sk~1187093766~8978)) (car &x~1187093766~8972) (lambda () ((lambda (&x~1187093766~8982 &sk~1187093766~8983 &fk~1187093766~8984) (if (pair? &x~1187093766~8982) ((lambda (&x~1187093766~8987 &sk~1187093766~8988 &fk~1187093766~8989) (&sk~1187093766~8988 &x~1187093766~8987)) (car &x~1187093766~8982) (lambda (&datum~1187093766~8991) ((lambda (&x~1187093766~8993 &sk~1187093766~8994 &fk~1187093766~8995) (if (null? &x~1187093766~8993) (&sk~1187093766~8994) (&fk~1187093766~8995))) (cdr &x~1187093766~8982) (lambda () (&sk~1187093766~8983 &datum~1187093766~8991)) &fk~1187093766~8984)) &fk~1187093766~8984) (&fk~1187093766~8984))) (cdr &x~1187093766~8972) (lambda (&datum~1187093766~8999) (&sk~1187093766~8973 &datum~1187093766~8999)) &fk~1187093766~8974)) &fk~1187093766~8974) (&fk~1187093766~8974))) &exp~1187093766~8959 (lambda (&datum~1187093766~9001) (&syntax->datum~1187093766~2138 &exp~1187093766~8959)) (lambda () (invalid-form &exp~1187093766~8959))))) (set! &expand-if~1187093766~2156 (lambda (&exp~1187093766~8808) ((lambda (&x~1187093766~8829 &sk~1187093766~8830 &fk~1187093766~8831) (if (pair? &x~1187093766~8829) ((lambda (&x~1187093766~8834 &sk~1187093766~8835 &fk~1187093766~8836) (&sk~1187093766~8835)) (car &x~1187093766~8829) (lambda () ((lambda (&x~1187093766~8839 &sk~1187093766~8840 &fk~1187093766~8841) (if (pair? &x~1187093766~8839) ((lambda (&x~1187093766~8844 &sk~1187093766~8845 &fk~1187093766~8846) (&sk~1187093766~8845 &x~1187093766~8844)) (car &x~1187093766~8839) (lambda (&e1~1187093766~8848) ((lambda (&x~1187093766~8850 &sk~1187093766~8851 &fk~1187093766~8852) (if (pair? &x~1187093766~8850) ((lambda (&x~1187093766~8855 &sk~1187093766~8856 &fk~1187093766~8857) (&sk~1187093766~8856 &x~1187093766~8855)) (car &x~1187093766~8850) (lambda (&e2~1187093766~8859) ((lambda (&x~1187093766~8861 &sk~1187093766~8862 &fk~1187093766~8863) (if (pair? &x~1187093766~8861) ((lambda (&x~1187093766~8866 &sk~1187093766~8867 &fk~1187093766~8868) (&sk~1187093766~8867 &x~1187093766~8866)) (car &x~1187093766~8861) (lambda (&e3~1187093766~8870) ((lambda (&x~1187093766~8872 &sk~1187093766~8873 &fk~1187093766~8874) (if (null? &x~1187093766~8872) (&sk~1187093766~8873) (&fk~1187093766~8874))) (cdr &x~1187093766~8861) (lambda () (&sk~1187093766~8862 &e3~1187093766~8870)) &fk~1187093766~8863)) &fk~1187093766~8863) (&fk~1187093766~8863))) (cdr &x~1187093766~8850) (lambda (&e3~1187093766~8878) (&sk~1187093766~8851 &e2~1187093766~8859 &e3~1187093766~8878)) &fk~1187093766~8852)) &fk~1187093766~8852) (&fk~1187093766~8852))) (cdr &x~1187093766~8839) (lambda (&e2~1187093766~8880 &e3~1187093766~8881) (&sk~1187093766~8840 &e1~1187093766~8848 &e2~1187093766~8880 &e3~1187093766~8881)) &fk~1187093766~8841)) &fk~1187093766~8841) (&fk~1187093766~8841))) (cdr &x~1187093766~8829) (lambda (&e1~1187093766~8883 &e2~1187093766~8884 &e3~1187093766~8885) (&sk~1187093766~8830 &e1~1187093766~8883 &e2~1187093766~8884 &e3~1187093766~8885)) &fk~1187093766~8831)) &fk~1187093766~8831) (&fk~1187093766~8831))) &exp~1187093766~8808 (lambda (&e1~1187093766~8887 &e2~1187093766~8888 &e3~1187093766~8889) (list 'if (&expand~1187093766~2151 &e1~1187093766~8887) (&expand~1187093766~2151 &e2~1187093766~8888) (&expand~1187093766~2151 &e3~1187093766~8889))) (lambda () ((lambda (&x~1187093766~8909 &sk~1187093766~8910 &fk~1187093766~8911) (if (pair? &x~1187093766~8909) ((lambda (&x~1187093766~8914 &sk~1187093766~8915 &fk~1187093766~8916) (&sk~1187093766~8915)) (car &x~1187093766~8909) (lambda () ((lambda (&x~1187093766~8919 &sk~1187093766~8920 &fk~1187093766~8921) (if (pair? &x~1187093766~8919) ((lambda (&x~1187093766~8924 &sk~1187093766~8925 &fk~1187093766~8926) (&sk~1187093766~8925 &x~1187093766~8924)) (car &x~1187093766~8919) (lambda (&e1~1187093766~8928) ((lambda (&x~1187093766~8930 &sk~1187093766~8931 &fk~1187093766~8932) (if (pair? &x~1187093766~8930) ((lambda (&x~1187093766~8935 &sk~1187093766~8936 &fk~1187093766~8937) (&sk~1187093766~8936 &x~1187093766~8935)) (car &x~1187093766~8930) (lambda (&e2~1187093766~8939) ((lambda (&x~1187093766~8941 &sk~1187093766~8942 &fk~1187093766~8943) (if (null? &x~1187093766~8941) (&sk~1187093766~8942) (&fk~1187093766~8943))) (cdr &x~1187093766~8930) (lambda () (&sk~1187093766~8931 &e2~1187093766~8939)) &fk~1187093766~8932)) &fk~1187093766~8932) (&fk~1187093766~8932))) (cdr &x~1187093766~8919) (lambda (&e2~1187093766~8947) (&sk~1187093766~8920 &e1~1187093766~8928 &e2~1187093766~8947)) &fk~1187093766~8921)) &fk~1187093766~8921) (&fk~1187093766~8921))) (cdr &x~1187093766~8909) (lambda (&e1~1187093766~8949 &e2~1187093766~8950) (&sk~1187093766~8910 &e1~1187093766~8949 &e2~1187093766~8950)) &fk~1187093766~8911)) &fk~1187093766~8911) (&fk~1187093766~8911))) &exp~1187093766~8808 (lambda (&e1~1187093766~8952 &e2~1187093766~8953) (list 'if (&expand~1187093766~2151 &e1~1187093766~8952) (&expand~1187093766~2151 &e2~1187093766~8953))) (lambda () (invalid-form &exp~1187093766~8808))))))) (set! &expand-set!~1187093766~2157 (lambda (&exp~1187093766~8702) ((lambda (&x~1187093766~8721 &sk~1187093766~8722 &fk~1187093766~8723) (if (pair? &x~1187093766~8721) ((lambda (&x~1187093766~8726 &sk~1187093766~8727 &fk~1187093766~8728) (&sk~1187093766~8727)) (car &x~1187093766~8721) (lambda () ((lambda (&x~1187093766~8731 &sk~1187093766~8732 &fk~1187093766~8733) (if (pair? &x~1187093766~8731) ((lambda (&x~1187093766~8736 &sk~1187093766~8737 &fk~1187093766~8738) (if (&identifier?~1187093766~2099 &x~1187093766~8736) ((lambda (&x~1187093766~8741 &sk~1187093766~8742 &fk~1187093766~8743) (&sk~1187093766~8742 &x~1187093766~8741)) &x~1187093766~8736 &sk~1187093766~8737 &fk~1187093766~8738) (&fk~1187093766~8738))) (car &x~1187093766~8731) (lambda (&id~1187093766~8745) ((lambda (&x~1187093766~8747 &sk~1187093766~8748 &fk~1187093766~8749) (if (pair? &x~1187093766~8747) ((lambda (&x~1187093766~8752 &sk~1187093766~8753 &fk~1187093766~8754) (&sk~1187093766~8753 &x~1187093766~8752)) (car &x~1187093766~8747) (lambda (&e~1187093766~8756) ((lambda (&x~1187093766~8758 &sk~1187093766~8759 &fk~1187093766~8760) (if (null? &x~1187093766~8758) (&sk~1187093766~8759) (&fk~1187093766~8760))) (cdr &x~1187093766~8747) (lambda () (&sk~1187093766~8748 &e~1187093766~8756)) &fk~1187093766~8749)) &fk~1187093766~8749) (&fk~1187093766~8749))) (cdr &x~1187093766~8731) (lambda (&e~1187093766~8764) (&sk~1187093766~8732 &id~1187093766~8745 &e~1187093766~8764)) &fk~1187093766~8733)) &fk~1187093766~8733) (&fk~1187093766~8733))) (cdr &x~1187093766~8721) (lambda (&id~1187093766~8766 &e~1187093766~8767) (&sk~1187093766~8722 &id~1187093766~8766 &e~1187093766~8767)) &fk~1187093766~8723)) &fk~1187093766~8723) (&fk~1187093766~8723))) &exp~1187093766~8702 (lambda (&id~1187093766~8769 &e~1187093766~8770) ((lambda (&binding~1187093766~8773) (&check-binding-level~1187093766~2124 &id~1187093766~8769 &binding~1187093766~8773) (®ister-use!~1187093766~2183 &id~1187093766~8769 &binding~1187093766~8773) ((lambda (&t~1187093766~8777) (if (memv &t~1187093766~8777 '(macro)) (begin ((lambda (¯o~1187093766~8783) ((lambda (&t~1187093766~8787) (if (memv &t~1187093766~8787 '(variable-transformer)) (begin (&expand~1187093766~2151 (&invoke-macro~1187093766~2150 ¯o~1187093766~8783 &exp~1187093766~8702))) (begin (&syntax-violation~1187093766~2207 'set! "Keyword being set! is not a variable transformer" &exp~1187093766~8702 &id~1187093766~8769)))) (¯o-type~1187093766~2142 ¯o~1187093766~8783))) (&binding->macro~1187093766~2148 &binding~1187093766~8773 &id~1187093766~8769))) (if (memv &t~1187093766~8777 '(variable)) (begin (let ((x (eq? (&binding-library~1187093766~2118 &binding~1187093766~8773) &*current-library*~1187093766~2083))) (if x x (&syntax-violation~1187093766~2207 'set! "Directly or indirectly imported variable cannot be assigned" &exp~1187093766~8702 &id~1187093766~8769))) (&binding-mutable-set!~1187093766~2119 &binding~1187093766~8773 #t) (list 'set! (&binding-name~1187093766~2114 &binding~1187093766~8773) (&expand~1187093766~2151 &e~1187093766~8770))) (if (memv &t~1187093766~8777 '(pattern-variable)) (begin (&syntax-violation~1187093766~2207 'set! "Pattern variable used outside syntax template" &exp~1187093766~8702 &id~1187093766~8769)))))) (&binding-type~1187093766~2113 &binding~1187093766~8773))) (&binding~1187093766~2120 &id~1187093766~8769))) (lambda () (invalid-form &exp~1187093766~8702))))) (set! &expand-begin~1187093766~2158 (lambda (&exp~1187093766~8609) ((lambda (&x~1187093766~8620 &sk~1187093766~8621 &fk~1187093766~8622) (if (pair? &x~1187093766~8620) ((lambda (&x~1187093766~8625 &sk~1187093766~8626 &fk~1187093766~8627) (&sk~1187093766~8626)) (car &x~1187093766~8620) (lambda () ((lambda (&x~1187093766~8630 &sk~1187093766~8631 &fk~1187093766~8632) (((lambda (&loop~1187093766~8638) ((lambda (&temp~1187093766~8641) (set! &loop~1187093766~8638 &temp~1187093766~8641) ((lambda () &loop~1187093766~8638))) (lambda (&x~1187093766~8646 &result~1187093766~8647) ((lambda (&match-tail~1187093766~8648) (set! &match-tail~1187093766~8648 (lambda () ((lambda (&x~1187093766~8666 &sk~1187093766~8667 &fk~1187093766~8668) (if (null? &x~1187093766~8666) (&sk~1187093766~8667) (&fk~1187093766~8668))) &x~1187093766~8646 (lambda () (apply &sk~1187093766~8631 (if (null? &result~1187093766~8647) (map (lambda (&ignore~1187093766~8673) '()) '(exps)) (apply map list (reverse &result~1187093766~8647))))) (lambda () ((lambda (&x~1187093766~8681 &sk~1187093766~8682 &fk~1187093766~8683) (&sk~1187093766~8682)) &x~1187093766~8646 (lambda () (&fk~1187093766~8632)) (lambda () (invalid-form &x~1187093766~8646))))))) (if (null? &x~1187093766~8646) (begin (&match-tail~1187093766~8648)) (if (pair? &x~1187093766~8646) (begin ((lambda (&x~1187093766~8655 &sk~1187093766~8656 &fk~1187093766~8657) (&sk~1187093766~8656 &x~1187093766~8655)) (car &x~1187093766~8646) (lambda &car-vars~1187093766~8659 (&loop~1187093766~8638 (cdr &x~1187093766~8646) (cons &car-vars~1187093766~8659 &result~1187093766~8647))) &match-tail~1187093766~8648)) (begin (&fk~1187093766~8632))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~8630 '())) (cdr &x~1187093766~8620) (lambda (&exps~1187093766~8689) (&sk~1187093766~8621 &exps~1187093766~8689)) &fk~1187093766~8622)) &fk~1187093766~8622) (&fk~1187093766~8622))) &exp~1187093766~8609 (lambda (&exps~1187093766~8691) (&scan-sequence~1187093766~2167 'expression-sequence #f &exps~1187093766~8691 (lambda (&forms~1187093766~8694 &no-syntax-definitions~1187093766~8695 &no-bound-variables~1187093766~8696) (cons 'begin (map cdr &forms~1187093766~8694))))) (lambda () (invalid-form &exp~1187093766~8609))))) (set! &expand-local-syntax~1187093766~2159 (lambda (&exp~1187093766~8604) (&expand-begin~1187093766~2158 (list (&rename~1187093766~2140 'macro 'begin) &exp~1187093766~8604)))) (set! &expand-and~1187093766~2160 (lambda (&exp~1187093766~8421) ((lambda (&x~1187093766~8430 &sk~1187093766~8431 &fk~1187093766~8432) (if (pair? &x~1187093766~8430) ((lambda (&x~1187093766~8435 &sk~1187093766~8436 &fk~1187093766~8437) (&sk~1187093766~8436 &x~1187093766~8435)) (car &x~1187093766~8430) (lambda (&and~1187093766~8439) ((lambda (&x~1187093766~8441 &sk~1187093766~8442 &fk~1187093766~8443) (if (null? &x~1187093766~8441) (&sk~1187093766~8442) (&fk~1187093766~8443))) (cdr &x~1187093766~8430) (lambda () (&sk~1187093766~8431 &and~1187093766~8439)) &fk~1187093766~8432)) &fk~1187093766~8432) (&fk~1187093766~8432))) &exp~1187093766~8421 (lambda (&and~1187093766~8447) #t) (lambda () ((lambda (&x~1187093766~8461 &sk~1187093766~8462 &fk~1187093766~8463) (if (pair? &x~1187093766~8461) ((lambda (&x~1187093766~8466 &sk~1187093766~8467 &fk~1187093766~8468) (&sk~1187093766~8467 &x~1187093766~8466)) (car &x~1187093766~8461) (lambda (&and~1187093766~8470) ((lambda (&x~1187093766~8472 &sk~1187093766~8473 &fk~1187093766~8474) (if (pair? &x~1187093766~8472) ((lambda (&x~1187093766~8477 &sk~1187093766~8478 &fk~1187093766~8479) (&sk~1187093766~8478 &x~1187093766~8477)) (car &x~1187093766~8472) (lambda (&e~1187093766~8481) ((lambda (&x~1187093766~8483 &sk~1187093766~8484 &fk~1187093766~8485) (if (null? &x~1187093766~8483) (&sk~1187093766~8484) (&fk~1187093766~8485))) (cdr &x~1187093766~8472) (lambda () (&sk~1187093766~8473 &e~1187093766~8481)) &fk~1187093766~8474)) &fk~1187093766~8474) (&fk~1187093766~8474))) (cdr &x~1187093766~8461) (lambda (&e~1187093766~8489) (&sk~1187093766~8462 &and~1187093766~8470 &e~1187093766~8489)) &fk~1187093766~8463)) &fk~1187093766~8463) (&fk~1187093766~8463))) &exp~1187093766~8421 (lambda (&and~1187093766~8491 &e~1187093766~8492) (&expand~1187093766~2151 &e~1187093766~8492)) (lambda () ((lambda (&x~1187093766~8508 &sk~1187093766~8509 &fk~1187093766~8510) (if (pair? &x~1187093766~8508) ((lambda (&x~1187093766~8513 &sk~1187093766~8514 &fk~1187093766~8515) (&sk~1187093766~8514 &x~1187093766~8513)) (car &x~1187093766~8508) (lambda (&and~1187093766~8517) ((lambda (&x~1187093766~8519 &sk~1187093766~8520 &fk~1187093766~8521) (if (pair? &x~1187093766~8519) ((lambda (&x~1187093766~8524 &sk~1187093766~8525 &fk~1187093766~8526) (&sk~1187093766~8525 &x~1187093766~8524)) (car &x~1187093766~8519) (lambda (&e~1187093766~8528) ((lambda (&x~1187093766~8530 &sk~1187093766~8531 &fk~1187093766~8532) (((lambda (&loop~1187093766~8538) ((lambda (&temp~1187093766~8541) (set! &loop~1187093766~8538 &temp~1187093766~8541) ((lambda () &loop~1187093766~8538))) (lambda (&x~1187093766~8546 &result~1187093766~8547) ((lambda (&match-tail~1187093766~8548) (set! &match-tail~1187093766~8548 (lambda () ((lambda (&x~1187093766~8566 &sk~1187093766~8567 &fk~1187093766~8568) (if (null? &x~1187093766~8566) (&sk~1187093766~8567) (&fk~1187093766~8568))) &x~1187093766~8546 (lambda () (apply &sk~1187093766~8531 (if (null? &result~1187093766~8547) (map (lambda (&ignore~1187093766~8573) '()) '(es)) (apply map list (reverse &result~1187093766~8547))))) (lambda () ((lambda (&x~1187093766~8581 &sk~1187093766~8582 &fk~1187093766~8583) (&sk~1187093766~8582)) &x~1187093766~8546 (lambda () (&fk~1187093766~8532)) (lambda () (invalid-form &x~1187093766~8546))))))) (if (null? &x~1187093766~8546) (begin (&match-tail~1187093766~8548)) (if (pair? &x~1187093766~8546) (begin ((lambda (&x~1187093766~8555 &sk~1187093766~8556 &fk~1187093766~8557) (&sk~1187093766~8556 &x~1187093766~8555)) (car &x~1187093766~8546) (lambda &car-vars~1187093766~8559 (&loop~1187093766~8538 (cdr &x~1187093766~8546) (cons &car-vars~1187093766~8559 &result~1187093766~8547))) &match-tail~1187093766~8548)) (begin (&fk~1187093766~8532))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~8530 '())) (cdr &x~1187093766~8519) (lambda (&es~1187093766~8589) (&sk~1187093766~8520 &e~1187093766~8528 &es~1187093766~8589)) &fk~1187093766~8521)) &fk~1187093766~8521) (&fk~1187093766~8521))) (cdr &x~1187093766~8508) (lambda (&e~1187093766~8591 &es~1187093766~8592) (&sk~1187093766~8509 &and~1187093766~8517 &e~1187093766~8591 &es~1187093766~8592)) &fk~1187093766~8510)) &fk~1187093766~8510) (&fk~1187093766~8510))) &exp~1187093766~8421 (lambda (&and~1187093766~8594 &e~1187093766~8595 &es~1187093766~8596) (cons 'if (cons (&expand~1187093766~2151 &e~1187093766~8595) (cons (&expand~1187093766~2151 (cons &and~1187093766~8594 &es~1187093766~8596)) '(#f))))) (lambda () (invalid-form &exp~1187093766~8421))))))))) (set! &expand-or~1187093766~2161 (lambda (&exp~1187093766~8235) ((lambda (&x~1187093766~8244 &sk~1187093766~8245 &fk~1187093766~8246) (if (pair? &x~1187093766~8244) ((lambda (&x~1187093766~8249 &sk~1187093766~8250 &fk~1187093766~8251) (&sk~1187093766~8250 &x~1187093766~8249)) (car &x~1187093766~8244) (lambda (&or~1187093766~8253) ((lambda (&x~1187093766~8255 &sk~1187093766~8256 &fk~1187093766~8257) (if (null? &x~1187093766~8255) (&sk~1187093766~8256) (&fk~1187093766~8257))) (cdr &x~1187093766~8244) (lambda () (&sk~1187093766~8245 &or~1187093766~8253)) &fk~1187093766~8246)) &fk~1187093766~8246) (&fk~1187093766~8246))) &exp~1187093766~8235 (lambda (&or~1187093766~8261) #t) (lambda () ((lambda (&x~1187093766~8275 &sk~1187093766~8276 &fk~1187093766~8277) (if (pair? &x~1187093766~8275) ((lambda (&x~1187093766~8280 &sk~1187093766~8281 &fk~1187093766~8282) (&sk~1187093766~8281 &x~1187093766~8280)) (car &x~1187093766~8275) (lambda (&or~1187093766~8284) ((lambda (&x~1187093766~8286 &sk~1187093766~8287 &fk~1187093766~8288) (if (pair? &x~1187093766~8286) ((lambda (&x~1187093766~8291 &sk~1187093766~8292 &fk~1187093766~8293) (&sk~1187093766~8292 &x~1187093766~8291)) (car &x~1187093766~8286) (lambda (&e~1187093766~8295) ((lambda (&x~1187093766~8297 &sk~1187093766~8298 &fk~1187093766~8299) (if (null? &x~1187093766~8297) (&sk~1187093766~8298) (&fk~1187093766~8299))) (cdr &x~1187093766~8286) (lambda () (&sk~1187093766~8287 &e~1187093766~8295)) &fk~1187093766~8288)) &fk~1187093766~8288) (&fk~1187093766~8288))) (cdr &x~1187093766~8275) (lambda (&e~1187093766~8303) (&sk~1187093766~8276 &or~1187093766~8284 &e~1187093766~8303)) &fk~1187093766~8277)) &fk~1187093766~8277) (&fk~1187093766~8277))) &exp~1187093766~8235 (lambda (&or~1187093766~8305 &e~1187093766~8306) (&expand~1187093766~2151 &e~1187093766~8306)) (lambda () ((lambda (&x~1187093766~8322 &sk~1187093766~8323 &fk~1187093766~8324) (if (pair? &x~1187093766~8322) ((lambda (&x~1187093766~8327 &sk~1187093766~8328 &fk~1187093766~8329) (&sk~1187093766~8328 &x~1187093766~8327)) (car &x~1187093766~8322) (lambda (&or~1187093766~8331) ((lambda (&x~1187093766~8333 &sk~1187093766~8334 &fk~1187093766~8335) (if (pair? &x~1187093766~8333) ((lambda (&x~1187093766~8338 &sk~1187093766~8339 &fk~1187093766~8340) (&sk~1187093766~8339 &x~1187093766~8338)) (car &x~1187093766~8333) (lambda (&e~1187093766~8342) ((lambda (&x~1187093766~8344 &sk~1187093766~8345 &fk~1187093766~8346) (((lambda (&loop~1187093766~8352) ((lambda (&temp~1187093766~8355) (set! &loop~1187093766~8352 &temp~1187093766~8355) ((lambda () &loop~1187093766~8352))) (lambda (&x~1187093766~8360 &result~1187093766~8361) ((lambda (&match-tail~1187093766~8362) (set! &match-tail~1187093766~8362 (lambda () ((lambda (&x~1187093766~8380 &sk~1187093766~8381 &fk~1187093766~8382) (if (null? &x~1187093766~8380) (&sk~1187093766~8381) (&fk~1187093766~8382))) &x~1187093766~8360 (lambda () (apply &sk~1187093766~8345 (if (null? &result~1187093766~8361) (map (lambda (&ignore~1187093766~8387) '()) '(es)) (apply map list (reverse &result~1187093766~8361))))) (lambda () ((lambda (&x~1187093766~8395 &sk~1187093766~8396 &fk~1187093766~8397) (&sk~1187093766~8396)) &x~1187093766~8360 (lambda () (&fk~1187093766~8346)) (lambda () (invalid-form &x~1187093766~8360))))))) (if (null? &x~1187093766~8360) (begin (&match-tail~1187093766~8362)) (if (pair? &x~1187093766~8360) (begin ((lambda (&x~1187093766~8369 &sk~1187093766~8370 &fk~1187093766~8371) (&sk~1187093766~8370 &x~1187093766~8369)) (car &x~1187093766~8360) (lambda &car-vars~1187093766~8373 (&loop~1187093766~8352 (cdr &x~1187093766~8360) (cons &car-vars~1187093766~8373 &result~1187093766~8361))) &match-tail~1187093766~8362)) (begin (&fk~1187093766~8346))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~8344 '())) (cdr &x~1187093766~8333) (lambda (&es~1187093766~8403) (&sk~1187093766~8334 &e~1187093766~8342 &es~1187093766~8403)) &fk~1187093766~8335)) &fk~1187093766~8335) (&fk~1187093766~8335))) (cdr &x~1187093766~8322) (lambda (&e~1187093766~8405 &es~1187093766~8406) (&sk~1187093766~8323 &or~1187093766~8331 &e~1187093766~8405 &es~1187093766~8406)) &fk~1187093766~8324)) &fk~1187093766~8324) (&fk~1187093766~8324))) &exp~1187093766~8235 (lambda (&or~1187093766~8408 &e~1187093766~8409 &es~1187093766~8410) (list 'let (list (list 'x (&expand~1187093766~2151 &e~1187093766~8409))) (list 'if 'x 'x (&expand~1187093766~2151 (cons &or~1187093766~8408 &es~1187093766~8410))))) (lambda () (invalid-form &exp~1187093766~8235))))))))) (set! &expand-lambda~1187093766~2162 (lambda (&exp~1187093766~8080) ((lambda (&x~1187093766~8097 &sk~1187093766~8098 &fk~1187093766~8099) (if (pair? &x~1187093766~8097) ((lambda (&x~1187093766~8102 &sk~1187093766~8103 &fk~1187093766~8104) (&sk~1187093766~8103)) (car &x~1187093766~8097) (lambda () ((lambda (&x~1187093766~8107 &sk~1187093766~8108 &fk~1187093766~8109) (if (pair? &x~1187093766~8107) ((lambda (&x~1187093766~8112 &sk~1187093766~8113 &fk~1187093766~8114) (if (&formals?~1187093766~2163 &x~1187093766~8112) ((lambda (&x~1187093766~8117 &sk~1187093766~8118 &fk~1187093766~8119) (&sk~1187093766~8118 &x~1187093766~8117)) &x~1187093766~8112 &sk~1187093766~8113 &fk~1187093766~8114) (&fk~1187093766~8114))) (car &x~1187093766~8107) (lambda (&formals~1187093766~8121) ((lambda (&x~1187093766~8123 &sk~1187093766~8124 &fk~1187093766~8125) (((lambda (&loop~1187093766~8131) ((lambda (&temp~1187093766~8134) (set! &loop~1187093766~8131 &temp~1187093766~8134) ((lambda () &loop~1187093766~8131))) (lambda (&x~1187093766~8139 &result~1187093766~8140) ((lambda (&match-tail~1187093766~8141) (set! &match-tail~1187093766~8141 (lambda () ((lambda (&x~1187093766~8159 &sk~1187093766~8160 &fk~1187093766~8161) (if (null? &x~1187093766~8159) (&sk~1187093766~8160) (&fk~1187093766~8161))) &x~1187093766~8139 (lambda () (apply &sk~1187093766~8124 (if (null? &result~1187093766~8140) (map (lambda (&ignore~1187093766~8166) '()) '(body)) (apply map list (reverse &result~1187093766~8140))))) (lambda () ((lambda (&x~1187093766~8174 &sk~1187093766~8175 &fk~1187093766~8176) (&sk~1187093766~8175)) &x~1187093766~8139 (lambda () (&fk~1187093766~8125)) (lambda () (invalid-form &x~1187093766~8139))))))) (if (null? &x~1187093766~8139) (begin (&match-tail~1187093766~8141)) (if (pair? &x~1187093766~8139) (begin ((lambda (&x~1187093766~8148 &sk~1187093766~8149 &fk~1187093766~8150) (&sk~1187093766~8149 &x~1187093766~8148)) (car &x~1187093766~8139) (lambda &car-vars~1187093766~8152 (&loop~1187093766~8131 (cdr &x~1187093766~8139) (cons &car-vars~1187093766~8152 &result~1187093766~8140))) &match-tail~1187093766~8141)) (begin (&fk~1187093766~8125))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~8123 '())) (cdr &x~1187093766~8107) (lambda (&body~1187093766~8182) (&sk~1187093766~8108 &formals~1187093766~8121 &body~1187093766~8182)) &fk~1187093766~8109)) &fk~1187093766~8109) (&fk~1187093766~8109))) (cdr &x~1187093766~8097) (lambda (&formals~1187093766~8184 &body~1187093766~8185) (&sk~1187093766~8098 &formals~1187093766~8184 &body~1187093766~8185)) &fk~1187093766~8099)) &fk~1187093766~8099) (&fk~1187093766~8099))) &exp~1187093766~8080 (lambda (&formals~1187093766~8187 &body~1187093766~8188) ((lambda (&saved~1187093766~8192) (set! &*usage-env*~1187093766~2068 (&env-extend~1187093766~2127 (map (lambda (&formal~1187093766~8230) (&make-local-mapping~1187093766~2121 'variable &formal~1187093766~8230 #f)) (&flatten~1187093766~2217 &formals~1187093766~8187)) &*usage-env*~1187093766~2068)) (call-with-values (lambda () ((lambda (&formals~1187093766~8197) ((lambda (&saved~1187093766~8201) (set! &*usage-env*~1187093766~2068 (&env-extend~1187093766~2127 '() &*usage-env*~1187093766~2068)) (call-with-values (lambda () (&scan-sequence~1187093766~2167 'lambda &make-local-mapping~1187093766~2121 &body~1187093766~8188 (lambda (&forms~1187093766~8206 &syntax-definitions~1187093766~8207 &bound-variables~1187093766~8208) (cons 'lambda (cons &formals~1187093766~8197 (if (null? &bound-variables~1187093766~8208) (&emit-body~1187093766~2168 &forms~1187093766~8206 ex:undefined-set!) (list (cons (cons 'lambda (cons &bound-variables~1187093766~8208 (&emit-body~1187093766~2168 &forms~1187093766~8206 ex:undefined-set!))) (map (lambda (&ignore~1187093766~8215) 'ex:undefined) &bound-variables~1187093766~8208))))))))) (lambda &results~1187093766~8219 (set! &*usage-env*~1187093766~2068 &saved~1187093766~8201) (apply values &results~1187093766~8219)))) &*usage-env*~1187093766~2068)) (&dotted-map~1187093766~2220 (lambda (&formal~1187093766~8224) (&binding-name~1187093766~2114 (&binding~1187093766~2120 &formal~1187093766~8224))) &formals~1187093766~8187))) (lambda &results~1187093766~8226 (set! &*usage-env*~1187093766~2068 &saved~1187093766~8192) (apply values &results~1187093766~8226)))) &*usage-env*~1187093766~2068)) (lambda () (invalid-form &exp~1187093766~8080))))) (set! &formals?~1187093766~2163 (lambda (&s~1187093766~8069) (let ((x (null? &s~1187093766~8069))) (if x x (let ((x (&identifier?~1187093766~2099 &s~1187093766~8069))) (if x x (if (pair? &s~1187093766~8069) (if (&identifier?~1187093766~2099 (car &s~1187093766~8069)) (if (&formals?~1187093766~2163 (cdr &s~1187093766~8069)) (not (&dotted-memp~1187093766~2219 (lambda (&x~1187093766~8078) (&bound-identifier=?~1187093766~2106 &x~1187093766~8078 (car &s~1187093766~8069))) (cdr &s~1187093766~8069))) #f) #f) #f))))))) (set! &make-wrap~1187093766~2164 (lambda (&env~1187093766~8066 &exp~1187093766~8067) (cons &env~1187093766~8066 &exp~1187093766~8067))) (set! &wrap-env~1187093766~2165 car) (set! &wrap-exp~1187093766~2166 cdr) (set! &scan-sequence~1187093766~2167 (lambda (&body-type~1187093766~7786 &make-map~1187093766~7787 &body-forms~1187093766~7788 &k~1187093766~7789) ((lambda (&expand-deferred~1187093766~7790) (set! &expand-deferred~1187093766~7790 (lambda (&forms~1187093766~8047) (map (lambda (&form~1187093766~8049) (cons (car &form~1187093766~8049) ((lambda (&deferred?~1187093766~8052 &exp~1187093766~8053) (if &deferred?~1187093766~8052 ((lambda (&saved~1187093766~8058) (set! &*usage-env*~1187093766~2068 (&wrap-env~1187093766~2165 &exp~1187093766~8053)) (call-with-values (lambda () (&expand~1187093766~2151 (&wrap-exp~1187093766~2166 &exp~1187093766~8053))) (lambda &results~1187093766~8062 (set! &*usage-env*~1187093766~2068 &saved~1187093766~8058) (apply values &results~1187093766~8062)))) &*usage-env*~1187093766~2068) &exp~1187093766~8053)) (cadr &form~1187093766~8049) (caddr &form~1187093766~8049)))) &forms~1187093766~8047))) ((lambda (&common-env~1187093766~7793) (&add-fresh-used-frame!~1187093766~2182) (((lambda (&loop~1187093766~7799) ((lambda (&temp~1187093766~7802) (set! &loop~1187093766~7799 &temp~1187093766~7802) ((lambda () &loop~1187093766~7799))) (lambda (&ws~1187093766~7807 &forms~1187093766~7808 &syntax-defs~1187093766~7809 &bound-variables~1187093766~7810) (if (null? &ws~1187093766~7807) (begin (&check-expression-body~1187093766~2174 &body-type~1187093766~7786 &forms~1187093766~7808 &body-forms~1187093766~7788) (&merge-used-with-parent-frame!~1187093766~2184) (&k~1187093766~7789 (reverse (&expand-deferred~1187093766~7790 &forms~1187093766~7808)) (reverse &syntax-defs~1187093766~7809) &bound-variables~1187093766~7810)) (begin ((lambda (&saved~1187093766~7818) (set! &*usage-env*~1187093766~2068 (&wrap-env~1187093766~2165 (car &ws~1187093766~7807))) (call-with-values (lambda () (call-with-values (lambda () (&head-expand~1187093766~2152 (&wrap-exp~1187093766~2166 (car &ws~1187093766~7807)))) (lambda (&form~1187093766~7823 &operator-binding~1187093766~7824) ((lambda (&type~1187093766~7827) (&check-expression-sequence~1187093766~2171 &body-type~1187093766~7786 &type~1187093766~7827 &form~1187093766~7823) (&check-toplevel~1187093766~2172 &body-type~1187093766~7786 &type~1187093766~7827 &form~1187093766~7823) ((lambda (&t~1187093766~7831) (if (memv &t~1187093766~7831 '(import)) (begin ((lambda (&x~1187093766~7845 &sk~1187093766~7846 &fk~1187093766~7847) (if (pair? &x~1187093766~7845) ((lambda (&x~1187093766~7850 &sk~1187093766~7851 &fk~1187093766~7852) (&sk~1187093766~7851)) (car &x~1187093766~7845) (lambda () ((lambda (&x~1187093766~7855 &sk~1187093766~7856 &fk~1187093766~7857) (((lambda (&loop~1187093766~7863) ((lambda (&temp~1187093766~7866) (set! &loop~1187093766~7863 &temp~1187093766~7866) ((lambda () &loop~1187093766~7863))) (lambda (&x~1187093766~7871 &result~1187093766~7872) ((lambda (&match-tail~1187093766~7873) (set! &match-tail~1187093766~7873 (lambda () ((lambda (&x~1187093766~7891 &sk~1187093766~7892 &fk~1187093766~7893) (if (null? &x~1187093766~7891) (&sk~1187093766~7892) (&fk~1187093766~7893))) &x~1187093766~7871 (lambda () (apply &sk~1187093766~7856 (if (null? &result~1187093766~7872) (map (lambda (&ignore~1187093766~7898) '()) '(specs)) (apply map list (reverse &result~1187093766~7872))))) (lambda () ((lambda (&x~1187093766~7906 &sk~1187093766~7907 &fk~1187093766~7908) (&sk~1187093766~7907)) &x~1187093766~7871 (lambda () (&fk~1187093766~7857)) (lambda () (invalid-form &x~1187093766~7871))))))) (if (null? &x~1187093766~7871) (begin (&match-tail~1187093766~7873)) (if (pair? &x~1187093766~7871) (begin ((lambda (&x~1187093766~7880 &sk~1187093766~7881 &fk~1187093766~7882) (&sk~1187093766~7881 &x~1187093766~7880)) (car &x~1187093766~7871) (lambda &car-vars~1187093766~7884 (&loop~1187093766~7863 (cdr &x~1187093766~7871) (cons &car-vars~1187093766~7884 &result~1187093766~7872))) &match-tail~1187093766~7873)) (begin (&fk~1187093766~7857))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~7855 '())) (cdr &x~1187093766~7845) (lambda (&specs~1187093766~7914) (&sk~1187093766~7846 &specs~1187093766~7914)) &fk~1187093766~7847)) &fk~1187093766~7847) (&fk~1187093766~7847))) &form~1187093766~7823 (lambda (&specs~1187093766~7916) (call-with-values (lambda () (&scan-imports~1187093766~2194 &specs~1187093766~7916)) (lambda (&imported-libraries~1187093766~7919 &imports~1187093766~7920) (&import-libraries-for-expand~1187093766~2191 &imported-libraries~1187093766~7919 (map not &imported-libraries~1187093766~7919) 0) (&env-import!~1187093766~2189 (car &form~1187093766~7823) &imports~1187093766~7920 &common-env~1187093766~7793) (&loop~1187093766~7799 (cdr &ws~1187093766~7807) (cons (list #f #f (cons 'ex:import-libraries-for-run (cons (list 'quote &imported-libraries~1187093766~7919) (cons (list 'quote (¤t-builds~1187093766~2190 &imported-libraries~1187093766~7919)) '(0))))) &forms~1187093766~7808) &syntax-defs~1187093766~7809 &bound-variables~1187093766~7810)))) (lambda () (invalid-form &form~1187093766~7823)))) (if (memv &t~1187093766~7831 '(program)) (begin (&loop~1187093766~7799 (cdr &ws~1187093766~7807) (cons (list #f #f (&expand-program~1187093766~2186 &form~1187093766~7823)) &forms~1187093766~7808) &syntax-defs~1187093766~7809 &bound-variables~1187093766~7810)) (if (memv &t~1187093766~7831 '(library)) (begin (&loop~1187093766~7799 (cdr &ws~1187093766~7807) (cons (list #f #f (&expand-library~1187093766~2187 &form~1187093766~7823)) &forms~1187093766~7808) &syntax-defs~1187093766~7809 &bound-variables~1187093766~7810)) (if (memv &t~1187093766~7831 '(define)) (begin (call-with-values (lambda () (&parse-definition~1187093766~2169 &form~1187093766~7823)) (lambda (&id~1187093766~7939 &rhs~1187093766~7940) (&check-valid-definition~1187093766~2173 &id~1187093766~7939 &common-env~1187093766~7793 &body-type~1187093766~7786 &form~1187093766~7823 &forms~1187093766~7808 &type~1187093766~7827) (&env-extend!~1187093766~2128 (list (&make-map~1187093766~7787 'variable &id~1187093766~7939 #f)) &common-env~1187093766~7793) (&loop~1187093766~7799 (cdr &ws~1187093766~7807) (cons (list (&binding-name~1187093766~2114 (&binding~1187093766~2120 &id~1187093766~7939)) #t (&make-wrap~1187093766~2164 &*usage-env*~1187093766~2068 &rhs~1187093766~7940)) &forms~1187093766~7808) &syntax-defs~1187093766~7809 (cons (&binding-name~1187093766~2114 (&binding~1187093766~2120 &id~1187093766~7939)) &bound-variables~1187093766~7810))))) (if (memv &t~1187093766~7831 '(define-syntax)) (begin (call-with-values (lambda () (&parse-definition~1187093766~2169 &form~1187093766~7823)) (lambda (&id~1187093766~7947 &rhs~1187093766~7948) (&check-valid-definition~1187093766~2173 &id~1187093766~7947 &common-env~1187093766~7793 &body-type~1187093766~7786 &form~1187093766~7823 &forms~1187093766~7808 &type~1187093766~7827) ((lambda (&mapping~1187093766~7951) (&env-extend!~1187093766~2128 (list &mapping~1187093766~7951) &common-env~1187093766~7793) ((lambda (&rhs~1187093766~7954) (®ister-macro!~1187093766~2149 (&binding-name~1187093766~2114 (cdr &mapping~1187093766~7951)) (&make-user-macro~1187093766~2147 (eval &rhs~1187093766~7954))) (&loop~1187093766~7799 (cdr &ws~1187093766~7807) &forms~1187093766~7808 (cons (cons (&binding-name~1187093766~2114 (&binding~1187093766~2120 &id~1187093766~7947)) &rhs~1187093766~7954) &syntax-defs~1187093766~7809) &bound-variables~1187093766~7810)) ((lambda (&saved~1187093766~7958) (set! &*phase*~1187093766~2071 (+ 1 &*phase*~1187093766~2071)) (call-with-values (lambda () (&expand~1187093766~2151 &rhs~1187093766~7948)) (lambda &results~1187093766~7962 (set! &*phase*~1187093766~2071 &saved~1187093766~7958) (apply values &results~1187093766~7962)))) &*phase*~1187093766~2071))) (&make-map~1187093766~7787 'macro &id~1187093766~7947 #f))))) (if (memv &t~1187093766~7831 '(begin)) (begin (let ((x (list? &form~1187093766~7823))) (if x x (&invalid-form~1187093766~2231 &form~1187093766~7823))) (&loop~1187093766~7799 (append (map (lambda (&exp~1187093766~7970) (&make-wrap~1187093766~2164 &*usage-env*~1187093766~2068 &exp~1187093766~7970)) (cdr &form~1187093766~7823)) (cdr &ws~1187093766~7807)) &forms~1187093766~7808 &syntax-defs~1187093766~7809 &bound-variables~1187093766~7810)) (if (memv &t~1187093766~7831 '(let-syntax letrec-syntax)) (begin (call-with-values (lambda () (&parse-local-syntax~1187093766~2170 &form~1187093766~7823)) (lambda (&formals~1187093766~7978 &rhs~1187093766~7979 &body~1187093766~7980) ((lambda (&original-env~1187093766~7984) ((lambda (&usage-diff~1187093766~7987) ((lambda (&extended-env~1187093766~7990) ((lambda (&rhs-expanded~1187093766~7993) ((lambda (¯os~1187093766~7996) (for-each (lambda (&mapping~1187093766~8000 ¯o~1187093766~8001) (®ister-macro!~1187093766~2149 (&binding-name~1187093766~2114 (cdr &mapping~1187093766~8000)) (&make-user-macro~1187093766~2147 ¯o~1187093766~8001))) &usage-diff~1187093766~7987 ¯os~1187093766~7996) (&loop~1187093766~7799 (append (map (lambda (&form~1187093766~7998) (&make-wrap~1187093766~2164 &extended-env~1187093766~7990 &form~1187093766~7998)) &body~1187093766~7980) (cdr &ws~1187093766~7807)) &forms~1187093766~7808 &syntax-defs~1187093766~7809 &bound-variables~1187093766~7810)) (map eval &rhs-expanded~1187093766~7993))) ((lambda (&saved~1187093766~8005) (set! &*phase*~1187093766~2071 (+ 1 &*phase*~1187093766~2071)) (call-with-values (lambda () ((lambda (&saved~1187093766~8010) (set! &*usage-env*~1187093766~2068 ((lambda (&t~1187093766~8020) (if (memv &t~1187093766~8020 '(let-syntax)) (begin &original-env~1187093766~7984) (if (memv &t~1187093766~8020 '(letrec-syntax)) (begin &extended-env~1187093766~7990)))) &type~1187093766~7827)) (call-with-values (lambda () (map &expand~1187093766~2151 &rhs~1187093766~7979)) (lambda &results~1187093766~8014 (set! &*usage-env*~1187093766~2068 &saved~1187093766~8010) (apply values &results~1187093766~8014)))) &*usage-env*~1187093766~2068)) (lambda &results~1187093766~8028 (set! &*phase*~1187093766~2071 &saved~1187093766~8005) (apply values &results~1187093766~8028)))) &*phase*~1187093766~2071))) (&env-extend~1187093766~2127 &usage-diff~1187093766~7987 &original-env~1187093766~7984))) (map (lambda (&formal~1187093766~8032) (&make-local-mapping~1187093766~2121 'macro &formal~1187093766~8032 #f)) &formals~1187093766~7978))) &*usage-env*~1187093766~2068)))) (begin (&loop~1187093766~7799 (cdr &ws~1187093766~7807) (cons (list #f #t (&make-wrap~1187093766~2164 &*usage-env*~1187093766~2068 &form~1187093766~7823)) &forms~1187093766~7808) &syntax-defs~1187093766~7809 &bound-variables~1187093766~7810)))))))))) &type~1187093766~7827)) (if &operator-binding~1187093766~7824 (&binding-name~1187093766~2114 &operator-binding~1187093766~7824) #f))))) (lambda &results~1187093766~8038 (set! &*usage-env*~1187093766~2068 &saved~1187093766~7818) (apply values &results~1187093766~8038)))) &*usage-env*~1187093766~2068)))))) &unspecified~1187093766~179) (map (lambda (&e~1187093766~8042) (&make-wrap~1187093766~2164 &common-env~1187093766~7793 &e~1187093766~8042)) &body-forms~1187093766~7788) '() '() '())) &*usage-env*~1187093766~2068)) ex:undefined))) (set! &emit-body~1187093766~2168 (lambda (&body-forms~1187093766~7779 &define-or-set~1187093766~7780) (map (lambda (&body-form~1187093766~7782) (if (symbol? (car &body-form~1187093766~7782)) (list &define-or-set~1187093766~7780 (car &body-form~1187093766~7782) (cdr &body-form~1187093766~7782)) (cdr &body-form~1187093766~7782))) &body-forms~1187093766~7779))) (set! &parse-definition~1187093766~2169 (lambda (&exp~1187093766~7516) ((lambda (&x~1187093766~7531 &sk~1187093766~7532 &fk~1187093766~7533) (if (pair? &x~1187093766~7531) ((lambda (&x~1187093766~7536 &sk~1187093766~7537 &fk~1187093766~7538) (&sk~1187093766~7537)) (car &x~1187093766~7531) (lambda () ((lambda (&x~1187093766~7541 &sk~1187093766~7542 &fk~1187093766~7543) (if (pair? &x~1187093766~7541) ((lambda (&x~1187093766~7546 &sk~1187093766~7547 &fk~1187093766~7548) (if (&identifier?~1187093766~2099 &x~1187093766~7546) ((lambda (&x~1187093766~7551 &sk~1187093766~7552 &fk~1187093766~7553) (&sk~1187093766~7552 &x~1187093766~7551)) &x~1187093766~7546 &sk~1187093766~7547 &fk~1187093766~7548) (&fk~1187093766~7548))) (car &x~1187093766~7541) (lambda (&id~1187093766~7555) ((lambda (&x~1187093766~7557 &sk~1187093766~7558 &fk~1187093766~7559) (if (null? &x~1187093766~7557) (&sk~1187093766~7558) (&fk~1187093766~7559))) (cdr &x~1187093766~7541) (lambda () (&sk~1187093766~7542 &id~1187093766~7555)) &fk~1187093766~7543)) &fk~1187093766~7543) (&fk~1187093766~7543))) (cdr &x~1187093766~7531) (lambda (&id~1187093766~7563) (&sk~1187093766~7532 &id~1187093766~7563)) &fk~1187093766~7533)) &fk~1187093766~7533) (&fk~1187093766~7533))) &exp~1187093766~7516 (lambda (&id~1187093766~7565) (values &id~1187093766~7565 (&rename~1187093766~2140 'variable 'ex:unspecified))) (lambda () ((lambda (&x~1187093766~7587 &sk~1187093766~7588 &fk~1187093766~7589) (if (pair? &x~1187093766~7587) ((lambda (&x~1187093766~7592 &sk~1187093766~7593 &fk~1187093766~7594) (&sk~1187093766~7593)) (car &x~1187093766~7587) (lambda () ((lambda (&x~1187093766~7597 &sk~1187093766~7598 &fk~1187093766~7599) (if (pair? &x~1187093766~7597) ((lambda (&x~1187093766~7602 &sk~1187093766~7603 &fk~1187093766~7604) (if (&identifier?~1187093766~2099 &x~1187093766~7602) ((lambda (&x~1187093766~7607 &sk~1187093766~7608 &fk~1187093766~7609) (&sk~1187093766~7608 &x~1187093766~7607)) &x~1187093766~7602 &sk~1187093766~7603 &fk~1187093766~7604) (&fk~1187093766~7604))) (car &x~1187093766~7597) (lambda (&id~1187093766~7611) ((lambda (&x~1187093766~7613 &sk~1187093766~7614 &fk~1187093766~7615) (if (pair? &x~1187093766~7613) ((lambda (&x~1187093766~7618 &sk~1187093766~7619 &fk~1187093766~7620) (&sk~1187093766~7619 &x~1187093766~7618)) (car &x~1187093766~7613) (lambda (&e~1187093766~7622) ((lambda (&x~1187093766~7624 &sk~1187093766~7625 &fk~1187093766~7626) (if (null? &x~1187093766~7624) (&sk~1187093766~7625) (&fk~1187093766~7626))) (cdr &x~1187093766~7613) (lambda () (&sk~1187093766~7614 &e~1187093766~7622)) &fk~1187093766~7615)) &fk~1187093766~7615) (&fk~1187093766~7615))) (cdr &x~1187093766~7597) (lambda (&e~1187093766~7630) (&sk~1187093766~7598 &id~1187093766~7611 &e~1187093766~7630)) &fk~1187093766~7599)) &fk~1187093766~7599) (&fk~1187093766~7599))) (cdr &x~1187093766~7587) (lambda (&id~1187093766~7632 &e~1187093766~7633) (&sk~1187093766~7588 &id~1187093766~7632 &e~1187093766~7633)) &fk~1187093766~7589)) &fk~1187093766~7589) (&fk~1187093766~7589))) &exp~1187093766~7516 (lambda (&id~1187093766~7635 &e~1187093766~7636) (values &id~1187093766~7635 &e~1187093766~7636)) (lambda () ((lambda (&x~1187093766~7660 &sk~1187093766~7661 &fk~1187093766~7662) (if (pair? &x~1187093766~7660) ((lambda (&x~1187093766~7665 &sk~1187093766~7666 &fk~1187093766~7667) (&sk~1187093766~7666)) (car &x~1187093766~7660) (lambda () ((lambda (&x~1187093766~7670 &sk~1187093766~7671 &fk~1187093766~7672) (if (pair? &x~1187093766~7670) ((lambda (&x~1187093766~7675 &sk~1187093766~7676 &fk~1187093766~7677) (if (pair? &x~1187093766~7675) ((lambda (&x~1187093766~7680 &sk~1187093766~7681 &fk~1187093766~7682) (if (&identifier?~1187093766~2099 &x~1187093766~7680) ((lambda (&x~1187093766~7685 &sk~1187093766~7686 &fk~1187093766~7687) (&sk~1187093766~7686 &x~1187093766~7685)) &x~1187093766~7680 &sk~1187093766~7681 &fk~1187093766~7682) (&fk~1187093766~7682))) (car &x~1187093766~7675) (lambda (&id~1187093766~7689) ((lambda (&x~1187093766~7691 &sk~1187093766~7692 &fk~1187093766~7693) (if (&formals?~1187093766~2163 &x~1187093766~7691) ((lambda (&x~1187093766~7696 &sk~1187093766~7697 &fk~1187093766~7698) (&sk~1187093766~7697 &x~1187093766~7696)) &x~1187093766~7691 &sk~1187093766~7692 &fk~1187093766~7693) (&fk~1187093766~7693))) (cdr &x~1187093766~7675) (lambda (&formals~1187093766~7700) (&sk~1187093766~7676 &id~1187093766~7689 &formals~1187093766~7700)) &fk~1187093766~7677)) &fk~1187093766~7677) (&fk~1187093766~7677))) (car &x~1187093766~7670) (lambda (&id~1187093766~7702 &formals~1187093766~7703) ((lambda (&x~1187093766~7705 &sk~1187093766~7706 &fk~1187093766~7707) (((lambda (&loop~1187093766~7713) ((lambda (&temp~1187093766~7716) (set! &loop~1187093766~7713 &temp~1187093766~7716) ((lambda () &loop~1187093766~7713))) (lambda (&x~1187093766~7721 &result~1187093766~7722) ((lambda (&match-tail~1187093766~7723) (set! &match-tail~1187093766~7723 (lambda () ((lambda (&x~1187093766~7741 &sk~1187093766~7742 &fk~1187093766~7743) (if (null? &x~1187093766~7741) (&sk~1187093766~7742) (&fk~1187093766~7743))) &x~1187093766~7721 (lambda () (apply &sk~1187093766~7706 (if (null? &result~1187093766~7722) (map (lambda (&ignore~1187093766~7748) '()) '(body)) (apply map list (reverse &result~1187093766~7722))))) (lambda () ((lambda (&x~1187093766~7756 &sk~1187093766~7757 &fk~1187093766~7758) (&sk~1187093766~7757)) &x~1187093766~7721 (lambda () (&fk~1187093766~7707)) (lambda () (invalid-form &x~1187093766~7721))))))) (if (null? &x~1187093766~7721) (begin (&match-tail~1187093766~7723)) (if (pair? &x~1187093766~7721) (begin ((lambda (&x~1187093766~7730 &sk~1187093766~7731 &fk~1187093766~7732) (&sk~1187093766~7731 &x~1187093766~7730)) (car &x~1187093766~7721) (lambda &car-vars~1187093766~7734 (&loop~1187093766~7713 (cdr &x~1187093766~7721) (cons &car-vars~1187093766~7734 &result~1187093766~7722))) &match-tail~1187093766~7723)) (begin (&fk~1187093766~7707))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~7705 '())) (cdr &x~1187093766~7670) (lambda (&body~1187093766~7764) (&sk~1187093766~7671 &id~1187093766~7702 &formals~1187093766~7703 &body~1187093766~7764)) &fk~1187093766~7672)) &fk~1187093766~7672) (&fk~1187093766~7672))) (cdr &x~1187093766~7660) (lambda (&id~1187093766~7766 &formals~1187093766~7767 &body~1187093766~7768) (&sk~1187093766~7661 &id~1187093766~7766 &formals~1187093766~7767 &body~1187093766~7768)) &fk~1187093766~7662)) &fk~1187093766~7662) (&fk~1187093766~7662))) &exp~1187093766~7516 (lambda (&id~1187093766~7770 &formals~1187093766~7771 &body~1187093766~7772) (values &id~1187093766~7770 (cons (&rename~1187093766~2140 'macro 'lambda) (cons &formals~1187093766~7771 &body~1187093766~7772)))) (lambda () (invalid-form &exp~1187093766~7516))))))))) (set! &parse-local-syntax~1187093766~2170 (lambda (&t~1187093766~7315) ((lambda (&x~1187093766~7340 &sk~1187093766~7341 &fk~1187093766~7342) (if (pair? &x~1187093766~7340) ((lambda (&x~1187093766~7345 &sk~1187093766~7346 &fk~1187093766~7347) (&sk~1187093766~7346)) (car &x~1187093766~7340) (lambda () ((lambda (&x~1187093766~7350 &sk~1187093766~7351 &fk~1187093766~7352) (if (pair? &x~1187093766~7350) ((lambda (&x~1187093766~7355 &sk~1187093766~7356 &fk~1187093766~7357) (((lambda (&loop~1187093766~7363) ((lambda (&temp~1187093766~7366) (set! &loop~1187093766~7363 &temp~1187093766~7366) ((lambda () &loop~1187093766~7363))) (lambda (&x~1187093766~7371 &result~1187093766~7372) ((lambda (&match-tail~1187093766~7373) (set! &match-tail~1187093766~7373 (lambda () ((lambda (&x~1187093766~7417 &sk~1187093766~7418 &fk~1187093766~7419) (if (null? &x~1187093766~7417) (&sk~1187093766~7418) (&fk~1187093766~7419))) &x~1187093766~7371 (lambda () (apply &sk~1187093766~7356 (if (null? &result~1187093766~7372) (map (lambda (&ignore~1187093766~7424) '()) '(x e)) (apply map list (reverse &result~1187093766~7372))))) (lambda () ((lambda (&x~1187093766~7432 &sk~1187093766~7433 &fk~1187093766~7434) (&sk~1187093766~7433)) &x~1187093766~7371 (lambda () (&fk~1187093766~7357)) (lambda () (invalid-form &x~1187093766~7371))))))) (if (null? &x~1187093766~7371) (begin (&match-tail~1187093766~7373)) (if (pair? &x~1187093766~7371) (begin ((lambda (&x~1187093766~7380 &sk~1187093766~7381 &fk~1187093766~7382) (if (pair? &x~1187093766~7380) ((lambda (&x~1187093766~7385 &sk~1187093766~7386 &fk~1187093766~7387) (&sk~1187093766~7386 &x~1187093766~7385)) (car &x~1187093766~7380) (lambda (&x~1187093766~7389) ((lambda (&x~1187093766~7391 &sk~1187093766~7392 &fk~1187093766~7393) (if (pair? &x~1187093766~7391) ((lambda (&x~1187093766~7396 &sk~1187093766~7397 &fk~1187093766~7398) (&sk~1187093766~7397 &x~1187093766~7396)) (car &x~1187093766~7391) (lambda (&e~1187093766~7400) ((lambda (&x~1187093766~7402 &sk~1187093766~7403 &fk~1187093766~7404) (if (null? &x~1187093766~7402) (&sk~1187093766~7403) (&fk~1187093766~7404))) (cdr &x~1187093766~7391) (lambda () (&sk~1187093766~7392 &e~1187093766~7400)) &fk~1187093766~7393)) &fk~1187093766~7393) (&fk~1187093766~7393))) (cdr &x~1187093766~7380) (lambda (&e~1187093766~7408) (&sk~1187093766~7381 &x~1187093766~7389 &e~1187093766~7408)) &fk~1187093766~7382)) &fk~1187093766~7382) (&fk~1187093766~7382))) (car &x~1187093766~7371) (lambda &car-vars~1187093766~7410 (&loop~1187093766~7363 (cdr &x~1187093766~7371) (cons &car-vars~1187093766~7410 &result~1187093766~7372))) &match-tail~1187093766~7373)) (begin (&fk~1187093766~7357))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~7355 '())) (car &x~1187093766~7350) (lambda (&x~1187093766~7440 &e~1187093766~7441) ((lambda (&x~1187093766~7443 &sk~1187093766~7444 &fk~1187093766~7445) (((lambda (&loop~1187093766~7451) ((lambda (&temp~1187093766~7454) (set! &loop~1187093766~7451 &temp~1187093766~7454) ((lambda () &loop~1187093766~7451))) (lambda (&x~1187093766~7459 &result~1187093766~7460) ((lambda (&match-tail~1187093766~7461) (set! &match-tail~1187093766~7461 (lambda () ((lambda (&x~1187093766~7479 &sk~1187093766~7480 &fk~1187093766~7481) (if (null? &x~1187093766~7479) (&sk~1187093766~7480) (&fk~1187093766~7481))) &x~1187093766~7459 (lambda () (apply &sk~1187093766~7444 (if (null? &result~1187093766~7460) (map (lambda (&ignore~1187093766~7486) '()) '(body)) (apply map list (reverse &result~1187093766~7460))))) (lambda () ((lambda (&x~1187093766~7494 &sk~1187093766~7495 &fk~1187093766~7496) (&sk~1187093766~7495)) &x~1187093766~7459 (lambda () (&fk~1187093766~7445)) (lambda () (invalid-form &x~1187093766~7459))))))) (if (null? &x~1187093766~7459) (begin (&match-tail~1187093766~7461)) (if (pair? &x~1187093766~7459) (begin ((lambda (&x~1187093766~7468 &sk~1187093766~7469 &fk~1187093766~7470) (&sk~1187093766~7469 &x~1187093766~7468)) (car &x~1187093766~7459) (lambda &car-vars~1187093766~7472 (&loop~1187093766~7451 (cdr &x~1187093766~7459) (cons &car-vars~1187093766~7472 &result~1187093766~7460))) &match-tail~1187093766~7461)) (begin (&fk~1187093766~7445))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~7443 '())) (cdr &x~1187093766~7350) (lambda (&body~1187093766~7502) (&sk~1187093766~7351 &x~1187093766~7440 &e~1187093766~7441 &body~1187093766~7502)) &fk~1187093766~7352)) &fk~1187093766~7352) (&fk~1187093766~7352))) (cdr &x~1187093766~7340) (lambda (&x~1187093766~7504 &e~1187093766~7505 &body~1187093766~7506) (&sk~1187093766~7341 &x~1187093766~7504 &e~1187093766~7505 &body~1187093766~7506)) &fk~1187093766~7342)) &fk~1187093766~7342) (&fk~1187093766~7342))) &t~1187093766~7315 (lambda (&x~1187093766~7508 &e~1187093766~7509 &body~1187093766~7510) (let ((x (&formals?~1187093766~2163 &x~1187093766~7508))) (if x x (&invalid-form~1187093766~2231 &t~1187093766~7315))) (values &x~1187093766~7508 &e~1187093766~7509 &body~1187093766~7510)) (lambda () (invalid-form &t~1187093766~7315))))) (set! &check-expression-sequence~1187093766~2171 (lambda (&body-type~1187093766~7306 &type~1187093766~7307 &form~1187093766~7308) (if (eq? &body-type~1187093766~7306 'expression-sequence) (if (memq &type~1187093766~7307 '(import program library define define-syntax)) (&syntax-violation~1187093766~2207 &type~1187093766~7307 "Invalid form in expression sequence" &form~1187093766~7308) #f) #f))) (set! &check-toplevel~1187093766~2172 (lambda (&body-type~1187093766~7297 &type~1187093766~7298 &form~1187093766~7299) (if (not (eq? &body-type~1187093766~7297 'toplevel)) (if (memq &type~1187093766~7298 '(import program library)) (&syntax-violation~1187093766~2207 &type~1187093766~7298 "Expression may only occur at toplevel" &form~1187093766~7299) #f) #f))) (set! &check-valid-definition~1187093766~2173 (lambda (&id~1187093766~7280 &common-env~1187093766~7281 &body-type~1187093766~7282 &form~1187093766~7283 &forms~1187093766~7284 &type~1187093766~7285) (if (not (eq? &body-type~1187093766~7282 'toplevel)) (if (&duplicate?~1187093766~2130 &id~1187093766~7280 &common-env~1187093766~7281) (&syntax-violation~1187093766~2207 &type~1187093766~7285 "Redefinition of identifier in body" &form~1187093766~7283 &id~1187093766~7280) #f) #f) (&check-used~1187093766~2185 &id~1187093766~7280 &body-type~1187093766~7282 &form~1187093766~7283) (if (not (memq &body-type~1187093766~7282 '(toplevel program))) (if (not (null? &forms~1187093766~7284)) (if (not (symbol? (car (car &forms~1187093766~7284)))) (&syntax-violation~1187093766~2207 &type~1187093766~7285 "Definitions may not follow expressions in a body" &form~1187093766~7283) #f) #f) #f))) (set! &check-expression-body~1187093766~2174 (lambda (&body-type~1187093766~7270 &forms~1187093766~7271 &body-forms~1187093766~7272) (if (eq? &body-type~1187093766~7270 'lambda) (if (let ((x (null? &forms~1187093766~7271))) (if x x (symbol? (caar &forms~1187093766~7271)))) (&syntax-violation~1187093766~2207 &body-type~1187093766~7270 "Body must be nonempty and end with an expression" &body-forms~1187093766~7272) #f) #f))) (set! &expand-syntax-case~1187093766~2175 (lambda (&exp~1187093766~7066) ((lambda (&literal?~1187093766~7067) (set! &literal?~1187093766~7067 (lambda (&x~1187093766~7262) (if (&identifier?~1187093766~2099 &x~1187093766~7262) (not (let ((x (&free=?~1187093766~2108 &x~1187093766~7262 '_))) (if x x (&free=?~1187093766~2108 &x~1187093766~7262 '...)))) #f))) ((lambda (&x~1187093766~7090 &sk~1187093766~7091 &fk~1187093766~7092) (if (pair? &x~1187093766~7090) ((lambda (&x~1187093766~7095 &sk~1187093766~7096 &fk~1187093766~7097) (&sk~1187093766~7096)) (car &x~1187093766~7090) (lambda () ((lambda (&x~1187093766~7100 &sk~1187093766~7101 &fk~1187093766~7102) (if (pair? &x~1187093766~7100) ((lambda (&x~1187093766~7105 &sk~1187093766~7106 &fk~1187093766~7107) (&sk~1187093766~7106 &x~1187093766~7105)) (car &x~1187093766~7100) (lambda (&e~1187093766~7109) ((lambda (&x~1187093766~7111 &sk~1187093766~7112 &fk~1187093766~7113) (if (pair? &x~1187093766~7111) ((lambda (&x~1187093766~7116 &sk~1187093766~7117 &fk~1187093766~7118) (((lambda (&loop~1187093766~7124) ((lambda (&temp~1187093766~7127) (set! &loop~1187093766~7124 &temp~1187093766~7127) ((lambda () &loop~1187093766~7124))) (lambda (&x~1187093766~7132 &result~1187093766~7133) ((lambda (&match-tail~1187093766~7134) (set! &match-tail~1187093766~7134 (lambda () ((lambda (&x~1187093766~7157 &sk~1187093766~7158 &fk~1187093766~7159) (if (null? &x~1187093766~7157) (&sk~1187093766~7158) (&fk~1187093766~7159))) &x~1187093766~7132 (lambda () (apply &sk~1187093766~7117 (if (null? &result~1187093766~7133) (map (lambda (&ignore~1187093766~7164) '()) '(literals)) (apply map list (reverse &result~1187093766~7133))))) (lambda () ((lambda (&x~1187093766~7172 &sk~1187093766~7173 &fk~1187093766~7174) (&sk~1187093766~7173)) &x~1187093766~7132 (lambda () (&fk~1187093766~7118)) (lambda () (invalid-form &x~1187093766~7132))))))) (if (null? &x~1187093766~7132) (begin (&match-tail~1187093766~7134)) (if (pair? &x~1187093766~7132) (begin ((lambda (&x~1187093766~7141 &sk~1187093766~7142 &fk~1187093766~7143) (if (&literal?~1187093766~7067 &x~1187093766~7141) ((lambda (&x~1187093766~7146 &sk~1187093766~7147 &fk~1187093766~7148) (&sk~1187093766~7147 &x~1187093766~7146)) &x~1187093766~7141 &sk~1187093766~7142 &fk~1187093766~7143) (&fk~1187093766~7143))) (car &x~1187093766~7132) (lambda &car-vars~1187093766~7150 (&loop~1187093766~7124 (cdr &x~1187093766~7132) (cons &car-vars~1187093766~7150 &result~1187093766~7133))) &match-tail~1187093766~7134)) (begin (&fk~1187093766~7118))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~7116 '())) (car &x~1187093766~7111) (lambda (&literals~1187093766~7180) ((lambda (&x~1187093766~7182 &sk~1187093766~7183 &fk~1187093766~7184) (((lambda (&loop~1187093766~7190) ((lambda (&temp~1187093766~7193) (set! &loop~1187093766~7190 &temp~1187093766~7193) ((lambda () &loop~1187093766~7190))) (lambda (&x~1187093766~7198 &result~1187093766~7199) ((lambda (&match-tail~1187093766~7200) (set! &match-tail~1187093766~7200 (lambda () ((lambda (&x~1187093766~7218 &sk~1187093766~7219 &fk~1187093766~7220) (if (null? &x~1187093766~7218) (&sk~1187093766~7219) (&fk~1187093766~7220))) &x~1187093766~7198 (lambda () (apply &sk~1187093766~7183 (if (null? &result~1187093766~7199) (map (lambda (&ignore~1187093766~7225) '()) '(clauses)) (apply map list (reverse &result~1187093766~7199))))) (lambda () ((lambda (&x~1187093766~7233 &sk~1187093766~7234 &fk~1187093766~7235) (&sk~1187093766~7234)) &x~1187093766~7198 (lambda () (&fk~1187093766~7184)) (lambda () (invalid-form &x~1187093766~7198))))))) (if (null? &x~1187093766~7198) (begin (&match-tail~1187093766~7200)) (if (pair? &x~1187093766~7198) (begin ((lambda (&x~1187093766~7207 &sk~1187093766~7208 &fk~1187093766~7209) (&sk~1187093766~7208 &x~1187093766~7207)) (car &x~1187093766~7198) (lambda &car-vars~1187093766~7211 (&loop~1187093766~7190 (cdr &x~1187093766~7198) (cons &car-vars~1187093766~7211 &result~1187093766~7199))) &match-tail~1187093766~7200)) (begin (&fk~1187093766~7184))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~7182 '())) (cdr &x~1187093766~7111) (lambda (&clauses~1187093766~7241) (&sk~1187093766~7112 &literals~1187093766~7180 &clauses~1187093766~7241)) &fk~1187093766~7113)) &fk~1187093766~7113) (&fk~1187093766~7113))) (cdr &x~1187093766~7100) (lambda (&literals~1187093766~7243 &clauses~1187093766~7244) (&sk~1187093766~7101 &e~1187093766~7109 &literals~1187093766~7243 &clauses~1187093766~7244)) &fk~1187093766~7102)) &fk~1187093766~7102) (&fk~1187093766~7102))) (cdr &x~1187093766~7090) (lambda (&e~1187093766~7246 &literals~1187093766~7247 &clauses~1187093766~7248) (&sk~1187093766~7091 &e~1187093766~7246 &literals~1187093766~7247 &clauses~1187093766~7248)) &fk~1187093766~7092)) &fk~1187093766~7092) (&fk~1187093766~7092))) &exp~1187093766~7066 (lambda (&e~1187093766~7250 &literals~1187093766~7251 &clauses~1187093766~7252) ((lambda (&input~1187093766~7255) (list 'let (list (list &input~1187093766~7255 (&expand~1187093766~2151 &e~1187093766~7250))) (&process-clauses~1187093766~2176 &clauses~1187093766~7252 &input~1187093766~7255 &literals~1187093766~7251))) (&generate-guid~1187093766~2109 'input))) (lambda () (invalid-form &exp~1187093766~7066)))) ex:undefined))) (set! &process-clauses~1187093766~2176 (lambda (&clauses~1187093766~6211 &input~1187093766~6212 &literals~1187093766~6213) ((lambda (&process-clause~1187093766~6217 &pattern-vars~1187093766~6216 &process-match~1187093766~6215 &literal?~1187093766~6214) (set! &literal?~1187093766~6214 (lambda (&pattern~1187093766~7060) (if (&identifier?~1187093766~2099 &pattern~1187093766~7060) (memp (lambda (&x~1187093766~7064) (&bound-identifier=?~1187093766~2106 &x~1187093766~7064 &pattern~1187093766~7060)) &literals~1187093766~6213) #f))) (set! &process-match~1187093766~6215 (lambda (&input~1187093766~6686 &pattern~1187093766~6687 &sk~1187093766~6688 &fk~1187093766~6689) (if (not (symbol? &input~1187093766~6686)) ((lambda (&temp~1187093766~6693) (list 'let (list (list &temp~1187093766~6693 &input~1187093766~6686)) (&process-match~1187093766~6215 &temp~1187093766~6693 &pattern~1187093766~6687 &sk~1187093766~6688 &fk~1187093766~6689))) (&generate-guid~1187093766~2109 'temp)) ((lambda (&x~1187093766~6701 &sk~1187093766~6702 &fk~1187093766~6703) (if (ex:free=? &x~1187093766~6701 '_) (&sk~1187093766~6702) (&fk~1187093766~6703))) &pattern~1187093766~6687 (lambda () &sk~1187093766~6688) (lambda () ((lambda (&x~1187093766~6712 &sk~1187093766~6713 &fk~1187093766~6714) (if (ex:free=? &x~1187093766~6712 '...) (&sk~1187093766~6713) (&fk~1187093766~6714))) &pattern~1187093766~6687 (lambda () (&syntax-violation~1187093766~2207 'syntax-case "Invalid use of ellipses" &pattern~1187093766~6687)) (lambda () ((lambda (&x~1187093766~6724 &sk~1187093766~6725 &fk~1187093766~6726) (if (null? &x~1187093766~6724) (&sk~1187093766~6725) (&fk~1187093766~6726))) &pattern~1187093766~6687 (lambda () (list 'if (list 'null? &input~1187093766~6686) &sk~1187093766~6688 &fk~1187093766~6689)) (lambda () ((lambda (&x~1187093766~6739 &sk~1187093766~6740 &fk~1187093766~6741) (if (&literal?~1187093766~6214 &x~1187093766~6739) ((lambda (&x~1187093766~6744 &sk~1187093766~6745 &fk~1187093766~6746) (&sk~1187093766~6745 &x~1187093766~6744)) &x~1187093766~6739 &sk~1187093766~6740 &fk~1187093766~6741) (&fk~1187093766~6741))) &pattern~1187093766~6687 (lambda (&id~1187093766~6748) (list 'if (list 'and (list 'ex:identifier? &input~1187093766~6686) (list 'ex:free-identifier=? &input~1187093766~6686 (&syntax-reflect~1187093766~2135 &id~1187093766~6748))) &sk~1187093766~6688 &fk~1187093766~6689)) (lambda () ((lambda (&x~1187093766~6761 &sk~1187093766~6762 &fk~1187093766~6763) (if (&identifier?~1187093766~2099 &x~1187093766~6761) ((lambda (&x~1187093766~6766 &sk~1187093766~6767 &fk~1187093766~6768) (&sk~1187093766~6767 &x~1187093766~6766)) &x~1187093766~6761 &sk~1187093766~6762 &fk~1187093766~6763) (&fk~1187093766~6763))) &pattern~1187093766~6687 (lambda (&id~1187093766~6770) (list 'let (list (list (&binding-name~1187093766~2114 (&binding~1187093766~2120 &id~1187093766~6770)) &input~1187093766~6686)) &sk~1187093766~6688)) (lambda () ((lambda (&x~1187093766~6786 &sk~1187093766~6787 &fk~1187093766~6788) (if (pair? &x~1187093766~6786) ((lambda (&x~1187093766~6791 &sk~1187093766~6792 &fk~1187093766~6793) (&sk~1187093766~6792 &x~1187093766~6791)) (car &x~1187093766~6786) (lambda (&p~1187093766~6795) ((lambda (&x~1187093766~6797 &sk~1187093766~6798 &fk~1187093766~6799) (if (pair? &x~1187093766~6797) ((lambda (&x~1187093766~6802 &sk~1187093766~6803 &fk~1187093766~6804) (if (ex:free=? &x~1187093766~6802 '...) (&sk~1187093766~6803) (&fk~1187093766~6804))) (car &x~1187093766~6797) (lambda () ((lambda (&x~1187093766~6809 &sk~1187093766~6810 &fk~1187093766~6811) (if (null? &x~1187093766~6809) (&sk~1187093766~6810) (&fk~1187093766~6811))) (cdr &x~1187093766~6797) (lambda () (&sk~1187093766~6798)) &fk~1187093766~6799)) &fk~1187093766~6799) (&fk~1187093766~6799))) (cdr &x~1187093766~6786) (lambda () (&sk~1187093766~6787 &p~1187093766~6795)) &fk~1187093766~6788)) &fk~1187093766~6788) (&fk~1187093766~6788))) &pattern~1187093766~6687 (lambda (&p~1187093766~6816) ((lambda (&mapped-pvars~1187093766~6819) (if (if (&identifier?~1187093766~2099 &p~1187093766~6816) (= (length &mapped-pvars~1187093766~6819) 1) #f) (list 'if (list 'list? &input~1187093766~6686) (list 'let (list (list (car &mapped-pvars~1187093766~6819) &input~1187093766~6686)) &sk~1187093766~6688) &fk~1187093766~6689) ((lambda (&columns~1187093766~6829 &rest~1187093766~6830) (list 'ex:map-while (list 'lambda (list &input~1187093766~6686) (&process-match~1187093766~6215 &input~1187093766~6686 &p~1187093766~6816 (cons 'list &mapped-pvars~1187093766~6819) #f)) &input~1187093766~6686 (list 'lambda (list &columns~1187093766~6829 &rest~1187093766~6830) (list 'if (list 'null? &rest~1187093766~6830) (list 'apply (list 'lambda &mapped-pvars~1187093766~6819 &sk~1187093766~6688) (list 'if (list 'null? &columns~1187093766~6829) (list 'quote (map (lambda (&ignore~1187093766~6845) '()) &mapped-pvars~1187093766~6819)) (list 'apply 'map 'list &columns~1187093766~6829))) &fk~1187093766~6689)))) (&generate-guid~1187093766~2109 'cols) (&generate-guid~1187093766~2109 'rest)))) (map (lambda (&pvar~1187093766~6853) (&binding-name~1187093766~2114 (&binding~1187093766~2120 &pvar~1187093766~6853))) (map car (&pattern-vars~1187093766~6216 &p~1187093766~6816 0))))) (lambda () ((lambda (&x~1187093766~6867 &sk~1187093766~6868 &fk~1187093766~6869) (if (pair? &x~1187093766~6867) ((lambda (&x~1187093766~6872 &sk~1187093766~6873 &fk~1187093766~6874) (&sk~1187093766~6873 &x~1187093766~6872)) (car &x~1187093766~6867) (lambda (&p~1187093766~6876) ((lambda (&x~1187093766~6878 &sk~1187093766~6879 &fk~1187093766~6880) (if (pair? &x~1187093766~6878) ((lambda (&x~1187093766~6883 &sk~1187093766~6884 &fk~1187093766~6885) (if (ex:free=? &x~1187093766~6883 '...) (&sk~1187093766~6884) (&fk~1187093766~6885))) (car &x~1187093766~6878) (lambda () ((lambda (&x~1187093766~6890 &sk~1187093766~6891 &fk~1187093766~6892) (&sk~1187093766~6891 &x~1187093766~6890)) (cdr &x~1187093766~6878) (lambda (&tail~1187093766~6894) (&sk~1187093766~6879 &tail~1187093766~6894)) &fk~1187093766~6880)) &fk~1187093766~6880) (&fk~1187093766~6880))) (cdr &x~1187093766~6867) (lambda (&tail~1187093766~6896) (&sk~1187093766~6868 &p~1187093766~6876 &tail~1187093766~6896)) &fk~1187093766~6869)) &fk~1187093766~6869) (&fk~1187093766~6869))) &pattern~1187093766~6687 (lambda (&p~1187093766~6898 &tail~1187093766~6899) ((lambda (&tail-length~1187093766~6902) (list 'if (list '>= (list 'ex:dotted-length &input~1187093766~6686) &tail-length~1187093766~6902) (&process-match~1187093766~6215 (list 'ex:dotted-butlast &input~1187093766~6686 &tail-length~1187093766~6902) (list &p~1187093766~6898 (cadr &pattern~1187093766~6687)) (&process-match~1187093766~6215 (list 'ex:dotted-last &input~1187093766~6686 &tail-length~1187093766~6902) &tail~1187093766~6899 &sk~1187093766~6688 &fk~1187093766~6689) &fk~1187093766~6689) &fk~1187093766~6689)) (&dotted-length~1187093766~2221 &tail~1187093766~6899))) (lambda () ((lambda (&x~1187093766~6921 &sk~1187093766~6922 &fk~1187093766~6923) (if (pair? &x~1187093766~6921) ((lambda (&x~1187093766~6926 &sk~1187093766~6927 &fk~1187093766~6928) (&sk~1187093766~6927 &x~1187093766~6926)) (car &x~1187093766~6921) (lambda (&p1~1187093766~6930) ((lambda (&x~1187093766~6932 &sk~1187093766~6933 &fk~1187093766~6934) (&sk~1187093766~6933 &x~1187093766~6932)) (cdr &x~1187093766~6921) (lambda (&p2~1187093766~6936) (&sk~1187093766~6922 &p1~1187093766~6930 &p2~1187093766~6936)) &fk~1187093766~6923)) &fk~1187093766~6923) (&fk~1187093766~6923))) &pattern~1187093766~6687 (lambda (&p1~1187093766~6938 &p2~1187093766~6939) (list 'if (list 'pair? &input~1187093766~6686) (&process-match~1187093766~6215 (list 'car &input~1187093766~6686) &p1~1187093766~6938 (&process-match~1187093766~6215 (list 'cdr &input~1187093766~6686) &p2~1187093766~6939 &sk~1187093766~6688 &fk~1187093766~6689) &fk~1187093766~6689) &fk~1187093766~6689)) (lambda () ((lambda (&x~1187093766~6956 &sk~1187093766~6957 &fk~1187093766~6958) (if (vector? &x~1187093766~6956) ((lambda (&x~1187093766~6961 &sk~1187093766~6962 &fk~1187093766~6963) (((lambda (&loop~1187093766~6969) ((lambda (&temp~1187093766~6972) (set! &loop~1187093766~6969 &temp~1187093766~6972) ((lambda () &loop~1187093766~6969))) (lambda (&x~1187093766~6977 &result~1187093766~6978) ((lambda (&match-tail~1187093766~6979) (set! &match-tail~1187093766~6979 (lambda () ((lambda (&x~1187093766~6997 &sk~1187093766~6998 &fk~1187093766~6999) (if (null? &x~1187093766~6997) (&sk~1187093766~6998) (&fk~1187093766~6999))) &x~1187093766~6977 (lambda () (apply &sk~1187093766~6962 (if (null? &result~1187093766~6978) (map (lambda (&ignore~1187093766~7004) '()) '(ps)) (apply map list (reverse &result~1187093766~6978))))) (lambda () ((lambda (&x~1187093766~7012 &sk~1187093766~7013 &fk~1187093766~7014) (&sk~1187093766~7013)) &x~1187093766~6977 (lambda () (&fk~1187093766~6963)) (lambda () (invalid-form &x~1187093766~6977))))))) (if (null? &x~1187093766~6977) (begin (&match-tail~1187093766~6979)) (if (pair? &x~1187093766~6977) (begin ((lambda (&x~1187093766~6986 &sk~1187093766~6987 &fk~1187093766~6988) (&sk~1187093766~6987 &x~1187093766~6986)) (car &x~1187093766~6977) (lambda &car-vars~1187093766~6990 (&loop~1187093766~6969 (cdr &x~1187093766~6977) (cons &car-vars~1187093766~6990 &result~1187093766~6978))) &match-tail~1187093766~6979)) (begin (&fk~1187093766~6963))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~6961 '())) (vector->list &x~1187093766~6956) &sk~1187093766~6957 &fk~1187093766~6958) (&fk~1187093766~6958))) &pattern~1187093766~6687 (lambda (&ps~1187093766~7020) (list 'if (list 'vector? &input~1187093766~6686) (&process-match~1187093766~6215 (list 'vector->list &input~1187093766~6686) &ps~1187093766~7020 &sk~1187093766~6688 &fk~1187093766~6689) &fk~1187093766~6689)) (lambda () ((lambda (&x~1187093766~7033 &sk~1187093766~7034 &fk~1187093766~7035) (if (symbol? &x~1187093766~7033) ((lambda (&x~1187093766~7038 &sk~1187093766~7039 &fk~1187093766~7040) (&sk~1187093766~7039)) &x~1187093766~7033 &sk~1187093766~7034 &fk~1187093766~7035) (&fk~1187093766~7035))) &pattern~1187093766~6687 (lambda () (&syntax-violation~1187093766~2207 'syntax-case "Symbol object may not appear in pattern" &pattern~1187093766~6687)) (lambda () ((lambda (&x~1187093766~7048 &sk~1187093766~7049 &fk~1187093766~7050) (&sk~1187093766~7049 &x~1187093766~7048)) &pattern~1187093766~6687 (lambda (&other~1187093766~7052) (list 'if (list 'equal? &input~1187093766~6686 (list 'quote &other~1187093766~7052)) &sk~1187093766~6688 &fk~1187093766~6689)) (lambda () (invalid-form &pattern~1187093766~6687)))))))))))))))))))))))))) (set! &pattern-vars~1187093766~6216 (lambda (&pattern~1187093766~6466 &level~1187093766~6467) ((lambda (&x~1187093766~6480 &sk~1187093766~6481 &fk~1187093766~6482) (if (pair? &x~1187093766~6480) ((lambda (&x~1187093766~6485 &sk~1187093766~6486 &fk~1187093766~6487) (&sk~1187093766~6486 &x~1187093766~6485)) (car &x~1187093766~6480) (lambda (&p~1187093766~6489) ((lambda (&x~1187093766~6491 &sk~1187093766~6492 &fk~1187093766~6493) (if (pair? &x~1187093766~6491) ((lambda (&x~1187093766~6496 &sk~1187093766~6497 &fk~1187093766~6498) (if (ex:free=? &x~1187093766~6496 '...) (&sk~1187093766~6497) (&fk~1187093766~6498))) (car &x~1187093766~6491) (lambda () ((lambda (&x~1187093766~6503 &sk~1187093766~6504 &fk~1187093766~6505) (&sk~1187093766~6504 &x~1187093766~6503)) (cdr &x~1187093766~6491) (lambda (&tail~1187093766~6507) (&sk~1187093766~6492 &tail~1187093766~6507)) &fk~1187093766~6493)) &fk~1187093766~6493) (&fk~1187093766~6493))) (cdr &x~1187093766~6480) (lambda (&tail~1187093766~6509) (&sk~1187093766~6481 &p~1187093766~6489 &tail~1187093766~6509)) &fk~1187093766~6482)) &fk~1187093766~6482) (&fk~1187093766~6482))) &pattern~1187093766~6466 (lambda (&p~1187093766~6511 &tail~1187093766~6512) (append (&pattern-vars~1187093766~6216 &p~1187093766~6511 (+ &level~1187093766~6467 1)) (&pattern-vars~1187093766~6216 &tail~1187093766~6512 &level~1187093766~6467))) (lambda () ((lambda (&x~1187093766~6522 &sk~1187093766~6523 &fk~1187093766~6524) (if (pair? &x~1187093766~6522) ((lambda (&x~1187093766~6527 &sk~1187093766~6528 &fk~1187093766~6529) (&sk~1187093766~6528 &x~1187093766~6527)) (car &x~1187093766~6522) (lambda (&p1~1187093766~6531) ((lambda (&x~1187093766~6533 &sk~1187093766~6534 &fk~1187093766~6535) (&sk~1187093766~6534 &x~1187093766~6533)) (cdr &x~1187093766~6522) (lambda (&p2~1187093766~6537) (&sk~1187093766~6523 &p1~1187093766~6531 &p2~1187093766~6537)) &fk~1187093766~6524)) &fk~1187093766~6524) (&fk~1187093766~6524))) &pattern~1187093766~6466 (lambda (&p1~1187093766~6539 &p2~1187093766~6540) (append (&pattern-vars~1187093766~6216 &p1~1187093766~6539 &level~1187093766~6467) (&pattern-vars~1187093766~6216 &p2~1187093766~6540 &level~1187093766~6467))) (lambda () ((lambda (&x~1187093766~6550 &sk~1187093766~6551 &fk~1187093766~6552) (if (vector? &x~1187093766~6550) ((lambda (&x~1187093766~6555 &sk~1187093766~6556 &fk~1187093766~6557) (((lambda (&loop~1187093766~6563) ((lambda (&temp~1187093766~6566) (set! &loop~1187093766~6563 &temp~1187093766~6566) ((lambda () &loop~1187093766~6563))) (lambda (&x~1187093766~6571 &result~1187093766~6572) ((lambda (&match-tail~1187093766~6573) (set! &match-tail~1187093766~6573 (lambda () ((lambda (&x~1187093766~6591 &sk~1187093766~6592 &fk~1187093766~6593) (if (null? &x~1187093766~6591) (&sk~1187093766~6592) (&fk~1187093766~6593))) &x~1187093766~6571 (lambda () (apply &sk~1187093766~6556 (if (null? &result~1187093766~6572) (map (lambda (&ignore~1187093766~6598) '()) '(ps)) (apply map list (reverse &result~1187093766~6572))))) (lambda () ((lambda (&x~1187093766~6606 &sk~1187093766~6607 &fk~1187093766~6608) (&sk~1187093766~6607)) &x~1187093766~6571 (lambda () (&fk~1187093766~6557)) (lambda () (invalid-form &x~1187093766~6571))))))) (if (null? &x~1187093766~6571) (begin (&match-tail~1187093766~6573)) (if (pair? &x~1187093766~6571) (begin ((lambda (&x~1187093766~6580 &sk~1187093766~6581 &fk~1187093766~6582) (&sk~1187093766~6581 &x~1187093766~6580)) (car &x~1187093766~6571) (lambda &car-vars~1187093766~6584 (&loop~1187093766~6563 (cdr &x~1187093766~6571) (cons &car-vars~1187093766~6584 &result~1187093766~6572))) &match-tail~1187093766~6573)) (begin (&fk~1187093766~6557))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~6555 '())) (vector->list &x~1187093766~6550) &sk~1187093766~6551 &fk~1187093766~6552) (&fk~1187093766~6552))) &pattern~1187093766~6466 (lambda (&ps~1187093766~6614) (&pattern-vars~1187093766~6216 &ps~1187093766~6614 &level~1187093766~6467)) (lambda () ((lambda (&x~1187093766~6620 &sk~1187093766~6621 &fk~1187093766~6622) (if (ex:free=? &x~1187093766~6620 '...) (&sk~1187093766~6621) (&fk~1187093766~6622))) &pattern~1187093766~6466 (lambda () '()) (lambda () ((lambda (&x~1187093766~6632 &sk~1187093766~6633 &fk~1187093766~6634) (if (ex:free=? &x~1187093766~6632 '_) (&sk~1187093766~6633) (&fk~1187093766~6634))) &pattern~1187093766~6466 (lambda () '()) (lambda () ((lambda (&x~1187093766~6646 &sk~1187093766~6647 &fk~1187093766~6648) (if (&literal?~1187093766~6214 &x~1187093766~6646) ((lambda (&x~1187093766~6651 &sk~1187093766~6652 &fk~1187093766~6653) (&sk~1187093766~6652)) &x~1187093766~6646 &sk~1187093766~6647 &fk~1187093766~6648) (&fk~1187093766~6648))) &pattern~1187093766~6466 (lambda () '()) (lambda () ((lambda (&x~1187093766~6663 &sk~1187093766~6664 &fk~1187093766~6665) (if (&identifier?~1187093766~2099 &x~1187093766~6663) ((lambda (&x~1187093766~6668 &sk~1187093766~6669 &fk~1187093766~6670) (&sk~1187093766~6669 &x~1187093766~6668)) &x~1187093766~6663 &sk~1187093766~6664 &fk~1187093766~6665) (&fk~1187093766~6665))) &pattern~1187093766~6466 (lambda (&id~1187093766~6672) (list (cons &id~1187093766~6672 &level~1187093766~6467))) (lambda () ((lambda (&x~1187093766~6678 &sk~1187093766~6679 &fk~1187093766~6680) (&sk~1187093766~6679)) &pattern~1187093766~6466 (lambda () '()) (lambda () (invalid-form &pattern~1187093766~6466))))))))))))))))))) (set! &process-clause~1187093766~6217 (lambda (&clause~1187093766~6326 &input~1187093766~6327 &fk~1187093766~6328) ((lambda (&x~1187093766~6337 &sk~1187093766~6338 &fk~1187093766~6339) (if (pair? &x~1187093766~6337) ((lambda (&x~1187093766~6342 &sk~1187093766~6343 &fk~1187093766~6344) (&sk~1187093766~6343 &x~1187093766~6342)) (car &x~1187093766~6337) (lambda (&pattern~1187093766~6346) ((lambda (&x~1187093766~6348 &sk~1187093766~6349 &fk~1187093766~6350) (&sk~1187093766~6349 &x~1187093766~6348)) (cdr &x~1187093766~6337) (lambda (&rest~1187093766~6352) (&sk~1187093766~6338 &pattern~1187093766~6346 &rest~1187093766~6352)) &fk~1187093766~6339)) &fk~1187093766~6339) (&fk~1187093766~6339))) &clause~1187093766~6326 (lambda (&pattern~1187093766~6354 &rest~1187093766~6355) ((lambda (&pvars~1187093766~6358) (&check-set?~1187093766~2225 (map car &pvars~1187093766~6358) &bound-identifier=?~1187093766~2106 (lambda (&dup~1187093766~6461) (&syntax-violation~1187093766~2207 'syntax-case "Repeated pattern variable" &clause~1187093766~6326 &dup~1187093766~6461))) ((lambda (&mappings~1187093766~6361) ((lambda (&saved~1187093766~6365) (set! &*usage-env*~1187093766~2068 (&env-extend~1187093766~2127 &mappings~1187093766~6361 &*usage-env*~1187093766~2068)) (call-with-values (lambda () (&process-match~1187093766~6215 &input~1187093766~6327 &pattern~1187093766~6354 ((lambda (&x~1187093766~6376 &sk~1187093766~6377 &fk~1187093766~6378) (if (pair? &x~1187093766~6376) ((lambda (&x~1187093766~6381 &sk~1187093766~6382 &fk~1187093766~6383) (&sk~1187093766~6382 &x~1187093766~6381)) (car &x~1187093766~6376) (lambda (&template~1187093766~6385) ((lambda (&x~1187093766~6387 &sk~1187093766~6388 &fk~1187093766~6389) (if (null? &x~1187093766~6387) (&sk~1187093766~6388) (&fk~1187093766~6389))) (cdr &x~1187093766~6376) (lambda () (&sk~1187093766~6377 &template~1187093766~6385)) &fk~1187093766~6378)) &fk~1187093766~6378) (&fk~1187093766~6378))) &rest~1187093766~6355 (lambda (&template~1187093766~6393) (&expand~1187093766~2151 &template~1187093766~6393)) (lambda () ((lambda (&x~1187093766~6407 &sk~1187093766~6408 &fk~1187093766~6409) (if (pair? &x~1187093766~6407) ((lambda (&x~1187093766~6412 &sk~1187093766~6413 &fk~1187093766~6414) (&sk~1187093766~6413 &x~1187093766~6412)) (car &x~1187093766~6407) (lambda (&fender~1187093766~6416) ((lambda (&x~1187093766~6418 &sk~1187093766~6419 &fk~1187093766~6420) (if (pair? &x~1187093766~6418) ((lambda (&x~1187093766~6423 &sk~1187093766~6424 &fk~1187093766~6425) (&sk~1187093766~6424 &x~1187093766~6423)) (car &x~1187093766~6418) (lambda (&template~1187093766~6427) ((lambda (&x~1187093766~6429 &sk~1187093766~6430 &fk~1187093766~6431) (if (null? &x~1187093766~6429) (&sk~1187093766~6430) (&fk~1187093766~6431))) (cdr &x~1187093766~6418) (lambda () (&sk~1187093766~6419 &template~1187093766~6427)) &fk~1187093766~6420)) &fk~1187093766~6420) (&fk~1187093766~6420))) (cdr &x~1187093766~6407) (lambda (&template~1187093766~6435) (&sk~1187093766~6408 &fender~1187093766~6416 &template~1187093766~6435)) &fk~1187093766~6409)) &fk~1187093766~6409) (&fk~1187093766~6409))) &rest~1187093766~6355 (lambda (&fender~1187093766~6437 &template~1187093766~6438) (list 'if (&expand~1187093766~2151 &fender~1187093766~6437) (&expand~1187093766~2151 &template~1187093766~6438) &fk~1187093766~6328)) (lambda () ((lambda (&x~1187093766~6446 &sk~1187093766~6447 &fk~1187093766~6448) (&sk~1187093766~6447)) &rest~1187093766~6355 (lambda () (&syntax-violation~1187093766~2207 'syntax-case "Invalid clause" &clause~1187093766~6326)) (lambda () (invalid-form &rest~1187093766~6355))))))) &fk~1187093766~6328)) (lambda &results~1187093766~6454 (set! &*usage-env*~1187093766~2068 &saved~1187093766~6365) (apply values &results~1187093766~6454)))) &*usage-env*~1187093766~2068)) (map (lambda (&pvar~1187093766~6458) (&make-local-mapping~1187093766~2121 'pattern-variable (car &pvar~1187093766~6458) (cdr &pvar~1187093766~6458))) &pvars~1187093766~6358))) (&pattern-vars~1187093766~6216 &pattern~1187093766~6354 0))) (lambda () (invalid-form &clause~1187093766~6326))))) ((lambda (&x~1187093766~6222 &sk~1187093766~6223 &fk~1187093766~6224) (if (null? &x~1187093766~6222) (&sk~1187093766~6223) (&fk~1187093766~6224))) &clauses~1187093766~6211 (lambda () (list 'ex:invalid-form &input~1187093766~6212)) (lambda () ((lambda (&x~1187093766~6240 &sk~1187093766~6241 &fk~1187093766~6242) (if (pair? &x~1187093766~6240) ((lambda (&x~1187093766~6245 &sk~1187093766~6246 &fk~1187093766~6247) (&sk~1187093766~6246 &x~1187093766~6245)) (car &x~1187093766~6240) (lambda (&clause~1187093766~6249) ((lambda (&x~1187093766~6251 &sk~1187093766~6252 &fk~1187093766~6253) (((lambda (&loop~1187093766~6259) ((lambda (&temp~1187093766~6262) (set! &loop~1187093766~6259 &temp~1187093766~6262) ((lambda () &loop~1187093766~6259))) (lambda (&x~1187093766~6267 &result~1187093766~6268) ((lambda (&match-tail~1187093766~6269) (set! &match-tail~1187093766~6269 (lambda () ((lambda (&x~1187093766~6287 &sk~1187093766~6288 &fk~1187093766~6289) (if (null? &x~1187093766~6287) (&sk~1187093766~6288) (&fk~1187093766~6289))) &x~1187093766~6267 (lambda () (apply &sk~1187093766~6252 (if (null? &result~1187093766~6268) (map (lambda (&ignore~1187093766~6294) '()) '(clauses)) (apply map list (reverse &result~1187093766~6268))))) (lambda () ((lambda (&x~1187093766~6302 &sk~1187093766~6303 &fk~1187093766~6304) (&sk~1187093766~6303)) &x~1187093766~6267 (lambda () (&fk~1187093766~6253)) (lambda () (invalid-form &x~1187093766~6267))))))) (if (null? &x~1187093766~6267) (begin (&match-tail~1187093766~6269)) (if (pair? &x~1187093766~6267) (begin ((lambda (&x~1187093766~6276 &sk~1187093766~6277 &fk~1187093766~6278) (&sk~1187093766~6277 &x~1187093766~6276)) (car &x~1187093766~6267) (lambda &car-vars~1187093766~6280 (&loop~1187093766~6259 (cdr &x~1187093766~6267) (cons &car-vars~1187093766~6280 &result~1187093766~6268))) &match-tail~1187093766~6269)) (begin (&fk~1187093766~6253))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~6251 '())) (cdr &x~1187093766~6240) (lambda (&clauses~1187093766~6310) (&sk~1187093766~6241 &clause~1187093766~6249 &clauses~1187093766~6310)) &fk~1187093766~6242)) &fk~1187093766~6242) (&fk~1187093766~6242))) &clauses~1187093766~6211 (lambda (&clause~1187093766~6312 &clauses~1187093766~6313) ((lambda (&fail~1187093766~6316) (list 'let (list (list &fail~1187093766~6316 (list 'lambda '() (&process-clauses~1187093766~2176 &clauses~1187093766~6313 &input~1187093766~6212 &literals~1187093766~6213)))) (&process-clause~1187093766~6217 &clause~1187093766~6312 &input~1187093766~6212 (list &fail~1187093766~6316)))) (&generate-guid~1187093766~2109 'fail))) (lambda () (invalid-form &clauses~1187093766~6211)))))) ex:undefined ex:undefined ex:undefined ex:undefined))) (set! &expand-syntax~1187093766~2177 (lambda (&form~1187093766~6165) ((lambda (&x~1187093766~6178 &sk~1187093766~6179 &fk~1187093766~6180) (if (pair? &x~1187093766~6178) ((lambda (&x~1187093766~6183 &sk~1187093766~6184 &fk~1187093766~6185) (&sk~1187093766~6184)) (car &x~1187093766~6178) (lambda () ((lambda (&x~1187093766~6188 &sk~1187093766~6189 &fk~1187093766~6190) (if (pair? &x~1187093766~6188) ((lambda (&x~1187093766~6193 &sk~1187093766~6194 &fk~1187093766~6195) (&sk~1187093766~6194 &x~1187093766~6193)) (car &x~1187093766~6188) (lambda (&template~1187093766~6197) ((lambda (&x~1187093766~6199 &sk~1187093766~6200 &fk~1187093766~6201) (if (null? &x~1187093766~6199) (&sk~1187093766~6200) (&fk~1187093766~6201))) (cdr &x~1187093766~6188) (lambda () (&sk~1187093766~6189 &template~1187093766~6197)) &fk~1187093766~6190)) &fk~1187093766~6190) (&fk~1187093766~6190))) (cdr &x~1187093766~6178) (lambda (&template~1187093766~6205) (&sk~1187093766~6179 &template~1187093766~6205)) &fk~1187093766~6180)) &fk~1187093766~6180) (&fk~1187093766~6180))) &form~1187093766~6165 (lambda (&template~1187093766~6207) (&process-template~1187093766~2178 &template~1187093766~6207 0 #f)) (lambda () (invalid-form &form~1187093766~6165))))) (set! &process-template~1187093766~2178 (lambda (&template~1187093766~5855 &dim~1187093766~5856 &ellipses-quoted?~1187093766~5857) ((lambda (&x~1187093766~5862 &sk~1187093766~5863 &fk~1187093766~5864) (if (ex:free=? &x~1187093766~5862 '...) (&sk~1187093766~5863) (&fk~1187093766~5864))) &template~1187093766~5855 (lambda () (if (not &ellipses-quoted?~1187093766~5857) (&syntax-violation~1187093766~2207 'syntax "Invalid occurrence of ellipses in syntax template" &template~1187093766~5855)) (&syntax-reflect~1187093766~2135 &template~1187093766~5855)) (lambda () ((lambda (&x~1187093766~5877 &sk~1187093766~5878 &fk~1187093766~5879) (if (&identifier?~1187093766~2099 &x~1187093766~5877) ((lambda (&x~1187093766~5882 &sk~1187093766~5883 &fk~1187093766~5884) (&sk~1187093766~5883 &x~1187093766~5882)) &x~1187093766~5877 &sk~1187093766~5878 &fk~1187093766~5879) (&fk~1187093766~5879))) &template~1187093766~5855 (lambda (&id~1187093766~5886) ((lambda (&binding~1187093766~5889) ((lambda (&t~1187093766~5893) (if &t~1187093766~5893 ((lambda (&pdim~1187093766~5896) (if (<= &pdim~1187093766~5896 &dim~1187093766~5856) (begin (&check-binding-level~1187093766~2124 &id~1187093766~5886 &binding~1187093766~5889) (®ister-use!~1187093766~2183 &id~1187093766~5886 &binding~1187093766~5889) (&binding-name~1187093766~2114 &binding~1187093766~5889)) (&syntax-violation~1187093766~2207 'syntax "Template dimension error (too few ...'s?)" &id~1187093766~5886))) &t~1187093766~5893) (begin (&syntax-reflect~1187093766~2135 &id~1187093766~5886)))) (if &binding~1187093766~5889 (if (eq? (&binding-type~1187093766~2113 &binding~1187093766~5889) 'pattern-variable) (&binding-dimension~1187093766~2117 &binding~1187093766~5889) #f) #f))) (&binding~1187093766~2120 &id~1187093766~5886))) (lambda () ((lambda (&x~1187093766~5918 &sk~1187093766~5919 &fk~1187093766~5920) (if (pair? &x~1187093766~5918) ((lambda (&x~1187093766~5923 &sk~1187093766~5924 &fk~1187093766~5925) (if (ex:free=? &x~1187093766~5923 '...) (&sk~1187093766~5924) (&fk~1187093766~5925))) (car &x~1187093766~5918) (lambda () ((lambda (&x~1187093766~5930 &sk~1187093766~5931 &fk~1187093766~5932) (if (pair? &x~1187093766~5930) ((lambda (&x~1187093766~5935 &sk~1187093766~5936 &fk~1187093766~5937) (&sk~1187093766~5936 &x~1187093766~5935)) (car &x~1187093766~5930) (lambda (&p~1187093766~5939) ((lambda (&x~1187093766~5941 &sk~1187093766~5942 &fk~1187093766~5943) (if (null? &x~1187093766~5941) (&sk~1187093766~5942) (&fk~1187093766~5943))) (cdr &x~1187093766~5930) (lambda () (&sk~1187093766~5931 &p~1187093766~5939)) &fk~1187093766~5932)) &fk~1187093766~5932) (&fk~1187093766~5932))) (cdr &x~1187093766~5918) (lambda (&p~1187093766~5947) (&sk~1187093766~5919 &p~1187093766~5947)) &fk~1187093766~5920)) &fk~1187093766~5920) (&fk~1187093766~5920))) &template~1187093766~5855 (lambda (&p~1187093766~5949) (&process-template~1187093766~2178 &p~1187093766~5949 &dim~1187093766~5856 #t)) (lambda () ((lambda (&x~1187093766~5965 &sk~1187093766~5966 &fk~1187093766~5967) (if ((lambda (&_~1187093766~5970) (not &ellipses-quoted?~1187093766~5857)) &x~1187093766~5965) ((lambda (&x~1187093766~5972 &sk~1187093766~5973 &fk~1187093766~5974) (if (pair? &x~1187093766~5972) ((lambda (&x~1187093766~5977 &sk~1187093766~5978 &fk~1187093766~5979) (&sk~1187093766~5978 &x~1187093766~5977)) (car &x~1187093766~5972) (lambda (&t~1187093766~5981) ((lambda (&x~1187093766~5983 &sk~1187093766~5984 &fk~1187093766~5985) (if (pair? &x~1187093766~5983) ((lambda (&x~1187093766~5988 &sk~1187093766~5989 &fk~1187093766~5990) (if (ex:free=? &x~1187093766~5988 '...) (&sk~1187093766~5989) (&fk~1187093766~5990))) (car &x~1187093766~5983) (lambda () ((lambda (&x~1187093766~5995 &sk~1187093766~5996 &fk~1187093766~5997) (&sk~1187093766~5996 &x~1187093766~5995)) (cdr &x~1187093766~5983) (lambda (&tail~1187093766~5999) (&sk~1187093766~5984 &tail~1187093766~5999)) &fk~1187093766~5985)) &fk~1187093766~5985) (&fk~1187093766~5985))) (cdr &x~1187093766~5972) (lambda (&tail~1187093766~6001) (&sk~1187093766~5973 &t~1187093766~5981 &tail~1187093766~6001)) &fk~1187093766~5974)) &fk~1187093766~5974) (&fk~1187093766~5974))) &x~1187093766~5965 &sk~1187093766~5966 &fk~1187093766~5967) (&fk~1187093766~5967))) &template~1187093766~5855 (lambda (&t~1187093766~6003 &tail~1187093766~6004) ((lambda (&depth~1187093766~6008) ((lambda (&seg-dim~1187093766~6011) ((lambda (&vars~1187093766~6014) (if (null? &vars~1187093766~6014) (&syntax-violation~1187093766~2207 'syntax "Too many ...'s" &template~1187093766~5855) ((lambda (&x~1187093766~6020) ((lambda (&gen~1187093766~6023) ((lambda (&gen~1187093766~6026) (if (null? (&segment-tail~1187093766~2181 &template~1187093766~5855)) &gen~1187093766~6026 (list 'append &gen~1187093766~6026 (&process-template~1187093766~2178 (&segment-tail~1187093766~2181 &template~1187093766~5855) &dim~1187093766~5856 &ellipses-quoted?~1187093766~5857)))) (do ((d &depth~1187093766~6008 (- d 1)) (&gen~1187093766~6023 &gen~1187093766~6023 (list 'apply 'append &gen~1187093766~6023))) ((= d 1) &gen~1187093766~6023)))) (if (equal? (list &x~1187093766~6020) &vars~1187093766~6014) &x~1187093766~6020 (cons 'map (cons (list 'lambda &vars~1187093766~6014 &x~1187093766~6020) &vars~1187093766~6014))))) (&process-template~1187093766~2178 &t~1187093766~6003 &seg-dim~1187093766~6011 &ellipses-quoted?~1187093766~5857)))) (map (lambda (&mapping~1187093766~6038) ((lambda (&id~1187093766~6041 &binding~1187093766~6042) (&check-binding-level~1187093766~2124 &id~1187093766~6041 &binding~1187093766~6042) (®ister-use!~1187093766~2183 &id~1187093766~6041 &binding~1187093766~6042) (&binding-name~1187093766~2114 &binding~1187093766~6042)) (car &mapping~1187093766~6038) (cdr &mapping~1187093766~6038))) (&free-meta-variables~1187093766~2179 &t~1187093766~6003 &seg-dim~1187093766~6011 '())))) (+ &dim~1187093766~5856 &depth~1187093766~6008))) (&segment-depth~1187093766~2180 &template~1187093766~5855))) (lambda () ((lambda (&x~1187093766~6053 &sk~1187093766~6054 &fk~1187093766~6055) (if (pair? &x~1187093766~6053) ((lambda (&x~1187093766~6058 &sk~1187093766~6059 &fk~1187093766~6060) (&sk~1187093766~6059 &x~1187093766~6058)) (car &x~1187093766~6053) (lambda (&t1~1187093766~6062) ((lambda (&x~1187093766~6064 &sk~1187093766~6065 &fk~1187093766~6066) (&sk~1187093766~6065 &x~1187093766~6064)) (cdr &x~1187093766~6053) (lambda (&t2~1187093766~6068) (&sk~1187093766~6054 &t1~1187093766~6062 &t2~1187093766~6068)) &fk~1187093766~6055)) &fk~1187093766~6055) (&fk~1187093766~6055))) &template~1187093766~5855 (lambda (&t1~1187093766~6070 &t2~1187093766~6071) (list 'cons (&process-template~1187093766~2178 &t1~1187093766~6070 &dim~1187093766~5856 &ellipses-quoted?~1187093766~5857) (&process-template~1187093766~2178 &t2~1187093766~6071 &dim~1187093766~5856 &ellipses-quoted?~1187093766~5857))) (lambda () ((lambda (&x~1187093766~6083 &sk~1187093766~6084 &fk~1187093766~6085) (if (vector? &x~1187093766~6083) ((lambda (&x~1187093766~6088 &sk~1187093766~6089 &fk~1187093766~6090) (((lambda (&loop~1187093766~6096) ((lambda (&temp~1187093766~6099) (set! &loop~1187093766~6096 &temp~1187093766~6099) ((lambda () &loop~1187093766~6096))) (lambda (&x~1187093766~6104 &result~1187093766~6105) ((lambda (&match-tail~1187093766~6106) (set! &match-tail~1187093766~6106 (lambda () ((lambda (&x~1187093766~6124 &sk~1187093766~6125 &fk~1187093766~6126) (if (null? &x~1187093766~6124) (&sk~1187093766~6125) (&fk~1187093766~6126))) &x~1187093766~6104 (lambda () (apply &sk~1187093766~6089 (if (null? &result~1187093766~6105) (map (lambda (&ignore~1187093766~6131) '()) '(ts)) (apply map list (reverse &result~1187093766~6105))))) (lambda () ((lambda (&x~1187093766~6139 &sk~1187093766~6140 &fk~1187093766~6141) (&sk~1187093766~6140)) &x~1187093766~6104 (lambda () (&fk~1187093766~6090)) (lambda () (invalid-form &x~1187093766~6104))))))) (if (null? &x~1187093766~6104) (begin (&match-tail~1187093766~6106)) (if (pair? &x~1187093766~6104) (begin ((lambda (&x~1187093766~6113 &sk~1187093766~6114 &fk~1187093766~6115) (&sk~1187093766~6114 &x~1187093766~6113)) (car &x~1187093766~6104) (lambda &car-vars~1187093766~6117 (&loop~1187093766~6096 (cdr &x~1187093766~6104) (cons &car-vars~1187093766~6117 &result~1187093766~6105))) &match-tail~1187093766~6106)) (begin (&fk~1187093766~6090))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~6088 '())) (vector->list &x~1187093766~6083) &sk~1187093766~6084 &fk~1187093766~6085) (&fk~1187093766~6085))) &template~1187093766~5855 (lambda (&ts~1187093766~6147) (list 'list->vector (&process-template~1187093766~2178 &ts~1187093766~6147 &dim~1187093766~5856 &ellipses-quoted?~1187093766~5857))) (lambda () ((lambda (&x~1187093766~6155 &sk~1187093766~6156 &fk~1187093766~6157) (&sk~1187093766~6156 &x~1187093766~6155)) &template~1187093766~5855 (lambda (&other~1187093766~6159) (list 'quote (&expand~1187093766~2151 &other~1187093766~6159))) (lambda () (invalid-form &template~1187093766~5855))))))))))))))))) (set! &free-meta-variables~1187093766~2179 (lambda (&template~1187093766~5662 &dim~1187093766~5663 &free~1187093766~5664) ((lambda (&x~1187093766~5671 &sk~1187093766~5672 &fk~1187093766~5673) (if (&identifier?~1187093766~2099 &x~1187093766~5671) ((lambda (&x~1187093766~5676 &sk~1187093766~5677 &fk~1187093766~5678) (&sk~1187093766~5677 &x~1187093766~5676)) &x~1187093766~5671 &sk~1187093766~5672 &fk~1187093766~5673) (&fk~1187093766~5673))) &template~1187093766~5662 (lambda (&id~1187093766~5680) (if (memp (lambda (&x~1187093766~5683) (&bound-identifier=?~1187093766~2106 (car &x~1187093766~5683) &id~1187093766~5680)) &free~1187093766~5664) &free~1187093766~5664 ((lambda (&binding~1187093766~5686) (if (if &binding~1187093766~5686 (if (eq? (&binding-type~1187093766~2113 &binding~1187093766~5686) 'pattern-variable) ((lambda (&pdim~1187093766~5694) (>= &pdim~1187093766~5694 &dim~1187093766~5663)) (&binding-dimension~1187093766~2117 &binding~1187093766~5686)) #f) #f) (cons (cons &id~1187093766~5680 &binding~1187093766~5686) &free~1187093766~5664) &free~1187093766~5664)) (&binding~1187093766~2120 &id~1187093766~5680)))) (lambda () ((lambda (&x~1187093766~5708 &sk~1187093766~5709 &fk~1187093766~5710) (if (pair? &x~1187093766~5708) ((lambda (&x~1187093766~5713 &sk~1187093766~5714 &fk~1187093766~5715) (&sk~1187093766~5714 &x~1187093766~5713)) (car &x~1187093766~5708) (lambda (&t~1187093766~5717) ((lambda (&x~1187093766~5719 &sk~1187093766~5720 &fk~1187093766~5721) (if (pair? &x~1187093766~5719) ((lambda (&x~1187093766~5724 &sk~1187093766~5725 &fk~1187093766~5726) (if (ex:free=? &x~1187093766~5724 '...) (&sk~1187093766~5725) (&fk~1187093766~5726))) (car &x~1187093766~5719) (lambda () ((lambda (&x~1187093766~5731 &sk~1187093766~5732 &fk~1187093766~5733) (&sk~1187093766~5732 &x~1187093766~5731)) (cdr &x~1187093766~5719) (lambda (&tail~1187093766~5735) (&sk~1187093766~5720 &tail~1187093766~5735)) &fk~1187093766~5721)) &fk~1187093766~5721) (&fk~1187093766~5721))) (cdr &x~1187093766~5708) (lambda (&tail~1187093766~5737) (&sk~1187093766~5709 &t~1187093766~5717 &tail~1187093766~5737)) &fk~1187093766~5710)) &fk~1187093766~5710) (&fk~1187093766~5710))) &template~1187093766~5662 (lambda (&t~1187093766~5739 &tail~1187093766~5740) (&free-meta-variables~1187093766~2179 &t~1187093766~5739 &dim~1187093766~5663 (&free-meta-variables~1187093766~2179 &tail~1187093766~5740 &dim~1187093766~5663 &free~1187093766~5664))) (lambda () ((lambda (&x~1187093766~5750 &sk~1187093766~5751 &fk~1187093766~5752) (if (pair? &x~1187093766~5750) ((lambda (&x~1187093766~5755 &sk~1187093766~5756 &fk~1187093766~5757) (&sk~1187093766~5756 &x~1187093766~5755)) (car &x~1187093766~5750) (lambda (&t1~1187093766~5759) ((lambda (&x~1187093766~5761 &sk~1187093766~5762 &fk~1187093766~5763) (&sk~1187093766~5762 &x~1187093766~5761)) (cdr &x~1187093766~5750) (lambda (&t2~1187093766~5765) (&sk~1187093766~5751 &t1~1187093766~5759 &t2~1187093766~5765)) &fk~1187093766~5752)) &fk~1187093766~5752) (&fk~1187093766~5752))) &template~1187093766~5662 (lambda (&t1~1187093766~5767 &t2~1187093766~5768) (&free-meta-variables~1187093766~2179 &t1~1187093766~5767 &dim~1187093766~5663 (&free-meta-variables~1187093766~2179 &t2~1187093766~5768 &dim~1187093766~5663 &free~1187093766~5664))) (lambda () ((lambda (&x~1187093766~5778 &sk~1187093766~5779 &fk~1187093766~5780) (if (vector? &x~1187093766~5778) ((lambda (&x~1187093766~5783 &sk~1187093766~5784 &fk~1187093766~5785) (((lambda (&loop~1187093766~5791) ((lambda (&temp~1187093766~5794) (set! &loop~1187093766~5791 &temp~1187093766~5794) ((lambda () &loop~1187093766~5791))) (lambda (&x~1187093766~5799 &result~1187093766~5800) ((lambda (&match-tail~1187093766~5801) (set! &match-tail~1187093766~5801 (lambda () ((lambda (&x~1187093766~5819 &sk~1187093766~5820 &fk~1187093766~5821) (if (null? &x~1187093766~5819) (&sk~1187093766~5820) (&fk~1187093766~5821))) &x~1187093766~5799 (lambda () (apply &sk~1187093766~5784 (if (null? &result~1187093766~5800) (map (lambda (&ignore~1187093766~5826) '()) '(ts)) (apply map list (reverse &result~1187093766~5800))))) (lambda () ((lambda (&x~1187093766~5834 &sk~1187093766~5835 &fk~1187093766~5836) (&sk~1187093766~5835)) &x~1187093766~5799 (lambda () (&fk~1187093766~5785)) (lambda () (invalid-form &x~1187093766~5799))))))) (if (null? &x~1187093766~5799) (begin (&match-tail~1187093766~5801)) (if (pair? &x~1187093766~5799) (begin ((lambda (&x~1187093766~5808 &sk~1187093766~5809 &fk~1187093766~5810) (&sk~1187093766~5809 &x~1187093766~5808)) (car &x~1187093766~5799) (lambda &car-vars~1187093766~5812 (&loop~1187093766~5791 (cdr &x~1187093766~5799) (cons &car-vars~1187093766~5812 &result~1187093766~5800))) &match-tail~1187093766~5801)) (begin (&fk~1187093766~5785))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~5783 '())) (vector->list &x~1187093766~5778) &sk~1187093766~5779 &fk~1187093766~5780) (&fk~1187093766~5780))) &template~1187093766~5662 (lambda (&ts~1187093766~5842) (&free-meta-variables~1187093766~2179 &ts~1187093766~5842 &dim~1187093766~5663 &free~1187093766~5664)) (lambda () ((lambda (&x~1187093766~5848 &sk~1187093766~5849 &fk~1187093766~5850) (&sk~1187093766~5849)) &template~1187093766~5662 (lambda () &free~1187093766~5664) (lambda () (invalid-form &template~1187093766~5662))))))))))))) (set! &segment-depth~1187093766~2180 (lambda (&pattern~1187093766~5604) ((lambda (&x~1187093766~5617 &sk~1187093766~5618 &fk~1187093766~5619) (if (pair? &x~1187093766~5617) ((lambda (&x~1187093766~5622 &sk~1187093766~5623 &fk~1187093766~5624) (&sk~1187093766~5623 &x~1187093766~5622)) (car &x~1187093766~5617) (lambda (&p~1187093766~5626) ((lambda (&x~1187093766~5628 &sk~1187093766~5629 &fk~1187093766~5630) (if (pair? &x~1187093766~5628) ((lambda (&x~1187093766~5633 &sk~1187093766~5634 &fk~1187093766~5635) (if (ex:free=? &x~1187093766~5633 '...) (&sk~1187093766~5634) (&fk~1187093766~5635))) (car &x~1187093766~5628) (lambda () ((lambda (&x~1187093766~5640 &sk~1187093766~5641 &fk~1187093766~5642) (&sk~1187093766~5641 &x~1187093766~5640)) (cdr &x~1187093766~5628) (lambda (&rest~1187093766~5644) (&sk~1187093766~5629 &rest~1187093766~5644)) &fk~1187093766~5630)) &fk~1187093766~5630) (&fk~1187093766~5630))) (cdr &x~1187093766~5617) (lambda (&rest~1187093766~5646) (&sk~1187093766~5618 &p~1187093766~5626 &rest~1187093766~5646)) &fk~1187093766~5619)) &fk~1187093766~5619) (&fk~1187093766~5619))) &pattern~1187093766~5604 (lambda (&p~1187093766~5648 &rest~1187093766~5649) (+ 1 (&segment-depth~1187093766~2180 (cdr &pattern~1187093766~5604)))) (lambda () ((lambda (&x~1187093766~5655 &sk~1187093766~5656 &fk~1187093766~5657) (&sk~1187093766~5656)) &pattern~1187093766~5604 (lambda () 0) (lambda () (invalid-form &pattern~1187093766~5604))))))) (set! &segment-tail~1187093766~2181 (lambda (&pattern~1187093766~5550) (((lambda (&loop~1187093766~5556) ((lambda (&temp~1187093766~5559) (set! &loop~1187093766~5556 &temp~1187093766~5559) ((lambda () &loop~1187093766~5556))) (lambda (&pattern~1187093766~5564) ((lambda (&x~1187093766~5573 &sk~1187093766~5574 &fk~1187093766~5575) (if (pair? &x~1187093766~5573) ((lambda (&x~1187093766~5578 &sk~1187093766~5579 &fk~1187093766~5580) (if (ex:free=? &x~1187093766~5578 '...) (&sk~1187093766~5579) (&fk~1187093766~5580))) (car &x~1187093766~5573) (lambda () ((lambda (&x~1187093766~5585 &sk~1187093766~5586 &fk~1187093766~5587) (&sk~1187093766~5586 &x~1187093766~5585)) (cdr &x~1187093766~5573) (lambda (&tail~1187093766~5589) (&sk~1187093766~5574 &tail~1187093766~5589)) &fk~1187093766~5575)) &fk~1187093766~5575) (&fk~1187093766~5575))) &pattern~1187093766~5564 (lambda (&tail~1187093766~5591) (&loop~1187093766~5556 &tail~1187093766~5591)) (lambda () ((lambda (&x~1187093766~5597 &sk~1187093766~5598 &fk~1187093766~5599) (&sk~1187093766~5598)) &pattern~1187093766~5564 (lambda () &pattern~1187093766~5564) (lambda () (invalid-form &pattern~1187093766~5564)))))))) &unspecified~1187093766~179) (cdr &pattern~1187093766~5550)))) (set! &add-fresh-used-frame!~1187093766~2182 (lambda () (set! &*used*~1187093766~2086 (cons '() &*used*~1187093766~2086)))) (set! ®ister-use!~1187093766~2183 (lambda (&id~1187093766~5543 &binding~1187093766~5544) (set! &*used*~1187093766~2086 (cons (cons (cons &id~1187093766~5543 &binding~1187093766~5544) (car &*used*~1187093766~2086)) (cdr &*used*~1187093766~2086))))) (set! &merge-used-with-parent-frame!~1187093766~2184 (lambda () (set! &*used*~1187093766~2086 (cons (append (car &*used*~1187093766~2086) (cadr &*used*~1187093766~2086)) (cddr &*used*~1187093766~2086))))) (set! &check-used~1187093766~2185 (lambda (&id~1187093766~5521 &body-type~1187093766~5522 &form~1187093766~5523) (if (not (eq? &body-type~1187093766~5522 'toplevel)) ((lambda (&already-used~1187093766~5530) ((lambda (&binding~1187093766~5533) (if (memp (lambda (&mapping~1187093766~5536) (if (eq? &binding~1187093766~5533 (cdr &mapping~1187093766~5536)) (&bound-identifier=?~1187093766~2106 &id~1187093766~5521 (car &mapping~1187093766~5536)) #f)) &already-used~1187093766~5530) (&syntax-violation~1187093766~2207 'definition "Definition of identifier that may have already affected meaning of undeferred portions of body" &form~1187093766~5523 &id~1187093766~5521))) (&binding~1187093766~2120 &id~1187093766~5521))) (car &*used*~1187093766~2086)) #f))) (set! &expand-program~1187093766~2186 (lambda (&t~1187093766~5410) ((lambda (&x~1187093766~5425 &sk~1187093766~5426 &fk~1187093766~5427) (if (pair? &x~1187093766~5425) ((lambda (&x~1187093766~5430 &sk~1187093766~5431 &fk~1187093766~5432) (&sk~1187093766~5431 &x~1187093766~5430)) (car &x~1187093766~5425) (lambda (&program~1187093766~5434) ((lambda (&x~1187093766~5436 &sk~1187093766~5437 &fk~1187093766~5438) (if (pair? &x~1187093766~5436) ((lambda (&x~1187093766~5441 &sk~1187093766~5442 &fk~1187093766~5443) (&sk~1187093766~5442 &x~1187093766~5441)) (car &x~1187093766~5436) (lambda (&import-clause~1187093766~5445) ((lambda (&x~1187093766~5447 &sk~1187093766~5448 &fk~1187093766~5449) (((lambda (&loop~1187093766~5455) ((lambda (&temp~1187093766~5458) (set! &loop~1187093766~5455 &temp~1187093766~5458) ((lambda () &loop~1187093766~5455))) (lambda (&x~1187093766~5463 &result~1187093766~5464) ((lambda (&match-tail~1187093766~5465) (set! &match-tail~1187093766~5465 (lambda () ((lambda (&x~1187093766~5483 &sk~1187093766~5484 &fk~1187093766~5485) (if (null? &x~1187093766~5483) (&sk~1187093766~5484) (&fk~1187093766~5485))) &x~1187093766~5463 (lambda () (apply &sk~1187093766~5448 (if (null? &result~1187093766~5464) (map (lambda (&ignore~1187093766~5490) '()) '(forms)) (apply map list (reverse &result~1187093766~5464))))) (lambda () ((lambda (&x~1187093766~5498 &sk~1187093766~5499 &fk~1187093766~5500) (&sk~1187093766~5499)) &x~1187093766~5463 (lambda () (&fk~1187093766~5449)) (lambda () (invalid-form &x~1187093766~5463))))))) (if (null? &x~1187093766~5463) (begin (&match-tail~1187093766~5465)) (if (pair? &x~1187093766~5463) (begin ((lambda (&x~1187093766~5472 &sk~1187093766~5473 &fk~1187093766~5474) (&sk~1187093766~5473 &x~1187093766~5472)) (car &x~1187093766~5463) (lambda &car-vars~1187093766~5476 (&loop~1187093766~5455 (cdr &x~1187093766~5463) (cons &car-vars~1187093766~5476 &result~1187093766~5464))) &match-tail~1187093766~5465)) (begin (&fk~1187093766~5449))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~5447 '())) (cdr &x~1187093766~5436) (lambda (&forms~1187093766~5506) (&sk~1187093766~5437 &import-clause~1187093766~5445 &forms~1187093766~5506)) &fk~1187093766~5438)) &fk~1187093766~5438) (&fk~1187093766~5438))) (cdr &x~1187093766~5425) (lambda (&import-clause~1187093766~5508 &forms~1187093766~5509) (&sk~1187093766~5426 &program~1187093766~5434 &import-clause~1187093766~5508 &forms~1187093766~5509)) &fk~1187093766~5427)) &fk~1187093766~5427) (&fk~1187093766~5427))) &t~1187093766~5410 (lambda (&program~1187093766~5511 &import-clause~1187093766~5512 &forms~1187093766~5513) (&expand-library-or-program~1187093766~2188 (cons &program~1187093766~5511 (cons (list (&datum->syntax~1187093766~2137 &program~1187093766~5511 (&generate-guid~1187093766~2109 'program))) (cons (list (&datum->syntax~1187093766~2137 &program~1187093766~5511 'export)) (cons &import-clause~1187093766~5512 &forms~1187093766~5513)))) 'program)) (lambda () (invalid-form &t~1187093766~5410))))) (set! &expand-library~1187093766~2187 (lambda (&t~1187093766~5407) (&expand-library-or-program~1187093766~2188 &t~1187093766~5407 'library))) (set! &expand-library-or-program~1187093766~2188 (lambda (&t~1187093766~4967 &library-type~1187093766~4968) ((lambda (&x~1187093766~5003 &sk~1187093766~5004 &fk~1187093766~5005) (if (pair? &x~1187093766~5003) ((lambda (&x~1187093766~5008 &sk~1187093766~5009 &fk~1187093766~5010) (&sk~1187093766~5009 &x~1187093766~5008)) (car &x~1187093766~5003) (lambda (&keyword~1187093766~5012) ((lambda (&x~1187093766~5014 &sk~1187093766~5015 &fk~1187093766~5016) (if (pair? &x~1187093766~5014) ((lambda (&x~1187093766~5019 &sk~1187093766~5020 &fk~1187093766~5021) (&sk~1187093766~5020 &x~1187093766~5019)) (car &x~1187093766~5014) (lambda (&name~1187093766~5023) ((lambda (&x~1187093766~5025 &sk~1187093766~5026 &fk~1187093766~5027) (if (pair? &x~1187093766~5025) ((lambda (&x~1187093766~5030 &sk~1187093766~5031 &fk~1187093766~5032) (if (pair? &x~1187093766~5030) ((lambda (&x~1187093766~5035 &sk~1187093766~5036 &fk~1187093766~5037) (if (ex:free=? &x~1187093766~5035 'export) (&sk~1187093766~5036) (&fk~1187093766~5037))) (car &x~1187093766~5030) (lambda () ((lambda (&x~1187093766~5042 &sk~1187093766~5043 &fk~1187093766~5044) (((lambda (&loop~1187093766~5050) ((lambda (&temp~1187093766~5053) (set! &loop~1187093766~5050 &temp~1187093766~5053) ((lambda () &loop~1187093766~5050))) (lambda (&x~1187093766~5058 &result~1187093766~5059) ((lambda (&match-tail~1187093766~5060) (set! &match-tail~1187093766~5060 (lambda () ((lambda (&x~1187093766~5078 &sk~1187093766~5079 &fk~1187093766~5080) (if (null? &x~1187093766~5078) (&sk~1187093766~5079) (&fk~1187093766~5080))) &x~1187093766~5058 (lambda () (apply &sk~1187093766~5043 (if (null? &result~1187093766~5059) (map (lambda (&ignore~1187093766~5085) '()) '(sets)) (apply map list (reverse &result~1187093766~5059))))) (lambda () ((lambda (&x~1187093766~5093 &sk~1187093766~5094 &fk~1187093766~5095) (&sk~1187093766~5094)) &x~1187093766~5058 (lambda () (&fk~1187093766~5044)) (lambda () (invalid-form &x~1187093766~5058))))))) (if (null? &x~1187093766~5058) (begin (&match-tail~1187093766~5060)) (if (pair? &x~1187093766~5058) (begin ((lambda (&x~1187093766~5067 &sk~1187093766~5068 &fk~1187093766~5069) (&sk~1187093766~5068 &x~1187093766~5067)) (car &x~1187093766~5058) (lambda &car-vars~1187093766~5071 (&loop~1187093766~5050 (cdr &x~1187093766~5058) (cons &car-vars~1187093766~5071 &result~1187093766~5059))) &match-tail~1187093766~5060)) (begin (&fk~1187093766~5044))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~5042 '())) (cdr &x~1187093766~5030) (lambda (&sets~1187093766~5101) (&sk~1187093766~5031 &sets~1187093766~5101)) &fk~1187093766~5032)) &fk~1187093766~5032) (&fk~1187093766~5032))) (car &x~1187093766~5025) (lambda (&sets~1187093766~5103) ((lambda (&x~1187093766~5105 &sk~1187093766~5106 &fk~1187093766~5107) (if (pair? &x~1187093766~5105) ((lambda (&x~1187093766~5110 &sk~1187093766~5111 &fk~1187093766~5112) (if (pair? &x~1187093766~5110) ((lambda (&x~1187093766~5115 &sk~1187093766~5116 &fk~1187093766~5117) (if (ex:free=? &x~1187093766~5115 'import) (&sk~1187093766~5116) (&fk~1187093766~5117))) (car &x~1187093766~5110) (lambda () ((lambda (&x~1187093766~5122 &sk~1187093766~5123 &fk~1187093766~5124) (((lambda (&loop~1187093766~5130) ((lambda (&temp~1187093766~5133) (set! &loop~1187093766~5130 &temp~1187093766~5133) ((lambda () &loop~1187093766~5130))) (lambda (&x~1187093766~5138 &result~1187093766~5139) ((lambda (&match-tail~1187093766~5140) (set! &match-tail~1187093766~5140 (lambda () ((lambda (&x~1187093766~5158 &sk~1187093766~5159 &fk~1187093766~5160) (if (null? &x~1187093766~5158) (&sk~1187093766~5159) (&fk~1187093766~5160))) &x~1187093766~5138 (lambda () (apply &sk~1187093766~5123 (if (null? &result~1187093766~5139) (map (lambda (&ignore~1187093766~5165) '()) '(specs)) (apply map list (reverse &result~1187093766~5139))))) (lambda () ((lambda (&x~1187093766~5173 &sk~1187093766~5174 &fk~1187093766~5175) (&sk~1187093766~5174)) &x~1187093766~5138 (lambda () (&fk~1187093766~5124)) (lambda () (invalid-form &x~1187093766~5138))))))) (if (null? &x~1187093766~5138) (begin (&match-tail~1187093766~5140)) (if (pair? &x~1187093766~5138) (begin ((lambda (&x~1187093766~5147 &sk~1187093766~5148 &fk~1187093766~5149) (&sk~1187093766~5148 &x~1187093766~5147)) (car &x~1187093766~5138) (lambda &car-vars~1187093766~5151 (&loop~1187093766~5130 (cdr &x~1187093766~5138) (cons &car-vars~1187093766~5151 &result~1187093766~5139))) &match-tail~1187093766~5140)) (begin (&fk~1187093766~5124))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~5122 '())) (cdr &x~1187093766~5110) (lambda (&specs~1187093766~5181) (&sk~1187093766~5111 &specs~1187093766~5181)) &fk~1187093766~5112)) &fk~1187093766~5112) (&fk~1187093766~5112))) (car &x~1187093766~5105) (lambda (&specs~1187093766~5183) ((lambda (&x~1187093766~5185 &sk~1187093766~5186 &fk~1187093766~5187) (((lambda (&loop~1187093766~5193) ((lambda (&temp~1187093766~5196) (set! &loop~1187093766~5193 &temp~1187093766~5196) ((lambda () &loop~1187093766~5193))) (lambda (&x~1187093766~5201 &result~1187093766~5202) ((lambda (&match-tail~1187093766~5203) (set! &match-tail~1187093766~5203 (lambda () ((lambda (&x~1187093766~5221 &sk~1187093766~5222 &fk~1187093766~5223) (if (null? &x~1187093766~5221) (&sk~1187093766~5222) (&fk~1187093766~5223))) &x~1187093766~5201 (lambda () (apply &sk~1187093766~5186 (if (null? &result~1187093766~5202) (map (lambda (&ignore~1187093766~5228) '()) '(body-forms)) (apply map list (reverse &result~1187093766~5202))))) (lambda () ((lambda (&x~1187093766~5236 &sk~1187093766~5237 &fk~1187093766~5238) (&sk~1187093766~5237)) &x~1187093766~5201 (lambda () (&fk~1187093766~5187)) (lambda () (invalid-form &x~1187093766~5201))))))) (if (null? &x~1187093766~5201) (begin (&match-tail~1187093766~5203)) (if (pair? &x~1187093766~5201) (begin ((lambda (&x~1187093766~5210 &sk~1187093766~5211 &fk~1187093766~5212) (&sk~1187093766~5211 &x~1187093766~5210)) (car &x~1187093766~5201) (lambda &car-vars~1187093766~5214 (&loop~1187093766~5193 (cdr &x~1187093766~5201) (cons &car-vars~1187093766~5214 &result~1187093766~5202))) &match-tail~1187093766~5203)) (begin (&fk~1187093766~5187))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~5185 '())) (cdr &x~1187093766~5105) (lambda (&body-forms~1187093766~5244) (&sk~1187093766~5106 &specs~1187093766~5183 &body-forms~1187093766~5244)) &fk~1187093766~5107)) &fk~1187093766~5107) (&fk~1187093766~5107))) (cdr &x~1187093766~5025) (lambda (&specs~1187093766~5246 &body-forms~1187093766~5247) (&sk~1187093766~5026 &sets~1187093766~5103 &specs~1187093766~5246 &body-forms~1187093766~5247)) &fk~1187093766~5027)) &fk~1187093766~5027) (&fk~1187093766~5027))) (cdr &x~1187093766~5014) (lambda (&sets~1187093766~5249 &specs~1187093766~5250 &body-forms~1187093766~5251) (&sk~1187093766~5015 &name~1187093766~5023 &sets~1187093766~5249 &specs~1187093766~5250 &body-forms~1187093766~5251)) &fk~1187093766~5016)) &fk~1187093766~5016) (&fk~1187093766~5016))) (cdr &x~1187093766~5003) (lambda (&name~1187093766~5253 &sets~1187093766~5254 &specs~1187093766~5255 &body-forms~1187093766~5256) (&sk~1187093766~5004 &keyword~1187093766~5012 &name~1187093766~5253 &sets~1187093766~5254 &specs~1187093766~5255 &body-forms~1187093766~5256)) &fk~1187093766~5005)) &fk~1187093766~5005) (&fk~1187093766~5005))) &t~1187093766~4967 (lambda (&keyword~1187093766~5258 &name~1187093766~5259 &sets~1187093766~5260 &specs~1187093766~5261 &body-forms~1187093766~5262) ((lambda (&name~1187093766~5265) ((lambda (&exports~1187093766~5268) (call-with-values (lambda () (&scan-imports~1187093766~2194 &specs~1187093766~5261)) (lambda (&imported-libraries~1187093766~5271 &imports~1187093766~5272) ((lambda (&saved~1187093766~5276) (set! &*usage-env*~1187093766~2068 (&make-unit-env~1187093766~2126)) (call-with-values (lambda () ((lambda (&saved~1187093766~5281) (set! &*env-table*~1187093766~2080 '()) (call-with-values (lambda () ((lambda (&saved~1187093766~5286) (set! &*macro-table*~1187093766~2077 '()) (call-with-values (lambda () ((lambda (&saved~1187093766~5291) (set! &*current-library*~1187093766~2083 &name~1187093766~5265) (call-with-values (lambda () ((lambda (&saved~1187093766~5296) (set! &*syntax-reflected*~1187093766~2092 #f) (call-with-values (lambda () (&import-libraries-for-expand~1187093766~2191 &imported-libraries~1187093766~5271 (map not &imported-libraries~1187093766~5271) 0) (&env-import!~1187093766~2189 &keyword~1187093766~5258 &imports~1187093766~5272 &*usage-env*~1187093766~2068) ((lambda (&initial-env-table~1187093766~5301) (&scan-sequence~1187093766~2167 &library-type~1187093766~4968 &make-local-mapping~1187093766~2121 &body-forms~1187093766~5262 (lambda (&forms~1187093766~5303 &syntax-definitions~1187093766~5304 &bound-variables~1187093766~5305) ((lambda (&exports~1187093766~5309) ((lambda (&expanded-library~1187093766~5312) (if (eq? &library-type~1187093766~4968 'library) (eval &expanded-library~1187093766~5312)) &expanded-library~1187093766~5312) ((lambda (&t~1187093766~5318) (if (memv &t~1187093766~5318 '(program)) (begin (cons 'begin (cons (cons 'ex:import-libraries-for-run (cons (list 'quote &imported-libraries~1187093766~5271) (cons (list 'quote (¤t-builds~1187093766~2190 &imported-libraries~1187093766~5271)) '(0)))) (&emit-body~1187093766~2168 &forms~1187093766~5303 'define)))) (if (memv &t~1187093766~5318 '(library)) (begin (cons 'begin (append (map (lambda (&var~1187093766~5335) (cons 'define (cons &var~1187093766~5335 '(ex:unspecified)))) &bound-variables~1187093766~5305) (cons (list 'ex:register-library! (list 'ex:make-library (list 'quote &name~1187093766~5265) (list 'lambda '() (if &*syntax-reflected*~1187093766~2092 (list 'ex:uncompress (list 'quote (&compress~1187093766~2133 (&drop-tail~1187093766~2227 &*env-table*~1187093766~2080 &initial-env-table~1187093766~5301)))) ''())) (list 'quote &exports~1187093766~5309) (list 'quote &imported-libraries~1187093766~5271) (list 'quote (¤t-builds~1187093766~2190 &imported-libraries~1187093766~5271)) (cons 'lambda (cons '() (append (map (lambda (&def~1187093766~5356) (list 'ex:register-macro! (list 'quote (car &def~1187093766~5356)) (cdr &def~1187093766~5356))) &syntax-definitions~1187093766~5304) '((values))))) (cons 'lambda (cons '() (append (map (lambda (&var~1187093766~5364) (cons 'set! (cons &var~1187093766~5364 '(ex:undefined)))) &bound-variables~1187093766~5305) (append (&emit-body~1187093766~2168 &forms~1187093766~5303 ex:undefined-set!) '((values)))))) (list 'quote (&generate-guid~1187093766~2109 'build)))) '((values))))))))) &library-type~1187093766~4968))) (map (lambda (&mapping~1187093766~5373) (cons (&id-name~1187093766~2100 (car &mapping~1187093766~5373)) ((lambda (&binding~1187093766~5376) (let ((x &binding~1187093766~5376)) (if x x (&syntax-violation~1187093766~2207 'library "Unbound export" &t~1187093766~4967 (cadr &mapping~1187093766~5373)))) (if (&binding-mutable?~1187093766~2116 &binding~1187093766~5376) (&syntax-violation~1187093766~2207 'library "Attempt to export mutable variable" &t~1187093766~4967 (cadr &mapping~1187093766~5373))) &binding~1187093766~5376) (&binding~1187093766~2120 (cadr &mapping~1187093766~5373))))) &exports~1187093766~5268))))) &*env-table*~1187093766~2080)) (lambda &results~1187093766~5383 (set! &*syntax-reflected*~1187093766~2092 &saved~1187093766~5296) (apply values &results~1187093766~5383)))) &*syntax-reflected*~1187093766~2092)) (lambda &results~1187093766~5387 (set! &*current-library*~1187093766~2083 &saved~1187093766~5291) (apply values &results~1187093766~5387)))) &*current-library*~1187093766~2083)) (lambda &results~1187093766~5391 (set! &*macro-table*~1187093766~2077 &saved~1187093766~5286) (apply values &results~1187093766~5391)))) &*macro-table*~1187093766~2077)) (lambda &results~1187093766~5396 (set! &*env-table*~1187093766~2080 &saved~1187093766~5281) (apply values &results~1187093766~5396)))) &*env-table*~1187093766~2080)) (lambda &results~1187093766~5401 (set! &*usage-env*~1187093766~2068 &saved~1187093766~5276) (apply values &results~1187093766~5401)))) &*usage-env*~1187093766~2068)))) (&scan-exports~1187093766~2192 &sets~1187093766~5260))) (&syntax->datum~1187093766~2138 (&scan-library-name~1187093766~2199 &name~1187093766~5259)))) (lambda () (invalid-form &t~1187093766~4967))))) (set! &env-import!~1187093766~2189 (lambda (&keyword~1187093766~4961 &imports~1187093766~4962 &env~1187093766~4963) (&env-extend!~1187093766~2128 (map (lambda (&import~1187093766~4965) (cons (cons (car &import~1187093766~4965) (&id-colors~1187093766~2101 &keyword~1187093766~4961)) (cdr &import~1187093766~4965))) &imports~1187093766~4962) &env~1187093766~4963))) (set! ¤t-builds~1187093766~2190 (lambda (&imported-libraries~1187093766~4957) (map (lambda (&lib-entry~1187093766~4959) (ex:library-build (ex:lookup-library (car &lib-entry~1187093766~4959)))) &imported-libraries~1187093766~4957))) (set! &import-libraries-for-expand~1187093766~2191 (lambda (&imports~1187093766~4913 &builds~1187093766~4914 &phase~1187093766~4915) (ex:import-libraries-for &imports~1187093766~4913 &builds~1187093766~4914 &phase~1187093766~4915 (lambda (&library~1187093766~4917 &phase~1187093766~4918 &imported~1187093766~4919) (if (>= &phase~1187093766~4918 0) ((lambda (&name~1187093766~4923) (if (not (memp (lambda (&entry~1187093766~4942) (if (equal? (car &entry~1187093766~4942) &name~1187093766~4923) (>= (cdr &entry~1187093766~4942) 0) #f)) &imported~1187093766~4919)) ((lambda (&saved~1187093766~4948) (set! &*phase*~1187093766~2071 &phase~1187093766~4918) (call-with-values (lambda () (set! &*env-table*~1187093766~2080 (append ((ex:library-envs &library~1187093766~4917)) &*env-table*~1187093766~2080)) ((ex:library-visiter &library~1187093766~4917))) (lambda &results~1187093766~4953 (set! &*phase*~1187093766~2071 &saved~1187093766~4948) (apply values &results~1187093766~4953)))) &*phase*~1187093766~2071)) (if (>= &phase~1187093766~4918 1) (if (not (memp (lambda (&entry~1187093766~4927) (if (equal? (car &entry~1187093766~4927) &name~1187093766~4923) (>= (cdr &entry~1187093766~4927) 1) #f)) &imported~1187093766~4919)) ((lambda (&saved~1187093766~4933) (set! &*phase*~1187093766~2071 &phase~1187093766~4918) (call-with-values (lambda () ((ex:library-invoker &library~1187093766~4917))) (lambda &results~1187093766~4937 (set! &*phase*~1187093766~2071 &saved~1187093766~4933) (apply values &results~1187093766~4937)))) &*phase*~1187093766~2071)))) (ex:library-name &library~1187093766~4917))))))) (set! &scan-exports~1187093766~2192 (lambda (&sets~1187093766~4902) ((lambda (&exports~1187093766~4905) (&check-set?~1187093766~2225 &exports~1187093766~4905 (lambda (&x~1187093766~4907 &y~1187093766~4908) (eq? (&id-name~1187093766~2100 (car &x~1187093766~4907)) (&id-name~1187093766~2100 (car &y~1187093766~4908)))) (lambda (&dup~1187093766~4910) (&syntax-violation~1187093766~2207 'export "Duplicate export" &sets~1187093766~4902 &dup~1187093766~4910))) &exports~1187093766~4905) (apply append (map &scan-export-set~1187093766~2193 &sets~1187093766~4902))))) (set! &scan-export-set~1187093766~2193 (lambda (&set~1187093766~4730) ((lambda (&x~1187093766~4737 &sk~1187093766~4738 &fk~1187093766~4739) (if (&identifier?~1187093766~2099 &x~1187093766~4737) ((lambda (&x~1187093766~4742 &sk~1187093766~4743 &fk~1187093766~4744) (&sk~1187093766~4743 &x~1187093766~4742)) &x~1187093766~4737 &sk~1187093766~4738 &fk~1187093766~4739) (&fk~1187093766~4739))) &set~1187093766~4730 (lambda (&x~1187093766~4746) (list (cons &x~1187093766~4746 (cons &x~1187093766~4746 '(0))))) (lambda () ((lambda (&x~1187093766~4772 &sk~1187093766~4773 &fk~1187093766~4774) (if (pair? &x~1187093766~4772) ((lambda (&x~1187093766~4777 &sk~1187093766~4778 &fk~1187093766~4779) (if (ex:free=? &x~1187093766~4777 'rename) (&sk~1187093766~4778) (&fk~1187093766~4779))) (car &x~1187093766~4772) (lambda () ((lambda (&x~1187093766~4784 &sk~1187093766~4785 &fk~1187093766~4786) (((lambda (&loop~1187093766~4792) ((lambda (&temp~1187093766~4795) (set! &loop~1187093766~4792 &temp~1187093766~4795) ((lambda () &loop~1187093766~4792))) (lambda (&x~1187093766~4800 &result~1187093766~4801) ((lambda (&match-tail~1187093766~4802) (set! &match-tail~1187093766~4802 (lambda () ((lambda (&x~1187093766~4856 &sk~1187093766~4857 &fk~1187093766~4858) (if (null? &x~1187093766~4856) (&sk~1187093766~4857) (&fk~1187093766~4858))) &x~1187093766~4800 (lambda () (apply &sk~1187093766~4785 (if (null? &result~1187093766~4801) (map (lambda (&ignore~1187093766~4863) '()) '(xs ys)) (apply map list (reverse &result~1187093766~4801))))) (lambda () ((lambda (&x~1187093766~4871 &sk~1187093766~4872 &fk~1187093766~4873) (&sk~1187093766~4872)) &x~1187093766~4800 (lambda () (&fk~1187093766~4786)) (lambda () (invalid-form &x~1187093766~4800))))))) (if (null? &x~1187093766~4800) (begin (&match-tail~1187093766~4802)) (if (pair? &x~1187093766~4800) (begin ((lambda (&x~1187093766~4809 &sk~1187093766~4810 &fk~1187093766~4811) (if (pair? &x~1187093766~4809) ((lambda (&x~1187093766~4814 &sk~1187093766~4815 &fk~1187093766~4816) (if (&identifier?~1187093766~2099 &x~1187093766~4814) ((lambda (&x~1187093766~4819 &sk~1187093766~4820 &fk~1187093766~4821) (&sk~1187093766~4820 &x~1187093766~4819)) &x~1187093766~4814 &sk~1187093766~4815 &fk~1187093766~4816) (&fk~1187093766~4816))) (car &x~1187093766~4809) (lambda (&xs~1187093766~4823) ((lambda (&x~1187093766~4825 &sk~1187093766~4826 &fk~1187093766~4827) (if (pair? &x~1187093766~4825) ((lambda (&x~1187093766~4830 &sk~1187093766~4831 &fk~1187093766~4832) (if (&identifier?~1187093766~2099 &x~1187093766~4830) ((lambda (&x~1187093766~4835 &sk~1187093766~4836 &fk~1187093766~4837) (&sk~1187093766~4836 &x~1187093766~4835)) &x~1187093766~4830 &sk~1187093766~4831 &fk~1187093766~4832) (&fk~1187093766~4832))) (car &x~1187093766~4825) (lambda (&ys~1187093766~4839) ((lambda (&x~1187093766~4841 &sk~1187093766~4842 &fk~1187093766~4843) (if (null? &x~1187093766~4841) (&sk~1187093766~4842) (&fk~1187093766~4843))) (cdr &x~1187093766~4825) (lambda () (&sk~1187093766~4826 &ys~1187093766~4839)) &fk~1187093766~4827)) &fk~1187093766~4827) (&fk~1187093766~4827))) (cdr &x~1187093766~4809) (lambda (&ys~1187093766~4847) (&sk~1187093766~4810 &xs~1187093766~4823 &ys~1187093766~4847)) &fk~1187093766~4811)) &fk~1187093766~4811) (&fk~1187093766~4811))) (car &x~1187093766~4800) (lambda &car-vars~1187093766~4849 (&loop~1187093766~4792 (cdr &x~1187093766~4800) (cons &car-vars~1187093766~4849 &result~1187093766~4801))) &match-tail~1187093766~4802)) (begin (&fk~1187093766~4786))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~4784 '())) (cdr &x~1187093766~4772) (lambda (&xs~1187093766~4879 &ys~1187093766~4880) (&sk~1187093766~4773 &xs~1187093766~4879 &ys~1187093766~4880)) &fk~1187093766~4774)) &fk~1187093766~4774) (&fk~1187093766~4774))) &set~1187093766~4730 (lambda (&xs~1187093766~4882 &ys~1187093766~4883) (map (lambda (&x~1187093766~4885 &y~1187093766~4886) (cons &y~1187093766~4886 (cons &x~1187093766~4885 '(0)))) &xs~1187093766~4882 &ys~1187093766~4883)) (lambda () ((lambda (&x~1187093766~4894 &sk~1187093766~4895 &fk~1187093766~4896) (&sk~1187093766~4895)) &set~1187093766~4730 (lambda () (&syntax-violation~1187093766~2207 'export "Invalid export set" &set~1187093766~4730)) (lambda () (invalid-form &set~1187093766~4730))))))))) (set! &scan-imports~1187093766~2194 (lambda (&specs~1187093766~4703) (((lambda (&loop~1187093766~4709) ((lambda (&temp~1187093766~4712) (set! &loop~1187093766~4709 &temp~1187093766~4712) ((lambda () &loop~1187093766~4709))) (lambda (&specs~1187093766~4717 &imported-libraries~1187093766~4718 &imports~1187093766~4719) (if (null? &specs~1187093766~4717) (values &imported-libraries~1187093766~4718 (&unify-imports~1187093766~2198 &imports~1187093766~4719)) (call-with-values (lambda () (&scan-import-spec~1187093766~2195 (car &specs~1187093766~4717))) (lambda (&library-ref~1187093766~4723 &levels~1187093766~4724 &more-imports~1187093766~4725) (&loop~1187093766~4709 (cdr &specs~1187093766~4717) (if &library-ref~1187093766~4723 (cons (cons &library-ref~1187093766~4723 &levels~1187093766~4724) &imported-libraries~1187093766~4718) &imported-libraries~1187093766~4718) (append &more-imports~1187093766~4725 &imports~1187093766~4719)))))))) &unspecified~1187093766~179) &specs~1187093766~4703 '() '()))) (set! &scan-import-spec~1187093766~2195 (lambda (&spec~1187093766~3929) (call-with-values (lambda () (&scan-levels~1187093766~2196 &spec~1187093766~3929)) (lambda (&levels~1187093766~3932 &import-set~1187093766~3933) (((lambda (&loop~1187093766~3939) ((lambda (&temp~1187093766~3942) (set! &loop~1187093766~3939 &temp~1187093766~3942) ((lambda () &loop~1187093766~3939))) (lambda (&import-set~1187093766~3947 &adjuster~1187093766~3948) ((lambda (&check-presence~1187093766~3949) (set! &check-presence~1187093766~3949 (lambda (&names~1187093766~4693 &mappings~1187093766~4694 &from~1187093766~4695) (for-each (lambda (&name~1187093766~4697) (let ((x (assq &name~1187093766~4697 &mappings~1187093766~4694))) (if x x (&syntax-violation~1187093766~2207 &from~1187093766~4695 (string-append "Identifier not in set: " (&list->string~1187093766~2228 (map car &mappings~1187093766~4694) " ")) &import-set~1187093766~3947 &name~1187093766~4697)))) &names~1187093766~4693))) ((lambda (&x~1187093766~3962 &sk~1187093766~3963 &fk~1187093766~3964) (if (pair? &x~1187093766~3962) ((lambda (&x~1187093766~3967 &sk~1187093766~3968 &fk~1187093766~3969) (if (ex:free=? &x~1187093766~3967 'primitives) (&sk~1187093766~3968) (&fk~1187093766~3969))) (car &x~1187093766~3962) (lambda () ((lambda (&x~1187093766~3974 &sk~1187093766~3975 &fk~1187093766~3976) (((lambda (&loop~1187093766~3982) ((lambda (&temp~1187093766~3985) (set! &loop~1187093766~3982 &temp~1187093766~3985) ((lambda () &loop~1187093766~3982))) (lambda (&x~1187093766~3990 &result~1187093766~3991) ((lambda (&match-tail~1187093766~3992) (set! &match-tail~1187093766~3992 (lambda () ((lambda (&x~1187093766~4015 &sk~1187093766~4016 &fk~1187093766~4017) (if (null? &x~1187093766~4015) (&sk~1187093766~4016) (&fk~1187093766~4017))) &x~1187093766~3990 (lambda () (apply &sk~1187093766~3975 (if (null? &result~1187093766~3991) (map (lambda (&ignore~1187093766~4022) '()) '(xs)) (apply map list (reverse &result~1187093766~3991))))) (lambda () ((lambda (&x~1187093766~4030 &sk~1187093766~4031 &fk~1187093766~4032) (&sk~1187093766~4031)) &x~1187093766~3990 (lambda () (&fk~1187093766~3976)) (lambda () (invalid-form &x~1187093766~3990))))))) (if (null? &x~1187093766~3990) (begin (&match-tail~1187093766~3992)) (if (pair? &x~1187093766~3990) (begin ((lambda (&x~1187093766~3999 &sk~1187093766~4000 &fk~1187093766~4001) (if (&identifier?~1187093766~2099 &x~1187093766~3999) ((lambda (&x~1187093766~4004 &sk~1187093766~4005 &fk~1187093766~4006) (&sk~1187093766~4005 &x~1187093766~4004)) &x~1187093766~3999 &sk~1187093766~4000 &fk~1187093766~4001) (&fk~1187093766~4001))) (car &x~1187093766~3990) (lambda &car-vars~1187093766~4008 (&loop~1187093766~3982 (cdr &x~1187093766~3990) (cons &car-vars~1187093766~4008 &result~1187093766~3991))) &match-tail~1187093766~3992)) (begin (&fk~1187093766~3976))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~3974 '())) (cdr &x~1187093766~3962) (lambda (&xs~1187093766~4038) (&sk~1187093766~3963 &xs~1187093766~4038)) &fk~1187093766~3964)) &fk~1187093766~3964) (&fk~1187093766~3964))) &import-set~1187093766~3947 (lambda (&xs~1187093766~4040) (values #f &levels~1187093766~3932 (map (lambda (&mapping~1187093766~4042) (cons (car &mapping~1187093766~4042) (&make-binding~1187093766~2112 'variable (cdr &mapping~1187093766~4042) &levels~1187093766~3932 #f '()))) (&adjuster~1187093766~3948 (map (lambda (&name~1187093766~4046) (cons &name~1187093766~4046 &name~1187093766~4046)) (&syntax->datum~1187093766~2138 &xs~1187093766~4040)))))) (lambda () ((lambda (&x~1187093766~4064 &sk~1187093766~4065 &fk~1187093766~4066) (if (pair? &x~1187093766~4064) ((lambda (&x~1187093766~4069 &sk~1187093766~4070 &fk~1187093766~4071) (if (ex:free=? &x~1187093766~4069 'only) (&sk~1187093766~4070) (&fk~1187093766~4071))) (car &x~1187093766~4064) (lambda () ((lambda (&x~1187093766~4076 &sk~1187093766~4077 &fk~1187093766~4078) (if (pair? &x~1187093766~4076) ((lambda (&x~1187093766~4081 &sk~1187093766~4082 &fk~1187093766~4083) (&sk~1187093766~4082 &x~1187093766~4081)) (car &x~1187093766~4076) (lambda (&set~1187093766~4085) ((lambda (&x~1187093766~4087 &sk~1187093766~4088 &fk~1187093766~4089) (((lambda (&loop~1187093766~4095) ((lambda (&temp~1187093766~4098) (set! &loop~1187093766~4095 &temp~1187093766~4098) ((lambda () &loop~1187093766~4095))) (lambda (&x~1187093766~4103 &result~1187093766~4104) ((lambda (&match-tail~1187093766~4105) (set! &match-tail~1187093766~4105 (lambda () ((lambda (&x~1187093766~4128 &sk~1187093766~4129 &fk~1187093766~4130) (if (null? &x~1187093766~4128) (&sk~1187093766~4129) (&fk~1187093766~4130))) &x~1187093766~4103 (lambda () (apply &sk~1187093766~4088 (if (null? &result~1187093766~4104) (map (lambda (&ignore~1187093766~4135) '()) '(xs)) (apply map list (reverse &result~1187093766~4104))))) (lambda () ((lambda (&x~1187093766~4143 &sk~1187093766~4144 &fk~1187093766~4145) (&sk~1187093766~4144)) &x~1187093766~4103 (lambda () (&fk~1187093766~4089)) (lambda () (invalid-form &x~1187093766~4103))))))) (if (null? &x~1187093766~4103) (begin (&match-tail~1187093766~4105)) (if (pair? &x~1187093766~4103) (begin ((lambda (&x~1187093766~4112 &sk~1187093766~4113 &fk~1187093766~4114) (if (&identifier?~1187093766~2099 &x~1187093766~4112) ((lambda (&x~1187093766~4117 &sk~1187093766~4118 &fk~1187093766~4119) (&sk~1187093766~4118 &x~1187093766~4117)) &x~1187093766~4112 &sk~1187093766~4113 &fk~1187093766~4114) (&fk~1187093766~4114))) (car &x~1187093766~4103) (lambda &car-vars~1187093766~4121 (&loop~1187093766~4095 (cdr &x~1187093766~4103) (cons &car-vars~1187093766~4121 &result~1187093766~4104))) &match-tail~1187093766~4105)) (begin (&fk~1187093766~4089))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~4087 '())) (cdr &x~1187093766~4076) (lambda (&xs~1187093766~4151) (&sk~1187093766~4077 &set~1187093766~4085 &xs~1187093766~4151)) &fk~1187093766~4078)) &fk~1187093766~4078) (&fk~1187093766~4078))) (cdr &x~1187093766~4064) (lambda (&set~1187093766~4153 &xs~1187093766~4154) (&sk~1187093766~4065 &set~1187093766~4153 &xs~1187093766~4154)) &fk~1187093766~4066)) &fk~1187093766~4066) (&fk~1187093766~4066))) &import-set~1187093766~3947 (lambda (&set~1187093766~4156 &xs~1187093766~4157) ((lambda (&args~1187093766~4160) (&loop~1187093766~3939 &set~1187093766~4156 (&compose~1187093766~2229 &adjuster~1187093766~3948 (lambda (&mappings~1187093766~4162) (&check-presence~1187093766~3949 &args~1187093766~4160 &mappings~1187093766~4162 'only) (filter (lambda (&mapping~1187093766~4164) (memq (car &mapping~1187093766~4164) &args~1187093766~4160)) &mappings~1187093766~4162))))) (&syntax->datum~1187093766~2138 &xs~1187093766~4157))) (lambda () ((lambda (&x~1187093766~4183 &sk~1187093766~4184 &fk~1187093766~4185) (if (pair? &x~1187093766~4183) ((lambda (&x~1187093766~4188 &sk~1187093766~4189 &fk~1187093766~4190) (if (ex:free=? &x~1187093766~4188 'except) (&sk~1187093766~4189) (&fk~1187093766~4190))) (car &x~1187093766~4183) (lambda () ((lambda (&x~1187093766~4195 &sk~1187093766~4196 &fk~1187093766~4197) (if (pair? &x~1187093766~4195) ((lambda (&x~1187093766~4200 &sk~1187093766~4201 &fk~1187093766~4202) (&sk~1187093766~4201 &x~1187093766~4200)) (car &x~1187093766~4195) (lambda (&set~1187093766~4204) ((lambda (&x~1187093766~4206 &sk~1187093766~4207 &fk~1187093766~4208) (((lambda (&loop~1187093766~4214) ((lambda (&temp~1187093766~4217) (set! &loop~1187093766~4214 &temp~1187093766~4217) ((lambda () &loop~1187093766~4214))) (lambda (&x~1187093766~4222 &result~1187093766~4223) ((lambda (&match-tail~1187093766~4224) (set! &match-tail~1187093766~4224 (lambda () ((lambda (&x~1187093766~4247 &sk~1187093766~4248 &fk~1187093766~4249) (if (null? &x~1187093766~4247) (&sk~1187093766~4248) (&fk~1187093766~4249))) &x~1187093766~4222 (lambda () (apply &sk~1187093766~4207 (if (null? &result~1187093766~4223) (map (lambda (&ignore~1187093766~4254) '()) '(xs)) (apply map list (reverse &result~1187093766~4223))))) (lambda () ((lambda (&x~1187093766~4262 &sk~1187093766~4263 &fk~1187093766~4264) (&sk~1187093766~4263)) &x~1187093766~4222 (lambda () (&fk~1187093766~4208)) (lambda () (invalid-form &x~1187093766~4222))))))) (if (null? &x~1187093766~4222) (begin (&match-tail~1187093766~4224)) (if (pair? &x~1187093766~4222) (begin ((lambda (&x~1187093766~4231 &sk~1187093766~4232 &fk~1187093766~4233) (if (&identifier?~1187093766~2099 &x~1187093766~4231) ((lambda (&x~1187093766~4236 &sk~1187093766~4237 &fk~1187093766~4238) (&sk~1187093766~4237 &x~1187093766~4236)) &x~1187093766~4231 &sk~1187093766~4232 &fk~1187093766~4233) (&fk~1187093766~4233))) (car &x~1187093766~4222) (lambda &car-vars~1187093766~4240 (&loop~1187093766~4214 (cdr &x~1187093766~4222) (cons &car-vars~1187093766~4240 &result~1187093766~4223))) &match-tail~1187093766~4224)) (begin (&fk~1187093766~4208))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~4206 '())) (cdr &x~1187093766~4195) (lambda (&xs~1187093766~4270) (&sk~1187093766~4196 &set~1187093766~4204 &xs~1187093766~4270)) &fk~1187093766~4197)) &fk~1187093766~4197) (&fk~1187093766~4197))) (cdr &x~1187093766~4183) (lambda (&set~1187093766~4272 &xs~1187093766~4273) (&sk~1187093766~4184 &set~1187093766~4272 &xs~1187093766~4273)) &fk~1187093766~4185)) &fk~1187093766~4185) (&fk~1187093766~4185))) &import-set~1187093766~3947 (lambda (&set~1187093766~4275 &xs~1187093766~4276) ((lambda (&args~1187093766~4279) (&loop~1187093766~3939 &set~1187093766~4275 (&compose~1187093766~2229 &adjuster~1187093766~3948 (lambda (&mappings~1187093766~4281) (&check-presence~1187093766~3949 &args~1187093766~4279 &mappings~1187093766~4281 'except) (filter (lambda (&mapping~1187093766~4283) (not (memq (car &mapping~1187093766~4283) &args~1187093766~4279))) &mappings~1187093766~4281))))) (&syntax->datum~1187093766~2138 &xs~1187093766~4276))) (lambda () ((lambda (&x~1187093766~4304 &sk~1187093766~4305 &fk~1187093766~4306) (if (pair? &x~1187093766~4304) ((lambda (&x~1187093766~4309 &sk~1187093766~4310 &fk~1187093766~4311) (if (ex:free=? &x~1187093766~4309 'prefix) (&sk~1187093766~4310) (&fk~1187093766~4311))) (car &x~1187093766~4304) (lambda () ((lambda (&x~1187093766~4316 &sk~1187093766~4317 &fk~1187093766~4318) (if (pair? &x~1187093766~4316) ((lambda (&x~1187093766~4321 &sk~1187093766~4322 &fk~1187093766~4323) (&sk~1187093766~4322 &x~1187093766~4321)) (car &x~1187093766~4316) (lambda (&set~1187093766~4325) ((lambda (&x~1187093766~4327 &sk~1187093766~4328 &fk~1187093766~4329) (if (pair? &x~1187093766~4327) ((lambda (&x~1187093766~4332 &sk~1187093766~4333 &fk~1187093766~4334) (if (&identifier?~1187093766~2099 &x~1187093766~4332) ((lambda (&x~1187093766~4337 &sk~1187093766~4338 &fk~1187093766~4339) (&sk~1187093766~4338 &x~1187093766~4337)) &x~1187093766~4332 &sk~1187093766~4333 &fk~1187093766~4334) (&fk~1187093766~4334))) (car &x~1187093766~4327) (lambda (&pre~1187093766~4341) ((lambda (&x~1187093766~4343 &sk~1187093766~4344 &fk~1187093766~4345) (if (null? &x~1187093766~4343) (&sk~1187093766~4344) (&fk~1187093766~4345))) (cdr &x~1187093766~4327) (lambda () (&sk~1187093766~4328 &pre~1187093766~4341)) &fk~1187093766~4329)) &fk~1187093766~4329) (&fk~1187093766~4329))) (cdr &x~1187093766~4316) (lambda (&pre~1187093766~4349) (&sk~1187093766~4317 &set~1187093766~4325 &pre~1187093766~4349)) &fk~1187093766~4318)) &fk~1187093766~4318) (&fk~1187093766~4318))) (cdr &x~1187093766~4304) (lambda (&set~1187093766~4351 &pre~1187093766~4352) (&sk~1187093766~4305 &set~1187093766~4351 &pre~1187093766~4352)) &fk~1187093766~4306)) &fk~1187093766~4306) (&fk~1187093766~4306))) &import-set~1187093766~3947 (lambda (&set~1187093766~4354 &pre~1187093766~4355) (&loop~1187093766~3939 &set~1187093766~4354 (&compose~1187093766~2229 &adjuster~1187093766~3948 (lambda (&mappings~1187093766~4357) (map (lambda (&mapping~1187093766~4359) (cons (string->symbol (string-append (symbol->string (&syntax->datum~1187093766~2138 &pre~1187093766~4355)) (symbol->string (car &mapping~1187093766~4359)))) (cdr &mapping~1187093766~4359))) &mappings~1187093766~4357))))) (lambda () ((lambda (&x~1187093766~4387 &sk~1187093766~4388 &fk~1187093766~4389) (if (pair? &x~1187093766~4387) ((lambda (&x~1187093766~4392 &sk~1187093766~4393 &fk~1187093766~4394) (if (ex:free=? &x~1187093766~4392 'rename) (&sk~1187093766~4393) (&fk~1187093766~4394))) (car &x~1187093766~4387) (lambda () ((lambda (&x~1187093766~4399 &sk~1187093766~4400 &fk~1187093766~4401) (if (pair? &x~1187093766~4399) ((lambda (&x~1187093766~4404 &sk~1187093766~4405 &fk~1187093766~4406) (&sk~1187093766~4405 &x~1187093766~4404)) (car &x~1187093766~4399) (lambda (&set~1187093766~4408) ((lambda (&x~1187093766~4410 &sk~1187093766~4411 &fk~1187093766~4412) (((lambda (&loop~1187093766~4418) ((lambda (&temp~1187093766~4421) (set! &loop~1187093766~4418 &temp~1187093766~4421) ((lambda () &loop~1187093766~4418))) (lambda (&x~1187093766~4426 &result~1187093766~4427) ((lambda (&match-tail~1187093766~4428) (set! &match-tail~1187093766~4428 (lambda () ((lambda (&x~1187093766~4482 &sk~1187093766~4483 &fk~1187093766~4484) (if (null? &x~1187093766~4482) (&sk~1187093766~4483) (&fk~1187093766~4484))) &x~1187093766~4426 (lambda () (apply &sk~1187093766~4411 (if (null? &result~1187093766~4427) (map (lambda (&ignore~1187093766~4489) '()) '(xs ys)) (apply map list (reverse &result~1187093766~4427))))) (lambda () ((lambda (&x~1187093766~4497 &sk~1187093766~4498 &fk~1187093766~4499) (&sk~1187093766~4498)) &x~1187093766~4426 (lambda () (&fk~1187093766~4412)) (lambda () (invalid-form &x~1187093766~4426))))))) (if (null? &x~1187093766~4426) (begin (&match-tail~1187093766~4428)) (if (pair? &x~1187093766~4426) (begin ((lambda (&x~1187093766~4435 &sk~1187093766~4436 &fk~1187093766~4437) (if (pair? &x~1187093766~4435) ((lambda (&x~1187093766~4440 &sk~1187093766~4441 &fk~1187093766~4442) (if (&identifier?~1187093766~2099 &x~1187093766~4440) ((lambda (&x~1187093766~4445 &sk~1187093766~4446 &fk~1187093766~4447) (&sk~1187093766~4446 &x~1187093766~4445)) &x~1187093766~4440 &sk~1187093766~4441 &fk~1187093766~4442) (&fk~1187093766~4442))) (car &x~1187093766~4435) (lambda (&xs~1187093766~4449) ((lambda (&x~1187093766~4451 &sk~1187093766~4452 &fk~1187093766~4453) (if (pair? &x~1187093766~4451) ((lambda (&x~1187093766~4456 &sk~1187093766~4457 &fk~1187093766~4458) (if (&identifier?~1187093766~2099 &x~1187093766~4456) ((lambda (&x~1187093766~4461 &sk~1187093766~4462 &fk~1187093766~4463) (&sk~1187093766~4462 &x~1187093766~4461)) &x~1187093766~4456 &sk~1187093766~4457 &fk~1187093766~4458) (&fk~1187093766~4458))) (car &x~1187093766~4451) (lambda (&ys~1187093766~4465) ((lambda (&x~1187093766~4467 &sk~1187093766~4468 &fk~1187093766~4469) (if (null? &x~1187093766~4467) (&sk~1187093766~4468) (&fk~1187093766~4469))) (cdr &x~1187093766~4451) (lambda () (&sk~1187093766~4452 &ys~1187093766~4465)) &fk~1187093766~4453)) &fk~1187093766~4453) (&fk~1187093766~4453))) (cdr &x~1187093766~4435) (lambda (&ys~1187093766~4473) (&sk~1187093766~4436 &xs~1187093766~4449 &ys~1187093766~4473)) &fk~1187093766~4437)) &fk~1187093766~4437) (&fk~1187093766~4437))) (car &x~1187093766~4426) (lambda &car-vars~1187093766~4475 (&loop~1187093766~4418 (cdr &x~1187093766~4426) (cons &car-vars~1187093766~4475 &result~1187093766~4427))) &match-tail~1187093766~4428)) (begin (&fk~1187093766~4412))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~4410 '())) (cdr &x~1187093766~4399) (lambda (&xs~1187093766~4505 &ys~1187093766~4506) (&sk~1187093766~4400 &set~1187093766~4408 &xs~1187093766~4505 &ys~1187093766~4506)) &fk~1187093766~4401)) &fk~1187093766~4401) (&fk~1187093766~4401))) (cdr &x~1187093766~4387) (lambda (&set~1187093766~4508 &xs~1187093766~4509 &ys~1187093766~4510) (&sk~1187093766~4388 &set~1187093766~4508 &xs~1187093766~4509 &ys~1187093766~4510)) &fk~1187093766~4389)) &fk~1187093766~4389) (&fk~1187093766~4389))) &import-set~1187093766~3947 (lambda (&set~1187093766~4512 &xs~1187093766~4513 &ys~1187093766~4514) ((lambda (&args~1187093766~4517) (&loop~1187093766~3939 &set~1187093766~4512 (&compose~1187093766~2229 &adjuster~1187093766~3948 (lambda (&mappings~1187093766~4519) (&check-presence~1187093766~3949 (map car &args~1187093766~4517) &mappings~1187093766~4519 'rename) (map (lambda (&mapping~1187093766~4521) (cons ((lambda (&t~1187093766~4525) (if &t~1187093766~4525 (cadr &t~1187093766~4525) (begin (car &mapping~1187093766~4521)))) (assq (car &mapping~1187093766~4521) &args~1187093766~4517)) (cdr &mapping~1187093766~4521))) &mappings~1187093766~4519))))) (&syntax->datum~1187093766~2138 (cddr &import-set~1187093766~3947)))) (lambda () ((lambda (&x~1187093766~4538 &sk~1187093766~4539 &fk~1187093766~4540) (if (pair? &x~1187093766~4538) ((lambda (&x~1187093766~4543 &sk~1187093766~4544 &fk~1187093766~4545) (if (ex:free=? &x~1187093766~4543 'primitives) (&sk~1187093766~4544) (&fk~1187093766~4545))) (car &x~1187093766~4538) (lambda () ((lambda (&x~1187093766~4550 &sk~1187093766~4551 &fk~1187093766~4552) (&sk~1187093766~4551)) (cdr &x~1187093766~4538) (lambda () (&sk~1187093766~4539)) &fk~1187093766~4540)) &fk~1187093766~4540) (&fk~1187093766~4540))) &import-set~1187093766~3947 (lambda () (&invalid-form~1187093766~2231 &import-set~1187093766~3947)) (lambda () ((lambda (&x~1187093766~4564 &sk~1187093766~4565 &fk~1187093766~4566) (if (pair? &x~1187093766~4564) ((lambda (&x~1187093766~4569 &sk~1187093766~4570 &fk~1187093766~4571) (if (ex:free=? &x~1187093766~4569 'only) (&sk~1187093766~4570) (&fk~1187093766~4571))) (car &x~1187093766~4564) (lambda () ((lambda (&x~1187093766~4576 &sk~1187093766~4577 &fk~1187093766~4578) (&sk~1187093766~4577)) (cdr &x~1187093766~4564) (lambda () (&sk~1187093766~4565)) &fk~1187093766~4566)) &fk~1187093766~4566) (&fk~1187093766~4566))) &import-set~1187093766~3947 (lambda () (&invalid-form~1187093766~2231 &import-set~1187093766~3947)) (lambda () ((lambda (&x~1187093766~4590 &sk~1187093766~4591 &fk~1187093766~4592) (if (pair? &x~1187093766~4590) ((lambda (&x~1187093766~4595 &sk~1187093766~4596 &fk~1187093766~4597) (if (ex:free=? &x~1187093766~4595 'except) (&sk~1187093766~4596) (&fk~1187093766~4597))) (car &x~1187093766~4590) (lambda () ((lambda (&x~1187093766~4602 &sk~1187093766~4603 &fk~1187093766~4604) (&sk~1187093766~4603)) (cdr &x~1187093766~4590) (lambda () (&sk~1187093766~4591)) &fk~1187093766~4592)) &fk~1187093766~4592) (&fk~1187093766~4592))) &import-set~1187093766~3947 (lambda () (&invalid-form~1187093766~2231 &import-set~1187093766~3947)) (lambda () ((lambda (&x~1187093766~4616 &sk~1187093766~4617 &fk~1187093766~4618) (if (pair? &x~1187093766~4616) ((lambda (&x~1187093766~4621 &sk~1187093766~4622 &fk~1187093766~4623) (if (ex:free=? &x~1187093766~4621 'prefix) (&sk~1187093766~4622) (&fk~1187093766~4623))) (car &x~1187093766~4616) (lambda () ((lambda (&x~1187093766~4628 &sk~1187093766~4629 &fk~1187093766~4630) (&sk~1187093766~4629)) (cdr &x~1187093766~4616) (lambda () (&sk~1187093766~4617)) &fk~1187093766~4618)) &fk~1187093766~4618) (&fk~1187093766~4618))) &import-set~1187093766~3947 (lambda () (&invalid-form~1187093766~2231 &import-set~1187093766~3947)) (lambda () ((lambda (&x~1187093766~4642 &sk~1187093766~4643 &fk~1187093766~4644) (if (pair? &x~1187093766~4642) ((lambda (&x~1187093766~4647 &sk~1187093766~4648 &fk~1187093766~4649) (if (ex:free=? &x~1187093766~4647 'rename) (&sk~1187093766~4648) (&fk~1187093766~4649))) (car &x~1187093766~4642) (lambda () ((lambda (&x~1187093766~4654 &sk~1187093766~4655 &fk~1187093766~4656) (&sk~1187093766~4655)) (cdr &x~1187093766~4642) (lambda () (&sk~1187093766~4643)) &fk~1187093766~4644)) &fk~1187093766~4644) (&fk~1187093766~4644))) &import-set~1187093766~3947 (lambda () (&invalid-form~1187093766~2231 &import-set~1187093766~3947)) (lambda () ((lambda (&x~1187093766~4664 &sk~1187093766~4665 &fk~1187093766~4666) (&sk~1187093766~4665)) &import-set~1187093766~3947 (lambda () ((lambda (&library-ref~1187093766~4670) (if &library-ref~1187093766~4670 ((lambda (&library~1187093766~4675) ((lambda (&exports~1187093766~4678) ((lambda (&imports~1187093766~4681) (values (&syntax->datum~1187093766~2138 &library-ref~1187093766~4670) &levels~1187093766~3932 &imports~1187093766~4681)) (map (lambda (&mapping~1187093766~4683) (cons (car &mapping~1187093766~4683) ((lambda (&binding~1187093766~4686) (&make-binding~1187093766~2112 (&binding-type~1187093766~2113 &binding~1187093766~4686) (&binding-name~1187093766~2114 &binding~1187093766~4686) (&compose-levels~1187093766~2197 &levels~1187093766~3932 (&binding-levels~1187093766~2115 &binding~1187093766~4686)) (&binding-mutable?~1187093766~2116 &binding~1187093766~4686) (&binding-library~1187093766~2118 &binding~1187093766~4686))) (cdr (assq (cdr &mapping~1187093766~4683) &exports~1187093766~4678))))) (&adjuster~1187093766~3948 (map (lambda (&name~1187093766~4688) (cons &name~1187093766~4688 &name~1187093766~4688)) (map car &exports~1187093766~4678)))))) (ex:library-exports &library~1187093766~4675))) (ex:lookup-library (&syntax->datum~1187093766~2138 &library-ref~1187093766~4670))) (&syntax-violation~1187093766~2207 'import "Invalid import set" &import-set~1187093766~3947))) (&library-ref~1187093766~2200 &import-set~1187093766~3947))) (lambda () (invalid-form &import-set~1187093766~3947)))))))))))))))))))))))) ex:undefined)))) &unspecified~1187093766~179) &import-set~1187093766~3933 (lambda (&set~1187093766~4701) &set~1187093766~4701)))))) (set! &scan-levels~1187093766~2196 (lambda (&spec~1187093766~3719) ((lambda (&x~1187093766~3734 &sk~1187093766~3735 &fk~1187093766~3736) (if (pair? &x~1187093766~3734) ((lambda (&x~1187093766~3739 &sk~1187093766~3740 &fk~1187093766~3741) (if (ex:free=? &x~1187093766~3739 'for) (&sk~1187093766~3740) (&fk~1187093766~3741))) (car &x~1187093766~3734) (lambda () ((lambda (&x~1187093766~3746 &sk~1187093766~3747 &fk~1187093766~3748) (if (pair? &x~1187093766~3746) ((lambda (&x~1187093766~3751 &sk~1187093766~3752 &fk~1187093766~3753) (&sk~1187093766~3752 &x~1187093766~3751)) (car &x~1187093766~3746) (lambda (&set~1187093766~3755) ((lambda (&x~1187093766~3757 &sk~1187093766~3758 &fk~1187093766~3759) (((lambda (&loop~1187093766~3765) ((lambda (&temp~1187093766~3768) (set! &loop~1187093766~3765 &temp~1187093766~3768) ((lambda () &loop~1187093766~3765))) (lambda (&x~1187093766~3773 &result~1187093766~3774) ((lambda (&match-tail~1187093766~3775) (set! &match-tail~1187093766~3775 (lambda () ((lambda (&x~1187093766~3793 &sk~1187093766~3794 &fk~1187093766~3795) (if (null? &x~1187093766~3793) (&sk~1187093766~3794) (&fk~1187093766~3795))) &x~1187093766~3773 (lambda () (apply &sk~1187093766~3758 (if (null? &result~1187093766~3774) (map (lambda (&ignore~1187093766~3800) '()) '(levels)) (apply map list (reverse &result~1187093766~3774))))) (lambda () ((lambda (&x~1187093766~3808 &sk~1187093766~3809 &fk~1187093766~3810) (&sk~1187093766~3809)) &x~1187093766~3773 (lambda () (&fk~1187093766~3759)) (lambda () (invalid-form &x~1187093766~3773))))))) (if (null? &x~1187093766~3773) (begin (&match-tail~1187093766~3775)) (if (pair? &x~1187093766~3773) (begin ((lambda (&x~1187093766~3782 &sk~1187093766~3783 &fk~1187093766~3784) (&sk~1187093766~3783 &x~1187093766~3782)) (car &x~1187093766~3773) (lambda &car-vars~1187093766~3786 (&loop~1187093766~3765 (cdr &x~1187093766~3773) (cons &car-vars~1187093766~3786 &result~1187093766~3774))) &match-tail~1187093766~3775)) (begin (&fk~1187093766~3759))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~3757 '())) (cdr &x~1187093766~3746) (lambda (&levels~1187093766~3816) (&sk~1187093766~3747 &set~1187093766~3755 &levels~1187093766~3816)) &fk~1187093766~3748)) &fk~1187093766~3748) (&fk~1187093766~3748))) (cdr &x~1187093766~3734) (lambda (&set~1187093766~3818 &levels~1187093766~3819) (&sk~1187093766~3735 &set~1187093766~3818 &levels~1187093766~3819)) &fk~1187093766~3736)) &fk~1187093766~3736) (&fk~1187093766~3736))) &spec~1187093766~3719 (lambda (&set~1187093766~3821 &levels~1187093766~3822) ((lambda (&levels~1187093766~3825) (&check-set?~1187093766~2225 &levels~1187093766~3825 = (lambda (&dup~1187093766~3827) (&syntax-violation~1187093766~2207 'for "Repeated level in for spec" &spec~1187093766~3719 &dup~1187093766~3827))) (values &levels~1187093766~3825 &set~1187093766~3821)) (map (lambda (&level~1187093766~3830) ((lambda (&x~1187093766~3835 &sk~1187093766~3836 &fk~1187093766~3837) (if (ex:free=? &x~1187093766~3835 'run) (&sk~1187093766~3836) (&fk~1187093766~3837))) &level~1187093766~3830 (lambda () 0) (lambda () ((lambda (&x~1187093766~3846 &sk~1187093766~3847 &fk~1187093766~3848) (if (ex:free=? &x~1187093766~3846 'expand) (&sk~1187093766~3847) (&fk~1187093766~3848))) &level~1187093766~3830 (lambda () 1) (lambda () ((lambda (&x~1187093766~3867 &sk~1187093766~3868 &fk~1187093766~3869) (if (pair? &x~1187093766~3867) ((lambda (&x~1187093766~3872 &sk~1187093766~3873 &fk~1187093766~3874) (if (ex:free=? &x~1187093766~3872 'meta) (&sk~1187093766~3873) (&fk~1187093766~3874))) (car &x~1187093766~3867) (lambda () ((lambda (&x~1187093766~3879 &sk~1187093766~3880 &fk~1187093766~3881) (if (pair? &x~1187093766~3879) ((lambda (&x~1187093766~3884 &sk~1187093766~3885 &fk~1187093766~3886) (if (integer? &x~1187093766~3884) ((lambda (&x~1187093766~3889 &sk~1187093766~3890 &fk~1187093766~3891) (&sk~1187093766~3890 &x~1187093766~3889)) &x~1187093766~3884 &sk~1187093766~3885 &fk~1187093766~3886) (&fk~1187093766~3886))) (car &x~1187093766~3879) (lambda (&n~1187093766~3893) ((lambda (&x~1187093766~3895 &sk~1187093766~3896 &fk~1187093766~3897) (if (null? &x~1187093766~3895) (&sk~1187093766~3896) (&fk~1187093766~3897))) (cdr &x~1187093766~3879) (lambda () (&sk~1187093766~3880 &n~1187093766~3893)) &fk~1187093766~3881)) &fk~1187093766~3881) (&fk~1187093766~3881))) (cdr &x~1187093766~3867) (lambda (&n~1187093766~3901) (&sk~1187093766~3868 &n~1187093766~3901)) &fk~1187093766~3869)) &fk~1187093766~3869) (&fk~1187093766~3869))) &level~1187093766~3830 (lambda (&n~1187093766~3903) &n~1187093766~3903) (lambda () ((lambda (&x~1187093766~3909 &sk~1187093766~3910 &fk~1187093766~3911) (&sk~1187093766~3910)) &level~1187093766~3830 (lambda () (&syntax-violation~1187093766~2207 'for "Invalid level in for spec" &spec~1187093766~3719 &level~1187093766~3830)) (lambda () (invalid-form &level~1187093766~3830)))))))))) &levels~1187093766~3822))) (lambda () ((lambda (&x~1187093766~3921 &sk~1187093766~3922 &fk~1187093766~3923) (&sk~1187093766~3922)) &spec~1187093766~3719 (lambda () (values '(0) &spec~1187093766~3719)) (lambda () (invalid-form &spec~1187093766~3719))))))) (set! &compose-levels~1187093766~2197 (lambda (&levels~1187093766~3712 &levels*~1187093766~3713) (apply &unionv~1187093766~2226 (map (lambda (&level~1187093766~3715) (map (lambda (&level*~1187093766~3717) (+ &level~1187093766~3715 &level*~1187093766~3717)) &levels*~1187093766~3713)) &levels~1187093766~3712)))) (set! &unify-imports~1187093766~2198 (lambda (&imports~1187093766~3678) ((lambda (&seen~1187093766~3681) (((lambda (&loop~1187093766~3687) ((lambda (&temp~1187093766~3690) (set! &loop~1187093766~3687 &temp~1187093766~3690) ((lambda () &loop~1187093766~3687))) (lambda (&imports~1187093766~3695) (if (null? &imports~1187093766~3695) &seen~1187093766~3681 ((lambda (&mapping~1187093766~3700) ((lambda (&probe~1187093766~3703) (if &probe~1187093766~3703 (begin (let ((x (eq? (&binding-name~1187093766~2114 (cdr &mapping~1187093766~3700)) (&binding-name~1187093766~2114 (cdr &probe~1187093766~3703))))) (if x x (&syntax-violation~1187093766~2207 'import (string-append "Different bindings for identifier imported from libraries (" (&list->string~1187093766~2228 (&binding-library~1187093766~2118 (cdr &mapping~1187093766~3700)) " ") ") and (" (&list->string~1187093766~2228 (&binding-library~1187093766~2118 (cdr &probe~1187093766~3703)) " ") ")") (car &mapping~1187093766~3700)))) (set-cdr! &probe~1187093766~3703 (&make-binding~1187093766~2112 (&binding-type~1187093766~2113 (cdr &probe~1187093766~3703)) (&binding-name~1187093766~2114 (cdr &probe~1187093766~3703)) (&unionv~1187093766~2226 (&binding-levels~1187093766~2115 (cdr &probe~1187093766~3703)) (&binding-levels~1187093766~2115 (cdr &mapping~1187093766~3700))) (&binding-mutable?~1187093766~2116 (cdr &probe~1187093766~3703)) (&binding-library~1187093766~2118 (cdr &probe~1187093766~3703))))) (set! &seen~1187093766~3681 (cons &mapping~1187093766~3700 &seen~1187093766~3681))) (&loop~1187093766~3687 (cdr &imports~1187093766~3695))) (assq (car &mapping~1187093766~3700) &seen~1187093766~3681))) (car &imports~1187093766~3695)))))) &unspecified~1187093766~179) &imports~1187093766~3678)) '()))) (set! &scan-library-name~1187093766~2199 (lambda (&e~1187093766~3676) (&library-ref-helper~1187093766~2201 &e~1187093766~3676 &version?~1187093766~2202))) (set! &library-ref~1187093766~2200 (lambda (&e~1187093766~3593) (&library-ref-helper~1187093766~2201 ((lambda (&x~1187093766~3606 &sk~1187093766~3607 &fk~1187093766~3608) (if (pair? &x~1187093766~3606) ((lambda (&x~1187093766~3611 &sk~1187093766~3612 &fk~1187093766~3613) (if (ex:free=? &x~1187093766~3611 'library) (&sk~1187093766~3612) (&fk~1187093766~3613))) (car &x~1187093766~3606) (lambda () ((lambda (&x~1187093766~3618 &sk~1187093766~3619 &fk~1187093766~3620) (if (pair? &x~1187093766~3618) ((lambda (&x~1187093766~3623 &sk~1187093766~3624 &fk~1187093766~3625) (&sk~1187093766~3624 &x~1187093766~3623)) (car &x~1187093766~3618) (lambda (&name~1187093766~3627) ((lambda (&x~1187093766~3629 &sk~1187093766~3630 &fk~1187093766~3631) (if (null? &x~1187093766~3629) (&sk~1187093766~3630) (&fk~1187093766~3631))) (cdr &x~1187093766~3618) (lambda () (&sk~1187093766~3619 &name~1187093766~3627)) &fk~1187093766~3620)) &fk~1187093766~3620) (&fk~1187093766~3620))) (cdr &x~1187093766~3606) (lambda (&name~1187093766~3635) (&sk~1187093766~3607 &name~1187093766~3635)) &fk~1187093766~3608)) &fk~1187093766~3608) (&fk~1187093766~3608))) &e~1187093766~3593 (lambda (&name~1187093766~3637) &name~1187093766~3637) (lambda () ((lambda (&x~1187093766~3647 &sk~1187093766~3648 &fk~1187093766~3649) (if (pair? &x~1187093766~3647) ((lambda (&x~1187093766~3652 &sk~1187093766~3653 &fk~1187093766~3654) (if (ex:free=? &x~1187093766~3652 'library) (&sk~1187093766~3653) (&fk~1187093766~3654))) (car &x~1187093766~3647) (lambda () ((lambda (&x~1187093766~3659 &sk~1187093766~3660 &fk~1187093766~3661) (&sk~1187093766~3660)) (cdr &x~1187093766~3647) (lambda () (&sk~1187093766~3648)) &fk~1187093766~3649)) &fk~1187093766~3649) (&fk~1187093766~3649))) &e~1187093766~3593 (lambda () (&invalid-form~1187093766~2231 &e~1187093766~3593)) (lambda () ((lambda (&x~1187093766~3669 &sk~1187093766~3670 &fk~1187093766~3671) (&sk~1187093766~3670)) &e~1187093766~3593 (lambda () &e~1187093766~3593) (lambda () (invalid-form &e~1187093766~3593))))))) &version-reference?~1187093766~2204))) (set! &library-ref-helper~1187093766~2201 (lambda (&e~1187093766~3409 &version?~1187093766~3410) ((lambda (&x~1187093766~3419 &sk~1187093766~3420 &fk~1187093766~3421) (((lambda (&loop~1187093766~3427) ((lambda (&temp~1187093766~3430) (set! &loop~1187093766~3427 &temp~1187093766~3430) ((lambda () &loop~1187093766~3427))) (lambda (&x~1187093766~3435 &result~1187093766~3436) ((lambda (&match-tail~1187093766~3437) (set! &match-tail~1187093766~3437 (lambda () ((lambda (&x~1187093766~3460 &sk~1187093766~3461 &fk~1187093766~3462) (if (null? &x~1187093766~3460) (&sk~1187093766~3461) (&fk~1187093766~3462))) &x~1187093766~3435 (lambda () (apply &sk~1187093766~3420 (if (null? &result~1187093766~3436) (map (lambda (&ignore~1187093766~3467) '()) '(ids)) (apply map list (reverse &result~1187093766~3436))))) (lambda () ((lambda (&x~1187093766~3475 &sk~1187093766~3476 &fk~1187093766~3477) (&sk~1187093766~3476)) &x~1187093766~3435 (lambda () (&fk~1187093766~3421)) (lambda () (invalid-form &x~1187093766~3435))))))) (if (null? &x~1187093766~3435) (begin (&match-tail~1187093766~3437)) (if (pair? &x~1187093766~3435) (begin ((lambda (&x~1187093766~3444 &sk~1187093766~3445 &fk~1187093766~3446) (if (&identifier?~1187093766~2099 &x~1187093766~3444) ((lambda (&x~1187093766~3449 &sk~1187093766~3450 &fk~1187093766~3451) (&sk~1187093766~3450 &x~1187093766~3449)) &x~1187093766~3444 &sk~1187093766~3445 &fk~1187093766~3446) (&fk~1187093766~3446))) (car &x~1187093766~3435) (lambda &car-vars~1187093766~3453 (&loop~1187093766~3427 (cdr &x~1187093766~3435) (cons &car-vars~1187093766~3453 &result~1187093766~3436))) &match-tail~1187093766~3437)) (begin (&fk~1187093766~3421))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~3419 '())) &e~1187093766~3409 (lambda (&ids~1187093766~3483) &ids~1187093766~3483) (lambda () ((lambda (&x~1187093766~3493 &sk~1187093766~3494 &fk~1187093766~3495) (((lambda (&loop~1187093766~3501) ((lambda (&temp~1187093766~3504) (set! &loop~1187093766~3501 &temp~1187093766~3504) ((lambda () &loop~1187093766~3501))) (lambda (&x~1187093766~3509 &result~1187093766~3510) ((lambda (&match-tail~1187093766~3511) (set! &match-tail~1187093766~3511 (lambda () ((lambda (&x~1187093766~3540 &sk~1187093766~3541 &fk~1187093766~3542) (if (pair? &x~1187093766~3540) ((lambda (&x~1187093766~3545 &sk~1187093766~3546 &fk~1187093766~3547) (if (&version?~1187093766~3410 &x~1187093766~3545) ((lambda (&x~1187093766~3550 &sk~1187093766~3551 &fk~1187093766~3552) (&sk~1187093766~3551)) &x~1187093766~3545 &sk~1187093766~3546 &fk~1187093766~3547) (&fk~1187093766~3547))) (car &x~1187093766~3540) (lambda () ((lambda (&x~1187093766~3555 &sk~1187093766~3556 &fk~1187093766~3557) (if (null? &x~1187093766~3555) (&sk~1187093766~3556) (&fk~1187093766~3557))) (cdr &x~1187093766~3540) (lambda () (&sk~1187093766~3541)) &fk~1187093766~3542)) &fk~1187093766~3542) (&fk~1187093766~3542))) &x~1187093766~3509 (lambda () (apply &sk~1187093766~3494 (if (null? &result~1187093766~3510) (map (lambda (&ignore~1187093766~3563) '()) '(ids)) (apply map list (reverse &result~1187093766~3510))))) (lambda () ((lambda (&x~1187093766~3571 &sk~1187093766~3572 &fk~1187093766~3573) (&sk~1187093766~3572)) &x~1187093766~3509 (lambda () (&fk~1187093766~3495)) (lambda () (invalid-form &x~1187093766~3509))))))) (if (null? &x~1187093766~3509) (begin (&match-tail~1187093766~3511)) (if (pair? &x~1187093766~3509) (begin ((lambda (&x~1187093766~3518 &sk~1187093766~3519 &fk~1187093766~3520) (if (&identifier?~1187093766~2099 &x~1187093766~3518) ((lambda (&x~1187093766~3523 &sk~1187093766~3524 &fk~1187093766~3525) (&sk~1187093766~3524 &x~1187093766~3523)) &x~1187093766~3518 &sk~1187093766~3519 &fk~1187093766~3520) (&fk~1187093766~3520))) (car &x~1187093766~3509) (lambda &car-vars~1187093766~3527 (&loop~1187093766~3501 (cdr &x~1187093766~3509) (cons &car-vars~1187093766~3527 &result~1187093766~3510))) &match-tail~1187093766~3511)) (begin (&fk~1187093766~3495))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~3493 '())) &e~1187093766~3409 (lambda (&ids~1187093766~3579) &ids~1187093766~3579) (lambda () ((lambda (&x~1187093766~3585 &sk~1187093766~3586 &fk~1187093766~3587) (&sk~1187093766~3586)) &e~1187093766~3409 (lambda () (&syntax-violation~1187093766~2207 'library "Invalid library reference" &e~1187093766~3409)) (lambda () (invalid-form &e~1187093766~3409))))))))) (set! &version?~1187093766~2202 (lambda (&e~1187093766~3405) (if (list? &e~1187093766~3405) (for-all &subversion?~1187093766~2203 &e~1187093766~3405) #f))) (set! &subversion?~1187093766~2203 (lambda (&x~1187093766~3401) (if (integer? &x~1187093766~3401) (>= &x~1187093766~3401 0) #f))) (set! &version-reference?~1187093766~2204 (lambda (&e~1187093766~3087) ((lambda (&x~1187093766~3100 &sk~1187093766~3101 &fk~1187093766~3102) (if (pair? &x~1187093766~3100) ((lambda (&x~1187093766~3105 &sk~1187093766~3106 &fk~1187093766~3107) (if (ex:free=? &x~1187093766~3105 'and) (&sk~1187093766~3106) (&fk~1187093766~3107))) (car &x~1187093766~3100) (lambda () ((lambda (&x~1187093766~3112 &sk~1187093766~3113 &fk~1187093766~3114) (((lambda (&loop~1187093766~3120) ((lambda (&temp~1187093766~3123) (set! &loop~1187093766~3120 &temp~1187093766~3123) ((lambda () &loop~1187093766~3120))) (lambda (&x~1187093766~3128 &result~1187093766~3129) ((lambda (&match-tail~1187093766~3130) (set! &match-tail~1187093766~3130 (lambda () ((lambda (&x~1187093766~3153 &sk~1187093766~3154 &fk~1187093766~3155) (if (null? &x~1187093766~3153) (&sk~1187093766~3154) (&fk~1187093766~3155))) &x~1187093766~3128 (lambda () (apply &sk~1187093766~3113 (if (null? &result~1187093766~3129) (map (lambda (&ignore~1187093766~3160) '()) '()) (apply map list (reverse &result~1187093766~3129))))) (lambda () ((lambda (&x~1187093766~3168 &sk~1187093766~3169 &fk~1187093766~3170) (&sk~1187093766~3169)) &x~1187093766~3128 (lambda () (&fk~1187093766~3114)) (lambda () (invalid-form &x~1187093766~3128))))))) (if (null? &x~1187093766~3128) (begin (&match-tail~1187093766~3130)) (if (pair? &x~1187093766~3128) (begin ((lambda (&x~1187093766~3137 &sk~1187093766~3138 &fk~1187093766~3139) (if (&version-reference?~1187093766~2204 &x~1187093766~3137) ((lambda (&x~1187093766~3142 &sk~1187093766~3143 &fk~1187093766~3144) (&sk~1187093766~3143)) &x~1187093766~3137 &sk~1187093766~3138 &fk~1187093766~3139) (&fk~1187093766~3139))) (car &x~1187093766~3128) (lambda &car-vars~1187093766~3146 (&loop~1187093766~3120 (cdr &x~1187093766~3128) (cons &car-vars~1187093766~3146 &result~1187093766~3129))) &match-tail~1187093766~3130)) (begin (&fk~1187093766~3114))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~3112 '())) (cdr &x~1187093766~3100) (lambda () (&sk~1187093766~3101)) &fk~1187093766~3102)) &fk~1187093766~3102) (&fk~1187093766~3102))) &e~1187093766~3087 (lambda () #t) (lambda () ((lambda (&x~1187093766~3190 &sk~1187093766~3191 &fk~1187093766~3192) (if (pair? &x~1187093766~3190) ((lambda (&x~1187093766~3195 &sk~1187093766~3196 &fk~1187093766~3197) (if (ex:free=? &x~1187093766~3195 'or) (&sk~1187093766~3196) (&fk~1187093766~3197))) (car &x~1187093766~3190) (lambda () ((lambda (&x~1187093766~3202 &sk~1187093766~3203 &fk~1187093766~3204) (((lambda (&loop~1187093766~3210) ((lambda (&temp~1187093766~3213) (set! &loop~1187093766~3210 &temp~1187093766~3213) ((lambda () &loop~1187093766~3210))) (lambda (&x~1187093766~3218 &result~1187093766~3219) ((lambda (&match-tail~1187093766~3220) (set! &match-tail~1187093766~3220 (lambda () ((lambda (&x~1187093766~3243 &sk~1187093766~3244 &fk~1187093766~3245) (if (null? &x~1187093766~3243) (&sk~1187093766~3244) (&fk~1187093766~3245))) &x~1187093766~3218 (lambda () (apply &sk~1187093766~3203 (if (null? &result~1187093766~3219) (map (lambda (&ignore~1187093766~3250) '()) '()) (apply map list (reverse &result~1187093766~3219))))) (lambda () ((lambda (&x~1187093766~3258 &sk~1187093766~3259 &fk~1187093766~3260) (&sk~1187093766~3259)) &x~1187093766~3218 (lambda () (&fk~1187093766~3204)) (lambda () (invalid-form &x~1187093766~3218))))))) (if (null? &x~1187093766~3218) (begin (&match-tail~1187093766~3220)) (if (pair? &x~1187093766~3218) (begin ((lambda (&x~1187093766~3227 &sk~1187093766~3228 &fk~1187093766~3229) (if (&version-reference?~1187093766~2204 &x~1187093766~3227) ((lambda (&x~1187093766~3232 &sk~1187093766~3233 &fk~1187093766~3234) (&sk~1187093766~3233)) &x~1187093766~3227 &sk~1187093766~3228 &fk~1187093766~3229) (&fk~1187093766~3229))) (car &x~1187093766~3218) (lambda &car-vars~1187093766~3236 (&loop~1187093766~3210 (cdr &x~1187093766~3218) (cons &car-vars~1187093766~3236 &result~1187093766~3219))) &match-tail~1187093766~3220)) (begin (&fk~1187093766~3204))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~3202 '())) (cdr &x~1187093766~3190) (lambda () (&sk~1187093766~3191)) &fk~1187093766~3192)) &fk~1187093766~3192) (&fk~1187093766~3192))) &e~1187093766~3087 (lambda () #t) (lambda () ((lambda (&x~1187093766~3282 &sk~1187093766~3283 &fk~1187093766~3284) (if (pair? &x~1187093766~3282) ((lambda (&x~1187093766~3287 &sk~1187093766~3288 &fk~1187093766~3289) (if (ex:free=? &x~1187093766~3287 'not) (&sk~1187093766~3288) (&fk~1187093766~3289))) (car &x~1187093766~3282) (lambda () ((lambda (&x~1187093766~3294 &sk~1187093766~3295 &fk~1187093766~3296) (if (pair? &x~1187093766~3294) ((lambda (&x~1187093766~3299 &sk~1187093766~3300 &fk~1187093766~3301) (if (&version-reference?~1187093766~2204 &x~1187093766~3299) ((lambda (&x~1187093766~3304 &sk~1187093766~3305 &fk~1187093766~3306) (&sk~1187093766~3305)) &x~1187093766~3299 &sk~1187093766~3300 &fk~1187093766~3301) (&fk~1187093766~3301))) (car &x~1187093766~3294) (lambda () ((lambda (&x~1187093766~3309 &sk~1187093766~3310 &fk~1187093766~3311) (if (null? &x~1187093766~3309) (&sk~1187093766~3310) (&fk~1187093766~3311))) (cdr &x~1187093766~3294) (lambda () (&sk~1187093766~3295)) &fk~1187093766~3296)) &fk~1187093766~3296) (&fk~1187093766~3296))) (cdr &x~1187093766~3282) (lambda () (&sk~1187093766~3283)) &fk~1187093766~3284)) &fk~1187093766~3284) (&fk~1187093766~3284))) &e~1187093766~3087 (lambda () #t) (lambda () ((lambda (&x~1187093766~3325 &sk~1187093766~3326 &fk~1187093766~3327) (((lambda (&loop~1187093766~3333) ((lambda (&temp~1187093766~3336) (set! &loop~1187093766~3333 &temp~1187093766~3336) ((lambda () &loop~1187093766~3333))) (lambda (&x~1187093766~3341 &result~1187093766~3342) ((lambda (&match-tail~1187093766~3343) (set! &match-tail~1187093766~3343 (lambda () ((lambda (&x~1187093766~3366 &sk~1187093766~3367 &fk~1187093766~3368) (if (null? &x~1187093766~3366) (&sk~1187093766~3367) (&fk~1187093766~3368))) &x~1187093766~3341 (lambda () (apply &sk~1187093766~3326 (if (null? &result~1187093766~3342) (map (lambda (&ignore~1187093766~3373) '()) '()) (apply map list (reverse &result~1187093766~3342))))) (lambda () ((lambda (&x~1187093766~3381 &sk~1187093766~3382 &fk~1187093766~3383) (&sk~1187093766~3382)) &x~1187093766~3341 (lambda () (&fk~1187093766~3327)) (lambda () (invalid-form &x~1187093766~3341))))))) (if (null? &x~1187093766~3341) (begin (&match-tail~1187093766~3343)) (if (pair? &x~1187093766~3341) (begin ((lambda (&x~1187093766~3350 &sk~1187093766~3351 &fk~1187093766~3352) (if (&subversion-reference?~1187093766~2205 &x~1187093766~3350) ((lambda (&x~1187093766~3355 &sk~1187093766~3356 &fk~1187093766~3357) (&sk~1187093766~3356)) &x~1187093766~3350 &sk~1187093766~3351 &fk~1187093766~3352) (&fk~1187093766~3352))) (car &x~1187093766~3341) (lambda &car-vars~1187093766~3359 (&loop~1187093766~3333 (cdr &x~1187093766~3341) (cons &car-vars~1187093766~3359 &result~1187093766~3342))) &match-tail~1187093766~3343)) (begin (&fk~1187093766~3327))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~3325 '())) &e~1187093766~3087 (lambda () #t) (lambda () ((lambda (&x~1187093766~3394 &sk~1187093766~3395 &fk~1187093766~3396) (&sk~1187093766~3395)) &e~1187093766~3087 (lambda () #f) (lambda () (invalid-form &e~1187093766~3087))))))))))))) (set! &subversion-reference?~1187093766~2205 (lambda (&e~1187093766~3083) (let ((x (&subversion?~1187093766~2203 &e~1187093766~3083))) (if x x (&subversion-condition?~1187093766~2206 &e~1187093766~3083))))) (set! &subversion-condition?~1187093766~2206 (lambda (&e~1187093766~2744) ((lambda (&x~1187093766~2759 &sk~1187093766~2760 &fk~1187093766~2761) (if (pair? &x~1187093766~2759) ((lambda (&x~1187093766~2764 &sk~1187093766~2765 &fk~1187093766~2766) (if (ex:free=? &x~1187093766~2764 '>=) (&sk~1187093766~2765) (&fk~1187093766~2766))) (car &x~1187093766~2759) (lambda () ((lambda (&x~1187093766~2771 &sk~1187093766~2772 &fk~1187093766~2773) (if (pair? &x~1187093766~2771) ((lambda (&x~1187093766~2776 &sk~1187093766~2777 &fk~1187093766~2778) (if (&subversion?~1187093766~2203 &x~1187093766~2776) ((lambda (&x~1187093766~2781 &sk~1187093766~2782 &fk~1187093766~2783) (&sk~1187093766~2782)) &x~1187093766~2776 &sk~1187093766~2777 &fk~1187093766~2778) (&fk~1187093766~2778))) (car &x~1187093766~2771) (lambda () ((lambda (&x~1187093766~2786 &sk~1187093766~2787 &fk~1187093766~2788) (if (null? &x~1187093766~2786) (&sk~1187093766~2787) (&fk~1187093766~2788))) (cdr &x~1187093766~2771) (lambda () (&sk~1187093766~2772)) &fk~1187093766~2773)) &fk~1187093766~2773) (&fk~1187093766~2773))) (cdr &x~1187093766~2759) (lambda () (&sk~1187093766~2760)) &fk~1187093766~2761)) &fk~1187093766~2761) (&fk~1187093766~2761))) &e~1187093766~2744 (lambda () #t) (lambda () ((lambda (&x~1187093766~2808 &sk~1187093766~2809 &fk~1187093766~2810) (if (pair? &x~1187093766~2808) ((lambda (&x~1187093766~2813 &sk~1187093766~2814 &fk~1187093766~2815) (if (ex:free=? &x~1187093766~2813 '<=) (&sk~1187093766~2814) (&fk~1187093766~2815))) (car &x~1187093766~2808) (lambda () ((lambda (&x~1187093766~2820 &sk~1187093766~2821 &fk~1187093766~2822) (if (pair? &x~1187093766~2820) ((lambda (&x~1187093766~2825 &sk~1187093766~2826 &fk~1187093766~2827) (if (&subversion?~1187093766~2203 &x~1187093766~2825) ((lambda (&x~1187093766~2830 &sk~1187093766~2831 &fk~1187093766~2832) (&sk~1187093766~2831)) &x~1187093766~2825 &sk~1187093766~2826 &fk~1187093766~2827) (&fk~1187093766~2827))) (car &x~1187093766~2820) (lambda () ((lambda (&x~1187093766~2835 &sk~1187093766~2836 &fk~1187093766~2837) (if (null? &x~1187093766~2835) (&sk~1187093766~2836) (&fk~1187093766~2837))) (cdr &x~1187093766~2820) (lambda () (&sk~1187093766~2821)) &fk~1187093766~2822)) &fk~1187093766~2822) (&fk~1187093766~2822))) (cdr &x~1187093766~2808) (lambda () (&sk~1187093766~2809)) &fk~1187093766~2810)) &fk~1187093766~2810) (&fk~1187093766~2810))) &e~1187093766~2744 (lambda () #t) (lambda () ((lambda (&x~1187093766~2857 &sk~1187093766~2858 &fk~1187093766~2859) (if (pair? &x~1187093766~2857) ((lambda (&x~1187093766~2862 &sk~1187093766~2863 &fk~1187093766~2864) (if (ex:free=? &x~1187093766~2862 'not) (&sk~1187093766~2863) (&fk~1187093766~2864))) (car &x~1187093766~2857) (lambda () ((lambda (&x~1187093766~2869 &sk~1187093766~2870 &fk~1187093766~2871) (if (pair? &x~1187093766~2869) ((lambda (&x~1187093766~2874 &sk~1187093766~2875 &fk~1187093766~2876) (if (&subversion?~1187093766~2203 &x~1187093766~2874) ((lambda (&x~1187093766~2879 &sk~1187093766~2880 &fk~1187093766~2881) (&sk~1187093766~2880)) &x~1187093766~2874 &sk~1187093766~2875 &fk~1187093766~2876) (&fk~1187093766~2876))) (car &x~1187093766~2869) (lambda () ((lambda (&x~1187093766~2884 &sk~1187093766~2885 &fk~1187093766~2886) (if (null? &x~1187093766~2884) (&sk~1187093766~2885) (&fk~1187093766~2886))) (cdr &x~1187093766~2869) (lambda () (&sk~1187093766~2870)) &fk~1187093766~2871)) &fk~1187093766~2871) (&fk~1187093766~2871))) (cdr &x~1187093766~2857) (lambda () (&sk~1187093766~2858)) &fk~1187093766~2859)) &fk~1187093766~2859) (&fk~1187093766~2859))) &e~1187093766~2744 (lambda () #t) (lambda () ((lambda (&x~1187093766~2904 &sk~1187093766~2905 &fk~1187093766~2906) (if (pair? &x~1187093766~2904) ((lambda (&x~1187093766~2909 &sk~1187093766~2910 &fk~1187093766~2911) (if (ex:free=? &x~1187093766~2909 'and) (&sk~1187093766~2910) (&fk~1187093766~2911))) (car &x~1187093766~2904) (lambda () ((lambda (&x~1187093766~2916 &sk~1187093766~2917 &fk~1187093766~2918) (((lambda (&loop~1187093766~2924) ((lambda (&temp~1187093766~2927) (set! &loop~1187093766~2924 &temp~1187093766~2927) ((lambda () &loop~1187093766~2924))) (lambda (&x~1187093766~2932 &result~1187093766~2933) ((lambda (&match-tail~1187093766~2934) (set! &match-tail~1187093766~2934 (lambda () ((lambda (&x~1187093766~2957 &sk~1187093766~2958 &fk~1187093766~2959) (if (null? &x~1187093766~2957) (&sk~1187093766~2958) (&fk~1187093766~2959))) &x~1187093766~2932 (lambda () (apply &sk~1187093766~2917 (if (null? &result~1187093766~2933) (map (lambda (&ignore~1187093766~2964) '()) '()) (apply map list (reverse &result~1187093766~2933))))) (lambda () ((lambda (&x~1187093766~2972 &sk~1187093766~2973 &fk~1187093766~2974) (&sk~1187093766~2973)) &x~1187093766~2932 (lambda () (&fk~1187093766~2918)) (lambda () (invalid-form &x~1187093766~2932))))))) (if (null? &x~1187093766~2932) (begin (&match-tail~1187093766~2934)) (if (pair? &x~1187093766~2932) (begin ((lambda (&x~1187093766~2941 &sk~1187093766~2942 &fk~1187093766~2943) (if (&subversion-reference?~1187093766~2205 &x~1187093766~2941) ((lambda (&x~1187093766~2946 &sk~1187093766~2947 &fk~1187093766~2948) (&sk~1187093766~2947)) &x~1187093766~2941 &sk~1187093766~2942 &fk~1187093766~2943) (&fk~1187093766~2943))) (car &x~1187093766~2932) (lambda &car-vars~1187093766~2950 (&loop~1187093766~2924 (cdr &x~1187093766~2932) (cons &car-vars~1187093766~2950 &result~1187093766~2933))) &match-tail~1187093766~2934)) (begin (&fk~1187093766~2918))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~2916 '())) (cdr &x~1187093766~2904) (lambda () (&sk~1187093766~2905)) &fk~1187093766~2906)) &fk~1187093766~2906) (&fk~1187093766~2906))) &e~1187093766~2744 (lambda () #t) (lambda () ((lambda (&x~1187093766~2994 &sk~1187093766~2995 &fk~1187093766~2996) (if (pair? &x~1187093766~2994) ((lambda (&x~1187093766~2999 &sk~1187093766~3000 &fk~1187093766~3001) (if (ex:free=? &x~1187093766~2999 'or) (&sk~1187093766~3000) (&fk~1187093766~3001))) (car &x~1187093766~2994) (lambda () ((lambda (&x~1187093766~3006 &sk~1187093766~3007 &fk~1187093766~3008) (((lambda (&loop~1187093766~3014) ((lambda (&temp~1187093766~3017) (set! &loop~1187093766~3014 &temp~1187093766~3017) ((lambda () &loop~1187093766~3014))) (lambda (&x~1187093766~3022 &result~1187093766~3023) ((lambda (&match-tail~1187093766~3024) (set! &match-tail~1187093766~3024 (lambda () ((lambda (&x~1187093766~3047 &sk~1187093766~3048 &fk~1187093766~3049) (if (null? &x~1187093766~3047) (&sk~1187093766~3048) (&fk~1187093766~3049))) &x~1187093766~3022 (lambda () (apply &sk~1187093766~3007 (if (null? &result~1187093766~3023) (map (lambda (&ignore~1187093766~3054) '()) '()) (apply map list (reverse &result~1187093766~3023))))) (lambda () ((lambda (&x~1187093766~3062 &sk~1187093766~3063 &fk~1187093766~3064) (&sk~1187093766~3063)) &x~1187093766~3022 (lambda () (&fk~1187093766~3008)) (lambda () (invalid-form &x~1187093766~3022))))))) (if (null? &x~1187093766~3022) (begin (&match-tail~1187093766~3024)) (if (pair? &x~1187093766~3022) (begin ((lambda (&x~1187093766~3031 &sk~1187093766~3032 &fk~1187093766~3033) (if (&subversion-reference?~1187093766~2205 &x~1187093766~3031) ((lambda (&x~1187093766~3036 &sk~1187093766~3037 &fk~1187093766~3038) (&sk~1187093766~3037)) &x~1187093766~3031 &sk~1187093766~3032 &fk~1187093766~3033) (&fk~1187093766~3033))) (car &x~1187093766~3022) (lambda &car-vars~1187093766~3040 (&loop~1187093766~3014 (cdr &x~1187093766~3022) (cons &car-vars~1187093766~3040 &result~1187093766~3023))) &match-tail~1187093766~3024)) (begin (&fk~1187093766~3008))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~3006 '())) (cdr &x~1187093766~2994) (lambda () (&sk~1187093766~2995)) &fk~1187093766~2996)) &fk~1187093766~2996) (&fk~1187093766~2996))) &e~1187093766~2744 (lambda () #t) (lambda () ((lambda (&x~1187093766~3076 &sk~1187093766~3077 &fk~1187093766~3078) (&sk~1187093766~3077)) &e~1187093766~2744 (lambda () #f) (lambda () (invalid-form &e~1187093766~2744))))))))))))))) (set! &syntax-violation~1187093766~2207 (lambda (&who~1187093766~2712 &message~1187093766~2713 &form~1187093766~2714 . &maybe-subform~1187093766~2715) (newline) (display "Syntax violation: ") ((lambda (&who~1187093766~2718 &subform~1187093766~2719) (display &who~1187093766~2718) (newline) (newline) (display &message~1187093766~2713) (newline) (newline) (if &subform~1187093766~2719 (begin (display "Subform: ") (pretty-print (&syntax-debug~1187093766~2208 &subform~1187093766~2719)) (newline))) (display "Form: ") (pretty-print (&syntax-debug~1187093766~2208 &form~1187093766~2714)) (newline) (display "Trace: ") (newline) (newline) (for-each (lambda (&exp~1187093766~2722) (display " ") (pretty-print (&syntax-debug~1187093766~2208 &exp~1187093766~2722)) (newline)) &*trace*~1187093766~2089) (error 'syntax-violation "Integrate with host error handling here")) (if &who~1187093766~2712 &who~1187093766~2712 (if (&identifier?~1187093766~2099 &form~1187093766~2714) (begin (&syntax->datum~1187093766~2138 &form~1187093766~2714)) (if (if (list? &form~1187093766~2714) (&identifier?~1187093766~2099 (car &form~1187093766~2714)) #f) (begin (&syntax->datum~1187093766~2138 (car &form~1187093766~2714))) (begin "")))) (if (null? &maybe-subform~1187093766~2715) (begin #f) (if (if (pair? &maybe-subform~1187093766~2715) (null? (cdr &maybe-subform~1187093766~2715)) #f) (begin (car &maybe-subform~1187093766~2715)) (begin (assertion-violation 'syntax-violation "Invalid subform in syntax violation" &maybe-subform~1187093766~2715))))))) (set! &syntax-debug~1187093766~2208 (lambda (&exp~1187093766~2704) (&sexp-map~1187093766~2218 (lambda (&leaf~1187093766~2706) (if (&identifier?~1187093766~2099 &leaf~1187093766~2706) (begin (&id-name~1187093766~2100 &leaf~1187093766~2706)) (begin &leaf~1187093766~2706))) &exp~1187093766~2704))) (set! &eval-template~1187093766~2209 (&make-identifier~1187093766~2098 'eval-template '() '() 0 '(anonymous))) (set! &make-r6rs-environment~1187093766~2210 (lambda (&imported-libraries~1187093766~2696 &env~1187093766~2697) (cons &imported-libraries~1187093766~2696 &env~1187093766~2697))) (set! &r6rs-environment-imported-libraries~1187093766~2211 car) (set! &r6rs-environment-env~1187093766~2212 cdr) (set! &environment~1187093766~2213 (lambda &import-specs~1187093766~2675 ((lambda (&saved~1187093766~2679) (set! &*usage-env*~1187093766~2068 (&make-unit-env~1187093766~2126)) (call-with-values (lambda () (&env-import!~1187093766~2189 &eval-template~1187093766~2209 (&make-library-language~1187093766~2243) &*usage-env*~1187093766~2068) (call-with-values (lambda () (&scan-imports~1187093766~2194 (map (lambda (&spec~1187093766~2684) (&datum->syntax~1187093766~2137 &eval-template~1187093766~2209 &spec~1187093766~2684)) &import-specs~1187093766~2675))) (lambda (&imported-libraries~1187093766~2686 &imports~1187093766~2687) (&make-r6rs-environment~1187093766~2210 &imported-libraries~1187093766~2686 ((lambda (&env~1187093766~2690) (&env-import!~1187093766~2189 &eval-template~1187093766~2209 &imports~1187093766~2687 &env~1187093766~2690) &env~1187093766~2690) (&make-unit-env~1187093766~2126)))))) (lambda &results~1187093766~2692 (set! &*usage-env*~1187093766~2068 &saved~1187093766~2679) (apply values &results~1187093766~2692)))) &*usage-env*~1187093766~2068))) (set! &r6rs-eval~1187093766~2214 (lambda (&exp~1187093766~2655 &env~1187093766~2656) ((lambda (&saved~1187093766~2660) (set! &*usage-env*~1187093766~2068 (&r6rs-environment-env~1187093766~2212 &env~1187093766~2656)) (call-with-values (lambda () ((lambda (&exp~1187093766~2665 &imported-libraries~1187093766~2666) (&import-libraries-for-expand~1187093766~2191 (&r6rs-environment-imported-libraries~1187093766~2211 &env~1187093766~2656) (map not &imported-libraries~1187093766~2666) 0) (ex:import-libraries-for-run (&r6rs-environment-imported-libraries~1187093766~2211 &env~1187093766~2656) (map not &imported-libraries~1187093766~2666) 0) (eval (&expand-begin~1187093766~2158 (list (&rename~1187093766~2140 'macro 'begin) &exp~1187093766~2665)))) (&datum->syntax~1187093766~2137 &eval-template~1187093766~2209 &exp~1187093766~2655) (&r6rs-environment-imported-libraries~1187093766~2211 &env~1187093766~2656))) (lambda &results~1187093766~2671 (set! &*usage-env*~1187093766~2068 &saved~1187093766~2660) (apply values &results~1187093766~2671)))) &*usage-env*~1187093766~2068))) (set! &environment-bindings~1187093766~2215 (lambda (&r6rs-env~1187093766~2653) (map &format-mapping~1187093766~2216 (caar (&r6rs-environment-env~1187093766~2212 &r6rs-env~1187093766~2653))))) (set! &format-mapping~1187093766~2216 (lambda (&mapping~1187093766~2646) (list (list 'name (caar &mapping~1187093766~2646)) (list 'type (&binding-type~1187093766~2113 (cdr &mapping~1187093766~2646))) (list 'from (&binding-library~1187093766~2118 (cdr &mapping~1187093766~2646))) (list 'levels (&binding-levels~1187093766~2115 (cdr &mapping~1187093766~2646)))))) (set! &flatten~1187093766~2217 (lambda (&l~1187093766~2638) (if (null? &l~1187093766~2638) (begin &l~1187093766~2638) (if (pair? &l~1187093766~2638) (begin (cons (car &l~1187093766~2638) (&flatten~1187093766~2217 (cdr &l~1187093766~2638)))) (begin (list &l~1187093766~2638)))))) (set! &sexp-map~1187093766~2218 (lambda (&f~1187093766~2626 &s~1187093766~2627) (if (null? &s~1187093766~2627) (begin '()) (if (pair? &s~1187093766~2627) (begin (cons (&sexp-map~1187093766~2218 &f~1187093766~2626 (car &s~1187093766~2627)) (&sexp-map~1187093766~2218 &f~1187093766~2626 (cdr &s~1187093766~2627)))) (if (vector? &s~1187093766~2627) (begin (apply vector (&sexp-map~1187093766~2218 &f~1187093766~2626 (vector->list &s~1187093766~2627)))) (begin (&f~1187093766~2626 &s~1187093766~2627))))))) (set! &dotted-memp~1187093766~2219 (lambda (&proc~1187093766~2614 &ls~1187093766~2615) (if (null? &ls~1187093766~2615) (begin #f) (if (pair? &ls~1187093766~2615) (begin (if (&proc~1187093766~2614 (car &ls~1187093766~2615)) &ls~1187093766~2615 (&dotted-memp~1187093766~2219 &proc~1187093766~2614 (cdr &ls~1187093766~2615)))) (begin (if (&proc~1187093766~2614 &ls~1187093766~2615) &ls~1187093766~2615 #f)))))) (set! &dotted-map~1187093766~2220 (lambda (&f~1187093766~2604 &lst~1187093766~2605) (if (null? &lst~1187093766~2605) (begin '()) (if (pair? &lst~1187093766~2605) (begin (cons (&f~1187093766~2604 (car &lst~1187093766~2605)) (&dotted-map~1187093766~2220 &f~1187093766~2604 (cdr &lst~1187093766~2605)))) (begin (&f~1187093766~2604 &lst~1187093766~2605)))))) (set! &dotted-length~1187093766~2221 (lambda (&dl~1187093766~2596) (if (null? &dl~1187093766~2596) (begin 0) (if (pair? &dl~1187093766~2596) (begin (+ 1 (&dotted-length~1187093766~2221 (cdr &dl~1187093766~2596)))) (begin 0))))) (set! &dotted-butlast~1187093766~2222 (lambda (&ls~1187093766~2570 &n~1187093766~2571) (((lambda (&recurse~1187093766~2577) ((lambda (&temp~1187093766~2580) (set! &recurse~1187093766~2577 &temp~1187093766~2580) ((lambda () &recurse~1187093766~2577))) (lambda (&ls~1187093766~2585 &length-left~1187093766~2586) (if (< &length-left~1187093766~2586 &n~1187093766~2571) (begin (assertion-violation 'dotted-butlast "List too short" &ls~1187093766~2585 &n~1187093766~2571)) (if (= &length-left~1187093766~2586 &n~1187093766~2571) (begin '()) (begin (cons (car &ls~1187093766~2585) (&recurse~1187093766~2577 (cdr &ls~1187093766~2585) (- &length-left~1187093766~2586 1))))))))) &unspecified~1187093766~179) &ls~1187093766~2570 (&dotted-length~1187093766~2221 &ls~1187093766~2570)))) (set! &dotted-last~1187093766~2223 (lambda (&ls~1187093766~2545 &n~1187093766~2546) (((lambda (&recurse~1187093766~2552) ((lambda (&temp~1187093766~2555) (set! &recurse~1187093766~2552 &temp~1187093766~2555) ((lambda () &recurse~1187093766~2552))) (lambda (&ls~1187093766~2560 &length-left~1187093766~2561) (if (< &length-left~1187093766~2561 &n~1187093766~2546) (begin (assertion-violation 'dotted-last "List too short" &ls~1187093766~2560 &n~1187093766~2546)) (if (= &length-left~1187093766~2561 &n~1187093766~2546) (begin &ls~1187093766~2560) (begin (&recurse~1187093766~2552 (cdr &ls~1187093766~2560) (- &length-left~1187093766~2561 1)))))))) &unspecified~1187093766~179) &ls~1187093766~2545 (&dotted-length~1187093766~2221 &ls~1187093766~2545)))) (set! &map-while~1187093766~2224 (lambda (&f~1187093766~2524 &lst~1187093766~2525 &k~1187093766~2526) (if (null? &lst~1187093766~2525) (begin (&k~1187093766~2526 '() '())) (if (pair? &lst~1187093766~2525) (begin ((lambda (&head~1187093766~2536) (if &head~1187093766~2536 (&map-while~1187093766~2224 &f~1187093766~2524 (cdr &lst~1187093766~2525) (lambda (&answer~1187093766~2539 &rest~1187093766~2540) (&k~1187093766~2526 (cons &head~1187093766~2536 &answer~1187093766~2539) &rest~1187093766~2540))) (&k~1187093766~2526 '() &lst~1187093766~2525))) (&f~1187093766~2524 (car &lst~1187093766~2525)))) (begin (&k~1187093766~2526 '() &lst~1187093766~2525)))))) (set! &check-set?~1187093766~2225 (lambda (&ls~1187093766~2515 &=~1187093766~2516 &fail~1187093766~2517) (let ((x (null? &ls~1187093766~2515))) (if x x (if (memp (lambda (&x~1187093766~2522) (&=~1187093766~2516 &x~1187093766~2522 (car &ls~1187093766~2515))) (cdr &ls~1187093766~2515)) (&fail~1187093766~2517 (car &ls~1187093766~2515)) (&check-set?~1187093766~2225 (cdr &ls~1187093766~2515) &=~1187093766~2516 &fail~1187093766~2517)))))) (set! &unionv~1187093766~2226 (lambda &sets~1187093766~2502 (if (null? &sets~1187093766~2502) (begin '()) (if (null? (car &sets~1187093766~2502)) (begin (apply &unionv~1187093766~2226 (cdr &sets~1187093766~2502))) (begin ((lambda (&rest~1187093766~2512) (if (memv (car (car &sets~1187093766~2502)) &rest~1187093766~2512) &rest~1187093766~2512 (cons (car (car &sets~1187093766~2502)) &rest~1187093766~2512))) (apply &unionv~1187093766~2226 (cdr (car &sets~1187093766~2502)) (cdr &sets~1187093766~2502)))))))) (set! &drop-tail~1187093766~2227 (lambda (&list~1187093766~2491 &tail~1187093766~2492) (if (null? &list~1187093766~2491) (begin '()) (if (eq? &list~1187093766~2491 &tail~1187093766~2492) (begin '()) (begin (cons (car &list~1187093766~2491) (&drop-tail~1187093766~2227 (cdr &list~1187093766~2491) &tail~1187093766~2492))))))) (set! &list->string~1187093766~2228 (lambda (&e~1187093766~2475 &separator~1187093766~2476) ((lambda (&tostring~1187093766~2477) (set! &tostring~1187093766~2477 (lambda (&x~1187093766~2482) (if (symbol? &x~1187093766~2482) (begin (symbol->string &x~1187093766~2482)) (if (number? &x~1187093766~2482) (begin (number->string &x~1187093766~2482)) (begin (assertion-violation 'list->string "Invalid argument" &e~1187093766~2475)))))) (if (null? &e~1187093766~2475) "" (string-append (&tostring~1187093766~2477 (car &e~1187093766~2475)) (apply string-append (map (lambda (&x~1187093766~2480) (string-append &separator~1187093766~2476 (&tostring~1187093766~2477 &x~1187093766~2480))) (cdr &e~1187093766~2475)))))) ex:undefined))) (set! &compose~1187093766~2229 (lambda (&f~1187093766~2470 &g~1187093766~2471) (lambda (&x~1187093766~2473) (&f~1187093766~2470 (&g~1187093766~2471 &x~1187093766~2473))))) (set! &check~1187093766~2230 (lambda (&x~1187093766~2464 &p?~1187093766~2465 &from~1187093766~2466) (let ((x (&p?~1187093766~2465 &x~1187093766~2464))) (if x x (&syntax-violation~1187093766~2207 &from~1187093766~2466 "Invalid argument" &x~1187093766~2464))))) (set! &invalid-form~1187093766~2231 (lambda (&exp~1187093766~2462) (&syntax-violation~1187093766~2207 #f "Invalid form" &exp~1187093766~2462))) (set! &repl~1187093766~2232 (lambda (&exps~1187093766~2453) (&reset-toplevel!~1187093766~2233) (for-each (lambda (&exp~1187093766~2455) (for-each (lambda (&exp~1187093766~2457) (for-each (lambda (&result~1187093766~2459) (display &result~1187093766~2459) (newline)) (call-with-values (lambda () (eval &exp~1187093766~2457)) list))) (&expand-toplevel-sequence~1187093766~2234 (list &exp~1187093766~2455)))) &exps~1187093766~2453))) (set! &reset-toplevel!~1187093766~2233 (lambda () (set! &*trace*~1187093766~2089 '()) (set! &*current-library*~1187093766~2083 '()) (set! &*phase*~1187093766~2071 0) (set! &*used*~1187093766~2086 (list '())) (set! &*color*~1187093766~2074 (&generate-color~1187093766~2111)) (set! &*usage-env*~1187093766~2068 &*toplevel-env*~1187093766~2065))) (set! &expand-toplevel-sequence~1187093766~2234 (lambda (&forms~1187093766~2435) (&scan-sequence~1187093766~2167 'toplevel &make-toplevel-mapping~1187093766~2122 (&source->syntax~1187093766~2241 &forms~1187093766~2435) (lambda (&forms~1187093766~2438 &syntax-definitions~1187093766~2439 &bound-variables~1187093766~2440) (&emit-body~1187093766~2168 &forms~1187093766~2438 'define))))) (set! &expand-file~1187093766~2235 (lambda (&filename~1187093766~2432 &target-filename~1187093766~2433) (&reset-toplevel!~1187093766~2233) (&write-file~1187093766~2239 (&expand-toplevel-sequence~1187093766~2234 (&normalize~1187093766~2237 (&read-file~1187093766~2238 &filename~1187093766~2432))) &target-filename~1187093766~2433))) (set! &expand-r5rs-file~1187093766~2236 (lambda (&filename~1187093766~2390 &target-filename~1187093766~2391 &r6rs-env~1187093766~2392) (&reset-toplevel!~1187093766~2233) ((lambda (&saved~1187093766~2396) (set! &make-free-name~1187093766~2110 (lambda (&symbol~1187093766~2430) &symbol~1187093766~2430)) (call-with-values (lambda () ((lambda (&saved~1187093766~2401) (set! &*usage-env*~1187093766~2068 (&r6rs-environment-env~1187093766~2212 &r6rs-env~1187093766~2392)) (call-with-values (lambda () ((lambda (&saved~1187093766~2406) (set! &*macro-table*~1187093766~2077 &*macro-table*~1187093766~2077) (call-with-values (lambda () ((lambda (&imported-libraries~1187093766~2411) (&import-libraries-for-expand~1187093766~2191 (&r6rs-environment-imported-libraries~1187093766~2211 &r6rs-env~1187093766~2392) (map not &imported-libraries~1187093766~2411) 0) (&write-file~1187093766~2239 (cons (cons 'ex:import-libraries-for-run (cons (list 'quote (&r6rs-environment-imported-libraries~1187093766~2211 &r6rs-env~1187093766~2392)) (cons (list 'quote (¤t-builds~1187093766~2190 &imported-libraries~1187093766~2411)) '(0)))) (&expand-toplevel-sequence~1187093766~2234 (&read-file~1187093766~2238 &filename~1187093766~2390))) &target-filename~1187093766~2391)) (&r6rs-environment-imported-libraries~1187093766~2211 &r6rs-env~1187093766~2392))) (lambda &results~1187093766~2418 (set! &*macro-table*~1187093766~2077 &saved~1187093766~2406) (apply values &results~1187093766~2418)))) &*macro-table*~1187093766~2077)) (lambda &results~1187093766~2422 (set! &*usage-env*~1187093766~2068 &saved~1187093766~2401) (apply values &results~1187093766~2422)))) &*usage-env*~1187093766~2068)) (lambda &results~1187093766~2426 (set! &make-free-name~1187093766~2110 &saved~1187093766~2396) (apply values &results~1187093766~2426)))) &make-free-name~1187093766~2110))) (set! &normalize~1187093766~2237 (lambda (&exps~1187093766~2351) ((lambda (&error~1187093766~2352) (set! &error~1187093766~2352 (lambda () ((lambda (&newline~1187093766~2387) (&syntax-violation~1187093766~2207 'expand-file (string-append "File should be of the form:" &newline~1187093766~2387 " *" &newline~1187093766~2387 " | * ") &exps~1187093766~2351)) (string #\newline)))) (((lambda (&loop~1187093766~2358) ((lambda (&temp~1187093766~2361) (set! &loop~1187093766~2358 &temp~1187093766~2361) ((lambda () &loop~1187093766~2358))) (lambda (&exps~1187093766~2366 &normalized~1187093766~2367) (if (null? &exps~1187093766~2366) (reverse &normalized~1187093766~2367) (if (pair? (car &exps~1187093766~2366)) ((lambda (&t~1187093766~2373) (if (memv &t~1187093766~2373 '(library)) (begin (&loop~1187093766~2358 (cdr &exps~1187093766~2366) (cons (car &exps~1187093766~2366) &normalized~1187093766~2367))) (if (memv &t~1187093766~2373 '(import)) (begin (&loop~1187093766~2358 '() (cons (cons 'program &exps~1187093766~2366) &normalized~1187093766~2367))) (begin (&error~1187093766~2352))))) (caar &exps~1187093766~2366)) (&error~1187093766~2352)))))) &unspecified~1187093766~179) &exps~1187093766~2351 '())) ex:undefined))) (set! &read-file~1187093766~2238 (lambda (&fn~1187093766~2329) ((lambda (&p~1187093766~2332) (((lambda (&f~1187093766~2338) ((lambda (&temp~1187093766~2341) (set! &f~1187093766~2338 &temp~1187093766~2341) ((lambda () &f~1187093766~2338))) (lambda (&x~1187093766~2346) (if (eof-object? &x~1187093766~2346) (begin (close-input-port &p~1187093766~2332) '()) (cons &x~1187093766~2346 (&f~1187093766~2338 (read &p~1187093766~2332))))))) &unspecified~1187093766~179) (read &p~1187093766~2332))) (open-input-file &fn~1187093766~2329)))) (set! &write-file~1187093766~2239 (lambda (&exps~1187093766~2320 &fn~1187093766~2321) (if (file-exists? &fn~1187093766~2321) (delete-file &fn~1187093766~2321)) ((lambda (&p~1187093766~2324) (for-each (lambda (&exp~1187093766~2326) (pretty-print &exp~1187093766~2326 &p~1187093766~2324)) &exps~1187093766~2320) (close-output-port &p~1187093766~2324)) (open-output-file &fn~1187093766~2321)))) (set! &toplevel-template~1187093766~2240 (&make-identifier~1187093766~2098 'toplevel-template '() '() 0 #f)) (set! &source->syntax~1187093766~2241 (lambda (&datum~1187093766~2315) (&datum->syntax~1187093766~2137 &toplevel-template~1187093766~2240 &datum~1187093766~2315))) (set! &library-language-names~1187093766~2242 '(program library export import for run expand meta only except prefix rename primitives >= <= and or not)) (set! &make-library-language~1187093766~2243 (lambda () (map (lambda (&name~1187093766~2308) (cons &name~1187093766~2308 (&make-binding~1187093766~2112 'macro &name~1187093766~2308 '(0) #f '()))) &library-language-names~1187093766~2242))) (ex:register-library! ((lambda (&primitive-macro-mapping~1187093766~2274) (ex:make-library '(core primitive-macros) (lambda () '()) (map (lambda (&mapping~1187093766~2279) (cons (car &mapping~1187093766~2279) (&make-binding~1187093766~2112 'macro (car &mapping~1187093766~2279) '(0) #f '()))) &primitive-macro-mapping~1187093766~2274) '() '() (lambda () (for-each (lambda (&mapping~1187093766~2287) (®ister-macro!~1187093766~2149 (car &mapping~1187093766~2287) (&make-expander~1187093766~2144 (cdr &mapping~1187093766~2287)))) &primitive-macro-mapping~1187093766~2274) (values)) (lambda () (values)) 'system)) (list (cons 'lambda &expand-lambda~1187093766~2162) (cons 'if &expand-if~1187093766~2156) (cons 'set! &expand-set!~1187093766~2157) (cons 'begin &expand-begin~1187093766~2158) (cons 'syntax &expand-syntax~1187093766~2177) (cons 'quote &expand-quote~1187093766~2155) (cons 'let-syntax &expand-local-syntax~1187093766~2159) (cons 'letrec-syntax &expand-local-syntax~1187093766~2159) (cons 'syntax-case &expand-syntax-case~1187093766~2175) (cons 'and &expand-and~1187093766~2160) (cons 'or &expand-or~1187093766~2161) (cons 'define &invalid-form~1187093766~2231) (cons 'define-syntax &invalid-form~1187093766~2231) (cons '_ &invalid-form~1187093766~2231) (cons '... &invalid-form~1187093766~2231)))) (set! &*toplevel-env*~1187093766~2065 (&make-unit-env~1187093766~2126)) (set! &*usage-env*~1187093766~2068 &*toplevel-env*~1187093766~2065) (&env-import!~1187093766~2189 &toplevel-template~1187093766~2240 (&make-library-language~1187093766~2243) &*toplevel-env*~1187093766~2065) (®ister-macro!~1187093766~2149 'library (&make-expander~1187093766~2144 &invalid-form~1187093766~2231)) (®ister-macro!~1187093766~2149 'program (&make-expander~1187093766~2144 &invalid-form~1187093766~2231)) (®ister-macro!~1187093766~2149 'import (&make-expander~1187093766~2144 &invalid-form~1187093766~2231)) (set! ex:make-variable-transformer &make-variable-transformer~1187093766~2146) (set! ex:identifier? &identifier?~1187093766~2099) (set! ex:bound-identifier=? &bound-identifier=?~1187093766~2106) (set! ex:free-identifier=? &free-identifier=?~1187093766~2107) (set! ex:generate-temporaries &generate-temporaries~1187093766~2139) (set! ex:datum->syntax &datum->syntax~1187093766~2137) (set! ex:syntax->datum &syntax->datum~1187093766~2138) (set! ex:environment &environment~1187093766~2213) (set! ex:environment-bindings &environment-bindings~1187093766~2215) (set! ex:eval &r6rs-eval~1187093766~2214) (set! ex:syntax-violation &syntax-violation~1187093766~2207) (set! ex:expand-file &expand-file~1187093766~2235) (set! ex:repl &repl~1187093766~2232) (set! ex:expand-r5rs-file &expand-r5rs-file~1187093766~2236) (set! ex:invalid-form &invalid-form~1187093766~2231) (set! ex:register-macro! ®ister-macro!~1187093766~2149) (set! ex:syntax-rename &syntax-rename~1187093766~2136) (set! ex:map-while &map-while~1187093766~2224) (set! ex:dotted-length &dotted-length~1187093766~2221) (set! ex:dotted-butlast &dotted-butlast~1187093766~2222) (set! ex:dotted-last &dotted-last~1187093766~2223) (set! ex:uncompress &uncompress~1187093766~2134) (set! ex:free=? &free=?~1187093766~2108)) ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined ex:undefined)) (record-constructor (make-record-constructor-descriptor &:identifier~1187093766~2095 #f #f)))) (make-record-type-descriptor 'identifier #f #f #f #f '#5((immutable name) (immutable colors) (immutable transformer-envs) (immutable displacement) (immutable maybe-library))))) #f)) '())) (list '()))) '())) '())) '())) #f)) 0)) #f)) #f)