tenc-koi8.lisp - clic - Clic is an command line interactive client for gopher written in Common LISP HTML git clone git://bitreich.org/clic/ git://hg6vgqziawt5s4dj.onion/clic/ DIR Log DIR Files DIR Refs DIR Tags DIR LICENSE --- tenc-koi8.lisp (19034B) --- 1 ;;;; -*- Mode: lisp; indent-tabs-mode: nil -*- 2 ;;; 3 ;;; enc-cp1251.lisp --- Implementation of the CP1251 character encoding. 4 ;;; 5 ;;; Copyright (C) 2009, Andrey Moskvitin 6 ;;; 7 ;;; Permission is hereby granted, free of charge, to any person 8 ;;; obtaining a copy of this software and associated documentation 9 ;;; files (the "Software"), to deal in the Software without 10 ;;; restriction, including without limitation the rights to use, copy, 11 ;;; modify, merge, publish, distribute, sublicense, and/or sell copies 12 ;;; of the Software, and to permit persons to whom the Software is 13 ;;; furnished to do so, subject to the following conditions: 14 ;;; 15 ;;; The above copyright notice and this permission notice shall be 16 ;;; included in all copies or substantial portions of the Software. 17 ;;; 18 ;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 ;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 ;;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 ;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 ;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 ;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 ;;; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 ;;; DEALINGS IN THE SOFTWARE. 26 27 (in-package #:babel-encodings) 28 29 (define-character-encoding :koi8-ru 30 "An 8-bit, fixed-width character Russian encoding." 31 :literal-char-code-limit #x80) 32 33 (define-constant +koi8-ru-to-unicode+ 34 #(#x2500 #x2502 #x250C #x2510 #x2514 #x2518 #x251C #x2524 35 #x252C #x2534 #x253C #x2580 #x2584 #x2588 #x258C #x2590 36 #x2591 #x2592 #x2593 #x2320 #x25A0 #x2219 #x221A #x2248 37 #x2264 #x2265 #x00A0 #x2321 #x00B0 #x00B2 #x00B7 #x00F7 38 #x2550 #x2551 #x2552 #x0451 #x0454 #x2554 #x0456 #x0457 39 #x2557 #x2558 #x2559 #x255A #x255B #x0491 #x045E #x255E 40 #x255F #x2560 #x2561 #x0401 #x0404 #x2563 #x0406 #x0407 41 #x2566 #x2567 #x2568 #x2569 #x256A #x0490 #x040E #x00A9 42 #x044E #x0430 #x0431 #x0446 #x0434 #x0435 #x0444 #x0433 43 #x0445 #x0438 #x0439 #x043A #x043B #x043C #x043D #x043E 44 #x043F #x044F #x0440 #x0441 #x0442 #x0443 #x0436 #x0432 45 #x044C #x044B #x0437 #x0448 #x044D #x0449 #x0447 #x044A 46 #x042E #x0410 #x0411 #x0426 #x0414 #x0415 #x0424 #x0413 47 #x0425 #x0418 #x0419 #x041A #x041B #x041C #x041D #x041E 48 #x041F #x042F #x0420 #x0421 #x0422 #x0423 #x0416 #x0412 49 #x042C #x042B #x0417 #x0428 #x042D #x0429 #x0427 #x042A) 50 :test #'equalp) 51 52 (define-unibyte-decoder :koi8-ru (octet) 53 (if (< octet #x80) 54 octet 55 (svref +koi8-ru-to-unicode+ (the ub8 (- octet #x80))))) 56 57 (define-constant +unicode-04->koi8-ru+ 58 #(#x7f #x79 #x78 #x7c #x60 #x71 #x41 #x42 #x57 #x47 #x44 #x45 #x56 #x5a 59 #x49 #x4a #x4b #x4c #x4d #x4e #x4f #x50 #x52 #x53 #x54 #x55 #x46 #x48 60 #x43 #x5e #x5b #x5d #x5f #x59 #x58 #x5c #x40 #x51 nil #x23 nil nil #x24 61 nil #x26 #x27 nil nil nil nil nil nil #x2e nil nil nil nil nil nil nil 62 nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil 63 nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil 64 nil nil nil nil nil nil #x3d #x2d) 65 :test 'equalp) 66 67 (define-unibyte-encoder :koi8-ru (code) 68 (or (and (< code #x80) code) 69 (let ((hi (ldb (byte 8 8) code)) 70 (lo (ldb (byte 8 0) code))) 71 (case hi 72 (#x4 73 (case lo 74 (#x1 #xb3) 75 (#x4 #xb4) 76 (#x6 #xb6) 77 (#x7 #xb7) 78 (#xe #xbe) 79 (#x10 #xe1) 80 (#x11 #xe2) 81 (#x12 #xf7) 82 (#x13 #xe7) 83 (#x14 #xe4) 84 (#x15 #xe5) 85 (#x16 #xf6) 86 (#x17 #xfa) 87 (#x18 #xe9) 88 (#x19 #xea) 89 (#x1a #xeb) 90 (#x1b #xec) 91 (#x1c #xed) 92 (#x1d #xee) 93 (#x1e #xef) 94 (#x1f #xf0) 95 (#x20 #xf2) 96 (#x21 #xf3) 97 (#x22 #xf4) 98 (#x23 #xf5) 99 (#x24 #xe6) 100 (#x25 #xe8) 101 (#x26 #xe3) 102 (#x27 #xfe) 103 (#x28 #xfb) 104 (#x29 #xfd) 105 (#x2a #xff) 106 (#x2b #xf9) 107 (#x2c #xf8) 108 (#x2d #xfc) 109 (#x2e #xe0) 110 (#x2f #xf1) 111 (#x30 #xc1) 112 (#x31 #xc2) 113 (#x32 #xd7) 114 (#x33 #xc7) 115 (#x34 #xc4) 116 (#x35 #xc5) 117 (#x36 #xd6) 118 (#x37 #xda) 119 (#x38 #xc9) 120 (#x39 #xca) 121 (#x3a #xcb) 122 (#x3b #xcc) 123 (#x3c #xcd) 124 (#x3d #xce) 125 (#x3e #xcf) 126 (#x3f #xd0) 127 (#x40 #xd2) 128 (#x41 #xd3) 129 (#x42 #xd4) 130 (#x43 #xd5) 131 (#x44 #xc6) 132 (#x45 #xc8) 133 (#x46 #xc3) 134 (#x47 #xde) 135 (#x48 #xdb) 136 (#x49 #xdd) 137 (#x4a #xdf) 138 (#x4b #xd9) 139 (#x4c #xd8) 140 (#x4d #xdc) 141 (#x4e #xc0) 142 (#x4f #xd1) 143 (#x51 #xa3) 144 (#x54 #xa4) 145 (#x56 #xa6) 146 (#x57 #xa7) 147 (#x5e #xae) 148 (#x90 #xbd) 149 (#x91 #xad))) 150 (#x0 151 (case lo 152 (#xa0 #x9a) 153 (#xa9 #xbf) 154 (#xb0 #x9c) 155 (#xb2 #x9d) 156 (#xb7 #x9e) 157 (#xf7 #x9f))) 158 (#x22 (case lo (#x19 #x95) (#x1a #x96) (#x48 #x97) (#x64 #x98) (#x65 #x99))) 159 (#x23 (case lo (#x20 #x93) (#x21 #x9b))) 160 (#x25 161 (case lo 162 (#x0 #x80) 163 (#x2 #x81) 164 (#xc #x82) 165 (#x10 #x83) 166 (#x14 #x84) 167 (#x18 #x85) 168 (#x1c #x86) 169 (#x24 #x87) 170 (#x2c #x88) 171 (#x34 #x89) 172 (#x3c #x8a) 173 (#x50 #xa0) 174 (#x51 #xa1) 175 (#x52 #xa2) 176 (#x54 #xa5) 177 (#x57 #xa8) 178 (#x58 #xa9) 179 (#x59 #xaa) 180 (#x5a #xab) 181 (#x5b #xac) 182 (#x5e #xaf) 183 (#x5f #xb0) 184 (#x60 #xb1) 185 (#x61 #xb2) 186 (#x63 #xb5) 187 (#x66 #xb8) 188 (#x67 #xb9) 189 (#x68 #xba) 190 (#x69 #xbb) 191 (#x6a #xbc) 192 (#x80 #x8b) 193 (#x84 #x8c) 194 (#x88 #x8d) 195 (#x8c #x8e) 196 (#x90 #x8f) 197 (#x91 #x90) 198 (#x92 #x91) 199 (#x93 #x92) 200 (#xa0 #x94))))) 201 (handle-error))) 202 203 (define-character-encoding :koi8-r 204 "An 8-bit, fixed-width character Russian encoding." 205 :literal-char-code-limit #x80) 206 207 (define-constant +koi8-r-to-unicode+ 208 #(#x2500 #x2502 #x250C #x2510 #x2514 #x2518 #x251C #x2524 209 #x252C #x2534 #x253C #x2580 #x2584 #x2588 #x258C #x2590 210 #x2591 #x2592 #x2593 #x2320 #x25A0 #x2219 #x221A #x2248 211 #x2264 #x2265 #x00A0 #x2321 #x00B0 #x00B2 #x00B7 #x00F7 212 #x2550 #x2551 #x2552 #x0451 #x2553 #x2554 #x2555 #x2556 213 #x2557 #x2558 #x2559 #x255A #x255B #x255C #x255D #x255E 214 #x255F #x2560 #x2561 #x0401 #x2562 #x2563 #x2564 #x2565 215 #x2566 #x2567 #x2568 #x2569 #x256A #x256B #x256C #x00A9 216 #x044E #x0430 #x0431 #x0446 #x0434 #x0435 #x0444 #x0433 217 #x0445 #x0438 #x0439 #x043A #x043B #x043C #x043D #x043E 218 #x043F #x044F #x0440 #x0441 #x0442 #x0443 #x0436 #x0432 219 #x044C #x044B #x0437 #x0448 #x044D #x0449 #x0447 #x044A 220 #x042E #x0410 #x0411 #x0426 #x0414 #x0415 #x0424 #x0413 221 #x0425 #x0418 #x0419 #x041A #x041B #x041C #x041D #x041E 222 #x041F #x042F #x0420 #x0421 #x0422 #x0423 #x0416 #x0412 223 #x042C #x042B #x0417 #x0428 #x042D #x0429 #x0427 #x042A) 224 :test #'equalp) 225 226 (define-unibyte-decoder :koi8-r (octet) 227 (if (< octet #x80) 228 octet 229 (svref +koi8-r-to-unicode+ (the ub8 (- octet #x80))))) 230 231 (define-constant +unicode-x04->koi8-r+ 232 #(nil #x33 nil nil nil nil nil nil nil nil nil nil nil nil nil nil #x61 233 #x62 #x77 #x67 #x64 #x65 #x76 #x7a #x69 #x6a #x6b #x6c #x6d #x6e #x6f 234 #x70 #x72 #x73 #x74 #x75 #x66 #x68 #x63 #x7e #x7b #x7d #x7f #x79 #x78 235 #x7c #x60 #x71 #x41 #x42 #x57 #x47 #x44 #x45 #x56 #x5a #x49 #x4a #x4b 236 #x4c #x4d #x4e #x4f #x50 #x52 #x53 #x54 #x55 #x46 #x48 #x43 #x5e #x5b 237 #x5d #x5f #x59 #x58 #x5c #x40 #x51 nil #x23) 238 :test 'equalp) 239 240 (define-constant +unicode-x25->koi8-r+ 241 #(#x0 nil #x1 nil nil nil nil nil nil nil nil nil #x2 nil nil nil #x3 nil 242 nil nil #x4 nil nil nil #x5 nil nil nil #x6 nil nil nil nil nil nil nil 243 #x7 nil nil nil nil nil nil nil #x8 nil nil nil nil nil nil nil #x9 nil 244 nil nil nil nil nil nil #xa nil nil nil nil nil nil nil nil nil nil nil 245 nil nil nil nil nil nil nil nil #x20 #x21 #x22 #x24 #x25 #x26 #x27 #x28 246 #x29 #x2a #x2b #x2c #x2d #x2e #x2f #x30 #x31 #x32 #x34 #x35 #x36 #x37 247 #x38 #x39 #x3a #x3b #x3c #x3d #x3e nil nil nil nil nil nil nil nil nil 248 nil nil nil nil nil nil nil nil nil nil #xb nil nil nil #xc nil nil nil 249 #xd nil nil nil #xe nil nil nil #xf #x10 #x11 #x12 nil nil nil nil nil 250 nil nil nil nil nil nil nil #x14) 251 :test 'equalp) 252 253 (define-unibyte-encoder :koi8-r (code) 254 (or (and (< code #x80) code) 255 (let ((hi (ldb (byte 8 8) code)) 256 (lo (ldb (byte 8 0) code))) 257 (case hi 258 (#x4 259 (case lo 260 (#x1 #xb3) 261 (#x10 #xe1) 262 (#x11 #xe2) 263 (#x12 #xf7) 264 (#x13 #xe7) 265 (#x14 #xe4) 266 (#x15 #xe5) 267 (#x16 #xf6) 268 (#x17 #xfa) 269 (#x18 #xe9) 270 (#x19 #xea) 271 (#x1a #xeb) 272 (#x1b #xec) 273 (#x1c #xed) 274 (#x1d #xee) 275 (#x1e #xef) 276 (#x1f #xf0) 277 (#x20 #xf2) 278 (#x21 #xf3) 279 (#x22 #xf4) 280 (#x23 #xf5) 281 (#x24 #xe6) 282 (#x25 #xe8) 283 (#x26 #xe3) 284 (#x27 #xfe) 285 (#x28 #xfb) 286 (#x29 #xfd) 287 (#x2a #xff) 288 (#x2b #xf9) 289 (#x2c #xf8) 290 (#x2d #xfc) 291 (#x2e #xe0) 292 (#x2f #xf1) 293 (#x30 #xc1) 294 (#x31 #xc2) 295 (#x32 #xd7) 296 (#x33 #xc7) 297 (#x34 #xc4) 298 (#x35 #xc5) 299 (#x36 #xd6) 300 (#x37 #xda) 301 (#x38 #xc9) 302 (#x39 #xca) 303 (#x3a #xcb) 304 (#x3b #xcc) 305 (#x3c #xcd) 306 (#x3d #xce) 307 (#x3e #xcf) 308 (#x3f #xd0) 309 (#x40 #xd2) 310 (#x41 #xd3) 311 (#x42 #xd4) 312 (#x43 #xd5) 313 (#x44 #xc6) 314 (#x45 #xc8) 315 (#x46 #xc3) 316 (#x47 #xde) 317 (#x48 #xdb) 318 (#x49 #xdd) 319 (#x4a #xdf) 320 (#x4b #xd9) 321 (#x4c #xd8) 322 (#x4d #xdc) 323 (#x4e #xc0) 324 (#x4f #xd1) 325 (#x51 #xa3))) 326 (#x0 327 (case lo 328 (#xa0 #x9a) 329 (#xa9 #xbf) 330 (#xb0 #x9c) 331 (#xb2 #x9d) 332 (#xb7 #x9e) 333 (#xf7 #x9f))) 334 (#x22 (case lo (#x19 #x95) (#x1a #x96) (#x48 #x97) (#x64 #x98) (#x65 #x99))) 335 (#x23 (case lo (#x20 #x93) (#x21 #x9b))) 336 (#x25 337 (case lo 338 (#x0 #x80) 339 (#x2 #x81) 340 (#xc #x82) 341 (#x10 #x83) 342 (#x14 #x84) 343 (#x18 #x85) 344 (#x1c #x86) 345 (#x24 #x87) 346 (#x2c #x88) 347 (#x34 #x89) 348 (#x3c #x8a) 349 (#x50 #xa0) 350 (#x51 #xa1) 351 (#x52 #xa2) 352 (#x53 #xa4) 353 (#x54 #xa5) 354 (#x55 #xa6) 355 (#x56 #xa7) 356 (#x57 #xa8) 357 (#x58 #xa9) 358 (#x59 #xaa) 359 (#x5a #xab) 360 (#x5b #xac) 361 (#x5c #xad) 362 (#x5d #xae) 363 (#x5e #xaf) 364 (#x5f #xb0) 365 (#x60 #xb1) 366 (#x61 #xb2) 367 (#x62 #xb4) 368 (#x63 #xb5) 369 (#x64 #xb6) 370 (#x65 #xb7) 371 (#x66 #xb8) 372 (#x67 #xb9) 373 (#x68 #xba) 374 (#x69 #xbb) 375 (#x6a #xbc) 376 (#x6b #xbd) 377 (#x6c #xbe) 378 (#x80 #x8b) 379 (#x84 #x8c) 380 (#x88 #x8d) 381 (#x8c #x8e) 382 (#x90 #x8f) 383 (#x91 #x90) 384 (#x92 #x91) 385 (#x93 #x92) 386 (#xa0 #x94))))) 387 (handle-error))) 388 389 (define-character-encoding :koi8-u 390 "An 8-bit, fixed-width character Ukranian encoding." 391 :literal-char-code-limit #x80) 392 393 (define-constant +koi8-u-to-unicode+ 394 #(#x2500 #x2502 #x250C #x2510 #x2514 #x2518 #x251C #x2524 395 #x252C #x2534 #x253C #x2580 #x2584 #x2588 #x258C #x2590 396 #x2591 #x2592 #x2593 #x2320 #x25A0 #x2219 #x221A #x2248 397 #x2264 #x2265 #x00A0 #x2321 #x00B0 #x00B2 #x00B7 #x00F7 398 #x2550 #x2551 #x2552 #x0451 #x0454 #x2554 #x0456 #x0457 399 #x2557 #x2558 #x2559 #x255A #x255B #x0491 #x255D #x255E 400 #x255F #x2560 #x2561 #x0401 #x0404 #x2563 #x0406 #x0407 401 #x2566 #x2567 #x2568 #x2569 #x256A #x0490 #x256C #x00A9 402 #x044E #x0430 #x0431 #x0446 #x0434 #x0435 #x0444 #x0433 403 #x0445 #x0438 #x0439 #x043A #x043B #x043C #x043D #x043E 404 #x043F #x044F #x0440 #x0441 #x0442 #x0443 #x0436 #x0432 405 #x044C #x044B #x0437 #x0448 #x044D #x0449 #x0447 #x044A 406 #x042E #x0410 #x0411 #x0426 #x0414 #x0415 #x0424 #x0413 407 #x0425 #x0418 #x0419 #x041A #x041B #x041C #x041D #x041E 408 #x041F #x042F #x0420 #x0421 #x0422 #x0423 #x0416 #x0412 409 #x042C #x042B #x0417 #x0428 #x042D #x0429 #x0427 #x042A ) 410 :test #'equalp) 411 412 (define-unibyte-decoder :koi8-u (octet) 413 (if (< octet #x80) 414 octet 415 (svref +koi8-u-to-unicode+ (the ub8 (- octet #x80))))) 416 417 (define-constant +unicode-x04->koi8-u+ 418 #(nil #x33 nil nil #x34 nil #x36 #x37 nil nil nil nil nil nil nil nil #x61 419 #x62 #x77 #x67 #x64 #x65 #x76 #x7a #x69 #x6a #x6b #x6c #x6d #x6e #x6f 420 #x70 #x72 #x73 #x74 #x75 #x66 #x68 #x63 #x7e #x7b #x7d #x7f #x79 #x78 421 #x7c #x60 #x71 #x41 #x42 #x57 #x47 #x44 #x45 #x56 #x5a #x49 #x4a #x4b 422 #x4c #x4d #x4e #x4f #x50 #x52 #x53 #x54 #x55 #x46 #x48 #x43 #x5e #x5b 423 #x5d #x5f #x59 #x58 #x5c #x40 #x51 nil #x23 nil nil #x24 nil #x26 #x27 424 nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil 425 nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil 426 nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil 427 nil nil #x3d #x2d) 428 :test 'equalp) 429 430 (define-constant +unicode-x25->koi8-u+ 431 #(#x0 nil #x1 nil nil nil nil nil nil nil nil nil #x2 nil nil nil #x3 nil 432 nil nil #x4 nil nil nil #x5 nil nil nil #x6 nil nil nil nil nil nil nil 433 #x7 nil nil nil nil nil nil nil #x8 nil nil nil nil nil nil nil #x9 nil 434 nil nil nil nil nil nil #xa nil nil nil nil nil nil nil nil nil nil nil 435 nil nil nil nil nil nil nil nil #x20 #x21 #x22 nil #x25 nil nil #x28 436 #x29 #x2a #x2b #x2c nil #x2e #x2f #x30 #x31 #x32 nil #x35 nil nil #x38 437 #x39 #x3a #x3b #x3c nil #x3e nil nil nil nil nil nil nil nil nil nil nil 438 nil nil nil nil nil nil nil nil #xb nil nil nil #xc nil nil nil #xd nil 439 nil nil #xe nil nil nil #xf #x10 #x11 #x12 nil nil nil nil nil nil nil 440 nil nil nil nil nil #x14) 441 :test 'equalp) 442 443 (define-unibyte-encoder :koi8-u (code) 444 (or (and (< code #x80) code) 445 (let ((hi (ldb (byte 8 8) code)) 446 (lo (ldb (byte 8 0) code))) 447 (case hi 448 (#x4 449 (case lo 450 (#x1 #xb3) 451 (#x4 #xb4) 452 (#x6 #xb6) 453 (#x7 #xb7) 454 (#x10 #xe1) 455 (#x11 #xe2) 456 (#x12 #xf7) 457 (#x13 #xe7) 458 (#x14 #xe4) 459 (#x15 #xe5) 460 (#x16 #xf6) 461 (#x17 #xfa) 462 (#x18 #xe9) 463 (#x19 #xea) 464 (#x1a #xeb) 465 (#x1b #xec) 466 (#x1c #xed) 467 (#x1d #xee) 468 (#x1e #xef) 469 (#x1f #xf0) 470 (#x20 #xf2) 471 (#x21 #xf3) 472 (#x22 #xf4) 473 (#x23 #xf5) 474 (#x24 #xe6) 475 (#x25 #xe8) 476 (#x26 #xe3) 477 (#x27 #xfe) 478 (#x28 #xfb) 479 (#x29 #xfd) 480 (#x2a #xff) 481 (#x2b #xf9) 482 (#x2c #xf8) 483 (#x2d #xfc) 484 (#x2e #xe0) 485 (#x2f #xf1) 486 (#x30 #xc1) 487 (#x31 #xc2) 488 (#x32 #xd7) 489 (#x33 #xc7) 490 (#x34 #xc4) 491 (#x35 #xc5) 492 (#x36 #xd6) 493 (#x37 #xda) 494 (#x38 #xc9) 495 (#x39 #xca) 496 (#x3a #xcb) 497 (#x3b #xcc) 498 (#x3c #xcd) 499 (#x3d #xce) 500 (#x3e #xcf) 501 (#x3f #xd0) 502 (#x40 #xd2) 503 (#x41 #xd3) 504 (#x42 #xd4) 505 (#x43 #xd5) 506 (#x44 #xc6) 507 (#x45 #xc8) 508 (#x46 #xc3) 509 (#x47 #xde) 510 (#x48 #xdb) 511 (#x49 #xdd) 512 (#x4a #xdf) 513 (#x4b #xd9) 514 (#x4c #xd8) 515 (#x4d #xdc) 516 (#x4e #xc0) 517 (#x4f #xd1) 518 (#x51 #xa3) 519 (#x54 #xa4) 520 (#x56 #xa6) 521 (#x57 #xa7) 522 (#x90 #xbd) 523 (#x91 #xad))) 524 (#x0 525 (case lo 526 (#xa0 #x9a) 527 (#xa9 #xbf) 528 (#xb0 #x9c) 529 (#xb2 #x9d) 530 (#xb7 #x9e) 531 (#xf7 #x9f))) 532 (#x22 (case lo (#x19 #x95) (#x1a #x96) (#x48 #x97) (#x64 #x98) (#x65 #x99))) 533 (#x23 (case lo (#x20 #x93) (#x21 #x9b))) 534 (#x25 535 (case lo 536 (#x0 #x80) 537 (#x2 #x81) 538 (#xc #x82) 539 (#x10 #x83) 540 (#x14 #x84) 541 (#x18 #x85) 542 (#x1c #x86) 543 (#x24 #x87) 544 (#x2c #x88) 545 (#x34 #x89) 546 (#x3c #x8a) 547 (#x50 #xa0) 548 (#x51 #xa1) 549 (#x52 #xa2) 550 (#x54 #xa5) 551 (#x57 #xa8) 552 (#x58 #xa9) 553 (#x59 #xaa) 554 (#x5a #xab) 555 (#x5b #xac) 556 (#x5d #xae) 557 (#x5e #xaf) 558 (#x5f #xb0) 559 (#x60 #xb1) 560 (#x61 #xb2) 561 (#x63 #xb5) 562 (#x66 #xb8) 563 (#x67 #xb9) 564 (#x68 #xba) 565 (#x69 #xbb) 566 (#x6a #xbc) 567 (#x6c #xbe) 568 (#x80 #x8b) 569 (#x84 #x8c) 570 (#x88 #x8d) 571 (#x8c #x8e) 572 (#x90 #x8f) 573 (#x91 #x90) 574 (#x92 #x91) 575 (#x93 #x92) 576 (#xa0 #x94))))) 577 (handle-error)))