nyacc: lots of C99/CPP fixes. now more robust for code mode
authorMatt Wette <matt.wette@gmail.com>
Sun, 8 Jan 2017 20:16:28 +0000 (12:16 -0800)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sun, 8 Jan 2017 20:16:28 +0000 (12:16 -0800)
12 files changed:
module/nyacc/lang/c99/body.scm
module/nyacc/lang/c99/cpp.scm
module/nyacc/lang/c99/cppbody.scm
module/nyacc/lang/c99/cppmach.scm
module/nyacc/lang/c99/mach.d/c99xact.scm
module/nyacc/lang/c99/mach.d/c99xtab.scm
module/nyacc/lang/c99/mach.d/cppact.scm
module/nyacc/lang/c99/mach.d/cpptab.scm
module/nyacc/lang/c99/parser.scm
module/nyacc/lang/c99/xparser.scm
module/nyacc/lang/util.scm
module/nyacc/lex.scm

index 94db22a0661b45a651e631226e45240800ebbbd3..f7eb9dd2a96b5583548749d64f0c85458e457061 100644 (file)
             'cpp-error
             (lambda ()
               (let* ((defs (cpi-defs info))
-                     ;;(x (simple-format #t "eval-cpp-cond-text: ~S\n" text))
                      (rhs (cpp-expand-text text defs))
-                     ;;(x (simple-format #t "  rhs=>~S\n" rhs))
-                     (exp (parse-cpp-expr rhs))
-                     ;;(x (simple-format #t "  exp=>~S\n" exp))
-                     )
-                (if (not exp) (throw 'c99-error "CPP parse failed"))
+                     (exp (parse-cpp-expr rhs)))
                 (eval-cpp-expr exp defs)))
             (lambda (key fmt . args)
               (report-error fmt args)
index aefaf2721f7684f64326115838e88b1db82f8b25..32fc15304b6fe9ff12f8336af8caf164d048660d 100644 (file)
@@ -143,10 +143,7 @@ todo:
    (list (cons 'len-v len-v) (cons 'pat-v pat-v) (cons 'rto-v rto-v)
         (cons 'mtab mtab) (cons 'act-v act-v))))
 
-;; The included file "cppbody.scm" provides:
-;; gen-cpp-lexer
-;; parse-cpp-expr
-;; eval-cpp-expr
 (include-from-path "nyacc/lang/c99/cppbody.scm")
+;; cppbody.scm provides: gen-cpp-lexer parse-cpp-expr eval-cpp-expr
  
 ;; --- last line ---
index ca5f167e2e0de15a8e7955ccf571d2f99f554023..1b0076538ee7a0126f5d8a8236717635c1c28d6b 100644 (file)
@@ -27,6 +27,7 @@
     (lambda (ch)
       (reader ch #f))))
 
+;; generate a lexical analyzer per string
 (define gen-cpp-lexer
   (make-lexer-generator mtab #:comm-skipper cpp-comm-skipper))
 
@@ -36,7 +37,7 @@
 ;; expanded already so no identifiers should appear in the text.
 ;; A @code{cpp-error} will be thrown if a parse error occurs.
 (define (parse-cpp-expr text)
-  (catch
+  (with-throw-handler
    'nyacc-error
    (lambda ()
      (with-input-from-string text
@@ -48,7 +49,6 @@
 ;; Evaluate a tree produced from @code{parse-cpp-expr}.
 ;; The tree passed to this routine is 
 (define (eval-cpp-expr tree dict)
-  ;;(display "eval-cpp-expr:\n") (pretty-print tree)
   (letrec
       ((tx (lambda (tr ix) (list-ref tr ix)))
        (tx1 (lambda (tr) (tx tr 1)))
@@ -62,7 +62,6 @@
            ((fixed) (string->number (tx1 tree)))
            ((char) (char->integer (tx1 tree)))
            ((defined) (if (assoc-ref dict (tx1 tree)) 1 0))
-           ;;
            ((pre-inc post-inc) (1+ (ev1 tree)))
            ((pre-dec post-dec) (1- (ev1 tree)))
            ((pos) (ev1 tree))
            ((or) (if (and (zero? (ev1 tree)) (zero? (ev2 tree))) 0 1))
            ((and) (if (or (zero? (ev1 tree)) (zero? (ev2 tree))) 0 1))
            ((cond-expr) (if (zero? (ev1 tree)) (ev3 tree) (ev2 tree)))
-           ((ident) (error "text should not have identifiers"))
+           ((ident) (cpp-err "undefined identifier: ~S" (cadr tree)))
            (else (error "incomplete implementation"))))))
-    (catch 'cpp-error
-          (lambda () (eval-expr tree))
-          (lambda () #f))))
-
+    (eval-expr tree)))
 
 ;; @deffn scan-cpp-input argd used dict for-argl => string
 ;; Process the replacement text and generate a (reversed) token-list.
index cfa47fdf77f983571a4de70d0900729a452af520..a2a5e50ba6b9206af922a4ec03498d40e75407bf 100644 (file)
@@ -95,9 +95,9 @@
      (postfix-expression "++" ($$ `(post-inc ,$1)))
      (postfix-expression "--" ($$ `(post-dec ,$1))))
     (primary-expression
-     ;;($ident ($$ `(ident ,$1)))
+     ($ident ($$ `(ident ,$1)))
      ($fixed ($$ `(fixed ,$1)))        ; integer-constant
-     ($chlit ($$ `(char ,$1)))         ; char-constant
+     ($chlit ($$ `(char ,$1))) ; char-constant
      ("defined" "(" $ident ")" ($$ `(defined ,$3)))
      ("(" expression-list ")" ($$ $2)))
     (expression-list
index 5aa879a094a83b3e45f6256088564d1889f1d6d2..1065b81483603c6c56638a14780254855a85e242 100644 (file)
@@ -1,17 +1,15 @@
-;; ../../../../module/nyacc/lang/c99/mach.d/c99xact.scm
+;; ./mach.d/c99xact.scm
 
-;; Copyright (C) 2015,2016 Matthew R. Wette
+;; Copyright (C) 2016,2017 Matthew R. Wette
 ;; 
 ;; This software is covered by the GNU GENERAL PUBLIC LICENCE, Version 3,
-;; or any later version published by the Free Software Foundation.  See the
-;; file COPYING included with the this distribution.
+;; or any later version published by the Free Software Foundation.  See
+;; the file COPYING included with the this distribution.
 
 (define act-v
   (vector
    ;; $start => expression
    (lambda ($1 . $rest) $1)
-   ;; translation-unit-proxy => translation-unit
-   (lambda ($1 . $rest) (tl->list $1))
    ;; primary-expression => identifier
    (lambda ($1 . $rest) `(p-expr ,$1))
    ;; primary-expression => constant
    ;; struct-declarator => ":" constant-expression
    (lambda ($2 $1 . $rest)
      `(comp-declr (bit-field ,$2)))
-   ;; enum-specifier => "enum" identifier "{" enumerator-list "}"
+   ;; enum-specifier => "enum" ident-like "{" enumerator-list "}"
    (lambda ($5 $4 $3 $2 $1 . $rest)
      `(enum-def ,$2 ,(tl->list $4)))
-   ;; enum-specifier => "enum" identifier "{" enumerator-list "," "}"
+   ;; enum-specifier => "enum" ident-like "{" enumerator-list "," "}"
    (lambda ($6 $5 $4 $3 $2 $1 . $rest)
      `(enum-def ,$2 ,(tl->list $4)))
    ;; enum-specifier => "enum" "{" enumerator-list "}"
    ;; enum-specifier => "enum" "{" enumerator-list "," "}"
    (lambda ($5 $4 $3 $2 $1 . $rest)
      `(enum-def ,(tl->list $3)))
-   ;; enum-specifier => "enum" identifier
+   ;; enum-specifier => "enum" ident-like
    (lambda ($2 $1 . $rest) `(enum-ref ,$2))
    ;; enumerator-list => enumerator
    (lambda ($1 . $rest) (make-tl 'enum-def-list $1))
    ;; opt-expression => expression
    (lambda ($1 . $rest) $1)
    ;; jump-statement => "goto" identifier ";"
-   (lambda ($3 $2 $1 . $rest) `(goto $2))
+   (lambda ($3 $2 $1 . $rest) `(goto ,$2))
    ;; jump-statement => "continue" ";"
    (lambda ($2 $1 . $rest) '(continue))
    ;; jump-statement => "break" ";"
    (lambda ($3 $2 $1 . $rest) `(return ,$2))
    ;; jump-statement => "return" ";"
    (lambda ($2 $1 . $rest) `(return (expr)))
-   ;; translation-unit => external-declaration
+   ;; translation-unit => external-declaration-list
+   (lambda ($1 . $rest) (tl->list $1))
+   ;; external-declaration-list => external-declaration
    (lambda ($1 . $rest) (make-tl 'trans-unit $1))
-   ;; translation-unit => translation-unit external-declaration
+   ;; external-declaration-list => external-declaration-list external-decla...
    (lambda ($2 $1 . $rest)
-     (cond ((eqv? 'trans-unit (car $2))
-            (let* ((t1 (tl-append $1 '(extern-C-begin)))
-                   (t2 (tl-extend t1 (cdr $2)))
-                   (t3 (tl-append t2 '(extern-C-end))))
-              t3))
-           (else (tl-append $1 $2))))
+     (if (eqv? (sx-tag $2) 'extern-block)
+       (tl-extend $1 (sx-tail $2 2))
+       (tl-append $1 $2)))
    ;; external-declaration => function-definition
    (lambda ($1 . $rest) $1)
    ;; external-declaration => declaration
    (lambda ($1 . $rest) $1)
    ;; external-declaration => cpp-statement
    (lambda ($1 . $rest) $1)
-   ;; external-declaration => "extern" '$string "{" translation-unit "}"
-   (lambda ($5 $4 $3 $2 $1 . $rest) (tl->list $4))
+   ;; external-declaration => "extern" '$string "{" external-declaration-li...
+   (lambda ($5 $4 $3 $2 $1 . $rest)
+     `(extern-block
+        ,$2
+        (extern-begin ,$2)
+        ,@(sx-tail (tl->list $4) 1)
+        (extern-end)))
    ;; function-definition => declaration-specifiers declarator declaration-...
    (lambda ($4 $3 $2 $1 . $rest)
      `(knr-fctn-defn
index 35b690e149cf6e003c10965167a90222086a13b6..931e1071211db008c751cf9524fb5586c4973396 100644 (file)
-;; ../../../../module/nyacc/lang/c99/mach.d/c99xtab.scm
+;; ./mach.d/c99xtab.scm
 
-;; Copyright (C) 2015,2016 Matthew R. Wette
+;; Copyright (C) 2016,2017 Matthew R. Wette
 ;; 
 ;; This software is covered by the GNU GENERAL PUBLIC LICENCE, Version 3,
-;; or any later version published by the Free Software Foundation.  See the
-;; file COPYING included with the this distribution.
+;; or any later version published by the Free Software Foundation.  See
+;; the file COPYING included with the this distribution.
 
 (define len-v
-  #(1 1 1 1 1 3 1 4 4 3 3 3 2 2 6 7 1 3 1 3 2 1 1 2 2 2 2 4 1 1 1 1 1 1 1 4 
-    1 3 3 3 1 3 3 1 3 3 1 3 3 3 3 1 3 3 1 3 1 3 1 3 1 3 1 3 1 5 1 3 1 1 1 1 1 
-    1 1 1 1 1 1 1 3 1 5 3 0 1 2 1 2 1 2 1 2 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 
-    1 2 2 3 1 1 2 1 2 2 3 2 3 3 4 3 2 2 1 3 2 4 3 1 2 2 1 1 2 1 2 2 3 5 4 2 5 
-    4 2 1 1 1 1 2 2 4 2 1 2 1 1 3 1 3 2 5 6 4 5 2 1 3 1 3 1 1 1 1 2 1 1 3 5 4 
-    4 3 6 6 5 4 4 4 3 2 1 3 2 1 2 1 3 1 3 2 2 1 1 3 2 1 1 2 1 3 5 4 4 3 6 5 6 
-    4 3 3 2 5 4 5 4 3 4 3 3 2 1 1 3 4 2 1 4 3 2 1 2 3 2 1 1 1 1 1 1 1 3 4 3 3 
-    2 1 2 1 1 2 1 5 7 5 5 7 8 2 1 1 0 1 3 2 2 3 2 1 2 1 1 1 1 5 4 3 1 2 0 1 1 
+  #(1 1 1 1 3 1 4 4 3 3 3 2 2 6 7 1 3 1 3 2 1 1 2 2 2 2 4 1 1 1 1 1 1 1 4 1 
+    3 3 3 1 3 3 1 3 3 1 3 3 3 3 1 3 3 1 3 1 3 1 3 1 3 1 3 1 5 1 3 1 1 1 1 1 1 
+    1 1 1 1 1 1 3 1 5 3 0 1 2 1 2 1 2 1 2 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
+    2 2 3 1 1 2 1 2 2 3 2 3 3 4 3 2 2 1 3 2 4 3 1 2 2 1 1 2 1 2 2 3 5 4 2 5 4 
+    2 1 1 1 1 2 2 4 2 1 2 1 1 3 1 3 2 5 6 4 5 2 1 3 1 3 1 1 1 1 2 1 1 3 5 4 4 
+    3 6 6 5 4 4 4 3 2 1 3 2 1 2 1 3 1 3 2 2 1 1 3 2 1 1 2 1 3 5 4 4 3 6 5 6 4 
+    3 3 2 5 4 5 4 3 4 3 3 2 1 1 3 4 2 1 4 3 2 1 2 3 2 1 1 1 1 1 1 1 3 4 3 3 2 
+    1 2 1 1 2 1 5 7 5 5 7 8 2 1 1 0 1 3 2 2 3 2 1 1 2 1 1 1 1 5 4 3 1 2 0 1 1 
     1 1 1 1 1 2 1 1 1))
 
 (define pat-v
-  #(((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (
-    7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (
-    176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (
-    78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (
-    164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (169 . 36) 
-    (175 . 37)) ((-1 . -36)) ((79 . 119) (74 . 120) (73 . 121) (-1 . -40)) ((
-    78 . 117) (77 . 118) (-1 . -43)) ((72 . 115) (71 . 116) (-1 . -46)) ((70 
-    . 111) (69 . 112) (68 . 113) (67 . 114) (-1 . -51)) ((66 . 109) (65 . 110)
-    (-1 . -54)) ((80 . 108) (-1 . -56)) ((-1 . -299)) ((-1 . -298)) ((-1 . 
-    -297)) ((-1 . -296)) ((-1 . -295)) ((-1 . -294)) ((64 . 107) (-1 . -58)) (
-    (63 . 106) (-1 . -60)) ((7 . 105) (-1 . -4)) ((-1 . -3)) ((-1 . -2)) ((62 
-    . 104) (-1 . -62)) ((-1 . -33)) ((-1 . -32)) ((-1 . -31)) ((-1 . -30)) ((
-    -1 . -29)) ((-1 . -28)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5)
-    (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (
-    156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20)
-    (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (
-    153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) (
-    152 . 35) (169 . 36) (175 . 66) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (
+  #(((164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 . 6) (158 . 7) (
+    7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (157 . 14) (156 . 15) (
+    177 . 16) (178 . 17) (179 . 18) (155 . 19) (75 . 20) (76 . 21) (77 . 22) (
+    78 . 23) (79 . 24) (80 . 25) (92 . 26) (175 . 27) (154 . 28) (81 . 29) (
+    165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 . 34) (153 . 35) (170 . 36) 
+    (176 . 37)) ((-1 . -35)) ((79 . 119) (74 . 120) (73 . 121) (-1 . -39)) ((
+    78 . 117) (77 . 118) (-1 . -42)) ((72 . 115) (71 . 116) (-1 . -45)) ((70 
+    . 111) (69 . 112) (68 . 113) (67 . 114) (-1 . -50)) ((66 . 109) (65 . 110)
+    (-1 . -53)) ((80 . 108) (-1 . -55)) ((-1 . -299)) ((-1 . -298)) ((-1 . 
+    -297)) ((-1 . -296)) ((-1 . -295)) ((-1 . -294)) ((64 . 107) (-1 . -57)) (
+    (63 . 106) (-1 . -59)) ((7 . 105) (-1 . -3)) ((-1 . -2)) ((-1 . -1)) ((62 
+    . 104) (-1 . -61)) ((-1 . -32)) ((-1 . -31)) ((-1 . -30)) ((-1 . -29)) ((
+    -1 . -28)) ((-1 . -27)) ((164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5)
+    (159 . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (
+    157 . 14) (156 . 15) (177 . 16) (178 . 17) (179 . 18) (155 . 19) (75 . 20)
+    (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (175 . 27) (
+    154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 . 34) (
+    153 . 35) (170 . 36) (176 . 66) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (
     30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 
-    . 78) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 
-    85) (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (42 . 
-    92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (145 . 98) (146 . 
-    99) (147 . 100) (167 . 101) (130 . 102) (171 . 103)) ((-1 . -6)) ((60 . 64
-    ) (61 . 65) (-1 . -64)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 
-    13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 
-    23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32
-    ) (173 . 33) (165 . 62) (92 . 63)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 
-    . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 
-    22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31
-    ) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 61)) ((7 . 8) (2 . 9) (
-    3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 
-    20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 57) (174 . 27)
-    (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 59)) ((7 . 8) 
-    (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 
+    . 78) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137 . 
+    85) (138 . 86) (139 . 87) (40 . 88) (140 . 89) (141 . 90) (41 . 91) (42 . 
+    92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (145 . 97) (146 . 98) (147 . 
+    99) (148 . 100) (168 . 101) (131 . 102) (172 . 103)) ((-1 . -5)) ((60 . 64
+    ) (61 . 65) (-1 . -63)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 
+    13) (177 . 16) (178 . 17) (179 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 
+    23) (79 . 24) (80 . 25) (175 . 27) (81 . 29) (165 . 30) (85 . 31) (86 . 32
+    ) (174 . 33) (166 . 62) (92 . 63)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 
+    . 12) (6 . 13) (177 . 16) (178 . 17) (179 . 18) (75 . 20) (76 . 21) (77 . 
+    22) (78 . 23) (79 . 24) (80 . 25) (175 . 27) (81 . 29) (165 . 30) (85 . 31
+    ) (86 . 32) (174 . 33) (92 . 26) (166 . 60) (164 . 61)) ((7 . 8) (2 . 9) (
+    3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16) (178 . 17) (179 . 18) (75 . 
+    20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 57) (175 . 27)
+    (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 . 59)) ((7 . 8) 
+    (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16) (178 . 17) (179 . 
     18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 57) 
-    (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 58))
-    ((90 . 51) (92 . 52) (88 . 53) (87 . 54) (86 . 55) (85 . 56) (-1 . -22)) 
+    (175 . 27) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 . 58))
+    ((90 . 51) (92 . 52) (88 . 53) (87 . 54) (86 . 55) (85 . 56) (-1 . -21)) 
     ((48 . 39) (49 . 40) (50 . 41) (51 . 42) (52 . 43) (53 . 44) (54 . 45) (55
-    . 46) (56 . 47) (57 . 48) (58 . 49) (151 . 50) (-1 . -34)) ((-1 . -66)) (
-    (-1 . -79)) ((82 . 38) (96 . 0)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) 
-    (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (
-    6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) 
-    (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174
-    . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165
-    . 34) (152 . 35) (169 . 190)) ((-1 . -78)) ((-1 . -77)) ((-1 . -76)) ((-1
-    . -75)) ((-1 . -74)) ((-1 . -73)) ((-1 . -72)) ((-1 . -71)) ((-1 . -70)) 
-    ((-1 . -69)) ((-1 . -68)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 
-    5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13)
-    (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 
-    20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27)
-    (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34)
-    (152 . 35) (169 . 189)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5
-    ) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) 
-    (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20
-    ) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (
-    153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) (
-    152 . 35) (169 . 36) (175 . 188)) ((91 . 183) (163 . 1) (162 . 2) (161 . 3
-    ) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11
-    ) (5 . 12) (6 . 13) (156 . 14) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (30
+    . 46) (56 . 47) (57 . 48) (58 . 49) (152 . 50) (-1 . -33)) ((-1 . -65)) (
+    (-1 . -78)) ((82 . 38) (96 . 0)) ((164 . 1) (163 . 2) (162 . 3) (161 . 4) 
+    (160 . 5) (159 . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (
+    6 . 13) (157 . 14) (156 . 15) (177 . 16) (178 . 17) (179 . 18) (155 . 19) 
+    (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (175
+    . 27) (154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166
+    . 34) (153 . 35) (170 . 190)) ((-1 . -77)) ((-1 . -76)) ((-1 . -75)) ((-1
+    . -74)) ((-1 . -73)) ((-1 . -72)) ((-1 . -71)) ((-1 . -70)) ((-1 . -69)) 
+    ((-1 . -68)) ((-1 . -67)) ((164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 
+    5) (159 . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13)
+    (157 . 14) (156 . 15) (177 . 16) (178 . 17) (179 . 18) (155 . 19) (75 . 
+    20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (175 . 27)
+    (154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 . 34)
+    (153 . 35) (170 . 189)) ((164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5
+    ) (159 . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) 
+    (157 . 14) (156 . 15) (177 . 16) (178 . 17) (179 . 18) (155 . 19) (75 . 20
+    ) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (175 . 27) (
+    154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 . 34) (
+    153 . 35) (170 . 36) (176 . 188)) ((91 . 183) (164 . 1) (163 . 2) (162 . 3
+    ) (161 . 4) (160 . 5) (159 . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11
+    ) (5 . 12) (6 . 13) (157 . 14) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (30
     . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 
-    78) (39 . 79) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (23 . 80) (24 . 
-    81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 . 
-    88) (139 . 89) (140 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 94) (45 . 95
-    ) (46 . 96) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (
-    80 . 25) (92 . 26) (174 . 27) (144 . 97) (145 . 146) (146 . 147) (147 . 
-    100) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 
-    . 34) (152 . 35) (167 . 184) (168 . 185) (169 . 186) (172 . 187)) ((5 . 12
-    ) (6 . 13) (178 . 182)) ((5 . 12) (6 . 13) (178 . 181)) ((-1 . -12)) ((-1 
-    . -13)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 
+    78) (39 . 79) (156 . 15) (177 . 16) (178 . 17) (179 . 18) (23 . 80) (24 . 
+    81) (25 . 82) (26 . 83) (136 . 84) (137 . 85) (138 . 86) (139 . 87) (40 . 
+    88) (140 . 89) (141 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 94) (45 . 95
+    ) (46 . 96) (155 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (
+    80 . 25) (92 . 26) (175 . 27) (145 . 97) (146 . 146) (147 . 147) (148 . 
+    100) (154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 
+    . 34) (153 . 35) (168 . 184) (169 . 185) (170 . 186) (173 . 187)) ((5 . 12
+    ) (6 . 13) (179 . 182)) ((5 . 12) (6 . 13) (179 . 181)) ((-1 . -11)) ((-1 
+    . -12)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 
     . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (23 . 80
-    ) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 . 87
-    ) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 94) 
-    (45 . 95) (46 . 96) (144 . 97) (145 . 98) (146 . 99) (147 . 100) (167 . 
-    101) (130 . 102) (171 . 180) (163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 
-    . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 
-    13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 
-    . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 
-    27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 
-    34) (152 . 35) (169 . 36) (175 . 66)) ((-1 . -23)) ((-1 . -24)) ((-1 . -34
-    )) ((-1 . -25)) ((-1 . -26)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 
+    ) (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137 . 85) (138 . 86) (139 . 87
+    ) (40 . 88) (140 . 89) (141 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 94) 
+    (45 . 95) (46 . 96) (145 . 97) (146 . 98) (147 . 99) (148 . 100) (168 . 
+    101) (131 . 102) (172 . 180) (164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 
+    . 5) (159 . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 
+    13) (157 . 14) (156 . 15) (177 . 16) (178 . 17) (179 . 18) (155 . 19) (75 
+    . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (175 . 
+    27) (154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 . 
+    34) (153 . 35) (170 . 36) (176 . 66)) ((-1 . -22)) ((-1 . -23)) ((-1 . -33
+    )) ((-1 . -24)) ((-1 . -25)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 
     . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78
-    ) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) 
-    (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (42 . 92) 
-    (43 . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (145 . 98) (146 . 99) (
-    147 . 100) (167 . 101) (130 . 102) (171 . 179) (163 . 1) (162 . 2) (161 . 
-    3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 
-    11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 
-    18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25)
-    (92 . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) 
-    (173 . 33) (165 . 34) (152 . 35) (169 . 36) (175 . 66)) ((163 . 1) (162 . 
-    2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 
-    10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17)
-    (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (
-    80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (
-    86 . 32) (173 . 33) (165 . 34) (152 . 35) (169 . 36) (175 . 178)) ((7 . 8)
-    (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 
-    18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27)
-    (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) 
-    (163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (156
-    . 14) (155 . 15) (154 . 177)) ((91 . 176) (82 . 38)) ((-1 . -234)) ((84 
-    . 174) (5 . 12) (6 . 13) (178 . 175)) ((84 . 172) (5 . 12) (6 . 13) (21 . 
-    67) (135 . 169) (178 . 170) (134 . 173)) ((84 . 168) (5 . 12) (6 . 13) (21
-    . 67) (135 . 169) (178 . 170) (134 . 171)) ((-1 . -139)) ((30 . 167) (-1 
-    . -137)) ((30 . 166) (-1 . -136)) ((-1 . -133)) ((39 . 162) (37 . 163) (35
-    . 164) (33 . 165) (-1 . -128)) ((37 . 159) (35 . 160) (31 . 161) (-1 . 
-    -117)) ((-1 . -114)) ((39 . 155) (37 . 156) (35 . 157) (33 . 158) (-1 . 
-    -115)) ((37 . 154) (-1 . -110)) ((-1 . -177)) ((-1 . -176)) ((-1 . -175)) 
-    ((-1 . -174)) ((-1 . -109)) ((-1 . -108)) ((-1 . -107)) ((-1 . -106)) ((-1
-    . -105)) ((-1 . -104)) ((-1 . -103)) ((-1 . -102)) ((-1 . -101)) ((-1 . 
-    -100)) ((-1 . -99)) ((-1 . -98)) ((-1 . -97)) ((21 . 67) (27 . 68) (28 . 
-    69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) 
-    (37 . 77) (36 . 78) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (135
-    . 84) (136 . 85) (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (
-    41 . 91) (42 . 92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (145
-    . 146) (146 . 147) (147 . 100) (167 . 153) (-1 . -91)) ((23 . 80) (42 . 
-    92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (147 . 100) (167 . 
-    151) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73)
-    (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (24 . 81) (25
-    . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 . 88) (
-    139 . 89) (140 . 90) (41 . 91) (145 . 98) (146 . 99) (130 . 152) (91 . -89
-    ) (79 . -159) (90 . -159) (92 . -159)) ((23 . 80) (42 . 92) (43 . 93) (44 
-    . 94) (45 . 95) (46 . 96) (144 . 97) (147 . 100) (167 . 149) (21 . 67) (27
-    . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 
-    75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) 
-    (135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90
-    ) (41 . 91) (145 . 98) (146 . 99) (130 . 150) (91 . -87) (79 . -157) (90 
-    . -157) (92 . -157)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (
+    ) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137 . 85) 
+    (138 . 86) (139 . 87) (40 . 88) (140 . 89) (141 . 90) (41 . 91) (42 . 92) 
+    (43 . 93) (44 . 94) (45 . 95) (46 . 96) (145 . 97) (146 . 98) (147 . 99) (
+    148 . 100) (168 . 101) (131 . 102) (172 . 179) (164 . 1) (163 . 2) (162 . 
+    3) (161 . 4) (160 . 5) (159 . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 
+    11) (5 . 12) (6 . 13) (157 . 14) (156 . 15) (177 . 16) (178 . 17) (179 . 
+    18) (155 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25)
+    (92 . 26) (175 . 27) (154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 32) 
+    (174 . 33) (166 . 34) (153 . 35) (170 . 36) (176 . 66)) ((164 . 1) (163 . 
+    2) (162 . 3) (161 . 4) (160 . 5) (159 . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 
+    10) (4 . 11) (5 . 12) (6 . 13) (157 . 14) (156 . 15) (177 . 16) (178 . 17)
+    (179 . 18) (155 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (
+    80 . 25) (92 . 26) (175 . 27) (154 . 28) (81 . 29) (165 . 30) (85 . 31) (
+    86 . 32) (174 . 33) (166 . 34) (153 . 35) (170 . 36) (176 . 178)) ((7 . 8)
+    (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16) (178 . 17) (179 . 
+    18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (175 . 27)
+    (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (92 . 26) (166 . 60) 
+    (164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 . 6) (158 . 7) (157
+    . 14) (156 . 15) (155 . 177)) ((91 . 176) (82 . 38)) ((-1 . -233)) ((84 
+    . 174) (5 . 12) (6 . 13) (21 . 67) (136 . 169) (179 . 170) (135 . 175)) ((
+    84 . 172) (5 . 12) (6 . 13) (21 . 67) (136 . 169) (179 . 170) (135 . 173))
+    ((84 . 168) (5 . 12) (6 . 13) (21 . 67) (136 . 169) (179 . 170) (135 . 
+    171)) ((-1 . -138)) ((30 . 167) (-1 . -136)) ((30 . 166) (-1 . -135)) ((-1
+    . -132)) ((39 . 162) (37 . 163) (35 . 164) (33 . 165) (-1 . -127)) ((37 
+    . 159) (35 . 160) (31 . 161) (-1 . -116)) ((-1 . -113)) ((39 . 155) (37 . 
+    156) (35 . 157) (33 . 158) (-1 . -114)) ((37 . 154) (-1 . -109)) ((-1 . 
+    -176)) ((-1 . -175)) ((-1 . -174)) ((-1 . -173)) ((-1 . -108)) ((-1 . -107
+    )) ((-1 . -106)) ((-1 . -105)) ((-1 . -104)) ((-1 . -103)) ((-1 . -102)) (
+    (-1 . -101)) ((-1 . -100)) ((-1 . -99)) ((-1 . -98)) ((-1 . -97)) ((-1 . 
+    -96)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 
+    73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (23 . 80) 
+    (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137 . 85) (138 . 86) (139 . 87) 
+    (40 . 88) (140 . 89) (141 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 94) (
+    45 . 95) (46 . 96) (145 . 97) (146 . 146) (147 . 147) (148 . 100) (168 . 
+    153) (-1 . -90)) ((23 . 80) (42 . 92) (43 . 93) (44 . 94) (45 . 95) (46 . 
+    96) (145 . 97) (148 . 100) (168 . 151) (21 . 67) (27 . 68) (28 . 69) (29 
+    . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77
+    ) (36 . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137 . 85) 
+    (138 . 86) (139 . 87) (40 . 88) (140 . 89) (141 . 90) (41 . 91) (146 . 98)
+    (147 . 99) (131 . 152) (91 . -88) (79 . -158) (90 . -158) (92 . -158)) ((
+    23 . 80) (42 . 92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (145 . 97) (148
+    . 100) (168 . 149) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 
+    . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79
+    ) (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137 . 85) (138 . 86) (139 . 87
+    ) (40 . 88) (140 . 89) (141 . 90) (41 . 91) (146 . 98) (147 . 99) (131 . 
+    150) (91 . -86) (79 . -156) (90 . -156) (92 . -156)) ((21 . 67) (27 . 68) 
+    (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 
+    . 76) (37 . 77) (36 . 78) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83
+    ) (136 . 84) (137 . 85) (138 . 86) (139 . 87) (40 . 88) (140 . 89) (141 . 
+    90) (41 . 91) (42 . 92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (145 . 97)
+    (146 . 146) (147 . 147) (148 . 100) (168 . 148) (-1 . -84)) ((91 . -208))
+    ((90 . 140) (92 . 141) (79 . 142) (118 . 143) (125 . 144) (167 . 145)) ((
+    91 . 139)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16)
+    (178 . 17) (179 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (
+    80 . 25) (175 . 27) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (
+    92 . 26) (166 . 60) (164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159
+    . 6) (158 . 7) (157 . 14) (156 . 138)) ((-1 . -300)) ((7 . 8) (2 . 9) (3 
+    . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16) (178 . 17) (179 . 18) (75 . 20
+    ) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (175 . 27) (81 . 29) (
+    165 . 30) (85 . 31) (86 . 32) (174 . 33) (92 . 26) (166 . 60) (164 . 1) (
+    163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 . 6) (158 . 7) (157 . 137)) ((
+    7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16) (178 . 17) (
+    179 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (175
+    . 27) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (92 . 26) (166 
+    . 60) (164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 . 6) (158 . 
+    136)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16) (178
+    . 17) (179 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 
+    25) (175 . 27) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (92 . 
+    26) (166 . 60) (164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 . 
+    135)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16) (178
+    . 17) (179 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 
+    25) (175 . 27) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (92 . 
+    26) (166 . 60) (164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 134)) ((7 . 
+    8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16) (178 . 17) (179 
+    . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (175 . 
+    27) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (92 . 26) (166 . 
+    60) (164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 133)) ((7 . 8) (2 . 9) 
+    (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16) (178 . 17) (179 . 18) (75 
+    . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (175 . 27) (81 . 
+    29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (92 . 26) (166 . 60) (164 . 
+    1) (163 . 2) (162 . 3) (161 . 132)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 
+    . 12) (6 . 13) (177 . 16) (178 . 17) (179 . 18) (75 . 20) (76 . 21) (77 . 
+    22) (78 . 23) (79 . 24) (80 . 25) (175 . 27) (81 . 29) (165 . 30) (85 . 31
+    ) (86 . 32) (174 . 33) (92 . 26) (166 . 60) (164 . 1) (163 . 2) (162 . 3) 
+    (161 . 131)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 
+    16) (178 . 17) (179 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24
+    ) (80 . 25) (175 . 27) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33)
+    (92 . 26) (166 . 60) (164 . 1) (163 . 2) (162 . 3) (161 . 130)) ((7 . 8) 
+    (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16) (178 . 17) (179 . 
+    18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (175 . 27)
+    (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (92 . 26) (166 . 60) 
+    (164 . 1) (163 . 2) (162 . 3) (161 . 129)) ((7 . 8) (2 . 9) (3 . 10) (4 . 
+    11) (5 . 12) (6 . 13) (177 . 16) (178 . 17) (179 . 18) (75 . 20) (76 . 21)
+    (77 . 22) (78 . 23) (79 . 24) (80 . 25) (175 . 27) (81 . 29) (165 . 30) (
+    85 . 31) (86 . 32) (174 . 33) (92 . 26) (166 . 60) (164 . 1) (163 . 2) (
+    162 . 128)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16
+    ) (178 . 17) (179 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) 
+    (80 . 25) (175 . 27) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (
+    92 . 26) (166 . 60) (164 . 1) (163 . 2) (162 . 127)) ((7 . 8) (2 . 9) (3 
+    . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16) (178 . 17) (179 . 18) (75 . 20
+    ) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (175 . 27) (81 . 29) (
+    165 . 30) (85 . 31) (86 . 32) (174 . 33) (92 . 26) (166 . 60) (164 . 1) (
+    163 . 126)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16
+    ) (178 . 17) (179 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) 
+    (80 . 25) (175 . 27) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (
+    92 . 26) (166 . 60) (164 . 1) (163 . 125)) ((7 . 8) (2 . 9) (3 . 10) (4 . 
+    11) (5 . 12) (6 . 13) (177 . 16) (178 . 17) (179 . 18) (75 . 20) (76 . 21)
+    (77 . 22) (78 . 23) (79 . 24) (80 . 25) (175 . 27) (81 . 29) (165 . 30) (
+    85 . 31) (86 . 32) (174 . 33) (92 . 26) (166 . 60) (164 . 124)) ((7 . 8) (
+    2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16) (178 . 17) (179 . 18
+    ) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (175 . 27) (
+    81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (92 . 26) (166 . 60) (
+    164 . 123)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16
+    ) (178 . 17) (179 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) 
+    (80 . 25) (175 . 27) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (
+    92 . 26) (166 . 60) (164 . 122)) ((-1 . -38)) ((-1 . -37)) ((-1 . -36)) ((
+    79 . 119) (74 . 120) (73 . 121) (-1 . -41)) ((79 . 119) (74 . 120) (73 . 
+    121) (-1 . -40)) ((78 . 117) (77 . 118) (-1 . -44)) ((78 . 117) (77 . 118)
+    (-1 . -43)) ((72 . 115) (71 . 116) (-1 . -49)) ((72 . 115) (71 . 116) (-1
+    . -48)) ((72 . 115) (71 . 116) (-1 . -47)) ((72 . 115) (71 . 116) (-1 . 
+    -46)) ((70 . 111) (69 . 112) (68 . 113) (67 . 114) (-1 . -52)) ((70 . 111)
+    (69 . 112) (68 . 113) (67 . 114) (-1 . -51)) ((66 . 109) (65 . 110) (-1 
+    . -54)) ((80 . 108) (-1 . -56)) ((64 . 107) (-1 . -58)) ((63 . 106) (-1 . 
+    -60)) ((84 . 237) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177
+    . 16) (178 . 17) (179 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 
+    . 24) (80 . 25) (175 . 27) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 
+    . 33) (92 . 26) (166 . 60) (164 . 238)) ((164 . 1) (163 . 2) (162 . 3) (
+    161 . 4) (160 . 5) (159 . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (
+    5 . 12) (6 . 13) (157 . 14) (156 . 15) (177 . 16) (178 . 17) (179 . 18) (
+    155 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (80 . 25) (92 . 26) (175
+    . 27) (154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166
+    . 34) (153 . 35) (170 . 232) (89 . 233) (43 . 234) (24 . 81) (25 . 82) (
+    26 . 83) (146 . 223) (123 . 235) (79 . 236)) ((90 . 140) (92 . 141) (79 . 
+    142) (118 . 143) (125 . 144) (167 . 226) (21 . 67) (27 . 68) (28 . 69) (29
+    . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 
+    77) (36 . 78) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (136 . 84)
+    (137 . 85) (138 . 86) (139 . 87) (40 . 88) (140 . 89) (141 . 90) (41 . 91
+    ) (42 . 92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (145 . 97) (146 . 146)
+    (147 . 147) (148 . 100) (168 . 227) (119 . 228) (120 . 229) (122 . 230) (
+    91 . 231)) ((24 . 81) (25 . 82) (26 . 83) (146 . 223) (123 . 224) (79 . 
+    142) (125 . 225) (-1 . -193)) ((90 . 221) (92 . 222) (91 . -211) (82 . 
+    -211)) ((90 . 140) (92 . 141) (118 . 220) (91 . -209) (82 . -209)) ((91 . 
+    -207)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 
+    73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (23 . 80) 
+    (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137 . 85) (138 . 86) (139 . 87) 
+    (40 . 88) (140 . 89) (141 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 94) (
+    45 . 95) (46 . 96) (145 . 97) (146 . 146) (147 . 147) (148 . 100) (168 . 
+    151) (-1 . -88)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 
+    72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) 
+    (23 . 80) (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137 . 85) (138 . 86) (
+    139 . 87) (40 . 88) (140 . 89) (141 . 90) (41 . 91) (42 . 92) (43 . 93) (
+    44 . 94) (45 . 95) (46 . 96) (145 . 97) (146 . 146) (147 . 147) (148 . 100
+    ) (168 . 149) (-1 . -86)) ((-1 . -85)) ((-1 . -87)) ((-1 . -155)) ((-1 . 
+    -89)) ((-1 . -157)) ((-1 . -91)) ((-1 . -110)) ((37 . 219) (-1 . -111)) ((
+    -1 . -115)) ((35 . 217) (37 . 218) (-1 . -118)) ((-1 . -133)) ((-1 . -117)
+    ) ((37 . 216) (-1 . -120)) ((30 . 215) (-1 . -137)) ((37 . 214) (-1 . -125
+    )) ((-1 . -126)) ((35 . 212) (37 . 213) (-1 . -129)) ((-1 . -134)) ((-1 . 
+    -139)) ((-1 . -140)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (
     31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 
-    . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 
-    . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (42 . 92) (43 
-    . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (145 . 146) (146 . 147) (
-    147 . 100) (167 . 148) (-1 . -85)) ((91 . -209)) ((90 . 140) (92 . 141) (
-    79 . 142) (117 . 143) (124 . 144) (166 . 145)) ((91 . 139)) ((7 . 8) (2 . 
-    9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (
-    75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 
-    . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 
-    . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (156 . 14
-    ) (155 . 138)) ((-1 . -300)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (
-    6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) (78
-    . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 
-    . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 2) (161 . 3) (160 
-    . 4) (159 . 5) (158 . 6) (157 . 7) (156 . 137)) ((7 . 8) (2 . 9) (3 . 10) 
-    (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 
-    . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 
-    30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 2
-    ) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 136)) ((7 . 8) (2 . 9) (3
-    . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 
-    20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29)
-    (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) 
-    (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 135)) ((7 . 8) (2 . 9) (3 
-    . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20
-    ) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (
-    164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (
-    162 . 2) (161 . 3) (160 . 4) (159 . 134)) ((7 . 8) (2 . 9) (3 . 10) (4 . 
-    11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21)
-    (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (
-    85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 2) (
-    161 . 3) (160 . 4) (159 . 133)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12
-    ) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) 
-    (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (
-    86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 2) (161 . 3) (
-    160 . 132)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16
-    ) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) 
-    (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (
-    92 . 26) (165 . 60) (163 . 1) (162 . 2) (161 . 3) (160 . 131)) ((7 . 8) (2
-    . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18)
-    (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (
-    81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (
-    163 . 1) (162 . 2) (161 . 3) (160 . 130)) ((7 . 8) (2 . 9) (3 . 10) (4 . 
-    11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21)
-    (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (
-    85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 2) (
-    161 . 3) (160 . 129)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13)
-    (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) 
-    (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (
-    173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 2) (161 . 128)) ((7 . 8) (
-    2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18
-    ) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (
-    81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (
-    163 . 1) (162 . 2) (161 . 127)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12
-    ) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) 
-    (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (
-    86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 126)) ((7 . 8) (
-    2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18
-    ) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (
-    81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (
-    163 . 1) (162 . 125)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13)
-    (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) 
-    (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (
-    173 . 33) (92 . 26) (165 . 60) (163 . 124)) ((7 . 8) (2 . 9) (3 . 10) (4 
-    . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 
-    21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30
-    ) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 123)) ((7 . 8
-    ) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 
-    . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 
-    27) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 
-    60) (163 . 122)) ((-1 . -39)) ((-1 . -38)) ((-1 . -37)) ((79 . 119) (74 . 
-    120) (73 . 121) (-1 . -42)) ((79 . 119) (74 . 120) (73 . 121) (-1 . -41)) 
-    ((78 . 117) (77 . 118) (-1 . -45)) ((78 . 117) (77 . 118) (-1 . -44)) ((72
-    . 115) (71 . 116) (-1 . -50)) ((72 . 115) (71 . 116) (-1 . -49)) ((72 . 
-    115) (71 . 116) (-1 . -48)) ((72 . 115) (71 . 116) (-1 . -47)) ((70 . 111)
-    (69 . 112) (68 . 113) (67 . 114) (-1 . -53)) ((70 . 111) (69 . 112) (68 
-    . 113) (67 . 114) (-1 . -52)) ((66 . 109) (65 . 110) (-1 . -55)) ((80 . 
-    108) (-1 . -57)) ((64 . 107) (-1 . -59)) ((63 . 106) (-1 . -61)) ((84 . 
-    237) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 
-    . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 
-    25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 
-    26) (165 . 60) (163 . 238)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 
-    . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 
-    13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 
-    . 20) (76 . 21) (77 . 22) (78 . 23) (80 . 25) (92 . 26) (174 . 27) (153 . 
-    28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 
-    35) (169 . 232) (89 . 233) (43 . 234) (24 . 81) (25 . 82) (26 . 83) (145 
-    . 223) (122 . 235) (79 . 236)) ((90 . 140) (92 . 141) (79 . 142) (117 . 
-    143) (124 . 144) (166 . 226) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 
-    . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78
-    ) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) 
-    (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (42 . 92) 
-    (43 . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (145 . 146) (146 . 147)
-    (147 . 100) (167 . 227) (118 . 228) (119 . 229) (121 . 230) (91 . 231)) (
-    (24 . 81) (25 . 82) (26 . 83) (145 . 223) (122 . 224) (79 . 142) (124 . 
-    225) (-1 . -194)) ((90 . 221) (92 . 222) (91 . -212) (82 . -212)) ((90 . 
-    140) (92 . 141) (117 . 220) (91 . -210) (82 . -210)) ((91 . -208)) ((21 . 
-    67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) 
-    (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (23 . 80) (24 . 81) (25 
-    . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 . 88) (139
-    . 89) (140 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 94) (45 . 95) (46 . 
-    96) (144 . 97) (145 . 146) (146 . 147) (147 . 100) (167 . 151) (-1 . -89))
-    ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (
-    33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (23 . 80) (24 
-    . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 
-    . 88) (139 . 89) (140 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 94) (45 . 
-    95) (46 . 96) (144 . 97) (145 . 146) (146 . 147) (147 . 100) (167 . 149) (
-    -1 . -87)) ((-1 . -86)) ((-1 . -88)) ((-1 . -156)) ((-1 . -90)) ((-1 . 
-    -158)) ((-1 . -92)) ((-1 . -111)) ((37 . 219) (-1 . -112)) ((-1 . -116)) (
-    (35 . 217) (37 . 218) (-1 . -119)) ((-1 . -134)) ((-1 . -118)) ((37 . 216)
-    (-1 . -121)) ((30 . 215) (-1 . -138)) ((37 . 214) (-1 . -126)) ((-1 . 
-    -127)) ((35 . 212) (37 . 213) (-1 . -130)) ((-1 . -135)) ((-1 . -140)) ((
-    -1 . -141)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (
-    32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (24 
-    . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 
-    . 88) (139 . 89) (140 . 90) (41 . 91) (145 . 203) (146 . 204) (94 . 205) (
-    130 . 206) (131 . 207) (132 . 208) (133 . 211)) ((-1 . -150)) ((-1 . -149)
-    ) ((84 . 210) (-1 . -145)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 
-    71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) 
-    (39 . 79) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (
-    138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (145 . 203) (146 . 204
-    ) (94 . 205) (130 . 206) (131 . 207) (132 . 208) (133 . 209)) ((84 . 202) 
-    (-1 . -148)) ((5 . 12) (6 . 13) (178 . 199) (125 . 200) (126 . 201)) ((84 
-    . 198) (-1 . -169)) ((-1 . -5)) ((62 . 104) (-1 . -63)) ((59 . 197) (82 . 
-    38)) ((91 . 196)) ((91 . 195)) ((-1 . -11)) ((-1 . -10)) ((-1 . -9)) ((90 
-    . 140) (92 . 141) (79 . 142) (117 . 143) (124 . 144) (166 . 194) (91 . -21
-    ) (82 . -21)) ((91 . -18) (82 . -18)) ((91 . -16) (82 . -16)) ((91 . 192) 
-    (82 . 193)) ((89 . 191) (82 . 38)) ((-1 . -67)) ((-1 . -80)) ((-1 . -7)) (
-    (-1 . -8)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (
-    32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (23 
-    . 80) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 
-    . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 
-    94) (45 . 95) (46 . 96) (144 . 97) (145 . 146) (146 . 147) (147 . 100) (
-    167 . 184) (168 . 291) (163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (
-    158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (
-    156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20)
-    (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (
-    153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) (
-    152 . 35) (169 . 292)) ((91 . -20) (82 . -20)) ((84 . 237)) ((84 . 237) (
-    -1 . -27)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16)
-    (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (
-    80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (
-    92 . 26) (165 . 60) (163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158
-    . 6) (157 . 7) (156 . 14) (155 . 15) (154 . 19) (153 . 28) (152 . 290)) (
-    (5 . 12) (6 . 13) (178 . 199) (125 . 200) (126 . 289)) ((58 . 288) (83 . 
-    -172) (82 . -172)) ((83 . -170) (82 . -170)) ((83 . 286) (82 . 287)) ((21 
+    . 79) (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137 . 85) (138 . 86) (139 
+    . 87) (40 . 88) (140 . 89) (141 . 90) (41 . 91) (146 . 203) (147 . 204) (
+    94 . 205) (131 . 206) (132 . 207) (133 . 208) (134 . 211)) ((-1 . -149)) (
+    (-1 . -148)) ((84 . 210) (-1 . -144)) ((21 . 67) (27 . 68) (28 . 69) (29 
+    . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77
+    ) (36 . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137 . 85) 
+    (138 . 86) (139 . 87) (40 . 88) (140 . 89) (141 . 90) (41 . 91) (146 . 203
+    ) (147 . 204) (94 . 205) (131 . 206) (132 . 207) (133 . 208) (134 . 209)) 
+    ((84 . 202) (-1 . -147)) ((5 . 12) (6 . 13) (179 . 199) (126 . 200) (127 
+    . 201)) ((84 . 198) (-1 . -168)) ((-1 . -4)) ((62 . 104) (-1 . -62)) ((59 
+    . 197) (82 . 38)) ((91 . 196)) ((91 . 195)) ((-1 . -10)) ((-1 . -9)) ((-1 
+    . -8)) ((90 . 140) (92 . 141) (79 . 142) (118 . 143) (125 . 144) (167 . 
+    194) (91 . -20) (82 . -20)) ((91 . -17) (82 . -17)) ((91 . -15) (82 . -15)
+    ) ((91 . 192) (82 . 193)) ((89 . 191) (82 . 38)) ((-1 . -66)) ((-1 . -79))
+    ((-1 . -6)) ((-1 . -7)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71
+    ) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (
+    39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137 . 85) (
+    138 . 86) (139 . 87) (40 . 88) (140 . 89) (141 . 90) (41 . 91) (42 . 92) (
+    43 . 93) (44 . 94) (45 . 95) (46 . 96) (145 . 97) (146 . 146) (147 . 147) 
+    (148 . 100) (168 . 184) (169 . 291) (164 . 1) (163 . 2) (162 . 3) (161 . 4
+    ) (160 . 5) (159 . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12)
+    (6 . 13) (157 . 14) (156 . 15) (177 . 16) (178 . 17) (179 . 18) (155 . 19
+    ) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (
+    175 . 27) (154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (
+    166 . 34) (153 . 35) (170 . 292)) ((91 . -19) (82 . -19)) ((84 . 237)) ((
+    84 . 237) (-1 . -26)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13)
+    (177 . 16) (178 . 17) (179 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) 
+    (79 . 24) (80 . 25) (175 . 27) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (
+    174 . 33) (92 . 26) (166 . 60) (164 . 1) (163 . 2) (162 . 3) (161 . 4) (
+    160 . 5) (159 . 6) (158 . 7) (157 . 14) (156 . 15) (155 . 19) (154 . 28) (
+    153 . 290)) ((5 . 12) (6 . 13) (179 . 199) (126 . 200) (127 . 289)) ((58 
+    . 288) (83 . -171) (82 . -171)) ((83 . -169) (82 . -169)) ((83 . 286) (82 
+    . 287)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 
+    . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (24 . 81
+    ) (25 . 82) (26 . 83) (136 . 84) (137 . 85) (138 . 86) (139 . 87) (40 . 88
+    ) (140 . 89) (141 . 90) (41 . 91) (146 . 203) (147 . 204) (94 . 205) (131 
+    . 206) (132 . 207) (133 . 208) (134 . 285)) ((21 . 67) (27 . 68) (28 . 69)
+    (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37
+    . 77) (36 . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137 
+    . 85) (138 . 86) (139 . 87) (40 . 88) (140 . 89) (141 . 90) (41 . 91) (146
+    . 203) (147 . 204) (131 . 152) (-1 . -158)) ((21 . 67) (27 . 68) (28 . 69
+    ) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (
+    37 . 77) (36 . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137
+    . 85) (138 . 86) (139 . 87) (40 . 88) (140 . 89) (141 . 90) (41 . 91) (
+    146 . 203) (147 . 204) (131 . 150) (-1 . -156)) ((94 . -302) (-1 . -302)) 
+    ((5 . 12) (6 . 13) (79 . 142) (92 . 279) (179 . 257) (124 . 258) (125 . 
+    280) (59 . 281) (143 . 282) (129 . 283) (130 . 284)) ((94 . -151) (-1 . 
+    -151)) ((94 . -150) (-1 . -150)) ((83 . 278) (21 . 67) (27 . 68) (28 . 69)
+    (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37
+    . 77) (36 . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137 
+    . 85) (138 . 86) (139 . 87) (40 . 88) (140 . 89) (141 . 90) (41 . 91) (146
+    . 203) (147 . 204) (131 . 206) (133 . 275) (94 . 205) (132 . 276)) ((21 
     . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74
     ) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (24 . 81) (25 . 82) (
-    26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 . 88) (139 . 89) 
-    (140 . 90) (41 . 91) (145 . 203) (146 . 204) (94 . 205) (130 . 206) (131 
-    . 207) (132 . 208) (133 . 285)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (
-    30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 
-    . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 
-    . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (145 . 203) (
-    146 . 204) (130 . 152) (-1 . -159)) ((21 . 67) (27 . 68) (28 . 69) (29 . 
-    70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) 
-    (36 . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (
-    137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (145 . 203)
-    (146 . 204) (130 . 150) (-1 . -157)) ((94 . -302) (-1 . -302)) ((5 . 12) 
-    (6 . 13) (79 . 142) (92 . 279) (178 . 257) (123 . 258) (124 . 280) (59 . 
-    281) (142 . 282) (128 . 283) (129 . 284)) ((94 . -152) (-1 . -152)) ((94 
-    . -151) (-1 . -151)) ((83 . 278) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (
-    30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 
-    . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 
-    . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (145 . 203) (
-    146 . 204) (130 . 206) (132 . 275) (94 . 205) (131 . 276)) ((21 . 67) (27 
-    . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75
-    ) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (
-    135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90)
-    (41 . 91) (145 . 203) (146 . 204) (94 . 205) (130 . 206) (131 . 207) (132
-    . 208) (133 . 277)) ((83 . 274) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (
-    30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 
-    . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 
-    . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (145 . 203) (
-    146 . 204) (130 . 206) (132 . 275) (94 . 205) (131 . 276)) ((37 . 273) (-1
-    . -132)) ((-1 . -129)) ((-1 . -125)) ((-1 . -142)) ((-1 . -122)) ((37 . 
-    272) (-1 . -123)) ((-1 . -120)) ((-1 . -113)) ((90 . 221) (92 . 222) (91 
-    . -211) (82 . -211)) ((43 . 267) (89 . 268) (163 . 1) (162 . 2) (161 . 3) 
-    (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) 
-    (5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (
-    154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 269) (80 . 25) (92
-    . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173
-    . 33) (165 . 34) (152 . 35) (169 . 270) (24 . 81) (25 . 82) (26 . 83) (
-    145 . 223) (122 . 271)) ((91 . 265) (21 . 67) (27 . 68) (28 . 69) (29 . 70
-    ) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (
-    36 . 78) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136
-    . 85) (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (42
-    . 92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (145 . 146) (146
-    . 147) (147 . 100) (167 . 227) (118 . 228) (119 . 229) (121 . 266)) ((-1 
-    . -197)) ((79 . 142) (124 . 264) (24 . 81) (25 . 82) (26 . 83) (145 . 250)
-    (-1 . -193)) ((-1 . -196)) ((91 . 263)) ((5 . 12) (6 . 13) (178 . 257) (
-    123 . 258) (142 . 259) (90 . 140) (92 . 260) (79 . 142) (117 . 143) (124 
-    . 261) (166 . 262) (91 . -205) (82 . -205)) ((82 . -201) (91 . -201)) ((82
-    . 256) (91 . -199)) ((91 . 255)) ((-1 . -233)) ((89 . 254)) ((-1 . -224))
-    ((24 . 81) (25 . 82) (26 . 83) (145 . 223) (122 . 253)) ((43 . 249) (24 
-    . 81) (25 . 82) (26 . 83) (145 . 250) (89 . 251) (163 . 1) (162 . 2) (161 
-    . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 
-    . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 
-    . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 
-    25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 
-    32) (173 . 33) (165 . 34) (152 . 35) (169 . 252)) ((89 . 248) (-1 . -29)) 
-    ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 
-    . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (
-    176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (
-    78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (88 . 239) (90 . 240) (
-    153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (114 . 241) 
-    (165 . 34) (152 . 35) (115 . 242) (84 . 243) (169 . 244) (141 . 245) (116 
-    . 246) (170 . 247)) ((-1 . -35)) ((5 . 12) (6 . 13) (178 . 329)) ((7 . 8) 
-    (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 
-    18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27)
-    (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) 
-    (163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (156
-    . 14) (155 . 15) (154 . 19) (153 . 28) (152 . 295) (127 . 328)) ((58 . 
-    -243) (88 . -243) (90 . -243)) ((58 . 326) (88 . 239) (90 . 240) (114 . 
-    327)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 
-    7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 
-    15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 
-    22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (88 . 239) (90 . 
-    240) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (114 
-    . 241) (165 . 34) (152 . 35) (115 . 242) (84 . 243) (169 . 244) (141 . 245
-    ) (116 . 246) (170 . 325)) ((83 . -235) (82 . -235)) ((83 . -239) (82 . 
-    -239)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 
-    . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 
-    . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 
-    . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 
-    29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (84 . 
-    243) (169 . 244) (141 . 324)) ((83 . 322) (82 . 323)) ((-1 . -229)) ((163 
-    . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (
-    2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16
-    ) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23)
-    (79 . 24) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) 
-    (85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (169 . 321)) ((-1 . 
-    -198)) ((-1 . -222)) ((89 . 320)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4)
-    (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) 
-    (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19)
-    (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (
-    174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (
-    165 . 34) (152 . 35) (169 . 318) (24 . 81) (25 . 82) (26 . 83) (145 . 250)
-    (89 . 319)) ((-1 . -223)) ((-1 . -232)) ((21 . 67) (27 . 68) (28 . 69) (
+    26 . 83) (136 . 84) (137 . 85) (138 . 86) (139 . 87) (40 . 88) (140 . 89) 
+    (141 . 90) (41 . 91) (146 . 203) (147 . 204) (94 . 205) (131 . 206) (132 
+    . 207) (133 . 208) (134 . 277)) ((83 . 274) (21 . 67) (27 . 68) (28 . 69) 
+    (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 
+    . 77) (36 . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137 . 
+    85) (138 . 86) (139 . 87) (40 . 88) (140 . 89) (141 . 90) (41 . 91) (146 
+    . 203) (147 . 204) (131 . 206) (133 . 275) (94 . 205) (132 . 276)) ((37 . 
+    273) (-1 . -131)) ((-1 . -128)) ((-1 . -124)) ((-1 . -141)) ((-1 . -121)) 
+    ((37 . 272) (-1 . -122)) ((-1 . -119)) ((-1 . -112)) ((90 . 221) (92 . 222
+    ) (91 . -210) (82 . -210)) ((43 . 267) (89 . 268) (164 . 1) (163 . 2) (162
+    . 3) (161 . 4) (160 . 5) (159 . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 
+    . 11) (5 . 12) (6 . 13) (157 . 14) (156 . 15) (177 . 16) (178 . 17) (179 
+    . 18) (155 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 269) (80 . 
+    25) (92 . 26) (175 . 27) (154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 
+    32) (174 . 33) (166 . 34) (153 . 35) (170 . 270) (24 . 81) (25 . 82) (26 
+    . 83) (146 . 223) (123 . 271)) ((91 . 265) (21 . 67) (27 . 68) (28 . 69) (
     29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 
-    . 77) (36 . 78) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (135 . 
-    84) (136 . 85) (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 
-    . 91) (42 . 92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (145 . 
-    146) (146 . 147) (147 . 100) (167 . 227) (118 . 316) (22 . 317)) ((-1 . 
-    -180)) ((90 . 314) (92 . 315) (-1 . -179)) ((91 . -203) (82 . -203)) ((90 
-    . 140) (117 . 143) (166 . 226) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (30
-    . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 
-    78) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85
-    ) (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (42 . 92
-    ) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (145 . 146) (146 . 
-    147) (147 . 100) (167 . 227) (118 . 228) (119 . 229) (121 . 230) (91 . 231
-    ) (5 . 12) (6 . 13) (79 . 142) (92 . 260) (178 . 257) (123 . 258) (124 . 
-    261) (142 . 305)) ((90 . 140) (117 . 220) (5 . 12) (6 . 13) (92 . 260) (
-    178 . 257) (123 . 304) (91 . -210) (82 . -210)) ((91 . -204) (82 . -204)) 
-    ((-1 . -213)) ((-1 . -195)) ((-1 . -231)) ((91 . 313)) ((24 . 81) (25 . 82
-    ) (26 . 83) (145 . 223) (122 . 312)) ((-1 . -217)) ((89 . 311) (-1 . -29))
-    ((89 . 310)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6)
-    (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) 
-    (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21)
-    (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (
-    81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (
-    169 . 307) (24 . 81) (25 . 82) (26 . 83) (145 . 250) (89 . 308) (43 . 309)
-    ) ((-1 . -124)) ((-1 . -131)) ((-1 . -144)) ((94 . -153) (-1 . -153)) ((94
-    . -154) (-1 . -154)) ((83 . 306) (21 . 67) (27 . 68) (28 . 69) (29 . 70) 
-    (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 
-    . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 
-    . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (145 . 203) (
-    146 . 204) (130 . 206) (132 . 275) (94 . 205) (131 . 276)) ((-1 . -147)) (
-    (5 . 12) (6 . 13) (79 . 142) (92 . 279) (178 . 257) (123 . 258) (124 . 280
-    ) (142 . 305)) ((5 . 12) (6 . 13) (92 . 279) (178 . 257) (123 . 304)) ((7 
-    . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (
-    178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174
-    . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 
-    . 60) (163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7
-    ) (156 . 14) (155 . 15) (154 . 19) (153 . 28) (152 . 295) (127 . 303)) ((
-    59 . 302) (47 . -162) (82 . -162)) ((47 . -160) (82 . -160)) ((47 . 300) (
-    82 . 301)) ((83 . 299) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (
-    31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 
-    . 79) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 
-    . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (145 . 203) (146 . 204) (
-    130 . 206) (132 . 275) (94 . 205) (131 . 276)) ((-1 . -167)) ((83 . 297) (
-    5 . 12) (6 . 13) (178 . 199) (125 . 298)) ((7 . 8) (2 . 9) (3 . 10) (4 . 
-    11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21)
-    (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (
-    85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 2) (
-    161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (156 . 14) (155 . 15) (
-    154 . 19) (153 . 28) (152 . 295) (127 . 296)) ((82 . 293) (83 . 294)) ((-1
-    . -65)) ((91 . -19) (82 . -19)) ((91 . -17) (82 . -17)) ((5 . 12) (6 . 13
-    ) (178 . 199) (125 . 298) (83 . 357)) ((-1 . -165)) ((-1 . -81)) ((83 . 
-    -173) (82 . -173)) ((-1 . -168)) ((83 . -171) (82 . -171)) ((-1 . -146)) (
-    (93 . 354) (97 . 355) (148 . 356) (94 . -292) (-1 . -292)) ((5 . 12) (6 . 
-    13) (79 . 142) (92 . 279) (178 . 257) (123 . 258) (124 . 280) (59 . 281) (
-    142 . 282) (128 . 353)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 
-    13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 
-    23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32
-    ) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 2) (161 . 3) (160 . 4) 
-    (159 . 5) (158 . 6) (157 . 7) (156 . 14) (155 . 15) (154 . 19) (153 . 28) 
-    (152 . 295) (127 . 352)) ((47 . -164) (82 . -164)) ((90 . 314) (92 . 315) 
-    (-1 . -178)) ((91 . 351)) ((-1 . -143)) ((89 . 350)) ((-1 . -215)) ((163 
-    . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (
-    2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16
-    ) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23)
-    (79 . 24) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) 
-    (85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (169 . 349)) ((-1 . 
-    -216)) ((-1 . -228)) ((89 . 347) (24 . 81) (25 . 82) (26 . 83) (145 . 250)
-    (163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 
-    . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (
-    176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (
-    78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (
-    164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (169 . 348)
-    ) ((-1 . -230)) ((43 . 342) (89 . 343) (163 . 1) (162 . 2) (161 . 3) (160 
-    . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 
-    12) (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 
-    . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 344) (80 . 25) (92 . 
-    26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 
-    33) (165 . 34) (152 . 35) (169 . 345) (24 . 81) (25 . 82) (26 . 83) (145 
-    . 223) (122 . 346)) ((91 . 338) (5 . 12) (6 . 13) (178 . 339) (120 . 340) 
-    (21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 
-    . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (23 . 80) (24 . 81
-    ) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 . 88
-    ) (139 . 89) (140 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 94) (45 . 95) 
-    (46 . 96) (144 . 97) (145 . 146) (146 . 147) (147 . 100) (167 . 227) (118 
-    . 228) (119 . 229) (121 . 341)) ((82 . -202) (91 . -202)) ((91 . -200)) ((
-    89 . 337)) ((-1 . -226)) ((-1 . -221)) ((89 . 336)) ((-1 . -14)) ((83 . 
-    333) (163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7)
-    (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15)
-    (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22)
-    (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (
-    164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (84 . 243) 
-    (169 . 244) (141 . 334) (88 . 239) (90 . 240) (114 . 241) (115 . 242) (116
-    . 335)) ((83 . -238) (82 . -238)) ((82 . 331) (83 . 332)) ((-1 . -242)) (
-    (58 . -244) (88 . -244) (90 . -244)) ((89 . 330)) ((58 . -246) (90 . -246)
-    (88 . -246)) ((58 . -245) (90 . -245) (88 . -245)) ((163 . 1) (162 . 2) (
-    161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) 
-    (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (
-    178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80
-    . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 
-    . 32) (173 . 33) (165 . 34) (152 . 35) (84 . 243) (169 . 244) (141 . 334) 
-    (88 . 239) (90 . 240) (114 . 241) (115 . 242) (116 . 335) (83 . 371)) ((83
-    . -236) (82 . -236)) ((-1 . -15)) ((83 . -241) (82 . -241)) ((163 . 1) (
-    162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9)
-    (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177
-    . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 
-    . 24) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 
-    . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (84 . 243) (169 . 244) (
-    141 . 370)) ((-1 . -227)) ((-1 . -225)) ((-1 . -192)) ((91 . -206) (82 . 
-    -206)) ((91 . 368) (82 . 369)) ((91 . 367)) ((24 . 81) (25 . 82) (26 . 83)
-    (145 . 223) (122 . 366)) ((-1 . -185)) ((89 . 365) (-1 . -29)) ((89 . 364
-    )) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) 
-    (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) 
-    (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) 
-    (78 . 23) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (
-    85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (169 . 360) (24 . 81) 
-    (25 . 82) (26 . 83) (145 . 250) (89 . 361) (43 . 362) (79 . 363)) ((-1 . 
-    -219)) ((89 . 359)) ((89 . 358)) ((-1 . -214)) ((-1 . -181)) ((47 . -163) 
-    (82 . -163)) ((47 . -161) (82 . -161)) ((94 . -301) (-1 . -301)) ((94 . 
-    -293) (-1 . -293)) ((94 . -155) (-1 . -155)) ((-1 . -166)) ((-1 . -220)) (
-    (-1 . -218)) ((89 . 376)) ((-1 . -183)) ((163 . 1) (162 . 2) (161 . 3) (
-    160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (
-    5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (
-    154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 
-    . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 
-    . 33) (165 . 34) (152 . 35) (169 . 375)) ((89 . 374) (-1 . -29)) ((-1 . 
-    -184)) ((-1 . -189)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (
-    158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (
-    156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20)
-    (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (
-    153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) (
-    152 . 35) (169 . 373) (24 . 81) (25 . 82) (26 . 83) (145 . 250)) ((-1 . 
-    -190)) ((-1 . -191)) ((5 . 12) (6 . 13) (178 . 372)) ((83 . -240) (82 . 
-    -240)) ((83 . -237) (82 . -237)) ((91 . -207) (82 . -207)) ((89 . 378)) ((
-    -1 . -188)) ((89 . 377)) ((-1 . -182)) ((-1 . -187)) ((-1 . -186))))
+    . 77) (36 . 78) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (136 . 
+    84) (137 . 85) (138 . 86) (139 . 87) (40 . 88) (140 . 89) (141 . 90) (41 
+    . 91) (42 . 92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (145 . 97) (146 . 
+    146) (147 . 147) (148 . 100) (168 . 227) (119 . 228) (120 . 229) (122 . 
+    266)) ((-1 . -196)) ((79 . 142) (125 . 264) (24 . 81) (25 . 82) (26 . 83) 
+    (146 . 250) (-1 . -192)) ((-1 . -195)) ((91 . 263)) ((5 . 12) (6 . 13) (
+    179 . 257) (124 . 258) (143 . 259) (90 . 140) (92 . 260) (79 . 142) (118 
+    . 143) (125 . 261) (167 . 262) (91 . -204) (82 . -204)) ((82 . -200) (91 
+    . -200)) ((82 . 256) (91 . -198)) ((91 . 255)) ((-1 . -232)) ((89 . 254)) 
+    ((-1 . -223)) ((24 . 81) (25 . 82) (26 . 83) (146 . 223) (123 . 253)) ((43
+    . 249) (24 . 81) (25 . 82) (26 . 83) (146 . 250) (89 . 251) (164 . 1) (
+    163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 . 6) (158 . 7) (7 . 8) (2 . 9)
+    (3 . 10) (4 . 11) (5 . 12) (6 . 13) (157 . 14) (156 . 15) (177 . 16) (178
+    . 17) (179 . 18) (155 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 
+    . 24) (80 . 25) (92 . 26) (175 . 27) (154 . 28) (81 . 29) (165 . 30) (85 
+    . 31) (86 . 32) (174 . 33) (166 . 34) (153 . 35) (170 . 252)) ((89 . 248) 
+    (-1 . -28)) ((164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 . 6) (
+    158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (157 . 14) (
+    156 . 15) (177 . 16) (178 . 17) (179 . 18) (155 . 19) (75 . 20) (76 . 21) 
+    (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (175 . 27) (88 . 239) (
+    90 . 240) (154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (
+    115 . 241) (166 . 34) (153 . 35) (116 . 242) (84 . 243) (170 . 244) (142 
+    . 245) (117 . 246) (171 . 247)) ((-1 . -34)) ((5 . 12) (6 . 13) (179 . 329
+    )) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16) (178 . 
+    17) (179 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25)
+    (175 . 27) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (92 . 26) 
+    (166 . 60) (164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 . 6) (
+    158 . 7) (157 . 14) (156 . 15) (155 . 19) (154 . 28) (153 . 295) (128 . 
+    328)) ((58 . -242) (88 . -242) (90 . -242)) ((58 . 326) (88 . 239) (90 . 
+    240) (115 . 327)) ((164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 
+    . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (157 . 
+    14) (156 . 15) (177 . 16) (178 . 17) (179 . 18) (155 . 19) (75 . 20) (76 
+    . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (175 . 27) (88 . 
+    239) (90 . 240) (154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 
+    . 33) (115 . 241) (166 . 34) (153 . 35) (116 . 242) (84 . 243) (170 . 244)
+    (142 . 245) (117 . 246) (171 . 325)) ((83 . -234) (82 . -234)) ((83 . 
+    -238) (82 . -238)) ((164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159
+    . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (157 
+    . 14) (156 . 15) (177 . 16) (178 . 17) (179 . 18) (155 . 19) (75 . 20) (76
+    . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (175 . 27) (154 
+    . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 . 34) (153 
+    . 35) (84 . 243) (170 . 244) (142 . 324)) ((83 . 322) (82 . 323)) ((-1 . 
+    -228)) ((164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 . 6) (158 
+    . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (157 . 14) (156 
+    . 15) (177 . 16) (178 . 17) (179 . 18) (155 . 19) (75 . 20) (76 . 21) (77 
+    . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (175 . 27) (154 . 28) (81 . 
+    29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 . 34) (153 . 35) (170 
+    . 321)) ((-1 . -197)) ((-1 . -221)) ((89 . 320)) ((164 . 1) (163 . 2) (162
+    . 3) (161 . 4) (160 . 5) (159 . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 
+    . 11) (5 . 12) (6 . 13) (157 . 14) (156 . 15) (177 . 16) (178 . 17) (179 
+    . 18) (155 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 
+    25) (92 . 26) (175 . 27) (154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 
+    32) (174 . 33) (166 . 34) (153 . 35) (170 . 318) (24 . 81) (25 . 82) (26 
+    . 83) (146 . 250) (89 . 319)) ((-1 . -222)) ((-1 . -231)) ((21 . 67) (27 
+    . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75
+    ) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (
+    26 . 83) (136 . 84) (137 . 85) (138 . 86) (139 . 87) (40 . 88) (140 . 89) 
+    (141 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (
+    145 . 97) (146 . 146) (147 . 147) (148 . 100) (168 . 227) (119 . 316) (22 
+    . 317)) ((-1 . -179)) ((90 . 314) (92 . 315) (-1 . -178)) ((91 . -202) (82
+    . -202)) ((90 . 140) (118 . 143) (167 . 226) (21 . 67) (27 . 68) (28 . 69
+    ) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (
+    37 . 77) (36 . 78) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (136 
+    . 84) (137 . 85) (138 . 86) (139 . 87) (40 . 88) (140 . 89) (141 . 90) (41
+    . 91) (42 . 92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (145 . 97) (146 
+    . 146) (147 . 147) (148 . 100) (168 . 227) (119 . 228) (120 . 229) (122 . 
+    230) (91 . 231) (5 . 12) (6 . 13) (79 . 142) (92 . 260) (179 . 257) (124 
+    . 258) (125 . 261) (143 . 305)) ((90 . 140) (118 . 220) (5 . 12) (6 . 13) 
+    (92 . 260) (179 . 257) (124 . 304) (91 . -209) (82 . -209)) ((91 . -203) (
+    82 . -203)) ((-1 . -212)) ((-1 . -194)) ((-1 . -230)) ((91 . 313)) ((24 . 
+    81) (25 . 82) (26 . 83) (146 . 223) (123 . 312)) ((-1 . -216)) ((89 . 311)
+    (-1 . -28)) ((89 . 310)) ((164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 
+    5) (159 . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13)
+    (157 . 14) (156 . 15) (177 . 16) (178 . 17) (179 . 18) (155 . 19) (75 . 
+    20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (175 . 27)
+    (154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 . 34)
+    (153 . 35) (170 . 307) (24 . 81) (25 . 82) (26 . 83) (146 . 250) (89 . 
+    308) (43 . 309)) ((-1 . -123)) ((-1 . -130)) ((-1 . -143)) ((94 . -152) (
+    -1 . -152)) ((94 . -153) (-1 . -153)) ((83 . 306) (21 . 67) (27 . 68) (28 
+    . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76
+    ) (37 . 77) (36 . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (136 . 84) (
+    137 . 85) (138 . 86) (139 . 87) (40 . 88) (140 . 89) (141 . 90) (41 . 91) 
+    (146 . 203) (147 . 204) (131 . 206) (133 . 275) (94 . 205) (132 . 276)) ((
+    -1 . -146)) ((5 . 12) (6 . 13) (79 . 142) (92 . 279) (179 . 257) (124 . 
+    258) (125 . 280) (143 . 305)) ((5 . 12) (6 . 13) (92 . 279) (179 . 257) (
+    124 . 304)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16
+    ) (178 . 17) (179 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) 
+    (80 . 25) (175 . 27) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (
+    92 . 26) (166 . 60) (164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159
+    . 6) (158 . 7) (157 . 14) (156 . 15) (155 . 19) (154 . 28) (153 . 295) (
+    128 . 303)) ((59 . 302) (47 . -161) (82 . -161)) ((47 . -159) (82 . -159))
+    ((47 . 300) (82 . 301)) ((83 . 299) (21 . 67) (27 . 68) (28 . 69) (29 . 
+    70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) 
+    (36 . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137 . 85) (
+    138 . 86) (139 . 87) (40 . 88) (140 . 89) (141 . 90) (41 . 91) (146 . 203)
+    (147 . 204) (131 . 206) (133 . 275) (94 . 205) (132 . 276)) ((-1 . -166))
+    ((83 . 297) (5 . 12) (6 . 13) (179 . 199) (126 . 298)) ((7 . 8) (2 . 9) (
+    3 . 10) (4 . 11) (5 . 12) (6 . 13) (177 . 16) (178 . 17) (179 . 18) (75 . 
+    20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (175 . 27) (81 . 29)
+    (165 . 30) (85 . 31) (86 . 32) (174 . 33) (92 . 26) (166 . 60) (164 . 1) 
+    (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 . 6) (158 . 7) (157 . 14) (
+    156 . 15) (155 . 19) (154 . 28) (153 . 295) (128 . 296)) ((82 . 293) (83 
+    . 294)) ((-1 . -64)) ((91 . -18) (82 . -18)) ((91 . -16) (82 . -16)) ((5 
+    . 12) (6 . 13) (179 . 199) (126 . 298) (83 . 357)) ((-1 . -164)) ((-1 . 
+    -80)) ((83 . -172) (82 . -172)) ((-1 . -167)) ((83 . -170) (82 . -170)) ((
+    -1 . -145)) ((93 . 354) (97 . 355) (149 . 356) (94 . -292) (-1 . -292)) ((
+    5 . 12) (6 . 13) (79 . 142) (92 . 279) (179 . 257) (124 . 258) (125 . 280)
+    (59 . 281) (143 . 282) (129 . 353)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5
+    . 12) (6 . 13) (177 . 16) (178 . 17) (179 . 18) (75 . 20) (76 . 21) (77 
+    . 22) (78 . 23) (79 . 24) (80 . 25) (175 . 27) (81 . 29) (165 . 30) (85 . 
+    31) (86 . 32) (174 . 33) (92 . 26) (166 . 60) (164 . 1) (163 . 2) (162 . 3
+    ) (161 . 4) (160 . 5) (159 . 6) (158 . 7) (157 . 14) (156 . 15) (155 . 19)
+    (154 . 28) (153 . 295) (128 . 352)) ((47 . -163) (82 . -163)) ((90 . 314)
+    (92 . 315) (-1 . -177)) ((91 . 351)) ((-1 . -142)) ((89 . 350)) ((-1 . 
+    -214)) ((164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 . 6) (158 
+    . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (157 . 14) (156 
+    . 15) (177 . 16) (178 . 17) (179 . 18) (155 . 19) (75 . 20) (76 . 21) (77 
+    . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (175 . 27) (154 . 28) (81 . 
+    29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 . 34) (153 . 35) (170 
+    . 349)) ((-1 . -215)) ((-1 . -227)) ((89 . 347) (24 . 81) (25 . 82) (26 . 
+    83) (146 . 250) (164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 . 6
+    ) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (157 . 14)
+    (156 . 15) (177 . 16) (178 . 17) (179 . 18) (155 . 19) (75 . 20) (76 . 21
+    ) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (175 . 27) (154 . 28) 
+    (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 . 34) (153 . 35) 
+    (170 . 348)) ((-1 . -229)) ((43 . 342) (89 . 343) (164 . 1) (163 . 2) (162
+    . 3) (161 . 4) (160 . 5) (159 . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 
+    . 11) (5 . 12) (6 . 13) (157 . 14) (156 . 15) (177 . 16) (178 . 17) (179 
+    . 18) (155 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 344) (80 . 
+    25) (92 . 26) (175 . 27) (154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 
+    32) (174 . 33) (166 . 34) (153 . 35) (170 . 345) (24 . 81) (25 . 82) (26 
+    . 83) (146 . 223) (123 . 346)) ((91 . 338) (5 . 12) (6 . 13) (179 . 339) (
+    121 . 340) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32
+    . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (23 . 
+    80) (24 . 81) (25 . 82) (26 . 83) (136 . 84) (137 . 85) (138 . 86) (139 . 
+    87) (40 . 88) (140 . 89) (141 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 94
+    ) (45 . 95) (46 . 96) (145 . 97) (146 . 146) (147 . 147) (148 . 100) (168 
+    . 227) (119 . 228) (120 . 229) (122 . 341)) ((82 . -201) (91 . -201)) ((91
+    . -199)) ((89 . 337)) ((-1 . -225)) ((-1 . -220)) ((89 . 336)) ((-1 . -13
+    )) ((83 . 333) (164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 . 6)
+    (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (157 . 14) 
+    (156 . 15) (177 . 16) (178 . 17) (179 . 18) (155 . 19) (75 . 20) (76 . 21)
+    (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (175 . 27) (154 . 28) (
+    81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 . 34) (153 . 35) (
+    84 . 243) (170 . 244) (142 . 334) (88 . 239) (90 . 240) (115 . 241) (116 
+    . 242) (117 . 335)) ((83 . -237) (82 . -237)) ((82 . 331) (83 . 332)) ((-1
+    . -241)) ((58 . -243) (88 . -243) (90 . -243)) ((89 . 330)) ((58 . -245) 
+    (90 . -245) (88 . -245)) ((58 . -244) (90 . -244) (88 . -244)) ((164 . 1) 
+    (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 . 6) (158 . 7) (7 . 8) (2 . 9
+    ) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (157 . 14) (156 . 15) (177 . 16) (
+    178 . 17) (179 . 18) (155 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (
+    79 . 24) (80 . 25) (92 . 26) (175 . 27) (154 . 28) (81 . 29) (165 . 30) (
+    85 . 31) (86 . 32) (174 . 33) (166 . 34) (153 . 35) (84 . 243) (170 . 244)
+    (142 . 334) (88 . 239) (90 . 240) (115 . 241) (116 . 242) (117 . 335) (83
+    . 371)) ((83 . -235) (82 . -235)) ((-1 . -14)) ((83 . -240) (82 . -240)) 
+    ((164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 . 6) (158 . 7) (7 
+    . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (157 . 14) (156 . 15) (
+    177 . 16) (178 . 17) (179 . 18) (155 . 19) (75 . 20) (76 . 21) (77 . 22) (
+    78 . 23) (79 . 24) (80 . 25) (92 . 26) (175 . 27) (154 . 28) (81 . 29) (
+    165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 . 34) (153 . 35) (84 . 243) 
+    (170 . 244) (142 . 370)) ((-1 . -226)) ((-1 . -224)) ((-1 . -191)) ((91 . 
+    -205) (82 . -205)) ((91 . 368) (82 . 369)) ((91 . 367)) ((24 . 81) (25 . 
+    82) (26 . 83) (146 . 223) (123 . 366)) ((-1 . -184)) ((89 . 365) (-1 . -28
+    )) ((89 . 364)) ((164 . 1) (163 . 2) (162 . 3) (161 . 4) (160 . 5) (159 . 
+    6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (157 . 14
+    ) (156 . 15) (177 . 16) (178 . 17) (179 . 18) (155 . 19) (75 . 20) (76 . 
+    21) (77 . 22) (78 . 23) (80 . 25) (92 . 26) (175 . 27) (154 . 28) (81 . 29
+    ) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 . 34) (153 . 35) (170 . 
+    360) (24 . 81) (25 . 82) (26 . 83) (146 . 250) (89 . 361) (43 . 362) (79 
+    . 363)) ((-1 . -218)) ((89 . 359)) ((89 . 358)) ((-1 . -213)) ((-1 . -180)
+    ) ((47 . -162) (82 . -162)) ((47 . -160) (82 . -160)) ((94 . -301) (-1 . 
+    -301)) ((94 . -293) (-1 . -293)) ((94 . -154) (-1 . -154)) ((-1 . -165)) (
+    (-1 . -219)) ((-1 . -217)) ((89 . 376)) ((-1 . -182)) ((164 . 1) (163 . 2)
+    (162 . 3) (161 . 4) (160 . 5) (159 . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10
+    ) (4 . 11) (5 . 12) (6 . 13) (157 . 14) (156 . 15) (177 . 16) (178 . 17) (
+    179 . 18) (155 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80
+    . 25) (92 . 26) (175 . 27) (154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 
+    . 32) (174 . 33) (166 . 34) (153 . 35) (170 . 375)) ((89 . 374) (-1 . -28)
+    ) ((-1 . -183)) ((-1 . -188)) ((164 . 1) (163 . 2) (162 . 3) (161 . 4) (
+    160 . 5) (159 . 6) (158 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6
+    . 13) (157 . 14) (156 . 15) (177 . 16) (178 . 17) (179 . 18) (155 . 19) (
+    75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (175 
+    . 27) (154 . 28) (81 . 29) (165 . 30) (85 . 31) (86 . 32) (174 . 33) (166 
+    . 34) (153 . 35) (170 . 373) (24 . 81) (25 . 82) (26 . 83) (146 . 250)) ((
+    -1 . -189)) ((-1 . -190)) ((5 . 12) (6 . 13) (179 . 372)) ((83 . -239) (82
+    . -239)) ((83 . -236) (82 . -236)) ((91 . -206) (82 . -206)) ((89 . 378))
+    ((-1 . -187)) ((89 . 377)) ((-1 . -181)) ((-1 . -186)) ((-1 . -185))))
 
 (define rto-v
-  #(#f 180 174 174 174 174 173 173 173 173 173 173 173 173 173 173 172 172 
-    172 172 168 168 165 165 165 165 165 165 164 164 164 164 164 164 163 163 
-    162 162 162 162 161 161 161 160 160 160 159 159 159 159 159 158 158 158 
-    157 157 156 156 155 155 154 154 153 153 152 152 169 169 151 151 151 151 
-    151 151 151 151 151 151 151 175 175 127 103 103 149 167 167 167 167 167 
-    167 167 167 150 150 143 143 147 147 147 147 147 146 146 146 146 146 146 
-    146 146 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 
-    140 140 140 140 140 140 140 140 140 140 139 139 139 138 138 138 138 137 
-    137 137 137 137 137 134 134 133 133 133 133 132 130 130 130 130 129 129 
-    128 128 128 136 136 136 136 136 126 126 125 125 145 145 145 144 142 142 
-    123 123 123 123 123 123 123 123 123 123 123 123 123 124 124 124 124 122 
-    122 121 121 119 119 118 118 118 120 120 171 171 166 166 166 117 117 117 
-    117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 
-    135 141 141 141 170 170 170 170 116 115 115 114 114 106 106 106 106 106 
-    106 106 113 113 113 112 112 105 105 104 104 111 111 110 110 110 109 109 
-    109 102 102 102 101 101 108 108 108 108 108 179 179 100 100 100 100 100 99
-    99 98 98 148 148 178 178 177 177 177 176 176 97 131 107))
+  #(#f 175 175 175 175 174 174 174 174 174 174 174 174 174 174 173 173 173 
+    173 169 169 166 166 166 166 166 166 165 165 165 165 165 165 164 164 163 
+    163 163 163 162 162 162 161 161 161 160 160 160 160 160 159 159 159 158 
+    158 157 157 156 156 155 155 154 154 153 153 170 170 152 152 152 152 152 
+    152 152 152 152 152 152 176 176 128 104 104 150 168 168 168 168 168 168 
+    168 168 151 151 144 144 148 148 148 148 148 147 147 147 147 147 147 147 
+    147 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 
+    141 141 141 141 141 141 141 141 141 140 140 140 139 139 139 139 138 138 
+    138 138 138 138 135 135 134 134 134 134 133 131 131 131 131 130 130 129 
+    129 129 137 137 137 137 137 127 127 126 126 146 146 146 145 143 143 124 
+    124 124 124 124 124 124 124 124 124 124 124 124 125 125 125 125 123 123 
+    122 122 120 120 119 119 119 121 121 172 172 167 167 167 118 118 118 118 
+    118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 136 
+    142 142 142 171 171 171 171 117 116 116 115 115 107 107 107 107 107 107 
+    107 114 114 114 113 113 106 106 105 105 112 112 111 111 111 110 110 110 
+    103 103 103 102 102 109 109 109 109 109 180 101 101 100 100 100 100 100 99
+    99 98 98 149 149 179 179 178 178 178 177 177 97 132 108))
 
 (define mtab
   '((cpp-stmt . 1) ($chlit . 2) ($float . 3) ($fixed . 4) (cpp-ident . 5) (
index f0b800faacd18ae7889ab0f259290c8f83848eaf..d806e41efc19e07eed5076fd490a65b9d360eb75 100644 (file)
@@ -93,6 +93,8 @@
    (lambda ($2 $1 . $rest) `(post-inc ,$1))
    ;; postfix-expression => postfix-expression "--"
    (lambda ($2 $1 . $rest) `(post-dec ,$1))
+   ;; primary-expression => '$ident
+   (lambda ($1 . $rest) `(ident ,$1))
    ;; primary-expression => '$fixed
    (lambda ($1 . $rest) `(fixed ,$1))
    ;; primary-expression => '$chlit
index 80945c5305bd0fcd120b3cc91705bb74299fbfc6..d0edf4409c78d02bd9c9d698c7d5a3d83103cee4 100644 (file)
 
 (define len-v
   #(1 1 5 1 3 1 3 1 3 1 3 1 3 1 3 3 1 3 3 3 3 1 3 3 1 3 3 1 3 3 3 1 2 2 2 2 
-    2 2 1 2 2 1 1 4 3 1 3))
+    2 2 1 2 2 1 1 4 3 1 3))
 
 (define pat-v
-  #(((4 . 1) (5 . 2) (6 . 3) (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 
-    . 9) (16 . 10) (15 . 11) (38 . 12) (39 . 13) (40 . 14) (41 . 15) (42 . 16)
-    (43 . 17) (44 . 18) (45 . 19) (46 . 20) (47 . 21) (48 . 22) (49 . 23) (50
-    . 24)) ((4 . 1) (5 . 2) (6 . 3) (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8)
-    (11 . 9) (16 . 10) (15 . 11) (38 . 12) (39 . 13) (40 . 14) (41 . 15) (42 
-    . 16) (43 . 17) (44 . 18) (45 . 19) (46 . 20) (47 . 21) (48 . 22) (49 . 23
-    ) (50 . 53) (36 . 54)) ((4 . 52)) ((-1 . -42)) ((-1 . -41)) ((-1 . -38)) (
-    (4 . 1) (5 . 2) (6 . 3) (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9)
-    (16 . 10) (15 . 11) (38 . 12) (39 . 51)) ((4 . 1) (5 . 2) (6 . 3) (7 . 4)
-    (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15 . 11) (38 . 12) 
-    (39 . 50)) ((4 . 1) (5 . 2) (6 . 3) (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 
-    . 8) (11 . 9) (16 . 10) (15 . 11) (38 . 12) (39 . 49)) ((4 . 1) (5 . 2) (6
-    . 3) (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15 . 
-    11) (38 . 12) (39 . 48)) ((4 . 1) (5 . 2) (6 . 3) (7 . 4) (37 . 5) (8 . 6)
-    (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15 . 11) (38 . 12) (39 . 47)) ((4 . 
-    1) (5 . 2) (6 . 3) (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 
-    . 10) (15 . 11) (38 . 12) (39 . 46)) ((9 . 44) (8 . 45) (-1 . -31)) ((-1 
-    . -27)) ((14 . 41) (13 . 42) (12 . 43) (-1 . -24)) ((16 . 39) (15 . 40) (
-    -1 . -21)) ((18 . 37) (17 . 38) (-1 . -16)) ((22 . 33) (21 . 34) (20 . 35)
-    (19 . 36) (-1 . -13)) ((24 . 31) (23 . 32) (-1 . -11)) ((25 . 30) (-1 . 
-    -9)) ((26 . 29) (-1 . -7)) ((27 . 28) (-1 . -5)) ((28 . 27) (-1 . -3)) ((
-    31 . 25) (29 . 26) (2 . -1) (1 . -1) (35 . -1)) ((35 . 0)) ((4 . 1) (5 . 2
-    ) (6 . 3) (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15
-    . 11) (38 . 12) (39 . 13) (40 . 14) (41 . 15) (42 . 16) (43 . 17) (44 . 
-    18) (45 . 19) (46 . 20) (47 . 21) (48 . 22) (49 . 76)) ((4 . 1) (5 . 2) (6
-    . 3) (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15 . 
-    11) (38 . 12) (39 . 13) (40 . 14) (41 . 15) (42 . 16) (43 . 17) (44 . 18) 
-    (45 . 19) (46 . 20) (47 . 21) (48 . 75)) ((4 . 1) (5 . 2) (6 . 3) (7 . 4) 
-    (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15 . 11) (38 . 12) (
-    39 . 13) (40 . 14) (41 . 15) (42 . 16) (43 . 17) (44 . 18) (45 . 19) (46 
-    . 20) (47 . 74)) ((4 . 1) (5 . 2) (6 . 3) (7 . 4) (37 . 5) (8 . 6) (9 . 7)
-    (10 . 8) (11 . 9) (16 . 10) (15 . 11) (38 . 12) (39 . 13) (40 . 14) (41 
-    . 15) (42 . 16) (43 . 17) (44 . 18) (45 . 19) (46 . 73)) ((4 . 1) (5 . 2) 
-    (6 . 3) (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15 
-    . 11) (38 . 12) (39 . 13) (40 . 14) (41 . 15) (42 . 16) (43 . 17) (44 . 18
-    ) (45 . 72)) ((4 . 1) (5 . 2) (6 . 3) (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10
-    . 8) (11 . 9) (16 . 10) (15 . 11) (38 . 12) (39 . 13) (40 . 14) (41 . 15)
-    (42 . 16) (43 . 17) (44 . 71)) ((4 . 1) (5 . 2) (6 . 3) (7 . 4) (37 . 5) 
-    (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15 . 11) (38 . 12) (39 . 13) 
-    (40 . 14) (41 . 15) (42 . 16) (43 . 70)) ((4 . 1) (5 . 2) (6 . 3) (7 . 4) 
-    (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15 . 11) (38 . 12) (
-    39 . 13) (40 . 14) (41 . 15) (42 . 16) (43 . 69)) ((4 . 1) (5 . 2) (6 . 3)
-    (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15 . 11) (
-    38 . 12) (39 . 13) (40 . 14) (41 . 15) (42 . 68)) ((4 . 1) (5 . 2) (6 . 3)
-    (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15 . 11) (
-    38 . 12) (39 . 13) (40 . 14) (41 . 15) (42 . 67)) ((4 . 1) (5 . 2) (6 . 3)
-    (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15 . 11) (
-    38 . 12) (39 . 13) (40 . 14) (41 . 15) (42 . 66)) ((4 . 1) (5 . 2) (6 . 3)
-    (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15 . 11) (
-    38 . 12) (39 . 13) (40 . 14) (41 . 15) (42 . 65)) ((4 . 1) (5 . 2) (6 . 3)
-    (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15 . 11) (
-    38 . 12) (39 . 13) (40 . 14) (41 . 64)) ((4 . 1) (5 . 2) (6 . 3) (7 . 4) (
-    37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15 . 11) (38 . 12) (
-    39 . 13) (40 . 14) (41 . 63)) ((4 . 1) (5 . 2) (6 . 3) (7 . 4) (37 . 5) (8
-    . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15 . 11) (38 . 12) (39 . 13) (
-    40 . 62)) ((4 . 1) (5 . 2) (6 . 3) (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 
-    8) (11 . 9) (16 . 10) (15 . 11) (38 . 12) (39 . 13) (40 . 61)) ((4 . 1) (5
-    . 2) (6 . 3) (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10)
-    (15 . 11) (38 . 12) (39 . 60)) ((4 . 1) (5 . 2) (6 . 3) (7 . 4) (37 . 5) 
-    (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 10) (15 . 11) (38 . 12) (39 . 59))
-    ((4 . 1) (5 . 2) (6 . 3) (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 
-    9) (16 . 10) (15 . 11) (38 . 12) (39 . 58)) ((-1 . -39)) ((-1 . -40)) ((-1
-    . -32)) ((-1 . -33)) ((-1 . -34)) ((-1 . -35)) ((-1 . -36)) ((-1 . -37)) 
-    ((3 . 57)) ((2 . -45) (1 . -45)) ((2 . 55) (1 . 56)) ((-1 . -44)) ((4 . 1)
-    (5 . 2) (6 . 3) (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 
-    10) (15 . 11) (38 . 12) (39 . 13) (40 . 14) (41 . 15) (42 . 16) (43 . 17) 
-    (44 . 18) (45 . 19) (46 . 20) (47 . 21) (48 . 22) (49 . 23) (50 . 79)) ((2
-    . 78)) ((-1 . -30)) ((-1 . -29)) ((-1 . -28)) ((14 . 41) (13 . 42) (12 . 
-    43) (-1 . -26)) ((14 . 41) (13 . 42) (12 . 43) (-1 . -25)) ((16 . 39) (15 
-    . 40) (-1 . -23)) ((16 . 39) (15 . 40) (-1 . -22)) ((18 . 37) (17 . 38) (
-    -1 . -20)) ((18 . 37) (17 . 38) (-1 . -19)) ((18 . 37) (17 . 38) (-1 . -18
-    )) ((18 . 37) (17 . 38) (-1 . -17)) ((22 . 33) (21 . 34) (20 . 35) (19 . 
-    36) (-1 . -15)) ((22 . 33) (21 . 34) (20 . 35) (19 . 36) (-1 . -14)) ((24 
-    . 31) (23 . 32) (-1 . -12)) ((25 . 30) (-1 . -10)) ((26 . 29) (-1 . -8)) (
-    (27 . 28) (-1 . -6)) ((28 . 27) (-1 . -4)) ((30 . 77) (29 . 26)) ((4 . 1) 
-    (5 . 2) (6 . 3) (7 . 4) (37 . 5) (8 . 6) (9 . 7) (10 . 8) (11 . 9) (16 . 
-    10) (15 . 11) (38 . 12) (39 . 13) (40 . 14) (41 . 15) (42 . 16) (43 . 17) 
-    (44 . 18) (45 . 19) (46 . 20) (47 . 21) (48 . 22) (49 . 23) (50 . 80)) ((
-    -1 . -43)) ((2 . -46) (1 . -46)) ((2 . -2) (1 . -2) (35 . -2))))
+  #(((3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7) (9 . 8) (10 . 
+    9) (11 . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 14) (40 . 15) (41 . 16) (
+    42 . 17) (43 . 18) (44 . 19) (45 . 20) (46 . 21) (47 . 22) (48 . 23) (49 
+    . 24) (50 . 25)) ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7)
+    (9 . 8) (10 . 9) (11 . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 14) (40 . 
+    15) (41 . 16) (42 . 17) (43 . 18) (44 . 19) (45 . 20) (46 . 21) (47 . 22) 
+    (48 . 23) (49 . 24) (50 . 54) (36 . 55)) ((3 . 53)) ((-1 . -43)) ((-1 . 
+    -42)) ((-1 . -41)) ((-1 . -38)) ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (
+    37 . 6) (8 . 7) (9 . 8) (10 . 9) (11 . 10) (16 . 11) (15 . 12) (38 . 13) (
+    39 . 52)) ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7) (9 . 8
+    ) (10 . 9) (11 . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 51)) ((3 . 1) (4 
+    . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7) (9 . 8) (10 . 9) (11 . 10) (
+    16 . 11) (15 . 12) (38 . 13) (39 . 50)) ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (
+    7 . 5) (37 . 6) (8 . 7) (9 . 8) (10 . 9) (11 . 10) (16 . 11) (15 . 12) (38
+    . 13) (39 . 49)) ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7
+    ) (9 . 8) (10 . 9) (11 . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 48)) ((3 
+    . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7) (9 . 8) (10 . 9) (11
+    . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 47)) ((9 . 45) (8 . 46) (-1 . 
+    -31)) ((-1 . -27)) ((14 . 42) (13 . 43) (12 . 44) (-1 . -24)) ((16 . 40) (
+    15 . 41) (-1 . -21)) ((18 . 38) (17 . 39) (-1 . -16)) ((22 . 34) (21 . 35)
+    (20 . 36) (19 . 37) (-1 . -13)) ((24 . 32) (23 . 33) (-1 . -11)) ((25 . 
+    31) (-1 . -9)) ((26 . 30) (-1 . -7)) ((27 . 29) (-1 . -5)) ((28 . 28) (-1 
+    . -3)) ((31 . 26) (29 . 27) (2 . -1) (1 . -1) (35 . -1)) ((35 . 0)) ((3 . 
+    1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7) (9 . 8) (10 . 9) (11 
+    . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 14) (40 . 15) (41 . 16) (42 . 17
+    ) (43 . 18) (44 . 19) (45 . 20) (46 . 21) (47 . 22) (48 . 23) (49 . 77)) (
+    (3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7) (9 . 8) (10 . 9) 
+    (11 . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 14) (40 . 15) (41 . 16) (42 
+    . 17) (43 . 18) (44 . 19) (45 . 20) (46 . 21) (47 . 22) (48 . 76)) ((3 . 1
+    ) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7) (9 . 8) (10 . 9) (11 . 
+    10) (16 . 11) (15 . 12) (38 . 13) (39 . 14) (40 . 15) (41 . 16) (42 . 17) 
+    (43 . 18) (44 . 19) (45 . 20) (46 . 21) (47 . 75)) ((3 . 1) (4 . 2) (5 . 3
+    ) (6 . 4) (7 . 5) (37 . 6) (8 . 7) (9 . 8) (10 . 9) (11 . 10) (16 . 11) (
+    15 . 12) (38 . 13) (39 . 14) (40 . 15) (41 . 16) (42 . 17) (43 . 18) (44 
+    . 19) (45 . 20) (46 . 74)) ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 
+    6) (8 . 7) (9 . 8) (10 . 9) (11 . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 
+    14) (40 . 15) (41 . 16) (42 . 17) (43 . 18) (44 . 19) (45 . 73)) ((3 . 1) 
+    (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7) (9 . 8) (10 . 9) (11 . 10
+    ) (16 . 11) (15 . 12) (38 . 13) (39 . 14) (40 . 15) (41 . 16) (42 . 17) (
+    43 . 18) (44 . 72)) ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 
+    . 7) (9 . 8) (10 . 9) (11 . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 14) (
+    40 . 15) (41 . 16) (42 . 17) (43 . 71)) ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (
+    7 . 5) (37 . 6) (8 . 7) (9 . 8) (10 . 9) (11 . 10) (16 . 11) (15 . 12) (38
+    . 13) (39 . 14) (40 . 15) (41 . 16) (42 . 17) (43 . 70)) ((3 . 1) (4 . 2)
+    (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7) (9 . 8) (10 . 9) (11 . 10) (16 
+    . 11) (15 . 12) (38 . 13) (39 . 14) (40 . 15) (41 . 16) (42 . 69)) ((3 . 1
+    ) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7) (9 . 8) (10 . 9) (11 . 
+    10) (16 . 11) (15 . 12) (38 . 13) (39 . 14) (40 . 15) (41 . 16) (42 . 68))
+    ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7) (9 . 8) (10 . 9
+    ) (11 . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 14) (40 . 15) (41 . 16) (
+    42 . 67)) ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7) (9 . 8
+    ) (10 . 9) (11 . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 14) (40 . 15) (41
+    . 16) (42 . 66)) ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7
+    ) (9 . 8) (10 . 9) (11 . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 14) (40 
+    . 15) (41 . 65)) ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7)
+    (9 . 8) (10 . 9) (11 . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 14) (40 . 
+    15) (41 . 64)) ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7) (
+    9 . 8) (10 . 9) (11 . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 14) (40 . 63
+    )) ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7) (9 . 8) (10 
+    . 9) (11 . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 14) (40 . 62)) ((3 . 1)
+    (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6) (8 . 7) (9 . 8) (10 . 9) (11 . 
+    10) (16 . 11) (15 . 12) (38 . 13) (39 . 61)) ((3 . 1) (4 . 2) (5 . 3) (6 
+    . 4) (7 . 5) (37 . 6) (8 . 7) (9 . 8) (10 . 9) (11 . 10) (16 . 11) (15 . 
+    12) (38 . 13) (39 . 60)) ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 6)
+    (8 . 7) (9 . 8) (10 . 9) (11 . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 59
+    )) ((-1 . -39)) ((-1 . -40)) ((-1 . -32)) ((-1 . -33)) ((-1 . -34)) ((-1 
+    . -35)) ((-1 . -36)) ((-1 . -37)) ((7 . 58)) ((2 . -46) (1 . -46)) ((2 . 
+    56) (1 . 57)) ((-1 . -45)) ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 . 5) (37 . 
+    6) (8 . 7) (9 . 8) (10 . 9) (11 . 10) (16 . 11) (15 . 12) (38 . 13) (39 . 
+    14) (40 . 15) (41 . 16) (42 . 17) (43 . 18) (44 . 19) (45 . 20) (46 . 21) 
+    (47 . 22) (48 . 23) (49 . 24) (50 . 80)) ((2 . 79)) ((-1 . -30)) ((-1 . 
+    -29)) ((-1 . -28)) ((14 . 42) (13 . 43) (12 . 44) (-1 . -26)) ((14 . 42) (
+    13 . 43) (12 . 44) (-1 . -25)) ((16 . 40) (15 . 41) (-1 . -23)) ((16 . 40)
+    (15 . 41) (-1 . -22)) ((18 . 38) (17 . 39) (-1 . -20)) ((18 . 38) (17 . 
+    39) (-1 . -19)) ((18 . 38) (17 . 39) (-1 . -18)) ((18 . 38) (17 . 39) (-1 
+    . -17)) ((22 . 34) (21 . 35) (20 . 36) (19 . 37) (-1 . -15)) ((22 . 34) (
+    21 . 35) (20 . 36) (19 . 37) (-1 . -14)) ((24 . 32) (23 . 33) (-1 . -12)) 
+    ((25 . 31) (-1 . -10)) ((26 . 30) (-1 . -8)) ((27 . 29) (-1 . -6)) ((28 . 
+    28) (-1 . -4)) ((30 . 78) (29 . 27)) ((3 . 1) (4 . 2) (5 . 3) (6 . 4) (7 
+    . 5) (37 . 6) (8 . 7) (9 . 8) (10 . 9) (11 . 10) (16 . 11) (15 . 12) (38 
+    . 13) (39 . 14) (40 . 15) (41 . 16) (42 . 17) (43 . 18) (44 . 19) (45 . 20
+    ) (46 . 21) (47 . 22) (48 . 23) (49 . 24) (50 . 81)) ((-1 . -44)) ((2 . 
+    -47) (1 . -47)) ((2 . -2) (1 . -2) (35 . -2))))
 
 (define rto-v
   #(#f 50 50 49 49 48 48 47 47 46 46 45 45 44 44 44 43 43 43 43 43 42 42 42 
-    41 41 41 40 40 40 40 39 39 39 39 39 39 39 38 38 38 37 37 37 37 36 36))
+    41 41 41 40 40 40 40 39 39 39 39 39 39 39 38 38 38 37 37 37 37 37 36 36))
 
 (define mtab
-  '(("," . 1) (")" . 2) ($ident . 3) ("(" . 4) ("defined" . 5) ($chlit . 6) 
-    ($fixed . 7) ("--" . 8) ("++" . 9) ("~" . 10) ("!" . 11) ("%" . 12) ("/" 
+  '(("," . 1) (")" . 2) ("(" . 3) ("defined" . 4) ($chlit . 5) ($fixed . 6) 
+    ($ident . 7) ("--" . 8) ("++" . 9) ("~" . 10) ("!" . 11) ("%" . 12) ("/" 
     . 13) ("*" . 14) ("-" . 15) ("+" . 16) (">>" . 17) ("<<" . 18) (">=" . 19)
     (">" . 20) ("<=" . 21) ("<" . 22) ("!=" . 23) ("==" . 24) ("&" . 25) ("^"
     . 26) ("|" . 27) ("&&" . 28) ("||" . 29) (":" . 30) ("?" . 31) (
index 80f94f3122a2a30c80fb5182e28457f94241dfcf..4b5665597b0eae7084299534d81c6d93622c4d18 100644 (file)
                           (cons 'rto-v rto-v) (cons 'mtab mtab)
                           (cons 'act-v act-v)))))
     (lambda* (lexer #:key (debug #f))
+
       (with-throw-handler
        'nyacc-error
        (lambda () (c99-parser lexer #:debug debug))
-       (lambda (key fmt . args) (apply throw 'c99-error fmt args))))))
+       (lambda (key fmt . args) (apply throw 'c99-error fmt args)))
+      )))
 
 ;; This is used to parse included files at top level.
 (define (run-parse)
index 948af60a4f3a321063c848d00d0220e08fef66e3..2e16350676d985087971b9f48c3682295afb1077 100644 (file)
   (let ((info (fluid-ref *info*)))
     (raw-parser (gen-c-lexer) #:debug (cpi-debug info))))
 
-;; @item parse-cx [#:cpp-defs def-a-list] [#:debug bool]
+;; @item parse-c99x [#:cpp-defs def-a-list] [#:debug bool]
 ;; This needs to be explained in some detail.
 ;; [#:tyns '("foo_t")]
-(define* (parse-c99x xstr
+(define* (parse-c99x expr-string
                     #:key
                     (cpp-defs '())     ; CPP defines
                     (tn-dict '())      ; typedef dictionary
                     (xdef? #f)         ; pred to determine expand
                     (debug #f)         ; debug?
                     (tyns '()))        ; defined typenames
-  (with-input-from-string xstr
-    (catch
-     #t
-     (lambda ()
-       (let ((info (make-cpi debug cpp-defs '(".") tn-dict)))
-        (set-cpi-ptl! info (cons tyns (cpi-ptl info)))
-        (with-fluid*
-            *info* info
-            (lambda ()
-              (raw-parser (gen-c-lexer #:mode 'code #:xdef? xdef?)
-                          #:debug debug))))))
-   (lambda (key fmt . rest)
-     (report-error fmt rest)
-     #f)))
+  (with-input-from-string expr-string
+    (lambda ()
+      (catch
+       'c99-error
+       (lambda ()
+        (let ((info (make-cpi debug cpp-defs '(".") tn-dict)))
+          (set-cpi-ptl! info (cons tyns (cpi-ptl info)))
+          (with-fluid*
+              *info* info
+              (lambda ()
+                (raw-parser (gen-c-lexer #:mode 'code #:xdef? xdef?)
+                            #:debug debug)))))
+       (lambda (key fmt . rest)
+        (report-error fmt rest)
+        #f)))))
 
 (define parse-cx parse-c99x)
 
index 1d22d911ae467129d39fe66cf91680a6e624ab76..7134e557446649005a3850a16585157a7bbcb328 100644 (file)
@@ -49,7 +49,7 @@ the file COPYING included with the this distribution.")
   (let ((fn (or (port-filename (current-input-port)) "(unknown)"))
        (ln (1+ (port-line (current-input-port)))))
     (apply simple-format (current-error-port)
-          (string-append "~S:~S: " fmt "\n") fn ln args)))
+          (string-append "~A:~A: " fmt "\n") fn ln args)))
 
 ;; === input stack =====================
 
index 354b7467781df8fe40d1f0956b679c3896556692..dbb41a75d762627d1841263e36e5d089a4f691d1 100644 (file)
 ;; char -> (char . char)
 ;; @end enumerate
 ;; todo: add bol status
+;; todo: maybe separate reading of keywords from identifiers: (keywd ch) =>
 (define* (make-lexer-generator match-table
                               #:key ident-reader num-reader
                               string-reader chlit-reader