Hex Artifact Content
Not logged in

Artifact ed2f63acb0151eb285268694b8d4d72f851867fd:


0000: 2f 2a 0a 2a 2a 20 32 30 30 30 2d 30 35 2d 32 39  /*.** 2000-05-29
0010: 0a 2a 2a 0a 2a 2a 20 54 68 65 20 61 75 74 68 6f  .**.** The autho
0020: 72 20 64 69 73 63 6c 61 69 6d 73 20 63 6f 70 79  r disclaims copy
0030: 72 69 67 68 74 20 74 6f 20 74 68 69 73 20 73 6f  right to this so
0040: 75 72 63 65 20 63 6f 64 65 2e 20 20 49 6e 20 70  urce code.  In p
0050: 6c 61 63 65 20 6f 66 0a 2a 2a 20 61 20 6c 65 67  lace of.** a leg
0060: 61 6c 20 6e 6f 74 69 63 65 2c 20 68 65 72 65 20  al notice, here 
0070: 69 73 20 61 20 62 6c 65 73 73 69 6e 67 3a 0a 2a  is a blessing:.*
0080: 2a 0a 2a 2a 20 20 20 20 4d 61 79 20 79 6f 75 20  *.**    May you 
0090: 64 6f 20 67 6f 6f 64 20 61 6e 64 20 6e 6f 74 20  do good and not 
00a0: 65 76 69 6c 2e 0a 2a 2a 20 20 20 20 4d 61 79 20  evil..**    May 
00b0: 79 6f 75 20 66 69 6e 64 20 66 6f 72 67 69 76 65  you find forgive
00c0: 6e 65 73 73 20 66 6f 72 20 79 6f 75 72 73 65 6c  ness for yoursel
00d0: 66 20 61 6e 64 20 66 6f 72 67 69 76 65 20 6f 74  f and forgive ot
00e0: 68 65 72 73 2e 0a 2a 2a 20 20 20 20 4d 61 79 20  hers..**    May 
00f0: 79 6f 75 20 73 68 61 72 65 20 66 72 65 65 6c 79  you share freely
0100: 2c 20 6e 65 76 65 72 20 74 61 6b 69 6e 67 20 6d  , never taking m
0110: 6f 72 65 20 74 68 61 6e 20 79 6f 75 20 67 69 76  ore than you giv
0120: 65 2e 0a 2a 2a 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  e..**.**********
0130: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0140: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0150: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0160: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a  ***************.
0170: 2a 2a 20 44 72 69 76 65 72 20 74 65 6d 70 6c 61  ** Driver templa
0180: 74 65 20 66 6f 72 20 74 68 65 20 4c 45 4d 4f 4e  te for the LEMON
0190: 20 70 61 72 73 65 72 20 67 65 6e 65 72 61 74 6f   parser generato
01a0: 72 2e 0a 2a 2a 0a 2a 2a 20 54 68 65 20 22 6c 65  r..**.** The "le
01b0: 6d 6f 6e 22 20 70 72 6f 67 72 61 6d 20 70 72 6f  mon" program pro
01c0: 63 65 73 73 65 73 20 61 6e 20 4c 41 4c 52 28 31  cesses an LALR(1
01d0: 29 20 69 6e 70 75 74 20 67 72 61 6d 6d 61 72 20  ) input grammar 
01e0: 66 69 6c 65 2c 20 74 68 65 6e 20 75 73 65 73 0a  file, then uses.
01f0: 2a 2a 20 74 68 69 73 20 74 65 6d 70 6c 61 74 65  ** this template
0200: 20 74 6f 20 63 6f 6e 73 74 72 75 63 74 20 61 20   to construct a 
0210: 70 61 72 73 65 72 2e 20 20 54 68 65 20 22 6c 65  parser.  The "le
0220: 6d 6f 6e 22 20 70 72 6f 67 72 61 6d 20 69 6e 73  mon" program ins
0230: 65 72 74 73 20 74 65 78 74 0a 2a 2a 20 61 74 20  erts text.** at 
0240: 65 61 63 68 20 22 25 25 22 20 6c 69 6e 65 2e 20  each "%%" line. 
0250: 20 41 6c 73 6f 2c 20 61 6e 79 20 22 50 2d 61 2d   Also, any "P-a-
0260: 72 2d 73 2d 65 22 20 69 64 65 6e 74 69 66 65 72  r-s-e" identifer
0270: 20 70 72 65 66 69 78 20 28 77 69 74 68 6f 75 74   prefix (without
0280: 20 74 68 65 0a 2a 2a 20 69 6e 74 65 72 73 74 69   the.** intersti
0290: 74 69 61 6c 20 22 2d 22 20 63 68 61 72 61 63 74  tial "-" charact
02a0: 65 72 73 29 20 63 6f 6e 74 61 69 6e 65 64 20 69  ers) contained i
02b0: 6e 20 74 68 69 73 20 74 65 6d 70 6c 61 74 65 20  n this template 
02c0: 69 73 20 63 68 61 6e 67 65 64 20 69 6e 74 6f 0a  is changed into.
02d0: 2a 2a 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20  ** the value of 
02e0: 74 68 65 20 25 6e 61 6d 65 20 64 69 72 65 63 74  the %name direct
02f0: 69 76 65 20 66 72 6f 6d 20 74 68 65 20 67 72 61  ive from the gra
0300: 6d 6d 61 72 2e 20 20 4f 74 68 65 72 77 69 73 65  mmar.  Otherwise
0310: 2c 20 74 68 65 20 63 6f 6e 74 65 6e 74 0a 2a 2a  , the content.**
0320: 20 6f 66 20 74 68 69 73 20 74 65 6d 70 6c 61 74   of this templat
0330: 65 20 69 73 20 63 6f 70 69 65 64 20 73 74 72 61  e is copied stra
0340: 69 67 68 74 20 74 68 72 6f 75 67 68 20 69 6e 74  ight through int
0350: 6f 20 74 68 65 20 67 65 6e 65 72 61 74 65 20 70  o the generate p
0360: 61 72 73 65 72 0a 2a 2a 20 73 6f 75 72 63 65 20  arser.** source 
0370: 66 69 6c 65 2e 0a 2a 2a 0a 2a 2a 20 54 68 65 20  file..**.** The 
0380: 66 6f 6c 6c 6f 77 69 6e 67 20 69 73 20 74 68 65  following is the
0390: 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f   concatenation o
03a0: 66 20 61 6c 6c 20 25 69 6e 63 6c 75 64 65 20 64  f all %include d
03b0: 69 72 65 63 74 69 76 65 73 20 66 72 6f 6d 20 74  irectives from t
03c0: 68 65 0a 2a 2a 20 69 6e 70 75 74 20 67 72 61 6d  he.** input gram
03d0: 6d 61 72 20 66 69 6c 65 3a 0a 2a 2f 0a 23 69 6e  mar file:.*/.#in
03e0: 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 0a  clude <stdio.h>.
03f0: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 42 65  /************ Be
0400: 67 69 6e 20 25 69 6e 63 6c 75 64 65 20 73 65 63  gin %include sec
0410: 74 69 6f 6e 73 20 66 72 6f 6d 20 74 68 65 20 67  tions from the g
0420: 72 61 6d 6d 61 72 20 2a 2a 2a 2a 2a 2a 2a 2a 2a  rammar *********
0430: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f  ***************/
0440: 0a 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ../*************
0450: 2a 2a 2a 20 45 6e 64 20 6f 66 20 25 69 6e 63 6c  *** End of %incl
0460: 75 64 65 20 64 69 72 65 63 74 69 76 65 73 20 2a  ude directives *
0470: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0480: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0490: 2a 2f 0a 2f 2a 20 54 68 65 73 65 20 63 6f 6e 73  */./* These cons
04a0: 74 61 6e 74 73 20 73 70 65 63 69 66 79 20 74 68  tants specify th
04b0: 65 20 76 61 72 69 6f 75 73 20 6e 75 6d 65 72 69  e various numeri
04c0: 63 20 76 61 6c 75 65 73 20 66 6f 72 20 74 65 72  c values for ter
04d0: 6d 69 6e 61 6c 20 73 79 6d 62 6f 6c 73 0a 2a 2a  minal symbols.**
04e0: 20 69 6e 20 61 20 66 6f 72 6d 61 74 20 75 6e 64   in a format und
04f0: 65 72 73 74 61 6e 64 61 62 6c 65 20 74 6f 20 22  erstandable to "
0500: 6d 61 6b 65 68 65 61 64 65 72 73 22 2e 20 20 54  makeheaders".  T
0510: 68 69 73 20 73 65 63 74 69 6f 6e 20 69 73 20 62  his section is b
0520: 6c 61 6e 6b 20 75 6e 6c 65 73 73 0a 2a 2a 20 22  lank unless.** "
0530: 6c 65 6d 6f 6e 22 20 69 73 20 72 75 6e 20 77 69  lemon" is run wi
0540: 74 68 20 74 68 65 20 22 2d 6d 22 20 63 6f 6d 6d  th the "-m" comm
0550: 61 6e 64 2d 6c 69 6e 65 20 6f 70 74 69 6f 6e 2e  and-line option.
0560: 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  .***************
0570: 2a 2a 20 42 65 67 69 6e 20 6d 61 6b 65 68 65 61  ** Begin makehea
0580: 64 65 72 73 20 74 6f 6b 65 6e 20 64 65 66 69 6e  ders token defin
0590: 69 74 69 6f 6e 73 20 2a 2a 2a 2a 2a 2a 2a 2a 2a  itions *********
05a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
05b0: 2f 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /./*************
05c0: 2a 2a 2a 20 45 6e 64 20 6d 61 6b 65 68 65 61 64  *** End makehead
05d0: 65 72 73 20 74 6f 6b 65 6e 20 64 65 66 69 6e 69  ers token defini
05e0: 74 69 6f 6e 73 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  tions **********
05f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0600: 2a 2f 0a 0a 2f 2a 20 54 68 65 20 6e 65 78 74 20  */../* The next 
0610: 73 65 63 74 69 6f 6e 73 20 69 73 20 61 20 73 65  sections is a se
0620: 72 69 65 73 20 6f 66 20 63 6f 6e 74 72 6f 6c 20  ries of control 
0630: 23 64 65 66 69 6e 65 73 2e 0a 2a 2a 20 76 61 72  #defines..** var
0640: 69 6f 75 73 20 61 73 70 65 63 74 73 20 6f 66 20  ious aspects of 
0650: 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 70 61  the generated pa
0660: 72 73 65 72 2e 0a 2a 2a 20 20 20 20 59 59 43 4f  rser..**    YYCO
0670: 44 45 54 59 50 45 20 20 20 20 20 20 20 20 20 69  DETYPE         i
0680: 73 20 74 68 65 20 64 61 74 61 20 74 79 70 65 20  s the data type 
0690: 75 73 65 64 20 74 6f 20 73 74 6f 72 65 20 74 68  used to store th
06a0: 65 20 69 6e 74 65 67 65 72 20 63 6f 64 65 73 0a  e integer codes.
06b0: 2a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  **              
06c0: 20 20 20 20 20 20 20 20 20 74 68 61 74 20 72 65           that re
06d0: 70 72 65 73 65 6e 74 20 74 65 72 6d 69 6e 61 6c  present terminal
06e0: 20 61 6e 64 20 6e 6f 6e 2d 74 65 72 6d 69 6e 61   and non-termina
06f0: 6c 20 73 79 6d 62 6f 6c 73 2e 0a 2a 2a 20 20 20  l symbols..**   
0700: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0710: 20 20 20 20 22 75 6e 73 69 67 6e 65 64 20 63 68      "unsigned ch
0720: 61 72 22 20 69 73 20 75 73 65 64 20 69 66 20 74  ar" is used if t
0730: 68 65 72 65 20 61 72 65 20 66 65 77 65 72 20 74  here are fewer t
0740: 68 61 6e 0a 2a 2a 20 20 20 20 20 20 20 20 20 20  han.**          
0750: 20 20 20 20 20 20 20 20 20 20 20 20 20 32 35 36               256
0760: 20 73 79 6d 62 6f 6c 73 2e 20 20 4c 61 72 67 65   symbols.  Large
0770: 72 20 74 79 70 65 73 20 6f 74 68 65 72 77 69 73  r types otherwis
0780: 65 2e 0a 2a 2a 20 20 20 20 59 59 4e 4f 43 4f 44  e..**    YYNOCOD
0790: 45 20 20 20 20 20 20 20 20 20 20 20 69 73 20 61  E           is a
07a0: 20 6e 75 6d 62 65 72 20 6f 66 20 74 79 70 65 20   number of type 
07b0: 59 59 43 4f 44 45 54 59 50 45 20 74 68 61 74 20  YYCODETYPE that 
07c0: 69 73 20 6e 6f 74 20 75 73 65 64 20 66 6f 72 0a  is not used for.
07d0: 2a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  **              
07e0: 20 20 20 20 20 20 20 20 20 61 6e 79 20 74 65 72           any ter
07f0: 6d 69 6e 61 6c 20 6f 72 20 6e 6f 6e 74 65 72 6d  minal or nonterm
0800: 69 6e 61 6c 20 73 79 6d 62 6f 6c 2e 0a 2a 2a 20  inal symbol..** 
0810: 20 20 20 59 59 46 41 4c 4c 42 41 43 4b 20 20 20     YYFALLBACK   
0820: 20 20 20 20 20 20 49 66 20 64 65 66 69 6e 65 64        If defined
0830: 2c 20 74 68 69 73 20 69 6e 64 69 63 61 74 65 73  , this indicates
0840: 20 74 68 61 74 20 6f 6e 65 20 6f 72 20 6d 6f 72   that one or mor
0850: 65 20 74 6f 6b 65 6e 73 0a 2a 2a 20 20 20 20 20  e tokens.**     
0860: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0870: 20 20 28 61 6c 73 6f 20 6b 6e 6f 77 6e 20 61 73    (also known as
0880: 3a 20 22 74 65 72 6d 69 6e 61 6c 20 73 79 6d 62  : "terminal symb
0890: 6f 6c 73 22 29 20 68 61 76 65 20 66 61 6c 6c 2d  ols") have fall-
08a0: 62 61 63 6b 0a 2a 2a 20 20 20 20 20 20 20 20 20  back.**         
08b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61                va
08c0: 6c 75 65 73 20 77 68 69 63 68 20 73 68 6f 75 6c  lues which shoul
08d0: 64 20 62 65 20 75 73 65 64 20 69 66 20 74 68 65  d be used if the
08e0: 20 6f 72 69 67 69 6e 61 6c 20 73 79 6d 62 6f 6c   original symbol
08f0: 0a 2a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  .**             
0900: 20 20 20 20 20 20 20 20 20 20 77 6f 75 6c 64 20            would 
0910: 6e 6f 74 20 70 61 72 73 65 2e 20 20 54 68 69 73  not parse.  This
0920: 20 70 65 72 6d 69 74 73 20 6b 65 79 77 6f 72 64   permits keyword
0930: 73 20 74 6f 20 73 6f 6d 65 74 69 6d 65 73 0a 2a  s to sometimes.*
0940: 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  *               
0950: 20 20 20 20 20 20 20 20 62 65 20 75 73 65 64 20          be used 
0960: 61 73 20 69 64 65 6e 74 69 66 69 65 72 73 2c 20  as identifiers, 
0970: 66 6f 72 20 65 78 61 6d 70 6c 65 2e 0a 2a 2a 20  for example..** 
0980: 20 20 20 59 59 41 43 54 49 4f 4e 54 59 50 45 20     YYACTIONTYPE 
0990: 20 20 20 20 20 20 69 73 20 74 68 65 20 64 61 74        is the dat
09a0: 61 20 74 79 70 65 20 75 73 65 64 20 66 6f 72 20  a type used for 
09b0: 22 61 63 74 69 6f 6e 20 63 6f 64 65 73 22 20 2d  "action codes" -
09c0: 20 6e 75 6d 62 65 72 73 0a 2a 2a 20 20 20 20 20   numbers.**     
09d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
09e0: 20 20 74 68 61 74 20 69 6e 64 69 63 61 74 65 20    that indicate 
09f0: 77 68 61 74 20 74 6f 20 64 6f 20 69 6e 20 72 65  what to do in re
0a00: 73 70 6f 6e 73 65 20 74 6f 20 74 68 65 20 6e 65  sponse to the ne
0a10: 78 74 0a 2a 2a 20 20 20 20 20 20 20 20 20 20 20  xt.**           
0a20: 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 6b 65              toke
0a30: 6e 2e 0a 2a 2a 20 20 20 20 50 61 72 73 65 54 4f  n..**    ParseTO
0a40: 4b 45 4e 54 59 50 45 20 20 20 20 20 69 73 20 74  KENTYPE     is t
0a50: 68 65 20 64 61 74 61 20 74 79 70 65 20 75 73 65  he data type use
0a60: 64 20 66 6f 72 20 6d 69 6e 6f 72 20 74 79 70 65  d for minor type
0a70: 20 66 6f 72 20 74 65 72 6d 69 6e 61 6c 0a 2a 2a   for terminal.**
0a80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0a90: 20 20 20 20 20 20 20 73 79 6d 62 6f 6c 73 2e 20         symbols. 
0aa0: 20 42 61 63 6b 67 72 6f 75 6e 64 3a 20 41 20 22   Background: A "
0ab0: 6d 69 6e 6f 72 20 74 79 70 65 22 20 69 73 20 61  minor type" is a
0ac0: 20 73 65 6d 61 6e 74 69 63 0a 2a 2a 20 20 20 20   semantic.**    
0ad0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0ae0: 20 20 20 76 61 6c 75 65 20 61 73 73 6f 63 69 61     value associa
0af0: 74 65 64 20 77 69 74 68 20 61 20 74 65 72 6d 69  ted with a termi
0b00: 6e 61 6c 20 6f 72 20 6e 6f 6e 2d 74 65 72 6d 69  nal or non-termi
0b10: 6e 61 6c 0a 2a 2a 20 20 20 20 20 20 20 20 20 20  nal.**          
0b20: 20 20 20 20 20 20 20 20 20 20 20 20 20 73 79 6d               sym
0b30: 62 6f 6c 73 2e 20 20 46 6f 72 20 65 78 61 6d 70  bols.  For examp
0b40: 6c 65 2c 20 66 6f 72 20 61 6e 20 22 49 44 22 20  le, for an "ID" 
0b50: 74 65 72 6d 69 6e 61 6c 20 73 79 6d 62 6f 6c 2c  terminal symbol,
0b60: 0a 2a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  .**             
0b70: 20 20 20 20 20 20 20 20 20 20 74 68 65 20 6d 69            the mi
0b80: 6e 6f 72 20 74 79 70 65 20 6d 69 67 68 74 20 62  nor type might b
0b90: 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68  e the name of th
0ba0: 65 20 69 64 65 6e 74 69 66 69 65 72 2e 0a 2a 2a  e identifier..**
0bb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0bc0: 20 20 20 20 20 20 20 45 61 63 68 20 6e 6f 6e 2d         Each non-
0bd0: 74 65 72 6d 69 6e 61 6c 20 63 61 6e 20 68 61 76  terminal can hav
0be0: 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 6d 69  e a different mi
0bf0: 6e 6f 72 20 74 79 70 65 2e 0a 2a 2a 20 20 20 20  nor type..**    
0c00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c10: 20 20 20 54 65 72 6d 69 6e 61 6c 20 73 79 6d 62     Terminal symb
0c20: 6f 6c 73 20 61 6c 6c 20 68 61 76 65 20 74 68 65  ols all have the
0c30: 20 73 61 6d 65 20 6d 69 6e 6f 72 20 74 79 70 65   same minor type
0c40: 2c 20 74 68 6f 75 67 68 2e 0a 2a 2a 20 20 20 20  , though..**    
0c50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c60: 20 20 20 54 68 69 73 20 6d 61 63 72 6f 73 20 64     This macros d
0c70: 65 66 69 6e 65 73 20 74 68 65 20 6d 69 6e 6f 72  efines the minor
0c80: 20 74 79 70 65 20 66 6f 72 20 74 65 72 6d 69 6e   type for termin
0c90: 61 6c 20 0a 2a 2a 20 20 20 20 20 20 20 20 20 20  al .**          
0ca0: 20 20 20 20 20 20 20 20 20 20 20 20 20 73 79 6d               sym
0cb0: 62 6f 6c 73 2e 0a 2a 2a 20 20 20 20 59 59 4d 49  bols..**    YYMI
0cc0: 4e 4f 52 54 59 50 45 20 20 20 20 20 20 20 20 69  NORTYPE        i
0cd0: 73 20 74 68 65 20 64 61 74 61 20 74 79 70 65 20  s the data type 
0ce0: 75 73 65 64 20 66 6f 72 20 61 6c 6c 20 6d 69 6e  used for all min
0cf0: 6f 72 20 74 79 70 65 73 2e 0a 2a 2a 20 20 20 20  or types..**    
0d00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0d10: 20 20 20 54 68 69 73 20 69 73 20 74 79 70 69 63     This is typic
0d20: 61 6c 6c 79 20 61 20 75 6e 69 6f 6e 20 6f 66 20  ally a union of 
0d30: 6d 61 6e 79 20 74 79 70 65 73 2c 20 6f 6e 65 20  many types, one 
0d40: 6f 66 0a 2a 2a 20 20 20 20 20 20 20 20 20 20 20  of.**           
0d50: 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 63              whic
0d60: 68 20 69 73 20 50 61 72 73 65 54 4f 4b 45 4e 54  h is ParseTOKENT
0d70: 59 50 45 2e 20 20 54 68 65 20 65 6e 74 72 79 20  YPE.  The entry 
0d80: 69 6e 20 74 68 65 20 75 6e 69 6f 6e 0a 2a 2a 20  in the union.** 
0d90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0da0: 20 20 20 20 20 20 66 6f 72 20 74 65 72 6d 69 6e        for termin
0db0: 61 6c 20 73 79 6d 62 6f 6c 73 20 69 73 20 63 61  al symbols is ca
0dc0: 6c 6c 65 64 20 22 79 79 30 22 2e 0a 2a 2a 20 20  lled "yy0"..**  
0dd0: 20 20 59 59 53 54 41 43 4b 44 45 50 54 48 20 20    YYSTACKDEPTH  
0de0: 20 20 20 20 20 69 73 20 74 68 65 20 6d 61 78 69       is the maxi
0df0: 6d 75 6d 20 64 65 70 74 68 20 6f 66 20 74 68 65  mum depth of the
0e00: 20 70 61 72 73 65 72 27 73 20 73 74 61 63 6b 2e   parser's stack.
0e10: 20 20 49 66 0a 2a 2a 20 20 20 20 20 20 20 20 20    If.**         
0e20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7a 65                ze
0e30: 72 6f 20 74 68 65 20 73 74 61 63 6b 20 69 73 20  ro the stack is 
0e40: 64 79 6e 61 6d 69 63 61 6c 6c 79 20 73 69 7a 65  dynamically size
0e50: 64 20 75 73 69 6e 67 20 72 65 61 6c 6c 6f 63 28  d using realloc(
0e60: 29 0a 2a 2a 20 20 20 20 50 61 72 73 65 41 52 47  ).**    ParseARG
0e70: 5f 53 44 45 43 4c 20 20 20 20 20 41 20 73 74 61  _SDECL     A sta
0e80: 74 69 63 20 76 61 72 69 61 62 6c 65 20 64 65 63  tic variable dec
0e90: 6c 61 72 61 74 69 6f 6e 20 66 6f 72 20 74 68 65  laration for the
0ea0: 20 25 65 78 74 72 61 5f 61 72 67 75 6d 65 6e 74   %extra_argument
0eb0: 0a 2a 2a 20 20 20 20 50 61 72 73 65 41 52 47 5f  .**    ParseARG_
0ec0: 50 44 45 43 4c 20 20 20 20 20 41 20 70 61 72 61  PDECL     A para
0ed0: 6d 65 74 65 72 20 64 65 63 6c 61 72 61 74 69 6f  meter declaratio
0ee0: 6e 20 66 6f 72 20 74 68 65 20 25 65 78 74 72 61  n for the %extra
0ef0: 5f 61 72 67 75 6d 65 6e 74 0a 2a 2a 20 20 20 20  _argument.**    
0f00: 50 61 72 73 65 41 52 47 5f 53 54 4f 52 45 20 20  ParseARG_STORE  
0f10: 20 20 20 43 6f 64 65 20 74 6f 20 73 74 6f 72 65     Code to store
0f20: 20 25 65 78 74 72 61 5f 61 72 67 75 6d 65 6e 74   %extra_argument
0f30: 20 69 6e 74 6f 20 79 79 70 50 61 72 73 65 72 0a   into yypParser.
0f40: 2a 2a 20 20 20 20 50 61 72 73 65 41 52 47 5f 46  **    ParseARG_F
0f50: 45 54 43 48 20 20 20 20 20 43 6f 64 65 20 74 6f  ETCH     Code to
0f60: 20 65 78 74 72 61 63 74 20 25 65 78 74 72 61 5f   extract %extra_
0f70: 61 72 67 75 6d 65 6e 74 20 66 72 6f 6d 20 79 79  argument from yy
0f80: 70 50 61 72 73 65 72 0a 2a 2a 20 20 20 20 59 59  pParser.**    YY
0f90: 45 52 52 4f 52 53 59 4d 42 4f 4c 20 20 20 20 20  ERRORSYMBOL     
0fa0: 20 69 73 20 74 68 65 20 63 6f 64 65 20 6e 75 6d   is the code num
0fb0: 62 65 72 20 6f 66 20 74 68 65 20 65 72 72 6f 72  ber of the error
0fc0: 20 73 79 6d 62 6f 6c 2e 20 20 49 66 20 6e 6f 74   symbol.  If not
0fd0: 0a 2a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  .**             
0fe0: 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65            define
0ff0: 64 2c 20 74 68 65 6e 20 64 6f 20 6e 6f 20 65 72  d, then do no er
1000: 72 6f 72 20 70 72 6f 63 65 73 73 69 6e 67 2e 0a  ror processing..
1010: 2a 2a 20 20 20 20 59 59 4e 53 54 41 54 45 20 20  **    YYNSTATE  
1020: 20 20 20 20 20 20 20 20 20 74 68 65 20 63 6f 6d           the com
1030: 62 69 6e 65 64 20 6e 75 6d 62 65 72 20 6f 66 20  bined number of 
1040: 73 74 61 74 65 73 2e 0a 2a 2a 20 20 20 20 59 59  states..**    YY
1050: 4e 52 55 4c 45 20 20 20 20 20 20 20 20 20 20 20  NRULE           
1060: 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72   the number of r
1070: 75 6c 65 73 20 69 6e 20 74 68 65 20 67 72 61 6d  ules in the gram
1080: 6d 61 72 0a 2a 2a 20 20 20 20 59 59 4e 54 4f 4b  mar.**    YYNTOK
1090: 45 4e 20 20 20 20 20 20 20 20 20 20 20 4e 75 6d  EN           Num
10a0: 62 65 72 20 6f 66 20 74 65 72 6d 69 6e 61 6c 20  ber of terminal 
10b0: 73 79 6d 62 6f 6c 73 0a 2a 2a 20 20 20 20 59 59  symbols.**    YY
10c0: 5f 4d 41 58 5f 53 48 49 46 54 20 20 20 20 20 20  _MAX_SHIFT      
10d0: 20 4d 61 78 69 6d 75 6d 20 76 61 6c 75 65 20 66   Maximum value f
10e0: 6f 72 20 73 68 69 66 74 20 61 63 74 69 6f 6e 73  or shift actions
10f0: 0a 2a 2a 20 20 20 20 59 59 5f 4d 49 4e 5f 53 48  .**    YY_MIN_SH
1100: 49 46 54 52 45 44 55 43 45 20 4d 69 6e 69 6d 75  IFTREDUCE Minimu
1110: 6d 20 76 61 6c 75 65 20 66 6f 72 20 73 68 69 66  m value for shif
1120: 74 2d 72 65 64 75 63 65 20 61 63 74 69 6f 6e 73  t-reduce actions
1130: 0a 2a 2a 20 20 20 20 59 59 5f 4d 41 58 5f 53 48  .**    YY_MAX_SH
1140: 49 46 54 52 45 44 55 43 45 20 4d 61 78 69 6d 75  IFTREDUCE Maximu
1150: 6d 20 76 61 6c 75 65 20 66 6f 72 20 73 68 69 66  m value for shif
1160: 74 2d 72 65 64 75 63 65 20 61 63 74 69 6f 6e 73  t-reduce actions
1170: 0a 2a 2a 20 20 20 20 59 59 5f 45 52 52 4f 52 5f  .**    YY_ERROR_
1180: 41 43 54 49 4f 4e 20 20 20 20 54 68 65 20 79 79  ACTION    The yy
1190: 5f 61 63 74 69 6f 6e 5b 5d 20 63 6f 64 65 20 66  _action[] code f
11a0: 6f 72 20 73 79 6e 74 61 78 20 65 72 72 6f 72 0a  or syntax error.
11b0: 2a 2a 20 20 20 20 59 59 5f 41 43 43 45 50 54 5f  **    YY_ACCEPT_
11c0: 41 43 54 49 4f 4e 20 20 20 54 68 65 20 79 79 5f  ACTION   The yy_
11d0: 61 63 74 69 6f 6e 5b 5d 20 63 6f 64 65 20 66 6f  action[] code fo
11e0: 72 20 61 63 63 65 70 74 0a 2a 2a 20 20 20 20 59  r accept.**    Y
11f0: 59 5f 4e 4f 5f 41 43 54 49 4f 4e 20 20 20 20 20  Y_NO_ACTION     
1200: 20 20 54 68 65 20 79 79 5f 61 63 74 69 6f 6e 5b    The yy_action[
1210: 5d 20 63 6f 64 65 20 66 6f 72 20 6e 6f 2d 6f 70  ] code for no-op
1220: 0a 2a 2a 20 20 20 20 59 59 5f 4d 49 4e 5f 52 45  .**    YY_MIN_RE
1230: 44 55 43 45 20 20 20 20 20 20 4d 69 6e 69 6d 75  DUCE      Minimu
1240: 6d 20 76 61 6c 75 65 20 66 6f 72 20 72 65 64 75  m value for redu
1250: 63 65 20 61 63 74 69 6f 6e 73 0a 2a 2a 20 20 20  ce actions.**   
1260: 20 59 59 5f 4d 41 58 5f 52 45 44 55 43 45 20 20   YY_MAX_REDUCE  
1270: 20 20 20 20 4d 61 78 69 6d 75 6d 20 76 61 6c 75      Maximum valu
1280: 65 20 66 6f 72 20 72 65 64 75 63 65 20 61 63 74  e for reduce act
1290: 69 6f 6e 73 0a 2a 2f 0a 23 69 66 6e 64 65 66 20  ions.*/.#ifndef 
12a0: 49 4e 54 45 52 46 41 43 45 0a 23 20 64 65 66 69  INTERFACE.# defi
12b0: 6e 65 20 49 4e 54 45 52 46 41 43 45 20 31 0a 23  ne INTERFACE 1.#
12c0: 65 6e 64 69 66 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a  endif./*********
12d0: 2a 2a 2a 2a 20 42 65 67 69 6e 20 63 6f 6e 74 72  **** Begin contr
12e0: 6f 6c 20 23 64 65 66 69 6e 65 73 20 2a 2a 2a 2a  ol #defines ****
12f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1300: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1310: 2a 2a 2a 2a 2a 2f 0a 23 64 65 66 69 6e 65 20 59  *****/.#define Y
1320: 59 43 4f 44 45 54 59 50 45 20 75 6e 73 69 67 6e  YCODETYPE unsign
1330: 65 64 20 63 68 61 72 0a 23 64 65 66 69 6e 65 20  ed char.#define 
1340: 59 59 4e 4f 43 4f 44 45 20 38 34 0a 23 64 65 66  YYNOCODE 84.#def
1350: 69 6e 65 20 59 59 41 43 54 49 4f 4e 54 59 50 45  ine YYACTIONTYPE
1360: 20 75 6e 73 69 67 6e 65 64 20 73 68 6f 72 74 20   unsigned short 
1370: 69 6e 74 0a 23 64 65 66 69 6e 65 20 50 61 72 73  int.#define Pars
1380: 65 54 4f 4b 45 4e 54 59 50 45 20 76 6f 69 64 20  eTOKENTYPE void 
1390: 2a 0a 74 79 70 65 64 65 66 20 75 6e 69 6f 6e 20  *.typedef union 
13a0: 7b 0a 20 20 69 6e 74 20 79 79 69 6e 69 74 3b 0a  {.  int yyinit;.
13b0: 20 20 50 61 72 73 65 54 4f 4b 45 4e 54 59 50 45    ParseTOKENTYPE
13c0: 20 79 79 30 3b 0a 7d 20 59 59 4d 49 4e 4f 52 54   yy0;.} YYMINORT
13d0: 59 50 45 3b 0a 23 69 66 6e 64 65 66 20 59 59 53  YPE;.#ifndef YYS
13e0: 54 41 43 4b 44 45 50 54 48 0a 23 64 65 66 69 6e  TACKDEPTH.#defin
13f0: 65 20 59 59 53 54 41 43 4b 44 45 50 54 48 20 31  e YYSTACKDEPTH 1
1400: 30 30 30 30 30 30 0a 23 65 6e 64 69 66 0a 23 64  000000.#endif.#d
1410: 65 66 69 6e 65 20 50 61 72 73 65 41 52 47 5f 53  efine ParseARG_S
1420: 44 45 43 4c 20 20 73 74 72 75 63 74 20 67 65 6f  DECL  struct geo
1430: 4a 73 6f 6e 5f 64 61 74 61 20 2a 70 5f 64 61 74  Json_data *p_dat
1440: 61 20 3b 0a 23 64 65 66 69 6e 65 20 50 61 72 73  a ;.#define Pars
1450: 65 41 52 47 5f 50 44 45 43 4c 20 2c 20 73 74 72  eARG_PDECL , str
1460: 75 63 74 20 67 65 6f 4a 73 6f 6e 5f 64 61 74 61  uct geoJson_data
1470: 20 2a 70 5f 64 61 74 61 20 0a 23 64 65 66 69 6e   *p_data .#defin
1480: 65 20 50 61 72 73 65 41 52 47 5f 46 45 54 43 48  e ParseARG_FETCH
1490: 20 20 73 74 72 75 63 74 20 67 65 6f 4a 73 6f 6e    struct geoJson
14a0: 5f 64 61 74 61 20 2a 70 5f 64 61 74 61 20 20 3d  _data *p_data  =
14b0: 20 79 79 70 50 61 72 73 65 72 2d 3e 70 5f 64 61   yypParser->p_da
14c0: 74 61 20 0a 23 64 65 66 69 6e 65 20 50 61 72 73  ta .#define Pars
14d0: 65 41 52 47 5f 53 54 4f 52 45 20 79 79 70 50 61  eARG_STORE yypPa
14e0: 72 73 65 72 2d 3e 70 5f 64 61 74 61 20 20 3d 20  rser->p_data  = 
14f0: 70 5f 64 61 74 61 20 0a 23 64 65 66 69 6e 65 20  p_data .#define 
1500: 59 59 4e 53 54 41 54 45 20 20 20 20 20 20 20 20  YYNSTATE        
1510: 20 20 20 20 20 35 33 30 0a 23 64 65 66 69 6e 65       530.#define
1520: 20 59 59 4e 52 55 4c 45 20 20 20 20 20 20 20 20   YYNRULE        
1530: 20 20 20 20 20 20 31 35 39 0a 23 64 65 66 69 6e        159.#defin
1540: 65 20 59 59 4e 54 4f 4b 45 4e 20 20 20 20 20 20  e YYNTOKEN      
1550: 20 20 20 20 20 20 20 32 35 0a 23 64 65 66 69 6e         25.#defin
1560: 65 20 59 59 5f 4d 41 58 5f 53 48 49 46 54 20 20  e YY_MAX_SHIFT  
1570: 20 20 20 20 20 20 20 35 32 39 0a 23 64 65 66 69         529.#defi
1580: 6e 65 20 59 59 5f 4d 49 4e 5f 53 48 49 46 54 52  ne YY_MIN_SHIFTR
1590: 45 44 55 43 45 20 20 20 36 37 37 0a 23 64 65 66  EDUCE   677.#def
15a0: 69 6e 65 20 59 59 5f 4d 41 58 5f 53 48 49 46 54  ine YY_MAX_SHIFT
15b0: 52 45 44 55 43 45 20 20 20 38 33 35 0a 23 64 65  REDUCE   835.#de
15c0: 66 69 6e 65 20 59 59 5f 45 52 52 4f 52 5f 41 43  fine YY_ERROR_AC
15d0: 54 49 4f 4e 20 20 20 20 20 20 38 33 36 0a 23 64  TION      836.#d
15e0: 65 66 69 6e 65 20 59 59 5f 41 43 43 45 50 54 5f  efine YY_ACCEPT_
15f0: 41 43 54 49 4f 4e 20 20 20 20 20 38 33 37 0a 23  ACTION     837.#
1600: 64 65 66 69 6e 65 20 59 59 5f 4e 4f 5f 41 43 54  define YY_NO_ACT
1610: 49 4f 4e 20 20 20 20 20 20 20 20 20 38 33 38 0a  ION         838.
1620: 23 64 65 66 69 6e 65 20 59 59 5f 4d 49 4e 5f 52  #define YY_MIN_R
1630: 45 44 55 43 45 20 20 20 20 20 20 20 20 38 33 39  EDUCE        839
1640: 0a 23 64 65 66 69 6e 65 20 59 59 5f 4d 41 58 5f  .#define YY_MAX_
1650: 52 45 44 55 43 45 20 20 20 20 20 20 20 20 39 39  REDUCE        99
1660: 37 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  7./*************
1670: 20 45 6e 64 20 63 6f 6e 74 72 6f 6c 20 23 64 65   End control #de
1680: 66 69 6e 65 73 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  fines **********
1690: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
16a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
16b0: 2a 2f 0a 0a 2f 2a 20 44 65 66 69 6e 65 20 74 68  */../* Define th
16c0: 65 20 79 79 74 65 73 74 63 61 73 65 28 29 20 6d  e yytestcase() m
16d0: 61 63 72 6f 20 74 6f 20 62 65 20 61 20 6e 6f 2d  acro to be a no-
16e0: 6f 70 20 69 66 20 69 73 20 6e 6f 74 20 61 6c 72  op if is not alr
16f0: 65 61 64 79 20 64 65 66 69 6e 65 64 0a 2a 2a 20  eady defined.** 
1700: 6f 74 68 65 72 77 69 73 65 2e 0a 2a 2a 0a 2a 2a  otherwise..**.**
1710: 20 41 70 70 6c 69 63 61 74 69 6f 6e 73 20 63 61   Applications ca
1720: 6e 20 63 68 6f 6f 73 65 20 74 6f 20 64 65 66 69  n choose to defi
1730: 6e 65 20 79 79 74 65 73 74 63 61 73 65 28 29 20  ne yytestcase() 
1740: 69 6e 20 74 68 65 20 25 69 6e 63 6c 75 64 65 20  in the %include 
1750: 73 65 63 74 69 6f 6e 0a 2a 2a 20 74 6f 20 61 20  section.** to a 
1760: 6d 61 63 72 6f 20 74 68 61 74 20 63 61 6e 20 61  macro that can a
1770: 73 73 69 73 74 20 69 6e 20 76 65 72 69 66 79 69  ssist in verifyi
1780: 6e 67 20 63 6f 64 65 20 63 6f 76 65 72 61 67 65  ng code coverage
1790: 2e 20 20 46 6f 72 20 70 72 6f 64 75 63 74 69 6f  .  For productio
17a0: 6e 0a 2a 2a 20 63 6f 64 65 20 74 68 65 20 79 79  n.** code the yy
17b0: 74 65 73 74 63 61 73 65 28 29 20 6d 61 63 72 6f  testcase() macro
17c0: 20 73 68 6f 75 6c 64 20 62 65 20 74 75 72 6e 65   should be turne
17d0: 64 20 6f 66 66 2e 20 20 42 75 74 20 69 74 20 69  d off.  But it i
17e0: 73 20 75 73 65 66 75 6c 0a 2a 2a 20 66 6f 72 20  s useful.** for 
17f0: 74 65 73 74 69 6e 67 2e 0a 2a 2f 0a 23 69 66 6e  testing..*/.#ifn
1800: 64 65 66 20 79 79 74 65 73 74 63 61 73 65 0a 23  def yytestcase.#
1810: 20 64 65 66 69 6e 65 20 79 79 74 65 73 74 63 61   define yytestca
1820: 73 65 28 58 29 0a 23 65 6e 64 69 66 0a 0a 0a 2f  se(X).#endif.../
1830: 2a 20 4e 65 78 74 20 61 72 65 20 74 68 65 20 74  * Next are the t
1840: 61 62 6c 65 73 20 75 73 65 64 20 74 6f 20 64 65  ables used to de
1850: 74 65 72 6d 69 6e 65 20 77 68 61 74 20 61 63 74  termine what act
1860: 69 6f 6e 20 74 6f 20 74 61 6b 65 20 62 61 73 65  ion to take base
1870: 64 20 6f 6e 20 74 68 65 0a 2a 2a 20 63 75 72 72  d on the.** curr
1880: 65 6e 74 20 73 74 61 74 65 20 61 6e 64 20 6c 6f  ent state and lo
1890: 6f 6b 61 68 65 61 64 20 74 6f 6b 65 6e 2e 20 20  okahead token.  
18a0: 54 68 65 73 65 20 74 61 62 6c 65 73 20 61 72 65  These tables are
18b0: 20 75 73 65 64 20 74 6f 20 69 6d 70 6c 65 6d 65   used to impleme
18c0: 6e 74 0a 2a 2a 20 66 75 6e 63 74 69 6f 6e 73 20  nt.** functions 
18d0: 74 68 61 74 20 74 61 6b 65 20 61 20 73 74 61 74  that take a stat
18e0: 65 20 6e 75 6d 62 65 72 20 61 6e 64 20 6c 6f 6f  e number and loo
18f0: 6b 61 68 65 61 64 20 76 61 6c 75 65 20 61 6e 64  kahead value and
1900: 20 72 65 74 75 72 6e 20 61 6e 0a 2a 2a 20 61 63   return an.** ac
1910: 74 69 6f 6e 20 69 6e 74 65 67 65 72 2e 20 20 0a  tion integer.  .
1920: 2a 2a 0a 2a 2a 20 53 75 70 70 6f 73 65 20 74 68  **.** Suppose th
1930: 65 20 61 63 74 69 6f 6e 20 69 6e 74 65 67 65 72  e action integer
1940: 20 69 73 20 4e 2e 20 20 54 68 65 6e 20 74 68 65   is N.  Then the
1950: 20 61 63 74 69 6f 6e 20 69 73 20 64 65 74 65 72   action is deter
1960: 6d 69 6e 65 64 20 61 73 0a 2a 2a 20 66 6f 6c 6c  mined as.** foll
1970: 6f 77 73 0a 2a 2a 0a 2a 2a 20 20 20 30 20 3c 3d  ows.**.**   0 <=
1980: 20 4e 20 3c 3d 20 59 59 5f 4d 41 58 5f 53 48 49   N <= YY_MAX_SHI
1990: 46 54 20 20 20 20 20 20 20 20 20 20 20 20 20 53  FT             S
19a0: 68 69 66 74 20 4e 2e 20 20 54 68 61 74 20 69 73  hift N.  That is
19b0: 2c 20 70 75 73 68 20 74 68 65 20 6c 6f 6f 6b 61  , push the looka
19c0: 68 65 61 64 0a 2a 2a 20 20 20 20 20 20 20 20 20  head.**         
19d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 6b               tok
19f0: 65 6e 20 6f 6e 74 6f 20 74 68 65 20 73 74 61 63  en onto the stac
1a00: 6b 20 61 6e 64 20 67 6f 74 6f 20 73 74 61 74 65  k and goto state
1a10: 20 4e 2e 0a 2a 2a 0a 2a 2a 20 20 20 4e 20 62 65   N..**.**   N be
1a20: 74 77 65 65 6e 20 59 59 5f 4d 49 4e 5f 53 48 49  tween YY_MIN_SHI
1a30: 46 54 52 45 44 55 43 45 20 20 20 20 20 20 20 53  FTREDUCE       S
1a40: 68 69 66 74 20 74 6f 20 61 6e 20 61 72 62 69 74  hift to an arbit
1a50: 72 61 72 79 20 73 74 61 74 65 20 74 68 65 6e 0a  rary state then.
1a60: 2a 2a 20 20 20 20 20 61 6e 64 20 59 59 5f 4d 41  **     and YY_MA
1a70: 58 5f 53 48 49 46 54 52 45 44 55 43 45 20 20 20  X_SHIFTREDUCE   
1a80: 20 20 20 20 20 20 20 20 72 65 64 75 63 65 20 62          reduce b
1a90: 79 20 72 75 6c 65 20 4e 2d 59 59 5f 4d 49 4e 5f  y rule N-YY_MIN_
1aa0: 53 48 49 46 54 52 45 44 55 43 45 2e 0a 2a 2a 0a  SHIFTREDUCE..**.
1ab0: 2a 2a 20 20 20 4e 20 3d 3d 20 59 59 5f 45 52 52  **   N == YY_ERR
1ac0: 4f 52 5f 41 43 54 49 4f 4e 20 20 20 20 20 20 20  OR_ACTION       
1ad0: 20 20 20 20 20 20 20 20 41 20 73 79 6e 74 61 78          A syntax
1ae0: 20 65 72 72 6f 72 20 68 61 73 20 6f 63 63 75 72   error has occur
1af0: 72 65 64 2e 0a 2a 2a 0a 2a 2a 20 20 20 4e 20 3d  red..**.**   N =
1b00: 3d 20 59 59 5f 41 43 43 45 50 54 5f 41 43 54 49  = YY_ACCEPT_ACTI
1b10: 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ON              
1b20: 54 68 65 20 70 61 72 73 65 72 20 61 63 63 65 70  The parser accep
1b30: 74 73 20 69 74 73 20 69 6e 70 75 74 2e 0a 2a 2a  ts its input..**
1b40: 0a 2a 2a 20 20 20 4e 20 3d 3d 20 59 59 5f 4e 4f  .**   N == YY_NO
1b50: 5f 41 43 54 49 4f 4e 20 20 20 20 20 20 20 20 20  _ACTION         
1b60: 20 20 20 20 20 20 20 20 20 4e 6f 20 73 75 63 68           No such
1b70: 20 61 63 74 69 6f 6e 2e 20 20 44 65 6e 6f 74 65   action.  Denote
1b80: 73 20 75 6e 75 73 65 64 0a 2a 2a 20 20 20 20 20  s unused.**     
1b90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb0: 20 73 6c 6f 74 73 20 69 6e 20 74 68 65 20 79 79   slots in the yy
1bc0: 5f 61 63 74 69 6f 6e 5b 5d 20 74 61 62 6c 65 2e  _action[] table.
1bd0: 0a 2a 2a 0a 2a 2a 20 20 20 4e 20 62 65 74 77 65  .**.**   N betwe
1be0: 65 6e 20 59 59 5f 4d 49 4e 5f 52 45 44 55 43 45  en YY_MIN_REDUCE
1bf0: 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75              Redu
1c00: 63 65 20 62 79 20 72 75 6c 65 20 4e 2d 59 59 5f  ce by rule N-YY_
1c10: 4d 49 4e 5f 52 45 44 55 43 45 0a 2a 2a 20 20 20  MIN_REDUCE.**   
1c20: 20 20 61 6e 64 20 59 59 5f 4d 41 58 5f 52 45 44    and YY_MAX_RED
1c30: 55 43 45 0a 2a 2a 0a 2a 2a 20 54 68 65 20 61 63  UCE.**.** The ac
1c40: 74 69 6f 6e 20 74 61 62 6c 65 20 69 73 20 63 6f  tion table is co
1c50: 6e 73 74 72 75 63 74 65 64 20 61 73 20 61 20 73  nstructed as a s
1c60: 69 6e 67 6c 65 20 6c 61 72 67 65 20 74 61 62 6c  ingle large tabl
1c70: 65 20 6e 61 6d 65 64 20 79 79 5f 61 63 74 69 6f  e named yy_actio
1c80: 6e 5b 5d 2e 0a 2a 2a 20 47 69 76 65 6e 20 73 74  n[]..** Given st
1c90: 61 74 65 20 53 20 61 6e 64 20 6c 6f 6f 6b 61 68  ate S and lookah
1ca0: 65 61 64 20 58 2c 20 74 68 65 20 61 63 74 69 6f  ead X, the actio
1cb0: 6e 20 69 73 20 63 6f 6d 70 75 74 65 64 20 61 73  n is computed as
1cc0: 20 65 69 74 68 65 72 3a 0a 2a 2a 0a 2a 2a 20 20   either:.**.**  
1cd0: 20 20 28 41 29 20 20 20 4e 20 3d 20 79 79 5f 61    (A)   N = yy_a
1ce0: 63 74 69 6f 6e 5b 20 79 79 5f 73 68 69 66 74 5f  ction[ yy_shift_
1cf0: 6f 66 73 74 5b 53 5d 20 2b 20 58 20 5d 0a 2a 2a  ofst[S] + X ].**
1d00: 20 20 20 20 28 42 29 20 20 20 4e 20 3d 20 79 79      (B)   N = yy
1d10: 5f 64 65 66 61 75 6c 74 5b 53 5d 0a 2a 2a 0a 2a  _default[S].**.*
1d20: 2a 20 54 68 65 20 28 41 29 20 66 6f 72 6d 75 6c  * The (A) formul
1d30: 61 20 69 73 20 70 72 65 66 65 72 72 65 64 2e 20  a is preferred. 
1d40: 20 54 68 65 20 42 20 66 6f 72 6d 75 6c 61 20 69   The B formula i
1d50: 73 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 69  s used instead i
1d60: 66 0a 2a 2a 20 79 79 5f 6c 6f 6f 6b 61 68 65 61  f.** yy_lookahea
1d70: 64 5b 79 79 5f 73 68 69 66 74 5f 6f 66 73 74 5b  d[yy_shift_ofst[
1d80: 53 5d 2b 58 5d 20 69 73 20 6e 6f 74 20 65 71 75  S]+X] is not equ
1d90: 61 6c 20 74 6f 20 58 2e 0a 2a 2a 0a 2a 2a 20 54  al to X..**.** T
1da0: 68 65 20 66 6f 72 6d 75 6c 61 73 20 61 62 6f 76  he formulas abov
1db0: 65 20 61 72 65 20 66 6f 72 20 63 6f 6d 70 75 74  e are for comput
1dc0: 69 6e 67 20 74 68 65 20 61 63 74 69 6f 6e 20 77  ing the action w
1dd0: 68 65 6e 20 74 68 65 20 6c 6f 6f 6b 61 68 65 61  hen the lookahea
1de0: 64 20 69 73 0a 2a 2a 20 61 20 74 65 72 6d 69 6e  d is.** a termin
1df0: 61 6c 20 73 79 6d 62 6f 6c 2e 20 20 49 66 20 74  al symbol.  If t
1e00: 68 65 20 6c 6f 6f 6b 61 68 65 61 64 20 69 73 20  he lookahead is 
1e10: 61 20 6e 6f 6e 2d 74 65 72 6d 69 6e 61 6c 20 28  a non-terminal (
1e20: 61 73 20 6f 63 63 75 72 73 20 61 66 74 65 72 0a  as occurs after.
1e30: 2a 2a 20 61 20 72 65 64 75 63 65 20 61 63 74 69  ** a reduce acti
1e40: 6f 6e 29 20 74 68 65 6e 20 74 68 65 20 79 79 5f  on) then the yy_
1e50: 72 65 64 75 63 65 5f 6f 66 73 74 5b 5d 20 61 72  reduce_ofst[] ar
1e60: 72 61 79 20 69 73 20 75 73 65 64 20 69 6e 20 70  ray is used in p
1e70: 6c 61 63 65 20 6f 66 0a 2a 2a 20 74 68 65 20 79  lace of.** the y
1e80: 79 5f 73 68 69 66 74 5f 6f 66 73 74 5b 5d 20 61  y_shift_ofst[] a
1e90: 72 72 61 79 2e 0a 2a 2a 0a 2a 2a 20 54 68 65 20  rray..**.** The 
1ea0: 66 6f 6c 6c 6f 77 69 6e 67 20 61 72 65 20 74 68  following are th
1eb0: 65 20 74 61 62 6c 65 73 20 67 65 6e 65 72 61 74  e tables generat
1ec0: 65 64 20 69 6e 20 74 68 69 73 20 73 65 63 74 69  ed in this secti
1ed0: 6f 6e 3a 0a 2a 2a 0a 2a 2a 20 20 79 79 5f 61 63  on:.**.**  yy_ac
1ee0: 74 69 6f 6e 5b 5d 20 20 20 20 20 20 20 20 41 20  tion[]        A 
1ef0: 73 69 6e 67 6c 65 20 74 61 62 6c 65 20 63 6f 6e  single table con
1f00: 74 61 69 6e 69 6e 67 20 61 6c 6c 20 61 63 74 69  taining all acti
1f10: 6f 6e 73 2e 0a 2a 2a 20 20 79 79 5f 6c 6f 6f 6b  ons..**  yy_look
1f20: 61 68 65 61 64 5b 5d 20 20 20 20 20 41 20 74 61  ahead[]     A ta
1f30: 62 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74  ble containing t
1f40: 68 65 20 6c 6f 6f 6b 61 68 65 61 64 20 66 6f 72  he lookahead for
1f50: 20 65 61 63 68 20 65 6e 74 72 79 20 69 6e 0a 2a   each entry in.*
1f60: 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  *               
1f70: 20 20 20 20 20 20 79 79 5f 61 63 74 69 6f 6e 2e        yy_action.
1f80: 20 20 55 73 65 64 20 74 6f 20 64 65 74 65 63 74    Used to detect
1f90: 20 68 61 73 68 20 63 6f 6c 6c 69 73 69 6f 6e 73   hash collisions
1fa0: 2e 0a 2a 2a 20 20 79 79 5f 73 68 69 66 74 5f 6f  ..**  yy_shift_o
1fb0: 66 73 74 5b 5d 20 20 20 20 46 6f 72 20 65 61 63  fst[]    For eac
1fc0: 68 20 73 74 61 74 65 2c 20 74 68 65 20 6f 66 66  h state, the off
1fd0: 73 65 74 20 69 6e 74 6f 20 79 79 5f 61 63 74 69  set into yy_acti
1fe0: 6f 6e 20 66 6f 72 0a 2a 2a 20 20 20 20 20 20 20  on for.**       
1ff0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 68                sh
2000: 69 66 74 69 6e 67 20 74 65 72 6d 69 6e 61 6c 73  ifting terminals
2010: 2e 0a 2a 2a 20 20 79 79 5f 72 65 64 75 63 65 5f  ..**  yy_reduce_
2020: 6f 66 73 74 5b 5d 20 20 20 46 6f 72 20 65 61 63  ofst[]   For eac
2030: 68 20 73 74 61 74 65 2c 20 74 68 65 20 6f 66 66  h state, the off
2040: 73 65 74 20 69 6e 74 6f 20 79 79 5f 61 63 74 69  set into yy_acti
2050: 6f 6e 20 66 6f 72 0a 2a 2a 20 20 20 20 20 20 20  on for.**       
2060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 68                sh
2070: 69 66 74 69 6e 67 20 6e 6f 6e 2d 74 65 72 6d 69  ifting non-termi
2080: 6e 61 6c 73 20 61 66 74 65 72 20 61 20 72 65 64  nals after a red
2090: 75 63 65 2e 0a 2a 2a 20 20 79 79 5f 64 65 66 61  uce..**  yy_defa
20a0: 75 6c 74 5b 5d 20 20 20 20 20 20 20 44 65 66 61  ult[]       Defa
20b0: 75 6c 74 20 61 63 74 69 6f 6e 20 66 6f 72 20 65  ult action for e
20c0: 61 63 68 20 73 74 61 74 65 2e 0a 2a 2a 0a 2a 2a  ach state..**.**
20d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 42 65 67 69 6e 20  ********* Begin 
20e0: 70 61 72 73 69 6e 67 20 74 61 62 6c 65 73 20 2a  parsing tables *
20f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
2100: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
2110: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0a 23  *************/.#
2120: 64 65 66 69 6e 65 20 59 59 5f 41 43 54 54 41 42  define YY_ACTTAB
2130: 5f 43 4f 55 4e 54 20 28 37 37 34 29 0a 73 74 61  _COUNT (774).sta
2140: 74 69 63 20 63 6f 6e 73 74 20 59 59 41 43 54 49  tic const YYACTI
2150: 4f 4e 54 59 50 45 20 79 79 5f 61 63 74 69 6f 6e  ONTYPE yy_action
2160: 5b 5d 20 3d 20 7b 0a 20 2f 2a 20 20 20 20 20 30  [] = {. /*     0
2170: 20 2a 2f 20 20 20 35 32 39 2c 20 20 35 32 39 2c   */   529,  529,
2180: 20 20 35 32 39 2c 20 20 38 33 39 2c 20 20 38 34    529,  839,  84
2190: 30 2c 20 20 38 34 31 2c 20 20 38 34 32 2c 20 20  0,  841,  842,  
21a0: 38 34 33 2c 20 20 38 34 34 2c 20 20 38 34 35 2c  843,  844,  845,
21b0: 0a 20 2f 2a 20 20 20 20 31 30 20 2a 2f 20 20 20  . /*    10 */   
21c0: 38 34 36 2c 20 20 38 34 37 2c 20 20 38 34 38 2c  846,  847,  848,
21d0: 20 20 38 34 39 2c 20 20 38 35 30 2c 20 20 38 35    849,  850,  85
21e0: 31 2c 20 20 38 35 32 2c 20 20 35 32 36 2c 20 20  1,  852,  526,  
21f0: 31 30 32 2c 20 20 31 38 36 2c 0a 20 2f 2a 20 20  102,  186,. /*  
2200: 20 20 32 30 20 2a 2f 20 20 20 20 39 35 2c 20 20    20 */    95,  
2210: 20 39 34 2c 20 20 20 39 33 2c 20 20 35 31 32 2c   94,   93,  512,
2220: 20 20 20 38 36 2c 20 20 20 38 35 2c 20 20 20 39     86,   85,   9
2230: 32 2c 20 20 32 32 32 2c 20 20 20 39 31 2c 20 20  2,  222,   91,  
2240: 20 39 30 2c 0a 20 2f 2a 20 20 20 20 33 30 20 2a   90,. /*    30 *
2250: 2f 20 20 20 34 37 31 2c 20 20 34 32 36 2c 20 20  /   471,  426,  
2260: 33 37 39 2c 20 20 33 34 30 2c 20 20 33 30 31 2c  379,  340,  301,
2270: 20 20 32 36 32 2c 20 20 31 30 31 2c 20 20 32 33    262,  101,  23
2280: 38 2c 20 20 31 30 30 2c 20 20 20 39 39 2c 0a 20  8,  100,   99,. 
2290: 2f 2a 20 20 20 20 34 30 20 2a 2f 20 20 20 32 31  /*    40 */   21
22a0: 39 2c 20 20 32 31 36 2c 20 20 32 35 35 2c 20 20  9,  216,  255,  
22b0: 32 31 33 2c 20 20 38 33 37 2c 20 20 20 20 31 2c  213,  837,    1,
22c0: 20 20 32 30 35 2c 20 20 33 30 30 2c 20 20 37 30    205,  300,  70
22d0: 37 2c 20 20 32 39 35 2c 0a 20 2f 2a 20 20 20 20  7,  295,. /*    
22e0: 35 30 20 2a 2f 20 20 20 32 33 34 2c 20 20 32 33  50 */   234,  23
22f0: 30 2c 20 20 32 38 37 2c 20 20 34 37 35 2c 20 20  0,  287,  475,  
2300: 34 37 33 2c 20 20 32 35 31 2c 20 20 32 34 37 2c  473,  251,  247,
2310: 20 20 33 33 39 2c 20 20 32 36 31 2c 20 20 33 33    339,  261,  33
2320: 34 2c 0a 20 2f 2a 20 20 20 20 36 30 20 2a 2f 20  4,. /*    60 */ 
2330: 20 20 37 30 38 2c 20 20 37 30 39 2c 20 20 33 32    708,  709,  32
2340: 36 2c 20 20 33 37 38 2c 20 20 34 32 35 2c 20 20  6,  378,  425,  
2350: 33 37 33 2c 20 20 34 31 32 2c 20 20 20 20 33 2c  373,  412,    3,
2360: 20 20 33 36 35 2c 20 20 34 30 34 2c 0a 20 2f 2a    365,  404,. /*
2370: 20 20 20 20 37 30 20 2a 2f 20 20 20 34 37 30 2c      70 */   470,
2380: 20 20 35 32 35 2c 20 20 34 35 39 2c 20 20 35 32    525,  459,  52
2390: 30 2c 20 20 31 39 38 2c 20 20 34 35 31 2c 20 20  0,  198,  451,  
23a0: 35 30 39 2c 20 20 39 39 32 2c 20 20 35 31 32 2c  509,  992,  512,
23b0: 20 20 35 32 38 2c 0a 20 2f 2a 20 20 20 20 38 30    528,. /*    80
23c0: 20 2a 2f 20 20 20 31 38 32 2c 20 20 31 38 31 2c   */   182,  181,
23d0: 20 20 31 39 30 2c 20 20 31 38 39 2c 20 20 31 39    190,  189,  19
23e0: 34 2c 20 20 31 39 33 2c 20 20 32 30 32 2c 20 20  4,  193,  202,  
23f0: 32 30 31 2c 20 20 32 30 34 2c 20 20 31 39 32 2c  201,  204,  192,
2400: 0a 20 2f 2a 20 20 20 20 39 30 20 2a 2f 20 20 20  . /*    90 */   
2410: 32 30 37 2c 20 20 32 30 36 2c 20 20 32 31 31 2c  207,  206,  211,
2420: 20 20 32 34 34 2c 20 20 32 32 37 2c 20 20 32 32    244,  227,  22
2430: 34 2c 20 20 35 31 32 2c 20 20 32 34 38 2c 20 20  4,  512,  248,  
2440: 32 33 31 2c 20 20 32 35 32 2c 0a 20 2f 2a 20 20  231,  252,. /*  
2450: 20 31 30 30 20 2a 2f 20 20 20 32 36 30 2c 20 20   100 */   260,  
2460: 32 35 39 2c 20 20 32 34 30 2c 20 20 32 33 35 2c  259,  240,  235,
2470: 20 20 32 36 34 2c 20 20 32 36 33 2c 20 20 32 36    264,  263,  26
2480: 38 2c 20 20 32 37 32 2c 20 20 32 37 31 2c 20 20  8,  272,  271,  
2490: 32 35 37 2c 0a 20 2f 2a 20 20 20 31 31 30 20 2a  257,. /*   110 *
24a0: 2f 20 20 20 35 31 32 2c 20 20 32 38 30 2c 20 20  /   512,  280,  
24b0: 32 37 36 2c 20 20 32 37 35 2c 20 20 20 20 32 2c  276,  275,    2,
24c0: 20 20 35 31 32 2c 20 20 32 38 34 2c 20 20 32 38    512,  284,  28
24d0: 33 2c 20 20 32 38 36 2c 20 20 32 37 34 2c 0a 20  3,  286,  274,. 
24e0: 2f 2a 20 20 20 31 32 30 20 2a 2f 20 20 20 32 38  /*   120 */   28
24f0: 39 2c 20 20 32 38 38 2c 20 20 32 39 33 2c 20 20  9,  288,  293,  
2500: 31 31 30 2c 20 20 31 30 36 2c 20 20 33 30 37 2c  110,  106,  307,
2510: 20 20 35 31 32 2c 20 20 32 39 39 2c 20 20 32 39    512,  299,  29
2520: 38 2c 20 20 35 31 32 2c 0a 20 2f 2a 20 20 20 31  8,  512,. /*   1
2530: 33 30 20 2a 2f 20 20 20 33 32 35 2c 20 20 33 31  30 */   325,  31
2540: 33 2c 20 20 33 30 33 2c 20 20 33 30 32 2c 20 20  3,  303,  302,  
2550: 33 31 31 2c 20 20 33 31 30 2c 20 20 33 31 39 2c  311,  310,  319,
2560: 20 20 33 31 35 2c 20 20 33 31 34 2c 20 20 34 38    315,  314,  48
2570: 34 2c 0a 20 2f 2a 20 20 20 31 34 30 20 2a 2f 20  4,. /*   140 */ 
2580: 20 20 35 31 32 2c 20 20 31 31 38 2c 20 20 31 31    512,  118,  11
2590: 34 2c 20 20 33 32 33 2c 20 20 33 32 32 2c 20 20  4,  323,  322,  
25a0: 33 32 38 2c 20 20 33 32 37 2c 20 20 33 33 32 2c  328,  327,  332,
25b0: 20 20 32 32 35 2c 20 20 33 33 38 2c 0a 20 2f 2a    225,  338,. /*
25c0: 20 20 20 31 35 30 20 2a 2f 20 20 20 33 33 37 2c     150 */   337,
25d0: 20 20 35 31 32 2c 20 20 33 34 32 2c 20 20 33 34    512,  342,  34
25e0: 31 2c 20 20 33 34 36 2c 20 20 33 35 30 2c 20 20  1,  346,  350,  
25f0: 33 34 39 2c 20 20 20 36 32 2c 20 20 35 31 32 2c  349,   62,  512,
2600: 20 20 33 35 38 2c 0a 20 2f 2a 20 20 20 31 36 30    358,. /*   160
2610: 20 2a 2f 20 20 20 33 35 34 2c 20 20 33 35 33 2c   */   354,  353,
2620: 20 20 32 32 36 2c 20 20 35 31 32 2c 20 20 20 37    226,  512,   7
2630: 33 2c 20 20 33 36 32 2c 20 20 33 36 31 2c 20 20  3,  362,  361,  
2640: 33 36 34 2c 20 20 33 35 32 2c 20 20 33 36 37 2c  364,  352,  367,
2650: 0a 20 2f 2a 20 20 20 31 37 30 20 2a 2f 20 20 20  . /*   170 */   
2660: 33 36 36 2c 20 20 33 37 31 2c 20 20 31 32 30 2c  366,  371,  120,
2670: 20 20 33 38 31 2c 20 20 33 38 30 2c 20 20 35 31    381,  380,  51
2680: 32 2c 20 20 31 31 39 2c 20 20 33 37 37 2c 20 20  2,  119,  377,  
2690: 33 37 36 2c 20 20 33 38 35 2c 0a 20 2f 2a 20 20  376,  385,. /*  
26a0: 20 31 38 30 20 2a 2f 20 20 20 33 38 39 2c 20 20   180 */   389,  
26b0: 33 38 38 2c 20 20 31 35 32 2c 20 20 35 31 32 2c  388,  152,  512,
26c0: 20 20 33 39 37 2c 20 20 33 39 33 2c 20 20 33 39    397,  393,  39
26d0: 32 2c 20 20 37 30 35 2c 20 20 35 31 32 2c 20 20  2,  705,  512,  
26e0: 34 30 31 2c 0a 20 2f 2a 20 20 20 31 39 30 20 2a  401,. /*   190 *
26f0: 2f 20 20 20 34 30 30 2c 20 20 34 30 33 2c 20 20  /   400,  403,  
2700: 33 39 31 2c 20 20 34 30 36 2c 20 20 34 30 35 2c  391,  406,  405,
2710: 20 20 32 33 31 2c 20 20 34 31 30 2c 20 20 34 32    231,  410,  42
2720: 31 2c 20 20 34 32 34 2c 20 20 34 32 33 2c 0a 20  1,  424,  423,. 
2730: 2f 2a 20 20 20 32 30 30 20 2a 2f 20 20 20 35 31  /*   200 */   51
2740: 32 2c 20 20 34 31 36 2c 20 20 31 33 36 2c 20 20  2,  416,  136,  
2750: 31 35 34 2c 20 20 31 32 38 2c 20 20 34 33 32 2c  154,  128,  432,
2760: 20 20 34 32 38 2c 20 20 34 32 37 2c 20 20 20 32    428,  427,   2
2770: 38 2c 20 20 35 31 32 2c 0a 20 2f 2a 20 20 20 32  8,  512,. /*   2
2780: 31 30 20 2a 2f 20 20 20 34 33 36 2c 20 20 34 33  10 */   436,  43
2790: 35 2c 20 20 34 34 30 2c 20 20 34 33 39 2c 20 20  5,  440,  439,  
27a0: 34 34 34 2c 20 20 34 34 38 2c 20 20 34 34 37 2c  444,  448,  447,
27b0: 20 20 20 33 39 2c 20 20 35 31 32 2c 20 20 34 35     39,  512,  45
27c0: 30 2c 0a 20 2f 2a 20 20 20 32 32 30 20 2a 2f 20  0,. /*   220 */ 
27d0: 20 20 34 33 38 2c 20 20 34 35 33 2c 20 20 34 35    438,  453,  45
27e0: 32 2c 20 20 34 35 37 2c 20 20 34 36 37 2c 20 20  2,  457,  467,  
27f0: 34 36 39 2c 20 20 34 36 38 2c 20 20 35 31 32 2c  469,  468,  512,
2800: 20 20 34 36 33 2c 20 20 34 38 36 2c 0a 20 2f 2a    463,  486,. /*
2810: 20 20 20 32 33 30 20 2a 2f 20 20 20 20 35 30 2c     230 */    50,
2820: 20 20 34 39 30 2c 20 20 34 39 34 2c 20 20 34 38    490,  494,  48
2830: 35 2c 20 20 34 39 38 2c 20 20 35 31 32 2c 20 20  5,  498,  512,  
2840: 34 39 33 2c 20 20 35 30 32 2c 20 20 34 39 37 2c  493,  502,  497,
2850: 20 20 35 30 36 2c 0a 20 2f 2a 20 20 20 32 34 30    506,. /*   240
2860: 20 2a 2f 20 20 20 20 36 31 2c 20 20 35 31 32 2c   */    61,  512,
2870: 20 20 31 38 38 2c 20 20 35 30 35 2c 20 20 35 30    188,  505,  50
2880: 38 2c 20 20 34 39 36 2c 20 20 35 31 34 2c 20 20  8,  496,  514,  
2890: 32 30 30 2c 20 20 35 31 38 2c 20 20 31 30 34 2c  200,  518,  104,
28a0: 0a 20 2f 2a 20 20 20 32 35 30 20 2a 2f 20 20 20  . /*   250 */   
28b0: 35 31 33 2c 20 20 35 32 34 2c 20 20 35 31 32 2c  513,  524,  512,
28c0: 20 20 32 32 37 2c 20 20 32 37 33 2c 20 20 35 32    227,  273,  52
28d0: 33 2c 20 20 32 37 30 2c 20 20 31 39 31 2c 20 20  3,  270,  191,  
28e0: 32 38 35 2c 20 20 33 31 32 2c 0a 20 2f 2a 20 20  285,  312,. /*  
28f0: 20 32 36 30 20 2a 2f 20 20 20 32 38 32 2c 20 20   260 */   282,  
2900: 33 30 39 2c 20 20 32 30 33 2c 20 20 33 32 34 2c  309,  203,  324,
2910: 20 20 33 35 31 2c 20 20 33 32 31 2c 20 20 33 34    351,  321,  34
2920: 38 2c 20 20 33 36 33 2c 20 20 33 39 30 2c 20 20  8,  363,  390,  
2930: 33 36 30 2c 0a 20 2f 2a 20 20 20 32 37 30 20 2a  360,. /*   270 *
2940: 2f 20 20 20 33 38 37 2c 20 20 34 30 32 2c 20 20  /   387,  402,  
2950: 34 33 37 2c 20 20 33 39 39 2c 20 20 34 33 34 2c  437,  399,  434,
2960: 20 20 34 34 39 2c 20 20 34 39 35 2c 20 20 34 34    449,  495,  44
2970: 36 2c 20 20 34 39 32 2c 20 20 35 30 37 2c 0a 20  6,  492,  507,. 
2980: 2f 2a 20 20 20 32 38 30 20 2a 2f 20 20 20 31 31  /*   280 */   11
2990: 32 2c 20 20 35 30 34 2c 20 20 20 20 34 2c 20 20  2,  504,    4,  
29a0: 31 34 31 2c 20 20 32 33 35 2c 20 20 39 38 35 2c  141,  235,  985,
29b0: 20 20 32 34 34 2c 20 20 32 34 32 2c 20 20 39 38    244,  242,  98
29c0: 34 2c 20 20 39 38 33 2c 0a 20 2f 2a 20 20 20 32  4,  983,. /*   2
29d0: 39 30 20 2a 2f 20 20 20 32 34 31 2c 20 20 32 34  90 */   241,  24
29e0: 33 2c 20 20 31 30 38 2c 20 20 31 31 36 2c 20 20  3,  108,  116,  
29f0: 31 34 37 2c 20 20 32 34 38 2c 20 20 31 30 35 2c  147,  248,  105,
2a00: 20 20 39 37 38 2c 20 20 32 35 32 2c 20 20 39 37    978,  252,  97
2a10: 37 2c 0a 20 2f 2a 20 20 20 33 30 30 20 2a 2f 20  7,. /*   300 */ 
2a20: 20 20 39 37 36 2c 20 20 32 35 38 2c 20 20 31 32    976,  258,  12
2a30: 36 2c 20 20 39 35 39 2c 20 20 31 32 38 2c 20 20  6,  959,  128,  
2a40: 31 30 39 2c 20 20 31 30 33 2c 20 20 31 33 34 2c  109,  103,  134,
2a50: 20 20 32 39 36 2c 20 20 31 33 36 2c 0a 20 2f 2a    296,  136,. /*
2a60: 20 20 20 33 31 30 20 2a 2f 20 20 20 31 31 33 2c     310 */   113,
2a70: 20 20 31 30 37 2c 20 20 39 35 36 2c 20 20 32 39    107,  956,  29
2a80: 37 2c 20 20 39 34 31 2c 20 20 34 36 33 2c 20 20  7,  941,  463,  
2a90: 31 31 37 2c 20 20 33 33 35 2c 20 20 31 31 31 2c  117,  335,  111,
2aa0: 20 20 34 36 37 2c 0a 20 2f 2a 20 20 20 33 32 30    467,. /*   320
2ab0: 20 2a 2f 20 20 20 31 33 38 2c 20 20 33 37 34 2c   */   138,  374,
2ac0: 20 20 39 33 38 2c 20 20 31 34 34 2c 20 20 31 32    938,  144,  12
2ad0: 37 2c 20 20 33 33 36 2c 20 20 31 31 35 2c 20 20  7,  336,  115,  
2ae0: 31 33 35 2c 20 20 33 37 35 2c 20 20 31 32 32 2c  135,  375,  122,
2af0: 0a 20 2f 2a 20 20 20 33 33 30 20 2a 2f 20 20 20  . /*   330 */   
2b00: 34 31 34 2c 20 20 20 20 36 2c 20 20 34 31 33 2c  414,    6,  413,
2b10: 20 20 32 31 34 2c 20 20 34 31 35 2c 20 20 34 31    214,  415,  41
2b20: 36 2c 20 20 31 33 30 2c 20 20 38 30 39 2c 20 20  6,  130,  809,  
2b30: 34 31 39 2c 20 20 39 30 39 2c 0a 20 2f 2a 20 20  419,  909,. /*  
2b40: 20 33 34 30 20 2a 2f 20 20 20 31 32 31 2c 20 20   340 */   121,  
2b50: 34 32 30 2c 20 20 34 31 38 2c 20 20 34 32 31 2c  420,  418,  421,
2b60: 20 20 38 30 33 2c 20 20 31 38 34 2c 20 20 31 38    803,  184,  18
2b70: 35 2c 20 20 20 20 37 2c 20 20 39 30 36 2c 20 20  5,    7,  906,  
2b80: 34 31 37 2c 0a 20 2f 2a 20 20 20 33 35 30 20 2a  417,. /*   350 *
2b90: 2f 20 20 20 31 33 37 2c 20 20 31 38 37 2c 20 20  /   137,  187,  
2ba0: 31 33 39 2c 20 20 31 32 39 2c 20 20 38 37 35 2c  139,  129,  875,
2bb0: 20 20 34 32 32 2c 20 20 34 36 30 2c 20 20 34 36    422,  460,  46
2bc0: 31 2c 20 20 34 36 32 2c 20 20 38 37 33 2c 0a 20  1,  462,  873,. 
2bd0: 2f 2a 20 20 20 33 36 30 20 2a 2f 20 20 20 31 34  /*   360 */   14
2be0: 33 2c 20 20 34 36 35 2c 20 20 34 36 34 2c 20 20  3,  465,  464,  
2bf0: 34 36 36 2c 20 20 31 34 35 2c 20 20 31 38 33 2c  466,  145,  183,
2c00: 20 20 39 39 37 2c 20 20 38 30 37 2c 20 20 38 30    997,  807,  80
2c10: 31 2c 20 20 20 20 38 2c 0a 20 2f 2a 20 20 20 33  1,    8,. /*   3
2c20: 37 30 20 2a 2f 20 20 20 35 31 30 2c 20 20 38 30  70 */   510,  80
2c30: 38 2c 20 20 35 31 31 2c 20 20 35 32 31 2c 20 20  8,  511,  521,  
2c40: 31 38 30 2c 20 20 35 32 32 2c 20 20 31 36 36 2c  180,  522,  166,
2c50: 20 20 38 30 32 2c 20 20 20 20 39 2c 20 20 31 39    802,    9,  19
2c60: 35 2c 0a 20 2f 2a 20 20 20 33 38 30 20 2a 2f 20  5,. /*   380 */ 
2c70: 20 20 31 39 39 2c 20 20 31 39 36 2c 20 20 31 39    199,  196,  19
2c80: 37 2c 20 20 20 31 30 2c 20 20 20 31 31 2c 20 20  7,   10,   11,  
2c90: 38 30 36 2c 20 20 38 30 30 2c 20 20 31 36 37 2c  806,  800,  167,
2ca0: 20 20 20 31 32 2c 20 20 20 31 33 2c 0a 20 2f 2a     12,   13,. /*
2cb0: 20 20 20 33 39 30 20 2a 2f 20 20 20 38 30 35 2c     390 */   805,
2cc0: 20 20 37 39 39 2c 20 20 32 30 38 2c 20 20 32 30    799,  208,  20
2cd0: 39 2c 20 20 32 31 32 2c 20 20 20 31 35 2c 20 20  9,  212,   15,  
2ce0: 20 31 36 2c 20 20 32 31 30 2c 20 20 20 31 34 2c   16,  210,   14,
2cf0: 20 20 32 31 35 2c 0a 20 2f 2a 20 20 20 34 30 30    215,. /*   400
2d00: 20 2a 2f 20 20 20 38 31 39 2c 20 20 32 31 37 2c   */   819,  217,
2d10: 20 20 32 31 38 2c 20 20 20 31 37 2c 20 20 32 32    218,   17,  22
2d20: 30 2c 20 20 32 32 33 2c 20 20 32 32 31 2c 20 20  0,  223,  221,  
2d30: 31 35 36 2c 20 20 32 32 38 2c 20 20 38 31 38 2c  156,  228,  818,
2d40: 0a 20 2f 2a 20 20 20 34 31 30 20 2a 2f 20 20 20  . /*   410 */   
2d50: 20 38 37 2c 20 20 32 32 39 2c 20 20 38 32 39 2c   87,  229,  829,
2d60: 20 20 20 38 38 2c 20 20 32 33 33 2c 20 20 38 32     88,  233,  82
2d70: 37 2c 20 20 20 38 39 2c 20 20 32 33 32 2c 20 20  7,   89,  232,  
2d80: 31 35 37 2c 20 20 38 32 35 2c 0a 20 2f 2a 20 20  157,  825,. /*  
2d90: 20 34 32 30 20 2a 2f 20 20 20 32 33 36 2c 20 20   420 */   236,  
2da0: 32 33 37 2c 20 20 32 33 39 2c 20 20 38 33 38 2c  237,  239,  838,
2db0: 20 20 20 39 36 2c 20 20 20 39 37 2c 20 20 38 33     96,   97,  83
2dc0: 38 2c 20 20 38 31 37 2c 20 20 38 31 32 2c 20 20  8,  817,  812,  
2dd0: 38 31 31 2c 0a 20 2f 2a 20 20 20 34 33 30 20 2a  811,. /*   430 *
2de0: 2f 20 20 20 38 32 38 2c 20 20 38 32 36 2c 20 20  /   828,  826,  
2df0: 32 34 35 2c 20 20 32 34 39 2c 20 20 32 34 36 2c  245,  249,  246,
2e00: 20 20 32 35 30 2c 20 20 20 39 38 2c 20 20 32 35    250,   98,  25
2e10: 34 2c 20 20 38 32 34 2c 20 20 31 35 38 2c 0a 20  4,  824,  158,. 
2e20: 2f 2a 20 20 20 34 34 30 20 2a 2f 20 20 20 32 35  /*   440 */   25
2e30: 33 2c 20 20 32 35 36 2c 20 20 38 33 38 2c 20 20  3,  256,  838,  
2e40: 31 35 39 2c 20 20 38 30 34 2c 20 20 38 31 30 2c  159,  804,  810,
2e50: 20 20 20 31 38 2c 20 20 37 39 38 2c 20 20 37 39     18,  798,  79
2e60: 31 2c 20 20 37 38 35 2c 0a 20 2f 2a 20 20 20 34  1,  785,. /*   4
2e70: 35 30 20 2a 2f 20 20 20 20 31 39 2c 20 20 32 36  50 */    19,  26
2e80: 35 2c 20 20 38 33 38 2c 20 20 32 36 36 2c 20 20  5,  838,  266,  
2e90: 32 36 39 2c 20 20 38 33 38 2c 20 20 32 36 37 2c  269,  838,  267,
2ea0: 20 20 37 38 39 2c 20 20 20 32 30 2c 20 20 37 38    789,   20,  78
2eb0: 33 2c 0a 20 2f 2a 20 20 20 34 36 30 20 2a 2f 20  3,. /*   460 */ 
2ec0: 20 20 31 36 38 2c 20 20 20 32 31 2c 20 20 20 32    168,   21,   2
2ed0: 33 2c 20 20 37 39 30 2c 20 20 20 32 32 2c 20 20  3,  790,   22,  
2ee0: 32 37 38 2c 20 20 37 38 34 2c 20 20 32 38 31 2c  278,  784,  281,
2ef0: 20 20 32 37 37 2c 20 20 20 32 34 2c 0a 20 2f 2a    277,   24,. /*
2f00: 20 20 20 34 37 30 20 2a 2f 20 20 20 38 33 38 2c     470 */   838,
2f10: 20 20 20 32 35 2c 20 20 37 38 38 2c 20 20 32 37     25,  788,  27
2f20: 39 2c 20 20 37 38 32 2c 20 20 31 36 39 2c 20 20  9,  782,  169,  
2f30: 37 38 37 2c 20 20 20 32 36 2c 20 20 37 38 31 2c  787,   26,  781,
2f40: 20 20 32 39 30 2c 0a 20 2f 2a 20 20 20 34 38 30    290,. /*   480
2f50: 20 2a 2f 20 20 20 32 39 31 2c 20 20 38 33 38 2c   */   291,  838,
2f60: 20 20 32 39 34 2c 20 20 38 33 38 2c 20 20 37 38    294,  838,  78
2f70: 36 2c 20 20 38 33 38 2c 20 20 32 39 32 2c 20 20  6,  838,  292,  
2f80: 20 32 37 2c 20 20 38 33 38 2c 20 20 37 38 30 2c   27,  838,  780,
2f90: 0a 20 2f 2a 20 20 20 34 39 30 20 2a 2f 20 20 20  . /*   490 */   
2fa0: 37 39 35 2c 20 20 37 39 32 2c 20 20 20 32 39 2c  795,  792,   29,
2fb0: 20 20 31 36 30 2c 20 20 33 30 36 2c 20 20 20 33    160,  306,   3
2fc0: 31 2c 20 20 20 33 30 2c 20 20 38 33 38 2c 20 20  1,   30,  838,  
2fd0: 37 37 33 2c 20 20 37 36 37 2c 0a 20 2f 2a 20 20  773,  767,. /*  
2fe0: 20 35 30 30 20 2a 2f 20 20 20 33 30 34 2c 20 20   500 */   304,  
2ff0: 31 37 30 2c 20 20 37 37 31 2c 20 20 33 30 35 2c  170,  771,  305,
3000: 20 20 33 30 38 2c 20 20 20 33 32 2c 20 20 20 33    308,   32,   3
3010: 34 2c 20 20 37 36 35 2c 20 20 20 33 33 2c 20 20  4,  765,   33,  
3020: 38 33 38 2c 0a 20 2f 2a 20 20 20 35 31 30 20 2a  838,. /*   510 *
3030: 2f 20 20 20 37 37 32 2c 20 20 37 36 36 2c 20 20  /   772,  766,  
3040: 33 31 36 2c 20 20 33 32 30 2c 20 20 33 31 37 2c  316,  320,  317,
3050: 20 20 37 37 30 2c 20 20 20 33 35 2c 20 20 33 31    770,   35,  31
3060: 38 2c 20 20 38 33 38 2c 20 20 37 36 34 2c 0a 20  8,  838,  764,. 
3070: 2f 2a 20 20 20 35 32 30 20 2a 2f 20 20 20 31 37  /*   520 */   17
3080: 31 2c 20 20 20 33 36 2c 20 20 20 33 37 2c 20 20  1,   36,   37,  
3090: 37 36 39 2c 20 20 37 36 33 2c 20 20 38 33 38 2c  769,  763,  838,
30a0: 20 20 34 37 36 2c 20 20 33 32 39 2c 20 20 33 33    476,  329,  33
30b0: 30 2c 20 20 33 33 33 2c 0a 20 2f 2a 20 20 20 35  0,  333,. /*   5
30c0: 33 30 20 2a 2f 20 20 20 38 33 38 2c 20 20 34 37  30 */   838,  47
30d0: 38 2c 20 20 33 33 31 2c 20 20 20 33 38 2c 20 20  8,  331,   38,  
30e0: 38 33 38 2c 20 20 37 37 37 2c 20 20 38 33 38 2c  838,  777,  838,
30f0: 20 20 37 36 38 2c 20 20 37 36 32 2c 20 20 37 37    768,  762,  77
3100: 34 2c 0a 20 2f 2a 20 20 20 35 34 30 20 2a 2f 20  4,. /*   540 */ 
3110: 20 20 20 34 30 2c 20 20 37 35 39 2c 20 20 37 35     40,  759,  75
3120: 33 2c 20 20 20 34 31 2c 20 20 31 36 31 2c 20 20  3,   41,  161,  
3130: 38 33 38 2c 20 20 34 37 39 2c 20 20 33 34 33 2c  838,  479,  343,
3140: 20 20 33 34 34 2c 20 20 33 34 37 2c 0a 20 2f 2a    344,  347,. /*
3150: 20 20 20 35 35 30 20 2a 2f 20 20 20 31 37 32 2c     550 */   172,
3160: 20 20 38 33 38 2c 20 20 33 34 35 2c 20 20 20 34    838,  345,   4
3170: 32 2c 20 20 20 34 33 2c 20 20 38 33 38 2c 20 20  2,   43,  838,  
3180: 37 35 37 2c 20 20 37 35 31 2c 20 20 20 34 34 2c  757,  751,   44,
3190: 20 20 37 35 38 2c 0a 20 2f 2a 20 20 20 35 36 30    758,. /*   560
31a0: 20 2a 2f 20 20 20 34 38 31 2c 20 20 37 35 32 2c   */   481,  752,
31b0: 20 20 33 35 35 2c 20 20 33 35 36 2c 20 20 38 33    355,  356,  83
31c0: 38 2c 20 20 34 38 32 2c 20 20 33 35 39 2c 20 20  8,  482,  359,  
31d0: 37 35 36 2c 20 20 20 34 36 2c 20 20 33 35 37 2c  756,   46,  357,
31e0: 0a 20 2f 2a 20 20 20 35 37 30 20 2a 2f 20 20 20  . /*   570 */   
31f0: 20 34 35 2c 20 20 37 35 30 2c 20 20 20 34 37 2c   45,  750,   47,
3200: 20 20 31 37 33 2c 20 20 37 30 32 2c 20 20 20 34    173,  702,   4
3210: 38 2c 20 20 38 33 38 2c 20 20 37 35 35 2c 20 20  8,  838,  755,  
3220: 37 34 39 2c 20 20 33 36 38 2c 0a 20 2f 2a 20 20  749,  368,. /*  
3230: 20 35 38 30 20 2a 2f 20 20 20 33 36 39 2c 20 20   580 */   369,  
3240: 38 33 38 2c 20 20 33 37 32 2c 20 20 36 39 36 2c  838,  372,  696,
3250: 20 20 33 37 30 2c 20 20 38 33 38 2c 20 20 20 34    370,  838,   4
3260: 39 2c 20 20 20 35 31 2c 20 20 20 37 35 2c 20 20  9,   51,   75,  
3270: 37 35 34 2c 0a 20 2f 2a 20 20 20 35 39 30 20 2a  754,. /*   590 *
3280: 2f 20 20 20 37 36 31 2c 20 20 37 36 30 2c 20 20  /   761,  760,  
3290: 38 33 38 2c 20 20 37 34 38 2c 20 20 31 36 32 2c  838,  748,  162,
32a0: 20 20 37 33 39 2c 20 20 20 35 32 2c 20 20 33 38    739,   52,  38
32b0: 33 2c 20 20 37 33 33 2c 20 20 20 37 36 2c 0a 20  3,  733,   76,. 
32c0: 2f 2a 20 20 20 36 30 30 20 2a 2f 20 20 20 33 38  /*   600 */   38
32d0: 36 2c 20 20 33 38 32 2c 20 20 20 35 34 2c 20 20  6,  382,   54,  
32e0: 38 33 38 2c 20 20 34 39 31 2c 20 20 31 37 34 2c  838,  491,  174,
32f0: 20 20 33 38 34 2c 20 20 20 35 33 2c 20 20 38 33    384,   53,  83
3300: 38 2c 20 20 37 33 37 2c 0a 20 2f 2a 20 20 20 36  8,  737,. /*   6
3310: 31 30 20 2a 2f 20 20 20 37 33 31 2c 20 20 37 33  10 */   731,  73
3320: 38 2c 20 20 20 35 35 2c 20 20 33 39 35 2c 20 20  8,   55,  395,  
3330: 37 33 32 2c 20 20 20 37 39 2c 20 20 33 39 38 2c  732,   79,  398,
3340: 20 20 33 39 34 2c 20 20 20 35 37 2c 20 20 38 33    394,   57,  83
3350: 38 2c 0a 20 2f 2a 20 20 20 36 32 30 20 2a 2f 20  8,. /*   620 */ 
3360: 20 20 35 30 33 2c 20 20 31 37 35 2c 20 20 33 39    503,  175,  39
3370: 36 2c 20 20 20 35 36 2c 20 20 38 33 38 2c 20 20  6,   56,  838,  
3380: 37 33 36 2c 20 20 37 33 30 2c 20 20 20 35 38 2c  736,  730,   58,
3390: 20 20 35 31 35 2c 20 20 20 36 30 2c 0a 20 2f 2a    515,   60,. /*
33a0: 20 20 20 36 33 30 20 2a 2f 20 20 20 37 33 35 2c     630 */   735,
33b0: 20 20 20 35 39 2c 20 20 37 32 39 2c 20 20 34 30     59,  729,  40
33c0: 37 2c 20 20 34 30 38 2c 20 20 35 31 36 2c 20 20  7,  408,  516,  
33d0: 34 31 31 2c 20 20 38 33 38 2c 20 20 38 33 38 2c  411,  838,  838,
33e0: 20 20 31 32 33 2c 0a 20 2f 2a 20 20 20 36 34 30    123,. /*   640
33f0: 20 2a 2f 20 20 20 31 32 34 2c 20 20 37 34 35 2c   */   124,  745,
3400: 20 20 34 30 39 2c 20 20 31 32 35 2c 20 20 36 39    409,  125,  69
3410: 37 2c 20 20 38 33 38 2c 20 20 37 34 31 2c 20 20  7,  838,  741,  
3420: 31 33 31 2c 20 20 31 33 32 2c 20 20 31 33 33 2c  131,  132,  133,
3430: 0a 20 2f 2a 20 20 20 36 35 30 20 2a 2f 20 20 20  . /*   650 */   
3440: 38 33 38 2c 20 20 37 34 32 2c 20 20 38 33 38 2c  838,  742,  838,
3450: 20 20 31 36 33 2c 20 20 20 36 33 2c 20 20 37 34    163,   63,  74
3460: 30 2c 20 20 37 33 34 2c 20 20 37 32 38 2c 20 20  0,  734,  728,  
3470: 38 33 38 2c 20 20 20 36 34 2c 0a 20 2f 2a 20 20  838,   64,. /*  
3480: 20 36 36 30 20 2a 2f 20 20 20 37 32 35 2c 20 20   660 */   725,  
3490: 38 33 38 2c 20 20 37 31 39 2c 20 20 34 32 39 2c  838,  719,  429,
34a0: 20 20 34 33 30 2c 20 20 34 33 33 2c 20 20 38 33    430,  433,  83
34b0: 38 2c 20 20 38 33 38 2c 20 20 34 33 31 2c 20 20  8,  838,  431,  
34c0: 20 36 36 2c 0a 20 2f 2a 20 20 20 36 37 30 20 2a   66,. /*   670 *
34d0: 2f 20 20 20 20 36 35 2c 20 20 37 32 33 2c 20 20  /    65,  723,  
34e0: 37 31 37 2c 20 20 38 33 38 2c 20 20 37 32 34 2c  717,  838,  724,
34f0: 20 20 31 37 36 2c 20 20 20 36 37 2c 20 20 34 34    176,   67,  44
3500: 32 2c 20 20 37 31 38 2c 20 20 38 33 38 2c 0a 20  2,  718,  838,. 
3510: 2f 2a 20 20 20 36 38 30 20 2a 2f 20 20 20 34 34  /*   680 */   44
3520: 31 2c 20 20 38 33 38 2c 20 20 34 34 35 2c 20 20  1,  838,  445,  
3530: 20 36 39 2c 20 20 37 32 32 2c 20 20 34 37 37 2c   69,  722,  477,
3540: 20 20 34 34 33 2c 20 20 20 36 38 2c 20 20 38 33    443,   68,  83
3550: 38 2c 20 20 37 31 36 2c 0a 20 2f 2a 20 20 20 36  8,  716,. /*   6
3560: 39 30 20 2a 2f 20 20 20 31 37 37 2c 20 20 20 37  90 */   177,   7
3570: 30 2c 20 20 34 38 30 2c 20 20 37 32 31 2c 20 20  0,  480,  721,  
3580: 20 37 31 2c 20 20 38 33 38 2c 20 20 37 31 35 2c   71,  838,  715,
3590: 20 20 38 33 38 2c 20 20 34 35 34 2c 20 20 34 38    838,  454,  48
35a0: 38 2c 0a 20 2f 2a 20 20 20 37 30 30 20 2a 2f 20  8,. /*   700 */ 
35b0: 20 20 34 35 35 2c 20 20 34 35 38 2c 20 20 38 33    455,  458,  83
35c0: 38 2c 20 20 34 35 36 2c 20 20 38 33 38 2c 20 20  8,  456,  838,  
35d0: 20 37 32 2c 20 20 38 33 38 2c 20 20 31 35 32 2c   72,  838,  152,
35e0: 20 20 31 34 30 2c 20 20 38 33 38 2c 0a 20 2f 2a    140,  838,. /*
35f0: 20 20 20 37 31 30 20 2a 2f 20 20 20 37 32 37 2c     710 */   727,
3600: 20 20 34 38 39 2c 20 20 31 34 32 2c 20 20 20 37    489,  142,   7
3610: 34 2c 20 20 38 33 38 2c 20 20 37 32 36 2c 20 20  4,  838,  726,  
3620: 20 37 37 2c 20 20 31 34 36 2c 20 20 38 33 38 2c   77,  146,  838,
3630: 20 20 37 30 35 2c 0a 20 2f 2a 20 20 20 37 32 30    705,. /*   720
3640: 20 2a 2f 20 20 20 31 36 34 2c 20 20 37 32 30 2c   */   164,  720,
3650: 20 20 31 34 38 2c 20 20 31 37 38 2c 20 20 38 33    148,  178,  83
3660: 38 2c 20 20 38 33 38 2c 20 20 37 31 34 2c 20 20  8,  838,  714,  
3670: 38 33 38 2c 20 20 37 30 34 2c 20 20 34 37 32 2c  838,  704,  472,
3680: 0a 20 2f 2a 20 20 20 37 33 30 20 2a 2f 20 20 20  . /*   730 */   
3690: 37 30 33 2c 20 20 34 37 34 2c 20 20 37 30 31 2c  703,  474,  701,
36a0: 20 20 20 20 35 2c 20 20 34 38 33 2c 20 20 37 30      5,  483,  70
36b0: 30 2c 20 20 38 33 38 2c 20 20 34 38 37 2c 20 20  0,  838,  487,  
36c0: 20 37 38 2c 20 20 38 33 38 2c 0a 20 2f 2a 20 20   78,  838,. /*  
36d0: 20 37 34 30 20 2a 2f 20 20 20 36 39 34 2c 20 20   740 */   694,  
36e0: 36 39 35 2c 20 20 34 39 39 2c 20 20 20 38 30 2c  695,  499,   80,
36f0: 20 20 35 30 30 2c 20 20 38 33 38 2c 20 20 38 33    500,  838,  83
3700: 38 2c 20 20 35 30 31 2c 20 20 20 38 31 2c 20 20  8,  501,   81,  
3710: 36 39 39 2c 0a 20 2f 2a 20 20 20 37 35 30 20 2a  699,. /*   750 *
3720: 2f 20 20 20 36 39 33 2c 20 20 31 37 39 2c 20 20  /   693,  179,  
3730: 38 33 38 2c 20 20 20 38 33 2c 20 20 31 34 39 2c  838,   83,  149,
3740: 20 20 31 35 30 2c 20 20 31 35 31 2c 20 20 38 33    150,  151,  83
3750: 38 2c 20 20 35 31 39 2c 20 20 36 39 38 2c 0a 20  8,  519,  698,. 
3760: 2f 2a 20 20 20 37 36 30 20 2a 2f 20 20 20 36 39  /*   760 */   69
3770: 32 2c 20 20 20 38 32 2c 20 20 38 33 38 2c 20 20  2,   82,  838,  
3780: 38 33 32 2c 20 20 35 32 37 2c 20 20 31 35 33 2c  832,  527,  153,
3790: 20 20 35 31 37 2c 20 20 37 30 36 2c 20 20 36 39    517,  706,  69
37a0: 31 2c 20 20 38 33 38 2c 0a 20 2f 2a 20 20 20 37  1,  838,. /*   7
37b0: 37 30 20 2a 2f 20 20 20 20 38 34 2c 20 20 38 33  70 */    84,  83
37c0: 38 2c 20 20 31 35 35 2c 20 20 31 36 35 2c 0a 7d  8,  155,  165,.}
37d0: 3b 0a 73 74 61 74 69 63 20 63 6f 6e 73 74 20 59  ;.static const Y
37e0: 59 43 4f 44 45 54 59 50 45 20 79 79 5f 6c 6f 6f  YCODETYPE yy_loo
37f0: 6b 61 68 65 61 64 5b 5d 20 3d 20 7b 0a 20 2f 2a  kahead[] = {. /*
3800: 20 20 20 20 20 30 20 2a 2f 20 20 20 20 32 38 2c       0 */    28,
3810: 20 20 20 32 39 2c 20 20 20 33 30 2c 20 20 20 33     29,   30,   3
3820: 31 2c 20 20 20 33 32 2c 20 20 20 33 33 2c 20 20  1,   32,   33,  
3830: 20 33 34 2c 20 20 20 33 35 2c 20 20 20 33 36 2c   34,   35,   36,
3840: 20 20 20 33 37 2c 0a 20 2f 2a 20 20 20 20 31 30     37,. /*    10
3850: 20 2a 2f 20 20 20 20 33 38 2c 20 20 20 33 39 2c   */    38,   39,
3860: 20 20 20 34 30 2c 20 20 20 34 31 2c 20 20 20 34     40,   41,   4
3870: 32 2c 20 20 20 34 33 2c 20 20 20 34 34 2c 20 20  2,   43,   44,  
3880: 20 20 35 2c 20 20 20 37 35 2c 20 20 20 34 36 2c    5,   75,   46,
3890: 0a 20 2f 2a 20 20 20 20 32 30 20 2a 2f 20 20 20  . /*    20 */   
38a0: 20 37 37 2c 20 20 20 37 38 2c 20 20 20 37 39 2c   77,   78,   79,
38b0: 20 20 20 35 30 2c 20 20 20 38 31 2c 20 20 20 38     50,   81,   8
38c0: 32 2c 20 20 20 37 39 2c 20 20 20 20 35 2c 20 20  2,   79,    5,  
38d0: 20 38 31 2c 20 20 20 38 32 2c 0a 20 2f 2a 20 20   81,   82,. /*  
38e0: 20 20 33 30 20 2a 2f 20 20 20 20 31 38 2c 20 20    30 */    18,  
38f0: 20 31 39 2c 20 20 20 32 30 2c 20 20 20 32 31 2c   19,   20,   21,
3900: 20 20 20 32 32 2c 20 20 20 32 33 2c 20 20 20 37     22,   23,   7
3910: 35 2c 20 20 20 20 35 2c 20 20 20 37 37 2c 20 20  5,    5,   77,  
3920: 20 37 38 2c 0a 20 2f 2a 20 20 20 20 34 30 20 2a   78,. /*    40 *
3930: 2f 20 20 20 20 31 38 2c 20 20 20 31 39 2c 20 20  /    18,   19,  
3940: 20 20 35 2c 20 20 20 20 39 2c 20 20 20 32 36 2c    5,    9,   26,
3950: 20 20 20 32 37 2c 20 20 20 31 32 2c 20 20 20 20     27,   12,    
3960: 37 2c 20 20 20 31 35 2c 20 20 20 20 39 2c 0a 20  7,   15,    9,. 
3970: 2f 2a 20 20 20 20 35 30 20 2a 2f 20 20 20 20 31  /*    50 */    1
3980: 38 2c 20 20 20 31 39 2c 20 20 20 31 32 2c 20 20  8,   19,   12,  
3990: 20 35 31 2c 20 20 20 35 32 2c 20 20 20 31 38 2c   51,   52,   18,
39a0: 20 20 20 31 39 2c 20 20 20 20 37 2c 20 20 20 32     19,    7,   2
39b0: 34 2c 20 20 20 20 39 2c 0a 20 2f 2a 20 20 20 20  4,    9,. /*    
39c0: 36 30 20 2a 2f 20 20 20 20 31 36 2c 20 20 20 31  60 */    16,   1
39d0: 37 2c 20 20 20 31 32 2c 20 20 20 20 37 2c 20 20  7,   12,    7,  
39e0: 20 20 37 2c 20 20 20 20 39 2c 20 20 20 20 39 2c    7,    9,    9,
39f0: 20 20 20 20 36 2c 20 20 20 31 32 2c 20 20 20 31      6,   12,   1
3a00: 32 2c 0a 20 2f 2a 20 20 20 20 37 30 20 2a 2f 20  2,. /*    70 */ 
3a10: 20 20 20 20 37 2c 20 20 20 20 37 2c 20 20 20 20      7,    7,    
3a20: 39 2c 20 20 20 20 39 2c 20 20 20 34 36 2c 20 20  9,    9,   46,  
3a30: 20 31 32 2c 20 20 20 31 32 2c 20 20 20 20 30 2c   12,   12,    0,
3a40: 20 20 20 35 30 2c 20 20 20 20 32 2c 0a 20 2f 2a     50,    2,. /*
3a50: 20 20 20 20 38 30 20 2a 2f 20 20 20 20 37 33 2c      80 */    73,
3a60: 20 20 20 37 34 2c 20 20 20 37 33 2c 20 20 20 37     74,   73,   7
3a70: 34 2c 20 20 20 37 33 2c 20 20 20 37 34 2c 20 20  4,   73,   74,  
3a80: 20 37 33 2c 20 20 20 37 34 2c 20 20 20 34 37 2c   73,   74,   47,
3a90: 20 20 20 34 38 2c 0a 20 2f 2a 20 20 20 20 39 30     48,. /*    90
3aa0: 20 2a 2f 20 20 20 20 37 33 2c 20 20 20 37 34 2c   */    73,   74,
3ab0: 20 20 20 34 36 2c 20 20 20 35 37 2c 20 20 20 35     46,   57,   5
3ac0: 38 2c 20 20 20 20 32 2c 20 20 20 35 30 2c 20 20  8,    2,   50,  
3ad0: 20 35 35 2c 20 20 20 35 36 2c 20 20 20 34 35 2c   55,   56,   45,
3ae0: 0a 20 2f 2a 20 20 20 31 30 30 20 2a 2f 20 20 20  . /*   100 */   
3af0: 20 37 33 2c 20 20 20 37 34 2c 20 20 20 20 32 2c   73,   74,    2,
3b00: 20 20 20 34 39 2c 20 20 20 36 39 2c 20 20 20 37     49,   69,   7
3b10: 30 2c 20 20 20 34 36 2c 20 20 20 36 39 2c 20 20  0,   46,   69,  
3b20: 20 37 30 2c 20 20 20 20 32 2c 0a 20 2f 2a 20 20   70,    2,. /*  
3b30: 20 31 31 30 20 2a 2f 20 20 20 20 35 30 2c 20 20   110 */    50,  
3b40: 20 34 36 2c 20 20 20 36 39 2c 20 20 20 37 30 2c   46,   69,   70,
3b50: 20 20 20 31 30 2c 20 20 20 35 30 2c 20 20 20 36     10,   50,   6
3b60: 39 2c 20 20 20 37 30 2c 20 20 20 34 37 2c 20 20  9,   70,   47,  
3b70: 20 34 38 2c 0a 20 2f 2a 20 20 20 31 32 30 20 2a   48,. /*   120 *
3b80: 2f 20 20 20 20 36 39 2c 20 20 20 37 30 2c 20 20  /    69,   70,  
3b90: 20 34 36 2c 20 20 20 35 37 2c 20 20 20 35 38 2c   46,   57,   58,
3ba0: 20 20 20 34 36 2c 20 20 20 35 30 2c 20 20 20 36     46,   50,   6
3bb0: 39 2c 20 20 20 37 30 2c 20 20 20 35 30 2c 0a 20  9,   70,   50,. 
3bc0: 2f 2a 20 20 20 31 33 30 20 2a 2f 20 20 20 20 34  /*   130 */    4
3bd0: 37 2c 20 20 20 34 38 2c 20 20 20 36 35 2c 20 20  7,   48,   65,  
3be0: 20 36 36 2c 20 20 20 36 35 2c 20 20 20 36 36 2c   66,   65,   66,
3bf0: 20 20 20 34 36 2c 20 20 20 36 35 2c 20 20 20 36     46,   65,   6
3c00: 36 2c 20 20 20 20 32 2c 0a 20 2f 2a 20 20 20 31  6,    2,. /*   1
3c10: 34 30 20 2a 2f 20 20 20 20 35 30 2c 20 20 20 35  40 */    50,   5
3c20: 35 2c 20 20 20 35 36 2c 20 20 20 36 35 2c 20 20  5,   56,   65,  
3c30: 20 36 36 2c 20 20 20 36 35 2c 20 20 20 36 36 2c   66,   65,   66,
3c40: 20 20 20 34 36 2c 20 20 20 38 30 2c 20 20 20 36     46,   80,   6
3c50: 35 2c 0a 20 2f 2a 20 20 20 31 35 30 20 2a 2f 20  5,. /*   150 */ 
3c60: 20 20 20 36 36 2c 20 20 20 35 30 2c 20 20 20 36     66,   50,   6
3c70: 33 2c 20 20 20 36 34 2c 20 20 20 34 36 2c 20 20  3,   64,   46,  
3c80: 20 36 33 2c 20 20 20 36 34 2c 20 20 20 31 30 2c   63,   64,   10,
3c90: 20 20 20 35 30 2c 20 20 20 34 36 2c 0a 20 2f 2a     50,   46,. /*
3ca0: 20 20 20 31 36 30 20 2a 2f 20 20 20 20 36 33 2c     160 */    63,
3cb0: 20 20 20 36 34 2c 20 20 20 38 30 2c 20 20 20 35     64,   80,   5
3cc0: 30 2c 20 20 20 31 30 2c 20 20 20 36 33 2c 20 20  0,   10,   63,  
3cd0: 20 36 34 2c 20 20 20 34 37 2c 20 20 20 34 38 2c   64,   47,   48,
3ce0: 20 20 20 36 33 2c 0a 20 2f 2a 20 20 20 31 37 30     63,. /*   170
3cf0: 20 2a 2f 20 20 20 20 36 34 2c 20 20 20 34 36 2c   */    64,   46,
3d00: 20 20 20 34 35 2c 20 20 20 35 37 2c 20 20 20 35     45,   57,   5
3d10: 38 2c 20 20 20 35 30 2c 20 20 20 34 39 2c 20 20  8,   50,   49,  
3d20: 20 36 33 2c 20 20 20 36 34 2c 20 20 20 34 36 2c   63,   64,   46,
3d30: 0a 20 2f 2a 20 20 20 31 38 30 20 2a 2f 20 20 20  . /*   180 */   
3d40: 20 35 37 2c 20 20 20 35 38 2c 20 20 20 20 36 2c   57,   58,    6,
3d50: 20 20 20 35 30 2c 20 20 20 34 36 2c 20 20 20 35     50,   46,   5
3d60: 37 2c 20 20 20 35 38 2c 20 20 20 31 31 2c 20 20  7,   58,   11,  
3d70: 20 35 30 2c 20 20 20 35 37 2c 0a 20 2f 2a 20 20   50,   57,. /*  
3d80: 20 31 39 30 20 2a 2f 20 20 20 20 35 38 2c 20 20   190 */    58,  
3d90: 20 34 37 2c 20 20 20 34 38 2c 20 20 20 35 37 2c   47,   48,   57,
3da0: 20 20 20 35 38 2c 20 20 20 35 36 2c 20 20 20 34     58,   56,   4
3db0: 36 2c 20 20 20 34 35 2c 20 20 20 35 37 2c 20 20  6,   45,   57,  
3dc0: 20 35 38 2c 0a 20 2f 2a 20 20 20 32 30 30 20 2a   58,. /*   200 *
3dd0: 2f 20 20 20 20 35 30 2c 20 20 20 34 39 2c 20 20  /    50,   49,  
3de0: 20 35 39 2c 20 20 20 31 30 2c 20 20 20 36 31 2c   59,   10,   61,
3df0: 20 20 20 34 36 2c 20 20 20 35 35 2c 20 20 20 35     46,   55,   5
3e00: 36 2c 20 20 20 31 30 2c 20 20 20 35 30 2c 0a 20  6,   10,   50,. 
3e10: 2f 2a 20 20 20 32 31 30 20 2a 2f 20 20 20 20 35  /*   210 */    5
3e20: 35 2c 20 20 20 35 36 2c 20 20 20 35 35 2c 20 20  5,   56,   55,  
3e30: 20 35 36 2c 20 20 20 34 36 2c 20 20 20 35 35 2c   56,   46,   55,
3e40: 20 20 20 35 36 2c 20 20 20 31 30 2c 20 20 20 35     56,   10,   5
3e50: 30 2c 20 20 20 34 37 2c 0a 20 2f 2a 20 20 20 32  0,   47,. /*   2
3e60: 32 30 20 2a 2f 20 20 20 20 34 38 2c 20 20 20 35  20 */    48,   5
3e70: 35 2c 20 20 20 35 36 2c 20 20 20 34 36 2c 20 20  5,   56,   46,  
3e80: 20 34 35 2c 20 20 20 35 35 2c 20 20 20 35 36 2c   45,   55,   56,
3e90: 20 20 20 35 30 2c 20 20 20 34 39 2c 20 20 20 34     50,   49,   4
3ea0: 35 2c 0a 20 2f 2a 20 20 20 32 33 30 20 2a 2f 20  5,. /*   230 */ 
3eb0: 20 20 20 31 30 2c 20 20 20 34 36 2c 20 20 20 34     10,   46,   4
3ec0: 35 2c 20 20 20 34 39 2c 20 20 20 34 35 2c 20 20  5,   49,   45,  
3ed0: 20 35 30 2c 20 20 20 34 39 2c 20 20 20 34 36 2c   50,   49,   46,
3ee0: 20 20 20 34 39 2c 20 20 20 34 35 2c 0a 20 2f 2a     49,   45,. /*
3ef0: 20 20 20 32 34 30 20 2a 2f 20 20 20 20 31 30 2c     240 */    10,
3f00: 20 20 20 35 30 2c 20 20 20 20 39 2c 20 20 20 34     50,    9,   4
3f10: 39 2c 20 20 20 34 37 2c 20 20 20 34 38 2c 20 20  9,   47,   48,  
3f20: 20 34 35 2c 20 20 20 20 39 2c 20 20 20 34 36 2c   45,    9,   46,
3f30: 20 20 20 31 30 2c 0a 20 2f 2a 20 20 20 32 35 30     10,. /*   250
3f40: 20 2a 2f 20 20 20 20 34 39 2c 20 20 20 34 35 2c   */    49,   45,
3f50: 20 20 20 35 30 2c 20 20 20 35 38 2c 20 20 20 20     50,   58,    
3f60: 37 2c 20 20 20 34 39 2c 20 20 20 20 39 2c 20 20  7,   49,    9,  
3f70: 20 32 34 2c 20 20 20 20 37 2c 20 20 20 20 37 2c   24,    7,    7,
3f80: 0a 20 2f 2a 20 20 20 32 36 30 20 2a 2f 20 20 20  . /*   260 */   
3f90: 20 20 39 2c 20 20 20 20 39 2c 20 20 20 32 34 2c    9,    9,   24,
3fa0: 20 20 20 20 37 2c 20 20 20 20 37 2c 20 20 20 20      7,    7,    
3fb0: 39 2c 20 20 20 20 39 2c 20 20 20 20 37 2c 20 20  9,    9,    7,  
3fc0: 20 20 37 2c 20 20 20 20 39 2c 0a 20 2f 2a 20 20    7,    9,. /*  
3fd0: 20 32 37 30 20 2a 2f 20 20 20 20 20 39 2c 20 20   270 */     9,  
3fe0: 20 20 37 2c 20 20 20 20 37 2c 20 20 20 20 39 2c    7,    7,    9,
3ff0: 20 20 20 20 39 2c 20 20 20 20 37 2c 20 20 20 20      9,    7,    
4000: 37 2c 20 20 20 20 39 2c 20 20 20 20 39 2c 20 20  7,    9,    9,  
4010: 20 20 37 2c 0a 20 2f 2a 20 20 20 32 38 30 20 2a    7,. /*   280 *
4020: 2f 20 20 20 20 31 30 2c 20 20 20 20 39 2c 20 20  /    10,    9,  
4030: 20 20 36 2c 20 20 20 31 30 2c 20 20 20 34 39 2c    6,   10,   49,
4040: 20 20 20 38 30 2c 20 20 20 35 37 2c 20 20 20 37     80,   57,   7
4050: 36 2c 20 20 20 38 30 2c 20 20 20 38 30 2c 0a 20  6,   80,   80,. 
4060: 2f 2a 20 20 20 32 39 30 20 2a 2f 20 20 20 20 38  /*   290 */    8
4070: 30 2c 20 20 20 37 36 2c 20 20 20 31 30 2c 20 20  0,   76,   10,  
4080: 20 31 30 2c 20 20 20 31 30 2c 20 20 20 35 35 2c   10,   10,   55,
4090: 20 20 20 20 36 2c 20 20 20 37 36 2c 20 20 20 34      6,   76,   4
40a0: 35 2c 20 20 20 37 36 2c 0a 20 2f 2a 20 20 20 33  5,   76,. /*   3
40b0: 30 30 20 2a 2f 20 20 20 20 37 36 2c 20 20 20 37  00 */    76,   7
40c0: 36 2c 20 20 20 31 30 2c 20 20 20 37 32 2c 20 20  6,   10,   72,  
40d0: 20 36 31 2c 20 20 20 20 36 2c 20 20 20 35 38 2c   61,    6,   58,
40e0: 20 20 20 31 30 2c 20 20 20 37 32 2c 20 20 20 35     10,   72,   5
40f0: 39 2c 0a 20 2f 2a 20 20 20 33 31 30 20 2a 2f 20  9,. /*   310 */ 
4100: 20 20 20 20 36 2c 20 20 20 35 37 2c 20 20 20 37      6,   57,   7
4110: 31 2c 20 20 20 37 31 2c 20 20 20 36 38 2c 20 20  1,   71,   68,  
4120: 20 34 39 2c 20 20 20 20 36 2c 20 20 20 36 38 2c   49,    6,   68,
4130: 20 20 20 35 36 2c 20 20 20 34 35 2c 0a 20 2f 2a     56,   45,. /*
4140: 20 20 20 33 32 30 20 2a 2f 20 20 20 20 20 36 2c     320 */     6,
4150: 20 20 20 35 34 2c 20 20 20 36 37 2c 20 20 20 20     54,   67,    
4160: 36 2c 20 20 20 20 36 2c 20 20 20 36 37 2c 20 20  6,    6,   67,  
4170: 20 35 35 2c 20 20 20 20 36 2c 20 20 20 35 33 2c   55,    6,   53,
4180: 20 20 20 34 39 2c 0a 20 2f 2a 20 20 20 33 33 30     49,. /*   330
4190: 20 2a 2f 20 20 20 20 34 39 2c 20 20 20 20 34 2c   */    49,    4,
41a0: 20 20 20 35 34 2c 20 20 20 20 37 2c 20 20 20 34     54,    7,   4
41b0: 39 2c 20 20 20 34 39 2c 20 20 20 34 35 2c 20 20  9,   49,   45,  
41c0: 20 20 38 2c 20 20 20 34 35 2c 20 20 20 36 32 2c    8,   45,   62,
41d0: 0a 20 2f 2a 20 20 20 33 34 30 20 2a 2f 20 20 20  . /*   340 */   
41e0: 20 36 31 2c 20 20 20 34 35 2c 20 20 20 35 33 2c   61,   45,   53,
41f0: 20 20 20 34 35 2c 20 20 20 20 38 2c 20 20 20 20     45,    8,    
4200: 36 2c 20 20 20 31 31 2c 20 20 20 31 30 2c 20 20  6,   11,   10,  
4210: 20 36 30 2c 20 20 20 36 32 2c 0a 20 2f 2a 20 20   60,   62,. /*  
4220: 20 33 35 30 20 2a 2f 20 20 20 20 34 39 2c 20 20   350 */    49,  
4230: 20 20 34 2c 20 20 20 34 39 2c 20 20 20 35 39 2c    4,   49,   59,
4240: 20 20 20 35 34 2c 20 20 20 36 30 2c 20 20 20 35     54,   60,   5
4250: 34 2c 20 20 20 35 30 2c 20 20 20 35 30 2c 20 20  4,   50,   50,  
4260: 20 35 33 2c 0a 20 2f 2a 20 20 20 33 36 30 20 2a   53,. /*   360 *
4270: 2f 20 20 20 20 34 35 2c 20 20 20 35 30 2c 20 20  /    45,   50,  
4280: 20 35 33 2c 20 20 20 35 30 2c 20 20 20 34 35 2c   53,   50,   45,
4290: 20 20 20 32 34 2c 20 20 20 35 30 2c 20 20 20 20     24,   50,    
42a0: 38 2c 20 20 20 20 38 2c 20 20 20 20 34 2c 0a 20  8,    8,    4,. 
42b0: 2f 2a 20 20 20 33 37 30 20 2a 2f 20 20 20 20 35  /*   370 */    5
42c0: 30 2c 20 20 20 20 38 2c 20 20 20 35 30 2c 20 20  0,    8,   50,  
42d0: 20 35 30 2c 20 20 20 35 30 2c 20 20 20 35 30 2c   50,   50,   50,
42e0: 20 20 20 20 36 2c 20 20 20 20 38 2c 20 20 20 20      6,    8,    
42f0: 34 2c 20 20 20 32 34 2c 0a 20 2f 2a 20 20 20 33  4,   24,. /*   3
4300: 38 30 20 2a 2f 20 20 20 20 20 34 2c 20 20 20 20  80 */     4,    
4310: 36 2c 20 20 20 31 31 2c 20 20 20 31 30 2c 20 20  6,   11,   10,  
4320: 20 20 34 2c 20 20 20 20 38 2c 20 20 20 20 38 2c    4,    8,    8,
4330: 20 20 20 20 36 2c 20 20 20 20 34 2c 20 20 20 20      6,    4,    
4340: 34 2c 0a 20 2f 2a 20 20 20 33 39 30 20 2a 2f 20  4,. /*   390 */ 
4350: 20 20 20 20 38 2c 20 20 20 20 38 2c 20 20 20 32      8,    8,   2
4360: 34 2c 20 20 20 20 36 2c 20 20 20 20 34 2c 20 20  4,    6,    4,  
4370: 20 20 34 2c 20 20 20 20 34 2c 20 20 20 31 31 2c    4,    4,   11,
4380: 20 20 20 31 30 2c 20 20 20 20 36 2c 0a 20 2f 2a     10,    6,. /*
4390: 20 20 20 34 30 30 20 2a 2f 20 20 20 20 31 31 2c     400 */    11,
43a0: 20 20 20 20 37 2c 20 20 20 20 36 2c 20 20 20 20      7,    6,    
43b0: 34 2c 20 20 20 20 37 2c 20 20 20 20 33 2c 20 20  4,    7,    3,  
43c0: 20 20 36 2c 20 20 20 20 34 2c 20 20 20 20 37 2c    6,    4,    7,
43d0: 20 20 20 31 31 2c 0a 20 2f 2a 20 20 20 34 31 30     11,. /*   410
43e0: 20 2a 2f 20 20 20 20 20 34 2c 20 20 20 20 36 2c   */     4,    6,
43f0: 20 20 20 20 38 2c 20 20 20 20 34 2c 20 20 20 20      8,    4,    
4400: 36 2c 20 20 20 20 38 2c 20 20 20 20 34 2c 20 20  6,    8,    4,  
4410: 20 20 37 2c 20 20 20 20 34 2c 20 20 20 20 38 2c    7,    4,    8,
4420: 0a 20 2f 2a 20 20 20 34 32 30 20 2a 2f 20 20 20  . /*   420 */   
4430: 20 20 37 2c 20 20 20 20 36 2c 20 20 20 20 33 2c    7,    6,    3,
4440: 20 20 20 38 33 2c 20 20 20 20 34 2c 20 20 20 20     83,    4,    
4450: 34 2c 20 20 20 38 33 2c 20 20 20 31 31 2c 20 20  4,   83,   11,  
4460: 20 31 31 2c 20 20 20 31 31 2c 0a 20 2f 2a 20 20   11,   11,. /*  
4470: 20 34 33 30 20 2a 2f 20 20 20 20 20 38 2c 20 20   430 */     8,  
4480: 20 20 38 2c 20 20 20 20 37 2c 20 20 20 20 37 2c    8,    7,    7,
4490: 20 20 20 20 36 2c 20 20 20 20 36 2c 20 20 20 20      6,    6,    
44a0: 34 2c 20 20 20 20 36 2c 20 20 20 20 38 2c 20 20  4,    6,    8,  
44b0: 20 20 34 2c 0a 20 2f 2a 20 20 20 34 34 30 20 2a    4,. /*   440 *
44c0: 2f 20 20 20 20 20 37 2c 20 20 20 20 33 2c 20 20  /     7,    3,  
44d0: 20 38 33 2c 20 20 20 20 36 2c 20 20 20 20 38 2c   83,    6,    8,
44e0: 20 20 20 31 31 2c 20 20 20 20 34 2c 20 20 20 20     11,    4,    
44f0: 38 2c 20 20 20 20 38 2c 20 20 20 20 38 2c 0a 20  8,    8,    8,. 
4500: 2f 2a 20 20 20 34 35 30 20 2a 2f 20 20 20 20 20  /*   450 */     
4510: 34 2c 20 20 20 20 37 2c 20 20 20 38 33 2c 20 20  4,    7,   83,  
4520: 20 20 36 2c 20 20 20 20 34 2c 20 20 20 38 33 2c    6,    4,   83,
4530: 20 20 20 31 31 2c 20 20 20 20 38 2c 20 20 20 31     11,    8,   1
4540: 30 2c 20 20 20 20 38 2c 0a 20 2f 2a 20 20 20 34  0,    8,. /*   4
4550: 36 30 20 2a 2f 20 20 20 20 20 36 2c 20 20 20 20  60 */     6,    
4560: 34 2c 20 20 20 31 30 2c 20 20 20 20 38 2c 20 20  4,   10,    8,  
4570: 20 20 34 2c 20 20 20 20 36 2c 20 20 20 20 38 2c    4,    6,    8,
4580: 20 20 20 20 34 2c 20 20 20 20 37 2c 20 20 20 20      4,    7,    
4590: 34 2c 0a 20 2f 2a 20 20 20 34 37 30 20 2a 2f 20  4,. /*   470 */ 
45a0: 20 20 20 38 33 2c 20 20 20 20 34 2c 20 20 20 20     83,    4,    
45b0: 38 2c 20 20 20 31 31 2c 20 20 20 20 38 2c 20 20  8,   11,    8,  
45c0: 20 20 36 2c 20 20 20 20 38 2c 20 20 20 20 34 2c    6,    8,    4,
45d0: 20 20 20 20 38 2c 20 20 20 20 37 2c 0a 20 2f 2a      8,    7,. /*
45e0: 20 20 20 34 38 30 20 2a 2f 20 20 20 20 20 36 2c     480 */     6,
45f0: 20 20 20 38 33 2c 20 20 20 20 34 2c 20 20 20 38     83,    4,   8
4600: 33 2c 20 20 20 20 38 2c 20 20 20 38 33 2c 20 20  3,    8,   83,  
4610: 20 31 31 2c 20 20 20 31 30 2c 20 20 20 38 33 2c   11,   10,   83,
4620: 20 20 20 20 38 2c 0a 20 2f 2a 20 20 20 34 39 30      8,. /*   490
4630: 20 2a 2f 20 20 20 20 31 31 2c 20 20 20 31 31 2c   */    11,   11,
4640: 20 20 20 20 34 2c 20 20 20 20 36 2c 20 20 20 31      4,    6,   1
4650: 31 2c 20 20 20 31 30 2c 20 20 20 20 34 2c 20 20  1,   10,    4,  
4660: 20 38 33 2c 20 20 20 20 38 2c 20 20 20 20 38 2c   83,    8,    8,
4670: 0a 20 2f 2a 20 20 20 35 30 30 20 2a 2f 20 20 20  . /*   500 */   
4680: 20 20 37 2c 20 20 20 20 36 2c 20 20 20 20 38 2c    7,    6,    8,
4690: 20 20 20 20 36 2c 20 20 20 20 34 2c 20 20 20 20      6,    4,    
46a0: 34 2c 20 20 20 31 30 2c 20 20 20 20 38 2c 20 20  4,   10,    8,  
46b0: 20 20 34 2c 20 20 20 38 33 2c 0a 20 2f 2a 20 20    4,   83,. /*  
46c0: 20 35 31 30 20 2a 2f 20 20 20 20 20 38 2c 20 20   510 */     8,  
46d0: 20 20 38 2c 20 20 20 20 37 2c 20 20 20 20 34 2c    8,    7,    4,
46e0: 20 20 20 20 36 2c 20 20 20 20 38 2c 20 20 20 20      6,    8,    
46f0: 34 2c 20 20 20 31 31 2c 20 20 20 38 33 2c 20 20  4,   11,   83,  
4700: 20 20 38 2c 0a 20 2f 2a 20 20 20 35 32 30 20 2a    8,. /*   520 *
4710: 2f 20 20 20 20 20 36 2c 20 20 20 20 34 2c 20 20  /     6,    4,  
4720: 20 20 34 2c 20 20 20 20 38 2c 20 20 20 20 38 2c    4,    8,    8,
4730: 20 20 20 38 33 2c 20 20 20 31 33 2c 20 20 20 20     83,   13,    
4740: 37 2c 20 20 20 20 36 2c 20 20 20 20 34 2c 0a 20  7,    6,    4,. 
4750: 2f 2a 20 20 20 35 33 30 20 2a 2f 20 20 20 20 38  /*   530 */    8
4760: 33 2c 20 20 20 20 34 2c 20 20 20 31 31 2c 20 20  3,    4,   11,  
4770: 20 31 30 2c 20 20 20 38 33 2c 20 20 20 31 31 2c   10,   83,   11,
4780: 20 20 20 38 33 2c 20 20 20 20 38 2c 20 20 20 20     83,    8,    
4790: 38 2c 20 20 20 31 31 2c 0a 20 2f 2a 20 20 20 35  8,   11,. /*   5
47a0: 34 30 20 2a 2f 20 20 20 20 20 34 2c 20 20 20 20  40 */     4,    
47b0: 38 2c 20 20 20 20 38 2c 20 20 20 20 34 2c 20 20  8,    8,    4,  
47c0: 20 20 36 2c 20 20 20 38 33 2c 20 20 20 31 34 2c    6,   83,   14,
47d0: 20 20 20 20 37 2c 20 20 20 20 36 2c 20 20 20 20      7,    6,    
47e0: 34 2c 0a 20 2f 2a 20 20 20 35 35 30 20 2a 2f 20  4,. /*   550 */ 
47f0: 20 20 20 20 36 2c 20 20 20 38 33 2c 20 20 20 31      6,   83,   1
4800: 31 2c 20 20 20 31 30 2c 20 20 20 20 34 2c 20 20  1,   10,    4,  
4810: 20 38 33 2c 20 20 20 20 38 2c 20 20 20 20 38 2c   83,    8,    8,
4820: 20 20 20 20 34 2c 20 20 20 20 38 2c 0a 20 2f 2a      4,    8,. /*
4830: 20 20 20 35 36 30 20 2a 2f 20 20 20 20 31 33 2c     560 */    13,
4840: 20 20 20 20 38 2c 20 20 20 20 37 2c 20 20 20 20      8,    7,    
4850: 36 2c 20 20 20 38 33 2c 20 20 20 20 34 2c 20 20  6,   83,    4,  
4860: 20 20 34 2c 20 20 20 20 38 2c 20 20 20 20 34 2c    4,    8,    4,
4870: 20 20 20 31 31 2c 0a 20 2f 2a 20 20 20 35 37 30     11,. /*   570
4880: 20 2a 2f 20 20 20 20 31 30 2c 20 20 20 20 38 2c   */    10,    8,
4890: 20 20 20 20 34 2c 20 20 20 20 36 2c 20 20 20 20      4,    6,    
48a0: 38 2c 20 20 20 20 34 2c 20 20 20 38 33 2c 20 20  8,    4,   83,  
48b0: 20 20 38 2c 20 20 20 20 38 2c 20 20 20 20 37 2c    8,    8,    7,
48c0: 0a 20 2f 2a 20 20 20 35 38 30 20 2a 2f 20 20 20  . /*   580 */   
48d0: 20 20 36 2c 20 20 20 38 33 2c 20 20 20 20 34 2c    6,   83,    4,
48e0: 20 20 20 20 38 2c 20 20 20 31 31 2c 20 20 20 38      8,   11,   8
48f0: 33 2c 20 20 20 31 30 2c 20 20 20 20 34 2c 20 20  3,   10,    4,  
4900: 20 20 34 2c 20 20 20 20 38 2c 0a 20 2f 2a 20 20    4,    8,. /*  
4910: 20 35 39 30 20 2a 2f 20 20 20 20 31 31 2c 20 20   590 */    11,  
4920: 20 31 31 2c 20 20 20 38 33 2c 20 20 20 20 38 2c   11,   83,    8,
4930: 20 20 20 20 36 2c 20 20 20 20 38 2c 20 20 20 20      6,    8,    
4940: 34 2c 20 20 20 20 36 2c 20 20 20 20 38 2c 20 20  4,    6,    8,  
4950: 20 31 30 2c 0a 20 2f 2a 20 20 20 36 30 30 20 2a   10,. /*   600 *
4960: 2f 20 20 20 20 20 34 2c 20 20 20 20 37 2c 20 20  /     4,    7,  
4970: 20 20 34 2c 20 20 20 38 33 2c 20 20 20 20 34 2c    4,   83,    4,
4980: 20 20 20 20 36 2c 20 20 20 31 31 2c 20 20 20 31      6,   11,   1
4990: 30 2c 20 20 20 38 33 2c 20 20 20 20 38 2c 0a 20  0,   83,    8,. 
49a0: 2f 2a 20 20 20 36 31 30 20 2a 2f 20 20 20 20 20  /*   610 */     
49b0: 38 2c 20 20 20 20 38 2c 20 20 20 20 34 2c 20 20  8,    8,    4,  
49c0: 20 20 36 2c 20 20 20 20 38 2c 20 20 20 31 30 2c    6,    8,   10,
49d0: 20 20 20 20 34 2c 20 20 20 20 37 2c 20 20 20 20      4,    7,    
49e0: 34 2c 20 20 20 38 33 2c 0a 20 2f 2a 20 20 20 36  4,   83,. /*   6
49f0: 32 30 20 2a 2f 20 20 20 20 20 34 2c 20 20 20 20  20 */     4,    
4a00: 36 2c 20 20 20 31 31 2c 20 20 20 31 30 2c 20 20  6,   11,   10,  
4a10: 20 38 33 2c 20 20 20 20 38 2c 20 20 20 20 38 2c   83,    8,    8,
4a20: 20 20 20 20 34 2c 20 20 20 20 37 2c 20 20 20 31      4,    7,   1
4a30: 30 2c 0a 20 2f 2a 20 20 20 36 33 30 20 2a 2f 20  0,. /*   630 */ 
4a40: 20 20 20 20 38 2c 20 20 20 20 34 2c 20 20 20 20      8,    4,    
4a50: 38 2c 20 20 20 20 37 2c 20 20 20 20 36 2c 20 20  8,    7,    6,  
4a60: 20 20 36 2c 20 20 20 20 34 2c 20 20 20 38 33 2c    6,    4,   83,
4a70: 20 20 20 38 33 2c 20 20 20 20 36 2c 0a 20 2f 2a     83,    6,. /*
4a80: 20 20 20 36 34 30 20 2a 2f 20 20 20 20 20 36 2c     640 */     6,
4a90: 20 20 20 31 31 2c 20 20 20 31 31 2c 20 20 20 20     11,   11,    
4aa0: 36 2c 20 20 20 20 38 2c 20 20 20 38 33 2c 20 20  6,    8,   83,  
4ab0: 20 31 31 2c 20 20 20 20 36 2c 20 20 20 20 36 2c   11,    6,    6,
4ac0: 20 20 20 20 36 2c 0a 20 2f 2a 20 20 20 36 35 30      6,. /*   650
4ad0: 20 2a 2f 20 20 20 20 38 33 2c 20 20 20 31 31 2c   */    83,   11,
4ae0: 20 20 20 38 33 2c 20 20 20 20 36 2c 20 20 20 20     83,    6,    
4af0: 34 2c 20 20 20 31 31 2c 20 20 20 20 38 2c 20 20  4,   11,    8,  
4b00: 20 20 38 2c 20 20 20 38 33 2c 20 20 20 20 34 2c    8,   83,    4,
4b10: 0a 20 2f 2a 20 20 20 36 36 30 20 2a 2f 20 20 20  . /*   660 */   
4b20: 20 20 38 2c 20 20 20 38 33 2c 20 20 20 20 38 2c    8,   83,    8,
4b30: 20 20 20 20 37 2c 20 20 20 20 36 2c 20 20 20 20      7,    6,    
4b40: 34 2c 20 20 20 38 33 2c 20 20 20 38 33 2c 20 20  4,   83,   83,  
4b50: 20 31 31 2c 20 20 20 20 34 2c 0a 20 2f 2a 20 20   11,    4,. /*  
4b60: 20 36 37 30 20 2a 2f 20 20 20 20 31 30 2c 20 20   670 */    10,  
4b70: 20 20 38 2c 20 20 20 20 38 2c 20 20 20 38 33 2c    8,    8,   83,
4b80: 20 20 20 20 38 2c 20 20 20 20 36 2c 20 20 20 20      8,    6,    
4b90: 34 2c 20 20 20 20 36 2c 20 20 20 20 38 2c 20 20  4,    6,    8,  
4ba0: 20 38 33 2c 0a 20 2f 2a 20 20 20 36 38 30 20 2a   83,. /*   680 *
4bb0: 2f 20 20 20 20 20 37 2c 20 20 20 38 33 2c 20 20  /     7,   83,  
4bc0: 20 20 34 2c 20 20 20 20 34 2c 20 20 20 20 38 2c    4,    4,    8,
4bd0: 20 20 20 20 32 2c 20 20 20 31 31 2c 20 20 20 31      2,   11,   1
4be0: 30 2c 20 20 20 38 33 2c 20 20 20 20 38 2c 0a 20  0,   83,    8,. 
4bf0: 2f 2a 20 20 20 36 39 30 20 2a 2f 20 20 20 20 20  /*   690 */     
4c00: 36 2c 20 20 20 20 34 2c 20 20 20 20 36 2c 20 20  6,    4,    6,  
4c10: 20 20 38 2c 20 20 20 20 34 2c 20 20 20 38 33 2c    8,    4,   83,
4c20: 20 20 20 20 38 2c 20 20 20 38 33 2c 20 20 20 20      8,   83,    
4c30: 37 2c 20 20 20 20 36 2c 0a 20 2f 2a 20 20 20 37  7,    6,. /*   7
4c40: 30 30 20 2a 2f 20 20 20 20 20 36 2c 20 20 20 20  00 */     6,    
4c50: 34 2c 20 20 20 38 33 2c 20 20 20 31 31 2c 20 20  4,   83,   11,  
4c60: 20 38 33 2c 20 20 20 31 30 2c 20 20 20 38 33 2c   83,   10,   83,
4c70: 20 20 20 20 36 2c 20 20 20 20 36 2c 20 20 20 38      6,    6,   8
4c80: 33 2c 0a 20 2f 2a 20 20 20 37 31 30 20 2a 2f 20  3,. /*   710 */ 
4c90: 20 20 20 31 31 2c 20 20 20 31 31 2c 20 20 20 20     11,   11,    
4ca0: 36 2c 20 20 20 20 34 2c 20 20 20 38 33 2c 20 20  6,    4,   83,  
4cb0: 20 31 31 2c 20 20 20 20 34 2c 20 20 20 20 36 2c   11,    4,    6,
4cc0: 20 20 20 38 33 2c 20 20 20 31 31 2c 0a 20 2f 2a     83,   11,. /*
4cd0: 20 20 20 37 32 30 20 2a 2f 20 20 20 20 20 36 2c     720 */     6,
4ce0: 20 20 20 20 38 2c 20 20 20 20 36 2c 20 20 20 20      8,    6,    
4cf0: 36 2c 20 20 20 38 33 2c 20 20 20 38 33 2c 20 20  6,   83,   83,  
4d00: 20 20 38 2c 20 20 20 38 33 2c 20 20 20 20 38 2c    8,   83,    8,
4d10: 20 20 20 20 38 2c 0a 20 2f 2a 20 20 20 37 33 30      8,. /*   730
4d20: 20 2a 2f 20 20 20 20 20 38 2c 20 20 20 20 38 2c   */     8,    8,
4d30: 20 20 20 20 38 2c 20 20 20 20 34 2c 20 20 20 20      8,    4,    
4d40: 33 2c 20 20 20 20 38 2c 20 20 20 38 33 2c 20 20  3,    8,   83,  
4d50: 20 20 37 2c 20 20 20 20 34 2c 20 20 20 38 33 2c    7,    4,   83,
4d60: 0a 20 2f 2a 20 20 20 37 34 30 20 2a 2f 20 20 20  . /*   740 */   
4d70: 20 20 38 2c 20 20 20 20 38 2c 20 20 20 20 37 2c    8,    8,    7,
4d80: 20 20 20 20 34 2c 20 20 20 20 36 2c 20 20 20 38      4,    6,   8
4d90: 33 2c 20 20 20 38 33 2c 20 20 20 31 31 2c 20 20  3,   83,   11,  
4da0: 20 20 34 2c 20 20 20 20 38 2c 0a 20 2f 2a 20 20    4,    8,. /*  
4db0: 20 37 35 30 20 2a 2f 20 20 20 20 20 38 2c 20 20   750 */     8,  
4dc0: 20 20 36 2c 20 20 20 38 33 2c 20 20 20 31 30 2c    6,   83,   10,
4dd0: 20 20 20 20 36 2c 20 20 20 20 36 2c 20 20 20 20      6,    6,    
4de0: 36 2c 20 20 20 38 33 2c 20 20 20 20 34 2c 20 20  6,   83,    4,  
4df0: 20 20 38 2c 0a 20 2f 2a 20 20 20 37 36 30 20 2a    8,. /*   760 *
4e00: 2f 20 20 20 20 20 38 2c 20 20 20 20 34 2c 20 20  /     8,    4,  
4e10: 20 38 33 2c 20 20 20 20 31 2c 20 20 20 20 33 2c   83,    1,    3,
4e20: 20 20 20 20 36 2c 20 20 20 31 31 2c 20 20 20 31      6,   11,   1
4e30: 31 2c 20 20 20 20 38 2c 20 20 20 38 33 2c 0a 20  1,    8,   83,. 
4e40: 2f 2a 20 20 20 37 37 30 20 2a 2f 20 20 20 20 20  /*   770 */     
4e50: 34 2c 20 20 20 38 33 2c 20 20 20 20 34 2c 20 20  4,   83,    4,  
4e60: 20 20 36 2c 20 20 20 38 33 2c 20 20 20 38 33 2c    6,   83,   83,
4e70: 20 20 20 38 33 2c 20 20 20 38 33 2c 20 20 20 38     83,   83,   8
4e80: 33 2c 20 20 20 38 33 2c 0a 20 2f 2a 20 20 20 37  3,   83,. /*   7
4e90: 38 30 20 2a 2f 20 20 20 20 38 33 2c 20 20 20 38  80 */    83,   8
4ea0: 33 2c 20 20 20 38 33 2c 20 20 20 38 33 2c 20 20  3,   83,   83,  
4eb0: 20 38 33 2c 20 20 20 38 33 2c 20 20 20 38 33 2c   83,   83,   83,
4ec0: 20 20 20 38 33 2c 20 20 20 38 33 2c 20 20 20 38     83,   83,   8
4ed0: 33 2c 0a 20 2f 2a 20 20 20 37 39 30 20 2a 2f 20  3,. /*   790 */ 
4ee0: 20 20 20 38 33 2c 20 20 20 38 33 2c 20 20 20 38     83,   83,   8
4ef0: 33 2c 20 20 20 38 33 2c 20 20 20 38 33 2c 20 20  3,   83,   83,  
4f00: 20 38 33 2c 20 20 20 38 33 2c 20 20 20 38 33 2c   83,   83,   83,
4f10: 20 20 20 38 33 2c 0a 7d 3b 0a 23 64 65 66 69 6e     83,.};.#defin
4f20: 65 20 59 59 5f 53 48 49 46 54 5f 43 4f 55 4e 54  e YY_SHIFT_COUNT
4f30: 20 20 20 20 28 35 32 39 29 0a 23 64 65 66 69 6e      (529).#defin
4f40: 65 20 59 59 5f 53 48 49 46 54 5f 4d 49 4e 20 20  e YY_SHIFT_MIN  
4f50: 20 20 20 20 28 30 29 0a 23 64 65 66 69 6e 65 20      (0).#define 
4f60: 59 59 5f 53 48 49 46 54 5f 4d 41 58 20 20 20 20  YY_SHIFT_MAX    
4f70: 20 20 28 37 36 38 29 0a 73 74 61 74 69 63 20 63    (768).static c
4f80: 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 73 68  onst unsigned sh
4f90: 6f 72 74 20 69 6e 74 20 79 79 5f 73 68 69 66 74  ort int yy_shift
4fa0: 5f 6f 66 73 74 5b 5d 20 3d 20 7b 0a 20 2f 2a 20  _ofst[] = {. /* 
4fb0: 20 20 20 20 30 20 2a 2f 20 20 20 37 37 34 2c 20      0 */   774, 
4fc0: 20 20 37 37 2c 20 20 20 39 33 2c 20 20 31 30 30    77,   93,  100
4fd0: 2c 20 20 31 30 37 2c 20 20 20 34 34 2c 20 20 31  ,  107,   44,  1
4fe0: 30 34 2c 20 20 20 33 33 2c 20 20 31 30 34 2c 20  04,   33,  104, 
4ff0: 20 31 30 34 2c 0a 20 2f 2a 20 20 20 20 31 30 20   104,. /*    10 
5000: 2a 2f 20 20 20 20 33 33 2c 20 20 31 30 34 2c 20  */    33,  104, 
5010: 20 31 33 37 2c 20 20 31 30 34 2c 20 20 20 33 33   137,  104,   33
5020: 2c 20 20 31 34 37 2c 20 20 31 35 34 2c 20 20 31  ,  147,  154,  1
5030: 39 33 2c 20 20 31 30 34 2c 20 20 31 39 38 2c 0a  93,  104,  198,.
5040: 20 2f 2a 20 20 20 20 32 30 20 2a 2f 20 20 20 20   /*    20 */    
5050: 33 33 2c 20 20 31 39 38 2c 20 20 31 39 38 2c 20  33,  198,  198, 
5060: 20 20 33 33 2c 20 20 31 39 38 2c 20 20 31 33 37    33,  198,  137
5070: 2c 20 20 31 39 38 2c 20 20 20 33 33 2c 20 20 31  ,  198,   33,  1
5080: 34 37 2c 20 20 31 39 38 2c 0a 20 2f 2a 20 20 20  47,  198,. /*   
5090: 20 33 30 20 2a 2f 20 20 20 32 30 37 2c 20 20 20   30 */   207,   
50a0: 33 33 2c 20 20 32 30 37 2c 20 20 32 30 37 2c 20  33,  207,  207, 
50b0: 20 20 33 33 2c 20 20 32 30 37 2c 20 20 31 33 37    33,  207,  137
50c0: 2c 20 20 32 30 37 2c 20 20 20 33 33 2c 20 20 31  ,  207,   33,  1
50d0: 35 34 2c 0a 20 2f 2a 20 20 20 20 34 30 20 2a 2f  54,. /*    40 */
50e0: 20 20 20 32 30 37 2c 20 20 32 32 30 2c 20 20 20     207,  220,   
50f0: 33 33 2c 20 20 32 32 30 2c 20 20 32 32 30 2c 20  33,  220,  220, 
5100: 20 20 33 33 2c 20 20 32 32 30 2c 20 20 31 33 37    33,  220,  137
5110: 2c 20 20 32 32 30 2c 20 20 20 33 33 2c 0a 20 2f  ,  220,   33,. /
5120: 2a 20 20 20 20 35 30 20 2a 2f 20 20 20 31 39 33  *    50 */   193
5130: 2c 20 20 32 32 30 2c 20 20 31 34 37 2c 20 20 20  ,  220,  147,   
5140: 33 33 2c 20 20 31 34 37 2c 20 20 31 34 37 2c 20  33,  147,  147, 
5150: 20 20 33 33 2c 20 20 31 34 37 2c 20 20 31 33 37    33,  147,  137
5160: 2c 20 20 31 34 37 2c 0a 20 2f 2a 20 20 20 20 36  ,  147,. /*    6
5170: 30 20 2a 2f 20 20 20 20 33 33 2c 20 20 31 39 33  0 */    33,  193
5180: 2c 20 20 32 33 30 2c 20 20 31 34 37 2c 20 20 31  ,  230,  147,  1
5190: 35 34 2c 20 20 20 33 33 2c 20 20 31 35 34 2c 20  54,   33,  154, 
51a0: 20 31 35 34 2c 20 20 20 33 33 2c 20 20 31 35 34   154,   33,  154
51b0: 2c 0a 20 2f 2a 20 20 20 20 37 30 20 2a 2f 20 20  ,. /*    70 */  
51c0: 20 31 33 37 2c 20 20 31 35 34 2c 20 20 20 33 33   137,  154,   33
51d0: 2c 20 20 31 39 33 2c 20 20 31 35 34 2c 20 20 31  ,  193,  154,  1
51e0: 39 33 2c 20 20 20 33 33 2c 20 20 31 39 33 2c 20  93,   33,  193, 
51f0: 20 31 39 33 2c 20 20 20 33 33 2c 0a 20 2f 2a 20   193,   33,. /* 
5200: 20 20 20 38 30 20 2a 2f 20 20 20 31 39 33 2c 20     80 */   193, 
5210: 20 31 33 37 2c 20 20 31 39 33 2c 20 20 20 33 33   137,  193,   33
5220: 2c 20 20 31 39 33 2c 20 20 20 36 31 2c 20 20 20  ,  193,   61,   
5230: 36 31 2c 20 20 32 33 39 2c 20 20 32 37 30 2c 20  61,  239,  270, 
5240: 20 32 37 33 2c 0a 20 2f 2a 20 20 20 20 39 30 20   273,. /*    90 
5250: 2a 2f 20 20 20 20 36 31 2c 20 20 20 36 31 2c 20  */    61,   61, 
5260: 20 20 36 31 2c 20 20 20 36 31 2c 20 20 32 37 36    61,   61,  276
5270: 2c 20 20 32 37 36 2c 20 20 32 38 32 2c 20 20 32  ,  276,  282,  2
5280: 38 33 2c 20 20 32 38 34 2c 20 20 32 37 36 2c 0a  83,  284,  276,.
5290: 20 2f 2a 20 20 20 31 30 30 20 2a 2f 20 20 20 32   /*   100 */   2
52a0: 37 36 2c 20 20 32 37 36 2c 20 20 32 37 36 2c 20  76,  276,  276, 
52b0: 20 32 39 30 2c 20 20 32 39 32 2c 20 20 32 33 39   290,  292,  239
52c0: 2c 20 20 32 39 30 2c 20 20 32 39 39 2c 20 20 32  ,  290,  299,  2
52d0: 39 37 2c 20 20 32 38 32 2c 0a 20 2f 2a 20 20 20  97,  282,. /*   
52e0: 31 31 30 20 2a 2f 20 20 20 32 39 39 2c 20 20 33  110 */   299,  3
52f0: 30 34 2c 20 20 32 37 33 2c 20 20 32 37 30 2c 20  04,  273,  270, 
5300: 20 33 30 34 2c 20 20 33 31 30 2c 20 20 32 38 34   304,  310,  284
5310: 2c 20 20 32 38 33 2c 20 20 33 31 30 2c 20 20 33  ,  283,  310,  3
5320: 31 34 2c 0a 20 2f 2a 20 20 20 31 32 30 20 2a 2f  14,. /*   120 */
5330: 20 20 20 33 31 37 2c 20 20 33 31 38 2c 20 20 33     317,  318,  3
5340: 31 34 2c 20 20 32 37 33 2c 20 20 32 37 33 2c 20  14,  273,  273, 
5350: 20 32 37 33 2c 20 20 32 37 33 2c 20 20 32 39 32   273,  273,  292
5360: 2c 20 20 33 31 38 2c 20 20 33 32 31 2c 0a 20 2f  ,  318,  321,. /
5370: 2a 20 20 20 31 33 30 20 2a 2f 20 20 20 33 31 37  *   130 */   317
5380: 2c 20 20 32 38 34 2c 20 20 32 38 34 2c 20 20 32  ,  284,  284,  2
5390: 38 34 2c 20 20 32 38 34 2c 20 20 32 39 37 2c 20  84,  284,  297, 
53a0: 20 33 32 31 2c 20 20 33 31 34 2c 20 20 32 37 33   321,  314,  273
53b0: 2c 20 20 33 31 34 2c 0a 20 2f 2a 20 20 20 31 34  ,  314,. /*   14
53c0: 30 20 2a 2f 20 20 20 20 33 33 2c 20 20 20 33 33  0 */    33,   33
53d0: 2c 20 20 32 37 33 2c 20 20 33 31 37 2c 20 20 32  ,  273,  317,  2
53e0: 38 34 2c 20 20 33 31 37 2c 20 20 20 33 33 2c 20  84,  317,   33, 
53f0: 20 20 33 33 2c 20 20 32 38 34 2c 20 20 20 33 33    33,  284,   33
5400: 2c 0a 20 2f 2a 20 20 20 31 35 30 20 2a 2f 20 20  ,. /*   150 */  
5410: 20 20 33 33 2c 20 20 20 33 33 2c 20 20 20 33 33    33,   33,   33
5420: 2c 20 20 20 33 33 2c 20 20 20 33 33 2c 20 20 20  ,   33,   33,   
5430: 31 32 2c 20 20 20 32 32 2c 20 20 20 33 32 2c 20  12,   22,   32, 
5440: 20 20 33 37 2c 20 20 20 33 34 2c 0a 20 2f 2a 20    37,   34,. /* 
5450: 20 20 31 36 30 20 2a 2f 20 20 20 20 34 30 2c 20    160 */    40, 
5460: 20 20 35 30 2c 20 20 20 35 36 2c 20 20 20 35 37    50,   56,   57
5470: 2c 20 20 20 36 33 2c 20 20 20 36 34 2c 20 20 32  ,   63,   64,  2
5480: 33 33 2c 20 20 32 33 38 2c 20 20 32 34 37 2c 20  33,  238,  247, 
5490: 20 32 35 31 2c 0a 20 2f 2a 20 20 20 31 37 30 20   251,. /*   170 
54a0: 2a 2f 20 20 20 32 35 32 2c 20 20 32 35 36 2c 20  */   252,  256, 
54b0: 20 32 35 37 2c 20 20 32 36 30 2c 20 20 32 36 31   257,  260,  261
54c0: 2c 20 20 32 36 34 2c 20 20 32 36 35 2c 20 20 32  ,  264,  265,  2
54d0: 36 38 2c 20 20 32 36 39 2c 20 20 32 37 32 2c 0a  68,  269,  272,.
54e0: 20 2f 2a 20 20 20 31 38 30 20 2a 2f 20 20 20 31   /*   180 */   1
54f0: 37 36 2c 20 20 33 32 39 2c 20 20 33 33 36 2c 20  76,  329,  336, 
5500: 20 33 32 37 2c 20 20 33 34 31 2c 20 20 33 33 39   327,  341,  339
5510: 2c 20 20 33 33 35 2c 20 20 33 33 37 2c 20 20 33  ,  335,  337,  3
5520: 34 37 2c 20 20 33 35 39 2c 0a 20 2f 2a 20 20 20  47,  359,. /*   
5530: 31 39 30 20 2a 2f 20 20 20 33 36 30 2c 20 20 33  190 */   360,  3
5540: 36 35 2c 20 20 33 37 30 2c 20 20 33 36 33 2c 20  65,  370,  363, 
5550: 20 33 36 39 2c 20 20 33 37 34 2c 20 20 33 35 35   369,  374,  355
5560: 2c 20 20 33 37 35 2c 20 20 33 37 31 2c 20 20 33  ,  375,  371,  3
5570: 37 33 2c 0a 20 2f 2a 20 20 20 32 30 30 20 2a 2f  73,. /*   200 */
5580: 20 20 20 33 37 36 2c 20 20 33 37 37 2c 20 20 33     376,  377,  3
5590: 37 38 2c 20 20 33 38 30 2c 20 20 33 38 31 2c 20  78,  380,  381, 
55a0: 20 33 38 34 2c 20 20 33 38 32 2c 20 20 33 38 33   384,  382,  383
55b0: 2c 20 20 33 38 35 2c 20 20 33 36 38 2c 0a 20 2f  ,  385,  368,. /
55c0: 2a 20 20 20 32 31 30 20 2a 2f 20 20 20 33 38 37  *   210 */   387
55d0: 2c 20 20 33 38 36 2c 20 20 33 38 38 2c 20 20 33  ,  386,  388,  3
55e0: 39 30 2c 20 20 33 39 31 2c 20 20 33 32 36 2c 20  90,  391,  326, 
55f0: 20 33 39 33 2c 20 20 33 39 32 2c 20 20 33 39 34   393,  392,  394
5600: 2c 20 20 33 39 36 2c 0a 20 2f 2a 20 20 20 32 32  ,  396,. /*   22
5610: 30 20 2a 2f 20 20 20 33 39 39 2c 20 20 33 39 37  0 */   399,  397
5620: 2c 20 20 34 30 30 2c 20 20 34 30 33 2c 20 20 34  ,  400,  403,  4
5630: 30 32 2c 20 20 33 38 39 2c 20 20 33 39 38 2c 20  02,  389,  398, 
5640: 20 34 30 34 2c 20 20 34 30 36 2c 20 20 34 30 31   404,  406,  401
5650: 2c 0a 20 2f 2a 20 20 20 32 33 30 20 2a 2f 20 20  ,. /*   230 */  
5660: 20 34 30 35 2c 20 20 34 30 37 2c 20 20 34 30 39   405,  407,  409
5670: 2c 20 20 34 31 30 2c 20 20 34 30 38 2c 20 20 34  ,  410,  408,  4
5680: 31 31 2c 20 20 34 31 32 2c 20 20 34 31 33 2c 20  11,  412,  413, 
5690: 20 34 31 35 2c 20 20 34 31 34 2c 0a 20 2f 2a 20   415,  414,. /* 
56a0: 20 20 32 34 30 20 2a 2f 20 20 20 34 31 39 2c 20    240 */   419, 
56b0: 20 34 31 36 2c 20 20 34 31 37 2c 20 20 34 31 38   416,  417,  418
56c0: 2c 20 20 34 32 32 2c 20 20 34 32 30 2c 20 20 34  ,  422,  420,  4
56d0: 32 35 2c 20 20 34 32 38 2c 20 20 34 32 33 2c 20  25,  428,  423, 
56e0: 20 34 32 31 2c 0a 20 2f 2a 20 20 20 32 35 30 20   421,. /*   250 
56f0: 2a 2f 20 20 20 34 32 36 2c 20 20 34 32 39 2c 20  */   426,  429, 
5700: 20 34 33 30 2c 20 20 34 33 32 2c 20 20 34 33 33   430,  432,  433
5710: 2c 20 20 34 33 31 2c 20 20 34 33 35 2c 20 20 34  ,  431,  435,  4
5720: 33 38 2c 20 20 34 33 34 2c 20 20 34 33 36 2c 0a  38,  434,  436,.
5730: 20 2f 2a 20 20 20 32 36 30 20 2a 2f 20 20 20 34   /*   260 */   4
5740: 33 39 2c 20 20 34 34 32 2c 20 20 34 33 37 2c 20  39,  442,  437, 
5750: 20 34 34 30 2c 20 20 34 34 31 2c 20 20 34 34 36   440,  441,  446
5760: 2c 20 20 34 34 34 2c 20 20 34 34 37 2c 20 20 34  ,  444,  447,  4
5770: 34 35 2c 20 20 34 34 38 2c 0a 20 2f 2a 20 20 20  45,  448,. /*   
5780: 32 37 30 20 2a 2f 20 20 20 34 35 30 2c 20 20 34  270 */   450,  4
5790: 34 39 2c 20 20 34 35 31 2c 20 20 34 35 37 2c 20  49,  451,  457, 
57a0: 20 34 35 34 2c 20 20 34 35 35 2c 20 20 34 35 38   454,  455,  458
57b0: 2c 20 20 34 36 30 2c 20 20 34 36 31 2c 20 20 34  ,  460,  461,  4
57c0: 35 39 2c 0a 20 2f 2a 20 20 20 32 38 30 20 2a 2f  59,. /*   280 */
57d0: 20 20 20 34 36 32 2c 20 20 34 35 32 2c 20 20 34     462,  452,  4
57e0: 36 33 2c 20 20 34 36 34 2c 20 20 34 36 36 2c 20  63,  464,  466, 
57f0: 20 34 36 35 2c 20 20 34 36 39 2c 20 20 34 36 37   465,  469,  467
5800: 2c 20 20 34 36 38 2c 20 20 34 37 30 2c 0a 20 2f  ,  468,  470,. /
5810: 2a 20 20 20 32 39 30 20 2a 2f 20 20 20 34 37 33  *   290 */   473
5820: 2c 20 20 34 37 32 2c 20 20 34 37 34 2c 20 20 34  ,  472,  474,  4
5830: 37 35 2c 20 20 34 37 37 2c 20 20 34 37 38 2c 20  75,  477,  478, 
5840: 20 34 37 39 2c 20 20 34 38 30 2c 20 20 34 37 36   479,  480,  476
5850: 2c 20 20 34 38 31 2c 0a 20 2f 2a 20 20 20 33 30  ,  481,. /*   30
5860: 30 20 2a 2f 20 20 20 34 38 38 2c 20 20 34 38 37  0 */   488,  487
5870: 2c 20 20 34 39 30 2c 20 20 34 39 31 2c 20 20 34  ,  490,  491,  4
5880: 39 32 2c 20 20 34 39 33 2c 20 20 34 39 37 2c 20  92,  493,  497, 
5890: 20 34 38 33 2c 20 20 34 38 35 2c 20 20 35 30 30   483,  485,  500
58a0: 2c 0a 20 2f 2a 20 20 20 33 31 30 20 2a 2f 20 20  ,. /*   310 */  
58b0: 20 34 39 34 2c 20 20 34 39 39 2c 20 20 35 30 31   494,  499,  501
58c0: 2c 20 20 34 39 35 2c 20 20 35 30 32 2c 20 20 35  ,  495,  502,  5
58d0: 30 33 2c 20 20 35 30 34 2c 20 20 35 30 35 2c 20  03,  504,  505, 
58e0: 20 35 30 38 2c 20 20 35 30 36 2c 0a 20 2f 2a 20   508,  506,. /* 
58f0: 20 20 33 32 30 20 2a 2f 20 20 20 34 39 36 2c 20    320 */   496, 
5900: 20 35 30 39 2c 20 20 35 30 37 2c 20 20 35 31 31   509,  507,  511
5910: 2c 20 20 35 31 32 2c 20 20 35 31 34 2c 20 20 35  ,  512,  514,  5
5920: 31 37 2c 20 20 35 31 35 2c 20 20 35 31 36 2c 20  17,  515,  516, 
5930: 20 35 31 38 2c 0a 20 2f 2a 20 20 20 33 33 30 20   518,. /*   330 
5940: 2a 2f 20 20 20 35 32 30 2c 20 20 35 32 32 2c 20  */   520,  522, 
5950: 20 35 32 31 2c 20 20 35 32 33 2c 20 20 35 32 35   521,  523,  525
5960: 2c 20 20 35 32 34 2c 20 20 35 32 38 2c 20 20 35  ,  524,  528,  5
5970: 32 39 2c 20 20 35 33 30 2c 20 20 35 33 36 2c 0a  29,  530,  536,.
5980: 20 2f 2a 20 20 20 33 34 30 20 2a 2f 20 20 20 35   /*   340 */   5
5990: 33 38 2c 20 20 35 33 33 2c 20 20 35 33 34 2c 20  38,  533,  534, 
59a0: 20 35 33 39 2c 20 20 35 34 30 2c 20 20 35 34 32   539,  540,  542
59b0: 2c 20 20 35 34 31 2c 20 20 35 34 33 2c 20 20 35  ,  541,  543,  5
59c0: 34 35 2c 20 20 35 34 38 2c 0a 20 2f 2a 20 20 20  45,  548,. /*   
59d0: 33 35 30 20 2a 2f 20 20 20 35 34 39 2c 20 20 35  350 */   549,  5
59e0: 35 30 2c 20 20 35 34 34 2c 20 20 35 35 31 2c 20  50,  544,  551, 
59f0: 20 35 35 33 2c 20 20 35 35 34 2c 20 20 35 35 35   553,  554,  555
5a00: 2c 20 20 35 35 37 2c 20 20 35 35 38 2c 20 20 35  ,  557,  558,  5
5a10: 36 30 2c 0a 20 2f 2a 20 20 20 33 36 30 20 2a 2f  60,. /*   360 */
5a20: 20 20 20 35 36 32 2c 20 20 35 35 39 2c 20 20 35     562,  559,  5
5a30: 36 33 2c 20 20 35 36 34 2c 20 20 35 36 37 2c 20  63,  564,  567, 
5a40: 20 35 36 38 2c 20 20 35 36 39 2c 20 20 35 37 30   568,  569,  570
5a50: 2c 20 20 35 37 31 2c 20 20 35 37 32 2c 0a 20 2f  ,  571,  572,. /
5a60: 2a 20 20 20 33 37 30 20 2a 2f 20 20 20 35 37 34  *   370 */   574
5a70: 2c 20 20 35 37 33 2c 20 20 35 37 36 2c 20 20 35  ,  573,  576,  5
5a80: 37 38 2c 20 20 35 37 39 2c 20 20 35 38 30 2c 20  78,  579,  580, 
5a90: 20 35 38 31 2c 20 20 35 38 35 2c 20 20 35 38 33   581,  585,  583
5aa0: 2c 20 20 35 38 38 2c 0a 20 2f 2a 20 20 20 33 38  ,  588,. /*   38
5ab0: 30 20 2a 2f 20 20 20 35 38 37 2c 20 20 35 39 30  0 */   587,  590
5ac0: 2c 20 20 35 39 32 2c 20 20 35 39 34 2c 20 20 35  ,  592,  594,  5
5ad0: 39 31 2c 20 20 35 39 35 2c 20 20 35 39 37 2c 20  91,  595,  597, 
5ae0: 20 35 39 36 2c 20 20 36 30 31 2c 20 20 36 30 32   596,  601,  602
5af0: 2c 0a 20 2f 2a 20 20 20 33 39 30 20 2a 2f 20 20  ,. /*   390 */  
5b00: 20 35 39 38 2c 20 20 35 39 39 2c 20 20 36 30 33   598,  599,  603
5b10: 2c 20 20 36 30 36 2c 20 20 36 30 38 2c 20 20 36  ,  606,  608,  6
5b20: 31 30 2c 20 20 36 30 37 2c 20 20 36 31 31 2c 20  10,  607,  611, 
5b30: 20 36 31 33 2c 20 20 36 31 32 2c 0a 20 2f 2a 20   613,  612,. /* 
5b40: 20 20 34 30 30 20 2a 2f 20 20 20 36 31 37 2c 20    400 */   617, 
5b50: 20 36 31 38 2c 20 20 36 31 34 2c 20 20 36 31 35   618,  614,  615
5b60: 2c 20 20 36 32 33 2c 20 20 36 32 32 2c 20 20 36  ,  623,  622,  6
5b70: 32 34 2c 20 20 36 32 37 2c 20 20 36 32 36 2c 20  24,  627,  626, 
5b80: 20 36 32 38 2c 0a 20 2f 2a 20 20 20 34 31 30 20   628,. /*   410 
5b90: 2a 2f 20 20 20 36 33 31 2c 20 20 36 31 39 2c 20  */   631,  619, 
5ba0: 20 36 33 32 2c 20 20 36 33 30 2c 20 20 36 33 33   632,  630,  633
5bb0: 2c 20 20 36 33 34 2c 20 20 36 33 37 2c 20 20 36  ,  634,  637,  6
5bc0: 33 35 2c 20 20 36 34 30 2c 20 20 36 34 31 2c 0a  35,  640,  641,.
5bd0: 20 2f 2a 20 20 20 34 32 30 20 2a 2f 20 20 20 36   /*   420 */   6
5be0: 34 32 2c 20 20 36 34 33 2c 20 20 36 34 34 2c 20  42,  643,  644, 
5bf0: 20 36 34 38 2c 20 20 36 34 39 2c 20 20 36 35 30   648,  649,  650
5c00: 2c 20 20 36 34 37 2c 20 20 36 35 32 2c 20 20 36  ,  647,  652,  6
5c10: 35 34 2c 20 20 36 35 35 2c 0a 20 2f 2a 20 20 20  54,  655,. /*   
5c20: 34 33 30 20 2a 2f 20 20 20 36 35 36 2c 20 20 36  430 */   656,  6
5c30: 35 38 2c 20 20 36 35 37 2c 20 20 36 36 30 2c 20  58,  657,  660, 
5c40: 20 36 36 31 2c 20 20 36 36 33 2c 20 20 36 36 34   661,  663,  664
5c50: 2c 20 20 36 36 35 2c 20 20 36 36 39 2c 20 20 36  ,  665,  669,  6
5c60: 36 36 2c 0a 20 2f 2a 20 20 20 34 34 30 20 2a 2f  66,. /*   440 */
5c70: 20 20 20 36 37 30 2c 20 20 36 37 32 2c 20 20 36     670,  672,  6
5c80: 37 33 2c 20 20 36 37 31 2c 20 20 36 37 35 2c 20  73,  671,  675, 
5c90: 20 36 37 37 2c 20 20 36 37 38 2c 20 20 36 37 36   677,  678,  676
5ca0: 2c 20 20 36 38 31 2c 20 20 36 37 39 2c 0a 20 2f  ,  681,  679,. /
5cb0: 2a 20 20 20 34 35 30 20 2a 2f 20 20 20 36 38 34  *   450 */   684
5cc0: 2c 20 20 36 38 37 2c 20 20 36 38 35 2c 20 20 36  ,  687,  685,  6
5cd0: 38 38 2c 20 20 36 39 30 2c 20 20 36 39 31 2c 20  88,  690,  691, 
5ce0: 20 36 39 34 2c 20 20 36 39 32 2c 20 20 36 39 35   694,  692,  695
5cf0: 2c 20 20 36 39 37 2c 0a 20 2f 2a 20 20 20 34 36  ,  697,. /*   46
5d00: 30 20 2a 2f 20 20 20 36 39 39 2c 20 20 37 30 31  0 */   699,  701
5d10: 2c 20 20 37 30 32 2c 20 20 37 30 36 2c 20 20 37  ,  702,  706,  7
5d20: 30 34 2c 20 20 37 30 38 2c 20 20 37 31 31 2c 20  04,  708,  711, 
5d30: 20 37 31 36 2c 20 20 37 31 33 2c 20 20 37 31 38   716,  713,  718
5d40: 2c 0a 20 2f 2a 20 20 20 34 37 30 20 2a 2f 20 20  ,. /*   470 */  
5d50: 20 37 30 39 2c 20 20 37 31 34 2c 20 20 37 32 30   709,  714,  720
5d60: 2c 20 20 37 32 31 2c 20 20 37 32 32 2c 20 20 37  ,  721,  722,  7
5d70: 32 33 2c 20 20 37 32 39 2c 20 20 35 31 33 2c 20  23,  729,  513, 
5d80: 20 36 38 33 2c 20 20 35 32 37 2c 0a 20 2f 2a 20   683,  527,. /* 
5d90: 20 20 34 38 30 20 2a 2f 20 20 20 35 33 32 2c 20    480 */   532, 
5da0: 20 36 38 36 2c 20 20 35 34 37 2c 20 20 35 36 31   686,  547,  561
5db0: 2c 20 20 37 33 31 2c 20 20 35 36 36 2c 20 20 35  ,  731,  566,  5
5dc0: 37 35 2c 20 20 35 38 34 2c 20 20 37 33 30 2c 20  75,  584,  730, 
5dd0: 20 36 39 33 2c 0a 20 2f 2a 20 20 20 34 39 30 20   693,. /*   490 
5de0: 2a 2f 20 20 20 37 30 30 2c 20 20 35 38 39 2c 20  */   700,  589, 
5df0: 20 36 30 30 2c 20 20 37 32 37 2c 20 20 37 33 32   600,  727,  732
5e00: 2c 20 20 37 31 32 2c 20 20 37 31 37 2c 20 20 37  ,  712,  717,  7
5e10: 32 34 2c 20 20 37 33 33 2c 20 20 37 33 34 2c 0a  24,  733,  734,.
5e20: 20 2f 2a 20 20 20 35 30 30 20 2a 2f 20 20 20 37   /*   500 */   7
5e30: 33 35 2c 20 20 37 33 38 2c 20 20 37 33 36 2c 20  35,  738,  736, 
5e40: 20 36 30 35 2c 20 20 36 31 36 2c 20 20 37 34 31   605,  616,  741
5e50: 2c 20 20 37 34 32 2c 20 20 37 33 39 2c 20 20 37  ,  742,  739,  7
5e60: 34 35 2c 20 20 37 34 34 2c 0a 20 2f 2a 20 20 20  45,  744,. /*   
5e70: 35 31 30 20 2a 2f 20 20 20 37 34 38 2c 20 20 37  510 */   748,  7
5e80: 34 39 2c 20 20 37 35 30 2c 20 20 37 35 31 2c 20  49,  750,  751, 
5e90: 20 37 35 32 2c 20 20 37 35 37 2c 20 20 36 32 31   752,  757,  621
5ea0: 2c 20 20 36 32 39 2c 20 20 37 35 35 2c 20 20 37  ,  629,  755,  7
5eb0: 34 33 2c 0a 20 2f 2a 20 20 20 35 32 30 20 2a 2f  43,. /*   520 */
5ec0: 20 20 20 37 35 34 2c 20 20 37 35 36 2c 20 20 37     754,  756,  7
5ed0: 35 39 2c 20 20 36 33 36 2c 20 20 37 36 30 2c 20  59,  636,  760, 
5ee0: 20 37 36 36 2c 20 20 37 36 37 2c 20 20 37 36 38   766,  767,  768
5ef0: 2c 20 20 37 36 31 2c 20 20 37 36 32 2c 0a 7d 3b  ,  761,  762,.};
5f00: 0a 23 64 65 66 69 6e 65 20 59 59 5f 52 45 44 55  .#define YY_REDU
5f10: 43 45 5f 43 4f 55 4e 54 20 28 31 35 34 29 0a 23  CE_COUNT (154).#
5f20: 64 65 66 69 6e 65 20 59 59 5f 52 45 44 55 43 45  define YY_REDUCE
5f30: 5f 4d 49 4e 20 20 20 28 2d 35 37 29 0a 23 64 65  _MIN   (-57).#de
5f40: 66 69 6e 65 20 59 59 5f 52 45 44 55 43 45 5f 4d  fine YY_REDUCE_M
5f50: 41 58 20 20 20 28 33 32 35 29 0a 73 74 61 74 69  AX   (325).stati
5f60: 63 20 63 6f 6e 73 74 20 73 68 6f 72 74 20 79 79  c const short yy
5f70: 5f 72 65 64 75 63 65 5f 6f 66 73 74 5b 5d 20 3d  _reduce_ofst[] =
5f80: 20 7b 0a 20 2f 2a 20 20 20 20 20 30 20 2a 2f 20   {. /*     0 */ 
5f90: 20 20 20 31 38 2c 20 20 2d 32 38 2c 20 20 2d 35     18,  -28,  -5
5fa0: 37 2c 20 20 2d 35 33 2c 20 20 2d 33 39 2c 20 20  7,  -53,  -39,  
5fb0: 20 20 32 2c 20 20 20 20 37 2c 20 20 2d 32 37 2c    2,    7,  -27,
5fc0: 20 20 20 20 39 2c 20 20 20 31 31 2c 0a 20 2f 2a      9,   11,. /*
5fd0: 20 20 20 20 31 30 20 2a 2f 20 20 20 20 32 38 2c      10 */    28,
5fe0: 20 20 20 31 33 2c 20 20 20 34 31 2c 20 20 20 31     13,   41,   1
5ff0: 37 2c 20 20 20 34 36 2c 20 20 20 33 36 2c 20 20  7,   46,   36,  
6000: 20 34 32 2c 20 20 20 35 34 2c 20 20 20 32 37 2c   42,   54,   27,
6010: 20 20 20 33 35 2c 0a 20 2f 2a 20 20 20 20 32 30     35,. /*    20
6020: 20 2a 2f 20 20 20 20 36 30 2c 20 20 20 33 38 2c   */    60,   38,
6030: 20 20 20 34 33 2c 20 20 20 36 35 2c 20 20 20 34     43,   65,   4
6040: 37 2c 20 20 20 37 31 2c 20 20 20 35 31 2c 20 20  7,   71,   51,  
6050: 20 37 36 2c 20 20 20 36 36 2c 20 20 20 35 38 2c   76,   66,   58,
6060: 0a 20 2f 2a 20 20 20 20 33 30 20 2a 2f 20 20 20  . /*    30 */   
6070: 20 36 37 2c 20 20 20 37 39 2c 20 20 20 36 39 2c   67,   79,   69,
6080: 20 20 20 37 32 2c 20 20 20 39 30 2c 20 20 20 37     72,   90,   7
6090: 38 2c 20 20 20 38 33 2c 20 20 20 38 30 2c 20 20  8,   83,   80,  
60a0: 31 30 31 2c 20 20 20 38 36 2c 0a 20 2f 2a 20 20  101,   86,. /*  
60b0: 20 20 34 30 20 2a 2f 20 20 20 20 38 34 2c 20 20    40 */    84,  
60c0: 20 38 39 2c 20 20 31 30 38 2c 20 20 20 39 32 2c   89,  108,   92,
60d0: 20 20 20 39 37 2c 20 20 31 31 33 2c 20 20 31 30     97,  113,  10
60e0: 32 2c 20 20 31 32 30 2c 20 20 31 30 36 2c 20 20  2,  120,  106,  
60f0: 31 32 35 2c 0a 20 2f 2a 20 20 20 20 35 30 20 2a  125,. /*    50 *
6100: 2f 20 20 20 31 32 37 2c 20 20 31 31 34 2c 20 20  /   127,  114,  
6110: 31 31 36 2c 20 20 31 33 33 2c 20 20 31 32 33 2c  116,  133,  123,
6120: 20 20 31 32 38 2c 20 20 31 33 38 2c 20 20 31 33    128,  138,  13
6130: 32 2c 20 20 31 34 34 2c 20 20 31 33 36 2c 0a 20  2,  144,  136,. 
6140: 2f 2a 20 20 20 20 36 30 20 2a 2f 20 20 20 31 35  /*    60 */   15
6150: 30 2c 20 20 31 35 32 2c 20 20 31 34 33 2c 20 20  0,  152,  143,  
6160: 31 34 31 2c 20 20 31 35 31 2c 20 20 31 35 39 2c  141,  151,  159,
6170: 20 20 31 35 35 2c 20 20 31 35 37 2c 20 20 31 36    155,  157,  16
6180: 38 2c 20 20 31 36 30 2c 0a 20 2f 2a 20 20 20 20  8,  160,. /*    
6190: 37 30 20 2a 2f 20 20 20 31 37 32 2c 20 20 31 36  70 */   172,  16
61a0: 36 2c 20 20 31 37 37 2c 20 20 31 37 39 2c 20 20  6,  177,  179,  
61b0: 31 37 30 2c 20 20 31 38 34 2c 20 20 31 38 35 2c  170,  184,  185,
61c0: 20 20 31 38 37 2c 20 20 31 38 39 2c 20 20 31 39    187,  189,  19
61d0: 31 2c 0a 20 2f 2a 20 20 20 20 38 30 20 2a 2f 20  1,. /*    80 */ 
61e0: 20 20 31 39 34 2c 20 20 31 39 37 2c 20 20 32 30    194,  197,  20
61f0: 31 2c 20 20 32 30 32 2c 20 20 32 30 36 2c 20 20  1,  202,  206,  
6200: 20 36 38 2c 20 20 20 38 32 2c 20 20 31 39 35 2c   68,   82,  195,
6210: 20 20 31 33 39 2c 20 20 32 33 35 2c 0a 20 2f 2a    139,  235,. /*
6220: 20 20 20 20 39 30 20 2a 2f 20 20 20 32 30 35 2c      90 */   205,
6230: 20 20 32 30 38 2c 20 20 32 30 39 2c 20 20 32 31    208,  209,  21
6240: 30 2c 20 20 32 31 31 2c 20 20 32 31 35 2c 20 20  0,  211,  215,  
6250: 32 32 39 2c 20 20 32 34 30 2c 20 20 32 35 33 2c  229,  240,  253,
6260: 20 20 32 32 31 2c 0a 20 2f 2a 20 20 20 31 30 30    221,. /*   100
6270: 20 2a 2f 20 20 20 32 32 33 2c 20 20 32 32 34 2c   */   223,  224,
6280: 20 20 32 32 35 2c 20 20 32 33 31 2c 20 20 32 34    225,  231,  24
6290: 33 2c 20 20 32 34 38 2c 20 20 32 33 36 2c 20 20  3,  248,  236,  
62a0: 32 34 31 2c 20 20 32 35 30 2c 20 20 32 35 34 2c  241,  250,  254,
62b0: 0a 20 2f 2a 20 20 20 31 31 30 20 2a 2f 20 20 20  . /*   110 */   
62c0: 32 34 32 2c 20 20 32 34 36 2c 20 20 32 36 36 2c  242,  246,  266,
62d0: 20 20 32 36 32 2c 20 20 32 34 39 2c 20 20 32 35    262,  249,  25
62e0: 35 2c 20 20 32 37 34 2c 20 20 32 37 31 2c 20 20  5,  274,  271,  
62f0: 32 35 38 2c 20 20 32 36 37 2c 0a 20 2f 2a 20 20  258,  267,. /*  
6300: 20 31 32 30 20 2a 2f 20 20 20 32 37 35 2c 20 20   120 */   275,  
6310: 32 37 37 2c 20 20 32 37 38 2c 20 20 32 38 30 2c  277,  278,  280,
6320: 20 20 32 38 31 2c 20 20 32 38 35 2c 20 20 32 38    281,  285,  28
6330: 36 2c 20 20 32 37 39 2c 20 20 32 38 37 2c 20 20  6,  279,  287,  
6340: 32 38 38 2c 0a 20 2f 2a 20 20 20 31 33 30 20 2a  288,. /*   130 *
6350: 2f 20 20 20 32 38 39 2c 20 20 32 39 31 2c 20 20  /   289,  291,  
6360: 32 39 33 2c 20 20 32 39 36 2c 20 20 32 39 38 2c  293,  296,  298,
6370: 20 20 32 39 34 2c 20 20 32 39 35 2c 20 20 33 30    294,  295,  30
6380: 30 2c 20 20 33 30 31 2c 20 20 33 30 32 2c 0a 20  0,  301,  302,. 
6390: 2f 2a 20 20 20 31 34 30 20 2a 2f 20 20 20 33 30  /*   140 */   30
63a0: 37 2c 20 20 33 30 38 2c 20 20 33 30 33 2c 20 20  7,  308,  303,  
63b0: 33 30 36 2c 20 20 33 31 35 2c 20 20 33 30 39 2c  306,  315,  309,
63c0: 20 20 33 31 31 2c 20 20 33 31 33 2c 20 20 33 31    311,  313,  31
63d0: 39 2c 20 20 33 31 36 2c 0a 20 2f 2a 20 20 20 31  9,  316,. /*   1
63e0: 35 30 20 2a 2f 20 20 20 33 32 30 2c 20 20 33 32  50 */   320,  32
63f0: 32 2c 20 20 33 32 33 2c 20 20 33 32 34 2c 20 20  2,  323,  324,  
6400: 33 32 35 2c 0a 7d 3b 0a 73 74 61 74 69 63 20 63  325,.};.static c
6410: 6f 6e 73 74 20 59 59 41 43 54 49 4f 4e 54 59 50  onst YYACTIONTYP
6420: 45 20 79 79 5f 64 65 66 61 75 6c 74 5b 5d 20 3d  E yy_default[] =
6430: 20 7b 0a 20 2f 2a 20 20 20 20 20 30 20 2a 2f 20   {. /*     0 */ 
6440: 20 20 39 39 33 2c 20 20 38 33 36 2c 20 20 38 33    993,  836,  83
6450: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6460: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6470: 20 20 38 33 36 2c 20 20 38 33 36 2c 0a 20 2f 2a    836,  836,. /*
6480: 20 20 20 20 31 30 20 2a 2f 20 20 20 38 33 36 2c      10 */   836,
6490: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
64a0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
64b0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
64c0: 20 20 38 33 36 2c 0a 20 2f 2a 20 20 20 20 32 30    836,. /*    20
64d0: 20 2a 2f 20 20 20 38 33 36 2c 20 20 38 33 36 2c   */   836,  836,
64e0: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
64f0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6500: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6510: 0a 20 2f 2a 20 20 20 20 33 30 20 2a 2f 20 20 20  . /*    30 */   
6520: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6530: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6540: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6550: 38 33 36 2c 20 20 38 33 36 2c 0a 20 2f 2a 20 20  836,  836,. /*  
6560: 20 20 34 30 20 2a 2f 20 20 20 38 33 36 2c 20 20    40 */   836,  
6570: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6580: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6590: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
65a0: 38 33 36 2c 0a 20 2f 2a 20 20 20 20 35 30 20 2a  836,. /*    50 *
65b0: 2f 20 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  /   836,  836,  
65c0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
65d0: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
65e0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 0a 20  6,  836,  836,. 
65f0: 2f 2a 20 20 20 20 36 30 20 2a 2f 20 20 20 38 33  /*    60 */   83
6600: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6610: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6620: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6630: 36 2c 20 20 38 33 36 2c 0a 20 2f 2a 20 20 20 20  6,  836,. /*    
6640: 37 30 20 2a 2f 20 20 20 38 33 36 2c 20 20 38 33  70 */   836,  83
6650: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6660: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6670: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6680: 36 2c 0a 20 2f 2a 20 20 20 20 38 30 20 2a 2f 20  6,. /*    80 */ 
6690: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
66a0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
66b0: 39 38 32 2c 20 20 39 38 32 2c 20 20 38 33 36 2c  982,  982,  836,
66c0: 20 20 38 33 36 2c 20 20 38 33 36 2c 0a 20 2f 2a    836,  836,. /*
66d0: 20 20 20 20 39 30 20 2a 2f 20 20 20 39 38 32 2c      90 */   982,
66e0: 20 20 39 38 32 2c 20 20 39 38 32 2c 20 20 39 38    982,  982,  98
66f0: 32 2c 20 20 39 37 35 2c 20 20 39 37 35 2c 20 20  2,  975,  975,  
6700: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6710: 20 20 39 37 35 2c 0a 20 2f 2a 20 20 20 31 30 30    975,. /*   100
6720: 20 2a 2f 20 20 20 39 37 35 2c 20 20 39 37 35 2c   */   975,  975,
6730: 20 20 39 37 35 2c 20 20 39 35 38 2c 20 20 38 33    975,  958,  83
6740: 36 2c 20 20 38 33 36 2c 20 20 39 35 38 2c 20 20  6,  836,  958,  
6750: 39 35 35 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  955,  836,  836,
6760: 0a 20 2f 2a 20 20 20 31 31 30 20 2a 2f 20 20 20  . /*   110 */   
6770: 39 35 35 2c 20 20 39 34 30 2c 20 20 38 33 36 2c  955,  940,  836,
6780: 20 20 38 33 36 2c 20 20 39 34 30 2c 20 20 39 33    836,  940,  93
6790: 37 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  7,  836,  836,  
67a0: 39 33 37 2c 20 20 38 37 34 2c 0a 20 2f 2a 20 20  937,  874,. /*  
67b0: 20 31 32 30 20 2a 2f 20 20 20 38 37 32 2c 20 20   120 */   872,  
67c0: 39 30 38 2c 20 20 38 37 34 2c 20 20 38 33 36 2c  908,  874,  836,
67d0: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
67e0: 36 2c 20 20 38 33 36 2c 20 20 39 30 38 2c 20 20  6,  836,  908,  
67f0: 39 30 35 2c 0a 20 2f 2a 20 20 20 31 33 30 20 2a  905,. /*   130 *
6800: 2f 20 20 20 38 37 32 2c 20 20 38 33 36 2c 20 20  /   872,  836,  
6810: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6820: 20 20 38 33 36 2c 20 20 39 30 35 2c 20 20 38 37    836,  905,  87
6830: 34 2c 20 20 38 33 36 2c 20 20 38 37 34 2c 0a 20  4,  836,  874,. 
6840: 2f 2a 20 20 20 31 34 30 20 2a 2f 20 20 20 38 33  /*   140 */   83
6850: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6860: 38 37 32 2c 20 20 38 33 36 2c 20 20 38 37 32 2c  872,  836,  872,
6870: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6880: 36 2c 20 20 38 33 36 2c 0a 20 2f 2a 20 20 20 31  6,  836,. /*   1
6890: 35 30 20 2a 2f 20 20 20 38 33 36 2c 20 20 38 33  50 */   836,  83
68a0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
68b0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
68c0: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
68d0: 36 2c 0a 20 2f 2a 20 20 20 31 36 30 20 2a 2f 20  6,. /*   160 */ 
68e0: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
68f0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6900: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6910: 20 20 38 33 36 2c 20 20 38 33 36 2c 0a 20 2f 2a    836,  836,. /*
6920: 20 20 20 31 37 30 20 2a 2f 20 20 20 38 33 36 2c     170 */   836,
6930: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6940: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6950: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6960: 20 20 38 33 36 2c 0a 20 2f 2a 20 20 20 31 38 30    836,. /*   180
6970: 20 2a 2f 20 20 20 38 33 36 2c 20 20 38 33 36 2c   */   836,  836,
6980: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6990: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
69a0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
69b0: 0a 20 2f 2a 20 20 20 31 39 30 20 2a 2f 20 20 20  . /*   190 */   
69c0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
69d0: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
69e0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
69f0: 38 33 36 2c 20 20 38 33 36 2c 0a 20 2f 2a 20 20  836,  836,. /*  
6a00: 20 32 30 30 20 2a 2f 20 20 20 38 33 36 2c 20 20   200 */   836,  
6a10: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6a20: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6a30: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6a40: 38 33 36 2c 0a 20 2f 2a 20 20 20 32 31 30 20 2a  836,. /*   210 *
6a50: 2f 20 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  /   836,  836,  
6a60: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6a70: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6a80: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 0a 20  6,  836,  836,. 
6a90: 2f 2a 20 20 20 32 32 30 20 2a 2f 20 20 20 38 33  /*   220 */   83
6aa0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6ab0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6ac0: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6ad0: 36 2c 20 20 38 33 36 2c 0a 20 2f 2a 20 20 20 32  6,  836,. /*   2
6ae0: 33 30 20 2a 2f 20 20 20 38 33 36 2c 20 20 38 33  30 */   836,  83
6af0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6b00: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6b10: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6b20: 36 2c 0a 20 2f 2a 20 20 20 32 34 30 20 2a 2f 20  6,. /*   240 */ 
6b30: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6b40: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6b50: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6b60: 20 20 38 33 36 2c 20 20 38 33 36 2c 0a 20 2f 2a    836,  836,. /*
6b70: 20 20 20 32 35 30 20 2a 2f 20 20 20 38 33 36 2c     250 */   836,
6b80: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6b90: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6ba0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6bb0: 20 20 38 33 36 2c 0a 20 2f 2a 20 20 20 32 36 30    836,. /*   260
6bc0: 20 2a 2f 20 20 20 38 33 36 2c 20 20 38 33 36 2c   */   836,  836,
6bd0: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6be0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6bf0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6c00: 0a 20 2f 2a 20 20 20 32 37 30 20 2a 2f 20 20 20  . /*   270 */   
6c10: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6c20: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6c30: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6c40: 38 33 36 2c 20 20 38 33 36 2c 0a 20 2f 2a 20 20  836,  836,. /*  
6c50: 20 32 38 30 20 2a 2f 20 20 20 38 33 36 2c 20 20   280 */   836,  
6c60: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6c70: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6c80: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6c90: 38 33 36 2c 0a 20 2f 2a 20 20 20 32 39 30 20 2a  836,. /*   290 *
6ca0: 2f 20 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  /   836,  836,  
6cb0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6cc0: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6cd0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 0a 20  6,  836,  836,. 
6ce0: 2f 2a 20 20 20 33 30 30 20 2a 2f 20 20 20 38 33  /*   300 */   83
6cf0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6d00: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6d10: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6d20: 36 2c 20 20 38 33 36 2c 0a 20 2f 2a 20 20 20 33  6,  836,. /*   3
6d30: 31 30 20 2a 2f 20 20 20 38 33 36 2c 20 20 38 33  10 */   836,  83
6d40: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6d50: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6d60: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6d70: 36 2c 0a 20 2f 2a 20 20 20 33 32 30 20 2a 2f 20  6,. /*   320 */ 
6d80: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6d90: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6da0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6db0: 20 20 38 33 36 2c 20 20 38 33 36 2c 0a 20 2f 2a    836,  836,. /*
6dc0: 20 20 20 33 33 30 20 2a 2f 20 20 20 38 33 36 2c     330 */   836,
6dd0: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6de0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6df0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6e00: 20 20 38 33 36 2c 0a 20 2f 2a 20 20 20 33 34 30    836,. /*   340
6e10: 20 2a 2f 20 20 20 38 33 36 2c 20 20 38 33 36 2c   */   836,  836,
6e20: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6e30: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6e40: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6e50: 0a 20 2f 2a 20 20 20 33 35 30 20 2a 2f 20 20 20  . /*   350 */   
6e60: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6e70: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6e80: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6e90: 38 33 36 2c 20 20 38 33 36 2c 0a 20 2f 2a 20 20  836,  836,. /*  
6ea0: 20 33 36 30 20 2a 2f 20 20 20 38 33 36 2c 20 20   360 */   836,  
6eb0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6ec0: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6ed0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6ee0: 38 33 36 2c 0a 20 2f 2a 20 20 20 33 37 30 20 2a  836,. /*   370 *
6ef0: 2f 20 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  /   836,  836,  
6f00: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6f10: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6f20: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 0a 20  6,  836,  836,. 
6f30: 2f 2a 20 20 20 33 38 30 20 2a 2f 20 20 20 38 33  /*   380 */   83
6f40: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6f50: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6f60: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6f70: 36 2c 20 20 38 33 36 2c 0a 20 2f 2a 20 20 20 33  6,  836,. /*   3
6f80: 39 30 20 2a 2f 20 20 20 38 33 36 2c 20 20 38 33  90 */   836,  83
6f90: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6fa0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
6fb0: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6fc0: 36 2c 0a 20 2f 2a 20 20 20 34 30 30 20 2a 2f 20  6,. /*   400 */ 
6fd0: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
6fe0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
6ff0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
7000: 20 20 38 33 36 2c 20 20 38 33 36 2c 0a 20 2f 2a    836,  836,. /*
7010: 20 20 20 34 31 30 20 2a 2f 20 20 20 38 33 36 2c     410 */   836,
7020: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
7030: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
7040: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
7050: 20 20 38 33 36 2c 0a 20 2f 2a 20 20 20 34 32 30    836,. /*   420
7060: 20 2a 2f 20 20 20 38 33 36 2c 20 20 38 33 36 2c   */   836,  836,
7070: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
7080: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
7090: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
70a0: 0a 20 2f 2a 20 20 20 34 33 30 20 2a 2f 20 20 20  . /*   430 */   
70b0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
70c0: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
70d0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
70e0: 38 33 36 2c 20 20 38 33 36 2c 0a 20 2f 2a 20 20  836,  836,. /*  
70f0: 20 34 34 30 20 2a 2f 20 20 20 38 33 36 2c 20 20   440 */   836,  
7100: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
7110: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
7120: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
7130: 38 33 36 2c 0a 20 2f 2a 20 20 20 34 35 30 20 2a  836,. /*   450 *
7140: 2f 20 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  /   836,  836,  
7150: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
7160: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
7170: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 0a 20  6,  836,  836,. 
7180: 2f 2a 20 20 20 34 36 30 20 2a 2f 20 20 20 38 33  /*   460 */   83
7190: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
71a0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
71b0: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
71c0: 36 2c 20 20 38 33 36 2c 0a 20 2f 2a 20 20 20 34  6,  836,. /*   4
71d0: 37 30 20 2a 2f 20 20 20 38 33 36 2c 20 20 38 33  70 */   836,  83
71e0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
71f0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
7200: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
7210: 36 2c 0a 20 2f 2a 20 20 20 34 38 30 20 2a 2f 20  6,. /*   480 */ 
7220: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
7230: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
7240: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
7250: 20 20 38 33 36 2c 20 20 38 33 36 2c 0a 20 2f 2a    836,  836,. /*
7260: 20 20 20 34 39 30 20 2a 2f 20 20 20 38 33 36 2c     490 */   836,
7270: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
7280: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
7290: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
72a0: 20 20 38 33 36 2c 0a 20 2f 2a 20 20 20 35 30 30    836,. /*   500
72b0: 20 2a 2f 20 20 20 38 33 36 2c 20 20 38 33 36 2c   */   836,  836,
72c0: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
72d0: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
72e0: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
72f0: 0a 20 2f 2a 20 20 20 35 31 30 20 2a 2f 20 20 20  . /*   510 */   
7300: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
7310: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
7320: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
7330: 38 33 36 2c 20 20 38 33 36 2c 0a 20 2f 2a 20 20  836,  836,. /*  
7340: 20 35 32 30 20 2a 2f 20 20 20 38 33 36 2c 20 20   520 */   836,  
7350: 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c  836,  836,  836,
7360: 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20 38 33    836,  836,  83
7370: 36 2c 20 20 38 33 36 2c 20 20 38 33 36 2c 20 20  6,  836,  836,  
7380: 38 33 36 2c 0a 7d 3b 0a 2f 2a 2a 2a 2a 2a 2a 2a  836,.};./*******
7390: 2a 2a 2a 20 45 6e 64 20 6f 66 20 6c 65 6d 6f 6e  *** End of lemon
73a0: 2d 67 65 6e 65 72 61 74 65 64 20 70 61 72 73 69  -generated parsi
73b0: 6e 67 20 74 61 62 6c 65 73 20 2a 2a 2a 2a 2a 2a  ng tables ******
73c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
73d0: 2a 2a 2a 2a 2a 2a 2a 2f 0a 0a 2f 2a 20 54 68 65  *******/../* The
73e0: 20 6e 65 78 74 20 74 61 62 6c 65 20 6d 61 70 73   next table maps
73f0: 20 74 6f 6b 65 6e 73 20 28 74 65 72 6d 69 6e 61   tokens (termina
7400: 6c 20 73 79 6d 62 6f 6c 73 29 20 69 6e 74 6f 20  l symbols) into 
7410: 66 61 6c 6c 62 61 63 6b 20 74 6f 6b 65 6e 73 2e  fallback tokens.
7420: 20 20 0a 2a 2a 20 49 66 20 61 20 63 6f 6e 73 74    .** If a const
7430: 72 75 63 74 20 6c 69 6b 65 20 74 68 65 20 66 6f  ruct like the fo
7440: 6c 6c 6f 77 69 6e 67 3a 0a 2a 2a 20 0a 2a 2a 20  llowing:.** .** 
7450: 20 20 20 20 20 25 66 61 6c 6c 62 61 63 6b 20 49       %fallback I
7460: 44 20 58 20 59 20 5a 2e 0a 2a 2a 0a 2a 2a 20 61  D X Y Z..**.** a
7470: 70 70 65 61 72 73 20 69 6e 20 74 68 65 20 67 72  ppears in the gr
7480: 61 6d 6d 61 72 2c 20 74 68 65 6e 20 49 44 20 62  ammar, then ID b
7490: 65 63 6f 6d 65 73 20 61 20 66 61 6c 6c 62 61 63  ecomes a fallbac
74a0: 6b 20 74 6f 6b 65 6e 20 66 6f 72 20 58 2c 20 59  k token for X, Y
74b0: 2c 0a 2a 2a 20 61 6e 64 20 5a 2e 20 20 57 68 65  ,.** and Z.  Whe
74c0: 6e 65 76 65 72 20 6f 6e 65 20 6f 66 20 74 68 65  never one of the
74d0: 20 74 6f 6b 65 6e 73 20 58 2c 20 59 2c 20 6f 72   tokens X, Y, or
74e0: 20 5a 20 69 73 20 69 6e 70 75 74 20 74 6f 20 74   Z is input to t
74f0: 68 65 20 70 61 72 73 65 72 0a 2a 2a 20 62 75 74  he parser.** but
7500: 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 70 61 72   it does not par
7510: 73 65 2c 20 74 68 65 20 74 79 70 65 20 6f 66 20  se, the type of 
7520: 74 68 65 20 74 6f 6b 65 6e 20 69 73 20 63 68 61  the token is cha
7530: 6e 67 65 64 20 74 6f 20 49 44 20 61 6e 64 0a 2a  nged to ID and.*
7540: 2a 20 74 68 65 20 70 61 72 73 65 20 69 73 20 72  * the parse is r
7550: 65 74 72 69 65 64 20 62 65 66 6f 72 65 20 61 6e  etried before an
7560: 20 65 72 72 6f 72 20 69 73 20 74 68 72 6f 77 6e   error is thrown
7570: 2e 0a 2a 2a 0a 2a 2a 20 54 68 69 73 20 66 65 61  ..**.** This fea
7580: 74 75 72 65 20 63 61 6e 20 62 65 20 75 73 65 64  ture can be used
7590: 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74  , for example, t
75a0: 6f 20 63 61 75 73 65 20 73 6f 6d 65 20 6b 65 79  o cause some key
75b0: 77 6f 72 64 73 20 69 6e 20 61 20 6c 61 6e 67 75  words in a langu
75c0: 61 67 65 0a 2a 2a 20 74 6f 20 72 65 76 65 72 74  age.** to revert
75d0: 20 74 6f 20 69 64 65 6e 74 69 66 69 65 72 73 20   to identifiers 
75e0: 69 66 20 74 68 65 79 20 6b 65 79 77 6f 72 64 20  if they keyword 
75f0: 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 69  does not apply i
7600: 6e 20 74 68 65 20 63 6f 6e 74 65 78 74 20 77 68  n the context wh
7610: 65 72 65 0a 2a 2a 20 69 74 20 61 70 70 65 61 72  ere.** it appear
7620: 73 2e 0a 2a 2f 0a 23 69 66 64 65 66 20 59 59 46  s..*/.#ifdef YYF
7630: 41 4c 4c 42 41 43 4b 0a 73 74 61 74 69 63 20 63  ALLBACK.static c
7640: 6f 6e 73 74 20 59 59 43 4f 44 45 54 59 50 45 20  onst YYCODETYPE 
7650: 79 79 46 61 6c 6c 62 61 63 6b 5b 5d 20 3d 20 7b  yyFallback[] = {
7660: 0a 7d 3b 0a 23 65 6e 64 69 66 20 2f 2a 20 59 59  .};.#endif /* YY
7670: 46 41 4c 4c 42 41 43 4b 20 2a 2f 0a 0a 2f 2a 20  FALLBACK */../* 
7680: 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 74  The following st
7690: 72 75 63 74 75 72 65 20 72 65 70 72 65 73 65 6e  ructure represen
76a0: 74 73 20 61 20 73 69 6e 67 6c 65 20 65 6c 65 6d  ts a single elem
76b0: 65 6e 74 20 6f 66 20 74 68 65 0a 2a 2a 20 70 61  ent of the.** pa
76c0: 72 73 65 72 27 73 20 73 74 61 63 6b 2e 20 20 49  rser's stack.  I
76d0: 6e 66 6f 72 6d 61 74 69 6f 6e 20 73 74 6f 72 65  nformation store
76e0: 64 20 69 6e 63 6c 75 64 65 73 3a 0a 2a 2a 0a 2a  d includes:.**.*
76f0: 2a 20 20 20 2b 20 20 54 68 65 20 73 74 61 74 65  *   +  The state
7700: 20 6e 75 6d 62 65 72 20 66 6f 72 20 74 68 65 20   number for the 
7710: 70 61 72 73 65 72 20 61 74 20 74 68 69 73 20 6c  parser at this l
7720: 65 76 65 6c 20 6f 66 20 74 68 65 20 73 74 61 63  evel of the stac
7730: 6b 2e 0a 2a 2a 0a 2a 2a 20 20 20 2b 20 20 54 68  k..**.**   +  Th
7740: 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 74  e value of the t
7750: 6f 6b 65 6e 20 73 74 6f 72 65 64 20 61 74 20 74  oken stored at t
7760: 68 69 73 20 6c 65 76 65 6c 20 6f 66 20 74 68 65  his level of the
7770: 20 73 74 61 63 6b 2e 0a 2a 2a 20 20 20 20 20 20   stack..**      
7780: 28 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c  (In other words,
7790: 20 74 68 65 20 22 6d 61 6a 6f 72 22 20 74 6f 6b   the "major" tok
77a0: 65 6e 2e 29 0a 2a 2a 0a 2a 2a 20 20 20 2b 20 20  en.).**.**   +  
77b0: 54 68 65 20 73 65 6d 61 6e 74 69 63 20 76 61 6c  The semantic val
77c0: 75 65 20 73 74 6f 72 65 64 20 61 74 20 74 68 69  ue stored at thi
77d0: 73 20 6c 65 76 65 6c 20 6f 66 20 74 68 65 20 73  s level of the s
77e0: 74 61 63 6b 2e 20 20 54 68 69 73 20 69 73 0a 2a  tack.  This is.*
77f0: 2a 20 20 20 20 20 20 74 68 65 20 69 6e 66 6f 72  *      the infor
7800: 6d 61 74 69 6f 6e 20 75 73 65 64 20 62 79 20 74  mation used by t
7810: 68 65 20 61 63 74 69 6f 6e 20 72 6f 75 74 69 6e  he action routin
7820: 65 73 20 69 6e 20 74 68 65 20 67 72 61 6d 6d 61  es in the gramma
7830: 72 2e 0a 2a 2a 20 20 20 20 20 20 49 74 20 69 73  r..**      It is
7840: 20 73 6f 6d 65 74 69 6d 65 73 20 63 61 6c 6c 65   sometimes calle
7850: 64 20 74 68 65 20 22 6d 69 6e 6f 72 22 20 74 6f  d the "minor" to
7860: 6b 65 6e 2e 0a 2a 2a 0a 2a 2a 20 41 66 74 65 72  ken..**.** After
7870: 20 74 68 65 20 22 73 68 69 66 74 22 20 68 61 6c   the "shift" hal
7880: 66 20 6f 66 20 61 20 53 48 49 46 54 52 45 44 55  f of a SHIFTREDU
7890: 43 45 20 61 63 74 69 6f 6e 2c 20 74 68 65 20 73  CE action, the s
78a0: 74 61 74 65 6e 6f 20 66 69 65 6c 64 0a 2a 2a 20  tateno field.** 
78b0: 61 63 74 75 61 6c 6c 79 20 63 6f 6e 74 61 69 6e  actually contain
78c0: 73 20 74 68 65 20 72 65 64 75 63 65 20 61 63 74  s the reduce act
78d0: 69 6f 6e 20 66 6f 72 20 74 68 65 20 73 65 63 6f  ion for the seco
78e0: 6e 64 20 68 61 6c 66 20 6f 66 20 74 68 65 0a 2a  nd half of the.*
78f0: 2a 20 53 48 49 46 54 52 45 44 55 43 45 2e 0a 2a  * SHIFTREDUCE..*
7900: 2f 0a 73 74 72 75 63 74 20 79 79 53 74 61 63 6b  /.struct yyStack
7910: 45 6e 74 72 79 20 7b 0a 20 20 59 59 41 43 54 49  Entry {.  YYACTI
7920: 4f 4e 54 59 50 45 20 73 74 61 74 65 6e 6f 3b 20  ONTYPE stateno; 
7930: 20 2f 2a 20 54 68 65 20 73 74 61 74 65 2d 6e 75   /* The state-nu
7940: 6d 62 65 72 2c 20 6f 72 20 72 65 64 75 63 65 20  mber, or reduce 
7950: 61 63 74 69 6f 6e 20 69 6e 20 53 48 49 46 54 52  action in SHIFTR
7960: 45 44 55 43 45 20 2a 2f 0a 20 20 59 59 43 4f 44  EDUCE */.  YYCOD
7970: 45 54 59 50 45 20 6d 61 6a 6f 72 3b 20 20 20 20  ETYPE major;    
7980: 20 20 2f 2a 20 54 68 65 20 6d 61 6a 6f 72 20 74    /* The major t
7990: 6f 6b 65 6e 20 76 61 6c 75 65 2e 20 20 54 68 69  oken value.  Thi
79a0: 73 20 69 73 20 74 68 65 20 63 6f 64 65 0a 20 20  s is the code.  
79b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
79c0: 20 20 20 20 20 20 20 2a 2a 20 6e 75 6d 62 65 72         ** number
79d0: 20 66 6f 72 20 74 68 65 20 74 6f 6b 65 6e 20 61   for the token a
79e0: 74 20 74 68 69 73 20 73 74 61 63 6b 20 6c 65 76  t this stack lev
79f0: 65 6c 20 2a 2f 0a 20 20 59 59 4d 49 4e 4f 52 54  el */.  YYMINORT
7a00: 59 50 45 20 6d 69 6e 6f 72 3b 20 20 20 20 20 2f  YPE minor;     /
7a10: 2a 20 54 68 65 20 75 73 65 72 2d 73 75 70 70 6c  * The user-suppl
7a20: 69 65 64 20 6d 69 6e 6f 72 20 74 6f 6b 65 6e 20  ied minor token 
7a30: 76 61 6c 75 65 2e 20 20 54 68 69 73 0a 20 20 20  value.  This.   
7a40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7a50: 20 20 20 20 20 20 2a 2a 20 69 73 20 74 68 65 20        ** is the 
7a60: 76 61 6c 75 65 20 6f 66 20 74 68 65 20 74 6f 6b  value of the tok
7a70: 65 6e 20 20 2a 2f 0a 7d 3b 0a 74 79 70 65 64 65  en  */.};.typede
7a80: 66 20 73 74 72 75 63 74 20 79 79 53 74 61 63 6b  f struct yyStack
7a90: 45 6e 74 72 79 20 79 79 53 74 61 63 6b 45 6e 74  Entry yyStackEnt
7aa0: 72 79 3b 0a 0a 2f 2a 20 54 68 65 20 73 74 61 74  ry;../* The stat
7ab0: 65 20 6f 66 20 74 68 65 20 70 61 72 73 65 72 20  e of the parser 
7ac0: 69 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20 63 6f  is completely co
7ad0: 6e 74 61 69 6e 65 64 20 69 6e 20 61 6e 20 69 6e  ntained in an in
7ae0: 73 74 61 6e 63 65 20 6f 66 0a 2a 2a 20 74 68 65  stance of.** the
7af0: 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 74 72 75 63   following struc
7b00: 74 75 72 65 20 2a 2f 0a 73 74 72 75 63 74 20 79  ture */.struct y
7b10: 79 50 61 72 73 65 72 20 7b 0a 20 20 79 79 53 74  yParser {.  yySt
7b20: 61 63 6b 45 6e 74 72 79 20 2a 79 79 74 6f 73 3b  ackEntry *yytos;
7b30: 20 20 20 20 20 20 20 20 20 20 2f 2a 20 50 6f 69            /* Poi
7b40: 6e 74 65 72 20 74 6f 20 74 6f 70 20 65 6c 65 6d  nter to top elem
7b50: 65 6e 74 20 6f 66 20 74 68 65 20 73 74 61 63 6b  ent of the stack
7b60: 20 2a 2f 0a 23 69 66 64 65 66 20 59 59 54 52 41   */.#ifdef YYTRA
7b70: 43 4b 4d 41 58 53 54 41 43 4b 44 45 50 54 48 0a  CKMAXSTACKDEPTH.
7b80: 20 20 69 6e 74 20 79 79 68 77 6d 3b 20 20 20 20    int yyhwm;    
7b90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7ba0: 2f 2a 20 48 69 67 68 2d 77 61 74 65 72 20 6d 61  /* High-water ma
7bb0: 72 6b 20 6f 66 20 74 68 65 20 73 74 61 63 6b 20  rk of the stack 
7bc0: 2a 2f 0a 23 65 6e 64 69 66 0a 23 69 66 6e 64 65  */.#endif.#ifnde
7bd0: 66 20 59 59 4e 4f 45 52 52 4f 52 52 45 43 4f 56  f YYNOERRORRECOV
7be0: 45 52 59 0a 20 20 69 6e 74 20 79 79 65 72 72 63  ERY.  int yyerrc
7bf0: 6e 74 3b 20 20 20 20 20 20 20 20 20 20 20 20 20  nt;             
7c00: 20 20 20 20 2f 2a 20 53 68 69 66 74 73 20 6c 65      /* Shifts le
7c10: 66 74 20 62 65 66 6f 72 65 20 6f 75 74 20 6f 66  ft before out of
7c20: 20 74 68 65 20 65 72 72 6f 72 20 2a 2f 0a 23 65   the error */.#e
7c30: 6e 64 69 66 0a 20 20 50 61 72 73 65 41 52 47 5f  ndif.  ParseARG_
7c40: 53 44 45 43 4c 20 20 20 20 20 20 20 20 20 20 20  SDECL           
7c50: 20 20 20 20 20 2f 2a 20 41 20 70 6c 61 63 65 20       /* A place 
7c60: 74 6f 20 68 6f 6c 64 20 25 65 78 74 72 61 5f 61  to hold %extra_a
7c70: 72 67 75 6d 65 6e 74 20 2a 2f 0a 23 69 66 20 59  rgument */.#if Y
7c80: 59 53 54 41 43 4b 44 45 50 54 48 3c 3d 30 0a 20  YSTACKDEPTH<=0. 
7c90: 20 69 6e 74 20 79 79 73 74 6b 73 7a 3b 20 20 20   int yystksz;   
7ca0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f                 /
7cb0: 2a 20 43 75 72 72 65 6e 74 20 73 69 64 65 20 6f  * Current side o
7cc0: 66 20 74 68 65 20 73 74 61 63 6b 20 2a 2f 0a 20  f the stack */. 
7cd0: 20 79 79 53 74 61 63 6b 45 6e 74 72 79 20 2a 79   yyStackEntry *y
7ce0: 79 73 74 61 63 6b 3b 20 20 20 20 20 20 20 20 2f  ystack;        /
7cf0: 2a 20 54 68 65 20 70 61 72 73 65 72 27 73 20 73  * The parser's s
7d00: 74 61 63 6b 20 2a 2f 0a 20 20 79 79 53 74 61 63  tack */.  yyStac
7d10: 6b 45 6e 74 72 79 20 79 79 73 74 6b 30 3b 20 20  kEntry yystk0;  
7d20: 20 20 20 20 20 20 20 20 2f 2a 20 46 69 72 73 74          /* First
7d30: 20 73 74 61 63 6b 20 65 6e 74 72 79 20 2a 2f 0a   stack entry */.
7d40: 23 65 6c 73 65 0a 20 20 79 79 53 74 61 63 6b 45  #else.  yyStackE
7d50: 6e 74 72 79 20 79 79 73 74 61 63 6b 5b 59 59 53  ntry yystack[YYS
7d60: 54 41 43 4b 44 45 50 54 48 5d 3b 20 20 2f 2a 20  TACKDEPTH];  /* 
7d70: 54 68 65 20 70 61 72 73 65 72 27 73 20 73 74 61  The parser's sta
7d80: 63 6b 20 2a 2f 0a 20 20 79 79 53 74 61 63 6b 45  ck */.  yyStackE
7d90: 6e 74 72 79 20 2a 79 79 73 74 61 63 6b 45 6e 64  ntry *yystackEnd
7da0: 3b 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20  ;            /* 
7db0: 4c 61 73 74 20 65 6e 74 72 79 20 69 6e 20 74 68  Last entry in th
7dc0: 65 20 73 74 61 63 6b 20 2a 2f 0a 23 65 6e 64 69  e stack */.#endi
7dd0: 66 0a 7d 3b 0a 74 79 70 65 64 65 66 20 73 74 72  f.};.typedef str
7de0: 75 63 74 20 79 79 50 61 72 73 65 72 20 79 79 50  uct yyParser yyP
7df0: 61 72 73 65 72 3b 0a 0a 23 69 66 6e 64 65 66 20  arser;..#ifndef 
7e00: 4e 44 45 42 55 47 0a 23 69 6e 63 6c 75 64 65 20  NDEBUG.#include 
7e10: 3c 73 74 64 69 6f 2e 68 3e 0a 73 74 61 74 69 63  <stdio.h>.static
7e20: 20 46 49 4c 45 20 2a 79 79 54 72 61 63 65 46 49   FILE *yyTraceFI
7e30: 4c 45 20 3d 20 30 3b 0a 73 74 61 74 69 63 20 63  LE = 0;.static c
7e40: 68 61 72 20 2a 79 79 54 72 61 63 65 50 72 6f 6d  har *yyTraceProm
7e50: 70 74 20 3d 20 30 3b 0a 23 65 6e 64 69 66 20 2f  pt = 0;.#endif /
7e60: 2a 20 4e 44 45 42 55 47 20 2a 2f 0a 0a 23 69 66  * NDEBUG */..#if
7e70: 6e 64 65 66 20 4e 44 45 42 55 47 0a 2f 2a 20 0a  ndef NDEBUG./* .
7e80: 2a 2a 20 54 75 72 6e 20 70 61 72 73 65 72 20 74  ** Turn parser t
7e90: 72 61 63 69 6e 67 20 6f 6e 20 62 79 20 67 69 76  racing on by giv
7ea0: 69 6e 67 20 61 20 73 74 72 65 61 6d 20 74 6f 20  ing a stream to 
7eb0: 77 68 69 63 68 20 74 6f 20 77 72 69 74 65 20 74  which to write t
7ec0: 68 65 20 74 72 61 63 65 0a 2a 2a 20 61 6e 64 20  he trace.** and 
7ed0: 61 20 70 72 6f 6d 70 74 20 74 6f 20 70 72 65 66  a prompt to pref
7ee0: 61 63 65 20 65 61 63 68 20 74 72 61 63 65 20 6d  ace each trace m
7ef0: 65 73 73 61 67 65 2e 20 20 54 72 61 63 69 6e 67  essage.  Tracing
7f00: 20 69 73 20 74 75 72 6e 65 64 20 6f 66 66 0a 2a   is turned off.*
7f10: 2a 20 62 79 20 6d 61 6b 69 6e 67 20 65 69 74 68  * by making eith
7f20: 65 72 20 61 72 67 75 6d 65 6e 74 20 4e 55 4c 4c  er argument NULL
7f30: 20 0a 2a 2a 0a 2a 2a 20 49 6e 70 75 74 73 3a 0a   .**.** Inputs:.
7f40: 2a 2a 20 3c 75 6c 3e 0a 2a 2a 20 3c 6c 69 3e 20  ** <ul>.** <li> 
7f50: 41 20 46 49 4c 45 2a 20 74 6f 20 77 68 69 63 68  A FILE* to which
7f60: 20 74 72 61 63 65 20 6f 75 74 70 75 74 20 73 68   trace output sh
7f70: 6f 75 6c 64 20 62 65 20 77 72 69 74 74 65 6e 2e  ould be written.
7f80: 0a 2a 2a 20 20 20 20 20 20 49 66 20 4e 55 4c 4c  .**      If NULL
7f90: 2c 20 74 68 65 6e 20 74 72 61 63 69 6e 67 20 69  , then tracing i
7fa0: 73 20 74 75 72 6e 65 64 20 6f 66 66 2e 0a 2a 2a  s turned off..**
7fb0: 20 3c 6c 69 3e 20 41 20 70 72 65 66 69 78 20 73   <li> A prefix s
7fc0: 74 72 69 6e 67 20 77 72 69 74 74 65 6e 20 61 74  tring written at
7fd0: 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f   the beginning o
7fe0: 66 20 65 76 65 72 79 0a 2a 2a 20 20 20 20 20 20  f every.**      
7ff0: 6c 69 6e 65 20 6f 66 20 74 72 61 63 65 20 6f 75  line of trace ou
8000: 74 70 75 74 2e 20 20 49 66 20 4e 55 4c 4c 2c 20  tput.  If NULL, 
8010: 74 68 65 6e 20 74 72 61 63 69 6e 67 20 69 73 0a  then tracing is.
8020: 2a 2a 20 20 20 20 20 20 74 75 72 6e 65 64 20 6f  **      turned o
8030: 66 66 2e 0a 2a 2a 20 3c 2f 75 6c 3e 0a 2a 2a 0a  ff..** </ul>.**.
8040: 2a 2a 20 4f 75 74 70 75 74 73 3a 0a 2a 2a 20 4e  ** Outputs:.** N
8050: 6f 6e 65 2e 0a 2a 2f 0a 76 6f 69 64 20 50 61 72  one..*/.void Par
8060: 73 65 54 72 61 63 65 28 46 49 4c 45 20 2a 54 72  seTrace(FILE *Tr
8070: 61 63 65 46 49 4c 45 2c 20 63 68 61 72 20 2a 7a  aceFILE, char *z
8080: 54 72 61 63 65 50 72 6f 6d 70 74 29 7b 0a 20 20  TracePrompt){.  
8090: 79 79 54 72 61 63 65 46 49 4c 45 20 3d 20 54 72  yyTraceFILE = Tr
80a0: 61 63 65 46 49 4c 45 3b 0a 20 20 79 79 54 72 61  aceFILE;.  yyTra
80b0: 63 65 50 72 6f 6d 70 74 20 3d 20 7a 54 72 61 63  cePrompt = zTrac
80c0: 65 50 72 6f 6d 70 74 3b 0a 20 20 69 66 28 20 79  ePrompt;.  if( y
80d0: 79 54 72 61 63 65 46 49 4c 45 3d 3d 30 20 29 20  yTraceFILE==0 ) 
80e0: 79 79 54 72 61 63 65 50 72 6f 6d 70 74 20 3d 20  yyTracePrompt = 
80f0: 30 3b 0a 20 20 65 6c 73 65 20 69 66 28 20 79 79  0;.  else if( yy
8100: 54 72 61 63 65 50 72 6f 6d 70 74 3d 3d 30 20 29  TracePrompt==0 )
8110: 20 79 79 54 72 61 63 65 46 49 4c 45 20 3d 20 30   yyTraceFILE = 0
8120: 3b 0a 7d 0a 23 65 6e 64 69 66 20 2f 2a 20 4e 44  ;.}.#endif /* ND
8130: 45 42 55 47 20 2a 2f 0a 0a 23 69 66 20 64 65 66  EBUG */..#if def
8140: 69 6e 65 64 28 59 59 43 4f 56 45 52 41 47 45 29  ined(YYCOVERAGE)
8150: 20 7c 7c 20 21 64 65 66 69 6e 65 64 28 4e 44 45   || !defined(NDE
8160: 42 55 47 29 0a 2f 2a 20 46 6f 72 20 74 72 61 63  BUG)./* For trac
8170: 69 6e 67 20 73 68 69 66 74 73 2c 20 74 68 65 20  ing shifts, the 
8180: 6e 61 6d 65 73 20 6f 66 20 61 6c 6c 20 74 65 72  names of all ter
8190: 6d 69 6e 61 6c 73 20 61 6e 64 20 6e 6f 6e 74 65  minals and nonte
81a0: 72 6d 69 6e 61 6c 73 0a 2a 2a 20 61 72 65 20 72  rminals.** are r
81b0: 65 71 75 69 72 65 64 2e 20 20 54 68 65 20 66 6f  equired.  The fo
81c0: 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 75  llowing table su
81d0: 70 70 6c 69 65 73 20 74 68 65 73 65 20 6e 61 6d  pplies these nam
81e0: 65 73 20 2a 2f 0a 73 74 61 74 69 63 20 63 6f 6e  es */.static con
81f0: 73 74 20 63 68 61 72 20 2a 63 6f 6e 73 74 20 79  st char *const y
8200: 79 54 6f 6b 65 6e 4e 61 6d 65 5b 5d 20 3d 20 7b  yTokenName[] = {
8210: 20 0a 20 20 2f 2a 20 20 20 20 30 20 2a 2f 20 22   .  /*    0 */ "
8220: 24 22 2c 0a 20 20 2f 2a 20 20 20 20 31 20 2a 2f  $",.  /*    1 */
8230: 20 22 47 45 4f 4a 53 4f 4e 5f 4e 45 57 4c 49 4e   "GEOJSON_NEWLIN
8240: 45 22 2c 0a 20 20 2f 2a 20 20 20 20 32 20 2a 2f  E",.  /*    2 */
8250: 20 22 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42   "GEOJSON_OPEN_B
8260: 52 41 43 45 22 2c 0a 20 20 2f 2a 20 20 20 20 33  RACE",.  /*    3
8270: 20 2a 2f 20 22 47 45 4f 4a 53 4f 4e 5f 54 59 50   */ "GEOJSON_TYP
8280: 45 22 2c 0a 20 20 2f 2a 20 20 20 20 34 20 2a 2f  E",.  /*    4 */
8290: 20 22 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 22   "GEOJSON_COLON"
82a0: 2c 0a 20 20 2f 2a 20 20 20 20 35 20 2a 2f 20 22  ,.  /*    5 */ "
82b0: 47 45 4f 4a 53 4f 4e 5f 50 4f 49 4e 54 22 2c 0a  GEOJSON_POINT",.
82c0: 20 20 2f 2a 20 20 20 20 36 20 2a 2f 20 22 47 45    /*    6 */ "GE
82d0: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 22 2c 0a 20 20  OJSON_COMMA",.  
82e0: 2f 2a 20 20 20 20 37 20 2a 2f 20 22 47 45 4f 4a  /*    7 */ "GEOJ
82f0: 53 4f 4e 5f 43 4f 4f 52 44 53 22 2c 0a 20 20 2f  SON_COORDS",.  /
8300: 2a 20 20 20 20 38 20 2a 2f 20 22 47 45 4f 4a 53  *    8 */ "GEOJS
8310: 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c  ON_CLOSE_BRACE",
8320: 0a 20 20 2f 2a 20 20 20 20 39 20 2a 2f 20 22 47  .  /*    9 */ "G
8330: 45 4f 4a 53 4f 4e 5f 42 42 4f 58 22 2c 0a 20 20  EOJSON_BBOX",.  
8340: 2f 2a 20 20 20 31 30 20 2a 2f 20 22 47 45 4f 4a  /*   10 */ "GEOJ
8350: 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54  SON_OPEN_BRACKET
8360: 22 2c 0a 20 20 2f 2a 20 20 20 31 31 20 2a 2f 20  ",.  /*   11 */ 
8370: 22 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42  "GEOJSON_CLOSE_B
8380: 52 41 43 4b 45 54 22 2c 0a 20 20 2f 2a 20 20 20  RACKET",.  /*   
8390: 31 32 20 2a 2f 20 22 47 45 4f 4a 53 4f 4e 5f 43  12 */ "GEOJSON_C
83a0: 52 53 22 2c 0a 20 20 2f 2a 20 20 20 31 33 20 2a  RS",.  /*   13 *
83b0: 2f 20 22 47 45 4f 4a 53 4f 4e 5f 4e 41 4d 45 22  / "GEOJSON_NAME"
83c0: 2c 0a 20 20 2f 2a 20 20 20 31 34 20 2a 2f 20 22  ,.  /*   14 */ "
83d0: 47 45 4f 4a 53 4f 4e 5f 50 52 4f 50 53 22 2c 0a  GEOJSON_PROPS",.
83e0: 20 20 2f 2a 20 20 20 31 35 20 2a 2f 20 22 47 45    /*   15 */ "GE
83f0: 4f 4a 53 4f 4e 5f 4e 55 4d 22 2c 0a 20 20 2f 2a  OJSON_NUM",.  /*
8400: 20 20 20 31 36 20 2a 2f 20 22 47 45 4f 4a 53 4f     16 */ "GEOJSO
8410: 4e 5f 53 48 4f 52 54 5f 53 52 49 44 22 2c 0a 20  N_SHORT_SRID",. 
8420: 20 2f 2a 20 20 20 31 37 20 2a 2f 20 22 47 45 4f   /*   17 */ "GEO
8430: 4a 53 4f 4e 5f 4c 4f 4e 47 5f 53 52 49 44 22 2c  JSON_LONG_SRID",
8440: 0a 20 20 2f 2a 20 20 20 31 38 20 2a 2f 20 22 47  .  /*   18 */ "G
8450: 45 4f 4a 53 4f 4e 5f 4c 49 4e 45 53 54 52 49 4e  EOJSON_LINESTRIN
8460: 47 22 2c 0a 20 20 2f 2a 20 20 20 31 39 20 2a 2f  G",.  /*   19 */
8470: 20 22 47 45 4f 4a 53 4f 4e 5f 50 4f 4c 59 47 4f   "GEOJSON_POLYGO
8480: 4e 22 2c 0a 20 20 2f 2a 20 20 20 32 30 20 2a 2f  N",.  /*   20 */
8490: 20 22 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50   "GEOJSON_MULTIP
84a0: 4f 49 4e 54 22 2c 0a 20 20 2f 2a 20 20 20 32 31  OINT",.  /*   21
84b0: 20 2a 2f 20 22 47 45 4f 4a 53 4f 4e 5f 4d 55 4c   */ "GEOJSON_MUL
84c0: 54 49 4c 49 4e 45 53 54 52 49 4e 47 22 2c 0a 20  TILINESTRING",. 
84d0: 20 2f 2a 20 20 20 32 32 20 2a 2f 20 22 47 45 4f   /*   22 */ "GEO
84e0: 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 4c 59 47 4f  JSON_MULTIPOLYGO
84f0: 4e 22 2c 0a 20 20 2f 2a 20 20 20 32 33 20 2a 2f  N",.  /*   23 */
8500: 20 22 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 45 54   "GEOJSON_GEOMET
8510: 52 59 43 4f 4c 4c 45 43 54 49 4f 4e 22 2c 0a 20  RYCOLLECTION",. 
8520: 20 2f 2a 20 20 20 32 34 20 2a 2f 20 22 47 45 4f   /*   24 */ "GEO
8530: 4a 53 4f 4e 5f 47 45 4f 4d 53 22 2c 0a 20 20 2f  JSON_GEOMS",.  /
8540: 2a 20 20 20 32 35 20 2a 2f 20 22 65 72 72 6f 72  *   25 */ "error
8550: 22 2c 0a 20 20 2f 2a 20 20 20 32 36 20 2a 2f 20  ",.  /*   26 */ 
8560: 22 6d 61 69 6e 22 2c 0a 20 20 2f 2a 20 20 20 32  "main",.  /*   2
8570: 37 20 2a 2f 20 22 69 6e 22 2c 0a 20 20 2f 2a 20  7 */ "in",.  /* 
8580: 20 20 32 38 20 2a 2f 20 22 73 74 61 74 65 22 2c    28 */ "state",
8590: 0a 20 20 2f 2a 20 20 20 32 39 20 2a 2f 20 22 70  .  /*   29 */ "p
85a0: 72 6f 67 72 61 6d 22 2c 0a 20 20 2f 2a 20 20 20  rogram",.  /*   
85b0: 33 30 20 2a 2f 20 22 67 65 6f 5f 74 65 78 74 22  30 */ "geo_text"
85c0: 2c 0a 20 20 2f 2a 20 20 20 33 31 20 2a 2f 20 22  ,.  /*   31 */ "
85d0: 70 6f 69 6e 74 22 2c 0a 20 20 2f 2a 20 20 20 33  point",.  /*   3
85e0: 32 20 2a 2f 20 22 70 6f 69 6e 74 7a 22 2c 0a 20  2 */ "pointz",. 
85f0: 20 2f 2a 20 20 20 33 33 20 2a 2f 20 22 6c 69 6e   /*   33 */ "lin
8600: 65 73 74 72 69 6e 67 22 2c 0a 20 20 2f 2a 20 20  estring",.  /*  
8610: 20 33 34 20 2a 2f 20 22 6c 69 6e 65 73 74 72 69   34 */ "linestri
8620: 6e 67 7a 22 2c 0a 20 20 2f 2a 20 20 20 33 35 20  ngz",.  /*   35 
8630: 2a 2f 20 22 70 6f 6c 79 67 6f 6e 22 2c 0a 20 20  */ "polygon",.  
8640: 2f 2a 20 20 20 33 36 20 2a 2f 20 22 70 6f 6c 79  /*   36 */ "poly
8650: 67 6f 6e 7a 22 2c 0a 20 20 2f 2a 20 20 20 33 37  gonz",.  /*   37
8660: 20 2a 2f 20 22 6d 75 6c 74 69 70 6f 69 6e 74 22   */ "multipoint"
8670: 2c 0a 20 20 2f 2a 20 20 20 33 38 20 2a 2f 20 22  ,.  /*   38 */ "
8680: 6d 75 6c 74 69 70 6f 69 6e 74 7a 22 2c 0a 20 20  multipointz",.  
8690: 2f 2a 20 20 20 33 39 20 2a 2f 20 22 6d 75 6c 74  /*   39 */ "mult
86a0: 69 6c 69 6e 65 73 74 72 69 6e 67 22 2c 0a 20 20  ilinestring",.  
86b0: 2f 2a 20 20 20 34 30 20 2a 2f 20 22 6d 75 6c 74  /*   40 */ "mult
86c0: 69 6c 69 6e 65 73 74 72 69 6e 67 7a 22 2c 0a 20  ilinestringz",. 
86d0: 20 2f 2a 20 20 20 34 31 20 2a 2f 20 22 6d 75 6c   /*   41 */ "mul
86e0: 74 69 70 6f 6c 79 67 6f 6e 22 2c 0a 20 20 2f 2a  tipolygon",.  /*
86f0: 20 20 20 34 32 20 2a 2f 20 22 6d 75 6c 74 69 70     42 */ "multip
8700: 6f 6c 79 67 6f 6e 7a 22 2c 0a 20 20 2f 2a 20 20  olygonz",.  /*  
8710: 20 34 33 20 2a 2f 20 22 67 65 6f 63 6f 6c 6c 22   43 */ "geocoll"
8720: 2c 0a 20 20 2f 2a 20 20 20 34 34 20 2a 2f 20 22  ,.  /*   44 */ "
8730: 67 65 6f 63 6f 6c 6c 7a 22 2c 0a 20 20 2f 2a 20  geocollz",.  /* 
8740: 20 20 34 35 20 2a 2f 20 22 70 6f 69 6e 74 5f 63    45 */ "point_c
8750: 6f 6f 72 64 78 79 22 2c 0a 20 20 2f 2a 20 20 20  oordxy",.  /*   
8760: 34 36 20 2a 2f 20 22 62 62 6f 78 22 2c 0a 20 20  46 */ "bbox",.  
8770: 2f 2a 20 20 20 34 37 20 2a 2f 20 22 73 68 6f 72  /*   47 */ "shor
8780: 74 5f 63 72 73 22 2c 0a 20 20 2f 2a 20 20 20 34  t_crs",.  /*   4
8790: 38 20 2a 2f 20 22 6c 6f 6e 67 5f 63 72 73 22 2c  8 */ "long_crs",
87a0: 0a 20 20 2f 2a 20 20 20 34 39 20 2a 2f 20 22 70  .  /*   49 */ "p
87b0: 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 7a 22 2c 0a  oint_coordxyz",.
87c0: 20 20 2f 2a 20 20 20 35 30 20 2a 2f 20 22 63 6f    /*   50 */ "co
87d0: 6f 72 64 22 2c 0a 20 20 2f 2a 20 20 20 35 31 20  ord",.  /*   51 
87e0: 2a 2f 20 22 73 68 6f 72 74 5f 73 72 69 64 22 2c  */ "short_srid",
87f0: 0a 20 20 2f 2a 20 20 20 35 32 20 2a 2f 20 22 6c  .  /*   52 */ "l
8800: 6f 6e 67 5f 73 72 69 64 22 2c 0a 20 20 2f 2a 20  ong_srid",.  /* 
8810: 20 20 35 33 20 2a 2f 20 22 65 78 74 72 61 5f 70    53 */ "extra_p
8820: 6f 69 6e 74 73 78 79 22 2c 0a 20 20 2f 2a 20 20  ointsxy",.  /*  
8830: 20 35 34 20 2a 2f 20 22 65 78 74 72 61 5f 70 6f   54 */ "extra_po
8840: 69 6e 74 73 78 79 7a 22 2c 0a 20 20 2f 2a 20 20  intsxyz",.  /*  
8850: 20 35 35 20 2a 2f 20 22 6c 69 6e 65 73 74 72 69   55 */ "linestri
8860: 6e 67 5f 74 65 78 74 22 2c 0a 20 20 2f 2a 20 20  ng_text",.  /*  
8870: 20 35 36 20 2a 2f 20 22 6c 69 6e 65 73 74 72 69   56 */ "linestri
8880: 6e 67 5f 74 65 78 74 7a 22 2c 0a 20 20 2f 2a 20  ng_textz",.  /* 
8890: 20 20 35 37 20 2a 2f 20 22 70 6f 6c 79 67 6f 6e    57 */ "polygon
88a0: 5f 74 65 78 74 22 2c 0a 20 20 2f 2a 20 20 20 35  _text",.  /*   5
88b0: 38 20 2a 2f 20 22 70 6f 6c 79 67 6f 6e 5f 74 65  8 */ "polygon_te
88c0: 78 74 7a 22 2c 0a 20 20 2f 2a 20 20 20 35 39 20  xtz",.  /*   59 
88d0: 2a 2f 20 22 72 69 6e 67 22 2c 0a 20 20 2f 2a 20  */ "ring",.  /* 
88e0: 20 20 36 30 20 2a 2f 20 22 65 78 74 72 61 5f 72    60 */ "extra_r
88f0: 69 6e 67 73 22 2c 0a 20 20 2f 2a 20 20 20 36 31  ings",.  /*   61
8900: 20 2a 2f 20 22 72 69 6e 67 7a 22 2c 0a 20 20 2f   */ "ringz",.  /
8910: 2a 20 20 20 36 32 20 2a 2f 20 22 65 78 74 72 61  *   62 */ "extra
8920: 5f 72 69 6e 67 73 7a 22 2c 0a 20 20 2f 2a 20 20  _ringsz",.  /*  
8930: 20 36 33 20 2a 2f 20 22 6d 75 6c 74 69 70 6f 69   63 */ "multipoi
8940: 6e 74 5f 74 65 78 74 22 2c 0a 20 20 2f 2a 20 20  nt_text",.  /*  
8950: 20 36 34 20 2a 2f 20 22 6d 75 6c 74 69 70 6f 69   64 */ "multipoi
8960: 6e 74 5f 74 65 78 74 7a 22 2c 0a 20 20 2f 2a 20  nt_textz",.  /* 
8970: 20 20 36 35 20 2a 2f 20 22 6d 75 6c 74 69 6c 69    65 */ "multili
8980: 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 22 2c 0a  nestring_text",.
8990: 20 20 2f 2a 20 20 20 36 36 20 2a 2f 20 22 6d 75    /*   66 */ "mu
89a0: 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65  ltilinestring_te
89b0: 78 74 7a 22 2c 0a 20 20 2f 2a 20 20 20 36 37 20  xtz",.  /*   67 
89c0: 2a 2f 20 22 6d 75 6c 74 69 6c 69 6e 65 73 74 72  */ "multilinestr
89d0: 69 6e 67 5f 74 65 78 74 32 22 2c 0a 20 20 2f 2a  ing_text2",.  /*
89e0: 20 20 20 36 38 20 2a 2f 20 22 6d 75 6c 74 69 6c     68 */ "multil
89f0: 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a 32  inestring_textz2
8a00: 22 2c 0a 20 20 2f 2a 20 20 20 36 39 20 2a 2f 20  ",.  /*   69 */ 
8a10: 22 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65  "multipolygon_te
8a20: 78 74 22 2c 0a 20 20 2f 2a 20 20 20 37 30 20 2a  xt",.  /*   70 *
8a30: 2f 20 22 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f  / "multipolygon_
8a40: 74 65 78 74 7a 22 2c 0a 20 20 2f 2a 20 20 20 37  textz",.  /*   7
8a50: 31 20 2a 2f 20 22 6d 75 6c 74 69 70 6f 6c 79 67  1 */ "multipolyg
8a60: 6f 6e 5f 74 65 78 74 32 22 2c 0a 20 20 2f 2a 20  on_text2",.  /* 
8a70: 20 20 37 32 20 2a 2f 20 22 6d 75 6c 74 69 70 6f    72 */ "multipo
8a80: 6c 79 67 6f 6e 5f 74 65 78 74 7a 32 22 2c 0a 20  lygon_textz2",. 
8a90: 20 2f 2a 20 20 20 37 33 20 2a 2f 20 22 67 65 6f   /*   73 */ "geo
8aa0: 63 6f 6c 6c 5f 74 65 78 74 22 2c 0a 20 20 2f 2a  coll_text",.  /*
8ab0: 20 20 20 37 34 20 2a 2f 20 22 67 65 6f 63 6f 6c     74 */ "geocol
8ac0: 6c 5f 74 65 78 74 7a 22 2c 0a 20 20 2f 2a 20 20  l_textz",.  /*  
8ad0: 20 37 35 20 2a 2f 20 22 63 6f 6c 6c 5f 70 6f 69   75 */ "coll_poi
8ae0: 6e 74 22 2c 0a 20 20 2f 2a 20 20 20 37 36 20 2a  nt",.  /*   76 *
8af0: 2f 20 22 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 32  / "geocoll_text2
8b00: 22 2c 0a 20 20 2f 2a 20 20 20 37 37 20 2a 2f 20  ",.  /*   77 */ 
8b10: 22 63 6f 6c 6c 5f 6c 69 6e 65 73 74 72 69 6e 67  "coll_linestring
8b20: 22 2c 0a 20 20 2f 2a 20 20 20 37 38 20 2a 2f 20  ",.  /*   78 */ 
8b30: 22 63 6f 6c 6c 5f 70 6f 6c 79 67 6f 6e 22 2c 0a  "coll_polygon",.
8b40: 20 20 2f 2a 20 20 20 37 39 20 2a 2f 20 22 63 6f    /*   79 */ "co
8b50: 6c 6c 5f 70 6f 69 6e 74 7a 22 2c 0a 20 20 2f 2a  ll_pointz",.  /*
8b60: 20 20 20 38 30 20 2a 2f 20 22 67 65 6f 63 6f 6c     80 */ "geocol
8b70: 6c 5f 74 65 78 74 7a 32 22 2c 0a 20 20 2f 2a 20  l_textz2",.  /* 
8b80: 20 20 38 31 20 2a 2f 20 22 63 6f 6c 6c 5f 6c 69    81 */ "coll_li
8b90: 6e 65 73 74 72 69 6e 67 7a 22 2c 0a 20 20 2f 2a  nestringz",.  /*
8ba0: 20 20 20 38 32 20 2a 2f 20 22 63 6f 6c 6c 5f 70     82 */ "coll_p
8bb0: 6f 6c 79 67 6f 6e 7a 22 2c 0a 7d 3b 0a 23 65 6e  olygonz",.};.#en
8bc0: 64 69 66 20 2f 2a 20 64 65 66 69 6e 65 64 28 59  dif /* defined(Y
8bd0: 59 43 4f 56 45 52 41 47 45 29 20 7c 7c 20 21 64  YCOVERAGE) || !d
8be0: 65 66 69 6e 65 64 28 4e 44 45 42 55 47 29 20 2a  efined(NDEBUG) *
8bf0: 2f 0a 0a 23 69 66 6e 64 65 66 20 4e 44 45 42 55  /..#ifndef NDEBU
8c00: 47 0a 2f 2a 20 46 6f 72 20 74 72 61 63 69 6e 67  G./* For tracing
8c10: 20 72 65 64 75 63 65 20 61 63 74 69 6f 6e 73 2c   reduce actions,
8c20: 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 61 6c   the names of al
8c30: 6c 20 72 75 6c 65 73 20 61 72 65 20 72 65 71 75  l rules are requ
8c40: 69 72 65 64 2e 0a 2a 2f 0a 73 74 61 74 69 63 20  ired..*/.static 
8c50: 63 6f 6e 73 74 20 63 68 61 72 20 2a 63 6f 6e 73  const char *cons
8c60: 74 20 79 79 52 75 6c 65 4e 61 6d 65 5b 5d 20 3d  t yyRuleName[] =
8c70: 20 7b 0a 20 2f 2a 20 20 20 30 20 2a 2f 20 22 67   {. /*   0 */ "g
8c80: 65 6f 5f 74 65 78 74 20 3a 3a 3d 20 70 6f 69 6e  eo_text ::= poin
8c90: 74 22 2c 0a 20 2f 2a 20 20 20 31 20 2a 2f 20 22  t",. /*   1 */ "
8ca0: 67 65 6f 5f 74 65 78 74 20 3a 3a 3d 20 70 6f 69  geo_text ::= poi
8cb0: 6e 74 7a 22 2c 0a 20 2f 2a 20 20 20 32 20 2a 2f  ntz",. /*   2 */
8cc0: 20 22 67 65 6f 5f 74 65 78 74 20 3a 3a 3d 20 6c   "geo_text ::= l
8cd0: 69 6e 65 73 74 72 69 6e 67 22 2c 0a 20 2f 2a 20  inestring",. /* 
8ce0: 20 20 33 20 2a 2f 20 22 67 65 6f 5f 74 65 78 74    3 */ "geo_text
8cf0: 20 3a 3a 3d 20 6c 69 6e 65 73 74 72 69 6e 67 7a   ::= linestringz
8d00: 22 2c 0a 20 2f 2a 20 20 20 34 20 2a 2f 20 22 67  ",. /*   4 */ "g
8d10: 65 6f 5f 74 65 78 74 20 3a 3a 3d 20 70 6f 6c 79  eo_text ::= poly
8d20: 67 6f 6e 22 2c 0a 20 2f 2a 20 20 20 35 20 2a 2f  gon",. /*   5 */
8d30: 20 22 67 65 6f 5f 74 65 78 74 20 3a 3a 3d 20 70   "geo_text ::= p
8d40: 6f 6c 79 67 6f 6e 7a 22 2c 0a 20 2f 2a 20 20 20  olygonz",. /*   
8d50: 36 20 2a 2f 20 22 67 65 6f 5f 74 65 78 74 20 3a  6 */ "geo_text :
8d60: 3a 3d 20 6d 75 6c 74 69 70 6f 69 6e 74 22 2c 0a  := multipoint",.
8d70: 20 2f 2a 20 20 20 37 20 2a 2f 20 22 67 65 6f 5f   /*   7 */ "geo_
8d80: 74 65 78 74 20 3a 3a 3d 20 6d 75 6c 74 69 70 6f  text ::= multipo
8d90: 69 6e 74 7a 22 2c 0a 20 2f 2a 20 20 20 38 20 2a  intz",. /*   8 *
8da0: 2f 20 22 67 65 6f 5f 74 65 78 74 20 3a 3a 3d 20  / "geo_text ::= 
8db0: 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 22  multilinestring"
8dc0: 2c 0a 20 2f 2a 20 20 20 39 20 2a 2f 20 22 67 65  ,. /*   9 */ "ge
8dd0: 6f 5f 74 65 78 74 20 3a 3a 3d 20 6d 75 6c 74 69  o_text ::= multi
8de0: 6c 69 6e 65 73 74 72 69 6e 67 7a 22 2c 0a 20 2f  linestringz",. /
8df0: 2a 20 20 31 30 20 2a 2f 20 22 67 65 6f 5f 74 65  *  10 */ "geo_te
8e00: 78 74 20 3a 3a 3d 20 6d 75 6c 74 69 70 6f 6c 79  xt ::= multipoly
8e10: 67 6f 6e 22 2c 0a 20 2f 2a 20 20 31 31 20 2a 2f  gon",. /*  11 */
8e20: 20 22 67 65 6f 5f 74 65 78 74 20 3a 3a 3d 20 6d   "geo_text ::= m
8e30: 75 6c 74 69 70 6f 6c 79 67 6f 6e 7a 22 2c 0a 20  ultipolygonz",. 
8e40: 2f 2a 20 20 31 32 20 2a 2f 20 22 67 65 6f 5f 74  /*  12 */ "geo_t
8e50: 65 78 74 20 3a 3a 3d 20 67 65 6f 63 6f 6c 6c 22  ext ::= geocoll"
8e60: 2c 0a 20 2f 2a 20 20 31 33 20 2a 2f 20 22 67 65  ,. /*  13 */ "ge
8e70: 6f 5f 74 65 78 74 20 3a 3a 3d 20 67 65 6f 63 6f  o_text ::= geoco
8e80: 6c 6c 7a 22 2c 0a 20 2f 2a 20 20 31 34 20 2a 2f  llz",. /*  14 */
8e90: 20 22 70 6f 69 6e 74 20 3a 3a 3d 20 47 45 4f 4a   "point ::= GEOJ
8ea0: 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
8eb0: 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
8ec0: 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
8ed0: 4e 5f 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f  N_POINT GEOJSON_
8ee0: 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
8ef0: 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
8f00: 4f 4e 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79  ON point_coordxy
8f10: 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
8f20: 52 41 43 45 22 2c 0a 20 2f 2a 20 20 31 35 20 2a  RACE",. /*  15 *
8f30: 2f 20 22 70 6f 69 6e 74 20 3a 3a 3d 20 47 45 4f  / "point ::= GEO
8f40: 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
8f50: 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
8f60: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
8f70: 4f 4e 5f 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e  ON_POINT GEOJSON
8f80: 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42  _COMMA GEOJSON_B
8f90: 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  BOX GEOJSON_COLO
8fa0: 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  N GEOJSON_OPEN_B
8fb0: 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a  RACKET bbox GEOJ
8fc0: 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45  SON_CLOSE_BRACKE
8fd0: 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
8fe0: 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
8ff0: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69  EOJSON_COLON poi
9000: 6e 74 5f 63 6f 6f 72 64 78 79 20 47 45 4f 4a 53  nt_coordxy GEOJS
9010: 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c  ON_CLOSE_BRACE",
9020: 0a 20 2f 2a 20 20 31 36 20 2a 2f 20 22 70 6f 69  . /*  16 */ "poi
9030: 6e 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  nt ::= GEOJSON_O
9040: 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  PEN_BRACE GEOJSO
9050: 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_TYPE GEOJSON_C
9060: 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49  OLON GEOJSON_POI
9070: 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  NT GEOJSON_COMMA
9080: 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f   GEOJSON_CRS GEO
9090: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74  JSON_COLON short
90a0: 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  _crs GEOJSON_COM
90b0: 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44  MA GEOJSON_COORD
90c0: 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
90d0: 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 20 47 45  point_coordxy GE
90e0: 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
90f0: 45 22 2c 0a 20 2f 2a 20 20 31 37 20 2a 2f 20 22  E",. /*  17 */ "
9100: 70 6f 69 6e 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f  point ::= GEOJSO
9110: 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
9120: 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f  JSON_TYPE GEOJSO
9130: 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
9140: 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f  POINT GEOJSON_CO
9150: 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20  MMA GEOJSON_CRS 
9160: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f  GEOJSON_COLON lo
9170: 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43  ng_crs GEOJSON_C
9180: 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
9190: 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
91a0: 4e 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 20  N point_coordxy 
91b0: 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
91c0: 41 43 45 22 2c 0a 20 2f 2a 20 20 31 38 20 2a 2f  ACE",. /*  18 */
91d0: 20 22 70 6f 69 6e 74 20 3a 3a 3d 20 47 45 4f 4a   "point ::= GEOJ
91e0: 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
91f0: 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
9200: 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
9210: 4e 5f 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f  N_POINT GEOJSON_
9220: 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52  COMMA GEOJSON_CR
9230: 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
9240: 73 68 6f 72 74 5f 63 72 73 20 47 45 4f 4a 53 4f  short_crs GEOJSO
9250: 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
9260: 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  BBOX GEOJSON_COL
9270: 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  ON GEOJSON_OPEN_
9280: 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f  BRACKET bbox GEO
9290: 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b  JSON_CLOSE_BRACK
92a0: 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  ET GEOJSON_COMMA
92b0: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20   GEOJSON_COORDS 
92c0: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f  GEOJSON_COLON po
92d0: 69 6e 74 5f 63 6f 6f 72 64 78 79 20 47 45 4f 4a  int_coordxy GEOJ
92e0: 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22  SON_CLOSE_BRACE"
92f0: 2c 0a 20 2f 2a 20 20 31 39 20 2a 2f 20 22 70 6f  ,. /*  19 */ "po
9300: 69 6e 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  int ::= GEOJSON_
9310: 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
9320: 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
9330: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f  COLON GEOJSON_PO
9340: 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  INT GEOJSON_COMM
9350: 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45  A GEOJSON_CRS GE
9360: 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67  OJSON_COLON long
9370: 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  _crs GEOJSON_COM
9380: 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20  MA GEOJSON_BBOX 
9390: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
93a0: 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
93b0: 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f  ET bbox GEOJSON_
93c0: 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45  CLOSE_BRACKET GE
93d0: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
93e0: 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
93f0: 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69 6e 74 5f 63  ON_COLON point_c
9400: 6f 6f 72 64 78 79 20 47 45 4f 4a 53 4f 4e 5f 43  oordxy GEOJSON_C
9410: 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a  LOSE_BRACE",. /*
9420: 20 20 32 30 20 2a 2f 20 22 70 6f 69 6e 74 7a 20    20 */ "pointz 
9430: 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
9440: 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54  _BRACE GEOJSON_T
9450: 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  YPE GEOJSON_COLO
9460: 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49 4e 54 20  N GEOJSON_POINT 
9470: 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
9480: 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f  OJSON_COORDS GEO
9490: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69 6e 74  JSON_COLON point
94a0: 5f 63 6f 6f 72 64 78 79 7a 20 47 45 4f 4a 53 4f  _coordxyz GEOJSO
94b0: 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a  N_CLOSE_BRACE",.
94c0: 20 2f 2a 20 20 32 31 20 2a 2f 20 22 70 6f 69 6e   /*  21 */ "poin
94d0: 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  tz ::= GEOJSON_O
94e0: 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  PEN_BRACE GEOJSO
94f0: 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_TYPE GEOJSON_C
9500: 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49  OLON GEOJSON_POI
9510: 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  NT GEOJSON_COMMA
9520: 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45   GEOJSON_BBOX GE
9530: 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
9540: 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54  SON_OPEN_BRACKET
9550: 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c   bbox GEOJSON_CL
9560: 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a  OSE_BRACKET GEOJ
9570: 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
9580: 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e  N_COORDS GEOJSON
9590: 5f 43 4f 4c 4f 4e 20 70 6f 69 6e 74 5f 63 6f 6f  _COLON point_coo
95a0: 72 64 78 79 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c  rdxyz GEOJSON_CL
95b0: 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a 20  OSE_BRACE",. /* 
95c0: 20 32 32 20 2a 2f 20 22 70 6f 69 6e 74 7a 20 3a   22 */ "pointz :
95d0: 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
95e0: 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
95f0: 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
9600: 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49 4e 54 20 47   GEOJSON_POINT G
9610: 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
9620: 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e  JSON_CRS GEOJSON
9630: 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73  _COLON short_crs
9640: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
9650: 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45  EOJSON_COORDS GE
9660: 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69 6e  OJSON_COLON poin
9670: 74 5f 63 6f 6f 72 64 78 79 7a 20 47 45 4f 4a 53  t_coordxyz GEOJS
9680: 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c  ON_CLOSE_BRACE",
9690: 0a 20 2f 2a 20 20 32 33 20 2a 2f 20 22 70 6f 69  . /*  23 */ "poi
96a0: 6e 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  ntz ::= GEOJSON_
96b0: 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
96c0: 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
96d0: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f  COLON GEOJSON_PO
96e0: 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  INT GEOJSON_COMM
96f0: 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45  A GEOJSON_CRS GE
9700: 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67  OJSON_COLON long
9710: 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  _crs GEOJSON_COM
9720: 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44  MA GEOJSON_COORD
9730: 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
9740: 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 7a 20 47  point_coordxyz G
9750: 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
9760: 43 45 22 2c 0a 20 2f 2a 20 20 32 34 20 2a 2f 20  CE",. /*  24 */ 
9770: 22 70 6f 69 6e 74 20 3a 3a 3d 20 47 45 4f 4a 53  "point ::= GEOJS
9780: 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45  ON_OPEN_BRACE GE
9790: 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53  OJSON_TYPE GEOJS
97a0: 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
97b0: 5f 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43  _POINT GEOJSON_C
97c0: 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53  OMMA GEOJSON_CRS
97d0: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73   GEOJSON_COLON s
97e0: 68 6f 72 74 5f 63 72 73 20 47 45 4f 4a 53 4f 4e  hort_crs GEOJSON
97f0: 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42  _COMMA GEOJSON_B
9800: 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  BOX GEOJSON_COLO
9810: 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  N GEOJSON_OPEN_B
9820: 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a  RACKET bbox GEOJ
9830: 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45  SON_CLOSE_BRACKE
9840: 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
9850: 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
9860: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69  EOJSON_COLON poi
9870: 6e 74 5f 63 6f 6f 72 64 78 79 7a 20 47 45 4f 4a  nt_coordxyz GEOJ
9880: 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22  SON_CLOSE_BRACE"
9890: 2c 0a 20 2f 2a 20 20 32 35 20 2a 2f 20 22 70 6f  ,. /*  25 */ "po
98a0: 69 6e 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  int ::= GEOJSON_
98b0: 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
98c0: 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
98d0: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f  COLON GEOJSON_PO
98e0: 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  INT GEOJSON_COMM
98f0: 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45  A GEOJSON_CRS GE
9900: 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67  OJSON_COLON long
9910: 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  _crs GEOJSON_COM
9920: 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20  MA GEOJSON_BBOX 
9930: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
9940: 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
9950: 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f  ET bbox GEOJSON_
9960: 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45  CLOSE_BRACKET GE
9970: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
9980: 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
9990: 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69 6e 74 5f 63  ON_COLON point_c
99a0: 6f 6f 72 64 78 79 7a 20 47 45 4f 4a 53 4f 4e 5f  oordxyz GEOJSON_
99b0: 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f  CLOSE_BRACE",. /
99c0: 2a 20 20 32 36 20 2a 2f 20 22 73 68 6f 72 74 5f  *  26 */ "short_
99d0: 63 72 73 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  crs ::= GEOJSON_
99e0: 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
99f0: 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
9a00: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4e 41  COLON GEOJSON_NA
9a10: 4d 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  ME GEOJSON_COMMA
9a20: 20 47 45 4f 4a 53 4f 4e 5f 50 52 4f 50 53 20 47   GEOJSON_PROPS G
9a30: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
9a40: 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
9a50: 47 45 4f 4a 53 4f 4e 5f 4e 41 4d 45 20 47 45 4f  GEOJSON_NAME GEO
9a60: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74  JSON_COLON short
9a70: 5f 73 72 69 64 20 47 45 4f 4a 53 4f 4e 5f 43 4c  _srid GEOJSON_CL
9a80: 4f 53 45 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  OSE_BRACE GEOJSO
9a90: 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a  N_CLOSE_BRACE",.
9aa0: 20 2f 2a 20 20 32 37 20 2a 2f 20 22 6c 6f 6e 67   /*  27 */ "long
9ab0: 5f 63 72 73 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  _crs ::= GEOJSON
9ac0: 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
9ad0: 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
9ae0: 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4e  _COLON GEOJSON_N
9af0: 41 4d 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  AME GEOJSON_COMM
9b00: 41 20 47 45 4f 4a 53 4f 4e 5f 50 52 4f 50 53 20  A GEOJSON_PROPS 
9b10: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
9b20: 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45  OJSON_OPEN_BRACE
9b30: 20 47 45 4f 4a 53 4f 4e 5f 4e 41 4d 45 20 47 45   GEOJSON_NAME GE
9b40: 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67  OJSON_COLON long
9b50: 5f 73 72 69 64 20 47 45 4f 4a 53 4f 4e 5f 43 4c  _srid GEOJSON_CL
9b60: 4f 53 45 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  OSE_BRACE GEOJSO
9b70: 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a  N_CLOSE_BRACE",.
9b80: 20 2f 2a 20 20 32 38 20 2a 2f 20 22 70 6f 69 6e   /*  28 */ "poin
9b90: 74 5f 63 6f 6f 72 64 78 79 20 3a 3a 3d 20 47 45  t_coordxy ::= GE
9ba0: 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
9bb0: 45 54 20 63 6f 6f 72 64 20 47 45 4f 4a 53 4f 4e  ET coord GEOJSON
9bc0: 5f 43 4f 4d 4d 41 20 63 6f 6f 72 64 20 47 45 4f  _COMMA coord GEO
9bd0: 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b  JSON_CLOSE_BRACK
9be0: 45 54 22 2c 0a 20 2f 2a 20 20 32 39 20 2a 2f 20  ET",. /*  29 */ 
9bf0: 22 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 7a 20  "point_coordxyz 
9c00: 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
9c10: 5f 42 52 41 43 4b 45 54 20 63 6f 6f 72 64 20 47  _BRACKET coord G
9c20: 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 63 6f 6f  EOJSON_COMMA coo
9c30: 72 64 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  rd GEOJSON_COMMA
9c40: 20 63 6f 6f 72 64 20 47 45 4f 4a 53 4f 4e 5f 43   coord GEOJSON_C
9c50: 4c 4f 53 45 5f 42 52 41 43 4b 45 54 22 2c 0a 20  LOSE_BRACKET",. 
9c60: 2f 2a 20 20 33 30 20 2a 2f 20 22 63 6f 6f 72 64  /*  30 */ "coord
9c70: 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4e 55 4d   ::= GEOJSON_NUM
9c80: 22 2c 0a 20 2f 2a 20 20 33 31 20 2a 2f 20 22 73  ",. /*  31 */ "s
9c90: 68 6f 72 74 5f 73 72 69 64 20 3a 3a 3d 20 47 45  hort_srid ::= GE
9ca0: 4f 4a 53 4f 4e 5f 53 48 4f 52 54 5f 53 52 49 44  OJSON_SHORT_SRID
9cb0: 22 2c 0a 20 2f 2a 20 20 33 32 20 2a 2f 20 22 6c  ",. /*  32 */ "l
9cc0: 6f 6e 67 5f 73 72 69 64 20 3a 3a 3d 20 47 45 4f  ong_srid ::= GEO
9cd0: 4a 53 4f 4e 5f 4c 4f 4e 47 5f 53 52 49 44 22 2c  JSON_LONG_SRID",
9ce0: 0a 20 2f 2a 20 20 33 33 20 2a 2f 20 22 65 78 74  . /*  33 */ "ext
9cf0: 72 61 5f 70 6f 69 6e 74 73 78 79 20 3a 3a 3d 22  ra_pointsxy ::="
9d00: 2c 0a 20 2f 2a 20 20 33 34 20 2a 2f 20 22 65 78  ,. /*  34 */ "ex
9d10: 74 72 61 5f 70 6f 69 6e 74 73 78 79 20 3a 3a 3d  tra_pointsxy ::=
9d20: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 70   GEOJSON_COMMA p
9d30: 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 20 65 78 74  oint_coordxy ext
9d40: 72 61 5f 70 6f 69 6e 74 73 78 79 22 2c 0a 20 2f  ra_pointsxy",. /
9d50: 2a 20 20 33 35 20 2a 2f 20 22 65 78 74 72 61 5f  *  35 */ "extra_
9d60: 70 6f 69 6e 74 73 78 79 7a 20 3a 3a 3d 22 2c 0a  pointsxyz ::=",.
9d70: 20 2f 2a 20 20 33 36 20 2a 2f 20 22 65 78 74 72   /*  36 */ "extr
9d80: 61 5f 70 6f 69 6e 74 73 78 79 7a 20 3a 3a 3d 20  a_pointsxyz ::= 
9d90: 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 70 6f  GEOJSON_COMMA po
9da0: 69 6e 74 5f 63 6f 6f 72 64 78 79 7a 20 65 78 74  int_coordxyz ext
9db0: 72 61 5f 70 6f 69 6e 74 73 78 79 7a 22 2c 0a 20  ra_pointsxyz",. 
9dc0: 2f 2a 20 20 33 37 20 2a 2f 20 22 6c 69 6e 65 73  /*  37 */ "lines
9dd0: 74 72 69 6e 67 20 3a 3a 3d 20 47 45 4f 4a 53 4f  tring ::= GEOJSO
9de0: 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
9df0: 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f  JSON_TYPE GEOJSO
9e00: 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
9e10: 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53  LINESTRING GEOJS
9e20: 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
9e30: 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f  _COORDS GEOJSON_
9e40: 43 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72 69 6e 67  COLON linestring
9e50: 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c  _text GEOJSON_CL
9e60: 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a 20  OSE_BRACE",. /* 
9e70: 20 33 38 20 2a 2f 20 22 6c 69 6e 65 73 74 72 69   38 */ "linestri
9e80: 6e 67 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  ng ::= GEOJSON_O
9e90: 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  PEN_BRACE GEOJSO
9ea0: 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_TYPE GEOJSON_C
9eb0: 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4c 49 4e  OLON GEOJSON_LIN
9ec0: 45 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f  ESTRING GEOJSON_
9ed0: 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42  COMMA GEOJSON_BB
9ee0: 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  OX GEOJSON_COLON
9ef0: 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
9f00: 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a 53  ACKET bbox GEOJS
9f10: 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54  ON_CLOSE_BRACKET
9f20: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
9f30: 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45  EOJSON_COORDS GE
9f40: 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65  OJSON_COLON line
9f50: 73 74 72 69 6e 67 5f 74 65 78 74 20 47 45 4f 4a  string_text GEOJ
9f60: 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22  SON_CLOSE_BRACE"
9f70: 2c 0a 20 2f 2a 20 20 33 39 20 2a 2f 20 22 6c 69  ,. /*  39 */ "li
9f80: 6e 65 73 74 72 69 6e 67 20 3a 3a 3d 20 47 45 4f  nestring ::= GEO
9f90: 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
9fa0: 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
9fb0: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
9fc0: 4f 4e 5f 4c 49 4e 45 53 54 52 49 4e 47 20 47 45  ON_LINESTRING GE
9fd0: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
9fe0: 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f  SON_CRS GEOJSON_
9ff0: 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20  COLON short_crs 
a000: 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
a010: 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f  OJSON_COORDS GEO
a020: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65 73  JSON_COLON lines
a030: 74 72 69 6e 67 5f 74 65 78 74 20 47 45 4f 4a 53  tring_text GEOJS
a040: 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c  ON_CLOSE_BRACE",
a050: 0a 20 2f 2a 20 20 34 30 20 2a 2f 20 22 6c 69 6e  . /*  40 */ "lin
a060: 65 73 74 72 69 6e 67 20 3a 3a 3d 20 47 45 4f 4a  estring ::= GEOJ
a070: 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
a080: 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
a090: 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
a0a0: 4e 5f 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f  N_LINESTRING GEO
a0b0: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
a0c0: 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43  ON_CRS GEOJSON_C
a0d0: 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45  OLON long_crs GE
a0e0: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
a0f0: 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
a100: 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72  ON_COLON linestr
a110: 69 6e 67 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e  ing_text GEOJSON
a120: 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20  _CLOSE_BRACE",. 
a130: 2f 2a 20 20 34 31 20 2a 2f 20 22 6c 69 6e 65 73  /*  41 */ "lines
a140: 74 72 69 6e 67 20 3a 3a 3d 20 47 45 4f 4a 53 4f  tring ::= GEOJSO
a150: 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
a160: 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f  JSON_TYPE GEOJSO
a170: 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
a180: 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53  LINESTRING GEOJS
a190: 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
a1a0: 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  _CRS GEOJSON_COL
a1b0: 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45 4f  ON short_crs GEO
a1c0: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
a1d0: 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f  ON_BBOX GEOJSON_
a1e0: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50  COLON GEOJSON_OP
a1f0: 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20  EN_BRACKET bbox 
a200: 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
a210: 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f  ACKET GEOJSON_CO
a220: 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52  MMA GEOJSON_COOR
a230: 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  DS GEOJSON_COLON
a240: 20 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74   linestring_text
a250: 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
a260: 52 41 43 45 22 2c 0a 20 2f 2a 20 20 34 32 20 2a  RACE",. /*  42 *
a270: 2f 20 22 6c 69 6e 65 73 74 72 69 6e 67 20 3a 3a  / "linestring ::
a280: 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  = GEOJSON_OPEN_B
a290: 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50  RACE GEOJSON_TYP
a2a0: 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  E GEOJSON_COLON 
a2b0: 47 45 4f 4a 53 4f 4e 5f 4c 49 4e 45 53 54 52 49  GEOJSON_LINESTRI
a2c0: 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  NG GEOJSON_COMMA
a2d0: 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f   GEOJSON_CRS GEO
a2e0: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f  JSON_COLON long_
a2f0: 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  crs GEOJSON_COMM
a300: 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47  A GEOJSON_BBOX G
a310: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
a320: 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45  JSON_OPEN_BRACKE
a330: 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43  T bbox GEOJSON_C
a340: 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45 4f  LOSE_BRACKET GEO
a350: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
a360: 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
a370: 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72 69  N_COLON linestri
a380: 6e 67 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f  ng_text GEOJSON_
a390: 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f  CLOSE_BRACE",. /
a3a0: 2a 20 20 34 33 20 2a 2f 20 22 6c 69 6e 65 73 74  *  43 */ "linest
a3b0: 72 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f  ringz ::= GEOJSO
a3c0: 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
a3d0: 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f  JSON_TYPE GEOJSO
a3e0: 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
a3f0: 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53  LINESTRING GEOJS
a400: 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
a410: 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f  _COORDS GEOJSON_
a420: 43 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72 69 6e 67  COLON linestring
a430: 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43  _textz GEOJSON_C
a440: 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a  LOSE_BRACE",. /*
a450: 20 20 34 34 20 2a 2f 20 22 6c 69 6e 65 73 74 72    44 */ "linestr
a460: 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  ingz ::= GEOJSON
a470: 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
a480: 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
a490: 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4c  _COLON GEOJSON_L
a4a0: 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f  INESTRING GEOJSO
a4b0: 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
a4c0: 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  BBOX GEOJSON_COL
a4d0: 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  ON GEOJSON_OPEN_
a4e0: 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f  BRACKET bbox GEO
a4f0: 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b  JSON_CLOSE_BRACK
a500: 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  ET GEOJSON_COMMA
a510: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20   GEOJSON_COORDS 
a520: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69  GEOJSON_COLON li
a530: 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a 20 47  nestring_textz G
a540: 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
a550: 43 45 22 2c 0a 20 2f 2a 20 20 34 35 20 2a 2f 20  CE",. /*  45 */ 
a560: 22 6c 69 6e 65 73 74 72 69 6e 67 7a 20 3a 3a 3d  "linestringz ::=
a570: 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
a580: 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
a590: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
a5a0: 45 4f 4a 53 4f 4e 5f 4c 49 4e 45 53 54 52 49 4e  EOJSON_LINESTRIN
a5b0: 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  G GEOJSON_COMMA 
a5c0: 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a  GEOJSON_CRS GEOJ
a5d0: 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f  SON_COLON short_
a5e0: 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  crs GEOJSON_COMM
a5f0: 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
a600: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c   GEOJSON_COLON l
a610: 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a 20  inestring_textz 
a620: 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
a630: 41 43 45 22 2c 0a 20 2f 2a 20 20 34 36 20 2a 2f  ACE",. /*  46 */
a640: 20 22 6c 69 6e 65 73 74 72 69 6e 67 7a 20 3a 3a   "linestringz ::
a650: 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  = GEOJSON_OPEN_B
a660: 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50  RACE GEOJSON_TYP
a670: 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  E GEOJSON_COLON 
a680: 47 45 4f 4a 53 4f 4e 5f 4c 49 4e 45 53 54 52 49  GEOJSON_LINESTRI
a690: 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  NG GEOJSON_COMMA
a6a0: 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f   GEOJSON_CRS GEO
a6b0: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f  JSON_COLON long_
a6c0: 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  crs GEOJSON_COMM
a6d0: 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
a6e0: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c   GEOJSON_COLON l
a6f0: 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a 20  inestring_textz 
a700: 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
a710: 41 43 45 22 2c 0a 20 2f 2a 20 20 34 37 20 2a 2f  ACE",. /*  47 */
a720: 20 22 6c 69 6e 65 73 74 72 69 6e 67 7a 20 3a 3a   "linestringz ::
a730: 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  = GEOJSON_OPEN_B
a740: 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50  RACE GEOJSON_TYP
a750: 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  E GEOJSON_COLON 
a760: 47 45 4f 4a 53 4f 4e 5f 4c 49 4e 45 53 54 52 49  GEOJSON_LINESTRI
a770: 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  NG GEOJSON_COMMA
a780: 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f   GEOJSON_CRS GEO
a790: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74  JSON_COLON short
a7a0: 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  _crs GEOJSON_COM
a7b0: 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20  MA GEOJSON_BBOX 
a7c0: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
a7d0: 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
a7e0: 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f  ET bbox GEOJSON_
a7f0: 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45  CLOSE_BRACKET GE
a800: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
a810: 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
a820: 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72  ON_COLON linestr
a830: 69 6e 67 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f  ing_textz GEOJSO
a840: 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a  N_CLOSE_BRACE",.
a850: 20 2f 2a 20 20 34 38 20 2a 2f 20 22 6c 69 6e 65   /*  48 */ "line
a860: 73 74 72 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f 4a  stringz ::= GEOJ
a870: 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
a880: 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
a890: 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
a8a0: 4e 5f 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f  N_LINESTRING GEO
a8b0: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
a8c0: 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43  ON_CRS GEOJSON_C
a8d0: 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45  OLON long_crs GE
a8e0: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
a8f0: 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e  SON_BBOX GEOJSON
a900: 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f  _COLON GEOJSON_O
a910: 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78  PEN_BRACKET bbox
a920: 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
a930: 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43  RACKET GEOJSON_C
a940: 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
a950: 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
a960: 4e 20 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78  N linestring_tex
a970: 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  tz GEOJSON_CLOSE
a980: 5f 42 52 41 43 45 22 2c 0a 20 2f 2a 20 20 34 39  _BRACE",. /*  49
a990: 20 2a 2f 20 22 6c 69 6e 65 73 74 72 69 6e 67 5f   */ "linestring_
a9a0: 74 65 78 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  text ::= GEOJSON
a9b0: 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 70 6f  _OPEN_BRACKET po
a9c0: 69 6e 74 5f 63 6f 6f 72 64 78 79 20 47 45 4f 4a  int_coordxy GEOJ
a9d0: 53 4f 4e 5f 43 4f 4d 4d 41 20 70 6f 69 6e 74 5f  SON_COMMA point_
a9e0: 63 6f 6f 72 64 78 79 20 65 78 74 72 61 5f 70 6f  coordxy extra_po
a9f0: 69 6e 74 73 78 79 20 47 45 4f 4a 53 4f 4e 5f 43  intsxy GEOJSON_C
aa00: 4c 4f 53 45 5f 42 52 41 43 4b 45 54 22 2c 0a 20  LOSE_BRACKET",. 
aa10: 2f 2a 20 20 35 30 20 2a 2f 20 22 6c 69 6e 65 73  /*  50 */ "lines
aa20: 74 72 69 6e 67 5f 74 65 78 74 7a 20 3a 3a 3d 20  tring_textz ::= 
aa30: 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
aa40: 43 4b 45 54 20 70 6f 69 6e 74 5f 63 6f 6f 72 64  CKET point_coord
aa50: 78 79 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  xyz GEOJSON_COMM
aa60: 41 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 7a  A point_coordxyz
aa70: 20 65 78 74 72 61 5f 70 6f 69 6e 74 73 78 79 7a   extra_pointsxyz
aa80: 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
aa90: 52 41 43 4b 45 54 22 2c 0a 20 2f 2a 20 20 35 31  RACKET",. /*  51
aaa0: 20 2a 2f 20 22 70 6f 6c 79 67 6f 6e 20 3a 3a 3d   */ "polygon ::=
aab0: 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
aac0: 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
aad0: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
aae0: 45 4f 4a 53 4f 4e 5f 50 4f 4c 59 47 4f 4e 20 47  EOJSON_POLYGON G
aaf0: 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
ab00: 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a  JSON_COORDS GEOJ
ab10: 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 6c 79 67 6f  SON_COLON polygo
ab20: 6e 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43  n_text GEOJSON_C
ab30: 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a  LOSE_BRACE",. /*
ab40: 20 20 35 32 20 2a 2f 20 22 70 6f 6c 79 67 6f 6e    52 */ "polygon
ab50: 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
ab60: 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
ab70: 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
ab80: 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 4c 59 47  ON GEOJSON_POLYG
ab90: 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  ON GEOJSON_COMMA
aba0: 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45   GEOJSON_BBOX GE
abb0: 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
abc0: 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54  SON_OPEN_BRACKET
abd0: 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c   bbox GEOJSON_CL
abe0: 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a  OSE_BRACKET GEOJ
abf0: 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
ac00: 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e  N_COORDS GEOJSON
ac10: 5f 43 4f 4c 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74  _COLON polygon_t
ac20: 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  ext GEOJSON_CLOS
ac30: 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a 20 20 35  E_BRACE",. /*  5
ac40: 33 20 2a 2f 20 22 70 6f 6c 79 67 6f 6e 20 3a 3a  3 */ "polygon ::
ac50: 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  = GEOJSON_OPEN_B
ac60: 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50  RACE GEOJSON_TYP
ac70: 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  E GEOJSON_COLON 
ac80: 47 45 4f 4a 53 4f 4e 5f 50 4f 4c 59 47 4f 4e 20  GEOJSON_POLYGON 
ac90: 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
aca0: 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f  OJSON_CRS GEOJSO
acb0: 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72  N_COLON short_cr
acc0: 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  s GEOJSON_COMMA 
acd0: 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
ace0: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 6c  EOJSON_COLON pol
acf0: 79 67 6f 6e 5f 74 65 78 74 20 47 45 4f 4a 53 4f  ygon_text GEOJSO
ad00: 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a  N_CLOSE_BRACE",.
ad10: 20 2f 2a 20 20 35 34 20 2a 2f 20 22 70 6f 6c 79   /*  54 */ "poly
ad20: 67 6f 6e 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  gon ::= GEOJSON_
ad30: 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
ad40: 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
ad50: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f  COLON GEOJSON_PO
ad60: 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f  LYGON GEOJSON_CO
ad70: 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20  MMA GEOJSON_CRS 
ad80: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f  GEOJSON_COLON lo
ad90: 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43  ng_crs GEOJSON_C
ada0: 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
adb0: 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
adc0: 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 20 47  N polygon_text G
add0: 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
ade0: 43 45 22 2c 0a 20 2f 2a 20 20 35 35 20 2a 2f 20  CE",. /*  55 */ 
adf0: 22 70 6f 6c 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f  "polygon ::= GEO
ae00: 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
ae10: 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
ae20: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
ae30: 4f 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53  ON_POLYGON GEOJS
ae40: 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
ae50: 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  _CRS GEOJSON_COL
ae60: 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45 4f  ON short_crs GEO
ae70: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
ae80: 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f  ON_BBOX GEOJSON_
ae90: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50  COLON GEOJSON_OP
aea0: 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20  EN_BRACKET bbox 
aeb0: 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
aec0: 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f  ACKET GEOJSON_CO
aed0: 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52  MMA GEOJSON_COOR
aee0: 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  DS GEOJSON_COLON
aef0: 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 20 47 45   polygon_text GE
af00: 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
af10: 45 22 2c 0a 20 2f 2a 20 20 35 36 20 2a 2f 20 22  E",. /*  56 */ "
af20: 70 6f 6c 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f 4a  polygon ::= GEOJ
af30: 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
af40: 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
af50: 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
af60: 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f  N_POLYGON GEOJSO
af70: 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
af80: 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  CRS GEOJSON_COLO
af90: 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53  N long_crs GEOJS
afa0: 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
afb0: 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _BBOX GEOJSON_CO
afc0: 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  LON GEOJSON_OPEN
afd0: 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45  _BRACKET bbox GE
afe0: 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
aff0: 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  KET GEOJSON_COMM
b000: 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
b010: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70   GEOJSON_COLON p
b020: 6f 6c 79 67 6f 6e 5f 74 65 78 74 20 47 45 4f 4a  olygon_text GEOJ
b030: 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22  SON_CLOSE_BRACE"
b040: 2c 0a 20 2f 2a 20 20 35 37 20 2a 2f 20 22 70 6f  ,. /*  57 */ "po
b050: 6c 79 67 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a 53  lygonz ::= GEOJS
b060: 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45  ON_OPEN_BRACE GE
b070: 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53  OJSON_TYPE GEOJS
b080: 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
b090: 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e  _POLYGON GEOJSON
b0a0: 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
b0b0: 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  OORDS GEOJSON_CO
b0c0: 4c 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74  LON polygon_text
b0d0: 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  z GEOJSON_CLOSE_
b0e0: 42 52 41 43 45 22 2c 0a 20 2f 2a 20 20 35 38 20  BRACE",. /*  58 
b0f0: 2a 2f 20 22 70 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d  */ "polygonz ::=
b100: 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
b110: 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
b120: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
b130: 45 4f 4a 53 4f 4e 5f 50 4f 4c 59 47 4f 4e 20 47  EOJSON_POLYGON G
b140: 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
b150: 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f  JSON_BBOX GEOJSO
b160: 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
b170: 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f  OPEN_BRACKET bbo
b180: 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  x GEOJSON_CLOSE_
b190: 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f  BRACKET GEOJSON_
b1a0: 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
b1b0: 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
b1c0: 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a  ON polygon_textz
b1d0: 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
b1e0: 52 41 43 45 22 2c 0a 20 2f 2a 20 20 35 39 20 2a  RACE",. /*  59 *
b1f0: 2f 20 22 70 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d 20  / "polygonz ::= 
b200: 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
b210: 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
b220: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
b230: 4f 4a 53 4f 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45  OJSON_POLYGON GE
b240: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
b250: 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f  SON_CRS GEOJSON_
b260: 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20  COLON short_crs 
b270: 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
b280: 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f  OJSON_COORDS GEO
b290: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 6c 79 67  JSON_COLON polyg
b2a0: 6f 6e 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e  on_textz GEOJSON
b2b0: 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20  _CLOSE_BRACE",. 
b2c0: 2f 2a 20 20 36 30 20 2a 2f 20 22 70 6f 6c 79 67  /*  60 */ "polyg
b2d0: 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  onz ::= GEOJSON_
b2e0: 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
b2f0: 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
b300: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f  COLON GEOJSON_PO
b310: 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f  LYGON GEOJSON_CO
b320: 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20  MMA GEOJSON_CRS 
b330: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f  GEOJSON_COLON lo
b340: 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43  ng_crs GEOJSON_C
b350: 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
b360: 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
b370: 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a 20  N polygon_textz 
b380: 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
b390: 41 43 45 22 2c 0a 20 2f 2a 20 20 36 31 20 2a 2f  ACE",. /*  61 */
b3a0: 20 22 70 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d 20 47   "polygonz ::= G
b3b0: 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
b3c0: 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47  E GEOJSON_TYPE G
b3d0: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
b3e0: 4a 53 4f 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f  JSON_POLYGON GEO
b3f0: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
b400: 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43  ON_CRS GEOJSON_C
b410: 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47  OLON short_crs G
b420: 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
b430: 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f  JSON_BBOX GEOJSO
b440: 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
b450: 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f  OPEN_BRACKET bbo
b460: 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  x GEOJSON_CLOSE_
b470: 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f  BRACKET GEOJSON_
b480: 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
b490: 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
b4a0: 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a  ON polygon_textz
b4b0: 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
b4c0: 52 41 43 45 22 2c 0a 20 2f 2a 20 20 36 32 20 2a  RACE",. /*  62 *
b4d0: 2f 20 22 70 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d 20  / "polygonz ::= 
b4e0: 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
b4f0: 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
b500: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
b510: 4f 4a 53 4f 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45  OJSON_POLYGON GE
b520: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
b530: 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f  SON_CRS GEOJSON_
b540: 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47  COLON long_crs G
b550: 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
b560: 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f  JSON_BBOX GEOJSO
b570: 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
b580: 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f  OPEN_BRACKET bbo
b590: 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  x GEOJSON_CLOSE_
b5a0: 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f  BRACKET GEOJSON_
b5b0: 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
b5c0: 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
b5d0: 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a  ON polygon_textz
b5e0: 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
b5f0: 52 41 43 45 22 2c 0a 20 2f 2a 20 20 36 33 20 2a  RACE",. /*  63 *
b600: 2f 20 22 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 20  / "polygon_text 
b610: 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
b620: 5f 42 52 41 43 4b 45 54 20 72 69 6e 67 20 65 78  _BRACKET ring ex
b630: 74 72 61 5f 72 69 6e 67 73 20 47 45 4f 4a 53 4f  tra_rings GEOJSO
b640: 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 22  N_CLOSE_BRACKET"
b650: 2c 0a 20 2f 2a 20 20 36 34 20 2a 2f 20 22 70 6f  ,. /*  64 */ "po
b660: 6c 79 67 6f 6e 5f 74 65 78 74 7a 20 3a 3a 3d 20  lygon_textz ::= 
b670: 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
b680: 43 4b 45 54 20 72 69 6e 67 7a 20 65 78 74 72 61  CKET ringz extra
b690: 5f 72 69 6e 67 73 7a 20 47 45 4f 4a 53 4f 4e 5f  _ringsz GEOJSON_
b6a0: 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 22 2c 0a  CLOSE_BRACKET",.
b6b0: 20 2f 2a 20 20 36 35 20 2a 2f 20 22 72 69 6e 67   /*  65 */ "ring
b6c0: 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
b6d0: 4e 5f 42 52 41 43 4b 45 54 20 70 6f 69 6e 74 5f  N_BRACKET point_
b6e0: 63 6f 6f 72 64 78 79 20 47 45 4f 4a 53 4f 4e 5f  coordxy GEOJSON_
b6f0: 43 4f 4d 4d 41 20 70 6f 69 6e 74 5f 63 6f 6f 72  COMMA point_coor
b700: 64 78 79 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  dxy GEOJSON_COMM
b710: 41 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 20  A point_coordxy 
b720: 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 70 6f  GEOJSON_COMMA po
b730: 69 6e 74 5f 63 6f 6f 72 64 78 79 20 65 78 74 72  int_coordxy extr
b740: 61 5f 70 6f 69 6e 74 73 78 79 20 47 45 4f 4a 53  a_pointsxy GEOJS
b750: 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54  ON_CLOSE_BRACKET
b760: 22 2c 0a 20 2f 2a 20 20 36 36 20 2a 2f 20 22 65  ",. /*  66 */ "e
b770: 78 74 72 61 5f 72 69 6e 67 73 20 3a 3a 3d 22 2c  xtra_rings ::=",
b780: 0a 20 2f 2a 20 20 36 37 20 2a 2f 20 22 65 78 74  . /*  67 */ "ext
b790: 72 61 5f 72 69 6e 67 73 20 3a 3a 3d 20 47 45 4f  ra_rings ::= GEO
b7a0: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 72 69 6e 67 20  JSON_COMMA ring 
b7b0: 65 78 74 72 61 5f 72 69 6e 67 73 22 2c 0a 20 2f  extra_rings",. /
b7c0: 2a 20 20 36 38 20 2a 2f 20 22 72 69 6e 67 7a 20  *  68 */ "ringz 
b7d0: 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
b7e0: 5f 42 52 41 43 4b 45 54 20 70 6f 69 6e 74 5f 63  _BRACKET point_c
b7f0: 6f 6f 72 64 78 79 7a 20 47 45 4f 4a 53 4f 4e 5f  oordxyz GEOJSON_
b800: 43 4f 4d 4d 41 20 70 6f 69 6e 74 5f 63 6f 6f 72  COMMA point_coor
b810: 64 78 79 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  dxyz GEOJSON_COM
b820: 4d 41 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79  MA point_coordxy
b830: 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  z GEOJSON_COMMA 
b840: 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 7a 20 65  point_coordxyz e
b850: 78 74 72 61 5f 70 6f 69 6e 74 73 78 79 7a 20 47  xtra_pointsxyz G
b860: 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
b870: 43 4b 45 54 22 2c 0a 20 2f 2a 20 20 36 39 20 2a  CKET",. /*  69 *
b880: 2f 20 22 65 78 74 72 61 5f 72 69 6e 67 73 7a 20  / "extra_ringsz 
b890: 3a 3a 3d 22 2c 0a 20 2f 2a 20 20 37 30 20 2a 2f  ::=",. /*  70 */
b8a0: 20 22 65 78 74 72 61 5f 72 69 6e 67 73 7a 20 3a   "extra_ringsz :
b8b0: 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  := GEOJSON_COMMA
b8c0: 20 72 69 6e 67 7a 20 65 78 74 72 61 5f 72 69 6e   ringz extra_rin
b8d0: 67 73 7a 22 2c 0a 20 2f 2a 20 20 37 31 20 2a 2f  gsz",. /*  71 */
b8e0: 20 22 6d 75 6c 74 69 70 6f 69 6e 74 20 3a 3a 3d   "multipoint ::=
b8f0: 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
b900: 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
b910: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
b920: 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 49 4e  EOJSON_MULTIPOIN
b930: 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
b940: 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
b950: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c  EOJSON_COLON mul
b960: 74 69 70 6f 69 6e 74 5f 74 65 78 74 20 47 45 4f  tipoint_text GEO
b970: 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
b980: 22 2c 0a 20 2f 2a 20 20 37 32 20 2a 2f 20 22 6d  ",. /*  72 */ "m
b990: 75 6c 74 69 70 6f 69 6e 74 20 3a 3a 3d 20 47 45  ultipoint ::= GE
b9a0: 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45  OJSON_OPEN_BRACE
b9b0: 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45   GEOJSON_TYPE GE
b9c0: 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
b9d0: 53 4f 4e 5f 4d 55 4c 54 49 50 4f 49 4e 54 20 47  SON_MULTIPOINT G
b9e0: 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
b9f0: 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f  JSON_BBOX GEOJSO
ba00: 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
ba10: 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f  OPEN_BRACKET bbo
ba20: 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  x GEOJSON_CLOSE_
ba30: 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f  BRACKET GEOJSON_
ba40: 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
ba50: 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
ba60: 4f 4e 20 6d 75 6c 74 69 70 6f 69 6e 74 5f 74 65  ON multipoint_te
ba70: 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  xt GEOJSON_CLOSE
ba80: 5f 42 52 41 43 45 22 2c 0a 20 2f 2a 20 20 37 33  _BRACE",. /*  73
ba90: 20 2a 2f 20 22 6d 75 6c 74 69 70 6f 69 6e 74 20   */ "multipoint 
baa0: 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
bab0: 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54  _BRACE GEOJSON_T
bac0: 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  YPE GEOJSON_COLO
bad0: 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50  N GEOJSON_MULTIP
bae0: 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  OINT GEOJSON_COM
baf0: 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47  MA GEOJSON_CRS G
bb00: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f  EOJSON_COLON sho
bb10: 72 74 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43  rt_crs GEOJSON_C
bb20: 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
bb30: 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
bb40: 4e 20 6d 75 6c 74 69 70 6f 69 6e 74 5f 74 65 78  N multipoint_tex
bb50: 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  t GEOJSON_CLOSE_
bb60: 42 52 41 43 45 22 2c 0a 20 2f 2a 20 20 37 34 20  BRACE",. /*  74 
bb70: 2a 2f 20 22 6d 75 6c 74 69 70 6f 69 6e 74 20 3a  */ "multipoint :
bb80: 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
bb90: 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
bba0: 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
bbb0: 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f   GEOJSON_MULTIPO
bbc0: 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  INT GEOJSON_COMM
bbd0: 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45  A GEOJSON_CRS GE
bbe0: 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67  OJSON_COLON long
bbf0: 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  _crs GEOJSON_COM
bc00: 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44  MA GEOJSON_COORD
bc10: 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
bc20: 6d 75 6c 74 69 70 6f 69 6e 74 5f 74 65 78 74 20  multipoint_text 
bc30: 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
bc40: 41 43 45 22 2c 0a 20 2f 2a 20 20 37 35 20 2a 2f  ACE",. /*  75 */
bc50: 20 22 6d 75 6c 74 69 70 6f 69 6e 74 20 3a 3a 3d   "multipoint ::=
bc60: 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
bc70: 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
bc80: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
bc90: 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 49 4e  EOJSON_MULTIPOIN
bca0: 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
bcb0: 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a  GEOJSON_CRS GEOJ
bcc0: 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f  SON_COLON short_
bcd0: 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  crs GEOJSON_COMM
bce0: 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47  A GEOJSON_BBOX G
bcf0: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
bd00: 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45  JSON_OPEN_BRACKE
bd10: 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43  T bbox GEOJSON_C
bd20: 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45 4f  LOSE_BRACKET GEO
bd30: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
bd40: 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
bd50: 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 69  N_COLON multipoi
bd60: 6e 74 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f  nt_text GEOJSON_
bd70: 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f  CLOSE_BRACE",. /
bd80: 2a 20 20 37 36 20 2a 2f 20 22 6d 75 6c 74 69 70  *  76 */ "multip
bd90: 6f 69 6e 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  oint ::= GEOJSON
bda0: 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
bdb0: 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
bdc0: 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d  _COLON GEOJSON_M
bdd0: 55 4c 54 49 50 4f 49 4e 54 20 47 45 4f 4a 53 4f  ULTIPOINT GEOJSO
bde0: 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
bdf0: 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  CRS GEOJSON_COLO
be00: 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53  N long_crs GEOJS
be10: 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
be20: 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _BBOX GEOJSON_CO
be30: 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  LON GEOJSON_OPEN
be40: 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45  _BRACKET bbox GE
be50: 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
be60: 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  KET GEOJSON_COMM
be70: 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
be80: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d   GEOJSON_COLON m
be90: 75 6c 74 69 70 6f 69 6e 74 5f 74 65 78 74 20 47  ultipoint_text G
bea0: 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
beb0: 43 45 22 2c 0a 20 2f 2a 20 20 37 37 20 2a 2f 20  CE",. /*  77 */ 
bec0: 22 6d 75 6c 74 69 70 6f 69 6e 74 7a 20 3a 3a 3d  "multipointz ::=
bed0: 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
bee0: 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
bef0: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
bf00: 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 49 4e  EOJSON_MULTIPOIN
bf10: 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
bf20: 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
bf30: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c  EOJSON_COLON mul
bf40: 74 69 70 6f 69 6e 74 5f 74 65 78 74 7a 20 47 45  tipoint_textz GE
bf50: 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
bf60: 45 22 2c 0a 20 2f 2a 20 20 37 38 20 2a 2f 20 22  E",. /*  78 */ "
bf70: 6d 75 6c 74 69 70 6f 69 6e 74 7a 20 3a 3a 3d 20  multipointz ::= 
bf80: 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
bf90: 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
bfa0: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
bfb0: 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 49 4e 54  OJSON_MULTIPOINT
bfc0: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
bfd0: 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a  EOJSON_BBOX GEOJ
bfe0: 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
bff0: 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62  N_OPEN_BRACKET b
c000: 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  box GEOJSON_CLOS
c010: 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f  E_BRACKET GEOJSO
c020: 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
c030: 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43  COORDS GEOJSON_C
c040: 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 69 6e 74 5f  OLON multipoint_
c050: 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c  textz GEOJSON_CL
c060: 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a 20  OSE_BRACE",. /* 
c070: 20 37 39 20 2a 2f 20 22 6d 75 6c 74 69 70 6f 69   79 */ "multipoi
c080: 6e 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  ntz ::= GEOJSON_
c090: 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
c0a0: 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
c0b0: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55  COLON GEOJSON_MU
c0c0: 4c 54 49 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e  LTIPOINT GEOJSON
c0d0: 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
c0e0: 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  RS GEOJSON_COLON
c0f0: 20 73 68 6f 72 74 5f 63 72 73 20 47 45 4f 4a 53   short_crs GEOJS
c100: 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
c110: 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f  _COORDS GEOJSON_
c120: 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 69 6e 74  COLON multipoint
c130: 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43  _textz GEOJSON_C
c140: 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a  LOSE_BRACE",. /*
c150: 20 20 38 30 20 2a 2f 20 22 6d 75 6c 74 69 70 6f    80 */ "multipo
c160: 69 6e 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  intz ::= GEOJSON
c170: 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
c180: 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
c190: 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d  _COLON GEOJSON_M
c1a0: 55 4c 54 49 50 4f 49 4e 54 20 47 45 4f 4a 53 4f  ULTIPOINT GEOJSO
c1b0: 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
c1c0: 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  CRS GEOJSON_COLO
c1d0: 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53  N long_crs GEOJS
c1e0: 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
c1f0: 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f  _COORDS GEOJSON_
c200: 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 69 6e 74  COLON multipoint
c210: 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43  _textz GEOJSON_C
c220: 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a  LOSE_BRACE",. /*
c230: 20 20 38 31 20 2a 2f 20 22 6d 75 6c 74 69 70 6f    81 */ "multipo
c240: 69 6e 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  intz ::= GEOJSON
c250: 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
c260: 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
c270: 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d  _COLON GEOJSON_M
c280: 55 4c 54 49 50 4f 49 4e 54 20 47 45 4f 4a 53 4f  ULTIPOINT GEOJSO
c290: 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
c2a0: 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  CRS GEOJSON_COLO
c2b0: 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45 4f 4a  N short_crs GEOJ
c2c0: 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
c2d0: 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43  N_BBOX GEOJSON_C
c2e0: 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45  OLON GEOJSON_OPE
c2f0: 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47  N_BRACKET bbox G
c300: 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
c310: 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  CKET GEOJSON_COM
c320: 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44  MA GEOJSON_COORD
c330: 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
c340: 6d 75 6c 74 69 70 6f 69 6e 74 5f 74 65 78 74 7a  multipoint_textz
c350: 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
c360: 52 41 43 45 22 2c 0a 20 2f 2a 20 20 38 32 20 2a  RACE",. /*  82 *
c370: 2f 20 22 6d 75 6c 74 69 70 6f 69 6e 74 7a 20 3a  / "multipointz :
c380: 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
c390: 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
c3a0: 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
c3b0: 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f   GEOJSON_MULTIPO
c3c0: 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  INT GEOJSON_COMM
c3d0: 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45  A GEOJSON_CRS GE
c3e0: 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67  OJSON_COLON long
c3f0: 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  _crs GEOJSON_COM
c400: 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20  MA GEOJSON_BBOX 
c410: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
c420: 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
c430: 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f  ET bbox GEOJSON_
c440: 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45  CLOSE_BRACKET GE
c450: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
c460: 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
c470: 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f  ON_COLON multipo
c480: 69 6e 74 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f  int_textz GEOJSO
c490: 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a  N_CLOSE_BRACE",.
c4a0: 20 2f 2a 20 20 38 33 20 2a 2f 20 22 6d 75 6c 74   /*  83 */ "mult
c4b0: 69 70 6f 69 6e 74 5f 74 65 78 74 20 3a 3a 3d 20  ipoint_text ::= 
c4c0: 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
c4d0: 43 4b 45 54 20 70 6f 69 6e 74 5f 63 6f 6f 72 64  CKET point_coord
c4e0: 78 79 20 65 78 74 72 61 5f 70 6f 69 6e 74 73 78  xy extra_pointsx
c4f0: 79 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  y GEOJSON_CLOSE_
c500: 42 52 41 43 4b 45 54 22 2c 0a 20 2f 2a 20 20 38  BRACKET",. /*  8
c510: 34 20 2a 2f 20 22 6d 75 6c 74 69 70 6f 69 6e 74  4 */ "multipoint
c520: 5f 74 65 78 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53  _textz ::= GEOJS
c530: 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20  ON_OPEN_BRACKET 
c540: 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 7a 20 65  point_coordxyz e
c550: 78 74 72 61 5f 70 6f 69 6e 74 73 78 79 7a 20 47  xtra_pointsxyz G
c560: 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
c570: 43 4b 45 54 22 2c 0a 20 2f 2a 20 20 38 35 20 2a  CKET",. /*  85 *
c580: 2f 20 22 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69  / "multilinestri
c590: 6e 67 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  ng ::= GEOJSON_O
c5a0: 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  PEN_BRACE GEOJSO
c5b0: 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_TYPE GEOJSON_C
c5c0: 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c  OLON GEOJSON_MUL
c5d0: 54 49 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f  TILINESTRING GEO
c5e0: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
c5f0: 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
c600: 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 6c 69 6e  N_COLON multilin
c610: 65 73 74 72 69 6e 67 5f 74 65 78 74 20 47 45 4f  estring_text GEO
c620: 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
c630: 22 2c 0a 20 2f 2a 20 20 38 36 20 2a 2f 20 22 6d  ",. /*  86 */ "m
c640: 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 20 3a  ultilinestring :
c650: 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
c660: 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
c670: 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
c680: 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 4c 49   GEOJSON_MULTILI
c690: 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e  NESTRING GEOJSON
c6a0: 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42  _COMMA GEOJSON_B
c6b0: 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  BOX GEOJSON_COLO
c6c0: 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  N GEOJSON_OPEN_B
c6d0: 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a  RACKET bbox GEOJ
c6e0: 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45  SON_CLOSE_BRACKE
c6f0: 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
c700: 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
c710: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c  EOJSON_COLON mul
c720: 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78  tilinestring_tex
c730: 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  t GEOJSON_CLOSE_
c740: 42 52 41 43 45 22 2c 0a 20 2f 2a 20 20 38 37 20  BRACE",. /*  87 
c750: 2a 2f 20 22 6d 75 6c 74 69 6c 69 6e 65 73 74 72  */ "multilinestr
c760: 69 6e 67 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  ing ::= GEOJSON_
c770: 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
c780: 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
c790: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55  COLON GEOJSON_MU
c7a0: 4c 54 49 4c 49 4e 45 53 54 52 49 4e 47 20 47 45  LTILINESTRING GE
c7b0: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
c7c0: 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f  SON_CRS GEOJSON_
c7d0: 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20  COLON short_crs 
c7e0: 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
c7f0: 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f  OJSON_COORDS GEO
c800: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69  JSON_COLON multi
c810: 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 20  linestring_text 
c820: 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
c830: 41 43 45 22 2c 0a 20 2f 2a 20 20 38 38 20 2a 2f  ACE",. /*  88 */
c840: 20 22 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e   "multilinestrin
c850: 67 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50  g ::= GEOJSON_OP
c860: 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e  EN_BRACE GEOJSON
c870: 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _TYPE GEOJSON_CO
c880: 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54  LON GEOJSON_MULT
c890: 49 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a  ILINESTRING GEOJ
c8a0: 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
c8b0: 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
c8c0: 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f  LON long_crs GEO
c8d0: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
c8e0: 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
c8f0: 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 6c 69 6e  N_COLON multilin
c900: 65 73 74 72 69 6e 67 5f 74 65 78 74 20 47 45 4f  estring_text GEO
c910: 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
c920: 22 2c 0a 20 2f 2a 20 20 38 39 20 2a 2f 20 22 6d  ",. /*  89 */ "m
c930: 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 20 3a  ultilinestring :
c940: 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
c950: 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
c960: 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
c970: 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 4c 49   GEOJSON_MULTILI
c980: 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e  NESTRING GEOJSON
c990: 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
c9a0: 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  RS GEOJSON_COLON
c9b0: 20 73 68 6f 72 74 5f 63 72 73 20 47 45 4f 4a 53   short_crs GEOJS
c9c0: 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
c9d0: 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _BBOX GEOJSON_CO
c9e0: 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  LON GEOJSON_OPEN
c9f0: 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45  _BRACKET bbox GE
ca00: 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
ca10: 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  KET GEOJSON_COMM
ca20: 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
ca30: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d   GEOJSON_COLON m
ca40: 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74  ultilinestring_t
ca50: 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  ext GEOJSON_CLOS
ca60: 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a 20 20 39  E_BRACE",. /*  9
ca70: 30 20 2a 2f 20 22 6d 75 6c 74 69 6c 69 6e 65 73  0 */ "multilines
ca80: 74 72 69 6e 67 20 3a 3a 3d 20 47 45 4f 4a 53 4f  tring ::= GEOJSO
ca90: 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
caa0: 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f  JSON_TYPE GEOJSO
cab0: 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
cac0: 4d 55 4c 54 49 4c 49 4e 45 53 54 52 49 4e 47 20  MULTILINESTRING 
cad0: 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
cae0: 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f  OJSON_CRS GEOJSO
caf0: 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73  N_COLON long_crs
cb00: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
cb10: 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a  EOJSON_BBOX GEOJ
cb20: 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
cb30: 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62  N_OPEN_BRACKET b
cb40: 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  box GEOJSON_CLOS
cb50: 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f  E_BRACKET GEOJSO
cb60: 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
cb70: 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43  COORDS GEOJSON_C
cb80: 4f 4c 4f 4e 20 6d 75 6c 74 69 6c 69 6e 65 73 74  OLON multilinest
cb90: 72 69 6e 67 5f 74 65 78 74 20 47 45 4f 4a 53 4f  ring_text GEOJSO
cba0: 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a  N_CLOSE_BRACE",.
cbb0: 20 2f 2a 20 20 39 31 20 2a 2f 20 22 6d 75 6c 74   /*  91 */ "mult
cbc0: 69 6c 69 6e 65 73 74 72 69 6e 67 7a 20 3a 3a 3d  ilinestringz ::=
cbd0: 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
cbe0: 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
cbf0: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
cc00: 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 4c 49 4e 45  EOJSON_MULTILINE
cc10: 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43  STRING GEOJSON_C
cc20: 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
cc30: 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
cc40: 4e 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e  N multilinestrin
cc50: 67 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f  g_textz GEOJSON_
cc60: 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f  CLOSE_BRACE",. /
cc70: 2a 20 20 39 32 20 2a 2f 20 22 6d 75 6c 74 69 6c  *  92 */ "multil
cc80: 69 6e 65 73 74 72 69 6e 67 7a 20 3a 3a 3d 20 47  inestringz ::= G
cc90: 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
cca0: 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47  E GEOJSON_TYPE G
ccb0: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
ccc0: 4a 53 4f 4e 5f 4d 55 4c 54 49 4c 49 4e 45 53 54  JSON_MULTILINEST
ccd0: 52 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  RING GEOJSON_COM
cce0: 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20  MA GEOJSON_BBOX 
ccf0: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
cd00: 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
cd10: 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f  ET bbox GEOJSON_
cd20: 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45  CLOSE_BRACKET GE
cd30: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
cd40: 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
cd50: 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 6c 69  ON_COLON multili
cd60: 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a 20 47  nestring_textz G
cd70: 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
cd80: 43 45 22 2c 0a 20 2f 2a 20 20 39 33 20 2a 2f 20  CE",. /*  93 */ 
cd90: 22 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67  "multilinestring
cda0: 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50  z ::= GEOJSON_OP
cdb0: 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e  EN_BRACE GEOJSON
cdc0: 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _TYPE GEOJSON_CO
cdd0: 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54  LON GEOJSON_MULT
cde0: 49 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a  ILINESTRING GEOJ
cdf0: 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
ce00: 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
ce10: 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45  LON short_crs GE
ce20: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
ce30: 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
ce40: 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 6c 69  ON_COLON multili
ce50: 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a 20 47  nestring_textz G
ce60: 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
ce70: 43 45 22 2c 0a 20 2f 2a 20 20 39 34 20 2a 2f 20  CE",. /*  94 */ 
ce80: 22 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67  "multilinestring
ce90: 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50  z ::= GEOJSON_OP
cea0: 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e  EN_BRACE GEOJSON
ceb0: 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _TYPE GEOJSON_CO
cec0: 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54  LON GEOJSON_MULT
ced0: 49 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a  ILINESTRING GEOJ
cee0: 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
cef0: 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
cf00: 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f  LON long_crs GEO
cf10: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
cf20: 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
cf30: 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 6c 69 6e  N_COLON multilin
cf40: 65 73 74 72 69 6e 67 5f 74 65 78 74 7a 20 47 45  estring_textz GE
cf50: 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
cf60: 45 22 2c 0a 20 2f 2a 20 20 39 35 20 2a 2f 20 22  E",. /*  95 */ "
cf70: 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 7a  multilinestringz
cf80: 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
cf90: 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
cfa0: 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
cfb0: 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49  ON GEOJSON_MULTI
cfc0: 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53  LINESTRING GEOJS
cfd0: 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
cfe0: 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  _CRS GEOJSON_COL
cff0: 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45 4f  ON short_crs GEO
d000: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
d010: 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f  ON_BBOX GEOJSON_
d020: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50  COLON GEOJSON_OP
d030: 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20  EN_BRACKET bbox 
d040: 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
d050: 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f  ACKET GEOJSON_CO
d060: 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52  MMA GEOJSON_COOR
d070: 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  DS GEOJSON_COLON
d080: 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67   multilinestring
d090: 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43  _textz GEOJSON_C
d0a0: 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a  LOSE_BRACE",. /*
d0b0: 20 20 39 36 20 2a 2f 20 22 6d 75 6c 74 69 6c 69    96 */ "multili
d0c0: 6e 65 73 74 72 69 6e 67 7a 20 3a 3a 3d 20 47 45  nestringz ::= GE
d0d0: 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45  OJSON_OPEN_BRACE
d0e0: 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45   GEOJSON_TYPE GE
d0f0: 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
d100: 53 4f 4e 5f 4d 55 4c 54 49 4c 49 4e 45 53 54 52  SON_MULTILINESTR
d110: 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  ING GEOJSON_COMM
d120: 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45  A GEOJSON_CRS GE
d130: 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67  OJSON_COLON long
d140: 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  _crs GEOJSON_COM
d150: 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20  MA GEOJSON_BBOX 
d160: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
d170: 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
d180: 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f  ET bbox GEOJSON_
d190: 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45  CLOSE_BRACKET GE
d1a0: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
d1b0: 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
d1c0: 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 6c 69  ON_COLON multili
d1d0: 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a 20 47  nestring_textz G
d1e0: 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
d1f0: 43 45 22 2c 0a 20 2f 2a 20 20 39 37 20 2a 2f 20  CE",. /*  97 */ 
d200: 22 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67  "multilinestring
d210: 5f 74 65 78 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f  _text ::= GEOJSO
d220: 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 6c  N_OPEN_BRACKET l
d230: 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 20 6d  inestring_text m
d240: 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74  ultilinestring_t
d250: 65 78 74 32 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  ext2 GEOJSON_CLO
d260: 53 45 5f 42 52 41 43 4b 45 54 22 2c 0a 20 2f 2a  SE_BRACKET",. /*
d270: 20 20 39 38 20 2a 2f 20 22 6d 75 6c 74 69 6c 69    98 */ "multili
d280: 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 32 20 3a  nestring_text2 :
d290: 3a 3d 22 2c 0a 20 2f 2a 20 20 39 39 20 2a 2f 20  :=",. /*  99 */ 
d2a0: 22 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67  "multilinestring
d2b0: 5f 74 65 78 74 32 20 3a 3a 3d 20 47 45 4f 4a 53  _text2 ::= GEOJS
d2c0: 4f 4e 5f 43 4f 4d 4d 41 20 6c 69 6e 65 73 74 72  ON_COMMA linestr
d2d0: 69 6e 67 5f 74 65 78 74 20 6d 75 6c 74 69 6c 69  ing_text multili
d2e0: 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 32 22 2c  nestring_text2",
d2f0: 0a 20 2f 2a 20 31 30 30 20 2a 2f 20 22 6d 75 6c  . /* 100 */ "mul
d300: 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78  tilinestring_tex
d310: 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  tz ::= GEOJSON_O
d320: 50 45 4e 5f 42 52 41 43 4b 45 54 20 6c 69 6e 65  PEN_BRACKET line
d330: 73 74 72 69 6e 67 5f 74 65 78 74 7a 20 6d 75 6c  string_textz mul
d340: 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78  tilinestring_tex
d350: 74 7a 32 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  tz2 GEOJSON_CLOS
d360: 45 5f 42 52 41 43 4b 45 54 22 2c 0a 20 2f 2a 20  E_BRACKET",. /* 
d370: 31 30 31 20 2a 2f 20 22 6d 75 6c 74 69 6c 69 6e  101 */ "multilin
d380: 65 73 74 72 69 6e 67 5f 74 65 78 74 7a 32 20 3a  estring_textz2 :
d390: 3a 3d 22 2c 0a 20 2f 2a 20 31 30 32 20 2a 2f 20  :=",. /* 102 */ 
d3a0: 22 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67  "multilinestring
d3b0: 5f 74 65 78 74 7a 32 20 3a 3a 3d 20 47 45 4f 4a  _textz2 ::= GEOJ
d3c0: 53 4f 4e 5f 43 4f 4d 4d 41 20 6c 69 6e 65 73 74  SON_COMMA linest
d3d0: 72 69 6e 67 5f 74 65 78 74 7a 20 6d 75 6c 74 69  ring_textz multi
d3e0: 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a  linestring_textz
d3f0: 32 22 2c 0a 20 2f 2a 20 31 30 33 20 2a 2f 20 22  2",. /* 103 */ "
d400: 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 20 3a 3a 3d  multipolygon ::=
d410: 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
d420: 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
d430: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
d440: 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 4c 59  EOJSON_MULTIPOLY
d450: 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  GON GEOJSON_COMM
d460: 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
d470: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d   GEOJSON_COLON m
d480: 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74  ultipolygon_text
d490: 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
d4a0: 52 41 43 45 22 2c 0a 20 2f 2a 20 31 30 34 20 2a  RACE",. /* 104 *
d4b0: 2f 20 22 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 20  / "multipolygon 
d4c0: 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
d4d0: 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54  _BRACE GEOJSON_T
d4e0: 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  YPE GEOJSON_COLO
d4f0: 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50  N GEOJSON_MULTIP
d500: 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43  OLYGON GEOJSON_C
d510: 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f  OMMA GEOJSON_BBO
d520: 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  X GEOJSON_COLON 
d530: 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
d540: 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f  CKET bbox GEOJSO
d550: 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20  N_CLOSE_BRACKET 
d560: 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
d570: 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f  OJSON_COORDS GEO
d580: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69  JSON_COLON multi
d590: 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 20 47 45 4f  polygon_text GEO
d5a0: 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
d5b0: 22 2c 0a 20 2f 2a 20 31 30 35 20 2a 2f 20 22 6d  ",. /* 105 */ "m
d5c0: 75 6c 74 69 70 6f 6c 79 67 6f 6e 20 3a 3a 3d 20  ultipolygon ::= 
d5d0: 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
d5e0: 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
d5f0: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
d600: 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 4c 59 47  OJSON_MULTIPOLYG
d610: 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  ON GEOJSON_COMMA
d620: 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f   GEOJSON_CRS GEO
d630: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74  JSON_COLON short
d640: 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  _crs GEOJSON_COM
d650: 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44  MA GEOJSON_COORD
d660: 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
d670: 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65 78  multipolygon_tex
d680: 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  t GEOJSON_CLOSE_
d690: 42 52 41 43 45 22 2c 0a 20 2f 2a 20 31 30 36 20  BRACE",. /* 106 
d6a0: 2a 2f 20 22 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e  */ "multipolygon
d6b0: 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
d6c0: 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
d6d0: 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
d6e0: 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49  ON GEOJSON_MULTI
d6f0: 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  POLYGON GEOJSON_
d700: 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52  COMMA GEOJSON_CR
d710: 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
d720: 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e  long_crs GEOJSON
d730: 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
d740: 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  OORDS GEOJSON_CO
d750: 4c 4f 4e 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e  LON multipolygon
d760: 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c  _text GEOJSON_CL
d770: 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a 20  OSE_BRACE",. /* 
d780: 31 30 37 20 2a 2f 20 22 6d 75 6c 74 69 70 6f 6c  107 */ "multipol
d790: 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  ygon ::= GEOJSON
d7a0: 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
d7b0: 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
d7c0: 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d  _COLON GEOJSON_M
d7d0: 55 4c 54 49 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a  ULTIPOLYGON GEOJ
d7e0: 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
d7f0: 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
d800: 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45  LON short_crs GE
d810: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
d820: 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e  SON_BBOX GEOJSON
d830: 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f  _COLON GEOJSON_O
d840: 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78  PEN_BRACKET bbox
d850: 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
d860: 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43  RACKET GEOJSON_C
d870: 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
d880: 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
d890: 4e 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74  N multipolygon_t
d8a0: 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  ext GEOJSON_CLOS
d8b0: 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a 20 31 30  E_BRACE",. /* 10
d8c0: 38 20 2a 2f 20 22 6d 75 6c 74 69 70 6f 6c 79 67  8 */ "multipolyg
d8d0: 6f 6e 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  on ::= GEOJSON_O
d8e0: 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  PEN_BRACE GEOJSO
d8f0: 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_TYPE GEOJSON_C
d900: 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c  OLON GEOJSON_MUL
d910: 54 49 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f  TIPOLYGON GEOJSO
d920: 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
d930: 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  CRS GEOJSON_COLO
d940: 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53  N long_crs GEOJS
d950: 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
d960: 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _BBOX GEOJSON_CO
d970: 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  LON GEOJSON_OPEN
d980: 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45  _BRACKET bbox GE
d990: 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
d9a0: 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  KET GEOJSON_COMM
d9b0: 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
d9c0: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d   GEOJSON_COLON m
d9d0: 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74  ultipolygon_text
d9e0: 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
d9f0: 52 41 43 45 22 2c 0a 20 2f 2a 20 31 30 39 20 2a  RACE",. /* 109 *
da00: 2f 20 22 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 7a  / "multipolygonz
da10: 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
da20: 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
da30: 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
da40: 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49  ON GEOJSON_MULTI
da50: 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  POLYGON GEOJSON_
da60: 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
da70: 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
da80: 4f 4e 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f  ON multipolygon_
da90: 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c  textz GEOJSON_CL
daa0: 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a 20  OSE_BRACE",. /* 
dab0: 31 31 30 20 2a 2f 20 22 6d 75 6c 74 69 70 6f 6c  110 */ "multipol
dac0: 79 67 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f  ygonz ::= GEOJSO
dad0: 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
dae0: 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f  JSON_TYPE GEOJSO
daf0: 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
db00: 4d 55 4c 54 49 50 4f 4c 59 47 4f 4e 20 47 45 4f  MULTIPOLYGON GEO
db10: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
db20: 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f  ON_BBOX GEOJSON_
db30: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50  COLON GEOJSON_OP
db40: 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20  EN_BRACKET bbox 
db50: 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
db60: 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f  ACKET GEOJSON_CO
db70: 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52  MMA GEOJSON_COOR
db80: 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  DS GEOJSON_COLON
db90: 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65   multipolygon_te
dba0: 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  xtz GEOJSON_CLOS
dbb0: 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a 20 31 31  E_BRACE",. /* 11
dbc0: 31 20 2a 2f 20 22 6d 75 6c 74 69 70 6f 6c 79 67  1 */ "multipolyg
dbd0: 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  onz ::= GEOJSON_
dbe0: 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
dbf0: 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
dc00: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55  COLON GEOJSON_MU
dc10: 4c 54 49 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53  LTIPOLYGON GEOJS
dc20: 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
dc30: 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  _CRS GEOJSON_COL
dc40: 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45 4f  ON short_crs GEO
dc50: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
dc60: 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
dc70: 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 6c  N_COLON multipol
dc80: 79 67 6f 6e 5f 74 65 78 74 7a 20 47 45 4f 4a 53  ygon_textz GEOJS
dc90: 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c  ON_CLOSE_BRACE",
dca0: 0a 20 2f 2a 20 31 31 32 20 2a 2f 20 22 6d 75 6c  . /* 112 */ "mul
dcb0: 74 69 70 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d 20 47  tipolygonz ::= G
dcc0: 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
dcd0: 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47  E GEOJSON_TYPE G
dce0: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
dcf0: 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 4c 59 47 4f  JSON_MULTIPOLYGO
dd00: 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  N GEOJSON_COMMA 
dd10: 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a  GEOJSON_CRS GEOJ
dd20: 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63  SON_COLON long_c
dd30: 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  rs GEOJSON_COMMA
dd40: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20   GEOJSON_COORDS 
dd50: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75  GEOJSON_COLON mu
dd60: 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a  ltipolygon_textz
dd70: 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
dd80: 52 41 43 45 22 2c 0a 20 2f 2a 20 31 31 33 20 2a  RACE",. /* 113 *
dd90: 2f 20 22 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 7a  / "multipolygonz
dda0: 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
ddb0: 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
ddc0: 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
ddd0: 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49  ON GEOJSON_MULTI
dde0: 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  POLYGON GEOJSON_
ddf0: 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52  COMMA GEOJSON_CR
de00: 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
de10: 73 68 6f 72 74 5f 63 72 73 20 47 45 4f 4a 53 4f  short_crs GEOJSO
de20: 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
de30: 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  BBOX GEOJSON_COL
de40: 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  ON GEOJSON_OPEN_
de50: 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f  BRACKET bbox GEO
de60: 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b  JSON_CLOSE_BRACK
de70: 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  ET GEOJSON_COMMA
de80: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20   GEOJSON_COORDS 
de90: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75  GEOJSON_COLON mu
dea0: 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a  ltipolygon_textz
deb0: 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
dec0: 52 41 43 45 22 2c 0a 20 2f 2a 20 31 31 34 20 2a  RACE",. /* 114 *
ded0: 2f 20 22 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 7a  / "multipolygonz
dee0: 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
def0: 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
df00: 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
df10: 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49  ON GEOJSON_MULTI
df20: 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  POLYGON GEOJSON_
df30: 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52  COMMA GEOJSON_CR
df40: 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
df50: 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e  long_crs GEOJSON
df60: 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42  _COMMA GEOJSON_B
df70: 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  BOX GEOJSON_COLO
df80: 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  N GEOJSON_OPEN_B
df90: 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a  RACKET bbox GEOJ
dfa0: 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45  SON_CLOSE_BRACKE
dfb0: 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
dfc0: 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
dfd0: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c  EOJSON_COLON mul
dfe0: 74 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a 20  tipolygon_textz 
dff0: 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
e000: 41 43 45 22 2c 0a 20 2f 2a 20 31 31 35 20 2a 2f  ACE",. /* 115 */
e010: 20 22 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74   "multipolygon_t
e020: 65 78 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  ext ::= GEOJSON_
e030: 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 70 6f 6c  OPEN_BRACKET pol
e040: 79 67 6f 6e 5f 74 65 78 74 20 6d 75 6c 74 69 70  ygon_text multip
e050: 6f 6c 79 67 6f 6e 5f 74 65 78 74 32 20 47 45 4f  olygon_text2 GEO
e060: 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b  JSON_CLOSE_BRACK
e070: 45 54 22 2c 0a 20 2f 2a 20 31 31 36 20 2a 2f 20  ET",. /* 116 */ 
e080: 22 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65  "multipolygon_te
e090: 78 74 32 20 3a 3a 3d 22 2c 0a 20 2f 2a 20 31 31  xt2 ::=",. /* 11
e0a0: 37 20 2a 2f 20 22 6d 75 6c 74 69 70 6f 6c 79 67  7 */ "multipolyg
e0b0: 6f 6e 5f 74 65 78 74 32 20 3a 3a 3d 20 47 45 4f  on_text2 ::= GEO
e0c0: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 70 6f 6c 79 67  JSON_COMMA polyg
e0d0: 6f 6e 5f 74 65 78 74 20 6d 75 6c 74 69 70 6f 6c  on_text multipol
e0e0: 79 67 6f 6e 5f 74 65 78 74 32 22 2c 0a 20 2f 2a  ygon_text2",. /*
e0f0: 20 31 31 38 20 2a 2f 20 22 6d 75 6c 74 69 70 6f   118 */ "multipo
e100: 6c 79 67 6f 6e 5f 74 65 78 74 7a 20 3a 3a 3d 20  lygon_textz ::= 
e110: 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
e120: 43 4b 45 54 20 70 6f 6c 79 67 6f 6e 5f 74 65 78  CKET polygon_tex
e130: 74 7a 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f  tz multipolygon_
e140: 74 65 78 74 7a 32 20 47 45 4f 4a 53 4f 4e 5f 43  textz2 GEOJSON_C
e150: 4c 4f 53 45 5f 42 52 41 43 4b 45 54 22 2c 0a 20  LOSE_BRACKET",. 
e160: 2f 2a 20 31 31 39 20 2a 2f 20 22 6d 75 6c 74 69  /* 119 */ "multi
e170: 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a 32 20 3a  polygon_textz2 :
e180: 3a 3d 22 2c 0a 20 2f 2a 20 31 32 30 20 2a 2f 20  :=",. /* 120 */ 
e190: 22 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65  "multipolygon_te
e1a0: 78 74 7a 32 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  xtz2 ::= GEOJSON
e1b0: 5f 43 4f 4d 4d 41 20 70 6f 6c 79 67 6f 6e 5f 74  _COMMA polygon_t
e1c0: 65 78 74 7a 20 6d 75 6c 74 69 70 6f 6c 79 67 6f  extz multipolygo
e1d0: 6e 5f 74 65 78 74 7a 32 22 2c 0a 20 2f 2a 20 31  n_textz2",. /* 1
e1e0: 32 31 20 2a 2f 20 22 67 65 6f 63 6f 6c 6c 20 3a  21 */ "geocoll :
e1f0: 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
e200: 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
e210: 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
e220: 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 45 54 52   GEOJSON_GEOMETR
e230: 59 43 4f 4c 4c 45 43 54 49 4f 4e 20 47 45 4f 4a  YCOLLECTION GEOJ
e240: 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
e250: 4e 5f 47 45 4f 4d 53 20 47 45 4f 4a 53 4f 4e 5f  N_GEOMS GEOJSON_
e260: 43 4f 4c 4f 4e 20 67 65 6f 63 6f 6c 6c 5f 74 65  COLON geocoll_te
e270: 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  xt GEOJSON_CLOSE
e280: 5f 42 52 41 43 45 22 2c 0a 20 2f 2a 20 31 32 32  _BRACE",. /* 122
e290: 20 2a 2f 20 22 67 65 6f 63 6f 6c 6c 20 3a 3a 3d   */ "geocoll ::=
e2a0: 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
e2b0: 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
e2c0: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
e2d0: 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 45 54 52 59 43  EOJSON_GEOMETRYC
e2e0: 4f 4c 4c 45 43 54 49 4f 4e 20 47 45 4f 4a 53 4f  OLLECTION GEOJSO
e2f0: 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
e300: 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  BBOX GEOJSON_COL
e310: 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  ON GEOJSON_OPEN_
e320: 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f  BRACKET bbox GEO
e330: 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b  JSON_CLOSE_BRACK
e340: 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  ET GEOJSON_COMMA
e350: 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 53 20 47   GEOJSON_GEOMS G
e360: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 67 65 6f  EOJSON_COLON geo
e370: 63 6f 6c 6c 5f 74 65 78 74 20 47 45 4f 4a 53 4f  coll_text GEOJSO
e380: 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a  N_CLOSE_BRACE",.
e390: 20 2f 2a 20 31 32 33 20 2a 2f 20 22 67 65 6f 63   /* 123 */ "geoc
e3a0: 6f 6c 6c 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  oll ::= GEOJSON_
e3b0: 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
e3c0: 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
e3d0: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45  COLON GEOJSON_GE
e3e0: 4f 4d 45 54 52 59 43 4f 4c 4c 45 43 54 49 4f 4e  OMETRYCOLLECTION
e3f0: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
e400: 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53  EOJSON_CRS GEOJS
e410: 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63  ON_COLON short_c
e420: 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  rs GEOJSON_COMMA
e430: 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 53 20 47   GEOJSON_GEOMS G
e440: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 67 65 6f  EOJSON_COLON geo
e450: 63 6f 6c 6c 5f 74 65 78 74 20 47 45 4f 4a 53 4f  coll_text GEOJSO
e460: 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a  N_CLOSE_BRACE",.
e470: 20 2f 2a 20 31 32 34 20 2a 2f 20 22 67 65 6f 63   /* 124 */ "geoc
e480: 6f 6c 6c 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  oll ::= GEOJSON_
e490: 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
e4a0: 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
e4b0: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45  COLON GEOJSON_GE
e4c0: 4f 4d 45 54 52 59 43 4f 4c 4c 45 43 54 49 4f 4e  OMETRYCOLLECTION
e4d0: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
e4e0: 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53  EOJSON_CRS GEOJS
e4f0: 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72  ON_COLON long_cr
e500: 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  s GEOJSON_COMMA 
e510: 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 53 20 47 45  GEOJSON_GEOMS GE
e520: 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 67 65 6f 63  OJSON_COLON geoc
e530: 6f 6c 6c 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e  oll_text GEOJSON
e540: 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20  _CLOSE_BRACE",. 
e550: 2f 2a 20 31 32 35 20 2a 2f 20 22 67 65 6f 63 6f  /* 125 */ "geoco
e560: 6c 6c 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  ll ::= GEOJSON_O
e570: 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  PEN_BRACE GEOJSO
e580: 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_TYPE GEOJSON_C
e590: 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f  OLON GEOJSON_GEO
e5a0: 4d 45 54 52 59 43 4f 4c 4c 45 43 54 49 4f 4e 20  METRYCOLLECTION 
e5b0: 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
e5c0: 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f  OJSON_CRS GEOJSO
e5d0: 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72  N_COLON short_cr
e5e0: 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  s GEOJSON_COMMA 
e5f0: 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f  GEOJSON_BBOX GEO
e600: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
e610: 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20  ON_OPEN_BRACKET 
e620: 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  bbox GEOJSON_CLO
e630: 53 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53  SE_BRACKET GEOJS
e640: 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
e650: 5f 47 45 4f 4d 53 20 47 45 4f 4a 53 4f 4e 5f 43  _GEOMS GEOJSON_C
e660: 4f 4c 4f 4e 20 67 65 6f 63 6f 6c 6c 5f 74 65 78  OLON geocoll_tex
e670: 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  t GEOJSON_CLOSE_
e680: 42 52 41 43 45 22 2c 0a 20 2f 2a 20 31 32 36 20  BRACE",. /* 126 
e690: 2a 2f 20 22 67 65 6f 63 6f 6c 6c 20 3a 3a 3d 20  */ "geocoll ::= 
e6a0: 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
e6b0: 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
e6c0: 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
e6d0: 4f 4a 53 4f 4e 5f 47 45 4f 4d 45 54 52 59 43 4f  OJSON_GEOMETRYCO
e6e0: 4c 4c 45 43 54 49 4f 4e 20 47 45 4f 4a 53 4f 4e  LLECTION GEOJSON
e6f0: 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
e700: 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  RS GEOJSON_COLON
e710: 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f   long_crs GEOJSO
e720: 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
e730: 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  BBOX GEOJSON_COL
e740: 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  ON GEOJSON_OPEN_
e750: 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f  BRACKET bbox GEO
e760: 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b  JSON_CLOSE_BRACK
e770: 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  ET GEOJSON_COMMA
e780: 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 53 20 47   GEOJSON_GEOMS G
e790: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 67 65 6f  EOJSON_COLON geo
e7a0: 63 6f 6c 6c 5f 74 65 78 74 20 47 45 4f 4a 53 4f  coll_text GEOJSO
e7b0: 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a  N_CLOSE_BRACE",.
e7c0: 20 2f 2a 20 31 32 37 20 2a 2f 20 22 67 65 6f 63   /* 127 */ "geoc
e7d0: 6f 6c 6c 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  oll ::= GEOJSON_
e7e0: 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
e7f0: 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
e800: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45  COLON GEOJSON_GE
e810: 4f 4d 45 54 52 59 43 4f 4c 4c 45 43 54 49 4f 4e  OMETRYCOLLECTION
e820: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
e830: 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 53 20 47 45 4f  EOJSON_GEOMS GEO
e840: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 67 65 6f 63 6f  JSON_COLON geoco
e850: 6c 6c 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e  ll_textz GEOJSON
e860: 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20  _CLOSE_BRACE",. 
e870: 2f 2a 20 31 32 38 20 2a 2f 20 22 67 65 6f 63 6f  /* 128 */ "geoco
e880: 6c 6c 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  llz ::= GEOJSON_
e890: 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
e8a0: 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
e8b0: 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45  COLON GEOJSON_GE
e8c0: 4f 4d 45 54 52 59 43 4f 4c 4c 45 43 54 49 4f 4e  OMETRYCOLLECTION
e8d0: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
e8e0: 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a  EOJSON_BBOX GEOJ
e8f0: 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
e900: 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62  N_OPEN_BRACKET b
e910: 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  box GEOJSON_CLOS
e920: 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f  E_BRACKET GEOJSO
e930: 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
e940: 47 45 4f 4d 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  GEOMS GEOJSON_CO
e950: 4c 4f 4e 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74  LON geocoll_text
e960: 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  z GEOJSON_CLOSE_
e970: 42 52 41 43 45 22 2c 0a 20 2f 2a 20 31 32 39 20  BRACE",. /* 129 
e980: 2a 2f 20 22 67 65 6f 63 6f 6c 6c 7a 20 3a 3a 3d  */ "geocollz ::=
e990: 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
e9a0: 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
e9b0: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
e9c0: 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 45 54 52 59 43  EOJSON_GEOMETRYC
e9d0: 4f 4c 4c 45 43 54 49 4f 4e 20 47 45 4f 4a 53 4f  OLLECTION GEOJSO
e9e0: 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
e9f0: 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  CRS GEOJSON_COLO
ea00: 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45 4f 4a  N short_crs GEOJ
ea10: 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
ea20: 4e 5f 47 45 4f 4d 53 20 47 45 4f 4a 53 4f 4e 5f  N_GEOMS GEOJSON_
ea30: 43 4f 4c 4f 4e 20 67 65 6f 63 6f 6c 6c 5f 74 65  COLON geocoll_te
ea40: 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  xtz GEOJSON_CLOS
ea50: 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a 20 31 33  E_BRACE",. /* 13
ea60: 30 20 2a 2f 20 22 67 65 6f 63 6f 6c 6c 7a 20 3a  0 */ "geocollz :
ea70: 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
ea80: 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
ea90: 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
eaa0: 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 45 54 52   GEOJSON_GEOMETR
eab0: 59 43 4f 4c 4c 45 43 54 49 4f 4e 20 47 45 4f 4a  YCOLLECTION GEOJ
eac0: 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
ead0: 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
eae0: 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f  LON long_crs GEO
eaf0: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
eb00: 4f 4e 5f 47 45 4f 4d 53 20 47 45 4f 4a 53 4f 4e  ON_GEOMS GEOJSON
eb10: 5f 43 4f 4c 4f 4e 20 67 65 6f 63 6f 6c 6c 5f 74  _COLON geocoll_t
eb20: 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  extz GEOJSON_CLO
eb30: 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a 20 31  SE_BRACE",. /* 1
eb40: 33 31 20 2a 2f 20 22 67 65 6f 63 6f 6c 6c 7a 20  31 */ "geocollz 
eb50: 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
eb60: 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54  _BRACE GEOJSON_T
eb70: 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  YPE GEOJSON_COLO
eb80: 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 45 54  N GEOJSON_GEOMET
eb90: 52 59 43 4f 4c 4c 45 43 54 49 4f 4e 20 47 45 4f  RYCOLLECTION GEO
eba0: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
ebb0: 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43  ON_CRS GEOJSON_C
ebc0: 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47  OLON short_crs G
ebd0: 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
ebe0: 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f  JSON_BBOX GEOJSO
ebf0: 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
ec00: 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f  OPEN_BRACKET bbo
ec10: 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  x GEOJSON_CLOSE_
ec20: 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f  BRACKET GEOJSON_
ec30: 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 47 45  COMMA GEOJSON_GE
ec40: 4f 4d 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  OMS GEOJSON_COLO
ec50: 4e 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 20  N geocoll_textz 
ec60: 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
ec70: 41 43 45 22 2c 0a 20 2f 2a 20 31 33 32 20 2a 2f  ACE",. /* 132 */
ec80: 20 22 67 65 6f 63 6f 6c 6c 7a 20 3a 3a 3d 20 47   "geocollz ::= G
ec90: 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
eca0: 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47  E GEOJSON_TYPE G
ecb0: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
ecc0: 4a 53 4f 4e 5f 47 45 4f 4d 45 54 52 59 43 4f 4c  JSON_GEOMETRYCOL
ecd0: 4c 45 43 54 49 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  LECTION GEOJSON_
ece0: 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52  COMMA GEOJSON_CR
ecf0: 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
ed00: 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e  long_crs GEOJSON
ed10: 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42  _COMMA GEOJSON_B
ed20: 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  BOX GEOJSON_COLO
ed30: 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  N GEOJSON_OPEN_B
ed40: 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a  RACKET bbox GEOJ
ed50: 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45  SON_CLOSE_BRACKE
ed60: 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
ed70: 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 53 20 47 45  GEOJSON_GEOMS GE
ed80: 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 67 65 6f 63  OJSON_COLON geoc
ed90: 6f 6c 6c 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f  oll_textz GEOJSO
eda0: 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a  N_CLOSE_BRACE",.
edb0: 20 2f 2a 20 31 33 33 20 2a 2f 20 22 67 65 6f 63   /* 133 */ "geoc
edc0: 6f 6c 6c 5f 74 65 78 74 20 3a 3a 3d 20 47 45 4f  oll_text ::= GEO
edd0: 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45  JSON_OPEN_BRACKE
ede0: 54 20 63 6f 6c 6c 5f 70 6f 69 6e 74 20 67 65 6f  T coll_point geo
edf0: 63 6f 6c 6c 5f 74 65 78 74 32 20 47 45 4f 4a 53  coll_text2 GEOJS
ee00: 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54  ON_CLOSE_BRACKET
ee10: 22 2c 0a 20 2f 2a 20 31 33 34 20 2a 2f 20 22 67  ",. /* 134 */ "g
ee20: 65 6f 63 6f 6c 6c 5f 74 65 78 74 20 3a 3a 3d 20  eocoll_text ::= 
ee30: 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
ee40: 43 4b 45 54 20 63 6f 6c 6c 5f 6c 69 6e 65 73 74  CKET coll_linest
ee50: 72 69 6e 67 20 67 65 6f 63 6f 6c 6c 5f 74 65 78  ring geocoll_tex
ee60: 74 32 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  t2 GEOJSON_CLOSE
ee70: 5f 42 52 41 43 4b 45 54 22 2c 0a 20 2f 2a 20 31  _BRACKET",. /* 1
ee80: 33 35 20 2a 2f 20 22 67 65 6f 63 6f 6c 6c 5f 74  35 */ "geocoll_t
ee90: 65 78 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  ext ::= GEOJSON_
eea0: 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 63 6f 6c  OPEN_BRACKET col
eeb0: 6c 5f 70 6f 6c 79 67 6f 6e 20 67 65 6f 63 6f 6c  l_polygon geocol
eec0: 6c 5f 74 65 78 74 32 20 47 45 4f 4a 53 4f 4e 5f  l_text2 GEOJSON_
eed0: 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 22 2c 0a  CLOSE_BRACKET",.
eee0: 20 2f 2a 20 31 33 36 20 2a 2f 20 22 67 65 6f 63   /* 136 */ "geoc
eef0: 6f 6c 6c 5f 74 65 78 74 32 20 3a 3a 3d 22 2c 0a  oll_text2 ::=",.
ef00: 20 2f 2a 20 31 33 37 20 2a 2f 20 22 67 65 6f 63   /* 137 */ "geoc
ef10: 6f 6c 6c 5f 74 65 78 74 32 20 3a 3a 3d 20 47 45  oll_text2 ::= GE
ef20: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 63 6f 6c 6c  OJSON_COMMA coll
ef30: 5f 70 6f 69 6e 74 20 67 65 6f 63 6f 6c 6c 5f 74  _point geocoll_t
ef40: 65 78 74 32 22 2c 0a 20 2f 2a 20 31 33 38 20 2a  ext2",. /* 138 *
ef50: 2f 20 22 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 32  / "geocoll_text2
ef60: 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d   ::= GEOJSON_COM
ef70: 4d 41 20 63 6f 6c 6c 5f 6c 69 6e 65 73 74 72 69  MA coll_linestri
ef80: 6e 67 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 32  ng geocoll_text2
ef90: 22 2c 0a 20 2f 2a 20 31 33 39 20 2a 2f 20 22 67  ",. /* 139 */ "g
efa0: 65 6f 63 6f 6c 6c 5f 74 65 78 74 32 20 3a 3a 3d  eocoll_text2 ::=
efb0: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 63   GEOJSON_COMMA c
efc0: 6f 6c 6c 5f 70 6f 6c 79 67 6f 6e 20 67 65 6f 63  oll_polygon geoc
efd0: 6f 6c 6c 5f 74 65 78 74 32 22 2c 0a 20 2f 2a 20  oll_text2",. /* 
efe0: 31 34 30 20 2a 2f 20 22 67 65 6f 63 6f 6c 6c 5f  140 */ "geocoll_
eff0: 74 65 78 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f  textz ::= GEOJSO
f000: 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 63  N_OPEN_BRACKET c
f010: 6f 6c 6c 5f 70 6f 69 6e 74 7a 20 67 65 6f 63 6f  oll_pointz geoco
f020: 6c 6c 5f 74 65 78 74 7a 32 20 47 45 4f 4a 53 4f  ll_textz2 GEOJSO
f030: 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 22  N_CLOSE_BRACKET"
f040: 2c 0a 20 2f 2a 20 31 34 31 20 2a 2f 20 22 67 65  ,. /* 141 */ "ge
f050: 6f 63 6f 6c 6c 5f 74 65 78 74 7a 20 3a 3a 3d 20  ocoll_textz ::= 
f060: 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
f070: 43 4b 45 54 20 63 6f 6c 6c 5f 6c 69 6e 65 73 74  CKET coll_linest
f080: 72 69 6e 67 7a 20 67 65 6f 63 6f 6c 6c 5f 74 65  ringz geocoll_te
f090: 78 74 7a 32 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  xtz2 GEOJSON_CLO
f0a0: 53 45 5f 42 52 41 43 4b 45 54 22 2c 0a 20 2f 2a  SE_BRACKET",. /*
f0b0: 20 31 34 32 20 2a 2f 20 22 67 65 6f 63 6f 6c 6c   142 */ "geocoll
f0c0: 5f 74 65 78 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53  _textz ::= GEOJS
f0d0: 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20  ON_OPEN_BRACKET 
f0e0: 63 6f 6c 6c 5f 70 6f 6c 79 67 6f 6e 7a 20 67 65  coll_polygonz ge
f0f0: 6f 63 6f 6c 6c 5f 74 65 78 74 7a 32 20 47 45 4f  ocoll_textz2 GEO
f100: 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b  JSON_CLOSE_BRACK
f110: 45 54 22 2c 0a 20 2f 2a 20 31 34 33 20 2a 2f 20  ET",. /* 143 */ 
f120: 22 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 32 20  "geocoll_textz2 
f130: 3a 3a 3d 22 2c 0a 20 2f 2a 20 31 34 34 20 2a 2f  ::=",. /* 144 */
f140: 20 22 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 32   "geocoll_textz2
f150: 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d   ::= GEOJSON_COM
f160: 4d 41 20 63 6f 6c 6c 5f 70 6f 69 6e 74 7a 20 67  MA coll_pointz g
f170: 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 32 22 2c 0a  eocoll_textz2",.
f180: 20 2f 2a 20 31 34 35 20 2a 2f 20 22 67 65 6f 63   /* 145 */ "geoc
f190: 6f 6c 6c 5f 74 65 78 74 7a 32 20 3a 3a 3d 20 47  oll_textz2 ::= G
f1a0: 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 63 6f 6c  EOJSON_COMMA col
f1b0: 6c 5f 6c 69 6e 65 73 74 72 69 6e 67 7a 20 67 65  l_linestringz ge
f1c0: 6f 63 6f 6c 6c 5f 74 65 78 74 7a 32 22 2c 0a 20  ocoll_textz2",. 
f1d0: 2f 2a 20 31 34 36 20 2a 2f 20 22 67 65 6f 63 6f  /* 146 */ "geoco
f1e0: 6c 6c 5f 74 65 78 74 7a 32 20 3a 3a 3d 20 47 45  ll_textz2 ::= GE
f1f0: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 63 6f 6c 6c  OJSON_COMMA coll
f200: 5f 70 6f 6c 79 67 6f 6e 7a 20 67 65 6f 63 6f 6c  _polygonz geocol
f210: 6c 5f 74 65 78 74 7a 32 22 2c 0a 20 2f 2a 20 31  l_textz2",. /* 1
f220: 34 37 20 2a 2f 20 22 63 6f 6c 6c 5f 70 6f 69 6e  47 */ "coll_poin
f230: 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50  t ::= GEOJSON_OP
f240: 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e  EN_BRACE GEOJSON
f250: 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _TYPE GEOJSON_CO
f260: 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49 4e  LON GEOJSON_POIN
f270: 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
f280: 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
f290: 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69  EOJSON_COLON poi
f2a0: 6e 74 5f 63 6f 6f 72 64 78 79 20 47 45 4f 4a 53  nt_coordxy GEOJS
f2b0: 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c  ON_CLOSE_BRACE",
f2c0: 0a 20 2f 2a 20 31 34 38 20 2a 2f 20 22 63 6f 6c  . /* 148 */ "col
f2d0: 6c 5f 70 6f 69 6e 74 7a 20 3a 3a 3d 20 47 45 4f  l_pointz ::= GEO
f2e0: 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
f2f0: 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
f300: 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
f310: 4f 4e 5f 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e  ON_POINT GEOJSON
f320: 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
f330: 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  OORDS GEOJSON_CO
f340: 4c 4f 4e 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78  LON point_coordx
f350: 79 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  yz GEOJSON_CLOSE
f360: 5f 42 52 41 43 45 22 2c 0a 20 2f 2a 20 31 34 39  _BRACE",. /* 149
f370: 20 2a 2f 20 22 63 6f 6c 6c 5f 6c 69 6e 65 73 74   */ "coll_linest
f380: 72 69 6e 67 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  ring ::= GEOJSON
f390: 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
f3a0: 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
f3b0: 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4c  _COLON GEOJSON_L
f3c0: 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f  INESTRING GEOJSO
f3d0: 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
f3e0: 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43  COORDS GEOJSON_C
f3f0: 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72 69 6e 67 5f  OLON linestring_
f400: 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  text GEOJSON_CLO
f410: 53 45 5f 42 52 41 43 45 22 2c 0a 20 2f 2a 20 31  SE_BRACE",. /* 1
f420: 35 30 20 2a 2f 20 22 63 6f 6c 6c 5f 6c 69 6e 65  50 */ "coll_line
f430: 73 74 72 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f 4a  stringz ::= GEOJ
f440: 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
f450: 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
f460: 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
f470: 4e 5f 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f  N_LINESTRING GEO
f480: 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
f490: 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
f4a0: 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72 69  N_COLON linestri
f4b0: 6e 67 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e  ng_textz GEOJSON
f4c0: 5f 43 4c 4f 53 45 5f 42 52 41 43 45 22 2c 0a 20  _CLOSE_BRACE",. 
f4d0: 2f 2a 20 31 35 31 20 2a 2f 20 22 63 6f 6c 6c 5f  /* 151 */ "coll_
f4e0: 70 6f 6c 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f 4a  polygon ::= GEOJ
f4f0: 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
f500: 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
f510: 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
f520: 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f  N_POLYGON GEOJSO
f530: 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
f540: 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43  COORDS GEOJSON_C
f550: 4f 4c 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65 78  OLON polygon_tex
f560: 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  t GEOJSON_CLOSE_
f570: 42 52 41 43 45 22 2c 0a 20 2f 2a 20 31 35 32 20  BRACE",. /* 152 
f580: 2a 2f 20 22 63 6f 6c 6c 5f 70 6f 6c 79 67 6f 6e  */ "coll_polygon
f590: 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50  z ::= GEOJSON_OP
f5a0: 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e  EN_BRACE GEOJSON
f5b0: 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _TYPE GEOJSON_CO
f5c0: 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 4c 59  LON GEOJSON_POLY
f5d0: 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  GON GEOJSON_COMM
f5e0: 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
f5f0: 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70   GEOJSON_COLON p
f600: 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a 20 47 45 4f  olygon_textz GEO
f610: 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
f620: 22 2c 0a 20 2f 2a 20 31 35 33 20 2a 2f 20 22 6d  ",. /* 153 */ "m
f630: 61 69 6e 20 3a 3a 3d 20 69 6e 22 2c 0a 20 2f 2a  ain ::= in",. /*
f640: 20 31 35 34 20 2a 2f 20 22 69 6e 20 3a 3a 3d 22   154 */ "in ::="
f650: 2c 0a 20 2f 2a 20 31 35 35 20 2a 2f 20 22 69 6e  ,. /* 155 */ "in
f660: 20 3a 3a 3d 20 69 6e 20 73 74 61 74 65 20 47 45   ::= in state GE
f670: 4f 4a 53 4f 4e 5f 4e 45 57 4c 49 4e 45 22 2c 0a  OJSON_NEWLINE",.
f680: 20 2f 2a 20 31 35 36 20 2a 2f 20 22 73 74 61 74   /* 156 */ "stat
f690: 65 20 3a 3a 3d 20 70 72 6f 67 72 61 6d 22 2c 0a  e ::= program",.
f6a0: 20 2f 2a 20 31 35 37 20 2a 2f 20 22 70 72 6f 67   /* 157 */ "prog
f6b0: 72 61 6d 20 3a 3a 3d 20 67 65 6f 5f 74 65 78 74  ram ::= geo_text
f6c0: 22 2c 0a 20 2f 2a 20 31 35 38 20 2a 2f 20 22 62  ",. /* 158 */ "b
f6d0: 62 6f 78 20 3a 3a 3d 20 63 6f 6f 72 64 20 47 45  box ::= coord GE
f6e0: 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 63 6f 6f 72  OJSON_COMMA coor
f6f0: 64 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  d GEOJSON_COMMA 
f700: 63 6f 6f 72 64 20 47 45 4f 4a 53 4f 4e 5f 43 4f  coord GEOJSON_CO
f710: 4d 4d 41 20 63 6f 6f 72 64 22 2c 0a 7d 3b 0a 23  MMA coord",.};.#
f720: 65 6e 64 69 66 20 2f 2a 20 4e 44 45 42 55 47 20  endif /* NDEBUG 
f730: 2a 2f 0a 0a 0a 23 69 66 20 59 59 53 54 41 43 4b  */...#if YYSTACK
f740: 44 45 50 54 48 3c 3d 30 0a 2f 2a 0a 2a 2a 20 54  DEPTH<=0./*.** T
f750: 72 79 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74  ry to increase t
f760: 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 70  he size of the p
f770: 61 72 73 65 72 20 73 74 61 63 6b 2e 20 20 52 65  arser stack.  Re
f780: 74 75 72 6e 20 74 68 65 20 6e 75 6d 62 65 72 0a  turn the number.
f790: 2a 2a 20 6f 66 20 65 72 72 6f 72 73 2e 20 20 52  ** of errors.  R
f7a0: 65 74 75 72 6e 20 30 20 6f 6e 20 73 75 63 63 65  eturn 0 on succe
f7b0: 73 73 2e 0a 2a 2f 0a 73 74 61 74 69 63 20 69 6e  ss..*/.static in
f7c0: 74 20 79 79 47 72 6f 77 53 74 61 63 6b 28 79 79  t yyGrowStack(yy
f7d0: 50 61 72 73 65 72 20 2a 70 29 7b 0a 20 20 69 6e  Parser *p){.  in
f7e0: 74 20 6e 65 77 53 69 7a 65 3b 0a 20 20 69 6e 74  t newSize;.  int
f7f0: 20 69 64 78 3b 0a 20 20 79 79 53 74 61 63 6b 45   idx;.  yyStackE
f800: 6e 74 72 79 20 2a 70 4e 65 77 3b 0a 0a 20 20 6e  ntry *pNew;..  n
f810: 65 77 53 69 7a 65 20 3d 20 70 2d 3e 79 79 73 74  ewSize = p->yyst
f820: 6b 73 7a 2a 32 20 2b 20 31 30 30 3b 0a 20 20 69  ksz*2 + 100;.  i
f830: 64 78 20 3d 20 70 2d 3e 79 79 74 6f 73 20 3f 20  dx = p->yytos ? 
f840: 28 69 6e 74 29 28 70 2d 3e 79 79 74 6f 73 20 2d  (int)(p->yytos -
f850: 20 70 2d 3e 79 79 73 74 61 63 6b 29 20 3a 20 30   p->yystack) : 0
f860: 3b 0a 20 20 69 66 28 20 70 2d 3e 79 79 73 74 61  ;.  if( p->yysta
f870: 63 6b 3d 3d 26 70 2d 3e 79 79 73 74 6b 30 20 29  ck==&p->yystk0 )
f880: 7b 0a 20 20 20 20 70 4e 65 77 20 3d 20 6d 61 6c  {.    pNew = mal
f890: 6c 6f 63 28 6e 65 77 53 69 7a 65 2a 73 69 7a 65  loc(newSize*size
f8a0: 6f 66 28 70 4e 65 77 5b 30 5d 29 29 3b 0a 20 20  of(pNew[0]));.  
f8b0: 20 20 69 66 28 20 70 4e 65 77 20 29 20 70 4e 65    if( pNew ) pNe
f8c0: 77 5b 30 5d 20 3d 20 70 2d 3e 79 79 73 74 6b 30  w[0] = p->yystk0
f8d0: 3b 0a 20 20 7d 65 6c 73 65 7b 0a 20 20 20 20 70  ;.  }else{.    p
f8e0: 4e 65 77 20 3d 20 72 65 61 6c 6c 6f 63 28 70 2d  New = realloc(p-
f8f0: 3e 79 79 73 74 61 63 6b 2c 20 6e 65 77 53 69 7a  >yystack, newSiz
f900: 65 2a 73 69 7a 65 6f 66 28 70 4e 65 77 5b 30 5d  e*sizeof(pNew[0]
f910: 29 29 3b 0a 20 20 7d 0a 20 20 69 66 28 20 70 4e  ));.  }.  if( pN
f920: 65 77 20 29 7b 0a 20 20 20 20 70 2d 3e 79 79 73  ew ){.    p->yys
f930: 74 61 63 6b 20 3d 20 70 4e 65 77 3b 0a 20 20 20  tack = pNew;.   
f940: 20 70 2d 3e 79 79 74 6f 73 20 3d 20 26 70 2d 3e   p->yytos = &p->
f950: 79 79 73 74 61 63 6b 5b 69 64 78 5d 3b 0a 23 69  yystack[idx];.#i
f960: 66 6e 64 65 66 20 4e 44 45 42 55 47 0a 20 20 20  fndef NDEBUG.   
f970: 20 69 66 28 20 79 79 54 72 61 63 65 46 49 4c 45   if( yyTraceFILE
f980: 20 29 7b 0a 20 20 20 20 20 20 66 70 72 69 6e 74   ){.      fprint
f990: 66 28 79 79 54 72 61 63 65 46 49 4c 45 2c 22 25  f(yyTraceFILE,"%
f9a0: 73 53 74 61 63 6b 20 67 72 6f 77 73 20 66 72 6f  sStack grows fro
f9b0: 6d 20 25 64 20 74 6f 20 25 64 20 65 6e 74 72 69  m %d to %d entri
f9c0: 65 73 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20  es.\n",.        
f9d0: 20 20 20 20 20 20 79 79 54 72 61 63 65 50 72 6f        yyTracePro
f9e0: 6d 70 74 2c 20 70 2d 3e 79 79 73 74 6b 73 7a 2c  mpt, p->yystksz,
f9f0: 20 6e 65 77 53 69 7a 65 29 3b 0a 20 20 20 20 7d   newSize);.    }
fa00: 0a 23 65 6e 64 69 66 0a 20 20 20 20 70 2d 3e 79  .#endif.    p->y
fa10: 79 73 74 6b 73 7a 20 3d 20 6e 65 77 53 69 7a 65  ystksz = newSize
fa20: 3b 0a 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 70  ;.  }.  return p
fa30: 4e 65 77 3d 3d 30 3b 20 0a 7d 0a 23 65 6e 64 69  New==0; .}.#endi
fa40: 66 0a 0a 2f 2a 20 44 61 74 61 74 79 70 65 20 6f  f../* Datatype o
fa50: 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 74  f the argument t
fa60: 6f 20 74 68 65 20 6d 65 6d 6f 72 79 20 61 6c 6c  o the memory all
fa70: 6f 63 61 74 65 64 20 70 61 73 73 65 64 20 61 73  ocated passed as
fa80: 20 74 68 65 0a 2a 2a 20 73 65 63 6f 6e 64 20 61   the.** second a
fa90: 72 67 75 6d 65 6e 74 20 74 6f 20 50 61 72 73 65  rgument to Parse
faa0: 41 6c 6c 6f 63 28 29 20 62 65 6c 6f 77 2e 20 20  Alloc() below.  
fab0: 54 68 69 73 20 63 61 6e 20 62 65 20 63 68 61 6e  This can be chan
fac0: 67 65 64 20 62 79 0a 2a 2a 20 70 75 74 74 69 6e  ged by.** puttin
fad0: 67 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65  g an appropriate
fae0: 20 23 64 65 66 69 6e 65 20 69 6e 20 74 68 65 20   #define in the 
faf0: 25 69 6e 63 6c 75 64 65 20 73 65 63 74 69 6f 6e  %include section
fb00: 20 6f 66 20 74 68 65 20 69 6e 70 75 74 0a 2a 2a   of the input.**
fb10: 20 67 72 61 6d 6d 61 72 2e 0a 2a 2f 0a 23 69 66   grammar..*/.#if
fb20: 6e 64 65 66 20 59 59 4d 41 4c 4c 4f 43 41 52 47  ndef YYMALLOCARG
fb30: 54 59 50 45 0a 23 20 64 65 66 69 6e 65 20 59 59  TYPE.# define YY
fb40: 4d 41 4c 4c 4f 43 41 52 47 54 59 50 45 20 73 69  MALLOCARGTYPE si
fb50: 7a 65 5f 74 0a 23 65 6e 64 69 66 0a 0a 2f 2a 20  ze_t.#endif../* 
fb60: 49 6e 69 74 69 61 6c 69 7a 65 20 61 20 6e 65 77  Initialize a new
fb70: 20 70 61 72 73 65 72 20 74 68 61 74 20 68 61 73   parser that has
fb80: 20 61 6c 72 65 61 64 79 20 62 65 65 6e 20 61 6c   already been al
fb90: 6c 6f 63 61 74 65 64 2e 0a 2a 2f 0a 76 6f 69 64  located..*/.void
fba0: 20 50 61 72 73 65 49 6e 69 74 28 76 6f 69 64 20   ParseInit(void 
fbb0: 2a 79 79 70 50 61 72 73 65 72 29 7b 0a 20 20 79  *yypParser){.  y
fbc0: 79 50 61 72 73 65 72 20 2a 70 50 61 72 73 65 72  yParser *pParser
fbd0: 20 3d 20 28 79 79 50 61 72 73 65 72 2a 29 79 79   = (yyParser*)yy
fbe0: 70 50 61 72 73 65 72 3b 0a 23 69 66 64 65 66 20  pParser;.#ifdef 
fbf0: 59 59 54 52 41 43 4b 4d 41 58 53 54 41 43 4b 44  YYTRACKMAXSTACKD
fc00: 45 50 54 48 0a 20 20 70 50 61 72 73 65 72 2d 3e  EPTH.  pParser->
fc10: 79 79 68 77 6d 20 3d 20 30 3b 0a 23 65 6e 64 69  yyhwm = 0;.#endi
fc20: 66 0a 23 69 66 20 59 59 53 54 41 43 4b 44 45 50  f.#if YYSTACKDEP
fc30: 54 48 3c 3d 30 0a 20 20 70 50 61 72 73 65 72 2d  TH<=0.  pParser-
fc40: 3e 79 79 74 6f 73 20 3d 20 4e 55 4c 4c 3b 0a 20  >yytos = NULL;. 
fc50: 20 70 50 61 72 73 65 72 2d 3e 79 79 73 74 61 63   pParser->yystac
fc60: 6b 20 3d 20 4e 55 4c 4c 3b 0a 20 20 70 50 61 72  k = NULL;.  pPar
fc70: 73 65 72 2d 3e 79 79 73 74 6b 73 7a 20 3d 20 30  ser->yystksz = 0
fc80: 3b 0a 20 20 69 66 28 20 79 79 47 72 6f 77 53 74  ;.  if( yyGrowSt
fc90: 61 63 6b 28 70 50 61 72 73 65 72 29 20 29 7b 0a  ack(pParser) ){.
fca0: 20 20 20 20 70 50 61 72 73 65 72 2d 3e 79 79 73      pParser->yys
fcb0: 74 61 63 6b 20 3d 20 26 70 50 61 72 73 65 72 2d  tack = &pParser-
fcc0: 3e 79 79 73 74 6b 30 3b 0a 20 20 20 20 70 50 61  >yystk0;.    pPa
fcd0: 72 73 65 72 2d 3e 79 79 73 74 6b 73 7a 20 3d 20  rser->yystksz = 
fce0: 31 3b 0a 20 20 7d 0a 23 65 6e 64 69 66 0a 23 69  1;.  }.#endif.#i
fcf0: 66 6e 64 65 66 20 59 59 4e 4f 45 52 52 4f 52 52  fndef YYNOERRORR
fd00: 45 43 4f 56 45 52 59 0a 20 20 70 50 61 72 73 65  ECOVERY.  pParse
fd10: 72 2d 3e 79 79 65 72 72 63 6e 74 20 3d 20 2d 31  r->yyerrcnt = -1
fd20: 3b 0a 23 65 6e 64 69 66 0a 20 20 70 50 61 72 73  ;.#endif.  pPars
fd30: 65 72 2d 3e 79 79 74 6f 73 20 3d 20 70 50 61 72  er->yytos = pPar
fd40: 73 65 72 2d 3e 79 79 73 74 61 63 6b 3b 0a 20 20  ser->yystack;.  
fd50: 70 50 61 72 73 65 72 2d 3e 79 79 73 74 61 63 6b  pParser->yystack
fd60: 5b 30 5d 2e 73 74 61 74 65 6e 6f 20 3d 20 30 3b  [0].stateno = 0;
fd70: 0a 20 20 70 50 61 72 73 65 72 2d 3e 79 79 73 74  .  pParser->yyst
fd80: 61 63 6b 5b 30 5d 2e 6d 61 6a 6f 72 20 3d 20 30  ack[0].major = 0
fd90: 3b 0a 23 69 66 20 59 59 53 54 41 43 4b 44 45 50  ;.#if YYSTACKDEP
fda0: 54 48 3e 30 0a 20 20 70 50 61 72 73 65 72 2d 3e  TH>0.  pParser->
fdb0: 79 79 73 74 61 63 6b 45 6e 64 20 3d 20 26 70 50  yystackEnd = &pP
fdc0: 61 72 73 65 72 2d 3e 79 79 73 74 61 63 6b 5b 59  arser->yystack[Y
fdd0: 59 53 54 41 43 4b 44 45 50 54 48 2d 31 5d 3b 0a  YSTACKDEPTH-1];.
fde0: 23 65 6e 64 69 66 0a 7d 0a 0a 23 69 66 6e 64 65  #endif.}..#ifnde
fdf0: 66 20 50 61 72 73 65 5f 45 4e 47 49 4e 45 41 4c  f Parse_ENGINEAL
fe00: 57 41 59 53 4f 4e 53 54 41 43 4b 0a 2f 2a 20 0a  WAYSONSTACK./* .
fe10: 2a 2a 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e  ** This function
fe20: 20 61 6c 6c 6f 63 61 74 65 73 20 61 20 6e 65 77   allocates a new
fe30: 20 70 61 72 73 65 72 2e 0a 2a 2a 20 54 68 65 20   parser..** The 
fe40: 6f 6e 6c 79 20 61 72 67 75 6d 65 6e 74 20 69 73  only argument is
fe50: 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20   a pointer to a 
fe60: 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 77  function which w
fe70: 6f 72 6b 73 20 6c 69 6b 65 0a 2a 2a 20 6d 61 6c  orks like.** mal
fe80: 6c 6f 63 2e 0a 2a 2a 0a 2a 2a 20 49 6e 70 75 74  loc..**.** Input
fe90: 73 3a 0a 2a 2a 20 41 20 70 6f 69 6e 74 65 72 20  s:.** A pointer 
fea0: 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20  to the function 
feb0: 75 73 65 64 20 74 6f 20 61 6c 6c 6f 63 61 74 65  used to allocate
fec0: 20 6d 65 6d 6f 72 79 2e 0a 2a 2a 0a 2a 2a 20 4f   memory..**.** O
fed0: 75 74 70 75 74 73 3a 0a 2a 2a 20 41 20 70 6f 69  utputs:.** A poi
fee0: 6e 74 65 72 20 74 6f 20 61 20 70 61 72 73 65 72  nter to a parser
fef0: 2e 20 20 54 68 69 73 20 70 6f 69 6e 74 65 72 20  .  This pointer 
ff00: 69 73 20 75 73 65 64 20 69 6e 20 73 75 62 73 65  is used in subse
ff10: 71 75 65 6e 74 20 63 61 6c 6c 73 0a 2a 2a 20 74  quent calls.** t
ff20: 6f 20 50 61 72 73 65 20 61 6e 64 20 50 61 72 73  o Parse and Pars
ff30: 65 46 72 65 65 2e 0a 2a 2f 0a 76 6f 69 64 20 2a  eFree..*/.void *
ff40: 50 61 72 73 65 41 6c 6c 6f 63 28 76 6f 69 64 20  ParseAlloc(void 
ff50: 2a 28 2a 6d 61 6c 6c 6f 63 50 72 6f 63 29 28 59  *(*mallocProc)(Y
ff60: 59 4d 41 4c 4c 4f 43 41 52 47 54 59 50 45 29 29  YMALLOCARGTYPE))
ff70: 7b 0a 20 20 79 79 50 61 72 73 65 72 20 2a 70 50  {.  yyParser *pP
ff80: 61 72 73 65 72 3b 0a 20 20 70 50 61 72 73 65 72  arser;.  pParser
ff90: 20 3d 20 28 79 79 50 61 72 73 65 72 2a 29 28 2a   = (yyParser*)(*
ffa0: 6d 61 6c 6c 6f 63 50 72 6f 63 29 28 20 28 59 59  mallocProc)( (YY
ffb0: 4d 41 4c 4c 4f 43 41 52 47 54 59 50 45 29 73 69  MALLOCARGTYPE)si
ffc0: 7a 65 6f 66 28 79 79 50 61 72 73 65 72 29 20 29  zeof(yyParser) )
ffd0: 3b 0a 20 20 69 66 28 20 70 50 61 72 73 65 72 20  ;.  if( pParser 
ffe0: 29 20 50 61 72 73 65 49 6e 69 74 28 70 50 61 72  ) ParseInit(pPar
fff0: 73 65 72 29 3b 0a 20 20 72 65 74 75 72 6e 20 70  ser);.  return p
10000 50 61 72 73 65 72 3b 0a 7d 0a 23 65 6e 64 69 66  Parser;.}.#endif
10010 20 2f 2a 20 50 61 72 73 65 5f 45 4e 47 49 4e 45   /* Parse_ENGINE
10020 41 4c 57 41 59 53 4f 4e 53 54 41 43 4b 20 2a 2f  ALWAYSONSTACK */
10030 0a 0a 0a 2f 2a 20 54 68 65 20 66 6f 6c 6c 6f 77  .../* The follow
10040 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 64 65 6c  ing function del
10050 65 74 65 73 20 74 68 65 20 22 6d 69 6e 6f 72 20  etes the "minor 
10060 74 79 70 65 22 20 6f 72 20 73 65 6d 61 6e 74 69  type" or semanti
10070 63 20 76 61 6c 75 65 0a 2a 2a 20 61 73 73 6f 63  c value.** assoc
10080 69 61 74 65 64 20 77 69 74 68 20 61 20 73 79 6d  iated with a sym
10090 62 6f 6c 2e 20 20 54 68 65 20 73 79 6d 62 6f 6c  bol.  The symbol
100a0 20 63 61 6e 20 62 65 20 65 69 74 68 65 72 20 61   can be either a
100b0 20 74 65 72 6d 69 6e 61 6c 0a 2a 2a 20 6f 72 20   terminal.** or 
100c0 6e 6f 6e 74 65 72 6d 69 6e 61 6c 2e 20 22 79 79  nonterminal. "yy
100d0 6d 61 6a 6f 72 22 20 69 73 20 74 68 65 20 73 79  major" is the sy
100e0 6d 62 6f 6c 20 63 6f 64 65 2c 20 61 6e 64 20 22  mbol code, and "
100f0 79 79 70 6d 69 6e 6f 72 22 20 69 73 0a 2a 2a 20  yypminor" is.** 
10100 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65  a pointer to the
10110 20 76 61 6c 75 65 20 74 6f 20 62 65 20 64 65 6c   value to be del
10120 65 74 65 64 2e 20 20 54 68 65 20 63 6f 64 65 20  eted.  The code 
10130 75 73 65 64 20 74 6f 20 64 6f 20 74 68 65 20 0a  used to do the .
10140 2a 2a 20 64 65 6c 65 74 69 6f 6e 73 20 69 73 20  ** deletions is 
10150 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65  derived from the
10160 20 25 64 65 73 74 72 75 63 74 6f 72 20 61 6e 64   %destructor and
10170 2f 6f 72 20 25 74 6f 6b 65 6e 5f 64 65 73 74 72  /or %token_destr
10180 75 63 74 6f 72 0a 2a 2a 20 64 69 72 65 63 74 69  uctor.** directi
10190 76 65 73 20 6f 66 20 74 68 65 20 69 6e 70 75 74  ves of the input
101a0 20 67 72 61 6d 6d 61 72 2e 0a 2a 2f 0a 73 74 61   grammar..*/.sta
101b0 74 69 63 20 76 6f 69 64 20 79 79 5f 64 65 73 74  tic void yy_dest
101c0 72 75 63 74 6f 72 28 0a 20 20 79 79 50 61 72 73  ructor(.  yyPars
101d0 65 72 20 2a 79 79 70 50 61 72 73 65 72 2c 20 20  er *yypParser,  
101e0 20 20 2f 2a 20 54 68 65 20 70 61 72 73 65 72 20    /* The parser 
101f0 2a 2f 0a 20 20 59 59 43 4f 44 45 54 59 50 45 20  */.  YYCODETYPE 
10200 79 79 6d 61 6a 6f 72 2c 20 20 20 20 20 2f 2a 20  yymajor,     /* 
10210 54 79 70 65 20 63 6f 64 65 20 66 6f 72 20 6f 62  Type code for ob
10220 6a 65 63 74 20 74 6f 20 64 65 73 74 72 6f 79 20  ject to destroy 
10230 2a 2f 0a 20 20 59 59 4d 49 4e 4f 52 54 59 50 45  */.  YYMINORTYPE
10240 20 2a 79 79 70 6d 69 6e 6f 72 20 20 20 2f 2a 20   *yypminor   /* 
10250 54 68 65 20 6f 62 6a 65 63 74 20 74 6f 20 62 65  The object to be
10260 20 64 65 73 74 72 6f 79 65 64 20 2a 2f 0a 29 7b   destroyed */.){
10270 0a 20 20 50 61 72 73 65 41 52 47 5f 46 45 54 43  .  ParseARG_FETC
10280 48 3b 0a 20 20 73 77 69 74 63 68 28 20 79 79 6d  H;.  switch( yym
10290 61 6a 6f 72 20 29 7b 0a 20 20 20 20 2f 2a 20 48  ajor ){.    /* H
102a0 65 72 65 20 69 73 20 69 6e 73 65 72 74 65 64 20  ere is inserted 
102b0 74 68 65 20 61 63 74 69 6f 6e 73 20 77 68 69 63  the actions whic
102c0 68 20 74 61 6b 65 20 70 6c 61 63 65 20 77 68 65  h take place whe
102d0 6e 20 61 0a 20 20 20 20 2a 2a 20 74 65 72 6d 69  n a.    ** termi
102e0 6e 61 6c 20 6f 72 20 6e 6f 6e 2d 74 65 72 6d 69  nal or non-termi
102f0 6e 61 6c 20 69 73 20 64 65 73 74 72 6f 79 65 64  nal is destroyed
10300 2e 20 20 54 68 69 73 20 63 61 6e 20 68 61 70 70  .  This can happ
10310 65 6e 0a 20 20 20 20 2a 2a 20 77 68 65 6e 20 74  en.    ** when t
10320 68 65 20 73 79 6d 62 6f 6c 20 69 73 20 70 6f 70  he symbol is pop
10330 70 65 64 20 66 72 6f 6d 20 74 68 65 20 73 74 61  ped from the sta
10340 63 6b 20 64 75 72 69 6e 67 20 61 0a 20 20 20 20  ck during a.    
10350 2a 2a 20 72 65 64 75 63 65 20 6f 72 20 64 75 72  ** reduce or dur
10360 69 6e 67 20 65 72 72 6f 72 20 70 72 6f 63 65 73  ing error proces
10370 73 69 6e 67 20 6f 72 20 77 68 65 6e 20 61 20 70  sing or when a p
10380 61 72 73 65 72 20 69 73 20 0a 20 20 20 20 2a 2a  arser is .    **
10390 20 62 65 69 6e 67 20 64 65 73 74 72 6f 79 65 64   being destroyed
103a0 20 62 65 66 6f 72 65 20 69 74 20 69 73 20 66 69   before it is fi
103b0 6e 69 73 68 65 64 20 70 61 72 73 69 6e 67 2e 0a  nished parsing..
103c0 20 20 20 20 2a 2a 0a 20 20 20 20 2a 2a 20 4e 6f      **.    ** No
103d0 74 65 3a 20 64 75 72 69 6e 67 20 61 20 72 65 64  te: during a red
103e0 75 63 65 2c 20 74 68 65 20 6f 6e 6c 79 20 73 79  uce, the only sy
103f0 6d 62 6f 6c 73 20 64 65 73 74 72 6f 79 65 64 20  mbols destroyed 
10400 61 72 65 20 74 68 6f 73 65 0a 20 20 20 20 2a 2a  are those.    **
10410 20 77 68 69 63 68 20 61 70 70 65 61 72 20 6f 6e   which appear on
10420 20 74 68 65 20 52 48 53 20 6f 66 20 74 68 65 20   the RHS of the 
10430 72 75 6c 65 2c 20 62 75 74 20 77 68 69 63 68 20  rule, but which 
10440 61 72 65 20 2a 6e 6f 74 2a 20 75 73 65 64 0a 20  are *not* used. 
10450 20 20 20 2a 2a 20 69 6e 73 69 64 65 20 74 68 65     ** inside the
10460 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 2a 2f 0a   C code..    */.
10470 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 42 65 67 69 6e  /********* Begin
10480 20 64 65 73 74 72 75 63 74 6f 72 20 64 65 66 69   destructor defi
10490 6e 69 74 69 6f 6e 73 20 2a 2a 2a 2a 2a 2a 2a 2a  nitions ********
104a0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
104b0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f  ***************/
104c0 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 45 6e 64 20  ./********* End 
104d0 64 65 73 74 72 75 63 74 6f 72 20 64 65 66 69 6e  destructor defin
104e0 69 74 69 6f 6e 73 20 2a 2a 2a 2a 2a 2a 2a 2a 2a  itions *********
104f0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
10500 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
10510 2f 0a 20 20 20 20 64 65 66 61 75 6c 74 3a 20 20  /.    default:  
10520 62 72 65 61 6b 3b 20 20 20 2f 2a 20 49 66 20 6e  break;   /* If n
10530 6f 20 64 65 73 74 72 75 63 74 6f 72 20 61 63 74  o destructor act
10540 69 6f 6e 20 73 70 65 63 69 66 69 65 64 3a 20 64  ion specified: d
10550 6f 20 6e 6f 74 68 69 6e 67 20 2a 2f 0a 20 20 7d  o nothing */.  }
10560 0a 7d 0a 0a 2f 2a 0a 2a 2a 20 50 6f 70 20 74 68  .}../*.** Pop th
10570 65 20 70 61 72 73 65 72 27 73 20 73 74 61 63 6b  e parser's stack
10580 20 6f 6e 63 65 2e 0a 2a 2a 0a 2a 2a 20 49 66 20   once..**.** If 
10590 74 68 65 72 65 20 69 73 20 61 20 64 65 73 74 72  there is a destr
105a0 75 63 74 6f 72 20 72 6f 75 74 69 6e 65 20 61 73  uctor routine as
105b0 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68  sociated with th
105c0 65 20 74 6f 6b 65 6e 20 77 68 69 63 68 0a 2a 2a  e token which.**
105d0 20 69 73 20 70 6f 70 70 65 64 20 66 72 6f 6d 20   is popped from 
105e0 74 68 65 20 73 74 61 63 6b 2c 20 74 68 65 6e 20  the stack, then 
105f0 63 61 6c 6c 20 69 74 2e 0a 2a 2f 0a 73 74 61 74  call it..*/.stat
10600 69 63 20 76 6f 69 64 20 79 79 5f 70 6f 70 5f 70  ic void yy_pop_p
10610 61 72 73 65 72 5f 73 74 61 63 6b 28 79 79 50 61  arser_stack(yyPa
10620 72 73 65 72 20 2a 70 50 61 72 73 65 72 29 7b 0a  rser *pParser){.
10630 20 20 79 79 53 74 61 63 6b 45 6e 74 72 79 20 2a    yyStackEntry *
10640 79 79 74 6f 73 3b 0a 20 20 61 73 73 65 72 74 28  yytos;.  assert(
10650 20 70 50 61 72 73 65 72 2d 3e 79 79 74 6f 73 21   pParser->yytos!
10660 3d 30 20 29 3b 0a 20 20 61 73 73 65 72 74 28 20  =0 );.  assert( 
10670 70 50 61 72 73 65 72 2d 3e 79 79 74 6f 73 20 3e  pParser->yytos >
10680 20 70 50 61 72 73 65 72 2d 3e 79 79 73 74 61 63   pParser->yystac
10690 6b 20 29 3b 0a 20 20 79 79 74 6f 73 20 3d 20 70  k );.  yytos = p
106a0 50 61 72 73 65 72 2d 3e 79 79 74 6f 73 2d 2d 3b  Parser->yytos--;
106b0 0a 23 69 66 6e 64 65 66 20 4e 44 45 42 55 47 0a  .#ifndef NDEBUG.
106c0 20 20 69 66 28 20 79 79 54 72 61 63 65 46 49 4c    if( yyTraceFIL
106d0 45 20 29 7b 0a 20 20 20 20 66 70 72 69 6e 74 66  E ){.    fprintf
106e0 28 79 79 54 72 61 63 65 46 49 4c 45 2c 22 25 73  (yyTraceFILE,"%s
106f0 50 6f 70 70 69 6e 67 20 25 73 5c 6e 22 2c 0a 20  Popping %s\n",. 
10700 20 20 20 20 20 79 79 54 72 61 63 65 50 72 6f 6d       yyTraceProm
10710 70 74 2c 0a 20 20 20 20 20 20 79 79 54 6f 6b 65  pt,.      yyToke
10720 6e 4e 61 6d 65 5b 79 79 74 6f 73 2d 3e 6d 61 6a  nName[yytos->maj
10730 6f 72 5d 29 3b 0a 20 20 7d 0a 23 65 6e 64 69 66  or]);.  }.#endif
10740 0a 20 20 79 79 5f 64 65 73 74 72 75 63 74 6f 72  .  yy_destructor
10750 28 70 50 61 72 73 65 72 2c 20 79 79 74 6f 73 2d  (pParser, yytos-
10760 3e 6d 61 6a 6f 72 2c 20 26 79 79 74 6f 73 2d 3e  >major, &yytos->
10770 6d 69 6e 6f 72 29 3b 0a 7d 0a 0a 2f 2a 0a 2a 2a  minor);.}../*.**
10780 20 43 6c 65 61 72 20 61 6c 6c 20 73 65 63 6f 6e   Clear all secon
10790 64 61 72 79 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f  dary memory allo
107a0 63 61 74 69 6f 6e 73 20 66 72 6f 6d 20 74 68 65  cations from the
107b0 20 70 61 72 73 65 72 0a 2a 2f 0a 76 6f 69 64 20   parser.*/.void 
107c0 50 61 72 73 65 46 69 6e 61 6c 69 7a 65 28 76 6f  ParseFinalize(vo
107d0 69 64 20 2a 70 29 7b 0a 20 20 79 79 50 61 72 73  id *p){.  yyPars
107e0 65 72 20 2a 70 50 61 72 73 65 72 20 3d 20 28 79  er *pParser = (y
107f0 79 50 61 72 73 65 72 2a 29 70 3b 0a 20 20 77 68  yParser*)p;.  wh
10800 69 6c 65 28 20 70 50 61 72 73 65 72 2d 3e 79 79  ile( pParser->yy
10810 74 6f 73 3e 70 50 61 72 73 65 72 2d 3e 79 79 73  tos>pParser->yys
10820 74 61 63 6b 20 29 20 79 79 5f 70 6f 70 5f 70 61  tack ) yy_pop_pa
10830 72 73 65 72 5f 73 74 61 63 6b 28 70 50 61 72 73  rser_stack(pPars
10840 65 72 29 3b 0a 23 69 66 20 59 59 53 54 41 43 4b  er);.#if YYSTACK
10850 44 45 50 54 48 3c 3d 30 0a 20 20 69 66 28 20 70  DEPTH<=0.  if( p
10860 50 61 72 73 65 72 2d 3e 79 79 73 74 61 63 6b 21  Parser->yystack!
10870 3d 26 70 50 61 72 73 65 72 2d 3e 79 79 73 74 6b  =&pParser->yystk
10880 30 20 29 20 66 72 65 65 28 70 50 61 72 73 65 72  0 ) free(pParser
10890 2d 3e 79 79 73 74 61 63 6b 29 3b 0a 23 65 6e 64  ->yystack);.#end
108a0 69 66 0a 7d 0a 0a 23 69 66 6e 64 65 66 20 50 61  if.}..#ifndef Pa
108b0 72 73 65 5f 45 4e 47 49 4e 45 41 4c 57 41 59 53  rse_ENGINEALWAYS
108c0 4f 4e 53 54 41 43 4b 0a 2f 2a 20 0a 2a 2a 20 44  ONSTACK./* .** D
108d0 65 61 6c 6c 6f 63 61 74 65 20 61 6e 64 20 64 65  eallocate and de
108e0 73 74 72 6f 79 20 61 20 70 61 72 73 65 72 2e 20  stroy a parser. 
108f0 20 44 65 73 74 72 75 63 74 6f 72 73 20 61 72 65   Destructors are
10900 20 63 61 6c 6c 65 64 20 66 6f 72 0a 2a 2a 20 61   called for.** a
10910 6c 6c 20 73 74 61 63 6b 20 65 6c 65 6d 65 6e 74  ll stack element
10920 73 20 62 65 66 6f 72 65 20 73 68 75 74 74 69 6e  s before shuttin
10930 67 20 74 68 65 20 70 61 72 73 65 72 20 64 6f 77  g the parser dow
10940 6e 2e 0a 2a 2a 0a 2a 2a 20 49 66 20 74 68 65 20  n..**.** If the 
10950 59 59 50 41 52 53 45 46 52 45 45 4e 45 56 45 52  YYPARSEFREENEVER
10960 4e 55 4c 4c 20 6d 61 63 72 6f 20 65 78 69 73 74  NULL macro exist
10970 73 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 20 62  s (for example b
10980 65 63 61 75 73 65 20 69 74 0a 2a 2a 20 69 73 20  ecause it.** is 
10990 64 65 66 69 6e 65 64 20 69 6e 20 61 20 25 69 6e  defined in a %in
109a0 63 6c 75 64 65 20 73 65 63 74 69 6f 6e 20 6f 66  clude section of
109b0 20 74 68 65 20 69 6e 70 75 74 20 67 72 61 6d 6d   the input gramm
109c0 61 72 29 20 74 68 65 6e 20 69 74 20 69 73 0a 2a  ar) then it is.*
109d0 2a 20 61 73 73 75 6d 65 64 20 74 68 61 74 20 74  * assumed that t
109e0 68 65 20 69 6e 70 75 74 20 70 6f 69 6e 74 65 72  he input pointer
109f0 20 69 73 20 6e 65 76 65 72 20 4e 55 4c 4c 2e 0a   is never NULL..
10a00 2a 2f 0a 76 6f 69 64 20 50 61 72 73 65 46 72 65  */.void ParseFre
10a10 65 28 0a 20 20 76 6f 69 64 20 2a 70 2c 20 20 20  e(.  void *p,   
10a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
10a30 20 2f 2a 20 54 68 65 20 70 61 72 73 65 72 20 74   /* The parser t
10a40 6f 20 62 65 20 64 65 6c 65 74 65 64 20 2a 2f 0a  o be deleted */.
10a50 20 20 76 6f 69 64 20 28 2a 66 72 65 65 50 72 6f    void (*freePro
10a60 63 29 28 76 6f 69 64 2a 29 20 20 20 20 20 2f 2a  c)(void*)     /*
10a70 20 46 75 6e 63 74 69 6f 6e 20 75 73 65 64 20 74   Function used t
10a80 6f 20 72 65 63 6c 61 69 6d 20 6d 65 6d 6f 72 79  o reclaim memory
10a90 20 2a 2f 0a 29 7b 0a 23 69 66 6e 64 65 66 20 59   */.){.#ifndef Y
10aa0 59 50 41 52 53 45 46 52 45 45 4e 45 56 45 52 4e  YPARSEFREENEVERN
10ab0 55 4c 4c 0a 20 20 69 66 28 20 70 3d 3d 30 20 29  ULL.  if( p==0 )
10ac0 20 72 65 74 75 72 6e 3b 0a 23 65 6e 64 69 66 0a   return;.#endif.
10ad0 20 20 50 61 72 73 65 46 69 6e 61 6c 69 7a 65 28    ParseFinalize(
10ae0 70 29 3b 0a 20 20 28 2a 66 72 65 65 50 72 6f 63  p);.  (*freeProc
10af0 29 28 70 29 3b 0a 7d 0a 23 65 6e 64 69 66 20 2f  )(p);.}.#endif /
10b00 2a 20 50 61 72 73 65 5f 45 4e 47 49 4e 45 41 4c  * Parse_ENGINEAL
10b10 57 41 59 53 4f 4e 53 54 41 43 4b 20 2a 2f 0a 0a  WAYSONSTACK */..
10b20 2f 2a 0a 2a 2a 20 52 65 74 75 72 6e 20 74 68 65  /*.** Return the
10b30 20 70 65 61 6b 20 64 65 70 74 68 20 6f 66 20 74   peak depth of t
10b40 68 65 20 73 74 61 63 6b 20 66 6f 72 20 61 20 70  he stack for a p
10b50 61 72 73 65 72 2e 0a 2a 2f 0a 23 69 66 64 65 66  arser..*/.#ifdef
10b60 20 59 59 54 52 41 43 4b 4d 41 58 53 54 41 43 4b   YYTRACKMAXSTACK
10b70 44 45 50 54 48 0a 69 6e 74 20 50 61 72 73 65 53  DEPTH.int ParseS
10b80 74 61 63 6b 50 65 61 6b 28 76 6f 69 64 20 2a 70  tackPeak(void *p
10b90 29 7b 0a 20 20 79 79 50 61 72 73 65 72 20 2a 70  ){.  yyParser *p
10ba0 50 61 72 73 65 72 20 3d 20 28 79 79 50 61 72 73  Parser = (yyPars
10bb0 65 72 2a 29 70 3b 0a 20 20 72 65 74 75 72 6e 20  er*)p;.  return 
10bc0 70 50 61 72 73 65 72 2d 3e 79 79 68 77 6d 3b 0a  pParser->yyhwm;.
10bd0 7d 0a 23 65 6e 64 69 66 0a 0a 2f 2a 20 54 68 69  }.#endif../* Thi
10be0 73 20 61 72 72 61 79 20 6f 66 20 62 6f 6f 6c 65  s array of boole
10bf0 61 6e 73 20 6b 65 65 70 73 20 74 72 61 63 6b 20  ans keeps track 
10c00 6f 66 20 74 68 65 20 70 61 72 73 65 72 20 73 74  of the parser st
10c10 61 74 65 6d 65 6e 74 0a 2a 2a 20 63 6f 76 65 72  atement.** cover
10c20 61 67 65 2e 20 20 54 68 65 20 65 6c 65 6d 65 6e  age.  The elemen
10c30 74 20 79 79 63 6f 76 65 72 61 67 65 5b 58 5d 5b  t yycoverage[X][
10c40 59 5d 20 69 73 20 73 65 74 20 77 68 65 6e 20 74  Y] is set when t
10c50 68 65 20 70 61 72 73 65 72 0a 2a 2a 20 69 73 20  he parser.** is 
10c60 69 6e 20 73 74 61 74 65 20 58 20 61 6e 64 20 68  in state X and h
10c70 61 73 20 61 20 6c 6f 6f 6b 61 68 65 61 64 20 74  as a lookahead t
10c80 6f 6b 65 6e 20 59 2e 20 20 49 6e 20 61 20 77 65  oken Y.  In a we
10c90 6c 6c 2d 74 65 73 74 65 64 0a 2a 2a 20 73 79 73  ll-tested.** sys
10ca0 74 65 6d 73 2c 20 65 76 65 72 79 20 65 6c 65 6d  tems, every elem
10cb0 65 6e 74 20 6f 66 20 74 68 69 73 20 6d 61 74 72  ent of this matr
10cc0 69 78 20 73 68 6f 75 6c 64 20 65 6e 64 20 75 70  ix should end up
10cd0 20 62 65 69 6e 67 20 73 65 74 2e 0a 2a 2f 0a 23   being set..*/.#
10ce0 69 66 20 64 65 66 69 6e 65 64 28 59 59 43 4f 56  if defined(YYCOV
10cf0 45 52 41 47 45 29 0a 73 74 61 74 69 63 20 75 6e  ERAGE).static un
10d00 73 69 67 6e 65 64 20 63 68 61 72 20 79 79 63 6f  signed char yyco
10d10 76 65 72 61 67 65 5b 59 59 4e 53 54 41 54 45 5d  verage[YYNSTATE]
10d20 5b 59 59 4e 54 4f 4b 45 4e 5d 3b 0a 23 65 6e 64  [YYNTOKEN];.#end
10d30 69 66 0a 0a 2f 2a 0a 2a 2a 20 57 72 69 74 65 20  if../*.** Write 
10d40 69 6e 74 6f 20 6f 75 74 20 61 20 64 65 73 63 72  into out a descr
10d50 69 70 74 69 6f 6e 20 6f 66 20 65 76 65 72 79 20  iption of every 
10d60 73 74 61 74 65 2f 6c 6f 6f 6b 61 68 65 61 64 20  state/lookahead 
10d70 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 74 68 61 74  combination that
10d80 0a 2a 2a 0a 2a 2a 20 20 20 28 31 29 20 20 68 61  .**.**   (1)  ha
10d90 73 20 6e 6f 74 20 62 65 65 6e 20 75 73 65 64 20  s not been used 
10da0 62 79 20 74 68 65 20 70 61 72 73 65 72 2c 20 61  by the parser, a
10db0 6e 64 0a 2a 2a 20 20 20 28 32 29 20 20 69 73 20  nd.**   (2)  is 
10dc0 6e 6f 74 20 61 20 73 79 6e 74 61 78 20 65 72 72  not a syntax err
10dd0 6f 72 2e 0a 2a 2a 0a 2a 2a 20 52 65 74 75 72 6e  or..**.** Return
10de0 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6d   the number of m
10df0 69 73 73 65 64 20 73 74 61 74 65 2f 6c 6f 6f 6b  issed state/look
10e00 61 68 65 61 64 20 63 6f 6d 62 69 6e 61 74 69 6f  ahead combinatio
10e10 6e 73 2e 0a 2a 2f 0a 23 69 66 20 64 65 66 69 6e  ns..*/.#if defin
10e20 65 64 28 59 59 43 4f 56 45 52 41 47 45 29 0a 69  ed(YYCOVERAGE).i
10e30 6e 74 20 50 61 72 73 65 43 6f 76 65 72 61 67 65  nt ParseCoverage
10e40 28 46 49 4c 45 20 2a 6f 75 74 29 7b 0a 20 20 69  (FILE *out){.  i
10e50 6e 74 20 73 74 61 74 65 6e 6f 2c 20 69 4c 6f 6f  nt stateno, iLoo
10e60 6b 41 68 65 61 64 2c 20 69 3b 0a 20 20 69 6e 74  kAhead, i;.  int
10e70 20 6e 4d 69 73 73 65 64 20 3d 20 30 3b 0a 20 20   nMissed = 0;.  
10e80 66 6f 72 28 73 74 61 74 65 6e 6f 3d 30 3b 20 73  for(stateno=0; s
10e90 74 61 74 65 6e 6f 3c 59 59 4e 53 54 41 54 45 3b  tateno<YYNSTATE;
10ea0 20 73 74 61 74 65 6e 6f 2b 2b 29 7b 0a 20 20 20   stateno++){.   
10eb0 20 69 20 3d 20 79 79 5f 73 68 69 66 74 5f 6f 66   i = yy_shift_of
10ec0 73 74 5b 73 74 61 74 65 6e 6f 5d 3b 0a 20 20 20  st[stateno];.   
10ed0 20 66 6f 72 28 69 4c 6f 6f 6b 41 68 65 61 64 3d   for(iLookAhead=
10ee0 30 3b 20 69 4c 6f 6f 6b 41 68 65 61 64 3c 59 59  0; iLookAhead<YY
10ef0 4e 54 4f 4b 45 4e 3b 20 69 4c 6f 6f 6b 41 68 65  NTOKEN; iLookAhe
10f00 61 64 2b 2b 29 7b 0a 20 20 20 20 20 20 69 66 28  ad++){.      if(
10f10 20 79 79 5f 6c 6f 6f 6b 61 68 65 61 64 5b 69 2b   yy_lookahead[i+
10f20 69 4c 6f 6f 6b 41 68 65 61 64 5d 21 3d 69 4c 6f  iLookAhead]!=iLo
10f30 6f 6b 41 68 65 61 64 20 29 20 63 6f 6e 74 69 6e  okAhead ) contin
10f40 75 65 3b 0a 20 20 20 20 20 20 69 66 28 20 79 79  ue;.      if( yy
10f50 63 6f 76 65 72 61 67 65 5b 73 74 61 74 65 6e 6f  coverage[stateno
10f60 5d 5b 69 4c 6f 6f 6b 41 68 65 61 64 5d 3d 3d 30  ][iLookAhead]==0
10f70 20 29 20 6e 4d 69 73 73 65 64 2b 2b 3b 0a 20 20   ) nMissed++;.  
10f80 20 20 20 20 69 66 28 20 6f 75 74 20 29 7b 0a 20      if( out ){. 
10f90 20 20 20 20 20 20 20 66 70 72 69 6e 74 66 28 6f         fprintf(o
10fa0 75 74 2c 22 53 74 61 74 65 20 25 64 20 6c 6f 6f  ut,"State %d loo
10fb0 6b 61 68 65 61 64 20 25 73 20 25 73 5c 6e 22 2c  kahead %s %s\n",
10fc0 20 73 74 61 74 65 6e 6f 2c 0a 20 20 20 20 20 20   stateno,.      
10fd0 20 20 20 20 20 20 20 20 20 20 79 79 54 6f 6b 65            yyToke
10fe0 6e 4e 61 6d 65 5b 69 4c 6f 6f 6b 41 68 65 61 64  nName[iLookAhead
10ff0 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ],.             
11000 20 20 20 79 79 63 6f 76 65 72 61 67 65 5b 73 74     yycoverage[st
11010 61 74 65 6e 6f 5d 5b 69 4c 6f 6f 6b 41 68 65 61  ateno][iLookAhea
11020 64 5d 20 3f 20 22 6f 6b 22 20 3a 20 22 6d 69 73  d] ? "ok" : "mis
11030 73 65 64 22 29 3b 0a 20 20 20 20 20 20 7d 0a 20  sed");.      }. 
11040 20 20 20 7d 0a 20 20 7d 0a 20 20 72 65 74 75 72     }.  }.  retur
11050 6e 20 6e 4d 69 73 73 65 64 3b 0a 7d 0a 23 65 6e  n nMissed;.}.#en
11060 64 69 66 0a 0a 2f 2a 0a 2a 2a 20 46 69 6e 64 20  dif../*.** Find 
11070 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20  the appropriate 
11080 61 63 74 69 6f 6e 20 66 6f 72 20 61 20 70 61 72  action for a par
11090 73 65 72 20 67 69 76 65 6e 20 74 68 65 20 74 65  ser given the te
110a0 72 6d 69 6e 61 6c 0a 2a 2a 20 6c 6f 6f 6b 2d 61  rminal.** look-a
110b0 68 65 61 64 20 74 6f 6b 65 6e 20 69 4c 6f 6f 6b  head token iLook
110c0 41 68 65 61 64 2e 0a 2a 2f 0a 73 74 61 74 69 63  Ahead..*/.static
110d0 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 79 79   unsigned int yy
110e0 5f 66 69 6e 64 5f 73 68 69 66 74 5f 61 63 74 69  _find_shift_acti
110f0 6f 6e 28 0a 20 20 79 79 50 61 72 73 65 72 20 2a  on(.  yyParser *
11100 70 50 61 72 73 65 72 2c 20 20 20 20 20 20 20 20  pParser,        
11110 2f 2a 20 54 68 65 20 70 61 72 73 65 72 20 2a 2f  /* The parser */
11120 0a 20 20 59 59 43 4f 44 45 54 59 50 45 20 69 4c  .  YYCODETYPE iL
11130 6f 6f 6b 41 68 65 61 64 20 20 20 20 20 2f 2a 20  ookAhead     /* 
11140 54 68 65 20 6c 6f 6f 6b 2d 61 68 65 61 64 20 74  The look-ahead t
11150 6f 6b 65 6e 20 2a 2f 0a 29 7b 0a 20 20 69 6e 74  oken */.){.  int
11160 20 69 3b 0a 20 20 69 6e 74 20 73 74 61 74 65 6e   i;.  int staten
11170 6f 20 3d 20 70 50 61 72 73 65 72 2d 3e 79 79 74  o = pParser->yyt
11180 6f 73 2d 3e 73 74 61 74 65 6e 6f 3b 0a 20 0a 20  os->stateno;. . 
11190 20 69 66 28 20 73 74 61 74 65 6e 6f 3e 59 59 5f   if( stateno>YY_
111a0 4d 41 58 5f 53 48 49 46 54 20 29 20 72 65 74 75  MAX_SHIFT ) retu
111b0 72 6e 20 73 74 61 74 65 6e 6f 3b 0a 20 20 61 73  rn stateno;.  as
111c0 73 65 72 74 28 20 73 74 61 74 65 6e 6f 20 3c 3d  sert( stateno <=
111d0 20 59 59 5f 53 48 49 46 54 5f 43 4f 55 4e 54 20   YY_SHIFT_COUNT 
111e0 29 3b 0a 23 69 66 20 64 65 66 69 6e 65 64 28 59  );.#if defined(Y
111f0 59 43 4f 56 45 52 41 47 45 29 0a 20 20 79 79 63  YCOVERAGE).  yyc
11200 6f 76 65 72 61 67 65 5b 73 74 61 74 65 6e 6f 5d  overage[stateno]
11210 5b 69 4c 6f 6f 6b 41 68 65 61 64 5d 20 3d 20 31  [iLookAhead] = 1
11220 3b 0a 23 65 6e 64 69 66 0a 20 20 64 6f 7b 0a 20  ;.#endif.  do{. 
11230 20 20 20 69 20 3d 20 79 79 5f 73 68 69 66 74 5f     i = yy_shift_
11240 6f 66 73 74 5b 73 74 61 74 65 6e 6f 5d 3b 0a 20  ofst[stateno];. 
11250 20 20 20 61 73 73 65 72 74 28 20 69 3e 3d 30 20     assert( i>=0 
11260 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 20 69  );.    assert( i
11270 2b 59 59 4e 54 4f 4b 45 4e 3c 3d 28 69 6e 74 29  +YYNTOKEN<=(int)
11280 73 69 7a 65 6f 66 28 79 79 5f 6c 6f 6f 6b 61 68  sizeof(yy_lookah
11290 65 61 64 29 2f 73 69 7a 65 6f 66 28 79 79 5f 6c  ead)/sizeof(yy_l
112a0 6f 6f 6b 61 68 65 61 64 5b 30 5d 29 20 29 3b 0a  ookahead[0]) );.
112b0 20 20 20 20 61 73 73 65 72 74 28 20 69 4c 6f 6f      assert( iLoo
112c0 6b 41 68 65 61 64 21 3d 59 59 4e 4f 43 4f 44 45  kAhead!=YYNOCODE
112d0 20 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 20   );.    assert( 
112e0 69 4c 6f 6f 6b 41 68 65 61 64 20 3c 20 59 59 4e  iLookAhead < YYN
112f0 54 4f 4b 45 4e 20 29 3b 0a 20 20 20 20 69 20 2b  TOKEN );.    i +
11300 3d 20 69 4c 6f 6f 6b 41 68 65 61 64 3b 0a 20 20  = iLookAhead;.  
11310 20 20 69 66 28 20 79 79 5f 6c 6f 6f 6b 61 68 65    if( yy_lookahe
11320 61 64 5b 69 5d 21 3d 69 4c 6f 6f 6b 41 68 65 61  ad[i]!=iLookAhea
11330 64 20 29 7b 0a 23 69 66 64 65 66 20 59 59 46 41  d ){.#ifdef YYFA
11340 4c 4c 42 41 43 4b 0a 20 20 20 20 20 20 59 59 43  LLBACK.      YYC
11350 4f 44 45 54 59 50 45 20 69 46 61 6c 6c 62 61 63  ODETYPE iFallbac
11360 6b 3b 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a  k;            /*
11370 20 46 61 6c 6c 62 61 63 6b 20 74 6f 6b 65 6e 20   Fallback token 
11380 2a 2f 0a 20 20 20 20 20 20 69 66 28 20 69 4c 6f  */.      if( iLo
11390 6f 6b 41 68 65 61 64 3c 73 69 7a 65 6f 66 28 79  okAhead<sizeof(y
113a0 79 46 61 6c 6c 62 61 63 6b 29 2f 73 69 7a 65 6f  yFallback)/sizeo
113b0 66 28 79 79 46 61 6c 6c 62 61 63 6b 5b 30 5d 29  f(yyFallback[0])
113c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 26 26  .             &&
113d0 20 28 69 46 61 6c 6c 62 61 63 6b 20 3d 20 79 79   (iFallback = yy
113e0 46 61 6c 6c 62 61 63 6b 5b 69 4c 6f 6f 6b 41 68  Fallback[iLookAh
113f0 65 61 64 5d 29 21 3d 30 20 29 7b 0a 23 69 66 6e  ead])!=0 ){.#ifn
11400 64 65 66 20 4e 44 45 42 55 47 0a 20 20 20 20 20  def NDEBUG.     
11410 20 20 20 69 66 28 20 79 79 54 72 61 63 65 46 49     if( yyTraceFI
11420 4c 45 20 29 7b 0a 20 20 20 20 20 20 20 20 20 20  LE ){.          
11430 66 70 72 69 6e 74 66 28 79 79 54 72 61 63 65 46  fprintf(yyTraceF
11440 49 4c 45 2c 20 22 25 73 46 41 4c 4c 42 41 43 4b  ILE, "%sFALLBACK
11450 20 25 73 20 3d 3e 20 25 73 5c 6e 22 2c 0a 20 20   %s => %s\n",.  
11460 20 20 20 20 20 20 20 20 20 20 20 79 79 54 72 61             yyTra
11470 63 65 50 72 6f 6d 70 74 2c 20 79 79 54 6f 6b 65  cePrompt, yyToke
11480 6e 4e 61 6d 65 5b 69 4c 6f 6f 6b 41 68 65 61 64  nName[iLookAhead
11490 5d 2c 20 79 79 54 6f 6b 65 6e 4e 61 6d 65 5b 69  ], yyTokenName[i
114a0 46 61 6c 6c 62 61 63 6b 5d 29 3b 0a 20 20 20 20  Fallback]);.    
114b0 20 20 20 20 7d 0a 23 65 6e 64 69 66 0a 20 20 20      }.#endif.   
114c0 20 20 20 20 20 61 73 73 65 72 74 28 20 79 79 46       assert( yyF
114d0 61 6c 6c 62 61 63 6b 5b 69 46 61 6c 6c 62 61 63  allback[iFallbac
114e0 6b 5d 3d 3d 30 20 29 3b 20 2f 2a 20 46 61 6c 6c  k]==0 ); /* Fall
114f0 62 61 63 6b 20 6c 6f 6f 70 20 6d 75 73 74 20 74  back loop must t
11500 65 72 6d 69 6e 61 74 65 20 2a 2f 0a 20 20 20 20  erminate */.    
11510 20 20 20 20 69 4c 6f 6f 6b 41 68 65 61 64 20 3d      iLookAhead =
11520 20 69 46 61 6c 6c 62 61 63 6b 3b 0a 20 20 20 20   iFallback;.    
11530 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20      continue;.  
11540 20 20 20 20 7d 0a 23 65 6e 64 69 66 0a 23 69 66      }.#endif.#if
11550 64 65 66 20 59 59 57 49 4c 44 43 41 52 44 0a 20  def YYWILDCARD. 
11560 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69       {.        i
11570 6e 74 20 6a 20 3d 20 69 20 2d 20 69 4c 6f 6f 6b  nt j = i - iLook
11580 41 68 65 61 64 20 2b 20 59 59 57 49 4c 44 43 41  Ahead + YYWILDCA
11590 52 44 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20  RD;.        if( 
115a0 0a 23 69 66 20 59 59 5f 53 48 49 46 54 5f 4d 49  .#if YY_SHIFT_MI
115b0 4e 2b 59 59 57 49 4c 44 43 41 52 44 3c 30 0a 20  N+YYWILDCARD<0. 
115c0 20 20 20 20 20 20 20 20 20 6a 3e 3d 30 20 26 26           j>=0 &&
115d0 0a 23 65 6e 64 69 66 0a 23 69 66 20 59 59 5f 53  .#endif.#if YY_S
115e0 48 49 46 54 5f 4d 41 58 2b 59 59 57 49 4c 44 43  HIFT_MAX+YYWILDC
115f0 41 52 44 3e 3d 59 59 5f 41 43 54 54 41 42 5f 43  ARD>=YY_ACTTAB_C
11600 4f 55 4e 54 0a 20 20 20 20 20 20 20 20 20 20 6a  OUNT.          j
11610 3c 59 59 5f 41 43 54 54 41 42 5f 43 4f 55 4e 54  <YY_ACTTAB_COUNT
11620 20 26 26 0a 23 65 6e 64 69 66 0a 20 20 20 20 20   &&.#endif.     
11630 20 20 20 20 20 79 79 5f 6c 6f 6f 6b 61 68 65 61       yy_lookahea
11640 64 5b 6a 5d 3d 3d 59 59 57 49 4c 44 43 41 52 44  d[j]==YYWILDCARD
11650 20 26 26 20 69 4c 6f 6f 6b 41 68 65 61 64 3e 30   && iLookAhead>0
11660 0a 20 20 20 20 20 20 20 20 29 7b 0a 23 69 66 6e  .        ){.#ifn
11670 64 65 66 20 4e 44 45 42 55 47 0a 20 20 20 20 20  def NDEBUG.     
11680 20 20 20 20 20 69 66 28 20 79 79 54 72 61 63 65       if( yyTrace
11690 46 49 4c 45 20 29 7b 0a 20 20 20 20 20 20 20 20  FILE ){.        
116a0 20 20 20 20 66 70 72 69 6e 74 66 28 79 79 54 72      fprintf(yyTr
116b0 61 63 65 46 49 4c 45 2c 20 22 25 73 57 49 4c 44  aceFILE, "%sWILD
116c0 43 41 52 44 20 25 73 20 3d 3e 20 25 73 5c 6e 22  CARD %s => %s\n"
116d0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ,.              
116e0 20 79 79 54 72 61 63 65 50 72 6f 6d 70 74 2c 20   yyTracePrompt, 
116f0 79 79 54 6f 6b 65 6e 4e 61 6d 65 5b 69 4c 6f 6f  yyTokenName[iLoo
11700 6b 41 68 65 61 64 5d 2c 0a 20 20 20 20 20 20 20  kAhead],.       
11710 20 20 20 20 20 20 20 20 79 79 54 6f 6b 65 6e 4e          yyTokenN
11720 61 6d 65 5b 59 59 57 49 4c 44 43 41 52 44 5d 29  ame[YYWILDCARD])
11730 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 23 65  ;.          }.#e
11740 6e 64 69 66 20 2f 2a 20 4e 44 45 42 55 47 20 2a  ndif /* NDEBUG *
11750 2f 0a 20 20 20 20 20 20 20 20 20 20 72 65 74 75  /.          retu
11760 72 6e 20 79 79 5f 61 63 74 69 6f 6e 5b 6a 5d 3b  rn yy_action[j];
11770 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20  .        }.     
11780 20 7d 0a 23 65 6e 64 69 66 20 2f 2a 20 59 59 57   }.#endif /* YYW
11790 49 4c 44 43 41 52 44 20 2a 2f 0a 20 20 20 20 20  ILDCARD */.     
117a0 20 72 65 74 75 72 6e 20 79 79 5f 64 65 66 61 75   return yy_defau
117b0 6c 74 5b 73 74 61 74 65 6e 6f 5d 3b 0a 20 20 20  lt[stateno];.   
117c0 20 7d 65 6c 73 65 7b 0a 20 20 20 20 20 20 72 65   }else{.      re
117d0 74 75 72 6e 20 79 79 5f 61 63 74 69 6f 6e 5b 69  turn yy_action[i
117e0 5d 3b 0a 20 20 20 20 7d 0a 20 20 7d 77 68 69 6c  ];.    }.  }whil
117f0 65 28 31 29 3b 0a 7d 0a 0a 2f 2a 0a 2a 2a 20 46  e(1);.}../*.** F
11800 69 6e 64 20 74 68 65 20 61 70 70 72 6f 70 72 69  ind the appropri
11810 61 74 65 20 61 63 74 69 6f 6e 20 66 6f 72 20 61  ate action for a
11820 20 70 61 72 73 65 72 20 67 69 76 65 6e 20 74 68   parser given th
11830 65 20 6e 6f 6e 2d 74 65 72 6d 69 6e 61 6c 0a 2a  e non-terminal.*
11840 2a 20 6c 6f 6f 6b 2d 61 68 65 61 64 20 74 6f 6b  * look-ahead tok
11850 65 6e 20 69 4c 6f 6f 6b 41 68 65 61 64 2e 0a 2a  en iLookAhead..*
11860 2f 0a 73 74 61 74 69 63 20 69 6e 74 20 79 79 5f  /.static int yy_
11870 66 69 6e 64 5f 72 65 64 75 63 65 5f 61 63 74 69  find_reduce_acti
11880 6f 6e 28 0a 20 20 69 6e 74 20 73 74 61 74 65 6e  on(.  int staten
11890 6f 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20  o,              
118a0 2f 2a 20 43 75 72 72 65 6e 74 20 73 74 61 74 65  /* Current state
118b0 20 6e 75 6d 62 65 72 20 2a 2f 0a 20 20 59 59 43   number */.  YYC
118c0 4f 44 45 54 59 50 45 20 69 4c 6f 6f 6b 41 68 65  ODETYPE iLookAhe
118d0 61 64 20 20 20 20 20 2f 2a 20 54 68 65 20 6c 6f  ad     /* The lo
118e0 6f 6b 2d 61 68 65 61 64 20 74 6f 6b 65 6e 20 2a  ok-ahead token *
118f0 2f 0a 29 7b 0a 20 20 69 6e 74 20 69 3b 0a 23 69  /.){.  int i;.#i
11900 66 64 65 66 20 59 59 45 52 52 4f 52 53 59 4d 42  fdef YYERRORSYMB
11910 4f 4c 0a 20 20 69 66 28 20 73 74 61 74 65 6e 6f  OL.  if( stateno
11920 3e 59 59 5f 52 45 44 55 43 45 5f 43 4f 55 4e 54  >YY_REDUCE_COUNT
11930 20 29 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 79   ){.    return y
11940 79 5f 64 65 66 61 75 6c 74 5b 73 74 61 74 65 6e  y_default[staten
11950 6f 5d 3b 0a 20 20 7d 0a 23 65 6c 73 65 0a 20 20  o];.  }.#else.  
11960 61 73 73 65 72 74 28 20 73 74 61 74 65 6e 6f 3c  assert( stateno<
11970 3d 59 59 5f 52 45 44 55 43 45 5f 43 4f 55 4e 54  =YY_REDUCE_COUNT
11980 20 29 3b 0a 23 65 6e 64 69 66 0a 20 20 69 20 3d   );.#endif.  i =
11990 20 79 79 5f 72 65 64 75 63 65 5f 6f 66 73 74 5b   yy_reduce_ofst[
119a0 73 74 61 74 65 6e 6f 5d 3b 0a 20 20 61 73 73 65  stateno];.  asse
119b0 72 74 28 20 69 4c 6f 6f 6b 41 68 65 61 64 21 3d  rt( iLookAhead!=
119c0 59 59 4e 4f 43 4f 44 45 20 29 3b 0a 20 20 69 20  YYNOCODE );.  i 
119d0 2b 3d 20 69 4c 6f 6f 6b 41 68 65 61 64 3b 0a 23  += iLookAhead;.#
119e0 69 66 64 65 66 20 59 59 45 52 52 4f 52 53 59 4d  ifdef YYERRORSYM
119f0 42 4f 4c 0a 20 20 69 66 28 20 69 3c 30 20 7c 7c  BOL.  if( i<0 ||
11a00 20 69 3e 3d 59 59 5f 41 43 54 54 41 42 5f 43 4f   i>=YY_ACTTAB_CO
11a10 55 4e 54 20 7c 7c 20 79 79 5f 6c 6f 6f 6b 61 68  UNT || yy_lookah
11a20 65 61 64 5b 69 5d 21 3d 69 4c 6f 6f 6b 41 68 65  ead[i]!=iLookAhe
11a30 61 64 20 29 7b 0a 20 20 20 20 72 65 74 75 72 6e  ad ){.    return
11a40 20 79 79 5f 64 65 66 61 75 6c 74 5b 73 74 61 74   yy_default[stat
11a50 65 6e 6f 5d 3b 0a 20 20 7d 0a 23 65 6c 73 65 0a  eno];.  }.#else.
11a60 20 20 61 73 73 65 72 74 28 20 69 3e 3d 30 20 26    assert( i>=0 &
11a70 26 20 69 3c 59 59 5f 41 43 54 54 41 42 5f 43 4f  & i<YY_ACTTAB_CO
11a80 55 4e 54 20 29 3b 0a 20 20 61 73 73 65 72 74 28  UNT );.  assert(
11a90 20 79 79 5f 6c 6f 6f 6b 61 68 65 61 64 5b 69 5d   yy_lookahead[i]
11aa0 3d 3d 69 4c 6f 6f 6b 41 68 65 61 64 20 29 3b 0a  ==iLookAhead );.
11ab0 23 65 6e 64 69 66 0a 20 20 72 65 74 75 72 6e 20  #endif.  return 
11ac0 79 79 5f 61 63 74 69 6f 6e 5b 69 5d 3b 0a 7d 0a  yy_action[i];.}.
11ad0 0a 2f 2a 0a 2a 2a 20 54 68 65 20 66 6f 6c 6c 6f  ./*.** The follo
11ae0 77 69 6e 67 20 72 6f 75 74 69 6e 65 20 69 73 20  wing routine is 
11af0 63 61 6c 6c 65 64 20 69 66 20 74 68 65 20 73 74  called if the st
11b00 61 63 6b 20 6f 76 65 72 66 6c 6f 77 73 2e 0a 2a  ack overflows..*
11b10 2f 0a 73 74 61 74 69 63 20 76 6f 69 64 20 79 79  /.static void yy
11b20 53 74 61 63 6b 4f 76 65 72 66 6c 6f 77 28 79 79  StackOverflow(yy
11b30 50 61 72 73 65 72 20 2a 79 79 70 50 61 72 73 65  Parser *yypParse
11b40 72 29 7b 0a 20 20 20 50 61 72 73 65 41 52 47 5f  r){.   ParseARG_
11b50 46 45 54 43 48 3b 0a 23 69 66 6e 64 65 66 20 4e  FETCH;.#ifndef N
11b60 44 45 42 55 47 0a 20 20 20 69 66 28 20 79 79 54  DEBUG.   if( yyT
11b70 72 61 63 65 46 49 4c 45 20 29 7b 0a 20 20 20 20  raceFILE ){.    
11b80 20 66 70 72 69 6e 74 66 28 79 79 54 72 61 63 65   fprintf(yyTrace
11b90 46 49 4c 45 2c 22 25 73 53 74 61 63 6b 20 4f 76  FILE,"%sStack Ov
11ba0 65 72 66 6c 6f 77 21 5c 6e 22 2c 79 79 54 72 61  erflow!\n",yyTra
11bb0 63 65 50 72 6f 6d 70 74 29 3b 0a 20 20 20 7d 0a  cePrompt);.   }.
11bc0 23 65 6e 64 69 66 0a 20 20 20 77 68 69 6c 65 28  #endif.   while(
11bd0 20 79 79 70 50 61 72 73 65 72 2d 3e 79 79 74 6f   yypParser->yyto
11be0 73 3e 79 79 70 50 61 72 73 65 72 2d 3e 79 79 73  s>yypParser->yys
11bf0 74 61 63 6b 20 29 20 79 79 5f 70 6f 70 5f 70 61  tack ) yy_pop_pa
11c00 72 73 65 72 5f 73 74 61 63 6b 28 79 79 70 50 61  rser_stack(yypPa
11c10 72 73 65 72 29 3b 0a 20 20 20 2f 2a 20 48 65 72  rser);.   /* Her
11c20 65 20 63 6f 64 65 20 69 73 20 69 6e 73 65 72 74  e code is insert
11c30 65 64 20 77 68 69 63 68 20 77 69 6c 6c 20 65 78  ed which will ex
11c40 65 63 75 74 65 20 69 66 20 74 68 65 20 70 61 72  ecute if the par
11c50 73 65 72 0a 20 20 20 2a 2a 20 73 74 61 63 6b 20  ser.   ** stack 
11c60 65 76 65 72 79 20 6f 76 65 72 66 6c 6f 77 73 20  every overflows 
11c70 2a 2f 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 20 42 65 67  */./******** Beg
11c80 69 6e 20 25 73 74 61 63 6b 5f 6f 76 65 72 66 6c  in %stack_overfl
11c90 6f 77 20 63 6f 64 65 20 2a 2a 2a 2a 2a 2a 2a 2a  ow code ********
11ca0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
11cb0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
11cc0 2a 2a 2f 0a 0a 20 20 20 20 20 73 70 61 74 69 61  **/..     spatia
11cd0 6c 69 74 65 5f 65 28 20 22 47 69 76 69 6e 67 20  lite_e( "Giving 
11ce0 75 70 2e 20 20 50 61 72 73 65 72 20 73 74 61 63  up.  Parser stac
11cf0 6b 20 6f 76 65 72 66 6c 6f 77 5c 6e 22 29 3b 0a  k overflow\n");.
11d00 2f 2a 2a 2a 2a 2a 2a 2a 2a 20 45 6e 64 20 25 73  /******** End %s
11d10 74 61 63 6b 5f 6f 76 65 72 66 6c 6f 77 20 63 6f  tack_overflow co
11d20 64 65 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  de *************
11d30 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
11d40 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f  ***************/
11d50 0a 20 20 20 50 61 72 73 65 41 52 47 5f 53 54 4f  .   ParseARG_STO
11d60 52 45 3b 20 2f 2a 20 53 75 70 70 72 65 73 73 20  RE; /* Suppress 
11d70 77 61 72 6e 69 6e 67 20 61 62 6f 75 74 20 75 6e  warning about un
11d80 75 73 65 64 20 25 65 78 74 72 61 5f 61 72 67 75  used %extra_argu
11d90 6d 65 6e 74 20 76 61 72 20 2a 2f 0a 7d 0a 0a 2f  ment var */.}../
11da0 2a 0a 2a 2a 20 50 72 69 6e 74 20 74 72 61 63 69  *.** Print traci
11db0 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66  ng information f
11dc0 6f 72 20 61 20 53 48 49 46 54 20 61 63 74 69 6f  or a SHIFT actio
11dd0 6e 0a 2a 2f 0a 23 69 66 6e 64 65 66 20 4e 44 45  n.*/.#ifndef NDE
11de0 42 55 47 0a 73 74 61 74 69 63 20 76 6f 69 64 20  BUG.static void 
11df0 79 79 54 72 61 63 65 53 68 69 66 74 28 79 79 50  yyTraceShift(yyP
11e00 61 72 73 65 72 20 2a 79 79 70 50 61 72 73 65 72  arser *yypParser
11e10 2c 20 69 6e 74 20 79 79 4e 65 77 53 74 61 74 65  , int yyNewState
11e20 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 7a 54  , const char *zT
11e30 61 67 29 7b 0a 20 20 69 66 28 20 79 79 54 72 61  ag){.  if( yyTra
11e40 63 65 46 49 4c 45 20 29 7b 0a 20 20 20 20 69 66  ceFILE ){.    if
11e50 28 20 79 79 4e 65 77 53 74 61 74 65 3c 59 59 4e  ( yyNewState<YYN
11e60 53 54 41 54 45 20 29 7b 0a 20 20 20 20 20 20 66  STATE ){.      f
11e70 70 72 69 6e 74 66 28 79 79 54 72 61 63 65 46 49  printf(yyTraceFI
11e80 4c 45 2c 22 25 73 25 73 20 27 25 73 27 2c 20 67  LE,"%s%s '%s', g
11e90 6f 20 74 6f 20 73 74 61 74 65 20 25 64 5c 6e 22  o to state %d\n"
11ea0 2c 0a 20 20 20 20 20 20 20 20 20 79 79 54 72 61  ,.         yyTra
11eb0 63 65 50 72 6f 6d 70 74 2c 20 7a 54 61 67 2c 20  cePrompt, zTag, 
11ec0 79 79 54 6f 6b 65 6e 4e 61 6d 65 5b 79 79 70 50  yyTokenName[yypP
11ed0 61 72 73 65 72 2d 3e 79 79 74 6f 73 2d 3e 6d 61  arser->yytos->ma
11ee0 6a 6f 72 5d 2c 0a 20 20 20 20 20 20 20 20 20 79  jor],.         y
11ef0 79 4e 65 77 53 74 61 74 65 29 3b 0a 20 20 20 20  yNewState);.    
11f00 7d 65 6c 73 65 7b 0a 20 20 20 20 20 20 66 70 72  }else{.      fpr
11f10 69 6e 74 66 28 79 79 54 72 61 63 65 46 49 4c 45  intf(yyTraceFILE
11f20 2c 22 25 73 25 73 20 27 25 73 27 2c 20 70 65 6e  ,"%s%s '%s', pen
11f30 64 69 6e 67 20 72 65 64 75 63 65 20 25 64 5c 6e  ding reduce %d\n
11f40 22 2c 0a 20 20 20 20 20 20 20 20 20 79 79 54 72  ",.         yyTr
11f50 61 63 65 50 72 6f 6d 70 74 2c 20 7a 54 61 67 2c  acePrompt, zTag,
11f60 20 79 79 54 6f 6b 65 6e 4e 61 6d 65 5b 79 79 70   yyTokenName[yyp
11f70 50 61 72 73 65 72 2d 3e 79 79 74 6f 73 2d 3e 6d  Parser->yytos->m
11f80 61 6a 6f 72 5d 2c 0a 20 20 20 20 20 20 20 20 20  ajor],.         
11f90 79 79 4e 65 77 53 74 61 74 65 20 2d 20 59 59 5f  yyNewState - YY_
11fa0 4d 49 4e 5f 52 45 44 55 43 45 29 3b 0a 20 20 20  MIN_REDUCE);.   
11fb0 20 7d 0a 20 20 7d 0a 7d 0a 23 65 6c 73 65 0a 23   }.  }.}.#else.#
11fc0 20 64 65 66 69 6e 65 20 79 79 54 72 61 63 65 53   define yyTraceS
11fd0 68 69 66 74 28 58 2c 59 2c 5a 29 0a 23 65 6e 64  hift(X,Y,Z).#end
11fe0 69 66 0a 0a 2f 2a 0a 2a 2a 20 50 65 72 66 6f 72  if../*.** Perfor
11ff0 6d 20 61 20 73 68 69 66 74 20 61 63 74 69 6f 6e  m a shift action
12000 2e 0a 2a 2f 0a 73 74 61 74 69 63 20 76 6f 69 64  ..*/.static void
12010 20 79 79 5f 73 68 69 66 74 28 0a 20 20 79 79 50   yy_shift(.  yyP
12020 61 72 73 65 72 20 2a 79 79 70 50 61 72 73 65 72  arser *yypParser
12030 2c 20 20 20 20 20 20 20 20 20 20 2f 2a 20 54 68  ,          /* Th
12040 65 20 70 61 72 73 65 72 20 74 6f 20 62 65 20 73  e parser to be s
12050 68 69 66 74 65 64 20 2a 2f 0a 20 20 69 6e 74 20  hifted */.  int 
12060 79 79 4e 65 77 53 74 61 74 65 2c 20 20 20 20 20  yyNewState,     
12070 20 20 20 20 20 20 20 20 20 20 2f 2a 20 54 68 65            /* The
12080 20 6e 65 77 20 73 74 61 74 65 20 74 6f 20 73 68   new state to sh
12090 69 66 74 20 69 6e 20 2a 2f 0a 20 20 69 6e 74 20  ift in */.  int 
120a0 79 79 4d 61 6a 6f 72 2c 20 20 20 20 20 20 20 20  yyMajor,        
120b0 20 20 20 20 20 20 20 20 20 20 2f 2a 20 54 68 65            /* The
120c0 20 6d 61 6a 6f 72 20 74 6f 6b 65 6e 20 74 6f 20   major token to 
120d0 73 68 69 66 74 20 69 6e 20 2a 2f 0a 20 20 50 61  shift in */.  Pa
120e0 72 73 65 54 4f 4b 45 4e 54 59 50 45 20 79 79 4d  rseTOKENTYPE yyM
120f0 69 6e 6f 72 20 20 20 20 20 20 20 20 2f 2a 20 54  inor        /* T
12100 68 65 20 6d 69 6e 6f 72 20 74 6f 6b 65 6e 20 74  he minor token t
12110 6f 20 73 68 69 66 74 20 69 6e 20 2a 2f 0a 29 7b  o shift in */.){
12120 0a 20 20 79 79 53 74 61 63 6b 45 6e 74 72 79 20  .  yyStackEntry 
12130 2a 79 79 74 6f 73 3b 0a 20 20 79 79 70 50 61 72  *yytos;.  yypPar
12140 73 65 72 2d 3e 79 79 74 6f 73 2b 2b 3b 0a 23 69  ser->yytos++;.#i
12150 66 64 65 66 20 59 59 54 52 41 43 4b 4d 41 58 53  fdef YYTRACKMAXS
12160 54 41 43 4b 44 45 50 54 48 0a 20 20 69 66 28 20  TACKDEPTH.  if( 
12170 28 69 6e 74 29 28 79 79 70 50 61 72 73 65 72 2d  (int)(yypParser-
12180 3e 79 79 74 6f 73 20 2d 20 79 79 70 50 61 72 73  >yytos - yypPars
12190 65 72 2d 3e 79 79 73 74 61 63 6b 29 3e 79 79 70  er->yystack)>yyp
121a0 50 61 72 73 65 72 2d 3e 79 79 68 77 6d 20 29 7b  Parser->yyhwm ){
121b0 0a 20 20 20 20 79 79 70 50 61 72 73 65 72 2d 3e  .    yypParser->
121c0 79 79 68 77 6d 2b 2b 3b 0a 20 20 20 20 61 73 73  yyhwm++;.    ass
121d0 65 72 74 28 20 79 79 70 50 61 72 73 65 72 2d 3e  ert( yypParser->
121e0 79 79 68 77 6d 20 3d 3d 20 28 69 6e 74 29 28 79  yyhwm == (int)(y
121f0 79 70 50 61 72 73 65 72 2d 3e 79 79 74 6f 73 20  ypParser->yytos 
12200 2d 20 79 79 70 50 61 72 73 65 72 2d 3e 79 79 73  - yypParser->yys
12210 74 61 63 6b 29 20 29 3b 0a 20 20 7d 0a 23 65 6e  tack) );.  }.#en
12220 64 69 66 0a 23 69 66 20 59 59 53 54 41 43 4b 44  dif.#if YYSTACKD
12230 45 50 54 48 3e 30 20 0a 20 20 69 66 28 20 79 79  EPTH>0 .  if( yy
12240 70 50 61 72 73 65 72 2d 3e 79 79 74 6f 73 3e 79  pParser->yytos>y
12250 79 70 50 61 72 73 65 72 2d 3e 79 79 73 74 61 63  ypParser->yystac
12260 6b 45 6e 64 20 29 7b 0a 20 20 20 20 79 79 70 50  kEnd ){.    yypP
12270 61 72 73 65 72 2d 3e 79 79 74 6f 73 2d 2d 3b 0a  arser->yytos--;.
12280 20 20 20 20 79 79 53 74 61 63 6b 4f 76 65 72 66      yyStackOverf
12290 6c 6f 77 28 79 79 70 50 61 72 73 65 72 29 3b 0a  low(yypParser);.
122a0 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 7d 0a      return;.  }.
122b0 23 65 6c 73 65 0a 20 20 69 66 28 20 79 79 70 50  #else.  if( yypP
122c0 61 72 73 65 72 2d 3e 79 79 74 6f 73 3e 3d 26 79  arser->yytos>=&y
122d0 79 70 50 61 72 73 65 72 2d 3e 79 79 73 74 61 63  ypParser->yystac
122e0 6b 5b 79 79 70 50 61 72 73 65 72 2d 3e 79 79 73  k[yypParser->yys
122f0 74 6b 73 7a 5d 20 29 7b 0a 20 20 20 20 69 66 28  tksz] ){.    if(
12300 20 79 79 47 72 6f 77 53 74 61 63 6b 28 79 79 70   yyGrowStack(yyp
12310 50 61 72 73 65 72 29 20 29 7b 0a 20 20 20 20 20  Parser) ){.     
12320 20 79 79 70 50 61 72 73 65 72 2d 3e 79 79 74 6f   yypParser->yyto
12330 73 2d 2d 3b 0a 20 20 20 20 20 20 79 79 53 74 61  s--;.      yySta
12340 63 6b 4f 76 65 72 66 6c 6f 77 28 79 79 70 50 61  ckOverflow(yypPa
12350 72 73 65 72 29 3b 0a 20 20 20 20 20 20 72 65 74  rser);.      ret
12360 75 72 6e 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 23  urn;.    }.  }.#
12370 65 6e 64 69 66 0a 20 20 69 66 28 20 79 79 4e 65  endif.  if( yyNe
12380 77 53 74 61 74 65 20 3e 20 59 59 5f 4d 41 58 5f  wState > YY_MAX_
12390 53 48 49 46 54 20 29 7b 0a 20 20 20 20 79 79 4e  SHIFT ){.    yyN
123a0 65 77 53 74 61 74 65 20 2b 3d 20 59 59 5f 4d 49  ewState += YY_MI
123b0 4e 5f 52 45 44 55 43 45 20 2d 20 59 59 5f 4d 49  N_REDUCE - YY_MI
123c0 4e 5f 53 48 49 46 54 52 45 44 55 43 45 3b 0a 20  N_SHIFTREDUCE;. 
123d0 20 7d 0a 20 20 79 79 74 6f 73 20 3d 20 79 79 70   }.  yytos = yyp
123e0 50 61 72 73 65 72 2d 3e 79 79 74 6f 73 3b 0a 20  Parser->yytos;. 
123f0 20 79 79 74 6f 73 2d 3e 73 74 61 74 65 6e 6f 20   yytos->stateno 
12400 3d 20 28 59 59 41 43 54 49 4f 4e 54 59 50 45 29  = (YYACTIONTYPE)
12410 79 79 4e 65 77 53 74 61 74 65 3b 0a 20 20 79 79  yyNewState;.  yy
12420 74 6f 73 2d 3e 6d 61 6a 6f 72 20 3d 20 28 59 59  tos->major = (YY
12430 43 4f 44 45 54 59 50 45 29 79 79 4d 61 6a 6f 72  CODETYPE)yyMajor
12440 3b 0a 20 20 79 79 74 6f 73 2d 3e 6d 69 6e 6f 72  ;.  yytos->minor
12450 2e 79 79 30 20 3d 20 79 79 4d 69 6e 6f 72 3b 0a  .yy0 = yyMinor;.
12460 20 20 79 79 54 72 61 63 65 53 68 69 66 74 28 79    yyTraceShift(y
12470 79 70 50 61 72 73 65 72 2c 20 79 79 4e 65 77 53  ypParser, yyNewS
12480 74 61 74 65 2c 20 22 53 68 69 66 74 22 29 3b 0a  tate, "Shift");.
12490 7d 0a 0a 2f 2a 20 54 68 65 20 66 6f 6c 6c 6f 77  }../* The follow
124a0 69 6e 67 20 74 61 62 6c 65 20 63 6f 6e 74 61 69  ing table contai
124b0 6e 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61  ns information a
124c0 62 6f 75 74 20 65 76 65 72 79 20 72 75 6c 65 20  bout every rule 
124d0 74 68 61 74 0a 2a 2a 20 69 73 20 75 73 65 64 20  that.** is used 
124e0 64 75 72 69 6e 67 20 74 68 65 20 72 65 64 75 63  during the reduc
124f0 65 2e 0a 2a 2f 0a 73 74 61 74 69 63 20 63 6f 6e  e..*/.static con
12500 73 74 20 73 74 72 75 63 74 20 7b 0a 20 20 59 59  st struct {.  YY
12510 43 4f 44 45 54 59 50 45 20 6c 68 73 3b 20 20 20  CODETYPE lhs;   
12520 20 20 20 20 2f 2a 20 53 79 6d 62 6f 6c 20 6f 6e      /* Symbol on
12530 20 74 68 65 20 6c 65 66 74 2d 68 61 6e 64 20 73   the left-hand s
12540 69 64 65 20 6f 66 20 74 68 65 20 72 75 6c 65 20  ide of the rule 
12550 2a 2f 0a 20 20 73 69 67 6e 65 64 20 63 68 61 72  */.  signed char
12560 20 6e 72 68 73 3b 20 20 20 20 20 2f 2a 20 4e 65   nrhs;     /* Ne
12570 67 61 74 69 76 65 20 6f 66 20 74 68 65 20 6e 75  gative of the nu
12580 6d 62 65 72 20 6f 66 20 52 48 53 20 73 79 6d 62  mber of RHS symb
12590 6f 6c 73 20 69 6e 20 74 68 65 20 72 75 6c 65 20  ols in the rule 
125a0 2a 2f 0a 7d 20 79 79 52 75 6c 65 49 6e 66 6f 5b  */.} yyRuleInfo[
125b0 5d 20 3d 20 7b 0a 20 20 7b 20 20 20 33 30 2c 20  ] = {.  {   30, 
125c0 20 20 2d 31 20 7d 2c 20 2f 2a 20 28 30 29 20 67    -1 }, /* (0) g
125d0 65 6f 5f 74 65 78 74 20 3a 3a 3d 20 70 6f 69 6e  eo_text ::= poin
125e0 74 20 2a 2f 0a 20 20 7b 20 20 20 33 30 2c 20 20  t */.  {   30,  
125f0 20 2d 31 20 7d 2c 20 2f 2a 20 28 31 29 20 67 65   -1 }, /* (1) ge
12600 6f 5f 74 65 78 74 20 3a 3a 3d 20 70 6f 69 6e 74  o_text ::= point
12610 7a 20 2a 2f 0a 20 20 7b 20 20 20 33 30 2c 20 20  z */.  {   30,  
12620 20 2d 31 20 7d 2c 20 2f 2a 20 28 32 29 20 67 65   -1 }, /* (2) ge
12630 6f 5f 74 65 78 74 20 3a 3a 3d 20 6c 69 6e 65 73  o_text ::= lines
12640 74 72 69 6e 67 20 2a 2f 0a 20 20 7b 20 20 20 33  tring */.  {   3
12650 30 2c 20 20 20 2d 31 20 7d 2c 20 2f 2a 20 28 33  0,   -1 }, /* (3
12660 29 20 67 65 6f 5f 74 65 78 74 20 3a 3a 3d 20 6c  ) geo_text ::= l
12670 69 6e 65 73 74 72 69 6e 67 7a 20 2a 2f 0a 20 20  inestringz */.  
12680 7b 20 20 20 33 30 2c 20 20 20 2d 31 20 7d 2c 20  {   30,   -1 }, 
12690 2f 2a 20 28 34 29 20 67 65 6f 5f 74 65 78 74 20  /* (4) geo_text 
126a0 3a 3a 3d 20 70 6f 6c 79 67 6f 6e 20 2a 2f 0a 20  ::= polygon */. 
126b0 20 7b 20 20 20 33 30 2c 20 20 20 2d 31 20 7d 2c   {   30,   -1 },
126c0 20 2f 2a 20 28 35 29 20 67 65 6f 5f 74 65 78 74   /* (5) geo_text
126d0 20 3a 3a 3d 20 70 6f 6c 79 67 6f 6e 7a 20 2a 2f   ::= polygonz */
126e0 0a 20 20 7b 20 20 20 33 30 2c 20 20 20 2d 31 20  .  {   30,   -1 
126f0 7d 2c 20 2f 2a 20 28 36 29 20 67 65 6f 5f 74 65  }, /* (6) geo_te
12700 78 74 20 3a 3a 3d 20 6d 75 6c 74 69 70 6f 69 6e  xt ::= multipoin
12710 74 20 2a 2f 0a 20 20 7b 20 20 20 33 30 2c 20 20  t */.  {   30,  
12720 20 2d 31 20 7d 2c 20 2f 2a 20 28 37 29 20 67 65   -1 }, /* (7) ge
12730 6f 5f 74 65 78 74 20 3a 3a 3d 20 6d 75 6c 74 69  o_text ::= multi
12740 70 6f 69 6e 74 7a 20 2a 2f 0a 20 20 7b 20 20 20  pointz */.  {   
12750 33 30 2c 20 20 20 2d 31 20 7d 2c 20 2f 2a 20 28  30,   -1 }, /* (
12760 38 29 20 67 65 6f 5f 74 65 78 74 20 3a 3a 3d 20  8) geo_text ::= 
12770 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 20  multilinestring 
12780 2a 2f 0a 20 20 7b 20 20 20 33 30 2c 20 20 20 2d  */.  {   30,   -
12790 31 20 7d 2c 20 2f 2a 20 28 39 29 20 67 65 6f 5f  1 }, /* (9) geo_
127a0 74 65 78 74 20 3a 3a 3d 20 6d 75 6c 74 69 6c 69  text ::= multili
127b0 6e 65 73 74 72 69 6e 67 7a 20 2a 2f 0a 20 20 7b  nestringz */.  {
127c0 20 20 20 33 30 2c 20 20 20 2d 31 20 7d 2c 20 2f     30,   -1 }, /
127d0 2a 20 28 31 30 29 20 67 65 6f 5f 74 65 78 74 20  * (10) geo_text 
127e0 3a 3a 3d 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e  ::= multipolygon
127f0 20 2a 2f 0a 20 20 7b 20 20 20 33 30 2c 20 20 20   */.  {   30,   
12800 2d 31 20 7d 2c 20 2f 2a 20 28 31 31 29 20 67 65  -1 }, /* (11) ge
12810 6f 5f 74 65 78 74 20 3a 3a 3d 20 6d 75 6c 74 69  o_text ::= multi
12820 70 6f 6c 79 67 6f 6e 7a 20 2a 2f 0a 20 20 7b 20  polygonz */.  { 
12830 20 20 33 30 2c 20 20 20 2d 31 20 7d 2c 20 2f 2a    30,   -1 }, /*
12840 20 28 31 32 29 20 67 65 6f 5f 74 65 78 74 20 3a   (12) geo_text :
12850 3a 3d 20 67 65 6f 63 6f 6c 6c 20 2a 2f 0a 20 20  := geocoll */.  
12860 7b 20 20 20 33 30 2c 20 20 20 2d 31 20 7d 2c 20  {   30,   -1 }, 
12870 2f 2a 20 28 31 33 29 20 67 65 6f 5f 74 65 78 74  /* (13) geo_text
12880 20 3a 3a 3d 20 67 65 6f 63 6f 6c 6c 7a 20 2a 2f   ::= geocollz */
12890 0a 20 20 7b 20 20 20 33 31 2c 20 20 20 2d 39 20  .  {   31,   -9 
128a0 7d 2c 20 2f 2a 20 28 31 34 29 20 70 6f 69 6e 74  }, /* (14) point
128b0 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
128c0 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
128d0 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
128e0 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49 4e 54  ON GEOJSON_POINT
128f0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
12900 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45  EOJSON_COORDS GE
12910 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69 6e  OJSON_COLON poin
12920 74 5f 63 6f 6f 72 64 78 79 20 47 45 4f 4a 53 4f  t_coordxy GEOJSO
12930 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
12940 0a 20 20 7b 20 20 20 33 31 2c 20 20 2d 31 35 20  .  {   31,  -15 
12950 7d 2c 20 2f 2a 20 28 31 35 29 20 70 6f 69 6e 74  }, /* (15) point
12960 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
12970 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
12980 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
12990 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49 4e 54  ON GEOJSON_POINT
129a0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
129b0 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a  EOJSON_BBOX GEOJ
129c0 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
129d0 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62  N_OPEN_BRACKET b
129e0 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  box GEOJSON_CLOS
129f0 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f  E_BRACKET GEOJSO
12a00 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
12a10 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43  COORDS GEOJSON_C
12a20 4f 4c 4f 4e 20 70 6f 69 6e 74 5f 63 6f 6f 72 64  OLON point_coord
12a30 78 79 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  xy GEOJSON_CLOSE
12a40 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20 20 20  _BRACE */.  {   
12a50 33 31 2c 20 20 2d 31 33 20 7d 2c 20 2f 2a 20 28  31,  -13 }, /* (
12a60 31 36 29 20 70 6f 69 6e 74 20 3a 3a 3d 20 47 45  16) point ::= GE
12a70 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45  OJSON_OPEN_BRACE
12a80 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45   GEOJSON_TYPE GE
12a90 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
12aa0 53 4f 4e 5f 50 4f 49 4e 54 20 47 45 4f 4a 53 4f  SON_POINT GEOJSO
12ab0 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
12ac0 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  CRS GEOJSON_COLO
12ad0 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45 4f 4a  N short_crs GEOJ
12ae0 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
12af0 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e  N_COORDS GEOJSON
12b00 5f 43 4f 4c 4f 4e 20 70 6f 69 6e 74 5f 63 6f 6f  _COLON point_coo
12b10 72 64 78 79 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  rdxy GEOJSON_CLO
12b20 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20  SE_BRACE */.  { 
12b30 20 20 33 31 2c 20 20 2d 31 33 20 7d 2c 20 2f 2a    31,  -13 }, /*
12b40 20 28 31 37 29 20 70 6f 69 6e 74 20 3a 3a 3d 20   (17) point ::= 
12b50 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
12b60 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
12b70 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
12b80 4f 4a 53 4f 4e 5f 50 4f 49 4e 54 20 47 45 4f 4a  OJSON_POINT GEOJ
12b90 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
12ba0 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
12bb0 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f  LON long_crs GEO
12bc0 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
12bd0 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
12be0 4e 5f 43 4f 4c 4f 4e 20 70 6f 69 6e 74 5f 63 6f  N_COLON point_co
12bf0 6f 72 64 78 79 20 47 45 4f 4a 53 4f 4e 5f 43 4c  ordxy GEOJSON_CL
12c00 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b  OSE_BRACE */.  {
12c10 20 20 20 33 31 2c 20 20 2d 31 39 20 7d 2c 20 2f     31,  -19 }, /
12c20 2a 20 28 31 38 29 20 70 6f 69 6e 74 20 3a 3a 3d  * (18) point ::=
12c30 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
12c40 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
12c50 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
12c60 45 4f 4a 53 4f 4e 5f 50 4f 49 4e 54 20 47 45 4f  EOJSON_POINT GEO
12c70 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
12c80 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43  ON_CRS GEOJSON_C
12c90 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47  OLON short_crs G
12ca0 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
12cb0 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f  JSON_BBOX GEOJSO
12cc0 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
12cd0 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f  OPEN_BRACKET bbo
12ce0 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  x GEOJSON_CLOSE_
12cf0 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f  BRACKET GEOJSON_
12d00 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
12d10 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
12d20 4f 4e 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79  ON point_coordxy
12d30 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
12d40 52 41 43 45 20 2a 2f 0a 20 20 7b 20 20 20 33 31  RACE */.  {   31
12d50 2c 20 20 2d 31 39 20 7d 2c 20 2f 2a 20 28 31 39  ,  -19 }, /* (19
12d60 29 20 70 6f 69 6e 74 20 3a 3a 3d 20 47 45 4f 4a  ) point ::= GEOJ
12d70 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
12d80 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
12d90 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
12da0 4e 5f 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f  N_POINT GEOJSON_
12db0 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52  COMMA GEOJSON_CR
12dc0 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
12dd0 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e  long_crs GEOJSON
12de0 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42  _COMMA GEOJSON_B
12df0 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  BOX GEOJSON_COLO
12e00 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  N GEOJSON_OPEN_B
12e10 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a  RACKET bbox GEOJ
12e20 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45  SON_CLOSE_BRACKE
12e30 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
12e40 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
12e50 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69  EOJSON_COLON poi
12e60 6e 74 5f 63 6f 6f 72 64 78 79 20 47 45 4f 4a 53  nt_coordxy GEOJS
12e70 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a  ON_CLOSE_BRACE *
12e80 2f 0a 20 20 7b 20 20 20 33 32 2c 20 20 20 2d 39  /.  {   32,   -9
12e90 20 7d 2c 20 2f 2a 20 28 32 30 29 20 70 6f 69 6e   }, /* (20) poin
12ea0 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  tz ::= GEOJSON_O
12eb0 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  PEN_BRACE GEOJSO
12ec0 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_TYPE GEOJSON_C
12ed0 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49  OLON GEOJSON_POI
12ee0 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  NT GEOJSON_COMMA
12ef0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20   GEOJSON_COORDS 
12f00 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f  GEOJSON_COLON po
12f10 69 6e 74 5f 63 6f 6f 72 64 78 79 7a 20 47 45 4f  int_coordxyz GEO
12f20 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
12f30 20 2a 2f 0a 20 20 7b 20 20 20 33 32 2c 20 20 2d   */.  {   32,  -
12f40 31 35 20 7d 2c 20 2f 2a 20 28 32 31 29 20 70 6f  15 }, /* (21) po
12f50 69 6e 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  intz ::= GEOJSON
12f60 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
12f70 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
12f80 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50  _COLON GEOJSON_P
12f90 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  OINT GEOJSON_COM
12fa0 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20  MA GEOJSON_BBOX 
12fb0 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
12fc0 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
12fd0 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f  ET bbox GEOJSON_
12fe0 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45  CLOSE_BRACKET GE
12ff0 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
13000 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
13010 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69 6e 74 5f 63  ON_COLON point_c
13020 6f 6f 72 64 78 79 7a 20 47 45 4f 4a 53 4f 4e 5f  oordxyz GEOJSON_
13030 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20  CLOSE_BRACE */. 
13040 20 7b 20 20 20 33 32 2c 20 20 2d 31 33 20 7d 2c   {   32,  -13 },
13050 20 2f 2a 20 28 32 32 29 20 70 6f 69 6e 74 7a 20   /* (22) pointz 
13060 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
13070 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54  _BRACE GEOJSON_T
13080 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  YPE GEOJSON_COLO
13090 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49 4e 54 20  N GEOJSON_POINT 
130a0 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
130b0 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f  OJSON_CRS GEOJSO
130c0 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72  N_COLON short_cr
130d0 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  s GEOJSON_COMMA 
130e0 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
130f0 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69  EOJSON_COLON poi
13100 6e 74 5f 63 6f 6f 72 64 78 79 7a 20 47 45 4f 4a  nt_coordxyz GEOJ
13110 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20  SON_CLOSE_BRACE 
13120 2a 2f 0a 20 20 7b 20 20 20 33 32 2c 20 20 2d 31  */.  {   32,  -1
13130 33 20 7d 2c 20 2f 2a 20 28 32 33 29 20 70 6f 69  3 }, /* (23) poi
13140 6e 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  ntz ::= GEOJSON_
13150 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
13160 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
13170 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f  COLON GEOJSON_PO
13180 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  INT GEOJSON_COMM
13190 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45  A GEOJSON_CRS GE
131a0 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67  OJSON_COLON long
131b0 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  _crs GEOJSON_COM
131c0 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44  MA GEOJSON_COORD
131d0 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
131e0 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 7a 20 47  point_coordxyz G
131f0 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
13200 43 45 20 2a 2f 0a 20 20 7b 20 20 20 33 31 2c 20  CE */.  {   31, 
13210 20 2d 31 39 20 7d 2c 20 2f 2a 20 28 32 34 29 20   -19 }, /* (24) 
13220 70 6f 69 6e 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f  point ::= GEOJSO
13230 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
13240 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f  JSON_TYPE GEOJSO
13250 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
13260 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f  POINT GEOJSON_CO
13270 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20  MMA GEOJSON_CRS 
13280 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68  GEOJSON_COLON sh
13290 6f 72 74 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f  ort_crs GEOJSON_
132a0 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42  COMMA GEOJSON_BB
132b0 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  OX GEOJSON_COLON
132c0 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
132d0 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a 53  ACKET bbox GEOJS
132e0 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54  ON_CLOSE_BRACKET
132f0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
13300 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45  EOJSON_COORDS GE
13310 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69 6e  OJSON_COLON poin
13320 74 5f 63 6f 6f 72 64 78 79 7a 20 47 45 4f 4a 53  t_coordxyz GEOJS
13330 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a  ON_CLOSE_BRACE *
13340 2f 0a 20 20 7b 20 20 20 33 31 2c 20 20 2d 31 39  /.  {   31,  -19
13350 20 7d 2c 20 2f 2a 20 28 32 35 29 20 70 6f 69 6e   }, /* (25) poin
13360 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50  t ::= GEOJSON_OP
13370 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e  EN_BRACE GEOJSON
13380 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _TYPE GEOJSON_CO
13390 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49 4e  LON GEOJSON_POIN
133a0 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
133b0 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a  GEOJSON_CRS GEOJ
133c0 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63  SON_COLON long_c
133d0 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  rs GEOJSON_COMMA
133e0 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45   GEOJSON_BBOX GE
133f0 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
13400 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54  SON_OPEN_BRACKET
13410 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c   bbox GEOJSON_CL
13420 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a  OSE_BRACKET GEOJ
13430 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
13440 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e  N_COORDS GEOJSON
13450 5f 43 4f 4c 4f 4e 20 70 6f 69 6e 74 5f 63 6f 6f  _COLON point_coo
13460 72 64 78 79 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c  rdxyz GEOJSON_CL
13470 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b  OSE_BRACE */.  {
13480 20 20 20 34 37 2c 20 20 2d 31 33 20 7d 2c 20 2f     47,  -13 }, /
13490 2a 20 28 32 36 29 20 73 68 6f 72 74 5f 63 72 73  * (26) short_crs
134a0 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
134b0 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
134c0 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
134d0 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4e 41 4d 45 20  ON GEOJSON_NAME 
134e0 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
134f0 4f 4a 53 4f 4e 5f 50 52 4f 50 53 20 47 45 4f 4a  OJSON_PROPS GEOJ
13500 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
13510 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
13520 4a 53 4f 4e 5f 4e 41 4d 45 20 47 45 4f 4a 53 4f  JSON_NAME GEOJSO
13530 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 73 72  N_COLON short_sr
13540 69 64 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  id GEOJSON_CLOSE
13550 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 43  _BRACE GEOJSON_C
13560 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20  LOSE_BRACE */.  
13570 7b 20 20 20 34 38 2c 20 20 2d 31 33 20 7d 2c 20  {   48,  -13 }, 
13580 2f 2a 20 28 32 37 29 20 6c 6f 6e 67 5f 63 72 73  /* (27) long_crs
13590 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
135a0 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
135b0 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
135c0 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4e 41 4d 45 20  ON GEOJSON_NAME 
135d0 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
135e0 4f 4a 53 4f 4e 5f 50 52 4f 50 53 20 47 45 4f 4a  OJSON_PROPS GEOJ
135f0 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
13600 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
13610 4a 53 4f 4e 5f 4e 41 4d 45 20 47 45 4f 4a 53 4f  JSON_NAME GEOJSO
13620 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 73 72 69  N_COLON long_sri
13630 64 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  d GEOJSON_CLOSE_
13640 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 43 4c  BRACE GEOJSON_CL
13650 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b  OSE_BRACE */.  {
13660 20 20 20 34 35 2c 20 20 20 2d 35 20 7d 2c 20 2f     45,   -5 }, /
13670 2a 20 28 32 38 29 20 70 6f 69 6e 74 5f 63 6f 6f  * (28) point_coo
13680 72 64 78 79 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  rdxy ::= GEOJSON
13690 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 63 6f  _OPEN_BRACKET co
136a0 6f 72 64 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  ord GEOJSON_COMM
136b0 41 20 63 6f 6f 72 64 20 47 45 4f 4a 53 4f 4e 5f  A coord GEOJSON_
136c0 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 2a 2f  CLOSE_BRACKET */
136d0 0a 20 20 7b 20 20 20 34 39 2c 20 20 20 2d 37 20  .  {   49,   -7 
136e0 7d 2c 20 2f 2a 20 28 32 39 29 20 70 6f 69 6e 74  }, /* (29) point
136f0 5f 63 6f 6f 72 64 78 79 7a 20 3a 3a 3d 20 47 45  _coordxyz ::= GE
13700 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
13710 45 54 20 63 6f 6f 72 64 20 47 45 4f 4a 53 4f 4e  ET coord GEOJSON
13720 5f 43 4f 4d 4d 41 20 63 6f 6f 72 64 20 47 45 4f  _COMMA coord GEO
13730 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 63 6f 6f 72 64  JSON_COMMA coord
13740 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
13750 52 41 43 4b 45 54 20 2a 2f 0a 20 20 7b 20 20 20  RACKET */.  {   
13760 35 30 2c 20 20 20 2d 31 20 7d 2c 20 2f 2a 20 28  50,   -1 }, /* (
13770 33 30 29 20 63 6f 6f 72 64 20 3a 3a 3d 20 47 45  30) coord ::= GE
13780 4f 4a 53 4f 4e 5f 4e 55 4d 20 2a 2f 0a 20 20 7b  OJSON_NUM */.  {
13790 20 20 20 35 31 2c 20 20 20 2d 31 20 7d 2c 20 2f     51,   -1 }, /
137a0 2a 20 28 33 31 29 20 73 68 6f 72 74 5f 73 72 69  * (31) short_sri
137b0 64 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 53 48  d ::= GEOJSON_SH
137c0 4f 52 54 5f 53 52 49 44 20 2a 2f 0a 20 20 7b 20  ORT_SRID */.  { 
137d0 20 20 35 32 2c 20 20 20 2d 31 20 7d 2c 20 2f 2a    52,   -1 }, /*
137e0 20 28 33 32 29 20 6c 6f 6e 67 5f 73 72 69 64 20   (32) long_srid 
137f0 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4c 4f 4e 47  ::= GEOJSON_LONG
13800 5f 53 52 49 44 20 2a 2f 0a 20 20 7b 20 20 20 35  _SRID */.  {   5
13810 33 2c 20 20 20 20 30 20 7d 2c 20 2f 2a 20 28 33  3,    0 }, /* (3
13820 33 29 20 65 78 74 72 61 5f 70 6f 69 6e 74 73 78  3) extra_pointsx
13830 79 20 3a 3a 3d 20 2a 2f 0a 20 20 7b 20 20 20 35  y ::= */.  {   5
13840 33 2c 20 20 20 2d 33 20 7d 2c 20 2f 2a 20 28 33  3,   -3 }, /* (3
13850 34 29 20 65 78 74 72 61 5f 70 6f 69 6e 74 73 78  4) extra_pointsx
13860 79 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 43 4f  y ::= GEOJSON_CO
13870 4d 4d 41 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78  MMA point_coordx
13880 79 20 65 78 74 72 61 5f 70 6f 69 6e 74 73 78 79  y extra_pointsxy
13890 20 2a 2f 0a 20 20 7b 20 20 20 35 34 2c 20 20 20   */.  {   54,   
138a0 20 30 20 7d 2c 20 2f 2a 20 28 33 35 29 20 65 78   0 }, /* (35) ex
138b0 74 72 61 5f 70 6f 69 6e 74 73 78 79 7a 20 3a 3a  tra_pointsxyz ::
138c0 3d 20 2a 2f 0a 20 20 7b 20 20 20 35 34 2c 20 20  = */.  {   54,  
138d0 20 2d 33 20 7d 2c 20 2f 2a 20 28 33 36 29 20 65   -3 }, /* (36) e
138e0 78 74 72 61 5f 70 6f 69 6e 74 73 78 79 7a 20 3a  xtra_pointsxyz :
138f0 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  := GEOJSON_COMMA
13900 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 7a 20   point_coordxyz 
13910 65 78 74 72 61 5f 70 6f 69 6e 74 73 78 79 7a 20  extra_pointsxyz 
13920 2a 2f 0a 20 20 7b 20 20 20 33 33 2c 20 20 20 2d  */.  {   33,   -
13930 39 20 7d 2c 20 2f 2a 20 28 33 37 29 20 6c 69 6e  9 }, /* (37) lin
13940 65 73 74 72 69 6e 67 20 3a 3a 3d 20 47 45 4f 4a  estring ::= GEOJ
13950 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
13960 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
13970 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
13980 4e 5f 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f  N_LINESTRING GEO
13990 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
139a0 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
139b0 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72 69  N_COLON linestri
139c0 6e 67 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f  ng_text GEOJSON_
139d0 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20  CLOSE_BRACE */. 
139e0 20 7b 20 20 20 33 33 2c 20 20 2d 31 35 20 7d 2c   {   33,  -15 },
139f0 20 2f 2a 20 28 33 38 29 20 6c 69 6e 65 73 74 72   /* (38) linestr
13a00 69 6e 67 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  ing ::= GEOJSON_
13a10 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
13a20 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
13a30 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4c 49  COLON GEOJSON_LI
13a40 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e  NESTRING GEOJSON
13a50 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42  _COMMA GEOJSON_B
13a60 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  BOX GEOJSON_COLO
13a70 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  N GEOJSON_OPEN_B
13a80 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a  RACKET bbox GEOJ
13a90 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45  SON_CLOSE_BRACKE
13aa0 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
13ab0 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
13ac0 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e  EOJSON_COLON lin
13ad0 65 73 74 72 69 6e 67 5f 74 65 78 74 20 47 45 4f  estring_text GEO
13ae0 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
13af0 20 2a 2f 0a 20 20 7b 20 20 20 33 33 2c 20 20 2d   */.  {   33,  -
13b00 31 33 20 7d 2c 20 2f 2a 20 28 33 39 29 20 6c 69  13 }, /* (39) li
13b10 6e 65 73 74 72 69 6e 67 20 3a 3a 3d 20 47 45 4f  nestring ::= GEO
13b20 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
13b30 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
13b40 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
13b50 4f 4e 5f 4c 49 4e 45 53 54 52 49 4e 47 20 47 45  ON_LINESTRING GE
13b60 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
13b70 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f  SON_CRS GEOJSON_
13b80 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20  COLON short_crs 
13b90 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
13ba0 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f  OJSON_COORDS GEO
13bb0 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65 73  JSON_COLON lines
13bc0 74 72 69 6e 67 5f 74 65 78 74 20 47 45 4f 4a 53  tring_text GEOJS
13bd0 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a  ON_CLOSE_BRACE *
13be0 2f 0a 20 20 7b 20 20 20 33 33 2c 20 20 2d 31 33  /.  {   33,  -13
13bf0 20 7d 2c 20 2f 2a 20 28 34 30 29 20 6c 69 6e 65   }, /* (40) line
13c00 73 74 72 69 6e 67 20 3a 3a 3d 20 47 45 4f 4a 53  string ::= GEOJS
13c10 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45  ON_OPEN_BRACE GE
13c20 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53  OJSON_TYPE GEOJS
13c30 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
13c40 5f 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a  _LINESTRING GEOJ
13c50 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
13c60 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
13c70 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f  LON long_crs GEO
13c80 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
13c90 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
13ca0 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72 69  N_COLON linestri
13cb0 6e 67 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f  ng_text GEOJSON_
13cc0 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20  CLOSE_BRACE */. 
13cd0 20 7b 20 20 20 33 33 2c 20 20 2d 31 39 20 7d 2c   {   33,  -19 },
13ce0 20 2f 2a 20 28 34 31 29 20 6c 69 6e 65 73 74 72   /* (41) linestr
13cf0 69 6e 67 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  ing ::= GEOJSON_
13d00 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
13d10 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
13d20 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4c 49  COLON GEOJSON_LI
13d30 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e  NESTRING GEOJSON
13d40 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
13d50 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  RS GEOJSON_COLON
13d60 20 73 68 6f 72 74 5f 63 72 73 20 47 45 4f 4a 53   short_crs GEOJS
13d70 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
13d80 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _BBOX GEOJSON_CO
13d90 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  LON GEOJSON_OPEN
13da0 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45  _BRACKET bbox GE
13db0 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
13dc0 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  KET GEOJSON_COMM
13dd0 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
13de0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c   GEOJSON_COLON l
13df0 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 20 47  inestring_text G
13e00 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
13e10 43 45 20 2a 2f 0a 20 20 7b 20 20 20 33 33 2c 20  CE */.  {   33, 
13e20 20 2d 31 39 20 7d 2c 20 2f 2a 20 28 34 32 29 20   -19 }, /* (42) 
13e30 6c 69 6e 65 73 74 72 69 6e 67 20 3a 3a 3d 20 47  linestring ::= G
13e40 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
13e50 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47  E GEOJSON_TYPE G
13e60 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
13e70 4a 53 4f 4e 5f 4c 49 4e 45 53 54 52 49 4e 47 20  JSON_LINESTRING 
13e80 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
13e90 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f  OJSON_CRS GEOJSO
13ea0 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73  N_COLON long_crs
13eb0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
13ec0 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a  EOJSON_BBOX GEOJ
13ed0 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
13ee0 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62  N_OPEN_BRACKET b
13ef0 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  box GEOJSON_CLOS
13f00 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f  E_BRACKET GEOJSO
13f10 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
13f20 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43  COORDS GEOJSON_C
13f30 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72 69 6e 67 5f  OLON linestring_
13f40 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  text GEOJSON_CLO
13f50 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20  SE_BRACE */.  { 
13f60 20 20 33 34 2c 20 20 20 2d 39 20 7d 2c 20 2f 2a    34,   -9 }, /*
13f70 20 28 34 33 29 20 6c 69 6e 65 73 74 72 69 6e 67   (43) linestring
13f80 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50  z ::= GEOJSON_OP
13f90 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e  EN_BRACE GEOJSON
13fa0 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _TYPE GEOJSON_CO
13fb0 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4c 49 4e 45  LON GEOJSON_LINE
13fc0 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43  STRING GEOJSON_C
13fd0 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
13fe0 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
13ff0 4e 20 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78  N linestring_tex
14000 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  tz GEOJSON_CLOSE
14010 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20 20 20  _BRACE */.  {   
14020 33 34 2c 20 20 2d 31 35 20 7d 2c 20 2f 2a 20 28  34,  -15 }, /* (
14030 34 34 29 20 6c 69 6e 65 73 74 72 69 6e 67 7a 20  44) linestringz 
14040 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
14050 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54  _BRACE GEOJSON_T
14060 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  YPE GEOJSON_COLO
14070 4e 20 47 45 4f 4a 53 4f 4e 5f 4c 49 4e 45 53 54  N GEOJSON_LINEST
14080 52 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  RING GEOJSON_COM
14090 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20  MA GEOJSON_BBOX 
140a0 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
140b0 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
140c0 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f  ET bbox GEOJSON_
140d0 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45  CLOSE_BRACKET GE
140e0 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
140f0 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
14100 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72  ON_COLON linestr
14110 69 6e 67 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f  ing_textz GEOJSO
14120 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
14130 0a 20 20 7b 20 20 20 33 34 2c 20 20 2d 31 33 20  .  {   34,  -13 
14140 7d 2c 20 2f 2a 20 28 34 35 29 20 6c 69 6e 65 73  }, /* (45) lines
14150 74 72 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f 4a 53  tringz ::= GEOJS
14160 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45  ON_OPEN_BRACE GE
14170 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53  OJSON_TYPE GEOJS
14180 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
14190 5f 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a  _LINESTRING GEOJ
141a0 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
141b0 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
141c0 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45  LON short_crs GE
141d0 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
141e0 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
141f0 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72  ON_COLON linestr
14200 69 6e 67 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f  ing_textz GEOJSO
14210 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
14220 0a 20 20 7b 20 20 20 33 34 2c 20 20 2d 31 33 20  .  {   34,  -13 
14230 7d 2c 20 2f 2a 20 28 34 36 29 20 6c 69 6e 65 73  }, /* (46) lines
14240 74 72 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f 4a 53  tringz ::= GEOJS
14250 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45  ON_OPEN_BRACE GE
14260 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53  OJSON_TYPE GEOJS
14270 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
14280 5f 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a  _LINESTRING GEOJ
14290 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
142a0 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
142b0 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f  LON long_crs GEO
142c0 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
142d0 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
142e0 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72 69  N_COLON linestri
142f0 6e 67 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e  ng_textz GEOJSON
14300 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a  _CLOSE_BRACE */.
14310 20 20 7b 20 20 20 33 34 2c 20 20 2d 31 39 20 7d    {   34,  -19 }
14320 2c 20 2f 2a 20 28 34 37 29 20 6c 69 6e 65 73 74  , /* (47) linest
14330 72 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f  ringz ::= GEOJSO
14340 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
14350 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f  JSON_TYPE GEOJSO
14360 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
14370 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53  LINESTRING GEOJS
14380 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
14390 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  _CRS GEOJSON_COL
143a0 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45 4f  ON short_crs GEO
143b0 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
143c0 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f  ON_BBOX GEOJSON_
143d0 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50  COLON GEOJSON_OP
143e0 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20  EN_BRACKET bbox 
143f0 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
14400 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f  ACKET GEOJSON_CO
14410 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52  MMA GEOJSON_COOR
14420 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  DS GEOJSON_COLON
14430 20 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74   linestring_text
14440 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  z GEOJSON_CLOSE_
14450 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20 20 20 33  BRACE */.  {   3
14460 34 2c 20 20 2d 31 39 20 7d 2c 20 2f 2a 20 28 34  4,  -19 }, /* (4
14470 38 29 20 6c 69 6e 65 73 74 72 69 6e 67 7a 20 3a  8) linestringz :
14480 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
14490 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
144a0 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
144b0 20 47 45 4f 4a 53 4f 4e 5f 4c 49 4e 45 53 54 52   GEOJSON_LINESTR
144c0 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  ING GEOJSON_COMM
144d0 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45  A GEOJSON_CRS GE
144e0 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67  OJSON_COLON long
144f0 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  _crs GEOJSON_COM
14500 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20  MA GEOJSON_BBOX 
14510 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
14520 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
14530 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f  ET bbox GEOJSON_
14540 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45  CLOSE_BRACKET GE
14550 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
14560 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
14570 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72  ON_COLON linestr
14580 69 6e 67 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f  ing_textz GEOJSO
14590 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
145a0 0a 20 20 7b 20 20 20 35 35 2c 20 20 20 2d 36 20  .  {   55,   -6 
145b0 7d 2c 20 2f 2a 20 28 34 39 29 20 6c 69 6e 65 73  }, /* (49) lines
145c0 74 72 69 6e 67 5f 74 65 78 74 20 3a 3a 3d 20 47  tring_text ::= G
145d0 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
145e0 4b 45 54 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78  KET point_coordx
145f0 79 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  y GEOJSON_COMMA 
14600 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 20 65 78  point_coordxy ex
14610 74 72 61 5f 70 6f 69 6e 74 73 78 79 20 47 45 4f  tra_pointsxy GEO
14620 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b  JSON_CLOSE_BRACK
14630 45 54 20 2a 2f 0a 20 20 7b 20 20 20 35 36 2c 20  ET */.  {   56, 
14640 20 20 2d 36 20 7d 2c 20 2f 2a 20 28 35 30 29 20    -6 }, /* (50) 
14650 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a  linestring_textz
14660 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
14670 4e 5f 42 52 41 43 4b 45 54 20 70 6f 69 6e 74 5f  N_BRACKET point_
14680 63 6f 6f 72 64 78 79 7a 20 47 45 4f 4a 53 4f 4e  coordxyz GEOJSON
14690 5f 43 4f 4d 4d 41 20 70 6f 69 6e 74 5f 63 6f 6f  _COMMA point_coo
146a0 72 64 78 79 7a 20 65 78 74 72 61 5f 70 6f 69 6e  rdxyz extra_poin
146b0 74 73 78 79 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c  tsxyz GEOJSON_CL
146c0 4f 53 45 5f 42 52 41 43 4b 45 54 20 2a 2f 0a 20  OSE_BRACKET */. 
146d0 20 7b 20 20 20 33 35 2c 20 20 20 2d 39 20 7d 2c   {   35,   -9 },
146e0 20 2f 2a 20 28 35 31 29 20 70 6f 6c 79 67 6f 6e   /* (51) polygon
146f0 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
14700 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
14710 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
14720 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 4c 59 47  ON GEOJSON_POLYG
14730 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  ON GEOJSON_COMMA
14740 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20   GEOJSON_COORDS 
14750 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f  GEOJSON_COLON po
14760 6c 79 67 6f 6e 5f 74 65 78 74 20 47 45 4f 4a 53  lygon_text GEOJS
14770 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a  ON_CLOSE_BRACE *
14780 2f 0a 20 20 7b 20 20 20 33 35 2c 20 20 2d 31 35  /.  {   35,  -15
14790 20 7d 2c 20 2f 2a 20 28 35 32 29 20 70 6f 6c 79   }, /* (52) poly
147a0 67 6f 6e 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  gon ::= GEOJSON_
147b0 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
147c0 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
147d0 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f  COLON GEOJSON_PO
147e0 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f  LYGON GEOJSON_CO
147f0 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58  MMA GEOJSON_BBOX
14800 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
14810 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
14820 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e  KET bbox GEOJSON
14830 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47  _CLOSE_BRACKET G
14840 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
14850 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a  JSON_COORDS GEOJ
14860 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 6c 79 67 6f  SON_COLON polygo
14870 6e 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43  n_text GEOJSON_C
14880 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20  LOSE_BRACE */.  
14890 7b 20 20 20 33 35 2c 20 20 2d 31 33 20 7d 2c 20  {   35,  -13 }, 
148a0 2f 2a 20 28 35 33 29 20 70 6f 6c 79 67 6f 6e 20  /* (53) polygon 
148b0 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
148c0 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54  _BRACE GEOJSON_T
148d0 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  YPE GEOJSON_COLO
148e0 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 4c 59 47 4f  N GEOJSON_POLYGO
148f0 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  N GEOJSON_COMMA 
14900 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a  GEOJSON_CRS GEOJ
14910 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f  SON_COLON short_
14920 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  crs GEOJSON_COMM
14930 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
14940 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70   GEOJSON_COLON p
14950 6f 6c 79 67 6f 6e 5f 74 65 78 74 20 47 45 4f 4a  olygon_text GEOJ
14960 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20  SON_CLOSE_BRACE 
14970 2a 2f 0a 20 20 7b 20 20 20 33 35 2c 20 20 2d 31  */.  {   35,  -1
14980 33 20 7d 2c 20 2f 2a 20 28 35 34 29 20 70 6f 6c  3 }, /* (54) pol
14990 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  ygon ::= GEOJSON
149a0 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
149b0 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
149c0 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50  _COLON GEOJSON_P
149d0 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43  OLYGON GEOJSON_C
149e0 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53  OMMA GEOJSON_CRS
149f0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c   GEOJSON_COLON l
14a00 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f  ong_crs GEOJSON_
14a10 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
14a20 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
14a30 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 20  ON polygon_text 
14a40 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
14a50 41 43 45 20 2a 2f 0a 20 20 7b 20 20 20 33 35 2c  ACE */.  {   35,
14a60 20 20 2d 31 39 20 7d 2c 20 2f 2a 20 28 35 35 29    -19 }, /* (55)
14a70 20 70 6f 6c 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f   polygon ::= GEO
14a80 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
14a90 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
14aa0 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
14ab0 4f 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53  ON_POLYGON GEOJS
14ac0 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
14ad0 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  _CRS GEOJSON_COL
14ae0 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45 4f  ON short_crs GEO
14af0 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
14b00 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f  ON_BBOX GEOJSON_
14b10 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50  COLON GEOJSON_OP
14b20 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20  EN_BRACKET bbox 
14b30 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
14b40 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f  ACKET GEOJSON_CO
14b50 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52  MMA GEOJSON_COOR
14b60 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  DS GEOJSON_COLON
14b70 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 20 47 45   polygon_text GE
14b80 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
14b90 45 20 2a 2f 0a 20 20 7b 20 20 20 33 35 2c 20 20  E */.  {   35,  
14ba0 2d 31 39 20 7d 2c 20 2f 2a 20 28 35 36 29 20 70  -19 }, /* (56) p
14bb0 6f 6c 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f 4a 53  olygon ::= GEOJS
14bc0 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45  ON_OPEN_BRACE GE
14bd0 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53  OJSON_TYPE GEOJS
14be0 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
14bf0 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e  _POLYGON GEOJSON
14c00 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
14c10 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  RS GEOJSON_COLON
14c20 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f   long_crs GEOJSO
14c30 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
14c40 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  BBOX GEOJSON_COL
14c50 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  ON GEOJSON_OPEN_
14c60 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f  BRACKET bbox GEO
14c70 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b  JSON_CLOSE_BRACK
14c80 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  ET GEOJSON_COMMA
14c90 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20   GEOJSON_COORDS 
14ca0 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f  GEOJSON_COLON po
14cb0 6c 79 67 6f 6e 5f 74 65 78 74 20 47 45 4f 4a 53  lygon_text GEOJS
14cc0 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a  ON_CLOSE_BRACE *
14cd0 2f 0a 20 20 7b 20 20 20 33 36 2c 20 20 20 2d 39  /.  {   36,   -9
14ce0 20 7d 2c 20 2f 2a 20 28 35 37 29 20 70 6f 6c 79   }, /* (57) poly
14cf0 67 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  gonz ::= GEOJSON
14d00 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
14d10 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
14d20 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50  _COLON GEOJSON_P
14d30 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43  OLYGON GEOJSON_C
14d40 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
14d50 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
14d60 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a 20  N polygon_textz 
14d70 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
14d80 41 43 45 20 2a 2f 0a 20 20 7b 20 20 20 33 36 2c  ACE */.  {   36,
14d90 20 20 2d 31 35 20 7d 2c 20 2f 2a 20 28 35 38 29    -15 }, /* (58)
14da0 20 70 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d 20 47 45   polygonz ::= GE
14db0 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45  OJSON_OPEN_BRACE
14dc0 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45   GEOJSON_TYPE GE
14dd0 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
14de0 53 4f 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a  SON_POLYGON GEOJ
14df0 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
14e00 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43  N_BBOX GEOJSON_C
14e10 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45  OLON GEOJSON_OPE
14e20 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47  N_BRACKET bbox G
14e30 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
14e40 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  CKET GEOJSON_COM
14e50 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44  MA GEOJSON_COORD
14e60 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
14e70 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a 20 47 45  polygon_textz GE
14e80 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
14e90 45 20 2a 2f 0a 20 20 7b 20 20 20 33 36 2c 20 20  E */.  {   36,  
14ea0 2d 31 33 20 7d 2c 20 2f 2a 20 28 35 39 29 20 70  -13 }, /* (59) p
14eb0 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a  olygonz ::= GEOJ
14ec0 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
14ed0 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
14ee0 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
14ef0 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f  N_POLYGON GEOJSO
14f00 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
14f10 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  CRS GEOJSON_COLO
14f20 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45 4f 4a  N short_crs GEOJ
14f30 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
14f40 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e  N_COORDS GEOJSON
14f50 5f 43 4f 4c 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74  _COLON polygon_t
14f60 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  extz GEOJSON_CLO
14f70 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20  SE_BRACE */.  { 
14f80 20 20 33 36 2c 20 20 2d 31 33 20 7d 2c 20 2f 2a    36,  -13 }, /*
14f90 20 28 36 30 29 20 70 6f 6c 79 67 6f 6e 7a 20 3a   (60) polygonz :
14fa0 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
14fb0 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
14fc0 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
14fd0 20 47 45 4f 4a 53 4f 4e 5f 50 4f 4c 59 47 4f 4e   GEOJSON_POLYGON
14fe0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
14ff0 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53  EOJSON_CRS GEOJS
15000 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72  ON_COLON long_cr
15010 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  s GEOJSON_COMMA 
15020 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
15030 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 6c  EOJSON_COLON pol
15040 79 67 6f 6e 5f 74 65 78 74 7a 20 47 45 4f 4a 53  ygon_textz GEOJS
15050 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a  ON_CLOSE_BRACE *
15060 2f 0a 20 20 7b 20 20 20 33 36 2c 20 20 2d 31 39  /.  {   36,  -19
15070 20 7d 2c 20 2f 2a 20 28 36 31 29 20 70 6f 6c 79   }, /* (61) poly
15080 67 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  gonz ::= GEOJSON
15090 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
150a0 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
150b0 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50  _COLON GEOJSON_P
150c0 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43  OLYGON GEOJSON_C
150d0 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53  OMMA GEOJSON_CRS
150e0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73   GEOJSON_COLON s
150f0 68 6f 72 74 5f 63 72 73 20 47 45 4f 4a 53 4f 4e  hort_crs GEOJSON
15100 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42  _COMMA GEOJSON_B
15110 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  BOX GEOJSON_COLO
15120 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  N GEOJSON_OPEN_B
15130 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a  RACKET bbox GEOJ
15140 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45  SON_CLOSE_BRACKE
15150 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
15160 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
15170 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 6c  EOJSON_COLON pol
15180 79 67 6f 6e 5f 74 65 78 74 7a 20 47 45 4f 4a 53  ygon_textz GEOJS
15190 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a  ON_CLOSE_BRACE *
151a0 2f 0a 20 20 7b 20 20 20 33 36 2c 20 20 2d 31 39  /.  {   36,  -19
151b0 20 7d 2c 20 2f 2a 20 28 36 32 29 20 70 6f 6c 79   }, /* (62) poly
151c0 67 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  gonz ::= GEOJSON
151d0 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
151e0 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
151f0 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50  _COLON GEOJSON_P
15200 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43  OLYGON GEOJSON_C
15210 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53  OMMA GEOJSON_CRS
15220 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c   GEOJSON_COLON l
15230 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f  ong_crs GEOJSON_
15240 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42  COMMA GEOJSON_BB
15250 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  OX GEOJSON_COLON
15260 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
15270 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a 53  ACKET bbox GEOJS
15280 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54  ON_CLOSE_BRACKET
15290 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
152a0 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45  EOJSON_COORDS GE
152b0 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 6c 79  OJSON_COLON poly
152c0 67 6f 6e 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f  gon_textz GEOJSO
152d0 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
152e0 0a 20 20 7b 20 20 20 35 37 2c 20 20 20 2d 34 20  .  {   57,   -4 
152f0 7d 2c 20 2f 2a 20 28 36 33 29 20 70 6f 6c 79 67  }, /* (63) polyg
15300 6f 6e 5f 74 65 78 74 20 3a 3a 3d 20 47 45 4f 4a  on_text ::= GEOJ
15310 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54  SON_OPEN_BRACKET
15320 20 72 69 6e 67 20 65 78 74 72 61 5f 72 69 6e 67   ring extra_ring
15330 73 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  s GEOJSON_CLOSE_
15340 42 52 41 43 4b 45 54 20 2a 2f 0a 20 20 7b 20 20  BRACKET */.  {  
15350 20 35 38 2c 20 20 20 2d 34 20 7d 2c 20 2f 2a 20   58,   -4 }, /* 
15360 28 36 34 29 20 70 6f 6c 79 67 6f 6e 5f 74 65 78  (64) polygon_tex
15370 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  tz ::= GEOJSON_O
15380 50 45 4e 5f 42 52 41 43 4b 45 54 20 72 69 6e 67  PEN_BRACKET ring
15390 7a 20 65 78 74 72 61 5f 72 69 6e 67 73 7a 20 47  z extra_ringsz G
153a0 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
153b0 43 4b 45 54 20 2a 2f 0a 20 20 7b 20 20 20 35 39  CKET */.  {   59
153c0 2c 20 20 2d 31 30 20 7d 2c 20 2f 2a 20 28 36 35  ,  -10 }, /* (65
153d0 29 20 72 69 6e 67 20 3a 3a 3d 20 47 45 4f 4a 53  ) ring ::= GEOJS
153e0 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20  ON_OPEN_BRACKET 
153f0 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 20 47 45  point_coordxy GE
15400 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 70 6f 69 6e  OJSON_COMMA poin
15410 74 5f 63 6f 6f 72 64 78 79 20 47 45 4f 4a 53 4f  t_coordxy GEOJSO
15420 4e 5f 43 4f 4d 4d 41 20 70 6f 69 6e 74 5f 63 6f  N_COMMA point_co
15430 6f 72 64 78 79 20 47 45 4f 4a 53 4f 4e 5f 43 4f  ordxy GEOJSON_CO
15440 4d 4d 41 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78  MMA point_coordx
15450 79 20 65 78 74 72 61 5f 70 6f 69 6e 74 73 78 79  y extra_pointsxy
15460 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
15470 52 41 43 4b 45 54 20 2a 2f 0a 20 20 7b 20 20 20  RACKET */.  {   
15480 36 30 2c 20 20 20 20 30 20 7d 2c 20 2f 2a 20 28  60,    0 }, /* (
15490 36 36 29 20 65 78 74 72 61 5f 72 69 6e 67 73 20  66) extra_rings 
154a0 3a 3a 3d 20 2a 2f 0a 20 20 7b 20 20 20 36 30 2c  ::= */.  {   60,
154b0 20 20 20 2d 33 20 7d 2c 20 2f 2a 20 28 36 37 29     -3 }, /* (67)
154c0 20 65 78 74 72 61 5f 72 69 6e 67 73 20 3a 3a 3d   extra_rings ::=
154d0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 72   GEOJSON_COMMA r
154e0 69 6e 67 20 65 78 74 72 61 5f 72 69 6e 67 73 20  ing extra_rings 
154f0 2a 2f 0a 20 20 7b 20 20 20 36 31 2c 20 20 2d 31  */.  {   61,  -1
15500 30 20 7d 2c 20 2f 2a 20 28 36 38 29 20 72 69 6e  0 }, /* (68) rin
15510 67 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  gz ::= GEOJSON_O
15520 50 45 4e 5f 42 52 41 43 4b 45 54 20 70 6f 69 6e  PEN_BRACKET poin
15530 74 5f 63 6f 6f 72 64 78 79 7a 20 47 45 4f 4a 53  t_coordxyz GEOJS
15540 4f 4e 5f 43 4f 4d 4d 41 20 70 6f 69 6e 74 5f 63  ON_COMMA point_c
15550 6f 6f 72 64 78 79 7a 20 47 45 4f 4a 53 4f 4e 5f  oordxyz GEOJSON_
15560 43 4f 4d 4d 41 20 70 6f 69 6e 74 5f 63 6f 6f 72  COMMA point_coor
15570 64 78 79 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  dxyz GEOJSON_COM
15580 4d 41 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79  MA point_coordxy
15590 7a 20 65 78 74 72 61 5f 70 6f 69 6e 74 73 78 79  z extra_pointsxy
155a0 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  z GEOJSON_CLOSE_
155b0 42 52 41 43 4b 45 54 20 2a 2f 0a 20 20 7b 20 20  BRACKET */.  {  
155c0 20 36 32 2c 20 20 20 20 30 20 7d 2c 20 2f 2a 20   62,    0 }, /* 
155d0 28 36 39 29 20 65 78 74 72 61 5f 72 69 6e 67 73  (69) extra_rings
155e0 7a 20 3a 3a 3d 20 2a 2f 0a 20 20 7b 20 20 20 36  z ::= */.  {   6
155f0 32 2c 20 20 20 2d 33 20 7d 2c 20 2f 2a 20 28 37  2,   -3 }, /* (7
15600 30 29 20 65 78 74 72 61 5f 72 69 6e 67 73 7a 20  0) extra_ringsz 
15610 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  ::= GEOJSON_COMM
15620 41 20 72 69 6e 67 7a 20 65 78 74 72 61 5f 72 69  A ringz extra_ri
15630 6e 67 73 7a 20 2a 2f 0a 20 20 7b 20 20 20 33 37  ngsz */.  {   37
15640 2c 20 20 20 2d 39 20 7d 2c 20 2f 2a 20 28 37 31  ,   -9 }, /* (71
15650 29 20 6d 75 6c 74 69 70 6f 69 6e 74 20 3a 3a 3d  ) multipoint ::=
15660 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
15670 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
15680 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
15690 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 49 4e  EOJSON_MULTIPOIN
156a0 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
156b0 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
156c0 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c  EOJSON_COLON mul
156d0 74 69 70 6f 69 6e 74 5f 74 65 78 74 20 47 45 4f  tipoint_text GEO
156e0 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
156f0 20 2a 2f 0a 20 20 7b 20 20 20 33 37 2c 20 20 2d   */.  {   37,  -
15700 31 35 20 7d 2c 20 2f 2a 20 28 37 32 29 20 6d 75  15 }, /* (72) mu
15710 6c 74 69 70 6f 69 6e 74 20 3a 3a 3d 20 47 45 4f  ltipoint ::= GEO
15720 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
15730 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
15740 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
15750 4f 4e 5f 4d 55 4c 54 49 50 4f 49 4e 54 20 47 45  ON_MULTIPOINT GE
15760 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
15770 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e  SON_BBOX GEOJSON
15780 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f  _COLON GEOJSON_O
15790 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78  PEN_BRACKET bbox
157a0 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
157b0 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43  RACKET GEOJSON_C
157c0 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
157d0 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
157e0 4e 20 6d 75 6c 74 69 70 6f 69 6e 74 5f 74 65 78  N multipoint_tex
157f0 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  t GEOJSON_CLOSE_
15800 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20 20 20 33  BRACE */.  {   3
15810 37 2c 20 20 2d 31 33 20 7d 2c 20 2f 2a 20 28 37  7,  -13 }, /* (7
15820 33 29 20 6d 75 6c 74 69 70 6f 69 6e 74 20 3a 3a  3) multipoint ::
15830 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  = GEOJSON_OPEN_B
15840 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50  RACE GEOJSON_TYP
15850 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  E GEOJSON_COLON 
15860 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 49  GEOJSON_MULTIPOI
15870 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  NT GEOJSON_COMMA
15880 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f   GEOJSON_CRS GEO
15890 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74  JSON_COLON short
158a0 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  _crs GEOJSON_COM
158b0 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44  MA GEOJSON_COORD
158c0 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
158d0 6d 75 6c 74 69 70 6f 69 6e 74 5f 74 65 78 74 20  multipoint_text 
158e0 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
158f0 41 43 45 20 2a 2f 0a 20 20 7b 20 20 20 33 37 2c  ACE */.  {   37,
15900 20 20 2d 31 33 20 7d 2c 20 2f 2a 20 28 37 34 29    -13 }, /* (74)
15910 20 6d 75 6c 74 69 70 6f 69 6e 74 20 3a 3a 3d 20   multipoint ::= 
15920 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
15930 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
15940 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
15950 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 49 4e 54  OJSON_MULTIPOINT
15960 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
15970 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53  EOJSON_CRS GEOJS
15980 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72  ON_COLON long_cr
15990 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  s GEOJSON_COMMA 
159a0 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
159b0 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c  EOJSON_COLON mul
159c0 74 69 70 6f 69 6e 74 5f 74 65 78 74 20 47 45 4f  tipoint_text GEO
159d0 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
159e0 20 2a 2f 0a 20 20 7b 20 20 20 33 37 2c 20 20 2d   */.  {   37,  -
159f0 31 39 20 7d 2c 20 2f 2a 20 28 37 35 29 20 6d 75  19 }, /* (75) mu
15a00 6c 74 69 70 6f 69 6e 74 20 3a 3a 3d 20 47 45 4f  ltipoint ::= GEO
15a10 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
15a20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
15a30 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
15a40 4f 4e 5f 4d 55 4c 54 49 50 4f 49 4e 54 20 47 45  ON_MULTIPOINT GE
15a50 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
15a60 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f  SON_CRS GEOJSON_
15a70 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20  COLON short_crs 
15a80 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
15a90 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53  OJSON_BBOX GEOJS
15aa0 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
15ab0 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62  _OPEN_BRACKET bb
15ac0 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  ox GEOJSON_CLOSE
15ad0 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e  _BRACKET GEOJSON
15ae0 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
15af0 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  OORDS GEOJSON_CO
15b00 4c 4f 4e 20 6d 75 6c 74 69 70 6f 69 6e 74 5f 74  LON multipoint_t
15b10 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  ext GEOJSON_CLOS
15b20 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20 20  E_BRACE */.  {  
15b30 20 33 37 2c 20 20 2d 31 39 20 7d 2c 20 2f 2a 20   37,  -19 }, /* 
15b40 28 37 36 29 20 6d 75 6c 74 69 70 6f 69 6e 74 20  (76) multipoint 
15b50 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
15b60 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54  _BRACE GEOJSON_T
15b70 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  YPE GEOJSON_COLO
15b80 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50  N GEOJSON_MULTIP
15b90 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  OINT GEOJSON_COM
15ba0 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47  MA GEOJSON_CRS G
15bb0 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e  EOJSON_COLON lon
15bc0 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f  g_crs GEOJSON_CO
15bd0 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58  MMA GEOJSON_BBOX
15be0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
15bf0 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
15c00 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e  KET bbox GEOJSON
15c10 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47  _CLOSE_BRACKET G
15c20 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
15c30 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a  JSON_COORDS GEOJ
15c40 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70  SON_COLON multip
15c50 6f 69 6e 74 5f 74 65 78 74 20 47 45 4f 4a 53 4f  oint_text GEOJSO
15c60 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
15c70 0a 20 20 7b 20 20 20 33 38 2c 20 20 20 2d 39 20  .  {   38,   -9 
15c80 7d 2c 20 2f 2a 20 28 37 37 29 20 6d 75 6c 74 69  }, /* (77) multi
15c90 70 6f 69 6e 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53  pointz ::= GEOJS
15ca0 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45  ON_OPEN_BRACE GE
15cb0 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53  OJSON_TYPE GEOJS
15cc0 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
15cd0 5f 4d 55 4c 54 49 50 4f 49 4e 54 20 47 45 4f 4a  _MULTIPOINT GEOJ
15ce0 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
15cf0 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e  N_COORDS GEOJSON
15d00 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 69 6e  _COLON multipoin
15d10 74 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f  t_textz GEOJSON_
15d20 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20  CLOSE_BRACE */. 
15d30 20 7b 20 20 20 33 38 2c 20 20 2d 31 35 20 7d 2c   {   38,  -15 },
15d40 20 2f 2a 20 28 37 38 29 20 6d 75 6c 74 69 70 6f   /* (78) multipo
15d50 69 6e 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  intz ::= GEOJSON
15d60 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
15d70 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
15d80 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d  _COLON GEOJSON_M
15d90 55 4c 54 49 50 4f 49 4e 54 20 47 45 4f 4a 53 4f  ULTIPOINT GEOJSO
15da0 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
15db0 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  BBOX GEOJSON_COL
15dc0 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  ON GEOJSON_OPEN_
15dd0 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f  BRACKET bbox GEO
15de0 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b  JSON_CLOSE_BRACK
15df0 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  ET GEOJSON_COMMA
15e00 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20   GEOJSON_COORDS 
15e10 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75  GEOJSON_COLON mu
15e20 6c 74 69 70 6f 69 6e 74 5f 74 65 78 74 7a 20 47  ltipoint_textz G
15e30 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
15e40 43 45 20 2a 2f 0a 20 20 7b 20 20 20 33 38 2c 20  CE */.  {   38, 
15e50 20 2d 31 33 20 7d 2c 20 2f 2a 20 28 37 39 29 20   -13 }, /* (79) 
15e60 6d 75 6c 74 69 70 6f 69 6e 74 7a 20 3a 3a 3d 20  multipointz ::= 
15e70 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
15e80 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
15e90 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
15ea0 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 49 4e 54  OJSON_MULTIPOINT
15eb0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
15ec0 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53  EOJSON_CRS GEOJS
15ed0 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63  ON_COLON short_c
15ee0 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  rs GEOJSON_COMMA
15ef0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20   GEOJSON_COORDS 
15f00 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75  GEOJSON_COLON mu
15f10 6c 74 69 70 6f 69 6e 74 5f 74 65 78 74 7a 20 47  ltipoint_textz G
15f20 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
15f30 43 45 20 2a 2f 0a 20 20 7b 20 20 20 33 38 2c 20  CE */.  {   38, 
15f40 20 2d 31 33 20 7d 2c 20 2f 2a 20 28 38 30 29 20   -13 }, /* (80) 
15f50 6d 75 6c 74 69 70 6f 69 6e 74 7a 20 3a 3a 3d 20  multipointz ::= 
15f60 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
15f70 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
15f80 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
15f90 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 49 4e 54  OJSON_MULTIPOINT
15fa0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
15fb0 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53  EOJSON_CRS GEOJS
15fc0 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72  ON_COLON long_cr
15fd0 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  s GEOJSON_COMMA 
15fe0 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
15ff0 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c  EOJSON_COLON mul
16000 74 69 70 6f 69 6e 74 5f 74 65 78 74 7a 20 47 45  tipoint_textz GE
16010 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
16020 45 20 2a 2f 0a 20 20 7b 20 20 20 33 38 2c 20 20  E */.  {   38,  
16030 2d 31 39 20 7d 2c 20 2f 2a 20 28 38 31 29 20 6d  -19 }, /* (81) m
16040 75 6c 74 69 70 6f 69 6e 74 7a 20 3a 3a 3d 20 47  ultipointz ::= G
16050 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
16060 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47  E GEOJSON_TYPE G
16070 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
16080 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 49 4e 54 20  JSON_MULTIPOINT 
16090 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
160a0 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f  OJSON_CRS GEOJSO
160b0 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72  N_COLON short_cr
160c0 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  s GEOJSON_COMMA 
160d0 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f  GEOJSON_BBOX GEO
160e0 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
160f0 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20  ON_OPEN_BRACKET 
16100 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  bbox GEOJSON_CLO
16110 53 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53  SE_BRACKET GEOJS
16120 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
16130 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f  _COORDS GEOJSON_
16140 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 69 6e 74  COLON multipoint
16150 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43  _textz GEOJSON_C
16160 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20  LOSE_BRACE */.  
16170 7b 20 20 20 33 38 2c 20 20 2d 31 39 20 7d 2c 20  {   38,  -19 }, 
16180 2f 2a 20 28 38 32 29 20 6d 75 6c 74 69 70 6f 69  /* (82) multipoi
16190 6e 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  ntz ::= GEOJSON_
161a0 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
161b0 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
161c0 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55  COLON GEOJSON_MU
161d0 4c 54 49 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e  LTIPOINT GEOJSON
161e0 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
161f0 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  RS GEOJSON_COLON
16200 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f   long_crs GEOJSO
16210 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
16220 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  BBOX GEOJSON_COL
16230 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  ON GEOJSON_OPEN_
16240 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f  BRACKET bbox GEO
16250 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b  JSON_CLOSE_BRACK
16260 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  ET GEOJSON_COMMA
16270 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20   GEOJSON_COORDS 
16280 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75  GEOJSON_COLON mu
16290 6c 74 69 70 6f 69 6e 74 5f 74 65 78 74 7a 20 47  ltipoint_textz G
162a0 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
162b0 43 45 20 2a 2f 0a 20 20 7b 20 20 20 36 33 2c 20  CE */.  {   63, 
162c0 20 20 2d 34 20 7d 2c 20 2f 2a 20 28 38 33 29 20    -4 }, /* (83) 
162d0 6d 75 6c 74 69 70 6f 69 6e 74 5f 74 65 78 74 20  multipoint_text 
162e0 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
162f0 5f 42 52 41 43 4b 45 54 20 70 6f 69 6e 74 5f 63  _BRACKET point_c
16300 6f 6f 72 64 78 79 20 65 78 74 72 61 5f 70 6f 69  oordxy extra_poi
16310 6e 74 73 78 79 20 47 45 4f 4a 53 4f 4e 5f 43 4c  ntsxy GEOJSON_CL
16320 4f 53 45 5f 42 52 41 43 4b 45 54 20 2a 2f 0a 20  OSE_BRACKET */. 
16330 20 7b 20 20 20 36 34 2c 20 20 20 2d 34 20 7d 2c   {   64,   -4 },
16340 20 2f 2a 20 28 38 34 29 20 6d 75 6c 74 69 70 6f   /* (84) multipo
16350 69 6e 74 5f 74 65 78 74 7a 20 3a 3a 3d 20 47 45  int_textz ::= GE
16360 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
16370 45 54 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79  ET point_coordxy
16380 7a 20 65 78 74 72 61 5f 70 6f 69 6e 74 73 78 79  z extra_pointsxy
16390 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  z GEOJSON_CLOSE_
163a0 42 52 41 43 4b 45 54 20 2a 2f 0a 20 20 7b 20 20  BRACKET */.  {  
163b0 20 33 39 2c 20 20 20 2d 39 20 7d 2c 20 2f 2a 20   39,   -9 }, /* 
163c0 28 38 35 29 20 6d 75 6c 74 69 6c 69 6e 65 73 74  (85) multilinest
163d0 72 69 6e 67 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  ring ::= GEOJSON
163e0 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
163f0 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
16400 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d  _COLON GEOJSON_M
16410 55 4c 54 49 4c 49 4e 45 53 54 52 49 4e 47 20 47  ULTILINESTRING G
16420 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
16430 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a  JSON_COORDS GEOJ
16440 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 6c  SON_COLON multil
16450 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 20 47  inestring_text G
16460 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
16470 43 45 20 2a 2f 0a 20 20 7b 20 20 20 33 39 2c 20  CE */.  {   39, 
16480 20 2d 31 35 20 7d 2c 20 2f 2a 20 28 38 36 29 20   -15 }, /* (86) 
16490 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 20  multilinestring 
164a0 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
164b0 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54  _BRACE GEOJSON_T
164c0 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  YPE GEOJSON_COLO
164d0 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 4c  N GEOJSON_MULTIL
164e0 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f  INESTRING GEOJSO
164f0 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
16500 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  BBOX GEOJSON_COL
16510 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  ON GEOJSON_OPEN_
16520 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f  BRACKET bbox GEO
16530 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b  JSON_CLOSE_BRACK
16540 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  ET GEOJSON_COMMA
16550 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20   GEOJSON_COORDS 
16560 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75  GEOJSON_COLON mu
16570 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65  ltilinestring_te
16580 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  xt GEOJSON_CLOSE
16590 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20 20 20  _BRACE */.  {   
165a0 33 39 2c 20 20 2d 31 33 20 7d 2c 20 2f 2a 20 28  39,  -13 }, /* (
165b0 38 37 29 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72  87) multilinestr
165c0 69 6e 67 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  ing ::= GEOJSON_
165d0 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
165e0 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
165f0 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55  COLON GEOJSON_MU
16600 4c 54 49 4c 49 4e 45 53 54 52 49 4e 47 20 47 45  LTILINESTRING GE
16610 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
16620 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f  SON_CRS GEOJSON_
16630 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20  COLON short_crs 
16640 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
16650 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f  OJSON_COORDS GEO
16660 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69  JSON_COLON multi
16670 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 20  linestring_text 
16680 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
16690 41 43 45 20 2a 2f 0a 20 20 7b 20 20 20 33 39 2c  ACE */.  {   39,
166a0 20 20 2d 31 33 20 7d 2c 20 2f 2a 20 28 38 38 29    -13 }, /* (88)
166b0 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67   multilinestring
166c0 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
166d0 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
166e0 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
166f0 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49  ON GEOJSON_MULTI
16700 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53  LINESTRING GEOJS
16710 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
16720 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  _CRS GEOJSON_COL
16730 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a  ON long_crs GEOJ
16740 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
16750 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e  N_COORDS GEOJSON
16760 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 6c 69 6e 65  _COLON multiline
16770 73 74 72 69 6e 67 5f 74 65 78 74 20 47 45 4f 4a  string_text GEOJ
16780 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20  SON_CLOSE_BRACE 
16790 2a 2f 0a 20 20 7b 20 20 20 33 39 2c 20 20 2d 31  */.  {   39,  -1
167a0 39 20 7d 2c 20 2f 2a 20 28 38 39 29 20 6d 75 6c  9 }, /* (89) mul
167b0 74 69 6c 69 6e 65 73 74 72 69 6e 67 20 3a 3a 3d  tilinestring ::=
167c0 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
167d0 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
167e0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
167f0 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 4c 49 4e 45  EOJSON_MULTILINE
16800 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43  STRING GEOJSON_C
16810 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53  OMMA GEOJSON_CRS
16820 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73   GEOJSON_COLON s
16830 68 6f 72 74 5f 63 72 73 20 47 45 4f 4a 53 4f 4e  hort_crs GEOJSON
16840 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42  _COMMA GEOJSON_B
16850 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  BOX GEOJSON_COLO
16860 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  N GEOJSON_OPEN_B
16870 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a  RACKET bbox GEOJ
16880 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45  SON_CLOSE_BRACKE
16890 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
168a0 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
168b0 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c  EOJSON_COLON mul
168c0 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78  tilinestring_tex
168d0 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  t GEOJSON_CLOSE_
168e0 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20 20 20 33  BRACE */.  {   3
168f0 39 2c 20 20 2d 31 39 20 7d 2c 20 2f 2a 20 28 39  9,  -19 }, /* (9
16900 30 29 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69  0) multilinestri
16910 6e 67 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  ng ::= GEOJSON_O
16920 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  PEN_BRACE GEOJSO
16930 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_TYPE GEOJSON_C
16940 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c  OLON GEOJSON_MUL
16950 54 49 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f  TILINESTRING GEO
16960 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
16970 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43  ON_CRS GEOJSON_C
16980 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45  OLON long_crs GE
16990 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
169a0 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e  SON_BBOX GEOJSON
169b0 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f  _COLON GEOJSON_O
169c0 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78  PEN_BRACKET bbox
169d0 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
169e0 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43  RACKET GEOJSON_C
169f0 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
16a00 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
16a10 4e 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e  N multilinestrin
16a20 67 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43  g_text GEOJSON_C
16a30 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20  LOSE_BRACE */.  
16a40 7b 20 20 20 34 30 2c 20 20 20 2d 39 20 7d 2c 20  {   40,   -9 }, 
16a50 2f 2a 20 28 39 31 29 20 6d 75 6c 74 69 6c 69 6e  /* (91) multilin
16a60 65 73 74 72 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f  estringz ::= GEO
16a70 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
16a80 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
16a90 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
16aa0 4f 4e 5f 4d 55 4c 54 49 4c 49 4e 45 53 54 52 49  ON_MULTILINESTRI
16ab0 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  NG GEOJSON_COMMA
16ac0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20   GEOJSON_COORDS 
16ad0 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75  GEOJSON_COLON mu
16ae0 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65  ltilinestring_te
16af0 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  xtz GEOJSON_CLOS
16b00 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20 20  E_BRACE */.  {  
16b10 20 34 30 2c 20 20 2d 31 35 20 7d 2c 20 2f 2a 20   40,  -15 }, /* 
16b20 28 39 32 29 20 6d 75 6c 74 69 6c 69 6e 65 73 74  (92) multilinest
16b30 72 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f  ringz ::= GEOJSO
16b40 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
16b50 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f  JSON_TYPE GEOJSO
16b60 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
16b70 4d 55 4c 54 49 4c 49 4e 45 53 54 52 49 4e 47 20  MULTILINESTRING 
16b80 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
16b90 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53  OJSON_BBOX GEOJS
16ba0 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
16bb0 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62  _OPEN_BRACKET bb
16bc0 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  ox GEOJSON_CLOSE
16bd0 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e  _BRACKET GEOJSON
16be0 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
16bf0 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  OORDS GEOJSON_CO
16c00 4c 4f 4e 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72  LON multilinestr
16c10 69 6e 67 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f  ing_textz GEOJSO
16c20 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
16c30 0a 20 20 7b 20 20 20 34 30 2c 20 20 2d 31 33 20  .  {   40,  -13 
16c40 7d 2c 20 2f 2a 20 28 39 33 29 20 6d 75 6c 74 69  }, /* (93) multi
16c50 6c 69 6e 65 73 74 72 69 6e 67 7a 20 3a 3a 3d 20  linestringz ::= 
16c60 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
16c70 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
16c80 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
16c90 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 4c 49 4e 45 53  OJSON_MULTILINES
16ca0 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f  TRING GEOJSON_CO
16cb0 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20  MMA GEOJSON_CRS 
16cc0 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68  GEOJSON_COLON sh
16cd0 6f 72 74 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f  ort_crs GEOJSON_
16ce0 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
16cf0 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
16d00 4f 4e 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69  ON multilinestri
16d10 6e 67 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e  ng_textz GEOJSON
16d20 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a  _CLOSE_BRACE */.
16d30 20 20 7b 20 20 20 34 30 2c 20 20 2d 31 33 20 7d    {   40,  -13 }
16d40 2c 20 2f 2a 20 28 39 34 29 20 6d 75 6c 74 69 6c  , /* (94) multil
16d50 69 6e 65 73 74 72 69 6e 67 7a 20 3a 3a 3d 20 47  inestringz ::= G
16d60 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
16d70 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47  E GEOJSON_TYPE G
16d80 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
16d90 4a 53 4f 4e 5f 4d 55 4c 54 49 4c 49 4e 45 53 54  JSON_MULTILINEST
16da0 52 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  RING GEOJSON_COM
16db0 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47  MA GEOJSON_CRS G
16dc0 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e  EOJSON_COLON lon
16dd0 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f  g_crs GEOJSON_CO
16de0 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52  MMA GEOJSON_COOR
16df0 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  DS GEOJSON_COLON
16e00 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67   multilinestring
16e10 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43  _textz GEOJSON_C
16e20 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20  LOSE_BRACE */.  
16e30 7b 20 20 20 34 30 2c 20 20 2d 31 39 20 7d 2c 20  {   40,  -19 }, 
16e40 2f 2a 20 28 39 35 29 20 6d 75 6c 74 69 6c 69 6e  /* (95) multilin
16e50 65 73 74 72 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f  estringz ::= GEO
16e60 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
16e70 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
16e80 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
16e90 4f 4e 5f 4d 55 4c 54 49 4c 49 4e 45 53 54 52 49  ON_MULTILINESTRI
16ea0 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  NG GEOJSON_COMMA
16eb0 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f   GEOJSON_CRS GEO
16ec0 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74  JSON_COLON short
16ed0 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  _crs GEOJSON_COM
16ee0 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20  MA GEOJSON_BBOX 
16ef0 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
16f00 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
16f10 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f  ET bbox GEOJSON_
16f20 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45  CLOSE_BRACKET GE
16f30 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
16f40 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
16f50 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 6c 69  ON_COLON multili
16f60 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a 20 47  nestring_textz G
16f70 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
16f80 43 45 20 2a 2f 0a 20 20 7b 20 20 20 34 30 2c 20  CE */.  {   40, 
16f90 20 2d 31 39 20 7d 2c 20 2f 2a 20 28 39 36 29 20   -19 }, /* (96) 
16fa0 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 7a  multilinestringz
16fb0 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
16fc0 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
16fd0 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
16fe0 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49  ON GEOJSON_MULTI
16ff0 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53  LINESTRING GEOJS
17000 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
17010 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  _CRS GEOJSON_COL
17020 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a  ON long_crs GEOJ
17030 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
17040 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43  N_BBOX GEOJSON_C
17050 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45  OLON GEOJSON_OPE
17060 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47  N_BRACKET bbox G
17070 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
17080 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  CKET GEOJSON_COM
17090 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44  MA GEOJSON_COORD
170a0 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
170b0 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f  multilinestring_
170c0 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c  textz GEOJSON_CL
170d0 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b  OSE_BRACE */.  {
170e0 20 20 20 36 35 2c 20 20 20 2d 34 20 7d 2c 20 2f     65,   -4 }, /
170f0 2a 20 28 39 37 29 20 6d 75 6c 74 69 6c 69 6e 65  * (97) multiline
17100 73 74 72 69 6e 67 5f 74 65 78 74 20 3a 3a 3d 20  string_text ::= 
17110 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
17120 43 4b 45 54 20 6c 69 6e 65 73 74 72 69 6e 67 5f  CKET linestring_
17130 74 65 78 74 20 6d 75 6c 74 69 6c 69 6e 65 73 74  text multilinest
17140 72 69 6e 67 5f 74 65 78 74 32 20 47 45 4f 4a 53  ring_text2 GEOJS
17150 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54  ON_CLOSE_BRACKET
17160 20 2a 2f 0a 20 20 7b 20 20 20 36 37 2c 20 20 20   */.  {   67,   
17170 20 30 20 7d 2c 20 2f 2a 20 28 39 38 29 20 6d 75   0 }, /* (98) mu
17180 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65  ltilinestring_te
17190 78 74 32 20 3a 3a 3d 20 2a 2f 0a 20 20 7b 20 20  xt2 ::= */.  {  
171a0 20 36 37 2c 20 20 20 2d 33 20 7d 2c 20 2f 2a 20   67,   -3 }, /* 
171b0 28 39 39 29 20 6d 75 6c 74 69 6c 69 6e 65 73 74  (99) multilinest
171c0 72 69 6e 67 5f 74 65 78 74 32 20 3a 3a 3d 20 47  ring_text2 ::= G
171d0 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 6c 69 6e  EOJSON_COMMA lin
171e0 65 73 74 72 69 6e 67 5f 74 65 78 74 20 6d 75 6c  estring_text mul
171f0 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78  tilinestring_tex
17200 74 32 20 2a 2f 0a 20 20 7b 20 20 20 36 36 2c 20  t2 */.  {   66, 
17210 20 20 2d 34 20 7d 2c 20 2f 2a 20 28 31 30 30 29    -4 }, /* (100)
17220 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67   multilinestring
17230 5f 74 65 78 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53  _textz ::= GEOJS
17240 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20  ON_OPEN_BRACKET 
17250 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a  linestring_textz
17260 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67   multilinestring
17270 5f 74 65 78 74 7a 32 20 47 45 4f 4a 53 4f 4e 5f  _textz2 GEOJSON_
17280 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 2a 2f  CLOSE_BRACKET */
17290 0a 20 20 7b 20 20 20 36 38 2c 20 20 20 20 30 20  .  {   68,    0 
172a0 7d 2c 20 2f 2a 20 28 31 30 31 29 20 6d 75 6c 74  }, /* (101) mult
172b0 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74  ilinestring_text
172c0 7a 32 20 3a 3a 3d 20 2a 2f 0a 20 20 7b 20 20 20  z2 ::= */.  {   
172d0 36 38 2c 20 20 20 2d 33 20 7d 2c 20 2f 2a 20 28  68,   -3 }, /* (
172e0 31 30 32 29 20 6d 75 6c 74 69 6c 69 6e 65 73 74  102) multilinest
172f0 72 69 6e 67 5f 74 65 78 74 7a 32 20 3a 3a 3d 20  ring_textz2 ::= 
17300 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 6c 69  GEOJSON_COMMA li
17310 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a 20 6d  nestring_textz m
17320 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74  ultilinestring_t
17330 65 78 74 7a 32 20 2a 2f 0a 20 20 7b 20 20 20 34  extz2 */.  {   4
17340 31 2c 20 20 20 2d 39 20 7d 2c 20 2f 2a 20 28 31  1,   -9 }, /* (1
17350 30 33 29 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e  03) multipolygon
17360 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
17370 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
17380 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
17390 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49  ON GEOJSON_MULTI
173a0 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  POLYGON GEOJSON_
173b0 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
173c0 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
173d0 4f 4e 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f  ON multipolygon_
173e0 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  text GEOJSON_CLO
173f0 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20  SE_BRACE */.  { 
17400 20 20 34 31 2c 20 20 2d 31 35 20 7d 2c 20 2f 2a    41,  -15 }, /*
17410 20 28 31 30 34 29 20 6d 75 6c 74 69 70 6f 6c 79   (104) multipoly
17420 67 6f 6e 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  gon ::= GEOJSON_
17430 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
17440 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
17450 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55  COLON GEOJSON_MU
17460 4c 54 49 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53  LTIPOLYGON GEOJS
17470 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
17480 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _BBOX GEOJSON_CO
17490 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  LON GEOJSON_OPEN
174a0 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45  _BRACKET bbox GE
174b0 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
174c0 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  KET GEOJSON_COMM
174d0 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
174e0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d   GEOJSON_COLON m
174f0 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74  ultipolygon_text
17500 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
17510 52 41 43 45 20 2a 2f 0a 20 20 7b 20 20 20 34 31  RACE */.  {   41
17520 2c 20 20 2d 31 33 20 7d 2c 20 2f 2a 20 28 31 30  ,  -13 }, /* (10
17530 35 29 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 20  5) multipolygon 
17540 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
17550 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54  _BRACE GEOJSON_T
17560 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  YPE GEOJSON_COLO
17570 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50  N GEOJSON_MULTIP
17580 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43  OLYGON GEOJSON_C
17590 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53  OMMA GEOJSON_CRS
175a0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73   GEOJSON_COLON s
175b0 68 6f 72 74 5f 63 72 73 20 47 45 4f 4a 53 4f 4e  hort_crs GEOJSON
175c0 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
175d0 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  OORDS GEOJSON_CO
175e0 4c 4f 4e 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e  LON multipolygon
175f0 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c  _text GEOJSON_CL
17600 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b  OSE_BRACE */.  {
17610 20 20 20 34 31 2c 20 20 2d 31 33 20 7d 2c 20 2f     41,  -13 }, /
17620 2a 20 28 31 30 36 29 20 6d 75 6c 74 69 70 6f 6c  * (106) multipol
17630 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  ygon ::= GEOJSON
17640 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
17650 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
17660 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d  _COLON GEOJSON_M
17670 55 4c 54 49 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a  ULTIPOLYGON GEOJ
17680 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
17690 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
176a0 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f  LON long_crs GEO
176b0 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
176c0 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
176d0 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 6c  N_COLON multipol
176e0 79 67 6f 6e 5f 74 65 78 74 20 47 45 4f 4a 53 4f  ygon_text GEOJSO
176f0 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
17700 0a 20 20 7b 20 20 20 34 31 2c 20 20 2d 31 39 20  .  {   41,  -19 
17710 7d 2c 20 2f 2a 20 28 31 30 37 29 20 6d 75 6c 74  }, /* (107) mult
17720 69 70 6f 6c 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f  ipolygon ::= GEO
17730 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
17740 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
17750 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
17760 4f 4e 5f 4d 55 4c 54 49 50 4f 4c 59 47 4f 4e 20  ON_MULTIPOLYGON 
17770 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
17780 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f  OJSON_CRS GEOJSO
17790 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72  N_COLON short_cr
177a0 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  s GEOJSON_COMMA 
177b0 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f  GEOJSON_BBOX GEO
177c0 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
177d0 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20  ON_OPEN_BRACKET 
177e0 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  bbox GEOJSON_CLO
177f0 53 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53  SE_BRACKET GEOJS
17800 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
17810 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f  _COORDS GEOJSON_
17820 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 6c 79 67  COLON multipolyg
17830 6f 6e 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f  on_text GEOJSON_
17840 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20  CLOSE_BRACE */. 
17850 20 7b 20 20 20 34 31 2c 20 20 2d 31 39 20 7d 2c   {   41,  -19 },
17860 20 2f 2a 20 28 31 30 38 29 20 6d 75 6c 74 69 70   /* (108) multip
17870 6f 6c 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f 4a 53  olygon ::= GEOJS
17880 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45  ON_OPEN_BRACE GE
17890 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53  OJSON_TYPE GEOJS
178a0 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
178b0 5f 4d 55 4c 54 49 50 4f 4c 59 47 4f 4e 20 47 45  _MULTIPOLYGON GE
178c0 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
178d0 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f  SON_CRS GEOJSON_
178e0 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47  COLON long_crs G
178f0 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
17900 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f  JSON_BBOX GEOJSO
17910 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
17920 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f  OPEN_BRACKET bbo
17930 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  x GEOJSON_CLOSE_
17940 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f  BRACKET GEOJSON_
17950 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
17960 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
17970 4f 4e 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f  ON multipolygon_
17980 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  text GEOJSON_CLO
17990 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20  SE_BRACE */.  { 
179a0 20 20 34 32 2c 20 20 20 2d 39 20 7d 2c 20 2f 2a    42,   -9 }, /*
179b0 20 28 31 30 39 29 20 6d 75 6c 74 69 70 6f 6c 79   (109) multipoly
179c0 67 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  gonz ::= GEOJSON
179d0 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
179e0 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
179f0 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d  _COLON GEOJSON_M
17a00 55 4c 54 49 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a  ULTIPOLYGON GEOJ
17a10 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
17a20 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e  N_COORDS GEOJSON
17a30 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 6c 79  _COLON multipoly
17a40 67 6f 6e 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f  gon_textz GEOJSO
17a50 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
17a60 0a 20 20 7b 20 20 20 34 32 2c 20 20 2d 31 35 20  .  {   42,  -15 
17a70 7d 2c 20 2f 2a 20 28 31 31 30 29 20 6d 75 6c 74  }, /* (110) mult
17a80 69 70 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d 20 47 45  ipolygonz ::= GE
17a90 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45  OJSON_OPEN_BRACE
17aa0 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45   GEOJSON_TYPE GE
17ab0 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
17ac0 53 4f 4e 5f 4d 55 4c 54 49 50 4f 4c 59 47 4f 4e  SON_MULTIPOLYGON
17ad0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
17ae0 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a  EOJSON_BBOX GEOJ
17af0 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
17b00 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62  N_OPEN_BRACKET b
17b10 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  box GEOJSON_CLOS
17b20 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f  E_BRACKET GEOJSO
17b30 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
17b40 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43  COORDS GEOJSON_C
17b50 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 6c 79 67 6f  OLON multipolygo
17b60 6e 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f  n_textz GEOJSON_
17b70 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20  CLOSE_BRACE */. 
17b80 20 7b 20 20 20 34 32 2c 20 20 2d 31 33 20 7d 2c   {   42,  -13 },
17b90 20 2f 2a 20 28 31 31 31 29 20 6d 75 6c 74 69 70   /* (111) multip
17ba0 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a  olygonz ::= GEOJ
17bb0 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
17bc0 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
17bd0 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
17be0 4e 5f 4d 55 4c 54 49 50 4f 4c 59 47 4f 4e 20 47  N_MULTIPOLYGON G
17bf0 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
17c00 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e  JSON_CRS GEOJSON
17c10 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73  _COLON short_crs
17c20 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
17c30 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45  EOJSON_COORDS GE
17c40 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74  OJSON_COLON mult
17c50 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a 20 47  ipolygon_textz G
17c60 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
17c70 43 45 20 2a 2f 0a 20 20 7b 20 20 20 34 32 2c 20  CE */.  {   42, 
17c80 20 2d 31 33 20 7d 2c 20 2f 2a 20 28 31 31 32 29   -13 }, /* (112)
17c90 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 7a 20 3a   multipolygonz :
17ca0 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
17cb0 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
17cc0 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
17cd0 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f   GEOJSON_MULTIPO
17ce0 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f  LYGON GEOJSON_CO
17cf0 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20  MMA GEOJSON_CRS 
17d00 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f  GEOJSON_COLON lo
17d10 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43  ng_crs GEOJSON_C
17d20 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
17d30 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
17d40 4e 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74  N multipolygon_t
17d50 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  extz GEOJSON_CLO
17d60 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20  SE_BRACE */.  { 
17d70 20 20 34 32 2c 20 20 2d 31 39 20 7d 2c 20 2f 2a    42,  -19 }, /*
17d80 20 28 31 31 33 29 20 6d 75 6c 74 69 70 6f 6c 79   (113) multipoly
17d90 67 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  gonz ::= GEOJSON
17da0 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
17db0 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
17dc0 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d  _COLON GEOJSON_M
17dd0 55 4c 54 49 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a  ULTIPOLYGON GEOJ
17de0 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
17df0 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
17e00 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45  LON short_crs GE
17e10 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
17e20 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e  SON_BBOX GEOJSON
17e30 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f  _COLON GEOJSON_O
17e40 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78  PEN_BRACKET bbox
17e50 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
17e60 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43  RACKET GEOJSON_C
17e70 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
17e80 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
17e90 4e 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74  N multipolygon_t
17ea0 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  extz GEOJSON_CLO
17eb0 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20  SE_BRACE */.  { 
17ec0 20 20 34 32 2c 20 20 2d 31 39 20 7d 2c 20 2f 2a    42,  -19 }, /*
17ed0 20 28 31 31 34 29 20 6d 75 6c 74 69 70 6f 6c 79   (114) multipoly
17ee0 67 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  gonz ::= GEOJSON
17ef0 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
17f00 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
17f10 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d  _COLON GEOJSON_M
17f20 55 4c 54 49 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a  ULTIPOLYGON GEOJ
17f30 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
17f40 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
17f50 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f  LON long_crs GEO
17f60 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
17f70 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f  ON_BBOX GEOJSON_
17f80 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50  COLON GEOJSON_OP
17f90 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20  EN_BRACKET bbox 
17fa0 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
17fb0 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f  ACKET GEOJSON_CO
17fc0 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52  MMA GEOJSON_COOR
17fd0 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  DS GEOJSON_COLON
17fe0 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65   multipolygon_te
17ff0 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  xtz GEOJSON_CLOS
18000 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20 20  E_BRACE */.  {  
18010 20 36 39 2c 20 20 20 2d 34 20 7d 2c 20 2f 2a 20   69,   -4 }, /* 
18020 28 31 31 35 29 20 6d 75 6c 74 69 70 6f 6c 79 67  (115) multipolyg
18030 6f 6e 5f 74 65 78 74 20 3a 3a 3d 20 47 45 4f 4a  on_text ::= GEOJ
18040 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54  SON_OPEN_BRACKET
18050 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 20 6d 75   polygon_text mu
18060 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 32  ltipolygon_text2
18070 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
18080 52 41 43 4b 45 54 20 2a 2f 0a 20 20 7b 20 20 20  RACKET */.  {   
18090 37 31 2c 20 20 20 20 30 20 7d 2c 20 2f 2a 20 28  71,    0 }, /* (
180a0 31 31 36 29 20 6d 75 6c 74 69 70 6f 6c 79 67 6f  116) multipolygo
180b0 6e 5f 74 65 78 74 32 20 3a 3a 3d 20 2a 2f 0a 20  n_text2 ::= */. 
180c0 20 7b 20 20 20 37 31 2c 20 20 20 2d 33 20 7d 2c   {   71,   -3 },
180d0 20 2f 2a 20 28 31 31 37 29 20 6d 75 6c 74 69 70   /* (117) multip
180e0 6f 6c 79 67 6f 6e 5f 74 65 78 74 32 20 3a 3a 3d  olygon_text2 ::=
180f0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 70   GEOJSON_COMMA p
18100 6f 6c 79 67 6f 6e 5f 74 65 78 74 20 6d 75 6c 74  olygon_text mult
18110 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 32 20 2a  ipolygon_text2 *
18120 2f 0a 20 20 7b 20 20 20 37 30 2c 20 20 20 2d 34  /.  {   70,   -4
18130 20 7d 2c 20 2f 2a 20 28 31 31 38 29 20 6d 75 6c   }, /* (118) mul
18140 74 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a 20  tipolygon_textz 
18150 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
18160 5f 42 52 41 43 4b 45 54 20 70 6f 6c 79 67 6f 6e  _BRACKET polygon
18170 5f 74 65 78 74 7a 20 6d 75 6c 74 69 70 6f 6c 79  _textz multipoly
18180 67 6f 6e 5f 74 65 78 74 7a 32 20 47 45 4f 4a 53  gon_textz2 GEOJS
18190 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54  ON_CLOSE_BRACKET
181a0 20 2a 2f 0a 20 20 7b 20 20 20 37 32 2c 20 20 20   */.  {   72,   
181b0 20 30 20 7d 2c 20 2f 2a 20 28 31 31 39 29 20 6d   0 }, /* (119) m
181c0 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74  ultipolygon_text
181d0 7a 32 20 3a 3a 3d 20 2a 2f 0a 20 20 7b 20 20 20  z2 ::= */.  {   
181e0 37 32 2c 20 20 20 2d 33 20 7d 2c 20 2f 2a 20 28  72,   -3 }, /* (
181f0 31 32 30 29 20 6d 75 6c 74 69 70 6f 6c 79 67 6f  120) multipolygo
18200 6e 5f 74 65 78 74 7a 32 20 3a 3a 3d 20 47 45 4f  n_textz2 ::= GEO
18210 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 70 6f 6c 79 67  JSON_COMMA polyg
18220 6f 6e 5f 74 65 78 74 7a 20 6d 75 6c 74 69 70 6f  on_textz multipo
18230 6c 79 67 6f 6e 5f 74 65 78 74 7a 32 20 2a 2f 0a  lygon_textz2 */.
18240 20 20 7b 20 20 20 34 33 2c 20 20 20 2d 39 20 7d    {   43,   -9 }
18250 2c 20 2f 2a 20 28 31 32 31 29 20 67 65 6f 63 6f  , /* (121) geoco
18260 6c 6c 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  ll ::= GEOJSON_O
18270 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  PEN_BRACE GEOJSO
18280 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_TYPE GEOJSON_C
18290 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f  OLON GEOJSON_GEO
182a0 4d 45 54 52 59 43 4f 4c 4c 45 43 54 49 4f 4e 20  METRYCOLLECTION 
182b0 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
182c0 4f 4a 53 4f 4e 5f 47 45 4f 4d 53 20 47 45 4f 4a  OJSON_GEOMS GEOJ
182d0 53 4f 4e 5f 43 4f 4c 4f 4e 20 67 65 6f 63 6f 6c  SON_COLON geocol
182e0 6c 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43  l_text GEOJSON_C
182f0 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20  LOSE_BRACE */.  
18300 7b 20 20 20 34 33 2c 20 20 2d 31 35 20 7d 2c 20  {   43,  -15 }, 
18310 2f 2a 20 28 31 32 32 29 20 67 65 6f 63 6f 6c 6c  /* (122) geocoll
18320 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
18330 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
18340 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
18350 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 45  ON GEOJSON_GEOME
18360 54 52 59 43 4f 4c 4c 45 43 54 49 4f 4e 20 47 45  TRYCOLLECTION GE
18370 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
18380 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e  SON_BBOX GEOJSON
18390 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f  _COLON GEOJSON_O
183a0 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78  PEN_BRACKET bbox
183b0 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
183c0 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43  RACKET GEOJSON_C
183d0 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f  OMMA GEOJSON_GEO
183e0 4d 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  MS GEOJSON_COLON
183f0 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 20 47 45   geocoll_text GE
18400 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
18410 45 20 2a 2f 0a 20 20 7b 20 20 20 34 33 2c 20 20  E */.  {   43,  
18420 2d 31 33 20 7d 2c 20 2f 2a 20 28 31 32 33 29 20  -13 }, /* (123) 
18430 67 65 6f 63 6f 6c 6c 20 3a 3a 3d 20 47 45 4f 4a  geocoll ::= GEOJ
18440 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
18450 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
18460 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
18470 4e 5f 47 45 4f 4d 45 54 52 59 43 4f 4c 4c 45 43  N_GEOMETRYCOLLEC
18480 54 49 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  TION GEOJSON_COM
18490 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47  MA GEOJSON_CRS G
184a0 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f  EOJSON_COLON sho
184b0 72 74 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43  rt_crs GEOJSON_C
184c0 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f  OMMA GEOJSON_GEO
184d0 4d 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  MS GEOJSON_COLON
184e0 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 20 47 45   geocoll_text GE
184f0 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
18500 45 20 2a 2f 0a 20 20 7b 20 20 20 34 33 2c 20 20  E */.  {   43,  
18510 2d 31 33 20 7d 2c 20 2f 2a 20 28 31 32 34 29 20  -13 }, /* (124) 
18520 67 65 6f 63 6f 6c 6c 20 3a 3a 3d 20 47 45 4f 4a  geocoll ::= GEOJ
18530 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
18540 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
18550 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
18560 4e 5f 47 45 4f 4d 45 54 52 59 43 4f 4c 4c 45 43  N_GEOMETRYCOLLEC
18570 54 49 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  TION GEOJSON_COM
18580 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47  MA GEOJSON_CRS G
18590 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e  EOJSON_COLON lon
185a0 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f  g_crs GEOJSON_CO
185b0 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d  MMA GEOJSON_GEOM
185c0 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
185d0 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 20 47 45 4f  geocoll_text GEO
185e0 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
185f0 20 2a 2f 0a 20 20 7b 20 20 20 34 33 2c 20 20 2d   */.  {   43,  -
18600 31 39 20 7d 2c 20 2f 2a 20 28 31 32 35 29 20 67  19 }, /* (125) g
18610 65 6f 63 6f 6c 6c 20 3a 3a 3d 20 47 45 4f 4a 53  eocoll ::= GEOJS
18620 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45  ON_OPEN_BRACE GE
18630 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53  OJSON_TYPE GEOJS
18640 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
18650 5f 47 45 4f 4d 45 54 52 59 43 4f 4c 4c 45 43 54  _GEOMETRYCOLLECT
18660 49 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  ION GEOJSON_COMM
18670 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45  A GEOJSON_CRS GE
18680 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72  OJSON_COLON shor
18690 74 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f  t_crs GEOJSON_CO
186a0 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58  MMA GEOJSON_BBOX
186b0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
186c0 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
186d0 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e  KET bbox GEOJSON
186e0 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47  _CLOSE_BRACKET G
186f0 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
18700 4a 53 4f 4e 5f 47 45 4f 4d 53 20 47 45 4f 4a 53  JSON_GEOMS GEOJS
18710 4f 4e 5f 43 4f 4c 4f 4e 20 67 65 6f 63 6f 6c 6c  ON_COLON geocoll
18720 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c  _text GEOJSON_CL
18730 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b  OSE_BRACE */.  {
18740 20 20 20 34 33 2c 20 20 2d 31 39 20 7d 2c 20 2f     43,  -19 }, /
18750 2a 20 28 31 32 36 29 20 67 65 6f 63 6f 6c 6c 20  * (126) geocoll 
18760 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
18770 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54  _BRACE GEOJSON_T
18780 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  YPE GEOJSON_COLO
18790 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 45 54  N GEOJSON_GEOMET
187a0 52 59 43 4f 4c 4c 45 43 54 49 4f 4e 20 47 45 4f  RYCOLLECTION GEO
187b0 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
187c0 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43  ON_CRS GEOJSON_C
187d0 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45  OLON long_crs GE
187e0 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
187f0 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e  SON_BBOX GEOJSON
18800 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f  _COLON GEOJSON_O
18810 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78  PEN_BRACKET bbox
18820 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
18830 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43  RACKET GEOJSON_C
18840 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f  OMMA GEOJSON_GEO
18850 4d 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  MS GEOJSON_COLON
18860 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 20 47 45   geocoll_text GE
18870 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
18880 45 20 2a 2f 0a 20 20 7b 20 20 20 34 33 2c 20 20  E */.  {   43,  
18890 20 2d 39 20 7d 2c 20 2f 2a 20 28 31 32 37 29 20   -9 }, /* (127) 
188a0 67 65 6f 63 6f 6c 6c 20 3a 3a 3d 20 47 45 4f 4a  geocoll ::= GEOJ
188b0 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
188c0 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
188d0 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
188e0 4e 5f 47 45 4f 4d 45 54 52 59 43 4f 4c 4c 45 43  N_GEOMETRYCOLLEC
188f0 54 49 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  TION GEOJSON_COM
18900 4d 41 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 53  MA GEOJSON_GEOMS
18910 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 67   GEOJSON_COLON g
18920 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 20 47 45 4f  eocoll_textz GEO
18930 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
18940 20 2a 2f 0a 20 20 7b 20 20 20 34 34 2c 20 20 2d   */.  {   44,  -
18950 31 35 20 7d 2c 20 2f 2a 20 28 31 32 38 29 20 67  15 }, /* (128) g
18960 65 6f 63 6f 6c 6c 7a 20 3a 3a 3d 20 47 45 4f 4a  eocollz ::= GEOJ
18970 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
18980 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
18990 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
189a0 4e 5f 47 45 4f 4d 45 54 52 59 43 4f 4c 4c 45 43  N_GEOMETRYCOLLEC
189b0 54 49 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  TION GEOJSON_COM
189c0 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20  MA GEOJSON_BBOX 
189d0 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
189e0 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
189f0 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f  ET bbox GEOJSON_
18a00 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45  CLOSE_BRACKET GE
18a10 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
18a20 53 4f 4e 5f 47 45 4f 4d 53 20 47 45 4f 4a 53 4f  SON_GEOMS GEOJSO
18a30 4e 5f 43 4f 4c 4f 4e 20 67 65 6f 63 6f 6c 6c 5f  N_COLON geocoll_
18a40 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c  textz GEOJSON_CL
18a50 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b  OSE_BRACE */.  {
18a60 20 20 20 34 34 2c 20 20 2d 31 33 20 7d 2c 20 2f     44,  -13 }, /
18a70 2a 20 28 31 32 39 29 20 67 65 6f 63 6f 6c 6c 7a  * (129) geocollz
18a80 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
18a90 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
18aa0 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
18ab0 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 45  ON GEOJSON_GEOME
18ac0 54 52 59 43 4f 4c 4c 45 43 54 49 4f 4e 20 47 45  TRYCOLLECTION GE
18ad0 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
18ae0 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f  SON_CRS GEOJSON_
18af0 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20  COLON short_crs 
18b00 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
18b10 4f 4a 53 4f 4e 5f 47 45 4f 4d 53 20 47 45 4f 4a  OJSON_GEOMS GEOJ
18b20 53 4f 4e 5f 43 4f 4c 4f 4e 20 67 65 6f 63 6f 6c  SON_COLON geocol
18b30 6c 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f  l_textz GEOJSON_
18b40 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20  CLOSE_BRACE */. 
18b50 20 7b 20 20 20 34 34 2c 20 20 2d 31 33 20 7d 2c   {   44,  -13 },
18b60 20 2f 2a 20 28 31 33 30 29 20 67 65 6f 63 6f 6c   /* (130) geocol
18b70 6c 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  lz ::= GEOJSON_O
18b80 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  PEN_BRACE GEOJSO
18b90 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_TYPE GEOJSON_C
18ba0 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f  OLON GEOJSON_GEO
18bb0 4d 45 54 52 59 43 4f 4c 4c 45 43 54 49 4f 4e 20  METRYCOLLECTION 
18bc0 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
18bd0 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f  OJSON_CRS GEOJSO
18be0 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73  N_COLON long_crs
18bf0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
18c00 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 53 20 47 45 4f  EOJSON_GEOMS GEO
18c10 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 67 65 6f 63 6f  JSON_COLON geoco
18c20 6c 6c 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e  ll_textz GEOJSON
18c30 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a  _CLOSE_BRACE */.
18c40 20 20 7b 20 20 20 34 34 2c 20 20 2d 31 39 20 7d    {   44,  -19 }
18c50 2c 20 2f 2a 20 28 31 33 31 29 20 67 65 6f 63 6f  , /* (131) geoco
18c60 6c 6c 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  llz ::= GEOJSON_
18c70 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
18c80 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
18c90 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45  COLON GEOJSON_GE
18ca0 4f 4d 45 54 52 59 43 4f 4c 4c 45 43 54 49 4f 4e  OMETRYCOLLECTION
18cb0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
18cc0 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53  EOJSON_CRS GEOJS
18cd0 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63  ON_COLON short_c
18ce0 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  rs GEOJSON_COMMA
18cf0 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45   GEOJSON_BBOX GE
18d00 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
18d10 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54  SON_OPEN_BRACKET
18d20 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c   bbox GEOJSON_CL
18d30 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a  OSE_BRACKET GEOJ
18d40 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
18d50 4e 5f 47 45 4f 4d 53 20 47 45 4f 4a 53 4f 4e 5f  N_GEOMS GEOJSON_
18d60 43 4f 4c 4f 4e 20 67 65 6f 63 6f 6c 6c 5f 74 65  COLON geocoll_te
18d70 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  xtz GEOJSON_CLOS
18d80 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b 20 20  E_BRACE */.  {  
18d90 20 34 34 2c 20 20 2d 31 39 20 7d 2c 20 2f 2a 20   44,  -19 }, /* 
18da0 28 31 33 32 29 20 67 65 6f 63 6f 6c 6c 7a 20 3a  (132) geocollz :
18db0 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
18dc0 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
18dd0 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
18de0 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 45 54 52   GEOJSON_GEOMETR
18df0 59 43 4f 4c 4c 45 43 54 49 4f 4e 20 47 45 4f 4a  YCOLLECTION GEOJ
18e00 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
18e10 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
18e20 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f  LON long_crs GEO
18e30 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
18e40 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f  ON_BBOX GEOJSON_
18e50 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50  COLON GEOJSON_OP
18e60 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20  EN_BRACKET bbox 
18e70 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
18e80 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f  ACKET GEOJSON_CO
18e90 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d  MMA GEOJSON_GEOM
18ea0 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
18eb0 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 20 47 45  geocoll_textz GE
18ec0 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
18ed0 45 20 2a 2f 0a 20 20 7b 20 20 20 37 33 2c 20 20  E */.  {   73,  
18ee0 20 2d 34 20 7d 2c 20 2f 2a 20 28 31 33 33 29 20   -4 }, /* (133) 
18ef0 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 20 3a 3a 3d  geocoll_text ::=
18f00 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
18f10 41 43 4b 45 54 20 63 6f 6c 6c 5f 70 6f 69 6e 74  ACKET coll_point
18f20 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 32 20 47   geocoll_text2 G
18f30 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
18f40 43 4b 45 54 20 2a 2f 0a 20 20 7b 20 20 20 37 33  CKET */.  {   73
18f50 2c 20 20 20 2d 34 20 7d 2c 20 2f 2a 20 28 31 33  ,   -4 }, /* (13
18f60 34 29 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 20  4) geocoll_text 
18f70 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
18f80 5f 42 52 41 43 4b 45 54 20 63 6f 6c 6c 5f 6c 69  _BRACKET coll_li
18f90 6e 65 73 74 72 69 6e 67 20 67 65 6f 63 6f 6c 6c  nestring geocoll
18fa0 5f 74 65 78 74 32 20 47 45 4f 4a 53 4f 4e 5f 43  _text2 GEOJSON_C
18fb0 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 2a 2f 0a  LOSE_BRACKET */.
18fc0 20 20 7b 20 20 20 37 33 2c 20 20 20 2d 34 20 7d    {   73,   -4 }
18fd0 2c 20 2f 2a 20 28 31 33 35 29 20 67 65 6f 63 6f  , /* (135) geoco
18fe0 6c 6c 5f 74 65 78 74 20 3a 3a 3d 20 47 45 4f 4a  ll_text ::= GEOJ
18ff0 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54  SON_OPEN_BRACKET
19000 20 63 6f 6c 6c 5f 70 6f 6c 79 67 6f 6e 20 67 65   coll_polygon ge
19010 6f 63 6f 6c 6c 5f 74 65 78 74 32 20 47 45 4f 4a  ocoll_text2 GEOJ
19020 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45  SON_CLOSE_BRACKE
19030 54 20 2a 2f 0a 20 20 7b 20 20 20 37 36 2c 20 20  T */.  {   76,  
19040 20 20 30 20 7d 2c 20 2f 2a 20 28 31 33 36 29 20    0 }, /* (136) 
19050 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 32 20 3a 3a  geocoll_text2 ::
19060 3d 20 2a 2f 0a 20 20 7b 20 20 20 37 36 2c 20 20  = */.  {   76,  
19070 20 2d 33 20 7d 2c 20 2f 2a 20 28 31 33 37 29 20   -3 }, /* (137) 
19080 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 32 20 3a 3a  geocoll_text2 ::
19090 3d 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  = GEOJSON_COMMA 
190a0 63 6f 6c 6c 5f 70 6f 69 6e 74 20 67 65 6f 63 6f  coll_point geoco
190b0 6c 6c 5f 74 65 78 74 32 20 2a 2f 0a 20 20 7b 20  ll_text2 */.  { 
190c0 20 20 37 36 2c 20 20 20 2d 33 20 7d 2c 20 2f 2a    76,   -3 }, /*
190d0 20 28 31 33 38 29 20 67 65 6f 63 6f 6c 6c 5f 74   (138) geocoll_t
190e0 65 78 74 32 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  ext2 ::= GEOJSON
190f0 5f 43 4f 4d 4d 41 20 63 6f 6c 6c 5f 6c 69 6e 65  _COMMA coll_line
19100 73 74 72 69 6e 67 20 67 65 6f 63 6f 6c 6c 5f 74  string geocoll_t
19110 65 78 74 32 20 2a 2f 0a 20 20 7b 20 20 20 37 36  ext2 */.  {   76
19120 2c 20 20 20 2d 33 20 7d 2c 20 2f 2a 20 28 31 33  ,   -3 }, /* (13
19130 39 29 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 32  9) geocoll_text2
19140 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d   ::= GEOJSON_COM
19150 4d 41 20 63 6f 6c 6c 5f 70 6f 6c 79 67 6f 6e 20  MA coll_polygon 
19160 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 32 20 2a 2f  geocoll_text2 */
19170 0a 20 20 7b 20 20 20 37 34 2c 20 20 20 2d 34 20  .  {   74,   -4 
19180 7d 2c 20 2f 2a 20 28 31 34 30 29 20 67 65 6f 63  }, /* (140) geoc
19190 6f 6c 6c 5f 74 65 78 74 7a 20 3a 3a 3d 20 47 45  oll_textz ::= GE
191a0 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
191b0 45 54 20 63 6f 6c 6c 5f 70 6f 69 6e 74 7a 20 67  ET coll_pointz g
191c0 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 32 20 47 45  eocoll_textz2 GE
191d0 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
191e0 4b 45 54 20 2a 2f 0a 20 20 7b 20 20 20 37 34 2c  KET */.  {   74,
191f0 20 20 20 2d 34 20 7d 2c 20 2f 2a 20 28 31 34 31     -4 }, /* (141
19200 29 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 20  ) geocoll_textz 
19210 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
19220 5f 42 52 41 43 4b 45 54 20 63 6f 6c 6c 5f 6c 69  _BRACKET coll_li
19230 6e 65 73 74 72 69 6e 67 7a 20 67 65 6f 63 6f 6c  nestringz geocol
19240 6c 5f 74 65 78 74 7a 32 20 47 45 4f 4a 53 4f 4e  l_textz2 GEOJSON
19250 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 2a  _CLOSE_BRACKET *
19260 2f 0a 20 20 7b 20 20 20 37 34 2c 20 20 20 2d 34  /.  {   74,   -4
19270 20 7d 2c 20 2f 2a 20 28 31 34 32 29 20 67 65 6f   }, /* (142) geo
19280 63 6f 6c 6c 5f 74 65 78 74 7a 20 3a 3a 3d 20 47  coll_textz ::= G
19290 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
192a0 4b 45 54 20 63 6f 6c 6c 5f 70 6f 6c 79 67 6f 6e  KET coll_polygon
192b0 7a 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 32  z geocoll_textz2
192c0 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
192d0 52 41 43 4b 45 54 20 2a 2f 0a 20 20 7b 20 20 20  RACKET */.  {   
192e0 38 30 2c 20 20 20 20 30 20 7d 2c 20 2f 2a 20 28  80,    0 }, /* (
192f0 31 34 33 29 20 67 65 6f 63 6f 6c 6c 5f 74 65 78  143) geocoll_tex
19300 74 7a 32 20 3a 3a 3d 20 2a 2f 0a 20 20 7b 20 20  tz2 ::= */.  {  
19310 20 38 30 2c 20 20 20 2d 33 20 7d 2c 20 2f 2a 20   80,   -3 }, /* 
19320 28 31 34 34 29 20 67 65 6f 63 6f 6c 6c 5f 74 65  (144) geocoll_te
19330 78 74 7a 32 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  xtz2 ::= GEOJSON
19340 5f 43 4f 4d 4d 41 20 63 6f 6c 6c 5f 70 6f 69 6e  _COMMA coll_poin
19350 74 7a 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a  tz geocoll_textz
19360 32 20 2a 2f 0a 20 20 7b 20 20 20 38 30 2c 20 20  2 */.  {   80,  
19370 20 2d 33 20 7d 2c 20 2f 2a 20 28 31 34 35 29 20   -3 }, /* (145) 
19380 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 32 20 3a  geocoll_textz2 :
19390 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  := GEOJSON_COMMA
193a0 20 63 6f 6c 6c 5f 6c 69 6e 65 73 74 72 69 6e 67   coll_linestring
193b0 7a 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 32  z geocoll_textz2
193c0 20 2a 2f 0a 20 20 7b 20 20 20 38 30 2c 20 20 20   */.  {   80,   
193d0 2d 33 20 7d 2c 20 2f 2a 20 28 31 34 36 29 20 67  -3 }, /* (146) g
193e0 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 32 20 3a 3a  eocoll_textz2 ::
193f0 3d 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  = GEOJSON_COMMA 
19400 63 6f 6c 6c 5f 70 6f 6c 79 67 6f 6e 7a 20 67 65  coll_polygonz ge
19410 6f 63 6f 6c 6c 5f 74 65 78 74 7a 32 20 2a 2f 0a  ocoll_textz2 */.
19420 20 20 7b 20 20 20 37 35 2c 20 20 20 2d 39 20 7d    {   75,   -9 }
19430 2c 20 2f 2a 20 28 31 34 37 29 20 63 6f 6c 6c 5f  , /* (147) coll_
19440 70 6f 69 6e 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f  point ::= GEOJSO
19450 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
19460 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f  JSON_TYPE GEOJSO
19470 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
19480 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f  POINT GEOJSON_CO
19490 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52  MMA GEOJSON_COOR
194a0 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  DS GEOJSON_COLON
194b0 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 20 47   point_coordxy G
194c0 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
194d0 43 45 20 2a 2f 0a 20 20 7b 20 20 20 37 39 2c 20  CE */.  {   79, 
194e0 20 20 2d 39 20 7d 2c 20 2f 2a 20 28 31 34 38 29    -9 }, /* (148)
194f0 20 63 6f 6c 6c 5f 70 6f 69 6e 74 7a 20 3a 3a 3d   coll_pointz ::=
19500 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
19510 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
19520 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
19530 45 4f 4a 53 4f 4e 5f 50 4f 49 4e 54 20 47 45 4f  EOJSON_POINT GEO
19540 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
19550 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
19560 4e 5f 43 4f 4c 4f 4e 20 70 6f 69 6e 74 5f 63 6f  N_COLON point_co
19570 6f 72 64 78 79 7a 20 47 45 4f 4a 53 4f 4e 5f 43  ordxyz GEOJSON_C
19580 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20  LOSE_BRACE */.  
19590 7b 20 20 20 37 37 2c 20 20 20 2d 39 20 7d 2c 20  {   77,   -9 }, 
195a0 2f 2a 20 28 31 34 39 29 20 63 6f 6c 6c 5f 6c 69  /* (149) coll_li
195b0 6e 65 73 74 72 69 6e 67 20 3a 3a 3d 20 47 45 4f  nestring ::= GEO
195c0 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
195d0 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
195e0 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
195f0 4f 4e 5f 4c 49 4e 45 53 54 52 49 4e 47 20 47 45  ON_LINESTRING GE
19600 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
19610 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
19620 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72  ON_COLON linestr
19630 69 6e 67 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e  ing_text GEOJSON
19640 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a  _CLOSE_BRACE */.
19650 20 20 7b 20 20 20 38 31 2c 20 20 20 2d 39 20 7d    {   81,   -9 }
19660 2c 20 2f 2a 20 28 31 35 30 29 20 63 6f 6c 6c 5f  , /* (150) coll_
19670 6c 69 6e 65 73 74 72 69 6e 67 7a 20 3a 3a 3d 20  linestringz ::= 
19680 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
19690 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
196a0 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
196b0 4f 4a 53 4f 4e 5f 4c 49 4e 45 53 54 52 49 4e 47  OJSON_LINESTRING
196c0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
196d0 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45  EOJSON_COORDS GE
196e0 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65  OJSON_COLON line
196f0 73 74 72 69 6e 67 5f 74 65 78 74 7a 20 47 45 4f  string_textz GEO
19700 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
19710 20 2a 2f 0a 20 20 7b 20 20 20 37 38 2c 20 20 20   */.  {   78,   
19720 2d 39 20 7d 2c 20 2f 2a 20 28 31 35 31 29 20 63  -9 }, /* (151) c
19730 6f 6c 6c 5f 70 6f 6c 79 67 6f 6e 20 3a 3a 3d 20  oll_polygon ::= 
19740 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
19750 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
19760 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
19770 4f 4a 53 4f 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45  OJSON_POLYGON GE
19780 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
19790 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
197a0 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 6c 79 67 6f 6e  ON_COLON polygon
197b0 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c  _text GEOJSON_CL
197c0 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 7b  OSE_BRACE */.  {
197d0 20 20 20 38 32 2c 20 20 20 2d 39 20 7d 2c 20 2f     82,   -9 }, /
197e0 2a 20 28 31 35 32 29 20 63 6f 6c 6c 5f 70 6f 6c  * (152) coll_pol
197f0 79 67 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f  ygonz ::= GEOJSO
19800 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
19810 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f  JSON_TYPE GEOJSO
19820 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
19830 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  POLYGON GEOJSON_
19840 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
19850 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
19860 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a  ON polygon_textz
19870 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
19880 52 41 43 45 20 2a 2f 0a 20 20 7b 20 20 20 32 36  RACE */.  {   26
19890 2c 20 20 20 2d 31 20 7d 2c 20 2f 2a 20 28 31 35  ,   -1 }, /* (15
198a0 33 29 20 6d 61 69 6e 20 3a 3a 3d 20 69 6e 20 2a  3) main ::= in *
198b0 2f 0a 20 20 7b 20 20 20 32 37 2c 20 20 20 20 30  /.  {   27,    0
198c0 20 7d 2c 20 2f 2a 20 28 31 35 34 29 20 69 6e 20   }, /* (154) in 
198d0 3a 3a 3d 20 2a 2f 0a 20 20 7b 20 20 20 32 37 2c  ::= */.  {   27,
198e0 20 20 20 2d 33 20 7d 2c 20 2f 2a 20 28 31 35 35     -3 }, /* (155
198f0 29 20 69 6e 20 3a 3a 3d 20 69 6e 20 73 74 61 74  ) in ::= in stat
19900 65 20 47 45 4f 4a 53 4f 4e 5f 4e 45 57 4c 49 4e  e GEOJSON_NEWLIN
19910 45 20 2a 2f 0a 20 20 7b 20 20 20 32 38 2c 20 20  E */.  {   28,  
19920 20 2d 31 20 7d 2c 20 2f 2a 20 28 31 35 36 29 20   -1 }, /* (156) 
19930 73 74 61 74 65 20 3a 3a 3d 20 70 72 6f 67 72 61  state ::= progra
19940 6d 20 2a 2f 0a 20 20 7b 20 20 20 32 39 2c 20 20  m */.  {   29,  
19950 20 2d 31 20 7d 2c 20 2f 2a 20 28 31 35 37 29 20   -1 }, /* (157) 
19960 70 72 6f 67 72 61 6d 20 3a 3a 3d 20 67 65 6f 5f  program ::= geo_
19970 74 65 78 74 20 2a 2f 0a 20 20 7b 20 20 20 34 36  text */.  {   46
19980 2c 20 20 20 2d 37 20 7d 2c 20 2f 2a 20 28 31 35  ,   -7 }, /* (15
19990 38 29 20 62 62 6f 78 20 3a 3a 3d 20 63 6f 6f 72  8) bbox ::= coor
199a0 64 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  d GEOJSON_COMMA 
199b0 63 6f 6f 72 64 20 47 45 4f 4a 53 4f 4e 5f 43 4f  coord GEOJSON_CO
199c0 4d 4d 41 20 63 6f 6f 72 64 20 47 45 4f 4a 53 4f  MMA coord GEOJSO
199d0 4e 5f 43 4f 4d 4d 41 20 63 6f 6f 72 64 20 2a 2f  N_COMMA coord */
199e0 0a 7d 3b 0a 0a 73 74 61 74 69 63 20 76 6f 69 64  .};..static void
199f0 20 79 79 5f 61 63 63 65 70 74 28 79 79 50 61 72   yy_accept(yyPar
19a00 73 65 72 2a 29 3b 20 20 2f 2a 20 46 6f 72 77 61  ser*);  /* Forwa
19a10 72 64 20 44 65 63 6c 61 72 61 74 69 6f 6e 20 2a  rd Declaration *
19a20 2f 0a 0a 2f 2a 0a 2a 2a 20 50 65 72 66 6f 72 6d  /../*.** Perform
19a30 20 61 20 72 65 64 75 63 65 20 61 63 74 69 6f 6e   a reduce action
19a40 20 61 6e 64 20 74 68 65 20 73 68 69 66 74 20 74   and the shift t
19a50 68 61 74 20 6d 75 73 74 20 69 6d 6d 65 64 69 61  hat must immedia
19a60 74 65 6c 79 0a 2a 2a 20 66 6f 6c 6c 6f 77 20 74  tely.** follow t
19a70 68 65 20 72 65 64 75 63 65 2e 0a 2a 2a 0a 2a 2a  he reduce..**.**
19a80 20 54 68 65 20 79 79 4c 6f 6f 6b 61 68 65 61 64   The yyLookahead
19a90 20 61 6e 64 20 79 79 4c 6f 6f 6b 61 68 65 61 64   and yyLookahead
19aa0 54 6f 6b 65 6e 20 70 61 72 61 6d 65 74 65 72 73  Token parameters
19ab0 20 70 72 6f 76 69 64 65 20 72 65 64 75 63 65 20   provide reduce 
19ac0 61 63 74 69 6f 6e 73 0a 2a 2a 20 61 63 63 65 73  actions.** acces
19ad0 73 20 74 6f 20 74 68 65 20 6c 6f 6f 6b 61 68 65  s to the lookahe
19ae0 61 64 20 74 6f 6b 65 6e 20 28 69 66 20 61 6e 79  ad token (if any
19af0 29 2e 20 20 54 68 65 20 79 79 4c 6f 6f 6b 61 68  ).  The yyLookah
19b00 65 61 64 20 77 69 6c 6c 20 62 65 20 59 59 4e 4f  ead will be YYNO
19b10 43 4f 44 45 0a 2a 2a 20 69 66 20 74 68 65 20 6c  CODE.** if the l
19b20 6f 6f 6b 61 68 65 61 64 20 74 6f 6b 65 6e 20 68  ookahead token h
19b30 61 73 20 61 6c 72 65 61 64 79 20 62 65 65 6e 20  as already been 
19b40 63 6f 6e 73 75 6d 65 64 2e 20 20 41 73 20 74 68  consumed.  As th
19b50 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 0a  is procedure is.
19b60 2a 2a 20 6f 6e 6c 79 20 63 61 6c 6c 65 64 20 66  ** only called f
19b70 72 6f 6d 20 6f 6e 65 20 70 6c 61 63 65 2c 20 6f  rom one place, o
19b80 70 74 69 6d 69 7a 69 6e 67 20 63 6f 6d 70 69 6c  ptimizing compil
19b90 65 72 73 20 77 69 6c 6c 20 69 6e 2d 6c 69 6e 65  ers will in-line
19ba0 20 69 74 2c 20 77 68 69 63 68 0a 2a 2a 20 6d 65   it, which.** me
19bb0 61 6e 73 20 74 68 61 74 20 74 68 65 20 65 78 74  ans that the ext
19bc0 72 61 20 70 61 72 61 6d 65 74 65 72 73 20 68 61  ra parameters ha
19bd0 76 65 20 6e 6f 20 70 65 72 66 6f 72 6d 61 6e 63  ve no performanc
19be0 65 20 69 6d 70 61 63 74 2e 0a 2a 2f 0a 73 74 61  e impact..*/.sta
19bf0 74 69 63 20 76 6f 69 64 20 79 79 5f 72 65 64 75  tic void yy_redu
19c00 63 65 28 0a 20 20 79 79 50 61 72 73 65 72 20 2a  ce(.  yyParser *
19c10 79 79 70 50 61 72 73 65 72 2c 20 20 20 20 20 20  yypParser,      
19c20 20 20 20 2f 2a 20 54 68 65 20 70 61 72 73 65 72     /* The parser
19c30 20 2a 2f 0a 20 20 75 6e 73 69 67 6e 65 64 20 69   */.  unsigned i
19c40 6e 74 20 79 79 72 75 6c 65 6e 6f 2c 20 20 20 20  nt yyruleno,    
19c50 20 20 20 2f 2a 20 4e 75 6d 62 65 72 20 6f 66 20     /* Number of 
19c60 74 68 65 20 72 75 6c 65 20 62 79 20 77 68 69 63  the rule by whic
19c70 68 20 74 6f 20 72 65 64 75 63 65 20 2a 2f 0a 20  h to reduce */. 
19c80 20 69 6e 74 20 79 79 4c 6f 6f 6b 61 68 65 61 64   int yyLookahead
19c90 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a  ,             /*
19ca0 20 4c 6f 6f 6b 61 68 65 61 64 20 74 6f 6b 65 6e   Lookahead token
19cb0 2c 20 6f 72 20 59 59 4e 4f 43 4f 44 45 20 69 66  , or YYNOCODE if
19cc0 20 6e 6f 6e 65 20 2a 2f 0a 20 20 50 61 72 73 65   none */.  Parse
19cd0 54 4f 4b 45 4e 54 59 50 45 20 79 79 4c 6f 6f 6b  TOKENTYPE yyLook
19ce0 61 68 65 61 64 54 6f 6b 65 6e 20 20 2f 2a 20 56  aheadToken  /* V
19cf0 61 6c 75 65 20 6f 66 20 74 68 65 20 6c 6f 6f 6b  alue of the look
19d00 61 68 65 61 64 20 74 6f 6b 65 6e 20 2a 2f 0a 29  ahead token */.)
19d10 7b 0a 20 20 69 6e 74 20 79 79 67 6f 74 6f 3b 20  {.  int yygoto; 
19d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d30 20 20 20 20 2f 2a 20 54 68 65 20 6e 65 78 74 20      /* The next 
19d40 73 74 61 74 65 20 2a 2f 0a 20 20 69 6e 74 20 79  state */.  int y
19d50 79 61 63 74 3b 20 20 20 20 20 20 20 20 20 20 20  yact;           
19d60 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 54 68             /* Th
19d70 65 20 6e 65 78 74 20 61 63 74 69 6f 6e 20 2a 2f  e next action */
19d80 0a 20 20 79 79 53 74 61 63 6b 45 6e 74 72 79 20  .  yyStackEntry 
19d90 2a 79 79 6d 73 70 3b 20 20 20 20 20 20 20 20 20  *yymsp;         
19da0 20 20 20 2f 2a 20 54 68 65 20 74 6f 70 20 6f 66     /* The top of
19db0 20 74 68 65 20 70 61 72 73 65 72 27 73 20 73 74   the parser's st
19dc0 61 63 6b 20 2a 2f 0a 20 20 69 6e 74 20 79 79 73  ack */.  int yys
19dd0 69 7a 65 3b 20 20 20 20 20 20 20 20 20 20 20 20  ize;            
19de0 20 20 20 20 20 20 20 20 20 2f 2a 20 41 6d 6f 75           /* Amou
19df0 6e 74 20 74 6f 20 70 6f 70 20 74 68 65 20 73 74  nt to pop the st
19e00 61 63 6b 20 2a 2f 0a 20 20 50 61 72 73 65 41 52  ack */.  ParseAR
19e10 47 5f 46 45 54 43 48 3b 0a 20 20 28 76 6f 69 64  G_FETCH;.  (void
19e20 29 79 79 4c 6f 6f 6b 61 68 65 61 64 3b 0a 20 20  )yyLookahead;.  
19e30 28 76 6f 69 64 29 79 79 4c 6f 6f 6b 61 68 65 61  (void)yyLookahea
19e40 64 54 6f 6b 65 6e 3b 0a 20 20 79 79 6d 73 70 20  dToken;.  yymsp 
19e50 3d 20 79 79 70 50 61 72 73 65 72 2d 3e 79 79 74  = yypParser->yyt
19e60 6f 73 3b 0a 23 69 66 6e 64 65 66 20 4e 44 45 42  os;.#ifndef NDEB
19e70 55 47 0a 20 20 69 66 28 20 79 79 54 72 61 63 65  UG.  if( yyTrace
19e80 46 49 4c 45 20 26 26 20 79 79 72 75 6c 65 6e 6f  FILE && yyruleno
19e90 3c 28 69 6e 74 29 28 73 69 7a 65 6f 66 28 79 79  <(int)(sizeof(yy
19ea0 52 75 6c 65 4e 61 6d 65 29 2f 73 69 7a 65 6f 66  RuleName)/sizeof
19eb0 28 79 79 52 75 6c 65 4e 61 6d 65 5b 30 5d 29 29  (yyRuleName[0]))
19ec0 20 29 7b 0a 20 20 20 20 79 79 73 69 7a 65 20 3d   ){.    yysize =
19ed0 20 79 79 52 75 6c 65 49 6e 66 6f 5b 79 79 72 75   yyRuleInfo[yyru
19ee0 6c 65 6e 6f 5d 2e 6e 72 68 73 3b 0a 20 20 20 20  leno].nrhs;.    
19ef0 69 66 28 20 79 79 73 69 7a 65 20 29 7b 0a 20 20  if( yysize ){.  
19f00 20 20 20 20 66 70 72 69 6e 74 66 28 79 79 54 72      fprintf(yyTr
19f10 61 63 65 46 49 4c 45 2c 20 22 25 73 52 65 64 75  aceFILE, "%sRedu
19f20 63 65 20 25 64 20 5b 25 73 5d 2c 20 67 6f 20 74  ce %d [%s], go t
19f30 6f 20 73 74 61 74 65 20 25 64 2e 5c 6e 22 2c 0a  o state %d.\n",.
19f40 20 20 20 20 20 20 20 20 79 79 54 72 61 63 65 50          yyTraceP
19f50 72 6f 6d 70 74 2c 0a 20 20 20 20 20 20 20 20 79  rompt,.        y
19f60 79 72 75 6c 65 6e 6f 2c 20 79 79 52 75 6c 65 4e  yruleno, yyRuleN
19f70 61 6d 65 5b 79 79 72 75 6c 65 6e 6f 5d 2c 20 79  ame[yyruleno], y
19f80 79 6d 73 70 5b 79 79 73 69 7a 65 5d 2e 73 74 61  ymsp[yysize].sta
19f90 74 65 6e 6f 29 3b 0a 20 20 20 20 7d 65 6c 73 65  teno);.    }else
19fa0 7b 0a 20 20 20 20 20 20 66 70 72 69 6e 74 66 28  {.      fprintf(
19fb0 79 79 54 72 61 63 65 46 49 4c 45 2c 20 22 25 73  yyTraceFILE, "%s
19fc0 52 65 64 75 63 65 20 25 64 20 5b 25 73 5d 2e 5c  Reduce %d [%s].\
19fd0 6e 22 2c 0a 20 20 20 20 20 20 20 20 79 79 54 72  n",.        yyTr
19fe0 61 63 65 50 72 6f 6d 70 74 2c 20 79 79 72 75 6c  acePrompt, yyrul
19ff0 65 6e 6f 2c 20 79 79 52 75 6c 65 4e 61 6d 65 5b  eno, yyRuleName[
1a000 79 79 72 75 6c 65 6e 6f 5d 29 3b 0a 20 20 20 20  yyruleno]);.    
1a010 7d 0a 20 20 7d 0a 23 65 6e 64 69 66 20 2f 2a 20  }.  }.#endif /* 
1a020 4e 44 45 42 55 47 20 2a 2f 0a 0a 20 20 2f 2a 20  NDEBUG */..  /* 
1a030 43 68 65 63 6b 20 74 68 61 74 20 74 68 65 20 73  Check that the s
1a040 74 61 63 6b 20 69 73 20 6c 61 72 67 65 20 65 6e  tack is large en
1a050 6f 75 67 68 20 74 6f 20 67 72 6f 77 20 62 79 20  ough to grow by 
1a060 61 20 73 69 6e 67 6c 65 20 65 6e 74 72 79 0a 20  a single entry. 
1a070 20 2a 2a 20 69 66 20 74 68 65 20 52 48 53 20 6f   ** if the RHS o
1a080 66 20 74 68 65 20 72 75 6c 65 20 69 73 20 65 6d  f the rule is em
1a090 70 74 79 2e 20 20 54 68 69 73 20 65 6e 73 75 72  pty.  This ensur
1a0a0 65 73 20 74 68 61 74 20 74 68 65 72 65 20 69 73  es that there is
1a0b0 20 72 6f 6f 6d 0a 20 20 2a 2a 20 65 6e 6f 75 67   room.  ** enoug
1a0c0 68 20 6f 6e 20 74 68 65 20 73 74 61 63 6b 20 74  h on the stack t
1a0d0 6f 20 70 75 73 68 20 74 68 65 20 4c 48 53 20 76  o push the LHS v
1a0e0 61 6c 75 65 20 2a 2f 0a 20 20 69 66 28 20 79 79  alue */.  if( yy
1a0f0 52 75 6c 65 49 6e 66 6f 5b 79 79 72 75 6c 65 6e  RuleInfo[yyrulen
1a100 6f 5d 2e 6e 72 68 73 3d 3d 30 20 29 7b 0a 23 69  o].nrhs==0 ){.#i
1a110 66 64 65 66 20 59 59 54 52 41 43 4b 4d 41 58 53  fdef YYTRACKMAXS
1a120 54 41 43 4b 44 45 50 54 48 0a 20 20 20 20 69 66  TACKDEPTH.    if
1a130 28 20 28 69 6e 74 29 28 79 79 70 50 61 72 73 65  ( (int)(yypParse
1a140 72 2d 3e 79 79 74 6f 73 20 2d 20 79 79 70 50 61  r->yytos - yypPa
1a150 72 73 65 72 2d 3e 79 79 73 74 61 63 6b 29 3e 79  rser->yystack)>y
1a160 79 70 50 61 72 73 65 72 2d 3e 79 79 68 77 6d 20  ypParser->yyhwm 
1a170 29 7b 0a 20 20 20 20 20 20 79 79 70 50 61 72 73  ){.      yypPars
1a180 65 72 2d 3e 79 79 68 77 6d 2b 2b 3b 0a 20 20 20  er->yyhwm++;.   
1a190 20 20 20 61 73 73 65 72 74 28 20 79 79 70 50 61     assert( yypPa
1a1a0 72 73 65 72 2d 3e 79 79 68 77 6d 20 3d 3d 20 28  rser->yyhwm == (
1a1b0 69 6e 74 29 28 79 79 70 50 61 72 73 65 72 2d 3e  int)(yypParser->
1a1c0 79 79 74 6f 73 20 2d 20 79 79 70 50 61 72 73 65  yytos - yypParse
1a1d0 72 2d 3e 79 79 73 74 61 63 6b 29 29 3b 0a 20 20  r->yystack));.  
1a1e0 20 20 7d 0a 23 65 6e 64 69 66 0a 23 69 66 20 59    }.#endif.#if Y
1a1f0 59 53 54 41 43 4b 44 45 50 54 48 3e 30 20 0a 20  YSTACKDEPTH>0 . 
1a200 20 20 20 69 66 28 20 79 79 70 50 61 72 73 65 72     if( yypParser
1a210 2d 3e 79 79 74 6f 73 3e 3d 79 79 70 50 61 72 73  ->yytos>=yypPars
1a220 65 72 2d 3e 79 79 73 74 61 63 6b 45 6e 64 20 29  er->yystackEnd )
1a230 7b 0a 20 20 20 20 20 20 79 79 53 74 61 63 6b 4f  {.      yyStackO
1a240 76 65 72 66 6c 6f 77 28 79 79 70 50 61 72 73 65  verflow(yypParse
1a250 72 29 3b 0a 20 20 20 20 20 20 72 65 74 75 72 6e  r);.      return
1a260 3b 0a 20 20 20 20 7d 0a 23 65 6c 73 65 0a 20 20  ;.    }.#else.  
1a270 20 20 69 66 28 20 79 79 70 50 61 72 73 65 72 2d    if( yypParser-
1a280 3e 79 79 74 6f 73 3e 3d 26 79 79 70 50 61 72 73  >yytos>=&yypPars
1a290 65 72 2d 3e 79 79 73 74 61 63 6b 5b 79 79 70 50  er->yystack[yypP
1a2a0 61 72 73 65 72 2d 3e 79 79 73 74 6b 73 7a 2d 31  arser->yystksz-1
1a2b0 5d 20 29 7b 0a 20 20 20 20 20 20 69 66 28 20 79  ] ){.      if( y
1a2c0 79 47 72 6f 77 53 74 61 63 6b 28 79 79 70 50 61  yGrowStack(yypPa
1a2d0 72 73 65 72 29 20 29 7b 0a 20 20 20 20 20 20 20  rser) ){.       
1a2e0 20 79 79 53 74 61 63 6b 4f 76 65 72 66 6c 6f 77   yyStackOverflow
1a2f0 28 79 79 70 50 61 72 73 65 72 29 3b 0a 20 20 20  (yypParser);.   
1a300 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20       return;.   
1a310 20 20 20 7d 0a 20 20 20 20 20 20 79 79 6d 73 70     }.      yymsp
1a320 20 3d 20 79 79 70 50 61 72 73 65 72 2d 3e 79 79   = yypParser->yy
1a330 74 6f 73 3b 0a 20 20 20 20 7d 0a 23 65 6e 64 69  tos;.    }.#endi
1a340 66 0a 20 20 7d 0a 0a 20 20 73 77 69 74 63 68 28  f.  }..  switch(
1a350 20 79 79 72 75 6c 65 6e 6f 20 29 7b 0a 20 20 2f   yyruleno ){.  /
1a360 2a 20 42 65 67 69 6e 6e 69 6e 67 20 68 65 72 65  * Beginning here
1a370 20 61 72 65 20 74 68 65 20 72 65 64 75 63 74 69   are the reducti
1a380 6f 6e 20 63 61 73 65 73 2e 20 20 41 20 74 79 70  on cases.  A typ
1a390 69 63 61 6c 20 65 78 61 6d 70 6c 65 0a 20 20 2a  ical example.  *
1a3a0 2a 20 66 6f 6c 6c 6f 77 73 3a 0a 20 20 2a 2a 20  * follows:.  ** 
1a3b0 20 20 63 61 73 65 20 30 3a 0a 20 20 2a 2a 20 20    case 0:.  **  
1a3c0 23 6c 69 6e 65 20 3c 6c 69 6e 65 6e 6f 3e 20 3c  #line <lineno> <
1a3d0 67 72 61 6d 6d 61 72 66 69 6c 65 3e 0a 20 20 2a  grammarfile>.  *
1a3e0 2a 20 20 20 20 20 7b 20 2e 2e 2e 20 7d 20 20 20  *     { ... }   
1a3f0 20 20 20 20 20 20 20 20 2f 2f 20 55 73 65 72 20          // User 
1a400 73 75 70 70 6c 69 65 64 20 63 6f 64 65 0a 20 20  supplied code.  
1a410 2a 2a 20 20 23 6c 69 6e 65 20 3c 6c 69 6e 65 6e  **  #line <linen
1a420 6f 3e 20 3c 74 68 69 73 66 69 6c 65 3e 0a 20 20  o> <thisfile>.  
1a430 2a 2a 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20  **     break;.  
1a440 2a 2f 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 42  */./********** B
1a450 65 67 69 6e 20 72 65 64 75 63 65 20 61 63 74 69  egin reduce acti
1a460 6f 6e 73 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ons ************
1a470 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1a480 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1a490 2a 2a 2f 0a 20 20 20 20 20 20 20 20 59 59 4d 49  **/.        YYMI
1a4a0 4e 4f 52 54 59 50 45 20 79 79 6c 68 73 6d 69 6e  NORTYPE yylhsmin
1a4b0 6f 72 3b 0a 20 20 20 20 20 20 63 61 73 65 20 30  or;.      case 0
1a4c0 3a 20 2f 2a 20 67 65 6f 5f 74 65 78 74 20 3a 3a  : /* geo_text ::
1a4d0 3d 20 70 6f 69 6e 74 20 2a 2f 0a 20 20 20 20 20  = point */.     
1a4e0 20 63 61 73 65 20 31 3a 20 2f 2a 20 67 65 6f 5f   case 1: /* geo_
1a4f0 74 65 78 74 20 3a 3a 3d 20 70 6f 69 6e 74 7a 20  text ::= pointz 
1a500 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28 79 79  */ yytestcase(yy
1a510 72 75 6c 65 6e 6f 3d 3d 31 29 3b 0a 20 20 20 20  ruleno==1);.    
1a520 20 20 63 61 73 65 20 32 3a 20 2f 2a 20 67 65 6f    case 2: /* geo
1a530 5f 74 65 78 74 20 3a 3a 3d 20 6c 69 6e 65 73 74  _text ::= linest
1a540 72 69 6e 67 20 2a 2f 20 79 79 74 65 73 74 63 61  ring */ yytestca
1a550 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 32 29 3b  se(yyruleno==2);
1a560 0a 20 20 20 20 20 20 63 61 73 65 20 33 3a 20 2f  .      case 3: /
1a570 2a 20 67 65 6f 5f 74 65 78 74 20 3a 3a 3d 20 6c  * geo_text ::= l
1a580 69 6e 65 73 74 72 69 6e 67 7a 20 2a 2f 20 79 79  inestringz */ yy
1a590 74 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e  testcase(yyrulen
1a5a0 6f 3d 3d 33 29 3b 0a 20 20 20 20 20 20 63 61 73  o==3);.      cas
1a5b0 65 20 34 3a 20 2f 2a 20 67 65 6f 5f 74 65 78 74  e 4: /* geo_text
1a5c0 20 3a 3a 3d 20 70 6f 6c 79 67 6f 6e 20 2a 2f 20   ::= polygon */ 
1a5d0 79 79 74 65 73 74 63 61 73 65 28 79 79 72 75 6c  yytestcase(yyrul
1a5e0 65 6e 6f 3d 3d 34 29 3b 0a 20 20 20 20 20 20 63  eno==4);.      c
1a5f0 61 73 65 20 35 3a 20 2f 2a 20 67 65 6f 5f 74 65  ase 5: /* geo_te
1a600 78 74 20 3a 3a 3d 20 70 6f 6c 79 67 6f 6e 7a 20  xt ::= polygonz 
1a610 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28 79 79  */ yytestcase(yy
1a620 72 75 6c 65 6e 6f 3d 3d 35 29 3b 0a 20 20 20 20  ruleno==5);.    
1a630 20 20 63 61 73 65 20 36 3a 20 2f 2a 20 67 65 6f    case 6: /* geo
1a640 5f 74 65 78 74 20 3a 3a 3d 20 6d 75 6c 74 69 70  _text ::= multip
1a650 6f 69 6e 74 20 2a 2f 20 79 79 74 65 73 74 63 61  oint */ yytestca
1a660 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 36 29 3b  se(yyruleno==6);
1a670 0a 20 20 20 20 20 20 63 61 73 65 20 37 3a 20 2f  .      case 7: /
1a680 2a 20 67 65 6f 5f 74 65 78 74 20 3a 3a 3d 20 6d  * geo_text ::= m
1a690 75 6c 74 69 70 6f 69 6e 74 7a 20 2a 2f 20 79 79  ultipointz */ yy
1a6a0 74 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e  testcase(yyrulen
1a6b0 6f 3d 3d 37 29 3b 0a 20 20 20 20 20 20 63 61 73  o==7);.      cas
1a6c0 65 20 38 3a 20 2f 2a 20 67 65 6f 5f 74 65 78 74  e 8: /* geo_text
1a6d0 20 3a 3a 3d 20 6d 75 6c 74 69 6c 69 6e 65 73 74   ::= multilinest
1a6e0 72 69 6e 67 20 2a 2f 20 79 79 74 65 73 74 63 61  ring */ yytestca
1a6f0 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 38 29 3b  se(yyruleno==8);
1a700 0a 20 20 20 20 20 20 63 61 73 65 20 39 3a 20 2f  .      case 9: /
1a710 2a 20 67 65 6f 5f 74 65 78 74 20 3a 3a 3d 20 6d  * geo_text ::= m
1a720 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 7a 20  ultilinestringz 
1a730 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28 79 79  */ yytestcase(yy
1a740 72 75 6c 65 6e 6f 3d 3d 39 29 3b 0a 20 20 20 20  ruleno==9);.    
1a750 20 20 63 61 73 65 20 31 30 3a 20 2f 2a 20 67 65    case 10: /* ge
1a760 6f 5f 74 65 78 74 20 3a 3a 3d 20 6d 75 6c 74 69  o_text ::= multi
1a770 70 6f 6c 79 67 6f 6e 20 2a 2f 20 79 79 74 65 73  polygon */ yytes
1a780 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d  tcase(yyruleno==
1a790 31 30 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20  10);.      case 
1a7a0 31 31 3a 20 2f 2a 20 67 65 6f 5f 74 65 78 74 20  11: /* geo_text 
1a7b0 3a 3a 3d 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e  ::= multipolygon
1a7c0 7a 20 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28  z */ yytestcase(
1a7d0 79 79 72 75 6c 65 6e 6f 3d 3d 31 31 29 3b 0a 20  yyruleno==11);. 
1a7e0 20 20 20 20 20 63 61 73 65 20 31 32 3a 20 2f 2a       case 12: /*
1a7f0 20 67 65 6f 5f 74 65 78 74 20 3a 3a 3d 20 67 65   geo_text ::= ge
1a800 6f 63 6f 6c 6c 20 2a 2f 20 79 79 74 65 73 74 63  ocoll */ yytestc
1a810 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 31 32  ase(yyruleno==12
1a820 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20 31 33  );.      case 13
1a830 3a 20 2f 2a 20 67 65 6f 5f 74 65 78 74 20 3a 3a  : /* geo_text ::
1a840 3d 20 67 65 6f 63 6f 6c 6c 7a 20 2a 2f 20 79 79  = geocollz */ yy
1a850 74 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e  testcase(yyrulen
1a860 6f 3d 3d 31 33 29 3b 0a 7b 20 70 5f 64 61 74 61  o==13);.{ p_data
1a870 2d 3e 72 65 73 75 6c 74 20 3d 20 79 79 6d 73 70  ->result = yymsp
1a880 5b 30 5d 2e 6d 69 6e 6f 72 2e 79 79 30 3b 20 7d  [0].minor.yy0; }
1a890 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a  .        break;.
1a8a0 20 20 20 20 20 20 63 61 73 65 20 31 34 3a 20 2f        case 14: /
1a8b0 2a 20 70 6f 69 6e 74 20 3a 3a 3d 20 47 45 4f 4a  * point ::= GEOJ
1a8c0 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
1a8d0 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
1a8e0 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
1a8f0 4e 5f 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f  N_POINT GEOJSON_
1a900 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
1a910 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
1a920 4f 4e 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79  ON point_coordxy
1a930 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
1a940 52 41 43 45 20 2a 2f 0a 20 20 20 20 20 20 63 61  RACE */.      ca
1a950 73 65 20 32 30 3a 20 2f 2a 20 70 6f 69 6e 74 7a  se 20: /* pointz
1a960 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
1a970 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
1a980 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
1a990 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49 4e 54  ON GEOJSON_POINT
1a9a0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
1a9b0 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45  EOJSON_COORDS GE
1a9c0 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69 6e  OJSON_COLON poin
1a9d0 74 5f 63 6f 6f 72 64 78 79 7a 20 47 45 4f 4a 53  t_coordxyz GEOJS
1a9e0 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a  ON_CLOSE_BRACE *
1a9f0 2f 20 79 79 74 65 73 74 63 61 73 65 28 79 79 72  / yytestcase(yyr
1aa00 75 6c 65 6e 6f 3d 3d 32 30 29 3b 0a 7b 20 79 79  uleno==20);.{ yy
1aa10 6d 73 70 5b 2d 38 5d 2e 6d 69 6e 6f 72 2e 79 79  msp[-8].minor.yy
1aa20 30 20 3d 20 67 65 6f 4a 53 4f 4e 5f 62 75 69 6c  0 = geoJSON_buil
1aa30 64 47 65 6f 6d 46 72 6f 6d 50 6f 69 6e 74 28 20  dGeomFromPoint( 
1aa40 70 5f 64 61 74 61 2c 20 28 67 61 69 61 50 6f 69  p_data, (gaiaPoi
1aa50 6e 74 50 74 72 29 79 79 6d 73 70 5b 2d 31 5d 2e  ntPtr)yymsp[-1].
1aa60 6d 69 6e 6f 72 2e 79 79 30 29 3b 20 7d 0a 20 20  minor.yy0); }.  
1aa70 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20        break;.   
1aa80 20 20 20 63 61 73 65 20 31 35 3a 20 2f 2a 20 70     case 15: /* p
1aa90 6f 69 6e 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  oint ::= GEOJSON
1aaa0 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
1aab0 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
1aac0 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50  _COLON GEOJSON_P
1aad0 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  OINT GEOJSON_COM
1aae0 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20  MA GEOJSON_BBOX 
1aaf0 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
1ab00 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
1ab10 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f  ET bbox GEOJSON_
1ab20 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45  CLOSE_BRACKET GE
1ab30 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
1ab40 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
1ab50 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69 6e 74 5f 63  ON_COLON point_c
1ab60 6f 6f 72 64 78 79 20 47 45 4f 4a 53 4f 4e 5f 43  oordxy GEOJSON_C
1ab70 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20  LOSE_BRACE */.  
1ab80 20 20 20 20 63 61 73 65 20 32 31 3a 20 2f 2a 20      case 21: /* 
1ab90 70 6f 69 6e 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53  pointz ::= GEOJS
1aba0 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45  ON_OPEN_BRACE GE
1abb0 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53  OJSON_TYPE GEOJS
1abc0 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
1abd0 5f 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43  _POINT GEOJSON_C
1abe0 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f  OMMA GEOJSON_BBO
1abf0 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  X GEOJSON_COLON 
1ac00 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
1ac10 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f  CKET bbox GEOJSO
1ac20 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20  N_CLOSE_BRACKET 
1ac30 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
1ac40 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f  OJSON_COORDS GEO
1ac50 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69 6e 74  JSON_COLON point
1ac60 5f 63 6f 6f 72 64 78 79 7a 20 47 45 4f 4a 53 4f  _coordxyz GEOJSO
1ac70 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
1ac80 20 79 79 74 65 73 74 63 61 73 65 28 79 79 72 75   yytestcase(yyru
1ac90 6c 65 6e 6f 3d 3d 32 31 29 3b 0a 7b 20 79 79 6d  leno==21);.{ yym
1aca0 73 70 5b 2d 31 34 5d 2e 6d 69 6e 6f 72 2e 79 79  sp[-14].minor.yy
1acb0 30 20 3d 20 67 65 6f 4a 53 4f 4e 5f 62 75 69 6c  0 = geoJSON_buil
1acc0 64 47 65 6f 6d 46 72 6f 6d 50 6f 69 6e 74 28 20  dGeomFromPoint( 
1acd0 70 5f 64 61 74 61 2c 20 28 67 61 69 61 50 6f 69  p_data, (gaiaPoi
1ace0 6e 74 50 74 72 29 79 79 6d 73 70 5b 2d 31 5d 2e  ntPtr)yymsp[-1].
1acf0 6d 69 6e 6f 72 2e 79 79 30 29 3b 20 7d 0a 20 20  minor.yy0); }.  
1ad00 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20        break;.   
1ad10 20 20 20 63 61 73 65 20 31 36 3a 20 2f 2a 20 70     case 16: /* p
1ad20 6f 69 6e 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  oint ::= GEOJSON
1ad30 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
1ad40 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
1ad50 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50  _COLON GEOJSON_P
1ad60 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  OINT GEOJSON_COM
1ad70 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47  MA GEOJSON_CRS G
1ad80 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f  EOJSON_COLON sho
1ad90 72 74 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43  rt_crs GEOJSON_C
1ada0 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
1adb0 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
1adc0 4e 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 20  N point_coordxy 
1add0 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
1ade0 41 43 45 20 2a 2f 0a 20 20 20 20 20 20 63 61 73  ACE */.      cas
1adf0 65 20 31 37 3a 20 2f 2a 20 70 6f 69 6e 74 20 3a  e 17: /* point :
1ae00 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
1ae10 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
1ae20 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
1ae30 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49 4e 54 20 47   GEOJSON_POINT G
1ae40 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
1ae50 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e  JSON_CRS GEOJSON
1ae60 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20  _COLON long_crs 
1ae70 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
1ae80 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f  OJSON_COORDS GEO
1ae90 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69 6e 74  JSON_COLON point
1aea0 5f 63 6f 6f 72 64 78 79 20 47 45 4f 4a 53 4f 4e  _coordxy GEOJSON
1aeb0 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 20  _CLOSE_BRACE */ 
1aec0 79 79 74 65 73 74 63 61 73 65 28 79 79 72 75 6c  yytestcase(yyrul
1aed0 65 6e 6f 3d 3d 31 37 29 3b 0a 20 20 20 20 20 20  eno==17);.      
1aee0 63 61 73 65 20 32 32 3a 20 2f 2a 20 70 6f 69 6e  case 22: /* poin
1aef0 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  tz ::= GEOJSON_O
1af00 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  PEN_BRACE GEOJSO
1af10 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_TYPE GEOJSON_C
1af20 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49  OLON GEOJSON_POI
1af30 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  NT GEOJSON_COMMA
1af40 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f   GEOJSON_CRS GEO
1af50 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74  JSON_COLON short
1af60 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  _crs GEOJSON_COM
1af70 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44  MA GEOJSON_COORD
1af80 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
1af90 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 7a 20 47  point_coordxyz G
1afa0 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
1afb0 43 45 20 2a 2f 20 79 79 74 65 73 74 63 61 73 65  CE */ yytestcase
1afc0 28 79 79 72 75 6c 65 6e 6f 3d 3d 32 32 29 3b 0a  (yyruleno==22);.
1afd0 20 20 20 20 20 20 63 61 73 65 20 32 33 3a 20 2f        case 23: /
1afe0 2a 20 70 6f 69 6e 74 7a 20 3a 3a 3d 20 47 45 4f  * pointz ::= GEO
1aff0 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
1b000 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
1b010 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
1b020 4f 4e 5f 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e  ON_POINT GEOJSON
1b030 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
1b040 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  RS GEOJSON_COLON
1b050 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f   long_crs GEOJSO
1b060 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
1b070 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43  COORDS GEOJSON_C
1b080 4f 4c 4f 4e 20 70 6f 69 6e 74 5f 63 6f 6f 72 64  OLON point_coord
1b090 78 79 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  xyz GEOJSON_CLOS
1b0a0 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73  E_BRACE */ yytes
1b0b0 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d  tcase(yyruleno==
1b0c0 32 33 29 3b 0a 7b 20 79 79 6d 73 70 5b 2d 31 32  23);.{ yymsp[-12
1b0d0 5d 2e 6d 69 6e 6f 72 2e 79 79 30 20 3d 20 67 65  ].minor.yy0 = ge
1b0e0 6f 4a 53 4f 4e 5f 62 75 69 6c 64 47 65 6f 6d 46  oJSON_buildGeomF
1b0f0 72 6f 6d 50 6f 69 6e 74 53 72 69 64 28 20 70 5f  romPointSrid( p_
1b100 64 61 74 61 2c 20 28 67 61 69 61 50 6f 69 6e 74  data, (gaiaPoint
1b110 50 74 72 29 79 79 6d 73 70 5b 2d 31 5d 2e 6d 69  Ptr)yymsp[-1].mi
1b120 6e 6f 72 2e 79 79 30 2c 20 28 69 6e 74 20 2a 29  nor.yy0, (int *)
1b130 79 79 6d 73 70 5b 2d 35 5d 2e 6d 69 6e 6f 72 2e  yymsp[-5].minor.
1b140 79 79 30 29 3b 20 7d 0a 20 20 20 20 20 20 20 20  yy0); }.        
1b150 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73  break;.      cas
1b160 65 20 31 38 3a 20 2f 2a 20 70 6f 69 6e 74 20 3a  e 18: /* point :
1b170 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
1b180 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
1b190 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
1b1a0 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49 4e 54 20 47   GEOJSON_POINT G
1b1b0 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
1b1c0 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e  JSON_CRS GEOJSON
1b1d0 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73  _COLON short_crs
1b1e0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
1b1f0 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a  EOJSON_BBOX GEOJ
1b200 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
1b210 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62  N_OPEN_BRACKET b
1b220 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  box GEOJSON_CLOS
1b230 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f  E_BRACKET GEOJSO
1b240 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
1b250 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43  COORDS GEOJSON_C
1b260 4f 4c 4f 4e 20 70 6f 69 6e 74 5f 63 6f 6f 72 64  OLON point_coord
1b270 78 79 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  xy GEOJSON_CLOSE
1b280 5f 42 52 41 43 45 20 2a 2f 0a 20 20 20 20 20 20  _BRACE */.      
1b290 63 61 73 65 20 31 39 3a 20 2f 2a 20 70 6f 69 6e  case 19: /* poin
1b2a0 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50  t ::= GEOJSON_OP
1b2b0 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e  EN_BRACE GEOJSON
1b2c0 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _TYPE GEOJSON_CO
1b2d0 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49 4e  LON GEOJSON_POIN
1b2e0 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
1b2f0 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a  GEOJSON_CRS GEOJ
1b300 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63  SON_COLON long_c
1b310 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  rs GEOJSON_COMMA
1b320 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45   GEOJSON_BBOX GE
1b330 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
1b340 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54  SON_OPEN_BRACKET
1b350 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c   bbox GEOJSON_CL
1b360 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a  OSE_BRACKET GEOJ
1b370 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
1b380 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e  N_COORDS GEOJSON
1b390 5f 43 4f 4c 4f 4e 20 70 6f 69 6e 74 5f 63 6f 6f  _COLON point_coo
1b3a0 72 64 78 79 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  rdxy GEOJSON_CLO
1b3b0 53 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65  SE_BRACE */ yyte
1b3c0 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d  stcase(yyruleno=
1b3d0 3d 31 39 29 3b 0a 20 20 20 20 20 20 63 61 73 65  =19);.      case
1b3e0 20 32 34 3a 20 2f 2a 20 70 6f 69 6e 74 20 3a 3a   24: /* point ::
1b3f0 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  = GEOJSON_OPEN_B
1b400 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50  RACE GEOJSON_TYP
1b410 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  E GEOJSON_COLON 
1b420 47 45 4f 4a 53 4f 4e 5f 50 4f 49 4e 54 20 47 45  GEOJSON_POINT GE
1b430 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
1b440 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f  SON_CRS GEOJSON_
1b450 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20  COLON short_crs 
1b460 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
1b470 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53  OJSON_BBOX GEOJS
1b480 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
1b490 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62  _OPEN_BRACKET bb
1b4a0 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  ox GEOJSON_CLOSE
1b4b0 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e  _BRACKET GEOJSON
1b4c0 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
1b4d0 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  OORDS GEOJSON_CO
1b4e0 4c 4f 4e 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78  LON point_coordx
1b4f0 79 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  yz GEOJSON_CLOSE
1b500 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74  _BRACE */ yytest
1b510 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 32  case(yyruleno==2
1b520 34 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20 32  4);.      case 2
1b530 35 3a 20 2f 2a 20 70 6f 69 6e 74 20 3a 3a 3d 20  5: /* point ::= 
1b540 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
1b550 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
1b560 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
1b570 4f 4a 53 4f 4e 5f 50 4f 49 4e 54 20 47 45 4f 4a  OJSON_POINT GEOJ
1b580 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
1b590 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
1b5a0 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f  LON long_crs GEO
1b5b0 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
1b5c0 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f  ON_BBOX GEOJSON_
1b5d0 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50  COLON GEOJSON_OP
1b5e0 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20  EN_BRACKET bbox 
1b5f0 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
1b600 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f  ACKET GEOJSON_CO
1b610 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52  MMA GEOJSON_COOR
1b620 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  DS GEOJSON_COLON
1b630 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 7a 20   point_coordxyz 
1b640 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
1b650 41 43 45 20 2a 2f 20 79 79 74 65 73 74 63 61 73  ACE */ yytestcas
1b660 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 32 35 29 3b  e(yyruleno==25);
1b670 0a 7b 20 79 79 6d 73 70 5b 2d 31 38 5d 2e 6d 69  .{ yymsp[-18].mi
1b680 6e 6f 72 2e 79 79 30 20 3d 20 67 65 6f 4a 53 4f  nor.yy0 = geoJSO
1b690 4e 5f 62 75 69 6c 64 47 65 6f 6d 46 72 6f 6d 50  N_buildGeomFromP
1b6a0 6f 69 6e 74 53 72 69 64 28 20 70 5f 64 61 74 61  ointSrid( p_data
1b6b0 2c 20 28 67 61 69 61 50 6f 69 6e 74 50 74 72 29  , (gaiaPointPtr)
1b6c0 79 79 6d 73 70 5b 2d 31 5d 2e 6d 69 6e 6f 72 2e  yymsp[-1].minor.
1b6d0 79 79 30 2c 20 28 69 6e 74 20 2a 29 79 79 6d 73  yy0, (int *)yyms
1b6e0 70 5b 2d 31 31 5d 2e 6d 69 6e 6f 72 2e 79 79 30  p[-11].minor.yy0
1b6f0 29 3b 20 7d 0a 20 20 20 20 20 20 20 20 62 72 65  ); }.        bre
1b700 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 32  ak;.      case 2
1b710 36 3a 20 2f 2a 20 73 68 6f 72 74 5f 63 72 73 20  6: /* short_crs 
1b720 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
1b730 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54  _BRACE GEOJSON_T
1b740 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  YPE GEOJSON_COLO
1b750 4e 20 47 45 4f 4a 53 4f 4e 5f 4e 41 4d 45 20 47  N GEOJSON_NAME G
1b760 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
1b770 4a 53 4f 4e 5f 50 52 4f 50 53 20 47 45 4f 4a 53  JSON_PROPS GEOJS
1b780 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
1b790 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
1b7a0 53 4f 4e 5f 4e 41 4d 45 20 47 45 4f 4a 53 4f 4e  SON_NAME GEOJSON
1b7b0 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 73 72 69  _COLON short_sri
1b7c0 64 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  d GEOJSON_CLOSE_
1b7d0 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 43 4c  BRACE GEOJSON_CL
1b7e0 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 20  OSE_BRACE */.   
1b7f0 20 20 20 63 61 73 65 20 32 37 3a 20 2f 2a 20 6c     case 27: /* l
1b800 6f 6e 67 5f 63 72 73 20 3a 3a 3d 20 47 45 4f 4a  ong_crs ::= GEOJ
1b810 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
1b820 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
1b830 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
1b840 4e 5f 4e 41 4d 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_NAME GEOJSON_C
1b850 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 50 52 4f  OMMA GEOJSON_PRO
1b860 50 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PS GEOJSON_COLON
1b870 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
1b880 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 4e 41 4d 45  ACE GEOJSON_NAME
1b890 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c   GEOJSON_COLON l
1b8a0 6f 6e 67 5f 73 72 69 64 20 47 45 4f 4a 53 4f 4e  ong_srid GEOJSON
1b8b0 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 47 45 4f  _CLOSE_BRACE GEO
1b8c0 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
1b8d0 20 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28 79   */ yytestcase(y
1b8e0 79 72 75 6c 65 6e 6f 3d 3d 32 37 29 3b 0a 7b 20  yruleno==27);.{ 
1b8f0 79 79 6d 73 70 5b 2d 31 32 5d 2e 6d 69 6e 6f 72  yymsp[-12].minor
1b900 2e 79 79 30 20 3d 20 79 79 6d 73 70 5b 2d 32 5d  .yy0 = yymsp[-2]
1b910 2e 6d 69 6e 6f 72 2e 79 79 30 3b 20 7d 0a 20 20  .minor.yy0; }.  
1b920 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20        break;.   
1b930 20 20 20 63 61 73 65 20 32 38 3a 20 2f 2a 20 70     case 28: /* p
1b940 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 20 3a 3a 3d  oint_coordxy ::=
1b950 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
1b960 41 43 4b 45 54 20 63 6f 6f 72 64 20 47 45 4f 4a  ACKET coord GEOJ
1b970 53 4f 4e 5f 43 4f 4d 4d 41 20 63 6f 6f 72 64 20  SON_COMMA coord 
1b980 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
1b990 41 43 4b 45 54 20 2a 2f 0a 7b 20 79 79 6d 73 70  ACKET */.{ yymsp
1b9a0 5b 2d 34 5d 2e 6d 69 6e 6f 72 2e 79 79 30 20 3d  [-4].minor.yy0 =
1b9b0 20 28 76 6f 69 64 20 2a 29 20 67 65 6f 4a 53 4f   (void *) geoJSO
1b9c0 4e 5f 70 6f 69 6e 74 5f 78 79 28 20 70 5f 64 61  N_point_xy( p_da
1b9d0 74 61 2c 20 28 64 6f 75 62 6c 65 20 2a 29 79 79  ta, (double *)yy
1b9e0 6d 73 70 5b 2d 33 5d 2e 6d 69 6e 6f 72 2e 79 79  msp[-3].minor.yy
1b9f0 30 2c 20 28 64 6f 75 62 6c 65 20 2a 29 79 79 6d  0, (double *)yym
1ba00 73 70 5b 2d 31 5d 2e 6d 69 6e 6f 72 2e 79 79 30  sp[-1].minor.yy0
1ba10 29 3b 20 7d 0a 20 20 20 20 20 20 20 20 62 72 65  ); }.        bre
1ba20 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 32  ak;.      case 2
1ba30 39 3a 20 2f 2a 20 70 6f 69 6e 74 5f 63 6f 6f 72  9: /* point_coor
1ba40 64 78 79 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  dxyz ::= GEOJSON
1ba50 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 63 6f  _OPEN_BRACKET co
1ba60 6f 72 64 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  ord GEOJSON_COMM
1ba70 41 20 63 6f 6f 72 64 20 47 45 4f 4a 53 4f 4e 5f  A coord GEOJSON_
1ba80 43 4f 4d 4d 41 20 63 6f 6f 72 64 20 47 45 4f 4a  COMMA coord GEOJ
1ba90 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45  SON_CLOSE_BRACKE
1baa0 54 20 2a 2f 0a 7b 20 79 79 6d 73 70 5b 2d 36 5d  T */.{ yymsp[-6]
1bab0 2e 6d 69 6e 6f 72 2e 79 79 30 20 3d 20 28 76 6f  .minor.yy0 = (vo
1bac0 69 64 20 2a 29 20 67 65 6f 4a 53 4f 4e 5f 70 6f  id *) geoJSON_po
1bad0 69 6e 74 5f 78 79 7a 28 20 70 5f 64 61 74 61 2c  int_xyz( p_data,
1bae0 20 28 64 6f 75 62 6c 65 20 2a 29 79 79 6d 73 70   (double *)yymsp
1baf0 5b 2d 35 5d 2e 6d 69 6e 6f 72 2e 79 79 30 2c 20  [-5].minor.yy0, 
1bb00 28 64 6f 75 62 6c 65 20 2a 29 79 79 6d 73 70 5b  (double *)yymsp[
1bb10 2d 33 5d 2e 6d 69 6e 6f 72 2e 79 79 30 2c 20 28  -3].minor.yy0, (
1bb20 64 6f 75 62 6c 65 20 2a 29 79 79 6d 73 70 5b 2d  double *)yymsp[-
1bb30 31 5d 2e 6d 69 6e 6f 72 2e 79 79 30 29 3b 20 7d  1].minor.yy0); }
1bb40 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a  .        break;.
1bb50 20 20 20 20 20 20 63 61 73 65 20 33 30 3a 20 2f        case 30: /
1bb60 2a 20 63 6f 6f 72 64 20 3a 3a 3d 20 47 45 4f 4a  * coord ::= GEOJ
1bb70 53 4f 4e 5f 4e 55 4d 20 2a 2f 0a 20 20 20 20 20  SON_NUM */.     
1bb80 20 63 61 73 65 20 33 31 3a 20 2f 2a 20 73 68 6f   case 31: /* sho
1bb90 72 74 5f 73 72 69 64 20 3a 3a 3d 20 47 45 4f 4a  rt_srid ::= GEOJ
1bba0 53 4f 4e 5f 53 48 4f 52 54 5f 53 52 49 44 20 2a  SON_SHORT_SRID *
1bbb0 2f 20 79 79 74 65 73 74 63 61 73 65 28 79 79 72  / yytestcase(yyr
1bbc0 75 6c 65 6e 6f 3d 3d 33 31 29 3b 0a 20 20 20 20  uleno==31);.    
1bbd0 20 20 63 61 73 65 20 33 32 3a 20 2f 2a 20 6c 6f    case 32: /* lo
1bbe0 6e 67 5f 73 72 69 64 20 3a 3a 3d 20 47 45 4f 4a  ng_srid ::= GEOJ
1bbf0 53 4f 4e 5f 4c 4f 4e 47 5f 53 52 49 44 20 2a 2f  SON_LONG_SRID */
1bc00 20 79 79 74 65 73 74 63 61 73 65 28 79 79 72 75   yytestcase(yyru
1bc10 6c 65 6e 6f 3d 3d 33 32 29 3b 0a 7b 20 79 79 6c  leno==32);.{ yyl
1bc20 68 73 6d 69 6e 6f 72 2e 79 79 30 20 3d 20 79 79  hsminor.yy0 = yy
1bc30 6d 73 70 5b 30 5d 2e 6d 69 6e 6f 72 2e 79 79 30  msp[0].minor.yy0
1bc40 3b 20 7d 0a 20 20 79 79 6d 73 70 5b 30 5d 2e 6d  ; }.  yymsp[0].m
1bc50 69 6e 6f 72 2e 79 79 30 20 3d 20 79 79 6c 68 73  inor.yy0 = yylhs
1bc60 6d 69 6e 6f 72 2e 79 79 30 3b 0a 20 20 20 20 20  minor.yy0;.     
1bc70 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20     break;.      
1bc80 63 61 73 65 20 33 33 3a 20 2f 2a 20 65 78 74 72  case 33: /* extr
1bc90 61 5f 70 6f 69 6e 74 73 78 79 20 3a 3a 3d 20 2a  a_pointsxy ::= *
1bca0 2f 0a 20 20 20 20 20 20 63 61 73 65 20 33 35 3a  /.      case 35:
1bcb0 20 2f 2a 20 65 78 74 72 61 5f 70 6f 69 6e 74 73   /* extra_points
1bcc0 78 79 7a 20 3a 3a 3d 20 2a 2f 20 79 79 74 65 73  xyz ::= */ yytes
1bcd0 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d  tcase(yyruleno==
1bce0 33 35 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20  35);.      case 
1bcf0 36 36 3a 20 2f 2a 20 65 78 74 72 61 5f 72 69 6e  66: /* extra_rin
1bd00 67 73 20 3a 3a 3d 20 2a 2f 20 79 79 74 65 73 74  gs ::= */ yytest
1bd10 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 36  case(yyruleno==6
1bd20 36 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20 36  6);.      case 6
1bd30 39 3a 20 2f 2a 20 65 78 74 72 61 5f 72 69 6e 67  9: /* extra_ring
1bd40 73 7a 20 3a 3a 3d 20 2a 2f 20 79 79 74 65 73 74  sz ::= */ yytest
1bd50 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 36  case(yyruleno==6
1bd60 39 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20 39  9);.      case 9
1bd70 38 3a 20 2f 2a 20 6d 75 6c 74 69 6c 69 6e 65 73  8: /* multilines
1bd80 74 72 69 6e 67 5f 74 65 78 74 32 20 3a 3a 3d 20  tring_text2 ::= 
1bd90 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28 79 79  */ yytestcase(yy
1bda0 72 75 6c 65 6e 6f 3d 3d 39 38 29 3b 0a 20 20 20  ruleno==98);.   
1bdb0 20 20 20 63 61 73 65 20 31 30 31 3a 20 2f 2a 20     case 101: /* 
1bdc0 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f  multilinestring_
1bdd0 74 65 78 74 7a 32 20 3a 3a 3d 20 2a 2f 20 79 79  textz2 ::= */ yy
1bde0 74 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e  testcase(yyrulen
1bdf0 6f 3d 3d 31 30 31 29 3b 0a 20 20 20 20 20 20 63  o==101);.      c
1be00 61 73 65 20 31 31 36 3a 20 2f 2a 20 6d 75 6c 74  ase 116: /* mult
1be10 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 32 20 3a  ipolygon_text2 :
1be20 3a 3d 20 2a 2f 20 79 79 74 65 73 74 63 61 73 65  := */ yytestcase
1be30 28 79 79 72 75 6c 65 6e 6f 3d 3d 31 31 36 29 3b  (yyruleno==116);
1be40 0a 20 20 20 20 20 20 63 61 73 65 20 31 31 39 3a  .      case 119:
1be50 20 2f 2a 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e   /* multipolygon
1be60 5f 74 65 78 74 7a 32 20 3a 3a 3d 20 2a 2f 20 79  _textz2 ::= */ y
1be70 79 74 65 73 74 63 61 73 65 28 79 79 72 75 6c 65  ytestcase(yyrule
1be80 6e 6f 3d 3d 31 31 39 29 3b 0a 20 20 20 20 20 20  no==119);.      
1be90 63 61 73 65 20 31 33 36 3a 20 2f 2a 20 67 65 6f  case 136: /* geo
1bea0 63 6f 6c 6c 5f 74 65 78 74 32 20 3a 3a 3d 20 2a  coll_text2 ::= *
1beb0 2f 20 79 79 74 65 73 74 63 61 73 65 28 79 79 72  / yytestcase(yyr
1bec0 75 6c 65 6e 6f 3d 3d 31 33 36 29 3b 0a 20 20 20  uleno==136);.   
1bed0 20 20 20 63 61 73 65 20 31 34 33 3a 20 2f 2a 20     case 143: /* 
1bee0 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 32 20 3a  geocoll_textz2 :
1bef0 3a 3d 20 2a 2f 20 79 79 74 65 73 74 63 61 73 65  := */ yytestcase
1bf00 28 79 79 72 75 6c 65 6e 6f 3d 3d 31 34 33 29 3b  (yyruleno==143);
1bf10 0a 7b 20 79 79 6d 73 70 5b 31 5d 2e 6d 69 6e 6f  .{ yymsp[1].mino
1bf20 72 2e 79 79 30 20 3d 20 4e 55 4c 4c 3b 20 7d 0a  r.yy0 = NULL; }.
1bf30 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20          break;. 
1bf40 20 20 20 20 20 63 61 73 65 20 33 34 3a 20 2f 2a       case 34: /*
1bf50 20 65 78 74 72 61 5f 70 6f 69 6e 74 73 78 79 20   extra_pointsxy 
1bf60 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  ::= GEOJSON_COMM
1bf70 41 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 20  A point_coordxy 
1bf80 65 78 74 72 61 5f 70 6f 69 6e 74 73 78 79 20 2a  extra_pointsxy *
1bf90 2f 0a 20 20 20 20 20 20 63 61 73 65 20 33 36 3a  /.      case 36:
1bfa0 20 2f 2a 20 65 78 74 72 61 5f 70 6f 69 6e 74 73   /* extra_points
1bfb0 78 79 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  xyz ::= GEOJSON_
1bfc0 43 4f 4d 4d 41 20 70 6f 69 6e 74 5f 63 6f 6f 72  COMMA point_coor
1bfd0 64 78 79 7a 20 65 78 74 72 61 5f 70 6f 69 6e 74  dxyz extra_point
1bfe0 73 78 79 7a 20 2a 2f 20 79 79 74 65 73 74 63 61  sxyz */ yytestca
1bff0 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 33 36 29  se(yyruleno==36)
1c000 3b 0a 7b 20 28 28 67 61 69 61 50 6f 69 6e 74 50  ;.{ ((gaiaPointP
1c010 74 72 29 79 79 6d 73 70 5b 2d 31 5d 2e 6d 69 6e  tr)yymsp[-1].min
1c020 6f 72 2e 79 79 30 29 2d 3e 4e 65 78 74 20 3d 20  or.yy0)->Next = 
1c030 28 67 61 69 61 50 6f 69 6e 74 50 74 72 29 79 79  (gaiaPointPtr)yy
1c040 6d 73 70 5b 30 5d 2e 6d 69 6e 6f 72 2e 79 79 30  msp[0].minor.yy0
1c050 3b 20 20 79 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e  ;  yymsp[-2].min
1c060 6f 72 2e 79 79 30 20 3d 20 79 79 6d 73 70 5b 2d  or.yy0 = yymsp[-
1c070 31 5d 2e 6d 69 6e 6f 72 2e 79 79 30 3b 20 7d 0a  1].minor.yy0; }.
1c080 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20          break;. 
1c090 20 20 20 20 20 63 61 73 65 20 33 37 3a 20 2f 2a       case 37: /*
1c0a0 20 6c 69 6e 65 73 74 72 69 6e 67 20 3a 3a 3d 20   linestring ::= 
1c0b0 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
1c0c0 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
1c0d0 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
1c0e0 4f 4a 53 4f 4e 5f 4c 49 4e 45 53 54 52 49 4e 47  OJSON_LINESTRING
1c0f0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
1c100 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45  EOJSON_COORDS GE
1c110 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65  OJSON_COLON line
1c120 73 74 72 69 6e 67 5f 74 65 78 74 20 47 45 4f 4a  string_text GEOJ
1c130 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20  SON_CLOSE_BRACE 
1c140 2a 2f 0a 20 20 20 20 20 20 63 61 73 65 20 34 33  */.      case 43
1c150 3a 20 2f 2a 20 6c 69 6e 65 73 74 72 69 6e 67 7a  : /* linestringz
1c160 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
1c170 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
1c180 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
1c190 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4c 49 4e 45 53  ON GEOJSON_LINES
1c1a0 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f  TRING GEOJSON_CO
1c1b0 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52  MMA GEOJSON_COOR
1c1c0 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  DS GEOJSON_COLON
1c1d0 20 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74   linestring_text
1c1e0 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  z GEOJSON_CLOSE_
1c1f0 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74 63  BRACE */ yytestc
1c200 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 34 33  ase(yyruleno==43
1c210 29 3b 0a 7b 20 79 79 6d 73 70 5b 2d 38 5d 2e 6d  );.{ yymsp[-8].m
1c220 69 6e 6f 72 2e 79 79 30 20 3d 20 67 65 6f 4a 53  inor.yy0 = geoJS
1c230 4f 4e 5f 62 75 69 6c 64 47 65 6f 6d 46 72 6f 6d  ON_buildGeomFrom
1c240 4c 69 6e 65 73 74 72 69 6e 67 28 20 70 5f 64 61  Linestring( p_da
1c250 74 61 2c 20 28 67 61 69 61 4c 69 6e 65 73 74 72  ta, (gaiaLinestr
1c260 69 6e 67 50 74 72 29 79 79 6d 73 70 5b 2d 31 5d  ingPtr)yymsp[-1]
1c270 2e 6d 69 6e 6f 72 2e 79 79 30 29 3b 20 7d 0a 20  .minor.yy0); }. 
1c280 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20         break;.  
1c290 20 20 20 20 63 61 73 65 20 33 38 3a 20 2f 2a 20      case 38: /* 
1c2a0 6c 69 6e 65 73 74 72 69 6e 67 20 3a 3a 3d 20 47  linestring ::= G
1c2b0 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
1c2c0 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47  E GEOJSON_TYPE G
1c2d0 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
1c2e0 4a 53 4f 4e 5f 4c 49 4e 45 53 54 52 49 4e 47 20  JSON_LINESTRING 
1c2f0 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
1c300 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53  OJSON_BBOX GEOJS
1c310 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
1c320 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62  _OPEN_BRACKET bb
1c330 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  ox GEOJSON_CLOSE
1c340 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e  _BRACKET GEOJSON
1c350 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
1c360 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  OORDS GEOJSON_CO
1c370 4c 4f 4e 20 6c 69 6e 65 73 74 72 69 6e 67 5f 74  LON linestring_t
1c380 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  ext GEOJSON_CLOS
1c390 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 20 20 20  E_BRACE */.     
1c3a0 20 63 61 73 65 20 34 34 3a 20 2f 2a 20 6c 69 6e   case 44: /* lin
1c3b0 65 73 74 72 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f  estringz ::= GEO
1c3c0 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
1c3d0 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
1c3e0 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
1c3f0 4f 4e 5f 4c 49 4e 45 53 54 52 49 4e 47 20 47 45  ON_LINESTRING GE
1c400 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
1c410 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e  SON_BBOX GEOJSON
1c420 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f  _COLON GEOJSON_O
1c430 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78  PEN_BRACKET bbox
1c440 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
1c450 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43  RACKET GEOJSON_C
1c460 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
1c470 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
1c480 4e 20 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78  N linestring_tex
1c490 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  tz GEOJSON_CLOSE
1c4a0 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74  _BRACE */ yytest
1c4b0 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 34  case(yyruleno==4
1c4c0 34 29 3b 0a 7b 20 79 79 6d 73 70 5b 2d 31 34 5d  4);.{ yymsp[-14]
1c4d0 2e 6d 69 6e 6f 72 2e 79 79 30 20 3d 20 67 65 6f  .minor.yy0 = geo
1c4e0 4a 53 4f 4e 5f 62 75 69 6c 64 47 65 6f 6d 46 72  JSON_buildGeomFr
1c4f0 6f 6d 4c 69 6e 65 73 74 72 69 6e 67 28 20 70 5f  omLinestring( p_
1c500 64 61 74 61 2c 20 28 67 61 69 61 4c 69 6e 65 73  data, (gaiaLines
1c510 74 72 69 6e 67 50 74 72 29 79 79 6d 73 70 5b 2d  tringPtr)yymsp[-
1c520 31 5d 2e 6d 69 6e 6f 72 2e 79 79 30 29 3b 20 7d  1].minor.yy0); }
1c530 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a  .        break;.
1c540 20 20 20 20 20 20 63 61 73 65 20 33 39 3a 20 2f        case 39: /
1c550 2a 20 6c 69 6e 65 73 74 72 69 6e 67 20 3a 3a 3d  * linestring ::=
1c560 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
1c570 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
1c580 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
1c590 45 4f 4a 53 4f 4e 5f 4c 49 4e 45 53 54 52 49 4e  EOJSON_LINESTRIN
1c5a0 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  G GEOJSON_COMMA 
1c5b0 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a  GEOJSON_CRS GEOJ
1c5c0 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f  SON_COLON short_
1c5d0 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  crs GEOJSON_COMM
1c5e0 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
1c5f0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c   GEOJSON_COLON l
1c600 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 20 47  inestring_text G
1c610 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
1c620 43 45 20 2a 2f 0a 20 20 20 20 20 20 63 61 73 65  CE */.      case
1c630 20 34 30 3a 20 2f 2a 20 6c 69 6e 65 73 74 72 69   40: /* linestri
1c640 6e 67 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  ng ::= GEOJSON_O
1c650 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  PEN_BRACE GEOJSO
1c660 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_TYPE GEOJSON_C
1c670 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4c 49 4e  OLON GEOJSON_LIN
1c680 45 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f  ESTRING GEOJSON_
1c690 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52  COMMA GEOJSON_CR
1c6a0 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
1c6b0 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e  long_crs GEOJSON
1c6c0 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
1c6d0 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  OORDS GEOJSON_CO
1c6e0 4c 4f 4e 20 6c 69 6e 65 73 74 72 69 6e 67 5f 74  LON linestring_t
1c6f0 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  ext GEOJSON_CLOS
1c700 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73  E_BRACE */ yytes
1c710 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d  tcase(yyruleno==
1c720 34 30 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20  40);.      case 
1c730 34 35 3a 20 2f 2a 20 6c 69 6e 65 73 74 72 69 6e  45: /* linestrin
1c740 67 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  gz ::= GEOJSON_O
1c750 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  PEN_BRACE GEOJSO
1c760 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_TYPE GEOJSON_C
1c770 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4c 49 4e  OLON GEOJSON_LIN
1c780 45 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f  ESTRING GEOJSON_
1c790 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52  COMMA GEOJSON_CR
1c7a0 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
1c7b0 73 68 6f 72 74 5f 63 72 73 20 47 45 4f 4a 53 4f  short_crs GEOJSO
1c7c0 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
1c7d0 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43  COORDS GEOJSON_C
1c7e0 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72 69 6e 67 5f  OLON linestring_
1c7f0 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c  textz GEOJSON_CL
1c800 4f 53 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74  OSE_BRACE */ yyt
1c810 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f  estcase(yyruleno
1c820 3d 3d 34 35 29 3b 0a 20 20 20 20 20 20 63 61 73  ==45);.      cas
1c830 65 20 34 36 3a 20 2f 2a 20 6c 69 6e 65 73 74 72  e 46: /* linestr
1c840 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  ingz ::= GEOJSON
1c850 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
1c860 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
1c870 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4c  _COLON GEOJSON_L
1c880 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f  INESTRING GEOJSO
1c890 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
1c8a0 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  CRS GEOJSON_COLO
1c8b0 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53  N long_crs GEOJS
1c8c0 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
1c8d0 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f  _COORDS GEOJSON_
1c8e0 43 4f 4c 4f 4e 20 6c 69 6e 65 73 74 72 69 6e 67  COLON linestring
1c8f0 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43  _textz GEOJSON_C
1c900 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 20 79 79  LOSE_BRACE */ yy
1c910 74 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e  testcase(yyrulen
1c920 6f 3d 3d 34 36 29 3b 0a 7b 20 79 79 6d 73 70 5b  o==46);.{ yymsp[
1c930 2d 31 32 5d 2e 6d 69 6e 6f 72 2e 79 79 30 20 3d  -12].minor.yy0 =
1c940 20 67 65 6f 4a 53 4f 4e 5f 62 75 69 6c 64 47 65   geoJSON_buildGe
1c950 6f 6d 46 72 6f 6d 4c 69 6e 65 73 74 72 69 6e 67  omFromLinestring
1c960 53 72 69 64 28 20 70 5f 64 61 74 61 2c 20 28 67  Srid( p_data, (g
1c970 61 69 61 4c 69 6e 65 73 74 72 69 6e 67 50 74 72  aiaLinestringPtr
1c980 29 79 79 6d 73 70 5b 2d 31 5d 2e 6d 69 6e 6f 72  )yymsp[-1].minor
1c990 2e 79 79 30 2c 20 28 69 6e 74 20 2a 29 79 79 6d  .yy0, (int *)yym
1c9a0 73 70 5b 2d 35 5d 2e 6d 69 6e 6f 72 2e 79 79 30  sp[-5].minor.yy0
1c9b0 29 3b 20 7d 0a 20 20 20 20 20 20 20 20 62 72 65  ); }.        bre
1c9c0 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 34  ak;.      case 4
1c9d0 31 3a 20 2f 2a 20 6c 69 6e 65 73 74 72 69 6e 67  1: /* linestring
1c9e0 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
1c9f0 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
1ca00 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
1ca10 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4c 49 4e 45 53  ON GEOJSON_LINES
1ca20 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f  TRING GEOJSON_CO
1ca30 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20  MMA GEOJSON_CRS 
1ca40 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68  GEOJSON_COLON sh
1ca50 6f 72 74 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f  ort_crs GEOJSON_
1ca60 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42  COMMA GEOJSON_BB
1ca70 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  OX GEOJSON_COLON
1ca80 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
1ca90 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a 53  ACKET bbox GEOJS
1caa0 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54  ON_CLOSE_BRACKET
1cab0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
1cac0 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45  EOJSON_COORDS GE
1cad0 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65  OJSON_COLON line
1cae0 73 74 72 69 6e 67 5f 74 65 78 74 20 47 45 4f 4a  string_text GEOJ
1caf0 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20  SON_CLOSE_BRACE 
1cb00 2a 2f 0a 20 20 20 20 20 20 63 61 73 65 20 34 32  */.      case 42
1cb10 3a 20 2f 2a 20 6c 69 6e 65 73 74 72 69 6e 67 20  : /* linestring 
1cb20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
1cb30 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54  _BRACE GEOJSON_T
1cb40 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  YPE GEOJSON_COLO
1cb50 4e 20 47 45 4f 4a 53 4f 4e 5f 4c 49 4e 45 53 54  N GEOJSON_LINEST
1cb60 52 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  RING GEOJSON_COM
1cb70 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47  MA GEOJSON_CRS G
1cb80 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e  EOJSON_COLON lon
1cb90 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f  g_crs GEOJSON_CO
1cba0 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58  MMA GEOJSON_BBOX
1cbb0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
1cbc0 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
1cbd0 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e  KET bbox GEOJSON
1cbe0 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47  _CLOSE_BRACKET G
1cbf0 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
1cc00 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a  JSON_COORDS GEOJ
1cc10 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65 73 74  SON_COLON linest
1cc20 72 69 6e 67 5f 74 65 78 74 20 47 45 4f 4a 53 4f  ring_text GEOJSO
1cc30 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
1cc40 20 79 79 74 65 73 74 63 61 73 65 28 79 79 72 75   yytestcase(yyru
1cc50 6c 65 6e 6f 3d 3d 34 32 29 3b 0a 20 20 20 20 20  leno==42);.     
1cc60 20 63 61 73 65 20 34 37 3a 20 2f 2a 20 6c 69 6e   case 47: /* lin
1cc70 65 73 74 72 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f  estringz ::= GEO
1cc80 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
1cc90 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
1cca0 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
1ccb0 4f 4e 5f 4c 49 4e 45 53 54 52 49 4e 47 20 47 45  ON_LINESTRING GE
1ccc0 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
1ccd0 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f  SON_CRS GEOJSON_
1cce0 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20  COLON short_crs 
1ccf0 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
1cd00 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53  OJSON_BBOX GEOJS
1cd10 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
1cd20 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62  _OPEN_BRACKET bb
1cd30 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  ox GEOJSON_CLOSE
1cd40 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e  _BRACKET GEOJSON
1cd50 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
1cd60 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  OORDS GEOJSON_CO
1cd70 4c 4f 4e 20 6c 69 6e 65 73 74 72 69 6e 67 5f 74  LON linestring_t
1cd80 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  extz GEOJSON_CLO
1cd90 53 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65  SE_BRACE */ yyte
1cda0 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d  stcase(yyruleno=
1cdb0 3d 34 37 29 3b 0a 20 20 20 20 20 20 63 61 73 65  =47);.      case
1cdc0 20 34 38 3a 20 2f 2a 20 6c 69 6e 65 73 74 72 69   48: /* linestri
1cdd0 6e 67 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  ngz ::= GEOJSON_
1cde0 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
1cdf0 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
1ce00 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4c 49  COLON GEOJSON_LI
1ce10 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e  NESTRING GEOJSON
1ce20 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
1ce30 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  RS GEOJSON_COLON
1ce40 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f   long_crs GEOJSO
1ce50 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
1ce60 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  BBOX GEOJSON_COL
1ce70 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  ON GEOJSON_OPEN_
1ce80 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f  BRACKET bbox GEO
1ce90 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b  JSON_CLOSE_BRACK
1cea0 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  ET GEOJSON_COMMA
1ceb0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20   GEOJSON_COORDS 
1cec0 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69  GEOJSON_COLON li
1ced0 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a 20 47  nestring_textz G
1cee0 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
1cef0 43 45 20 2a 2f 20 79 79 74 65 73 74 63 61 73 65  CE */ yytestcase
1cf00 28 79 79 72 75 6c 65 6e 6f 3d 3d 34 38 29 3b 0a  (yyruleno==48);.
1cf10 7b 20 79 79 6d 73 70 5b 2d 31 38 5d 2e 6d 69 6e  { yymsp[-18].min
1cf20 6f 72 2e 79 79 30 20 3d 20 67 65 6f 4a 53 4f 4e  or.yy0 = geoJSON
1cf30 5f 62 75 69 6c 64 47 65 6f 6d 46 72 6f 6d 4c 69  _buildGeomFromLi
1cf40 6e 65 73 74 72 69 6e 67 53 72 69 64 28 20 70 5f  nestringSrid( p_
1cf50 64 61 74 61 2c 20 28 67 61 69 61 4c 69 6e 65 73  data, (gaiaLines
1cf60 74 72 69 6e 67 50 74 72 29 79 79 6d 73 70 5b 2d  tringPtr)yymsp[-
1cf70 31 5d 2e 6d 69 6e 6f 72 2e 79 79 30 2c 20 28 69  1].minor.yy0, (i
1cf80 6e 74 20 2a 29 79 79 6d 73 70 5b 2d 31 31 5d 2e  nt *)yymsp[-11].
1cf90 6d 69 6e 6f 72 2e 79 79 30 29 3b 20 7d 0a 20 20  minor.yy0); }.  
1cfa0 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20        break;.   
1cfb0 20 20 20 63 61 73 65 20 34 39 3a 20 2f 2a 20 6c     case 49: /* l
1cfc0 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 20 3a  inestring_text :
1cfd0 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
1cfe0 42 52 41 43 4b 45 54 20 70 6f 69 6e 74 5f 63 6f  BRACKET point_co
1cff0 6f 72 64 78 79 20 47 45 4f 4a 53 4f 4e 5f 43 4f  ordxy GEOJSON_CO
1d000 4d 4d 41 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78  MMA point_coordx
1d010 79 20 65 78 74 72 61 5f 70 6f 69 6e 74 73 78 79  y extra_pointsxy
1d020 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
1d030 52 41 43 4b 45 54 20 2a 2f 0a 7b 20 0a 09 20 20  RACKET */.{ ..  
1d040 20 28 28 67 61 69 61 50 6f 69 6e 74 50 74 72 29   ((gaiaPointPtr)
1d050 79 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e 6f 72 2e  yymsp[-2].minor.
1d060 79 79 30 29 2d 3e 4e 65 78 74 20 3d 20 28 67 61  yy0)->Next = (ga
1d070 69 61 50 6f 69 6e 74 50 74 72 29 79 79 6d 73 70  iaPointPtr)yymsp
1d080 5b 2d 31 5d 2e 6d 69 6e 6f 72 2e 79 79 30 3b 20  [-1].minor.yy0; 
1d090 0a 09 20 20 20 28 28 67 61 69 61 50 6f 69 6e 74  ..   ((gaiaPoint
1d0a0 50 74 72 29 79 79 6d 73 70 5b 2d 34 5d 2e 6d 69  Ptr)yymsp[-4].mi
1d0b0 6e 6f 72 2e 79 79 30 29 2d 3e 4e 65 78 74 20 3d  nor.yy0)->Next =
1d0c0 20 28 67 61 69 61 50 6f 69 6e 74 50 74 72 29 79   (gaiaPointPtr)y
1d0d0 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e 6f 72 2e 79  ymsp[-2].minor.y
1d0e0 79 30 3b 0a 09 20 20 20 79 79 6d 73 70 5b 2d 35  y0;..   yymsp[-5
1d0f0 5d 2e 6d 69 6e 6f 72 2e 79 79 30 20 3d 20 28 76  ].minor.yy0 = (v
1d100 6f 69 64 20 2a 29 20 67 65 6f 4a 53 4f 4e 5f 6c  oid *) geoJSON_l
1d110 69 6e 65 73 74 72 69 6e 67 5f 78 79 28 20 70 5f  inestring_xy( p_
1d120 64 61 74 61 2c 20 28 67 61 69 61 50 6f 69 6e 74  data, (gaiaPoint
1d130 50 74 72 29 79 79 6d 73 70 5b 2d 34 5d 2e 6d 69  Ptr)yymsp[-4].mi
1d140 6e 6f 72 2e 79 79 30 29 3b 0a 09 7d 0a 20 20 20  nor.yy0);..}.   
1d150 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20       break;.    
1d160 20 20 63 61 73 65 20 35 30 3a 20 2f 2a 20 6c 69    case 50: /* li
1d170 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a 20 3a  nestring_textz :
1d180 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
1d190 42 52 41 43 4b 45 54 20 70 6f 69 6e 74 5f 63 6f  BRACKET point_co
1d1a0 6f 72 64 78 79 7a 20 47 45 4f 4a 53 4f 4e 5f 43  ordxyz GEOJSON_C
1d1b0 4f 4d 4d 41 20 70 6f 69 6e 74 5f 63 6f 6f 72 64  OMMA point_coord
1d1c0 78 79 7a 20 65 78 74 72 61 5f 70 6f 69 6e 74 73  xyz extra_points
1d1d0 78 79 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  xyz GEOJSON_CLOS
1d1e0 45 5f 42 52 41 43 4b 45 54 20 2a 2f 0a 7b 20 0a  E_BRACKET */.{ .
1d1f0 09 20 20 20 28 28 67 61 69 61 50 6f 69 6e 74 50  .   ((gaiaPointP
1d200 74 72 29 79 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e  tr)yymsp[-2].min
1d210 6f 72 2e 79 79 30 29 2d 3e 4e 65 78 74 20 3d 20  or.yy0)->Next = 
1d220 28 67 61 69 61 50 6f 69 6e 74 50 74 72 29 79 79  (gaiaPointPtr)yy
1d230 6d 73 70 5b 2d 31 5d 2e 6d 69 6e 6f 72 2e 79 79  msp[-1].minor.yy
1d240 30 3b 20 0a 09 20 20 20 28 28 67 61 69 61 50 6f  0; ..   ((gaiaPo
1d250 69 6e 74 50 74 72 29 79 79 6d 73 70 5b 2d 34 5d  intPtr)yymsp[-4]
1d260 2e 6d 69 6e 6f 72 2e 79 79 30 29 2d 3e 4e 65 78  .minor.yy0)->Nex
1d270 74 20 3d 20 28 67 61 69 61 50 6f 69 6e 74 50 74  t = (gaiaPointPt
1d280 72 29 79 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e 6f  r)yymsp[-2].mino
1d290 72 2e 79 79 30 3b 0a 09 20 20 20 79 79 6d 73 70  r.yy0;..   yymsp
1d2a0 5b 2d 35 5d 2e 6d 69 6e 6f 72 2e 79 79 30 20 3d  [-5].minor.yy0 =
1d2b0 20 28 76 6f 69 64 20 2a 29 20 67 65 6f 4a 53 4f   (void *) geoJSO
1d2c0 4e 5f 6c 69 6e 65 73 74 72 69 6e 67 5f 78 79 7a  N_linestring_xyz
1d2d0 28 20 70 5f 64 61 74 61 2c 20 28 67 61 69 61 50  ( p_data, (gaiaP
1d2e0 6f 69 6e 74 50 74 72 29 79 79 6d 73 70 5b 2d 34  ointPtr)yymsp[-4
1d2f0 5d 2e 6d 69 6e 6f 72 2e 79 79 30 29 3b 0a 09 7d  ].minor.yy0);..}
1d300 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a  .        break;.
1d310 20 20 20 20 20 20 63 61 73 65 20 35 31 3a 20 2f        case 51: /
1d320 2a 20 70 6f 6c 79 67 6f 6e 20 3a 3a 3d 20 47 45  * polygon ::= GE
1d330 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45  OJSON_OPEN_BRACE
1d340 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45   GEOJSON_TYPE GE
1d350 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
1d360 53 4f 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a  SON_POLYGON GEOJ
1d370 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
1d380 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e  N_COORDS GEOJSON
1d390 5f 43 4f 4c 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74  _COLON polygon_t
1d3a0 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  ext GEOJSON_CLOS
1d3b0 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 20 20 20  E_BRACE */.     
1d3c0 20 63 61 73 65 20 35 37 3a 20 2f 2a 20 70 6f 6c   case 57: /* pol
1d3d0 79 67 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f  ygonz ::= GEOJSO
1d3e0 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
1d3f0 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f  JSON_TYPE GEOJSO
1d400 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
1d410 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  POLYGON GEOJSON_
1d420 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
1d430 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
1d440 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a  ON polygon_textz
1d450 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
1d460 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74 63 61  RACE */ yytestca
1d470 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 35 37 29  se(yyruleno==57)
1d480 3b 0a 7b 20 79 79 6d 73 70 5b 2d 38 5d 2e 6d 69  ;.{ yymsp[-8].mi
1d490 6e 6f 72 2e 79 79 30 20 3d 20 67 65 6f 4a 53 4f  nor.yy0 = geoJSO
1d4a0 4e 5f 62 75 69 6c 64 47 65 6f 6d 46 72 6f 6d 50  N_buildGeomFromP
1d4b0 6f 6c 79 67 6f 6e 28 20 70 5f 64 61 74 61 2c 20  olygon( p_data, 
1d4c0 28 67 61 69 61 50 6f 6c 79 67 6f 6e 50 74 72 29  (gaiaPolygonPtr)
1d4d0 79 79 6d 73 70 5b 2d 31 5d 2e 6d 69 6e 6f 72 2e  yymsp[-1].minor.
1d4e0 79 79 30 29 3b 20 7d 0a 20 20 20 20 20 20 20 20  yy0); }.        
1d4f0 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73  break;.      cas
1d500 65 20 35 32 3a 20 2f 2a 20 70 6f 6c 79 67 6f 6e  e 52: /* polygon
1d510 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
1d520 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
1d530 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
1d540 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 4c 59 47  ON GEOJSON_POLYG
1d550 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  ON GEOJSON_COMMA
1d560 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45   GEOJSON_BBOX GE
1d570 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
1d580 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54  SON_OPEN_BRACKET
1d590 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c   bbox GEOJSON_CL
1d5a0 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a  OSE_BRACKET GEOJ
1d5b0 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
1d5c0 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e  N_COORDS GEOJSON
1d5d0 5f 43 4f 4c 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74  _COLON polygon_t
1d5e0 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  ext GEOJSON_CLOS
1d5f0 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20 20 20 20  E_BRACE */.     
1d600 20 63 61 73 65 20 35 38 3a 20 2f 2a 20 70 6f 6c   case 58: /* pol
1d610 79 67 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f  ygonz ::= GEOJSO
1d620 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
1d630 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f  JSON_TYPE GEOJSO
1d640 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
1d650 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  POLYGON GEOJSON_
1d660 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42  COMMA GEOJSON_BB
1d670 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  OX GEOJSON_COLON
1d680 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
1d690 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a 53  ACKET bbox GEOJS
1d6a0 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54  ON_CLOSE_BRACKET
1d6b0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
1d6c0 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45  EOJSON_COORDS GE
1d6d0 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 6c 79  OJSON_COLON poly
1d6e0 67 6f 6e 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f  gon_textz GEOJSO
1d6f0 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
1d700 20 79 79 74 65 73 74 63 61 73 65 28 79 79 72 75   yytestcase(yyru
1d710 6c 65 6e 6f 3d 3d 35 38 29 3b 0a 7b 20 79 79 6d  leno==58);.{ yym
1d720 73 70 5b 2d 31 34 5d 2e 6d 69 6e 6f 72 2e 79 79  sp[-14].minor.yy
1d730 30 20 3d 20 67 65 6f 4a 53 4f 4e 5f 62 75 69 6c  0 = geoJSON_buil
1d740 64 47 65 6f 6d 46 72 6f 6d 50 6f 6c 79 67 6f 6e  dGeomFromPolygon
1d750 28 20 70 5f 64 61 74 61 2c 20 28 67 61 69 61 50  ( p_data, (gaiaP
1d760 6f 6c 79 67 6f 6e 50 74 72 29 79 79 6d 73 70 5b  olygonPtr)yymsp[
1d770 2d 31 5d 2e 6d 69 6e 6f 72 2e 79 79 30 29 3b 20  -1].minor.yy0); 
1d780 7d 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b  }.        break;
1d790 0a 20 20 20 20 20 20 63 61 73 65 20 35 33 3a 20  .      case 53: 
1d7a0 2f 2a 20 70 6f 6c 79 67 6f 6e 20 3a 3a 3d 20 47  /* polygon ::= G
1d7b0 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
1d7c0 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47  E GEOJSON_TYPE G
1d7d0 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
1d7e0 4a 53 4f 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f  JSON_POLYGON GEO
1d7f0 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
1d800 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43  ON_CRS GEOJSON_C
1d810 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47  OLON short_crs G
1d820 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
1d830 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a  JSON_COORDS GEOJ
1d840 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 6c 79 67 6f  SON_COLON polygo
1d850 6e 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43  n_text GEOJSON_C
1d860 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 0a 20 20  LOSE_BRACE */.  
1d870 20 20 20 20 63 61 73 65 20 35 34 3a 20 2f 2a 20      case 54: /* 
1d880 70 6f 6c 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f 4a  polygon ::= GEOJ
1d890 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
1d8a0 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
1d8b0 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
1d8c0 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f  N_POLYGON GEOJSO
1d8d0 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
1d8e0 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  CRS GEOJSON_COLO
1d8f0 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53  N long_crs GEOJS
1d900 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
1d910 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f  _COORDS GEOJSON_
1d920 43 4f 4c 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65  COLON polygon_te
1d930 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  xt GEOJSON_CLOSE
1d940 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74  _BRACE */ yytest
1d950 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 35  case(yyruleno==5
1d960 34 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20 35  4);.      case 5
1d970 39 3a 20 2f 2a 20 70 6f 6c 79 67 6f 6e 7a 20 3a  9: /* polygonz :
1d980 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
1d990 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
1d9a0 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
1d9b0 20 47 45 4f 4a 53 4f 4e 5f 50 4f 4c 59 47 4f 4e   GEOJSON_POLYGON
1d9c0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
1d9d0 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53  EOJSON_CRS GEOJS
1d9e0 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63  ON_COLON short_c
1d9f0 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  rs GEOJSON_COMMA
1da00 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20   GEOJSON_COORDS 
1da10 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f  GEOJSON_COLON po
1da20 6c 79 67 6f 6e 5f 74 65 78 74 7a 20 47 45 4f 4a  lygon_textz GEOJ
1da30 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20  SON_CLOSE_BRACE 
1da40 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28 79 79  */ yytestcase(yy
1da50 72 75 6c 65 6e 6f 3d 3d 35 39 29 3b 0a 20 20 20  ruleno==59);.   
1da60 20 20 20 63 61 73 65 20 36 30 3a 20 2f 2a 20 70     case 60: /* p
1da70 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a  olygonz ::= GEOJ
1da80 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
1da90 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
1daa0 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
1dab0 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f  N_POLYGON GEOJSO
1dac0 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
1dad0 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  CRS GEOJSON_COLO
1dae0 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53  N long_crs GEOJS
1daf0 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
1db00 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f  _COORDS GEOJSON_
1db10 43 4f 4c 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65  COLON polygon_te
1db20 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  xtz GEOJSON_CLOS
1db30 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73  E_BRACE */ yytes
1db40 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d  tcase(yyruleno==
1db50 36 30 29 3b 0a 7b 20 79 79 6d 73 70 5b 2d 31 32  60);.{ yymsp[-12
1db60 5d 2e 6d 69 6e 6f 72 2e 79 79 30 20 3d 20 67 65  ].minor.yy0 = ge
1db70 6f 4a 53 4f 4e 5f 62 75 69 6c 64 47 65 6f 6d 46  oJSON_buildGeomF
1db80 72 6f 6d 50 6f 6c 79 67 6f 6e 53 72 69 64 28 20  romPolygonSrid( 
1db90 70 5f 64 61 74 61 2c 20 28 67 61 69 61 50 6f 6c  p_data, (gaiaPol
1dba0 79 67 6f 6e 50 74 72 29 79 79 6d 73 70 5b 2d 31  ygonPtr)yymsp[-1
1dbb0 5d 2e 6d 69 6e 6f 72 2e 79 79 30 2c 20 28 69 6e  ].minor.yy0, (in
1dbc0 74 20 2a 29 79 79 6d 73 70 5b 2d 35 5d 2e 6d 69  t *)yymsp[-5].mi
1dbd0 6e 6f 72 2e 79 79 30 29 3b 20 7d 0a 20 20 20 20  nor.yy0); }.    
1dbe0 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20      break;.     
1dbf0 20 63 61 73 65 20 35 35 3a 20 2f 2a 20 70 6f 6c   case 55: /* pol
1dc00 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  ygon ::= GEOJSON
1dc10 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
1dc20 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
1dc30 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50  _COLON GEOJSON_P
1dc40 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43  OLYGON GEOJSON_C
1dc50 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53  OMMA GEOJSON_CRS
1dc60 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73   GEOJSON_COLON s
1dc70 68 6f 72 74 5f 63 72 73 20 47 45 4f 4a 53 4f 4e  hort_crs GEOJSON
1dc80 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42  _COMMA GEOJSON_B
1dc90 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  BOX GEOJSON_COLO
1dca0 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  N GEOJSON_OPEN_B
1dcb0 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a  RACKET bbox GEOJ
1dcc0 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45  SON_CLOSE_BRACKE
1dcd0 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
1dce0 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
1dcf0 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 6c  EOJSON_COLON pol
1dd00 79 67 6f 6e 5f 74 65 78 74 20 47 45 4f 4a 53 4f  ygon_text GEOJSO
1dd10 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
1dd20 0a 20 20 20 20 20 20 63 61 73 65 20 35 36 3a 20  .      case 56: 
1dd30 2f 2a 20 70 6f 6c 79 67 6f 6e 20 3a 3a 3d 20 47  /* polygon ::= G
1dd40 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
1dd50 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47  E GEOJSON_TYPE G
1dd60 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
1dd70 4a 53 4f 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f  JSON_POLYGON GEO
1dd80 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
1dd90 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43  ON_CRS GEOJSON_C
1dda0 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45  OLON long_crs GE
1ddb0 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
1ddc0 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e  SON_BBOX GEOJSON
1ddd0 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f  _COLON GEOJSON_O
1dde0 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78  PEN_BRACKET bbox
1ddf0 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
1de00 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43  RACKET GEOJSON_C
1de10 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
1de20 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
1de30 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 20 47  N polygon_text G
1de40 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
1de50 43 45 20 2a 2f 20 79 79 74 65 73 74 63 61 73 65  CE */ yytestcase
1de60 28 79 79 72 75 6c 65 6e 6f 3d 3d 35 36 29 3b 0a  (yyruleno==56);.
1de70 20 20 20 20 20 20 63 61 73 65 20 36 31 3a 20 2f        case 61: /
1de80 2a 20 70 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d 20 47  * polygonz ::= G
1de90 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
1dea0 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47  E GEOJSON_TYPE G
1deb0 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
1dec0 4a 53 4f 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f  JSON_POLYGON GEO
1ded0 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
1dee0 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43  ON_CRS GEOJSON_C
1def0 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47  OLON short_crs G
1df00 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
1df10 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f  JSON_BBOX GEOJSO
1df20 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
1df30 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f  OPEN_BRACKET bbo
1df40 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  x GEOJSON_CLOSE_
1df50 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f  BRACKET GEOJSON_
1df60 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
1df70 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
1df80 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a  ON polygon_textz
1df90 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
1dfa0 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74 63 61  RACE */ yytestca
1dfb0 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 36 31 29  se(yyruleno==61)
1dfc0 3b 0a 20 20 20 20 20 20 63 61 73 65 20 36 32 3a  ;.      case 62:
1dfd0 20 2f 2a 20 70 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d   /* polygonz ::=
1dfe0 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
1dff0 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
1e000 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
1e010 45 4f 4a 53 4f 4e 5f 50 4f 4c 59 47 4f 4e 20 47  EOJSON_POLYGON G
1e020 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
1e030 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e  JSON_CRS GEOJSON
1e040 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20  _COLON long_crs 
1e050 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
1e060 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53  OJSON_BBOX GEOJS
1e070 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
1e080 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62  _OPEN_BRACKET bb
1e090 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  ox GEOJSON_CLOSE
1e0a0 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e  _BRACKET GEOJSON
1e0b0 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
1e0c0 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  OORDS GEOJSON_CO
1e0d0 4c 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74  LON polygon_text
1e0e0 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  z GEOJSON_CLOSE_
1e0f0 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74 63  BRACE */ yytestc
1e100 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 36 32  ase(yyruleno==62
1e110 29 3b 0a 7b 20 79 79 6d 73 70 5b 2d 31 38 5d 2e  );.{ yymsp[-18].
1e120 6d 69 6e 6f 72 2e 79 79 30 20 3d 20 67 65 6f 4a  minor.yy0 = geoJ
1e130 53 4f 4e 5f 62 75 69 6c 64 47 65 6f 6d 46 72 6f  SON_buildGeomFro
1e140 6d 50 6f 6c 79 67 6f 6e 53 72 69 64 28 20 70 5f  mPolygonSrid( p_
1e150 64 61 74 61 2c 20 28 67 61 69 61 50 6f 6c 79 67  data, (gaiaPolyg
1e160 6f 6e 50 74 72 29 79 79 6d 73 70 5b 2d 31 5d 2e  onPtr)yymsp[-1].
1e170 6d 69 6e 6f 72 2e 79 79 30 2c 20 28 69 6e 74 20  minor.yy0, (int 
1e180 2a 29 79 79 6d 73 70 5b 2d 31 31 5d 2e 6d 69 6e  *)yymsp[-11].min
1e190 6f 72 2e 79 79 30 29 3b 20 7d 0a 20 20 20 20 20  or.yy0); }.     
1e1a0 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20     break;.      
1e1b0 63 61 73 65 20 36 33 3a 20 2f 2a 20 70 6f 6c 79  case 63: /* poly
1e1c0 67 6f 6e 5f 74 65 78 74 20 3a 3a 3d 20 47 45 4f  gon_text ::= GEO
1e1d0 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45  JSON_OPEN_BRACKE
1e1e0 54 20 72 69 6e 67 20 65 78 74 72 61 5f 72 69 6e  T ring extra_rin
1e1f0 67 73 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  gs GEOJSON_CLOSE
1e200 5f 42 52 41 43 4b 45 54 20 2a 2f 0a 7b 20 0a 09  _BRACKET */.{ ..
1e210 09 28 28 67 61 69 61 52 69 6e 67 50 74 72 29 79  .((gaiaRingPtr)y
1e220 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e 6f 72 2e 79  ymsp[-2].minor.y
1e230 79 30 29 2d 3e 4e 65 78 74 20 3d 20 28 67 61 69  y0)->Next = (gai
1e240 61 52 69 6e 67 50 74 72 29 79 79 6d 73 70 5b 2d  aRingPtr)yymsp[-
1e250 31 5d 2e 6d 69 6e 6f 72 2e 79 79 30 3b 0a 09 09  1].minor.yy0;...
1e260 79 79 6d 73 70 5b 2d 33 5d 2e 6d 69 6e 6f 72 2e  yymsp[-3].minor.
1e270 79 79 30 20 3d 20 28 76 6f 69 64 20 2a 29 20 67  yy0 = (void *) g
1e280 65 6f 4a 53 4f 4e 5f 70 6f 6c 79 67 6f 6e 5f 78  eoJSON_polygon_x
1e290 79 28 70 5f 64 61 74 61 2c 20 28 67 61 69 61 52  y(p_data, (gaiaR
1e2a0 69 6e 67 50 74 72 29 79 79 6d 73 70 5b 2d 32 5d  ingPtr)yymsp[-2]
1e2b0 2e 6d 69 6e 6f 72 2e 79 79 30 29 3b 0a 09 7d 0a  .minor.yy0);..}.
1e2c0 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20          break;. 
1e2d0 20 20 20 20 20 63 61 73 65 20 36 34 3a 20 2f 2a       case 64: /*
1e2e0 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a 20 3a   polygon_textz :
1e2f0 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
1e300 42 52 41 43 4b 45 54 20 72 69 6e 67 7a 20 65 78  BRACKET ringz ex
1e310 74 72 61 5f 72 69 6e 67 73 7a 20 47 45 4f 4a 53  tra_ringsz GEOJS
1e320 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54  ON_CLOSE_BRACKET
1e330 20 2a 2f 0a 7b 20 20 0a 09 09 28 28 67 61 69 61   */.{  ...((gaia
1e340 52 69 6e 67 50 74 72 29 79 79 6d 73 70 5b 2d 32  RingPtr)yymsp[-2
1e350 5d 2e 6d 69 6e 6f 72 2e 79 79 30 29 2d 3e 4e 65  ].minor.yy0)->Ne
1e360 78 74 20 3d 20 28 67 61 69 61 52 69 6e 67 50 74  xt = (gaiaRingPt
1e370 72 29 79 79 6d 73 70 5b 2d 31 5d 2e 6d 69 6e 6f  r)yymsp[-1].mino
1e380 72 2e 79 79 30 3b 0a 09 09 79 79 6d 73 70 5b 2d  r.yy0;...yymsp[-
1e390 33 5d 2e 6d 69 6e 6f 72 2e 79 79 30 20 3d 20 28  3].minor.yy0 = (
1e3a0 76 6f 69 64 20 2a 29 20 67 65 6f 4a 53 4f 4e 5f  void *) geoJSON_
1e3b0 70 6f 6c 79 67 6f 6e 5f 78 79 7a 28 70 5f 64 61  polygon_xyz(p_da
1e3c0 74 61 2c 20 28 67 61 69 61 52 69 6e 67 50 74 72  ta, (gaiaRingPtr
1e3d0 29 79 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e 6f 72  )yymsp[-2].minor
1e3e0 2e 79 79 30 29 3b 0a 09 7d 0a 20 20 20 20 20 20  .yy0);..}.      
1e3f0 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63    break;.      c
1e400 61 73 65 20 36 35 3a 20 2f 2a 20 72 69 6e 67 20  ase 65: /* ring 
1e410 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
1e420 5f 42 52 41 43 4b 45 54 20 70 6f 69 6e 74 5f 63  _BRACKET point_c
1e430 6f 6f 72 64 78 79 20 47 45 4f 4a 53 4f 4e 5f 43  oordxy GEOJSON_C
1e440 4f 4d 4d 41 20 70 6f 69 6e 74 5f 63 6f 6f 72 64  OMMA point_coord
1e450 78 79 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  xy GEOJSON_COMMA
1e460 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 20 47   point_coordxy G
1e470 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 70 6f 69  EOJSON_COMMA poi
1e480 6e 74 5f 63 6f 6f 72 64 78 79 20 65 78 74 72 61  nt_coordxy extra
1e490 5f 70 6f 69 6e 74 73 78 79 20 47 45 4f 4a 53 4f  _pointsxy GEOJSO
1e4a0 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20  N_CLOSE_BRACKET 
1e4b0 2a 2f 0a 7b 0a 09 09 28 28 67 61 69 61 50 6f 69  */.{...((gaiaPoi
1e4c0 6e 74 50 74 72 29 79 79 6d 73 70 5b 2d 38 5d 2e  ntPtr)yymsp[-8].
1e4d0 6d 69 6e 6f 72 2e 79 79 30 29 2d 3e 4e 65 78 74  minor.yy0)->Next
1e4e0 20 3d 20 28 67 61 69 61 50 6f 69 6e 74 50 74 72   = (gaiaPointPtr
1e4f0 29 79 79 6d 73 70 5b 2d 36 5d 2e 6d 69 6e 6f 72  )yymsp[-6].minor
1e500 2e 79 79 30 3b 20 0a 09 09 28 28 67 61 69 61 50  .yy0; ...((gaiaP
1e510 6f 69 6e 74 50 74 72 29 79 79 6d 73 70 5b 2d 36  ointPtr)yymsp[-6
1e520 5d 2e 6d 69 6e 6f 72 2e 79 79 30 29 2d 3e 4e 65  ].minor.yy0)->Ne
1e530 78 74 20 3d 20 28 67 61 69 61 50 6f 69 6e 74 50  xt = (gaiaPointP
1e540 74 72 29 79 79 6d 73 70 5b 2d 34 5d 2e 6d 69 6e  tr)yymsp[-4].min
1e550 6f 72 2e 79 79 30 3b 0a 09 09 28 28 67 61 69 61  or.yy0;...((gaia
1e560 50 6f 69 6e 74 50 74 72 29 79 79 6d 73 70 5b 2d  PointPtr)yymsp[-
1e570 34 5d 2e 6d 69 6e 6f 72 2e 79 79 30 29 2d 3e 4e  4].minor.yy0)->N
1e580 65 78 74 20 3d 20 28 67 61 69 61 50 6f 69 6e 74  ext = (gaiaPoint
1e590 50 74 72 29 79 79 6d 73 70 5b 2d 32 5d 2e 6d 69  Ptr)yymsp[-2].mi
1e5a0 6e 6f 72 2e 79 79 30 3b 20 0a 09 09 28 28 67 61  nor.yy0; ...((ga
1e5b0 69 61 50 6f 69 6e 74 50 74 72 29 79 79 6d 73 70  iaPointPtr)yymsp
1e5c0 5b 2d 32 5d 2e 6d 69 6e 6f 72 2e 79 79 30 29 2d  [-2].minor.yy0)-
1e5d0 3e 4e 65 78 74 20 3d 20 28 67 61 69 61 50 6f 69  >Next = (gaiaPoi
1e5e0 6e 74 50 74 72 29 79 79 6d 73 70 5b 2d 31 5d 2e  ntPtr)yymsp[-1].
1e5f0 6d 69 6e 6f 72 2e 79 79 30 3b 0a 09 09 79 79 6d  minor.yy0;...yym
1e600 73 70 5b 2d 39 5d 2e 6d 69 6e 6f 72 2e 79 79 30  sp[-9].minor.yy0
1e610 20 3d 20 28 76 6f 69 64 20 2a 29 20 67 65 6f 4a   = (void *) geoJ
1e620 53 4f 4e 5f 72 69 6e 67 5f 78 79 28 70 5f 64 61  SON_ring_xy(p_da
1e630 74 61 2c 20 28 67 61 69 61 50 6f 69 6e 74 50 74  ta, (gaiaPointPt
1e640 72 29 79 79 6d 73 70 5b 2d 38 5d 2e 6d 69 6e 6f  r)yymsp[-8].mino
1e650 72 2e 79 79 30 29 3b 0a 09 7d 0a 20 20 20 20 20  r.yy0);..}.     
1e660 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20     break;.      
1e670 63 61 73 65 20 36 37 3a 20 2f 2a 20 65 78 74 72  case 67: /* extr
1e680 61 5f 72 69 6e 67 73 20 3a 3a 3d 20 47 45 4f 4a  a_rings ::= GEOJ
1e690 53 4f 4e 5f 43 4f 4d 4d 41 20 72 69 6e 67 20 65  SON_COMMA ring e
1e6a0 78 74 72 61 5f 72 69 6e 67 73 20 2a 2f 0a 20 20  xtra_rings */.  
1e6b0 20 20 20 20 63 61 73 65 20 37 30 3a 20 2f 2a 20      case 70: /* 
1e6c0 65 78 74 72 61 5f 72 69 6e 67 73 7a 20 3a 3a 3d  extra_ringsz ::=
1e6d0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 72   GEOJSON_COMMA r
1e6e0 69 6e 67 7a 20 65 78 74 72 61 5f 72 69 6e 67 73  ingz extra_rings
1e6f0 7a 20 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28  z */ yytestcase(
1e700 79 79 72 75 6c 65 6e 6f 3d 3d 37 30 29 3b 0a 7b  yyruleno==70);.{
1e710 0a 09 09 28 28 67 61 69 61 52 69 6e 67 50 74 72  ...((gaiaRingPtr
1e720 29 79 79 6d 73 70 5b 2d 31 5d 2e 6d 69 6e 6f 72  )yymsp[-1].minor
1e730 2e 79 79 30 29 2d 3e 4e 65 78 74 20 3d 20 28 67  .yy0)->Next = (g
1e740 61 69 61 52 69 6e 67 50 74 72 29 79 79 6d 73 70  aiaRingPtr)yymsp
1e750 5b 30 5d 2e 6d 69 6e 6f 72 2e 79 79 30 3b 0a 09  [0].minor.yy0;..
1e760 09 79 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e 6f 72  .yymsp[-2].minor
1e770 2e 79 79 30 20 3d 20 79 79 6d 73 70 5b 2d 31 5d  .yy0 = yymsp[-1]
1e780 2e 6d 69 6e 6f 72 2e 79 79 30 3b 0a 09 7d 0a 20  .minor.yy0;..}. 
1e790 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20         break;.  
1e7a0 20 20 20 20 63 61 73 65 20 36 38 3a 20 2f 2a 20      case 68: /* 
1e7b0 72 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f  ringz ::= GEOJSO
1e7c0 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 70  N_OPEN_BRACKET p
1e7d0 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 7a 20 47 45  oint_coordxyz GE
1e7e0 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 70 6f 69 6e  OJSON_COMMA poin
1e7f0 74 5f 63 6f 6f 72 64 78 79 7a 20 47 45 4f 4a 53  t_coordxyz GEOJS
1e800 4f 4e 5f 43 4f 4d 4d 41 20 70 6f 69 6e 74 5f 63  ON_COMMA point_c
1e810 6f 6f 72 64 78 79 7a 20 47 45 4f 4a 53 4f 4e 5f  oordxyz GEOJSON_
1e820 43 4f 4d 4d 41 20 70 6f 69 6e 74 5f 63 6f 6f 72  COMMA point_coor
1e830 64 78 79 7a 20 65 78 74 72 61 5f 70 6f 69 6e 74  dxyz extra_point
1e840 73 78 79 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  sxyz GEOJSON_CLO
1e850 53 45 5f 42 52 41 43 4b 45 54 20 2a 2f 0a 7b 0a  SE_BRACKET */.{.
1e860 09 09 28 28 67 61 69 61 50 6f 69 6e 74 50 74 72  ..((gaiaPointPtr
1e870 29 79 79 6d 73 70 5b 2d 38 5d 2e 6d 69 6e 6f 72  )yymsp[-8].minor
1e880 2e 79 79 30 29 2d 3e 4e 65 78 74 20 3d 20 28 67  .yy0)->Next = (g
1e890 61 69 61 50 6f 69 6e 74 50 74 72 29 79 79 6d 73  aiaPointPtr)yyms
1e8a0 70 5b 2d 36 5d 2e 6d 69 6e 6f 72 2e 79 79 30 3b  p[-6].minor.yy0;
1e8b0 20 0a 09 09 28 28 67 61 69 61 50 6f 69 6e 74 50   ...((gaiaPointP
1e8c0 74 72 29 79 79 6d 73 70 5b 2d 36 5d 2e 6d 69 6e  tr)yymsp[-6].min
1e8d0 6f 72 2e 79 79 30 29 2d 3e 4e 65 78 74 20 3d 20  or.yy0)->Next = 
1e8e0 28 67 61 69 61 50 6f 69 6e 74 50 74 72 29 79 79  (gaiaPointPtr)yy
1e8f0 6d 73 70 5b 2d 34 5d 2e 6d 69 6e 6f 72 2e 79 79  msp[-4].minor.yy
1e900 30 3b 0a 09 09 28 28 67 61 69 61 50 6f 69 6e 74  0;...((gaiaPoint
1e910 50 74 72 29 79 79 6d 73 70 5b 2d 34 5d 2e 6d 69  Ptr)yymsp[-4].mi
1e920 6e 6f 72 2e 79 79 30 29 2d 3e 4e 65 78 74 20 3d  nor.yy0)->Next =
1e930 20 28 67 61 69 61 50 6f 69 6e 74 50 74 72 29 79   (gaiaPointPtr)y
1e940 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e 6f 72 2e 79  ymsp[-2].minor.y
1e950 79 30 3b 20 0a 09 09 28 28 67 61 69 61 50 6f 69  y0; ...((gaiaPoi
1e960 6e 74 50 74 72 29 79 79 6d 73 70 5b 2d 32 5d 2e  ntPtr)yymsp[-2].
1e970 6d 69 6e 6f 72 2e 79 79 30 29 2d 3e 4e 65 78 74  minor.yy0)->Next
1e980 20 3d 20 28 67 61 69 61 50 6f 69 6e 74 50 74 72   = (gaiaPointPtr
1e990 29 79 79 6d 73 70 5b 2d 31 5d 2e 6d 69 6e 6f 72  )yymsp[-1].minor
1e9a0 2e 79 79 30 3b 0a 09 09 79 79 6d 73 70 5b 2d 39  .yy0;...yymsp[-9
1e9b0 5d 2e 6d 69 6e 6f 72 2e 79 79 30 20 3d 20 28 76  ].minor.yy0 = (v
1e9c0 6f 69 64 20 2a 29 20 67 65 6f 4a 53 4f 4e 5f 72  oid *) geoJSON_r
1e9d0 69 6e 67 5f 78 79 7a 28 70 5f 64 61 74 61 2c 20  ing_xyz(p_data, 
1e9e0 28 67 61 69 61 50 6f 69 6e 74 50 74 72 29 79 79  (gaiaPointPtr)yy
1e9f0 6d 73 70 5b 2d 38 5d 2e 6d 69 6e 6f 72 2e 79 79  msp[-8].minor.yy
1ea00 30 29 3b 0a 09 7d 0a 20 20 20 20 20 20 20 20 62  0);..}.        b
1ea10 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65  reak;.      case
1ea20 20 37 31 3a 20 2f 2a 20 6d 75 6c 74 69 70 6f 69   71: /* multipoi
1ea30 6e 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  nt ::= GEOJSON_O
1ea40 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  PEN_BRACE GEOJSO
1ea50 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_TYPE GEOJSON_C
1ea60 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c  OLON GEOJSON_MUL
1ea70 54 49 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f  TIPOINT GEOJSON_
1ea80 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
1ea90 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
1eaa0 4f 4e 20 6d 75 6c 74 69 70 6f 69 6e 74 5f 74 65  ON multipoint_te
1eab0 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  xt GEOJSON_CLOSE
1eac0 5f 42 52 41 43 45 20 2a 2f 0a 20 20 20 20 20 20  _BRACE */.      
1ead0 63 61 73 65 20 37 37 3a 20 2f 2a 20 6d 75 6c 74  case 77: /* mult
1eae0 69 70 6f 69 6e 74 7a 20 3a 3a 3d 20 47 45 4f 4a  ipointz ::= GEOJ
1eaf0 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
1eb00 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
1eb10 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
1eb20 4e 5f 4d 55 4c 54 49 50 4f 49 4e 54 20 47 45 4f  N_MULTIPOINT GEO
1eb30 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
1eb40 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
1eb50 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 69  N_COLON multipoi
1eb60 6e 74 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e  nt_textz GEOJSON
1eb70 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 20  _CLOSE_BRACE */ 
1eb80 79 79 74 65 73 74 63 61 73 65 28 79 79 72 75 6c  yytestcase(yyrul
1eb90 65 6e 6f 3d 3d 37 37 29 3b 0a 20 20 20 20 20 20  eno==77);.      
1eba0 63 61 73 65 20 38 35 3a 20 2f 2a 20 6d 75 6c 74  case 85: /* mult
1ebb0 69 6c 69 6e 65 73 74 72 69 6e 67 20 3a 3a 3d 20  ilinestring ::= 
1ebc0 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
1ebd0 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
1ebe0 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
1ebf0 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 4c 49 4e 45 53  OJSON_MULTILINES
1ec00 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f  TRING GEOJSON_CO
1ec10 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52  MMA GEOJSON_COOR
1ec20 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  DS GEOJSON_COLON
1ec30 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67   multilinestring
1ec40 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c  _text GEOJSON_CL
1ec50 4f 53 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74  OSE_BRACE */ yyt
1ec60 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f  estcase(yyruleno
1ec70 3d 3d 38 35 29 3b 0a 20 20 20 20 20 20 63 61 73  ==85);.      cas
1ec80 65 20 39 31 3a 20 2f 2a 20 6d 75 6c 74 69 6c 69  e 91: /* multili
1ec90 6e 65 73 74 72 69 6e 67 7a 20 3a 3a 3d 20 47 45  nestringz ::= GE
1eca0 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45  OJSON_OPEN_BRACE
1ecb0 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45   GEOJSON_TYPE GE
1ecc0 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
1ecd0 53 4f 4e 5f 4d 55 4c 54 49 4c 49 4e 45 53 54 52  SON_MULTILINESTR
1ece0 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  ING GEOJSON_COMM
1ecf0 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
1ed00 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d   GEOJSON_COLON m
1ed10 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74  ultilinestring_t
1ed20 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  extz GEOJSON_CLO
1ed30 53 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65  SE_BRACE */ yyte
1ed40 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d  stcase(yyruleno=
1ed50 3d 39 31 29 3b 0a 20 20 20 20 20 20 63 61 73 65  =91);.      case
1ed60 20 31 30 33 3a 20 2f 2a 20 6d 75 6c 74 69 70 6f   103: /* multipo
1ed70 6c 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f 4a 53 4f  lygon ::= GEOJSO
1ed80 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
1ed90 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f  JSON_TYPE GEOJSO
1eda0 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
1edb0 4d 55 4c 54 49 50 4f 4c 59 47 4f 4e 20 47 45 4f  MULTIPOLYGON GEO
1edc0 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
1edd0 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
1ede0 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 6c  N_COLON multipol
1edf0 79 67 6f 6e 5f 74 65 78 74 20 47 45 4f 4a 53 4f  ygon_text GEOJSO
1ee00 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
1ee10 20 79 79 74 65 73 74 63 61 73 65 28 79 79 72 75   yytestcase(yyru
1ee20 6c 65 6e 6f 3d 3d 31 30 33 29 3b 0a 20 20 20 20  leno==103);.    
1ee30 20 20 63 61 73 65 20 31 30 39 3a 20 2f 2a 20 6d    case 109: /* m
1ee40 75 6c 74 69 70 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d  ultipolygonz ::=
1ee50 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
1ee60 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
1ee70 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
1ee80 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 4c 59  EOJSON_MULTIPOLY
1ee90 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  GON GEOJSON_COMM
1eea0 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
1eeb0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d   GEOJSON_COLON m
1eec0 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74  ultipolygon_text
1eed0 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  z GEOJSON_CLOSE_
1eee0 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74 63  BRACE */ yytestc
1eef0 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 31 30  ase(yyruleno==10
1ef00 39 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20 31  9);.      case 1
1ef10 32 31 3a 20 2f 2a 20 67 65 6f 63 6f 6c 6c 20 3a  21: /* geocoll :
1ef20 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
1ef30 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
1ef40 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
1ef50 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 45 54 52   GEOJSON_GEOMETR
1ef60 59 43 4f 4c 4c 45 43 54 49 4f 4e 20 47 45 4f 4a  YCOLLECTION GEOJ
1ef70 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
1ef80 4e 5f 47 45 4f 4d 53 20 47 45 4f 4a 53 4f 4e 5f  N_GEOMS GEOJSON_
1ef90 43 4f 4c 4f 4e 20 67 65 6f 63 6f 6c 6c 5f 74 65  COLON geocoll_te
1efa0 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  xt GEOJSON_CLOSE
1efb0 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74  _BRACE */ yytest
1efc0 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 31  case(yyruleno==1
1efd0 32 31 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20  21);.      case 
1efe0 31 32 37 3a 20 2f 2a 20 67 65 6f 63 6f 6c 6c 20  127: /* geocoll 
1eff0 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
1f000 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54  _BRACE GEOJSON_T
1f010 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  YPE GEOJSON_COLO
1f020 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 45 54  N GEOJSON_GEOMET
1f030 52 59 43 4f 4c 4c 45 43 54 49 4f 4e 20 47 45 4f  RYCOLLECTION GEO
1f040 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
1f050 4f 4e 5f 47 45 4f 4d 53 20 47 45 4f 4a 53 4f 4e  ON_GEOMS GEOJSON
1f060 5f 43 4f 4c 4f 4e 20 67 65 6f 63 6f 6c 6c 5f 74  _COLON geocoll_t
1f070 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  extz GEOJSON_CLO
1f080 53 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65  SE_BRACE */ yyte
1f090 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d  stcase(yyruleno=
1f0a0 3d 31 32 37 29 3b 0a 7b 20 79 79 6d 73 70 5b 2d  =127);.{ yymsp[-
1f0b0 38 5d 2e 6d 69 6e 6f 72 2e 79 79 30 20 3d 20 79  8].minor.yy0 = y
1f0c0 79 6d 73 70 5b 2d 31 5d 2e 6d 69 6e 6f 72 2e 79  ymsp[-1].minor.y
1f0d0 79 30 3b 20 7d 0a 20 20 20 20 20 20 20 20 62 72  y0; }.        br
1f0e0 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20  eak;.      case 
1f0f0 37 32 3a 20 2f 2a 20 6d 75 6c 74 69 70 6f 69 6e  72: /* multipoin
1f100 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50  t ::= GEOJSON_OP
1f110 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e  EN_BRACE GEOJSON
1f120 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _TYPE GEOJSON_CO
1f130 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54  LON GEOJSON_MULT
1f140 49 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43  IPOINT GEOJSON_C
1f150 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f  OMMA GEOJSON_BBO
1f160 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  X GEOJSON_COLON 
1f170 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
1f180 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f  CKET bbox GEOJSO
1f190 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20  N_CLOSE_BRACKET 
1f1a0 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
1f1b0 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f  OJSON_COORDS GEO
1f1c0 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69  JSON_COLON multi
1f1d0 70 6f 69 6e 74 5f 74 65 78 74 20 47 45 4f 4a 53  point_text GEOJS
1f1e0 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a  ON_CLOSE_BRACE *
1f1f0 2f 0a 20 20 20 20 20 20 63 61 73 65 20 37 38 3a  /.      case 78:
1f200 20 2f 2a 20 6d 75 6c 74 69 70 6f 69 6e 74 7a 20   /* multipointz 
1f210 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
1f220 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54  _BRACE GEOJSON_T
1f230 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  YPE GEOJSON_COLO
1f240 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50  N GEOJSON_MULTIP
1f250 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  OINT GEOJSON_COM
1f260 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20  MA GEOJSON_BBOX 
1f270 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
1f280 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
1f290 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f  ET bbox GEOJSON_
1f2a0 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45  CLOSE_BRACKET GE
1f2b0 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
1f2c0 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
1f2d0 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f  ON_COLON multipo
1f2e0 69 6e 74 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f  int_textz GEOJSO
1f2f0 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
1f300 20 79 79 74 65 73 74 63 61 73 65 28 79 79 72 75   yytestcase(yyru
1f310 6c 65 6e 6f 3d 3d 37 38 29 3b 0a 20 20 20 20 20  leno==78);.     
1f320 20 63 61 73 65 20 38 36 3a 20 2f 2a 20 6d 75 6c   case 86: /* mul
1f330 74 69 6c 69 6e 65 73 74 72 69 6e 67 20 3a 3a 3d  tilinestring ::=
1f340 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
1f350 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
1f360 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
1f370 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 4c 49 4e 45  EOJSON_MULTILINE
1f380 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43  STRING GEOJSON_C
1f390 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f  OMMA GEOJSON_BBO
1f3a0 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  X GEOJSON_COLON 
1f3b0 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
1f3c0 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f  CKET bbox GEOJSO
1f3d0 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20  N_CLOSE_BRACKET 
1f3e0 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
1f3f0 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f  OJSON_COORDS GEO
1f400 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69  JSON_COLON multi
1f410 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 20  linestring_text 
1f420 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
1f430 41 43 45 20 2a 2f 20 79 79 74 65 73 74 63 61 73  ACE */ yytestcas
1f440 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 38 36 29 3b  e(yyruleno==86);
1f450 0a 20 20 20 20 20 20 63 61 73 65 20 39 32 3a 20  .      case 92: 
1f460 2f 2a 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69  /* multilinestri
1f470 6e 67 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  ngz ::= GEOJSON_
1f480 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
1f490 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
1f4a0 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55  COLON GEOJSON_MU
1f4b0 4c 54 49 4c 49 4e 45 53 54 52 49 4e 47 20 47 45  LTILINESTRING GE
1f4c0 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
1f4d0 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e  SON_BBOX GEOJSON
1f4e0 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f  _COLON GEOJSON_O
1f4f0 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78  PEN_BRACKET bbox
1f500 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
1f510 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43  RACKET GEOJSON_C
1f520 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
1f530 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
1f540 4e 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e  N multilinestrin
1f550 67 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f  g_textz GEOJSON_
1f560 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 20 79  CLOSE_BRACE */ y
1f570 79 74 65 73 74 63 61 73 65 28 79 79 72 75 6c 65  ytestcase(yyrule
1f580 6e 6f 3d 3d 39 32 29 3b 0a 20 20 20 20 20 20 63  no==92);.      c
1f590 61 73 65 20 31 30 34 3a 20 2f 2a 20 6d 75 6c 74  ase 104: /* mult
1f5a0 69 70 6f 6c 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f  ipolygon ::= GEO
1f5b0 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
1f5c0 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
1f5d0 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
1f5e0 4f 4e 5f 4d 55 4c 54 49 50 4f 4c 59 47 4f 4e 20  ON_MULTIPOLYGON 
1f5f0 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
1f600 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53  OJSON_BBOX GEOJS
1f610 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
1f620 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62  _OPEN_BRACKET bb
1f630 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  ox GEOJSON_CLOSE
1f640 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e  _BRACKET GEOJSON
1f650 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
1f660 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  OORDS GEOJSON_CO
1f670 4c 4f 4e 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e  LON multipolygon
1f680 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c  _text GEOJSON_CL
1f690 4f 53 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74  OSE_BRACE */ yyt
1f6a0 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f  estcase(yyruleno
1f6b0 3d 3d 31 30 34 29 3b 0a 20 20 20 20 20 20 63 61  ==104);.      ca
1f6c0 73 65 20 31 31 30 3a 20 2f 2a 20 6d 75 6c 74 69  se 110: /* multi
1f6d0 70 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d 20 47 45 4f  polygonz ::= GEO
1f6e0 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
1f6f0 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
1f700 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
1f710 4f 4e 5f 4d 55 4c 54 49 50 4f 4c 59 47 4f 4e 20  ON_MULTIPOLYGON 
1f720 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
1f730 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53  OJSON_BBOX GEOJS
1f740 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
1f750 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62  _OPEN_BRACKET bb
1f760 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  ox GEOJSON_CLOSE
1f770 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e  _BRACKET GEOJSON
1f780 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
1f790 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  OORDS GEOJSON_CO
1f7a0 4c 4f 4e 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e  LON multipolygon
1f7b0 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43  _textz GEOJSON_C
1f7c0 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 20 79 79  LOSE_BRACE */ yy
1f7d0 74 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e  testcase(yyrulen
1f7e0 6f 3d 3d 31 31 30 29 3b 0a 20 20 20 20 20 20 63  o==110);.      c
1f7f0 61 73 65 20 31 32 32 3a 20 2f 2a 20 67 65 6f 63  ase 122: /* geoc
1f800 6f 6c 6c 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  oll ::= GEOJSON_
1f810 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
1f820 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
1f830 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45  COLON GEOJSON_GE
1f840 4f 4d 45 54 52 59 43 4f 4c 4c 45 43 54 49 4f 4e  OMETRYCOLLECTION
1f850 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
1f860 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a  EOJSON_BBOX GEOJ
1f870 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
1f880 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62  N_OPEN_BRACKET b
1f890 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  box GEOJSON_CLOS
1f8a0 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f  E_BRACKET GEOJSO
1f8b0 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
1f8c0 47 45 4f 4d 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  GEOMS GEOJSON_CO
1f8d0 4c 4f 4e 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74  LON geocoll_text
1f8e0 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
1f8f0 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74 63 61  RACE */ yytestca
1f900 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 31 32 32  se(yyruleno==122
1f910 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20 31 32  );.      case 12
1f920 38 3a 20 2f 2a 20 67 65 6f 63 6f 6c 6c 7a 20 3a  8: /* geocollz :
1f930 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
1f940 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
1f950 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
1f960 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 45 54 52   GEOJSON_GEOMETR
1f970 59 43 4f 4c 4c 45 43 54 49 4f 4e 20 47 45 4f 4a  YCOLLECTION GEOJ
1f980 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
1f990 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43  N_BBOX GEOJSON_C
1f9a0 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45  OLON GEOJSON_OPE
1f9b0 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47  N_BRACKET bbox G
1f9c0 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
1f9d0 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  CKET GEOJSON_COM
1f9e0 4d 41 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 53  MA GEOJSON_GEOMS
1f9f0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 67   GEOJSON_COLON g
1fa00 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 20 47 45 4f  eocoll_textz GEO
1fa10 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
1fa20 20 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28 79   */ yytestcase(y
1fa30 79 72 75 6c 65 6e 6f 3d 3d 31 32 38 29 3b 0a 7b  yruleno==128);.{
1fa40 20 79 79 6d 73 70 5b 2d 31 34 5d 2e 6d 69 6e 6f   yymsp[-14].mino
1fa50 72 2e 79 79 30 20 3d 20 79 79 6d 73 70 5b 2d 31  r.yy0 = yymsp[-1
1fa60 5d 2e 6d 69 6e 6f 72 2e 79 79 30 3b 20 7d 0a 20  ].minor.yy0; }. 
1fa70 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20         break;.  
1fa80 20 20 20 20 63 61 73 65 20 37 33 3a 20 2f 2a 20      case 73: /* 
1fa90 6d 75 6c 74 69 70 6f 69 6e 74 20 3a 3a 3d 20 47  multipoint ::= G
1faa0 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
1fab0 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47  E GEOJSON_TYPE G
1fac0 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
1fad0 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 49 4e 54 20  JSON_MULTIPOINT 
1fae0 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
1faf0 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f  OJSON_CRS GEOJSO
1fb00 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72  N_COLON short_cr
1fb10 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  s GEOJSON_COMMA 
1fb20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
1fb30 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c  EOJSON_COLON mul
1fb40 74 69 70 6f 69 6e 74 5f 74 65 78 74 20 47 45 4f  tipoint_text GEO
1fb50 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
1fb60 20 2a 2f 0a 20 20 20 20 20 20 63 61 73 65 20 37   */.      case 7
1fb70 34 3a 20 2f 2a 20 6d 75 6c 74 69 70 6f 69 6e 74  4: /* multipoint
1fb80 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
1fb90 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
1fba0 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
1fbb0 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49  ON GEOJSON_MULTI
1fbc0 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f  POINT GEOJSON_CO
1fbd0 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20  MMA GEOJSON_CRS 
1fbe0 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f  GEOJSON_COLON lo
1fbf0 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43  ng_crs GEOJSON_C
1fc00 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
1fc10 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
1fc20 4e 20 6d 75 6c 74 69 70 6f 69 6e 74 5f 74 65 78  N multipoint_tex
1fc30 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  t GEOJSON_CLOSE_
1fc40 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74 63  BRACE */ yytestc
1fc50 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 37 34  ase(yyruleno==74
1fc60 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20 37 39  );.      case 79
1fc70 3a 20 2f 2a 20 6d 75 6c 74 69 70 6f 69 6e 74 7a  : /* multipointz
1fc80 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
1fc90 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
1fca0 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
1fcb0 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49  ON GEOJSON_MULTI
1fcc0 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f  POINT GEOJSON_CO
1fcd0 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20  MMA GEOJSON_CRS 
1fce0 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68  GEOJSON_COLON sh
1fcf0 6f 72 74 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f  ort_crs GEOJSON_
1fd00 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f  COMMA GEOJSON_CO
1fd10 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  ORDS GEOJSON_COL
1fd20 4f 4e 20 6d 75 6c 74 69 70 6f 69 6e 74 5f 74 65  ON multipoint_te
1fd30 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  xtz GEOJSON_CLOS
1fd40 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73  E_BRACE */ yytes
1fd50 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d  tcase(yyruleno==
1fd60 37 39 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20  79);.      case 
1fd70 38 30 3a 20 2f 2a 20 6d 75 6c 74 69 70 6f 69 6e  80: /* multipoin
1fd80 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  tz ::= GEOJSON_O
1fd90 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  PEN_BRACE GEOJSO
1fda0 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_TYPE GEOJSON_C
1fdb0 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c  OLON GEOJSON_MUL
1fdc0 54 49 50 4f 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f  TIPOINT GEOJSON_
1fdd0 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52  COMMA GEOJSON_CR
1fde0 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
1fdf0 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e  long_crs GEOJSON
1fe00 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
1fe10 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  OORDS GEOJSON_CO
1fe20 4c 4f 4e 20 6d 75 6c 74 69 70 6f 69 6e 74 5f 74  LON multipoint_t
1fe30 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  extz GEOJSON_CLO
1fe40 53 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65  SE_BRACE */ yyte
1fe50 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d  stcase(yyruleno=
1fe60 3d 38 30 29 3b 0a 20 20 20 20 20 20 63 61 73 65  =80);.      case
1fe70 20 38 37 3a 20 2f 2a 20 6d 75 6c 74 69 6c 69 6e   87: /* multilin
1fe80 65 73 74 72 69 6e 67 20 3a 3a 3d 20 47 45 4f 4a  estring ::= GEOJ
1fe90 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
1fea0 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
1feb0 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
1fec0 4e 5f 4d 55 4c 54 49 4c 49 4e 45 53 54 52 49 4e  N_MULTILINESTRIN
1fed0 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  G GEOJSON_COMMA 
1fee0 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a  GEOJSON_CRS GEOJ
1fef0 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f  SON_COLON short_
1ff00 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  crs GEOJSON_COMM
1ff10 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
1ff20 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d   GEOJSON_COLON m
1ff30 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74  ultilinestring_t
1ff40 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  ext GEOJSON_CLOS
1ff50 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73  E_BRACE */ yytes
1ff60 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d  tcase(yyruleno==
1ff70 38 37 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20  87);.      case 
1ff80 38 38 3a 20 2f 2a 20 6d 75 6c 74 69 6c 69 6e 65  88: /* multiline
1ff90 73 74 72 69 6e 67 20 3a 3a 3d 20 47 45 4f 4a 53  string ::= GEOJS
1ffa0 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45  ON_OPEN_BRACE GE
1ffb0 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53  OJSON_TYPE GEOJS
1ffc0 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
1ffd0 5f 4d 55 4c 54 49 4c 49 4e 45 53 54 52 49 4e 47  _MULTILINESTRING
1ffe0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
1fff0 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53  EOJSON_CRS GEOJS
20000 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72  ON_COLON long_cr
20010 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  s GEOJSON_COMMA 
20020 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
20030 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c  EOJSON_COLON mul
20040 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78  tilinestring_tex
20050 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  t GEOJSON_CLOSE_
20060 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74 63  BRACE */ yytestc
20070 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 38 38  ase(yyruleno==88
20080 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20 39 33  );.      case 93
20090 3a 20 2f 2a 20 6d 75 6c 74 69 6c 69 6e 65 73 74  : /* multilinest
200a0 72 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f  ringz ::= GEOJSO
200b0 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
200c0 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f  JSON_TYPE GEOJSO
200d0 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
200e0 4d 55 4c 54 49 4c 49 4e 45 53 54 52 49 4e 47 20  MULTILINESTRING 
200f0 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
20100 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f  OJSON_CRS GEOJSO
20110 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72  N_COLON short_cr
20120 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  s GEOJSON_COMMA 
20130 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
20140 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c  EOJSON_COLON mul
20150 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78  tilinestring_tex
20160 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  tz GEOJSON_CLOSE
20170 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74  _BRACE */ yytest
20180 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 39  case(yyruleno==9
20190 33 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20 39  3);.      case 9
201a0 34 3a 20 2f 2a 20 6d 75 6c 74 69 6c 69 6e 65 73  4: /* multilines
201b0 74 72 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f 4a 53  tringz ::= GEOJS
201c0 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45  ON_OPEN_BRACE GE
201d0 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53  OJSON_TYPE GEOJS
201e0 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
201f0 5f 4d 55 4c 54 49 4c 49 4e 45 53 54 52 49 4e 47  _MULTILINESTRING
20200 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
20210 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53  EOJSON_CRS GEOJS
20220 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72  ON_COLON long_cr
20230 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  s GEOJSON_COMMA 
20240 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
20250 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c  EOJSON_COLON mul
20260 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78  tilinestring_tex
20270 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  tz GEOJSON_CLOSE
20280 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74  _BRACE */ yytest
20290 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 39  case(yyruleno==9
202a0 34 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20 31  4);.      case 1
202b0 30 35 3a 20 2f 2a 20 6d 75 6c 74 69 70 6f 6c 79  05: /* multipoly
202c0 67 6f 6e 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  gon ::= GEOJSON_
202d0 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
202e0 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
202f0 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55  COLON GEOJSON_MU
20300 4c 54 49 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53  LTIPOLYGON GEOJS
20310 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
20320 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  _CRS GEOJSON_COL
20330 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45 4f  ON short_crs GEO
20340 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
20350 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
20360 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 6c  N_COLON multipol
20370 79 67 6f 6e 5f 74 65 78 74 20 47 45 4f 4a 53 4f  ygon_text GEOJSO
20380 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
20390 20 79 79 74 65 73 74 63 61 73 65 28 79 79 72 75   yytestcase(yyru
203a0 6c 65 6e 6f 3d 3d 31 30 35 29 3b 0a 20 20 20 20  leno==105);.    
203b0 20 20 63 61 73 65 20 31 30 36 3a 20 2f 2a 20 6d    case 106: /* m
203c0 75 6c 74 69 70 6f 6c 79 67 6f 6e 20 3a 3a 3d 20  ultipolygon ::= 
203d0 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
203e0 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
203f0 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
20400 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 4c 59 47  OJSON_MULTIPOLYG
20410 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  ON GEOJSON_COMMA
20420 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f   GEOJSON_CRS GEO
20430 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f  JSON_COLON long_
20440 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  crs GEOJSON_COMM
20450 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
20460 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d   GEOJSON_COLON m
20470 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74  ultipolygon_text
20480 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
20490 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74 63 61  RACE */ yytestca
204a0 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 31 30 36  se(yyruleno==106
204b0 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20 31 31  );.      case 11
204c0 31 3a 20 2f 2a 20 6d 75 6c 74 69 70 6f 6c 79 67  1: /* multipolyg
204d0 6f 6e 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  onz ::= GEOJSON_
204e0 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
204f0 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
20500 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55  COLON GEOJSON_MU
20510 4c 54 49 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53  LTIPOLYGON GEOJS
20520 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
20530 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  _CRS GEOJSON_COL
20540 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45 4f  ON short_crs GEO
20550 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
20560 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
20570 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 6c  N_COLON multipol
20580 79 67 6f 6e 5f 74 65 78 74 7a 20 47 45 4f 4a 53  ygon_textz GEOJS
20590 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a  ON_CLOSE_BRACE *
205a0 2f 20 79 79 74 65 73 74 63 61 73 65 28 79 79 72  / yytestcase(yyr
205b0 75 6c 65 6e 6f 3d 3d 31 31 31 29 3b 0a 20 20 20  uleno==111);.   
205c0 20 20 20 63 61 73 65 20 31 31 32 3a 20 2f 2a 20     case 112: /* 
205d0 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 7a 20 3a 3a  multipolygonz ::
205e0 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  = GEOJSON_OPEN_B
205f0 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50  RACE GEOJSON_TYP
20600 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  E GEOJSON_COLON 
20610 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 4c  GEOJSON_MULTIPOL
20620 59 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  YGON GEOJSON_COM
20630 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47  MA GEOJSON_CRS G
20640 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e  EOJSON_COLON lon
20650 67 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f  g_crs GEOJSON_CO
20660 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52  MMA GEOJSON_COOR
20670 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  DS GEOJSON_COLON
20680 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65   multipolygon_te
20690 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  xtz GEOJSON_CLOS
206a0 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73  E_BRACE */ yytes
206b0 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d  tcase(yyruleno==
206c0 31 31 32 29 3b 0a 20 20 20 20 20 20 63 61 73 65  112);.      case
206d0 20 31 32 33 3a 20 2f 2a 20 67 65 6f 63 6f 6c 6c   123: /* geocoll
206e0 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
206f0 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
20700 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
20710 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 45  ON GEOJSON_GEOME
20720 54 52 59 43 4f 4c 4c 45 43 54 49 4f 4e 20 47 45  TRYCOLLECTION GE
20730 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
20740 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f  SON_CRS GEOJSON_
20750 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20  COLON short_crs 
20760 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
20770 4f 4a 53 4f 4e 5f 47 45 4f 4d 53 20 47 45 4f 4a  OJSON_GEOMS GEOJ
20780 53 4f 4e 5f 43 4f 4c 4f 4e 20 67 65 6f 63 6f 6c  SON_COLON geocol
20790 6c 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43  l_text GEOJSON_C
207a0 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 20 79 79  LOSE_BRACE */ yy
207b0 74 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e  testcase(yyrulen
207c0 6f 3d 3d 31 32 33 29 3b 0a 20 20 20 20 20 20 63  o==123);.      c
207d0 61 73 65 20 31 32 34 3a 20 2f 2a 20 67 65 6f 63  ase 124: /* geoc
207e0 6f 6c 6c 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f  oll ::= GEOJSON_
207f0 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53  OPEN_BRACE GEOJS
20800 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f  ON_TYPE GEOJSON_
20810 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45  COLON GEOJSON_GE
20820 4f 4d 45 54 52 59 43 4f 4c 4c 45 43 54 49 4f 4e  OMETRYCOLLECTION
20830 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
20840 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53  EOJSON_CRS GEOJS
20850 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72  ON_COLON long_cr
20860 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  s GEOJSON_COMMA 
20870 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 53 20 47 45  GEOJSON_GEOMS GE
20880 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 67 65 6f 63  OJSON_COLON geoc
20890 6f 6c 6c 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e  oll_text GEOJSON
208a0 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 20  _CLOSE_BRACE */ 
208b0 79 79 74 65 73 74 63 61 73 65 28 79 79 72 75 6c  yytestcase(yyrul
208c0 65 6e 6f 3d 3d 31 32 34 29 3b 0a 20 20 20 20 20  eno==124);.     
208d0 20 63 61 73 65 20 31 32 39 3a 20 2f 2a 20 67 65   case 129: /* ge
208e0 6f 63 6f 6c 6c 7a 20 3a 3a 3d 20 47 45 4f 4a 53  ocollz ::= GEOJS
208f0 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45  ON_OPEN_BRACE GE
20900 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53  OJSON_TYPE GEOJS
20910 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
20920 5f 47 45 4f 4d 45 54 52 59 43 4f 4c 4c 45 43 54  _GEOMETRYCOLLECT
20930 49 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  ION GEOJSON_COMM
20940 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45  A GEOJSON_CRS GE
20950 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72  OJSON_COLON shor
20960 74 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f  t_crs GEOJSON_CO
20970 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d  MMA GEOJSON_GEOM
20980 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
20990 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 20 47 45  geocoll_textz GE
209a0 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
209b0 45 20 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28  E */ yytestcase(
209c0 79 79 72 75 6c 65 6e 6f 3d 3d 31 32 39 29 3b 0a  yyruleno==129);.
209d0 20 20 20 20 20 20 63 61 73 65 20 31 33 30 3a 20        case 130: 
209e0 2f 2a 20 67 65 6f 63 6f 6c 6c 7a 20 3a 3a 3d 20  /* geocollz ::= 
209f0 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
20a00 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
20a10 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
20a20 4f 4a 53 4f 4e 5f 47 45 4f 4d 45 54 52 59 43 4f  OJSON_GEOMETRYCO
20a30 4c 4c 45 43 54 49 4f 4e 20 47 45 4f 4a 53 4f 4e  LLECTION GEOJSON
20a40 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
20a50 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  RS GEOJSON_COLON
20a60 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53 4f   long_crs GEOJSO
20a70 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
20a80 47 45 4f 4d 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  GEOMS GEOJSON_CO
20a90 4c 4f 4e 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74  LON geocoll_text
20aa0 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  z GEOJSON_CLOSE_
20ab0 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74 63  BRACE */ yytestc
20ac0 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 31 33  ase(yyruleno==13
20ad0 30 29 3b 0a 7b 20 79 79 6d 73 70 5b 2d 31 32 5d  0);.{ yymsp[-12]
20ae0 2e 6d 69 6e 6f 72 2e 79 79 30 20 3d 20 28 76 6f  .minor.yy0 = (vo
20af0 69 64 20 2a 29 20 67 65 6f 4a 53 4f 4e 5f 73 65  id *) geoJSON_se
20b00 74 53 72 69 64 28 28 67 61 69 61 47 65 6f 6d 43  tSrid((gaiaGeomC
20b10 6f 6c 6c 50 74 72 29 79 79 6d 73 70 5b 2d 31 5d  ollPtr)yymsp[-1]
20b20 2e 6d 69 6e 6f 72 2e 79 79 30 2c 20 28 69 6e 74  .minor.yy0, (int
20b30 20 2a 29 79 79 6d 73 70 5b 2d 35 5d 2e 6d 69 6e   *)yymsp[-5].min
20b40 6f 72 2e 79 79 30 29 3b 20 7d 0a 20 20 20 20 20  or.yy0); }.     
20b50 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20     break;.      
20b60 63 61 73 65 20 37 35 3a 20 2f 2a 20 6d 75 6c 74  case 75: /* mult
20b70 69 70 6f 69 6e 74 20 3a 3a 3d 20 47 45 4f 4a 53  ipoint ::= GEOJS
20b80 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45  ON_OPEN_BRACE GE
20b90 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53  OJSON_TYPE GEOJS
20ba0 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
20bb0 5f 4d 55 4c 54 49 50 4f 49 4e 54 20 47 45 4f 4a  _MULTIPOINT GEOJ
20bc0 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
20bd0 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
20be0 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20 47 45  LON short_crs GE
20bf0 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
20c00 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e  SON_BBOX GEOJSON
20c10 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f  _COLON GEOJSON_O
20c20 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78  PEN_BRACKET bbox
20c30 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
20c40 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43  RACKET GEOJSON_C
20c50 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f  OMMA GEOJSON_COO
20c60 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  RDS GEOJSON_COLO
20c70 4e 20 6d 75 6c 74 69 70 6f 69 6e 74 5f 74 65 78  N multipoint_tex
20c80 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  t GEOJSON_CLOSE_
20c90 42 52 41 43 45 20 2a 2f 0a 20 20 20 20 20 20 63  BRACE */.      c
20ca0 61 73 65 20 37 36 3a 20 2f 2a 20 6d 75 6c 74 69  ase 76: /* multi
20cb0 70 6f 69 6e 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f  point ::= GEOJSO
20cc0 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f  N_OPEN_BRACE GEO
20cd0 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f  JSON_TYPE GEOJSO
20ce0 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f  N_COLON GEOJSON_
20cf0 4d 55 4c 54 49 50 4f 49 4e 54 20 47 45 4f 4a 53  MULTIPOINT GEOJS
20d00 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
20d10 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  _CRS GEOJSON_COL
20d20 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a  ON long_crs GEOJ
20d30 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
20d40 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43  N_BBOX GEOJSON_C
20d50 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45  OLON GEOJSON_OPE
20d60 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47  N_BRACKET bbox G
20d70 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
20d80 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  CKET GEOJSON_COM
20d90 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44  MA GEOJSON_COORD
20da0 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
20db0 6d 75 6c 74 69 70 6f 69 6e 74 5f 74 65 78 74 20  multipoint_text 
20dc0 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
20dd0 41 43 45 20 2a 2f 20 79 79 74 65 73 74 63 61 73  ACE */ yytestcas
20de0 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 37 36 29 3b  e(yyruleno==76);
20df0 0a 20 20 20 20 20 20 63 61 73 65 20 38 31 3a 20  .      case 81: 
20e00 2f 2a 20 6d 75 6c 74 69 70 6f 69 6e 74 7a 20 3a  /* multipointz :
20e10 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
20e20 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
20e30 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
20e40 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f   GEOJSON_MULTIPO
20e50 49 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  INT GEOJSON_COMM
20e60 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45  A GEOJSON_CRS GE
20e70 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72  OJSON_COLON shor
20e80 74 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f  t_crs GEOJSON_CO
20e90 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58  MMA GEOJSON_BBOX
20ea0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
20eb0 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
20ec0 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e  KET bbox GEOJSON
20ed0 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47  _CLOSE_BRACKET G
20ee0 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
20ef0 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a  JSON_COORDS GEOJ
20f00 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70  SON_COLON multip
20f10 6f 69 6e 74 5f 74 65 78 74 7a 20 47 45 4f 4a 53  oint_textz GEOJS
20f20 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a  ON_CLOSE_BRACE *
20f30 2f 20 79 79 74 65 73 74 63 61 73 65 28 79 79 72  / yytestcase(yyr
20f40 75 6c 65 6e 6f 3d 3d 38 31 29 3b 0a 20 20 20 20  uleno==81);.    
20f50 20 20 63 61 73 65 20 38 32 3a 20 2f 2a 20 6d 75    case 82: /* mu
20f60 6c 74 69 70 6f 69 6e 74 7a 20 3a 3a 3d 20 47 45  ltipointz ::= GE
20f70 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45  OJSON_OPEN_BRACE
20f80 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45   GEOJSON_TYPE GE
20f90 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
20fa0 53 4f 4e 5f 4d 55 4c 54 49 50 4f 49 4e 54 20 47  SON_MULTIPOINT G
20fb0 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
20fc0 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e  JSON_CRS GEOJSON
20fd0 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20  _COLON long_crs 
20fe0 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
20ff0 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53  OJSON_BBOX GEOJS
21000 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
21010 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62  _OPEN_BRACKET bb
21020 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  ox GEOJSON_CLOSE
21030 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e  _BRACKET GEOJSON
21040 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43  _COMMA GEOJSON_C
21050 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  OORDS GEOJSON_CO
21060 4c 4f 4e 20 6d 75 6c 74 69 70 6f 69 6e 74 5f 74  LON multipoint_t
21070 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  extz GEOJSON_CLO
21080 53 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65  SE_BRACE */ yyte
21090 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d  stcase(yyruleno=
210a0 3d 38 32 29 3b 0a 20 20 20 20 20 20 63 61 73 65  =82);.      case
210b0 20 38 39 3a 20 2f 2a 20 6d 75 6c 74 69 6c 69 6e   89: /* multilin
210c0 65 73 74 72 69 6e 67 20 3a 3a 3d 20 47 45 4f 4a  estring ::= GEOJ
210d0 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
210e0 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
210f0 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
21100 4e 5f 4d 55 4c 54 49 4c 49 4e 45 53 54 52 49 4e  N_MULTILINESTRIN
21110 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  G GEOJSON_COMMA 
21120 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a  GEOJSON_CRS GEOJ
21130 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f  SON_COLON short_
21140 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  crs GEOJSON_COMM
21150 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47  A GEOJSON_BBOX G
21160 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
21170 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45  JSON_OPEN_BRACKE
21180 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43  T bbox GEOJSON_C
21190 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45 4f  LOSE_BRACKET GEO
211a0 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
211b0 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
211c0 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 6c 69 6e  N_COLON multilin
211d0 65 73 74 72 69 6e 67 5f 74 65 78 74 20 47 45 4f  estring_text GEO
211e0 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
211f0 20 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28 79   */ yytestcase(y
21200 79 72 75 6c 65 6e 6f 3d 3d 38 39 29 3b 0a 20 20  yruleno==89);.  
21210 20 20 20 20 63 61 73 65 20 39 30 3a 20 2f 2a 20      case 90: /* 
21220 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 20  multilinestring 
21230 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
21240 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54  _BRACE GEOJSON_T
21250 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  YPE GEOJSON_COLO
21260 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 4c  N GEOJSON_MULTIL
21270 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a 53 4f  INESTRING GEOJSO
21280 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
21290 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f  CRS GEOJSON_COLO
212a0 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f 4a 53  N long_crs GEOJS
212b0 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
212c0 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _BBOX GEOJSON_CO
212d0 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  LON GEOJSON_OPEN
212e0 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20 47 45  _BRACKET bbox GE
212f0 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
21300 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  KET GEOJSON_COMM
21310 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53  A GEOJSON_COORDS
21320 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6d   GEOJSON_COLON m
21330 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74  ultilinestring_t
21340 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  ext GEOJSON_CLOS
21350 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73  E_BRACE */ yytes
21360 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d  tcase(yyruleno==
21370 39 30 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20  90);.      case 
21380 39 35 3a 20 2f 2a 20 6d 75 6c 74 69 6c 69 6e 65  95: /* multiline
21390 73 74 72 69 6e 67 7a 20 3a 3a 3d 20 47 45 4f 4a  stringz ::= GEOJ
213a0 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
213b0 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
213c0 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
213d0 4e 5f 4d 55 4c 54 49 4c 49 4e 45 53 54 52 49 4e  N_MULTILINESTRIN
213e0 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  G GEOJSON_COMMA 
213f0 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a  GEOJSON_CRS GEOJ
21400 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f  SON_COLON short_
21410 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  crs GEOJSON_COMM
21420 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47  A GEOJSON_BBOX G
21430 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
21440 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45  JSON_OPEN_BRACKE
21450 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43  T bbox GEOJSON_C
21460 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45 4f  LOSE_BRACKET GEO
21470 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
21480 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
21490 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 6c 69 6e  N_COLON multilin
214a0 65 73 74 72 69 6e 67 5f 74 65 78 74 7a 20 47 45  estring_textz GE
214b0 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
214c0 45 20 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28  E */ yytestcase(
214d0 79 79 72 75 6c 65 6e 6f 3d 3d 39 35 29 3b 0a 20  yyruleno==95);. 
214e0 20 20 20 20 20 63 61 73 65 20 39 36 3a 20 2f 2a       case 96: /*
214f0 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67   multilinestring
21500 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50  z ::= GEOJSON_OP
21510 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e  EN_BRACE GEOJSON
21520 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _TYPE GEOJSON_CO
21530 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4d 55 4c 54  LON GEOJSON_MULT
21540 49 4c 49 4e 45 53 54 52 49 4e 47 20 47 45 4f 4a  ILINESTRING GEOJ
21550 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
21560 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
21570 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f  LON long_crs GEO
21580 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
21590 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f  ON_BBOX GEOJSON_
215a0 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50  COLON GEOJSON_OP
215b0 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20  EN_BRACKET bbox 
215c0 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
215d0 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f  ACKET GEOJSON_CO
215e0 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52  MMA GEOJSON_COOR
215f0 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  DS GEOJSON_COLON
21600 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67   multilinestring
21610 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43  _textz GEOJSON_C
21620 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 20 79 79  LOSE_BRACE */ yy
21630 74 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e  testcase(yyrulen
21640 6f 3d 3d 39 36 29 3b 0a 20 20 20 20 20 20 63 61  o==96);.      ca
21650 73 65 20 31 30 37 3a 20 2f 2a 20 6d 75 6c 74 69  se 107: /* multi
21660 70 6f 6c 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f 4a  polygon ::= GEOJ
21670 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47  SON_OPEN_BRACE G
21680 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a  EOJSON_TYPE GEOJ
21690 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
216a0 4e 5f 4d 55 4c 54 49 50 4f 4c 59 47 4f 4e 20 47  N_MULTIPOLYGON G
216b0 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f  EOJSON_COMMA GEO
216c0 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e  JSON_CRS GEOJSON
216d0 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73  _COLON short_crs
216e0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
216f0 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a  EOJSON_BBOX GEOJ
21700 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
21710 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62  N_OPEN_BRACKET b
21720 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  box GEOJSON_CLOS
21730 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f  E_BRACKET GEOJSO
21740 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
21750 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43  COORDS GEOJSON_C
21760 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 6c 79 67 6f  OLON multipolygo
21770 6e 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43  n_text GEOJSON_C
21780 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 20 79 79  LOSE_BRACE */ yy
21790 74 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e  testcase(yyrulen
217a0 6f 3d 3d 31 30 37 29 3b 0a 20 20 20 20 20 20 63  o==107);.      c
217b0 61 73 65 20 31 30 38 3a 20 2f 2a 20 6d 75 6c 74  ase 108: /* mult
217c0 69 70 6f 6c 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f  ipolygon ::= GEO
217d0 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
217e0 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
217f0 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
21800 4f 4e 5f 4d 55 4c 54 49 50 4f 4c 59 47 4f 4e 20  ON_MULTIPOLYGON 
21810 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
21820 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f  OJSON_CRS GEOJSO
21830 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73  N_COLON long_crs
21840 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
21850 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a  EOJSON_BBOX GEOJ
21860 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f  SON_COLON GEOJSO
21870 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62  N_OPEN_BRACKET b
21880 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53  box GEOJSON_CLOS
21890 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f  E_BRACKET GEOJSO
218a0 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f  N_COMMA GEOJSON_
218b0 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f 43  COORDS GEOJSON_C
218c0 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 6c 79 67 6f  OLON multipolygo
218d0 6e 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f 43  n_text GEOJSON_C
218e0 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 20 79 79  LOSE_BRACE */ yy
218f0 74 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e  testcase(yyrulen
21900 6f 3d 3d 31 30 38 29 3b 0a 20 20 20 20 20 20 63  o==108);.      c
21910 61 73 65 20 31 31 33 3a 20 2f 2a 20 6d 75 6c 74  ase 113: /* mult
21920 69 70 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d 20 47 45  ipolygonz ::= GE
21930 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45  OJSON_OPEN_BRACE
21940 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45   GEOJSON_TYPE GE
21950 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
21960 53 4f 4e 5f 4d 55 4c 54 49 50 4f 4c 59 47 4f 4e  SON_MULTIPOLYGON
21970 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
21980 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53  EOJSON_CRS GEOJS
21990 4f 4e 5f 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63  ON_COLON short_c
219a0 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  rs GEOJSON_COMMA
219b0 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45   GEOJSON_BBOX GE
219c0 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
219d0 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54  SON_OPEN_BRACKET
219e0 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c   bbox GEOJSON_CL
219f0 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a  OSE_BRACKET GEOJ
21a00 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
21a10 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e  N_COORDS GEOJSON
21a20 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f 6c 79  _COLON multipoly
21a30 67 6f 6e 5f 74 65 78 74 7a 20 47 45 4f 4a 53 4f  gon_textz GEOJSO
21a40 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f  N_CLOSE_BRACE */
21a50 20 79 79 74 65 73 74 63 61 73 65 28 79 79 72 75   yytestcase(yyru
21a60 6c 65 6e 6f 3d 3d 31 31 33 29 3b 0a 20 20 20 20  leno==113);.    
21a70 20 20 63 61 73 65 20 31 31 34 3a 20 2f 2a 20 6d    case 114: /* m
21a80 75 6c 74 69 70 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d  ultipolygonz ::=
21a90 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
21aa0 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45  ACE GEOJSON_TYPE
21ab0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47   GEOJSON_COLON G
21ac0 45 4f 4a 53 4f 4e 5f 4d 55 4c 54 49 50 4f 4c 59  EOJSON_MULTIPOLY
21ad0 47 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  GON GEOJSON_COMM
21ae0 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45  A GEOJSON_CRS GE
21af0 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67  OJSON_COLON long
21b00 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d  _crs GEOJSON_COM
21b10 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20  MA GEOJSON_BBOX 
21b20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
21b30 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
21b40 45 54 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f  ET bbox GEOJSON_
21b50 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45  CLOSE_BRACKET GE
21b60 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
21b70 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53  SON_COORDS GEOJS
21b80 4f 4e 5f 43 4f 4c 4f 4e 20 6d 75 6c 74 69 70 6f  ON_COLON multipo
21b90 6c 79 67 6f 6e 5f 74 65 78 74 7a 20 47 45 4f 4a  lygon_textz GEOJ
21ba0 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20  SON_CLOSE_BRACE 
21bb0 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28 79 79  */ yytestcase(yy
21bc0 72 75 6c 65 6e 6f 3d 3d 31 31 34 29 3b 0a 20 20  ruleno==114);.  
21bd0 20 20 20 20 63 61 73 65 20 31 32 35 3a 20 2f 2a      case 125: /*
21be0 20 67 65 6f 63 6f 6c 6c 20 3a 3a 3d 20 47 45 4f   geocoll ::= GEO
21bf0 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
21c00 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
21c10 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
21c20 4f 4e 5f 47 45 4f 4d 45 54 52 59 43 4f 4c 4c 45  ON_GEOMETRYCOLLE
21c30 43 54 49 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f  CTION GEOJSON_CO
21c40 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 52 53 20  MMA GEOJSON_CRS 
21c50 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 73 68  GEOJSON_COLON sh
21c60 6f 72 74 5f 63 72 73 20 47 45 4f 4a 53 4f 4e 5f  ort_crs GEOJSON_
21c70 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 42 42  COMMA GEOJSON_BB
21c80 4f 58 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  OX GEOJSON_COLON
21c90 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52   GEOJSON_OPEN_BR
21ca0 41 43 4b 45 54 20 62 62 6f 78 20 47 45 4f 4a 53  ACKET bbox GEOJS
21cb0 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54  ON_CLOSE_BRACKET
21cc0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
21cd0 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 53 20 47 45 4f  EOJSON_GEOMS GEO
21ce0 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 67 65 6f 63 6f  JSON_COLON geoco
21cf0 6c 6c 5f 74 65 78 74 20 47 45 4f 4a 53 4f 4e 5f  ll_text GEOJSON_
21d00 43 4c 4f 53 45 5f 42 52 41 43 45 20 2a 2f 20 79  CLOSE_BRACE */ y
21d10 79 74 65 73 74 63 61 73 65 28 79 79 72 75 6c 65  ytestcase(yyrule
21d20 6e 6f 3d 3d 31 32 35 29 3b 0a 20 20 20 20 20 20  no==125);.      
21d30 63 61 73 65 20 31 32 36 3a 20 2f 2a 20 67 65 6f  case 126: /* geo
21d40 63 6f 6c 6c 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  coll ::= GEOJSON
21d50 5f 4f 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a  _OPEN_BRACE GEOJ
21d60 53 4f 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e  SON_TYPE GEOJSON
21d70 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 47  _COLON GEOJSON_G
21d80 45 4f 4d 45 54 52 59 43 4f 4c 4c 45 43 54 49 4f  EOMETRYCOLLECTIO
21d90 4e 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  N GEOJSON_COMMA 
21da0 47 45 4f 4a 53 4f 4e 5f 43 52 53 20 47 45 4f 4a  GEOJSON_CRS GEOJ
21db0 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 6f 6e 67 5f 63  SON_COLON long_c
21dc0 72 73 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  rs GEOJSON_COMMA
21dd0 20 47 45 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45   GEOJSON_BBOX GE
21de0 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a  OJSON_COLON GEOJ
21df0 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54  SON_OPEN_BRACKET
21e00 20 62 62 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c   bbox GEOJSON_CL
21e10 4f 53 45 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a  OSE_BRACKET GEOJ
21e20 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
21e30 4e 5f 47 45 4f 4d 53 20 47 45 4f 4a 53 4f 4e 5f  N_GEOMS GEOJSON_
21e40 43 4f 4c 4f 4e 20 67 65 6f 63 6f 6c 6c 5f 74 65  COLON geocoll_te
21e50 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  xt GEOJSON_CLOSE
21e60 5f 42 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74  _BRACE */ yytest
21e70 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 31  case(yyruleno==1
21e80 32 36 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20  26);.      case 
21e90 31 33 31 3a 20 2f 2a 20 67 65 6f 63 6f 6c 6c 7a  131: /* geocollz
21ea0 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
21eb0 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
21ec0 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
21ed0 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 45  ON GEOJSON_GEOME
21ee0 54 52 59 43 4f 4c 4c 45 43 54 49 4f 4e 20 47 45  TRYCOLLECTION GE
21ef0 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a  OJSON_COMMA GEOJ
21f00 53 4f 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f  SON_CRS GEOJSON_
21f10 43 4f 4c 4f 4e 20 73 68 6f 72 74 5f 63 72 73 20  COLON short_crs 
21f20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45  GEOJSON_COMMA GE
21f30 4f 4a 53 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53  OJSON_BBOX GEOJS
21f40 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e  ON_COLON GEOJSON
21f50 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 62 62  _OPEN_BRACKET bb
21f60 6f 78 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  ox GEOJSON_CLOSE
21f70 5f 42 52 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e  _BRACKET GEOJSON
21f80 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 47  _COMMA GEOJSON_G
21f90 45 4f 4d 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  EOMS GEOJSON_COL
21fa0 4f 4e 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a  ON geocoll_textz
21fb0 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
21fc0 52 41 43 45 20 2a 2f 20 79 79 74 65 73 74 63 61  RACE */ yytestca
21fd0 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 31 33 31  se(yyruleno==131
21fe0 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20 31 33  );.      case 13
21ff0 32 3a 20 2f 2a 20 67 65 6f 63 6f 6c 6c 7a 20 3a  2: /* geocollz :
22000 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f  := GEOJSON_OPEN_
22010 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59  BRACE GEOJSON_TY
22020 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  PE GEOJSON_COLON
22030 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d 45 54 52   GEOJSON_GEOMETR
22040 59 43 4f 4c 4c 45 43 54 49 4f 4e 20 47 45 4f 4a  YCOLLECTION GEOJ
22050 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f  SON_COMMA GEOJSO
22060 4e 5f 43 52 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f  N_CRS GEOJSON_CO
22070 4c 4f 4e 20 6c 6f 6e 67 5f 63 72 73 20 47 45 4f  LON long_crs GEO
22080 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
22090 4f 4e 5f 42 42 4f 58 20 47 45 4f 4a 53 4f 4e 5f  ON_BBOX GEOJSON_
220a0 43 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4f 50  COLON GEOJSON_OP
220b0 45 4e 5f 42 52 41 43 4b 45 54 20 62 62 6f 78 20  EN_BRACKET bbox 
220c0 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
220d0 41 43 4b 45 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f  ACKET GEOJSON_CO
220e0 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 47 45 4f 4d  MMA GEOJSON_GEOM
220f0 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20  S GEOJSON_COLON 
22100 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 20 47 45  geocoll_textz GE
22110 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43  OJSON_CLOSE_BRAC
22120 45 20 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28  E */ yytestcase(
22130 79 79 72 75 6c 65 6e 6f 3d 3d 31 33 32 29 3b 0a  yyruleno==132);.
22140 7b 20 79 79 6d 73 70 5b 2d 31 38 5d 2e 6d 69 6e  { yymsp[-18].min
22150 6f 72 2e 79 79 30 20 3d 20 28 76 6f 69 64 20 2a  or.yy0 = (void *
22160 29 20 67 65 6f 4a 53 4f 4e 5f 73 65 74 53 72 69  ) geoJSON_setSri
22170 64 28 28 67 61 69 61 47 65 6f 6d 43 6f 6c 6c 50  d((gaiaGeomCollP
22180 74 72 29 79 79 6d 73 70 5b 2d 31 5d 2e 6d 69 6e  tr)yymsp[-1].min
22190 6f 72 2e 79 79 30 2c 20 28 69 6e 74 20 2a 29 79  or.yy0, (int *)y
221a0 79 6d 73 70 5b 2d 31 31 5d 2e 6d 69 6e 6f 72 2e  ymsp[-11].minor.
221b0 79 79 30 29 3b 20 7d 0a 20 20 20 20 20 20 20 20  yy0); }.        
221c0 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73  break;.      cas
221d0 65 20 38 33 3a 20 2f 2a 20 6d 75 6c 74 69 70 6f  e 83: /* multipo
221e0 69 6e 74 5f 74 65 78 74 20 3a 3a 3d 20 47 45 4f  int_text ::= GEO
221f0 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45  JSON_OPEN_BRACKE
22200 54 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 20  T point_coordxy 
22210 65 78 74 72 61 5f 70 6f 69 6e 74 73 78 79 20 47  extra_pointsxy G
22220 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
22230 43 4b 45 54 20 2a 2f 0a 7b 20 0a 09 20 20 20 28  CKET */.{ ..   (
22240 28 67 61 69 61 50 6f 69 6e 74 50 74 72 29 79 79  (gaiaPointPtr)yy
22250 6d 73 70 5b 2d 32 5d 2e 6d 69 6e 6f 72 2e 79 79  msp[-2].minor.yy
22260 30 29 2d 3e 4e 65 78 74 20 3d 20 28 67 61 69 61  0)->Next = (gaia
22270 50 6f 69 6e 74 50 74 72 29 79 79 6d 73 70 5b 2d  PointPtr)yymsp[-
22280 31 5d 2e 6d 69 6e 6f 72 2e 79 79 30 3b 20 0a 09  1].minor.yy0; ..
22290 20 20 20 79 79 6d 73 70 5b 2d 33 5d 2e 6d 69 6e     yymsp[-3].min
222a0 6f 72 2e 79 79 30 20 3d 20 28 76 6f 69 64 20 2a  or.yy0 = (void *
222b0 29 20 67 65 6f 4a 53 4f 4e 5f 6d 75 6c 74 69 70  ) geoJSON_multip
222c0 6f 69 6e 74 5f 78 79 28 70 5f 64 61 74 61 2c 20  oint_xy(p_data, 
222d0 28 67 61 69 61 50 6f 69 6e 74 50 74 72 29 79 79  (gaiaPointPtr)yy
222e0 6d 73 70 5b 2d 32 5d 2e 6d 69 6e 6f 72 2e 79 79  msp[-2].minor.yy
222f0 30 29 3b 0a 09 7d 0a 20 20 20 20 20 20 20 20 62  0);..}.        b
22300 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65  reak;.      case
22310 20 38 34 3a 20 2f 2a 20 6d 75 6c 74 69 70 6f 69   84: /* multipoi
22320 6e 74 5f 74 65 78 74 7a 20 3a 3a 3d 20 47 45 4f  nt_textz ::= GEO
22330 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45  JSON_OPEN_BRACKE
22340 54 20 70 6f 69 6e 74 5f 63 6f 6f 72 64 78 79 7a  T point_coordxyz
22350 20 65 78 74 72 61 5f 70 6f 69 6e 74 73 78 79 7a   extra_pointsxyz
22360 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
22370 52 41 43 4b 45 54 20 2a 2f 0a 7b 20 0a 09 20 20  RACKET */.{ ..  
22380 20 28 28 67 61 69 61 50 6f 69 6e 74 50 74 72 29   ((gaiaPointPtr)
22390 79 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e 6f 72 2e  yymsp[-2].minor.
223a0 79 79 30 29 2d 3e 4e 65 78 74 20 3d 20 28 67 61  yy0)->Next = (ga
223b0 69 61 50 6f 69 6e 74 50 74 72 29 79 79 6d 73 70  iaPointPtr)yymsp
223c0 5b 2d 31 5d 2e 6d 69 6e 6f 72 2e 79 79 30 3b 20  [-1].minor.yy0; 
223d0 0a 09 20 20 20 79 79 6d 73 70 5b 2d 33 5d 2e 6d  ..   yymsp[-3].m
223e0 69 6e 6f 72 2e 79 79 30 20 3d 20 28 76 6f 69 64  inor.yy0 = (void
223f0 20 2a 29 20 67 65 6f 4a 53 4f 4e 5f 6d 75 6c 74   *) geoJSON_mult
22400 69 70 6f 69 6e 74 5f 78 79 7a 28 70 5f 64 61 74  ipoint_xyz(p_dat
22410 61 2c 20 28 67 61 69 61 50 6f 69 6e 74 50 74 72  a, (gaiaPointPtr
22420 29 79 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e 6f 72  )yymsp[-2].minor
22430 2e 79 79 30 29 3b 0a 09 7d 0a 20 20 20 20 20 20  .yy0);..}.      
22440 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63    break;.      c
22450 61 73 65 20 39 37 3a 20 2f 2a 20 6d 75 6c 74 69  ase 97: /* multi
22460 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 20  linestring_text 
22470 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
22480 5f 42 52 41 43 4b 45 54 20 6c 69 6e 65 73 74 72  _BRACKET linestr
22490 69 6e 67 5f 74 65 78 74 20 6d 75 6c 74 69 6c 69  ing_text multili
224a0 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 32 20 47  nestring_text2 G
224b0 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41  EOJSON_CLOSE_BRA
224c0 43 4b 45 54 20 2a 2f 0a 7b 20 0a 09 20 20 20 28  CKET */.{ ..   (
224d0 28 67 61 69 61 4c 69 6e 65 73 74 72 69 6e 67 50  (gaiaLinestringP
224e0 74 72 29 79 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e  tr)yymsp[-2].min
224f0 6f 72 2e 79 79 30 29 2d 3e 4e 65 78 74 20 3d 20  or.yy0)->Next = 
22500 28 67 61 69 61 4c 69 6e 65 73 74 72 69 6e 67 50  (gaiaLinestringP
22510 74 72 29 79 79 6d 73 70 5b 2d 31 5d 2e 6d 69 6e  tr)yymsp[-1].min
22520 6f 72 2e 79 79 30 3b 20 0a 09 20 20 20 79 79 6d  or.yy0; ..   yym
22530 73 70 5b 2d 33 5d 2e 6d 69 6e 6f 72 2e 79 79 30  sp[-3].minor.yy0
22540 20 3d 20 28 76 6f 69 64 20 2a 29 20 67 65 6f 4a   = (void *) geoJ
22550 53 4f 4e 5f 6d 75 6c 74 69 6c 69 6e 65 73 74 72  SON_multilinestr
22560 69 6e 67 5f 78 79 28 20 70 5f 64 61 74 61 2c 20  ing_xy( p_data, 
22570 28 67 61 69 61 4c 69 6e 65 73 74 72 69 6e 67 50  (gaiaLinestringP
22580 74 72 29 79 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e  tr)yymsp[-2].min
22590 6f 72 2e 79 79 30 29 3b 0a 09 7d 0a 20 20 20 20  or.yy0);..}.    
225a0 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20      break;.     
225b0 20 63 61 73 65 20 39 39 3a 20 2f 2a 20 6d 75 6c   case 99: /* mul
225c0 74 69 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78  tilinestring_tex
225d0 74 32 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 43  t2 ::= GEOJSON_C
225e0 4f 4d 4d 41 20 6c 69 6e 65 73 74 72 69 6e 67 5f  OMMA linestring_
225f0 74 65 78 74 20 6d 75 6c 74 69 6c 69 6e 65 73 74  text multilinest
22600 72 69 6e 67 5f 74 65 78 74 32 20 2a 2f 0a 20 20  ring_text2 */.  
22610 20 20 20 20 63 61 73 65 20 31 30 32 3a 20 2f 2a      case 102: /*
22620 20 6d 75 6c 74 69 6c 69 6e 65 73 74 72 69 6e 67   multilinestring
22630 5f 74 65 78 74 7a 32 20 3a 3a 3d 20 47 45 4f 4a  _textz2 ::= GEOJ
22640 53 4f 4e 5f 43 4f 4d 4d 41 20 6c 69 6e 65 73 74  SON_COMMA linest
22650 72 69 6e 67 5f 74 65 78 74 7a 20 6d 75 6c 74 69  ring_textz multi
22660 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a  linestring_textz
22670 32 20 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28  2 */ yytestcase(
22680 79 79 72 75 6c 65 6e 6f 3d 3d 31 30 32 29 3b 0a  yyruleno==102);.
22690 7b 20 28 28 67 61 69 61 4c 69 6e 65 73 74 72 69  { ((gaiaLinestri
226a0 6e 67 50 74 72 29 79 79 6d 73 70 5b 2d 31 5d 2e  ngPtr)yymsp[-1].
226b0 6d 69 6e 6f 72 2e 79 79 30 29 2d 3e 4e 65 78 74  minor.yy0)->Next
226c0 20 3d 20 28 67 61 69 61 4c 69 6e 65 73 74 72 69   = (gaiaLinestri
226d0 6e 67 50 74 72 29 79 79 6d 73 70 5b 30 5d 2e 6d  ngPtr)yymsp[0].m
226e0 69 6e 6f 72 2e 79 79 30 3b 20 20 79 79 6d 73 70  inor.yy0;  yymsp
226f0 5b 2d 32 5d 2e 6d 69 6e 6f 72 2e 79 79 30 20 3d  [-2].minor.yy0 =
22700 20 79 79 6d 73 70 5b 2d 31 5d 2e 6d 69 6e 6f 72   yymsp[-1].minor
22710 2e 79 79 30 3b 20 7d 0a 20 20 20 20 20 20 20 20  .yy0; }.        
22720 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73  break;.      cas
22730 65 20 31 30 30 3a 20 2f 2a 20 6d 75 6c 74 69 6c  e 100: /* multil
22740 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a 20  inestring_textz 
22750 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
22760 5f 42 52 41 43 4b 45 54 20 6c 69 6e 65 73 74 72  _BRACKET linestr
22770 69 6e 67 5f 74 65 78 74 7a 20 6d 75 6c 74 69 6c  ing_textz multil
22780 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74 7a 32  inestring_textz2
22790 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
227a0 52 41 43 4b 45 54 20 2a 2f 0a 7b 20 0a 09 20 20  RACKET */.{ ..  
227b0 20 28 28 67 61 69 61 4c 69 6e 65 73 74 72 69 6e   ((gaiaLinestrin
227c0 67 50 74 72 29 79 79 6d 73 70 5b 2d 32 5d 2e 6d  gPtr)yymsp[-2].m
227d0 69 6e 6f 72 2e 79 79 30 29 2d 3e 4e 65 78 74 20  inor.yy0)->Next 
227e0 3d 20 28 67 61 69 61 4c 69 6e 65 73 74 72 69 6e  = (gaiaLinestrin
227f0 67 50 74 72 29 79 79 6d 73 70 5b 2d 31 5d 2e 6d  gPtr)yymsp[-1].m
22800 69 6e 6f 72 2e 79 79 30 3b 20 0a 09 20 20 20 79  inor.yy0; ..   y
22810 79 6d 73 70 5b 2d 33 5d 2e 6d 69 6e 6f 72 2e 79  ymsp[-3].minor.y
22820 79 30 20 3d 20 28 76 6f 69 64 20 2a 29 20 67 65  y0 = (void *) ge
22830 6f 4a 53 4f 4e 5f 6d 75 6c 74 69 6c 69 6e 65 73  oJSON_multilines
22840 74 72 69 6e 67 5f 78 79 7a 28 70 5f 64 61 74 61  tring_xyz(p_data
22850 2c 20 28 67 61 69 61 4c 69 6e 65 73 74 72 69 6e  , (gaiaLinestrin
22860 67 50 74 72 29 79 79 6d 73 70 5b 2d 32 5d 2e 6d  gPtr)yymsp[-2].m
22870 69 6e 6f 72 2e 79 79 30 29 3b 0a 09 7d 0a 20 20  inor.yy0);..}.  
22880 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20        break;.   
22890 20 20 20 63 61 73 65 20 31 31 35 3a 20 2f 2a 20     case 115: /* 
228a0 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65 78  multipolygon_tex
228b0 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50  t ::= GEOJSON_OP
228c0 45 4e 5f 42 52 41 43 4b 45 54 20 70 6f 6c 79 67  EN_BRACKET polyg
228d0 6f 6e 5f 74 65 78 74 20 6d 75 6c 74 69 70 6f 6c  on_text multipol
228e0 79 67 6f 6e 5f 74 65 78 74 32 20 47 45 4f 4a 53  ygon_text2 GEOJS
228f0 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54  ON_CLOSE_BRACKET
22900 20 2a 2f 0a 7b 20 0a 09 20 20 20 28 28 67 61 69   */.{ ..   ((gai
22910 61 50 6f 6c 79 67 6f 6e 50 74 72 29 79 79 6d 73  aPolygonPtr)yyms
22920 70 5b 2d 32 5d 2e 6d 69 6e 6f 72 2e 79 79 30 29  p[-2].minor.yy0)
22930 2d 3e 4e 65 78 74 20 3d 20 28 67 61 69 61 50 6f  ->Next = (gaiaPo
22940 6c 79 67 6f 6e 50 74 72 29 79 79 6d 73 70 5b 2d  lygonPtr)yymsp[-
22950 31 5d 2e 6d 69 6e 6f 72 2e 79 79 30 3b 20 0a 09  1].minor.yy0; ..
22960 20 20 20 79 79 6d 73 70 5b 2d 33 5d 2e 6d 69 6e     yymsp[-3].min
22970 6f 72 2e 79 79 30 20 3d 20 28 76 6f 69 64 20 2a  or.yy0 = (void *
22980 29 20 67 65 6f 4a 53 4f 4e 5f 6d 75 6c 74 69 70  ) geoJSON_multip
22990 6f 6c 79 67 6f 6e 5f 78 79 28 70 5f 64 61 74 61  olygon_xy(p_data
229a0 2c 20 28 67 61 69 61 50 6f 6c 79 67 6f 6e 50 74  , (gaiaPolygonPt
229b0 72 29 79 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e 6f  r)yymsp[-2].mino
229c0 72 2e 79 79 30 29 3b 0a 09 7d 0a 20 20 20 20 20  r.yy0);..}.     
229d0 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20     break;.      
229e0 63 61 73 65 20 31 31 37 3a 20 2f 2a 20 6d 75 6c  case 117: /* mul
229f0 74 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 32 20  tipolygon_text2 
22a00 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  ::= GEOJSON_COMM
22a10 41 20 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 20 6d  A polygon_text m
22a20 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74  ultipolygon_text
22a30 32 20 2a 2f 0a 20 20 20 20 20 20 63 61 73 65 20  2 */.      case 
22a40 31 32 30 3a 20 2f 2a 20 6d 75 6c 74 69 70 6f 6c  120: /* multipol
22a50 79 67 6f 6e 5f 74 65 78 74 7a 32 20 3a 3a 3d 20  ygon_textz2 ::= 
22a60 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 70 6f  GEOJSON_COMMA po
22a70 6c 79 67 6f 6e 5f 74 65 78 74 7a 20 6d 75 6c 74  lygon_textz mult
22a80 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a 32 20  ipolygon_textz2 
22a90 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28 79 79  */ yytestcase(yy
22aa0 72 75 6c 65 6e 6f 3d 3d 31 32 30 29 3b 0a 7b 20  ruleno==120);.{ 
22ab0 28 28 67 61 69 61 50 6f 6c 79 67 6f 6e 50 74 72  ((gaiaPolygonPtr
22ac0 29 79 79 6d 73 70 5b 2d 31 5d 2e 6d 69 6e 6f 72  )yymsp[-1].minor
22ad0 2e 79 79 30 29 2d 3e 4e 65 78 74 20 3d 20 28 67  .yy0)->Next = (g
22ae0 61 69 61 50 6f 6c 79 67 6f 6e 50 74 72 29 79 79  aiaPolygonPtr)yy
22af0 6d 73 70 5b 30 5d 2e 6d 69 6e 6f 72 2e 79 79 30  msp[0].minor.yy0
22b00 3b 20 20 79 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e  ;  yymsp[-2].min
22b10 6f 72 2e 79 79 30 20 3d 20 79 79 6d 73 70 5b 2d  or.yy0 = yymsp[-
22b20 31 5d 2e 6d 69 6e 6f 72 2e 79 79 30 3b 20 7d 0a  1].minor.yy0; }.
22b30 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20          break;. 
22b40 20 20 20 20 20 63 61 73 65 20 31 31 38 3a 20 2f       case 118: /
22b50 2a 20 6d 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 74  * multipolygon_t
22b60 65 78 74 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e  extz ::= GEOJSON
22b70 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 70 6f  _OPEN_BRACKET po
22b80 6c 79 67 6f 6e 5f 74 65 78 74 7a 20 6d 75 6c 74  lygon_textz mult
22b90 69 70 6f 6c 79 67 6f 6e 5f 74 65 78 74 7a 32 20  ipolygon_textz2 
22ba0 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
22bb0 41 43 4b 45 54 20 2a 2f 0a 7b 20 0a 09 20 20 20  ACKET */.{ ..   
22bc0 28 28 67 61 69 61 50 6f 6c 79 67 6f 6e 50 74 72  ((gaiaPolygonPtr
22bd0 29 79 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e 6f 72  )yymsp[-2].minor
22be0 2e 79 79 30 29 2d 3e 4e 65 78 74 20 3d 20 28 67  .yy0)->Next = (g
22bf0 61 69 61 50 6f 6c 79 67 6f 6e 50 74 72 29 79 79  aiaPolygonPtr)yy
22c00 6d 73 70 5b 2d 31 5d 2e 6d 69 6e 6f 72 2e 79 79  msp[-1].minor.yy
22c10 30 3b 20 0a 09 20 20 20 79 79 6d 73 70 5b 2d 33  0; ..   yymsp[-3
22c20 5d 2e 6d 69 6e 6f 72 2e 79 79 30 20 3d 20 28 76  ].minor.yy0 = (v
22c30 6f 69 64 20 2a 29 20 67 65 6f 4a 53 4f 4e 5f 6d  oid *) geoJSON_m
22c40 75 6c 74 69 70 6f 6c 79 67 6f 6e 5f 78 79 7a 28  ultipolygon_xyz(
22c50 70 5f 64 61 74 61 2c 20 28 67 61 69 61 50 6f 6c  p_data, (gaiaPol
22c60 79 67 6f 6e 50 74 72 29 79 79 6d 73 70 5b 2d 32  ygonPtr)yymsp[-2
22c70 5d 2e 6d 69 6e 6f 72 2e 79 79 30 29 3b 0a 09 7d  ].minor.yy0);..}
22c80 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a  .        break;.
22c90 20 20 20 20 20 20 63 61 73 65 20 31 33 33 3a 20        case 133: 
22ca0 2f 2a 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 20  /* geocoll_text 
22cb0 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e  ::= GEOJSON_OPEN
22cc0 5f 42 52 41 43 4b 45 54 20 63 6f 6c 6c 5f 70 6f  _BRACKET coll_po
22cd0 69 6e 74 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74  int geocoll_text
22ce0 32 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  2 GEOJSON_CLOSE_
22cf0 42 52 41 43 4b 45 54 20 2a 2f 0a 20 20 20 20 20  BRACKET */.     
22d00 20 63 61 73 65 20 31 33 34 3a 20 2f 2a 20 67 65   case 134: /* ge
22d10 6f 63 6f 6c 6c 5f 74 65 78 74 20 3a 3a 3d 20 47  ocoll_text ::= G
22d20 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
22d30 4b 45 54 20 63 6f 6c 6c 5f 6c 69 6e 65 73 74 72  KET coll_linestr
22d40 69 6e 67 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74  ing geocoll_text
22d50 32 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  2 GEOJSON_CLOSE_
22d60 42 52 41 43 4b 45 54 20 2a 2f 20 79 79 74 65 73  BRACKET */ yytes
22d70 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d  tcase(yyruleno==
22d80 31 33 34 29 3b 0a 20 20 20 20 20 20 63 61 73 65  134);.      case
22d90 20 31 33 35 3a 20 2f 2a 20 67 65 6f 63 6f 6c 6c   135: /* geocoll
22da0 5f 74 65 78 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f  _text ::= GEOJSO
22db0 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b 45 54 20 63  N_OPEN_BRACKET c
22dc0 6f 6c 6c 5f 70 6f 6c 79 67 6f 6e 20 67 65 6f 63  oll_polygon geoc
22dd0 6f 6c 6c 5f 74 65 78 74 32 20 47 45 4f 4a 53 4f  oll_text2 GEOJSO
22de0 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 4b 45 54 20  N_CLOSE_BRACKET 
22df0 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28 79 79  */ yytestcase(yy
22e00 72 75 6c 65 6e 6f 3d 3d 31 33 35 29 3b 0a 7b 20  ruleno==135);.{ 
22e10 0a 09 09 28 28 67 61 69 61 47 65 6f 6d 43 6f 6c  ...((gaiaGeomCol
22e20 6c 50 74 72 29 79 79 6d 73 70 5b 2d 32 5d 2e 6d  lPtr)yymsp[-2].m
22e30 69 6e 6f 72 2e 79 79 30 29 2d 3e 4e 65 78 74 20  inor.yy0)->Next 
22e40 3d 20 28 67 61 69 61 47 65 6f 6d 43 6f 6c 6c 50  = (gaiaGeomCollP
22e50 74 72 29 79 79 6d 73 70 5b 2d 31 5d 2e 6d 69 6e  tr)yymsp[-1].min
22e60 6f 72 2e 79 79 30 3b 0a 09 09 79 79 6d 73 70 5b  or.yy0;...yymsp[
22e70 2d 33 5d 2e 6d 69 6e 6f 72 2e 79 79 30 20 3d 20  -3].minor.yy0 = 
22e80 28 76 6f 69 64 20 2a 29 20 67 65 6f 4a 53 4f 4e  (void *) geoJSON
22e90 5f 67 65 6f 6d 43 6f 6c 6c 5f 78 79 28 70 5f 64  _geomColl_xy(p_d
22ea0 61 74 61 2c 20 28 67 61 69 61 47 65 6f 6d 43 6f  ata, (gaiaGeomCo
22eb0 6c 6c 50 74 72 29 79 79 6d 73 70 5b 2d 32 5d 2e  llPtr)yymsp[-2].
22ec0 6d 69 6e 6f 72 2e 79 79 30 29 3b 0a 09 7d 0a 20  minor.yy0);..}. 
22ed0 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20         break;.  
22ee0 20 20 20 20 63 61 73 65 20 31 33 37 3a 20 2f 2a      case 137: /*
22ef0 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 32 20 3a   geocoll_text2 :
22f00 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  := GEOJSON_COMMA
22f10 20 63 6f 6c 6c 5f 70 6f 69 6e 74 20 67 65 6f 63   coll_point geoc
22f20 6f 6c 6c 5f 74 65 78 74 32 20 2a 2f 0a 20 20 20  oll_text2 */.   
22f30 20 20 20 63 61 73 65 20 31 33 38 3a 20 2f 2a 20     case 138: /* 
22f40 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 32 20 3a 3a  geocoll_text2 ::
22f50 3d 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  = GEOJSON_COMMA 
22f60 63 6f 6c 6c 5f 6c 69 6e 65 73 74 72 69 6e 67 20  coll_linestring 
22f70 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 32 20 2a 2f  geocoll_text2 */
22f80 20 79 79 74 65 73 74 63 61 73 65 28 79 79 72 75   yytestcase(yyru
22f90 6c 65 6e 6f 3d 3d 31 33 38 29 3b 0a 20 20 20 20  leno==138);.    
22fa0 20 20 63 61 73 65 20 31 33 39 3a 20 2f 2a 20 67    case 139: /* g
22fb0 65 6f 63 6f 6c 6c 5f 74 65 78 74 32 20 3a 3a 3d  eocoll_text2 ::=
22fc0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 63   GEOJSON_COMMA c
22fd0 6f 6c 6c 5f 70 6f 6c 79 67 6f 6e 20 67 65 6f 63  oll_polygon geoc
22fe0 6f 6c 6c 5f 74 65 78 74 32 20 2a 2f 20 79 79 74  oll_text2 */ yyt
22ff0 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f  estcase(yyruleno
23000 3d 3d 31 33 39 29 3b 0a 20 20 20 20 20 20 63 61  ==139);.      ca
23010 73 65 20 31 34 34 3a 20 2f 2a 20 67 65 6f 63 6f  se 144: /* geoco
23020 6c 6c 5f 74 65 78 74 7a 32 20 3a 3a 3d 20 47 45  ll_textz2 ::= GE
23030 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 63 6f 6c 6c  OJSON_COMMA coll
23040 5f 70 6f 69 6e 74 7a 20 67 65 6f 63 6f 6c 6c 5f  _pointz geocoll_
23050 74 65 78 74 7a 32 20 2a 2f 20 79 79 74 65 73 74  textz2 */ yytest
23060 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 31  case(yyruleno==1
23070 34 34 29 3b 0a 20 20 20 20 20 20 63 61 73 65 20  44);.      case 
23080 31 34 35 3a 20 2f 2a 20 67 65 6f 63 6f 6c 6c 5f  145: /* geocoll_
23090 74 65 78 74 7a 32 20 3a 3a 3d 20 47 45 4f 4a 53  textz2 ::= GEOJS
230a0 4f 4e 5f 43 4f 4d 4d 41 20 63 6f 6c 6c 5f 6c 69  ON_COMMA coll_li
230b0 6e 65 73 74 72 69 6e 67 7a 20 67 65 6f 63 6f 6c  nestringz geocol
230c0 6c 5f 74 65 78 74 7a 32 20 2a 2f 20 79 79 74 65  l_textz2 */ yyte
230d0 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d  stcase(yyruleno=
230e0 3d 31 34 35 29 3b 0a 20 20 20 20 20 20 63 61 73  =145);.      cas
230f0 65 20 31 34 36 3a 20 2f 2a 20 67 65 6f 63 6f 6c  e 146: /* geocol
23100 6c 5f 74 65 78 74 7a 32 20 3a 3a 3d 20 47 45 4f  l_textz2 ::= GEO
23110 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 63 6f 6c 6c 5f  JSON_COMMA coll_
23120 70 6f 6c 79 67 6f 6e 7a 20 67 65 6f 63 6f 6c 6c  polygonz geocoll
23130 5f 74 65 78 74 7a 32 20 2a 2f 20 79 79 74 65 73  _textz2 */ yytes
23140 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d  tcase(yyruleno==
23150 31 34 36 29 3b 0a 7b 0a 09 09 28 28 67 61 69 61  146);.{...((gaia
23160 47 65 6f 6d 43 6f 6c 6c 50 74 72 29 79 79 6d 73  GeomCollPtr)yyms
23170 70 5b 2d 31 5d 2e 6d 69 6e 6f 72 2e 79 79 30 29  p[-1].minor.yy0)
23180 2d 3e 4e 65 78 74 20 3d 20 28 67 61 69 61 47 65  ->Next = (gaiaGe
23190 6f 6d 43 6f 6c 6c 50 74 72 29 79 79 6d 73 70 5b  omCollPtr)yymsp[
231a0 30 5d 2e 6d 69 6e 6f 72 2e 79 79 30 3b 0a 09 09  0].minor.yy0;...
231b0 79 79 6d 73 70 5b 2d 32 5d 2e 6d 69 6e 6f 72 2e  yymsp[-2].minor.
231c0 79 79 30 20 3d 20 79 79 6d 73 70 5b 2d 31 5d 2e  yy0 = yymsp[-1].
231d0 6d 69 6e 6f 72 2e 79 79 30 3b 0a 09 7d 0a 20 20  minor.yy0;..}.  
231e0 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20        break;.   
231f0 20 20 20 63 61 73 65 20 31 34 30 3a 20 2f 2a 20     case 140: /* 
23200 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 20 3a 3a  geocoll_textz ::
23210 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42  = GEOJSON_OPEN_B
23220 52 41 43 4b 45 54 20 63 6f 6c 6c 5f 70 6f 69 6e  RACKET coll_poin
23230 74 7a 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a  tz geocoll_textz
23240 32 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f  2 GEOJSON_CLOSE_
23250 42 52 41 43 4b 45 54 20 2a 2f 0a 20 20 20 20 20  BRACKET */.     
23260 20 63 61 73 65 20 31 34 31 3a 20 2f 2a 20 67 65   case 141: /* ge
23270 6f 63 6f 6c 6c 5f 74 65 78 74 7a 20 3a 3a 3d 20  ocoll_textz ::= 
23280 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
23290 43 4b 45 54 20 63 6f 6c 6c 5f 6c 69 6e 65 73 74  CKET coll_linest
232a0 72 69 6e 67 7a 20 67 65 6f 63 6f 6c 6c 5f 74 65  ringz geocoll_te
232b0 78 74 7a 32 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f  xtz2 GEOJSON_CLO
232c0 53 45 5f 42 52 41 43 4b 45 54 20 2a 2f 20 79 79  SE_BRACKET */ yy
232d0 74 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e  testcase(yyrulen
232e0 6f 3d 3d 31 34 31 29 3b 0a 20 20 20 20 20 20 63  o==141);.      c
232f0 61 73 65 20 31 34 32 3a 20 2f 2a 20 67 65 6f 63  ase 142: /* geoc
23300 6f 6c 6c 5f 74 65 78 74 7a 20 3a 3a 3d 20 47 45  oll_textz ::= GE
23310 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 4b  OJSON_OPEN_BRACK
23320 45 54 20 63 6f 6c 6c 5f 70 6f 6c 79 67 6f 6e 7a  ET coll_polygonz
23330 20 67 65 6f 63 6f 6c 6c 5f 74 65 78 74 7a 32 20   geocoll_textz2 
23340 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52  GEOJSON_CLOSE_BR
23350 41 43 4b 45 54 20 2a 2f 20 79 79 74 65 73 74 63  ACKET */ yytestc
23360 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 31 34  ase(yyruleno==14
23370 32 29 3b 0a 7b 20 0a 09 09 28 28 67 61 69 61 47  2);.{ ...((gaiaG
23380 65 6f 6d 43 6f 6c 6c 50 74 72 29 79 79 6d 73 70  eomCollPtr)yymsp
23390 5b 2d 32 5d 2e 6d 69 6e 6f 72 2e 79 79 30 29 2d  [-2].minor.yy0)-
233a0 3e 4e 65 78 74 20 3d 20 28 67 61 69 61 47 65 6f  >Next = (gaiaGeo
233b0 6d 43 6f 6c 6c 50 74 72 29 79 79 6d 73 70 5b 2d  mCollPtr)yymsp[-
233c0 31 5d 2e 6d 69 6e 6f 72 2e 79 79 30 3b 0a 09 09  1].minor.yy0;...
233d0 79 79 6d 73 70 5b 2d 33 5d 2e 6d 69 6e 6f 72 2e  yymsp[-3].minor.
233e0 79 79 30 20 3d 20 28 76 6f 69 64 20 2a 29 20 67  yy0 = (void *) g
233f0 65 6f 4a 53 4f 4e 5f 67 65 6f 6d 43 6f 6c 6c 5f  eoJSON_geomColl_
23400 78 79 7a 28 70 5f 64 61 74 61 2c 20 28 67 61 69  xyz(p_data, (gai
23410 61 47 65 6f 6d 43 6f 6c 6c 50 74 72 29 79 79 6d  aGeomCollPtr)yym
23420 73 70 5b 2d 32 5d 2e 6d 69 6e 6f 72 2e 79 79 30  sp[-2].minor.yy0
23430 29 3b 0a 09 7d 0a 20 20 20 20 20 20 20 20 62 72  );..}.        br
23440 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20  eak;.      case 
23450 31 34 37 3a 20 2f 2a 20 63 6f 6c 6c 5f 70 6f 69  147: /* coll_poi
23460 6e 74 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f  nt ::= GEOJSON_O
23470 50 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f  PEN_BRACE GEOJSO
23480 4e 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43  N_TYPE GEOJSON_C
23490 4f 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49  OLON GEOJSON_POI
234a0 4e 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41  NT GEOJSON_COMMA
234b0 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20   GEOJSON_COORDS 
234c0 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f  GEOJSON_COLON po
234d0 69 6e 74 5f 63 6f 6f 72 64 78 79 20 47 45 4f 4a  int_coordxy GEOJ
234e0 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20  SON_CLOSE_BRACE 
234f0 2a 2f 0a 20 20 20 20 20 20 63 61 73 65 20 31 34  */.      case 14
23500 38 3a 20 2f 2a 20 63 6f 6c 6c 5f 70 6f 69 6e 74  8: /* coll_point
23510 7a 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50  z ::= GEOJSON_OP
23520 45 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e  EN_BRACE GEOJSON
23530 5f 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f  _TYPE GEOJSON_CO
23540 4c 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 50 4f 49 4e  LON GEOJSON_POIN
23550 54 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20  T GEOJSON_COMMA 
23560 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47  GEOJSON_COORDS G
23570 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 70 6f 69  EOJSON_COLON poi
23580 6e 74 5f 63 6f 6f 72 64 78 79 7a 20 47 45 4f 4a  nt_coordxyz GEOJ
23590 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45 20  SON_CLOSE_BRACE 
235a0 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28 79 79  */ yytestcase(yy
235b0 72 75 6c 65 6e 6f 3d 3d 31 34 38 29 3b 0a 7b 20  ruleno==148);.{ 
235c0 79 79 6d 73 70 5b 2d 38 5d 2e 6d 69 6e 6f 72 2e  yymsp[-8].minor.
235d0 79 79 30 20 3d 20 67 65 6f 4a 53 4f 4e 5f 62 75  yy0 = geoJSON_bu
235e0 69 6c 64 47 65 6f 6d 46 72 6f 6d 50 6f 69 6e 74  ildGeomFromPoint
235f0 28 70 5f 64 61 74 61 2c 20 28 67 61 69 61 50 6f  (p_data, (gaiaPo
23600 69 6e 74 50 74 72 29 79 79 6d 73 70 5b 2d 31 5d  intPtr)yymsp[-1]
23610 2e 6d 69 6e 6f 72 2e 79 79 30 29 3b 20 7d 0a 20  .minor.yy0); }. 
23620 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20         break;.  
23630 20 20 20 20 63 61 73 65 20 31 34 39 3a 20 2f 2a      case 149: /*
23640 20 63 6f 6c 6c 5f 6c 69 6e 65 73 74 72 69 6e 67   coll_linestring
23650 20 3a 3a 3d 20 47 45 4f 4a 53 4f 4e 5f 4f 50 45   ::= GEOJSON_OPE
23660 4e 5f 42 52 41 43 45 20 47 45 4f 4a 53 4f 4e 5f  N_BRACE GEOJSON_
23670 54 59 50 45 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c  TYPE GEOJSON_COL
23680 4f 4e 20 47 45 4f 4a 53 4f 4e 5f 4c 49 4e 45 53  ON GEOJSON_LINES
23690 54 52 49 4e 47 20 47 45 4f 4a 53 4f 4e 5f 43 4f  TRING GEOJSON_CO
236a0 4d 4d 41 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4f 52  MMA GEOJSON_COOR
236b0 44 53 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e  DS GEOJSON_COLON
236c0 20 6c 69 6e 65 73 74 72 69 6e 67 5f 74 65 78 74   linestring_text
236d0 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42   GEOJSON_CLOSE_B
236e0 52 41 43 45 20 2a 2f 0a 20 20 20 20 20 20 63 61  RACE */.      ca
236f0 73 65 20 31 35 30 3a 20 2f 2a 20 63 6f 6c 6c 5f  se 150: /* coll_
23700 6c 69 6e 65 73 74 72 69 6e 67 7a 20 3a 3a 3d 20  linestringz ::= 
23710 47 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41  GEOJSON_OPEN_BRA
23720 43 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20  CE GEOJSON_TYPE 
23730 47 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45  GEOJSON_COLON GE
23740 4f 4a 53 4f 4e 5f 4c 49 4e 45 53 54 52 49 4e 47  OJSON_LINESTRING
23750 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47   GEOJSON_COMMA G
23760 45 4f 4a 53 4f 4e 5f 43 4f 4f 52 44 53 20 47 45  EOJSON_COORDS GE
23770 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 6c 69 6e 65  OJSON_COLON line
23780 73 74 72 69 6e 67 5f 74 65 78 74 7a 20 47 45 4f  string_textz GEO
23790 4a 53 4f 4e 5f 43 4c 4f 53 45 5f 42 52 41 43 45  JSON_CLOSE_BRACE
237a0 20 2a 2f 20 79 79 74 65 73 74 63 61 73 65 28 79   */ yytestcase(y
237b0 79 72 75 6c 65 6e 6f 3d 3d 31 35 30 29 3b 0a 7b  yruleno==150);.{
237c0 20 79 79 6d 73 70 5b 2d 38 5d 2e 6d 69 6e 6f 72   yymsp[-8].minor
237d0 2e 79 79 30 20 3d 20 67 65 6f 4a 53 4f 4e 5f 62  .yy0 = geoJSON_b
237e0 75 69 6c 64 47 65 6f 6d 46 72 6f 6d 4c 69 6e 65  uildGeomFromLine
237f0 73 74 72 69 6e 67 28 70 5f 64 61 74 61 2c 20 28  string(p_data, (
23800 67 61 69 61 4c 69 6e 65 73 74 72 69 6e 67 50 74  gaiaLinestringPt
23810 72 29 79 79 6d 73 70 5b 2d 31 5d 2e 6d 69 6e 6f  r)yymsp[-1].mino
23820 72 2e 79 79 30 29 3b 20 7d 0a 20 20 20 20 20 20  r.yy0); }.      
23830 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63    break;.      c
23840 61 73 65 20 31 35 31 3a 20 2f 2a 20 63 6f 6c 6c  ase 151: /* coll
23850 5f 70 6f 6c 79 67 6f 6e 20 3a 3a 3d 20 47 45 4f  _polygon ::= GEO
23860 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43 45 20  JSON_OPEN_BRACE 
23870 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47 45 4f  GEOJSON_TYPE GEO
23880 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f 4a 53  JSON_COLON GEOJS
23890 4f 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f 4a 53  ON_POLYGON GEOJS
238a0 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53 4f 4e  ON_COMMA GEOJSON
238b0 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f 4e 5f  _COORDS GEOJSON_
238c0 43 4f 4c 4f 4e 20 70 6f 6c 79 67 6f 6e 5f 74 65  COLON polygon_te
238d0 78 74 20 47 45 4f 4a 53 4f 4e 5f 43 4c 4f 53 45  xt GEOJSON_CLOSE
238e0 5f 42 52 41 43 45 20 2a 2f 0a 20 20 20 20 20 20  _BRACE */.      
238f0 63 61 73 65 20 31 35 32 3a 20 2f 2a 20 63 6f 6c  case 152: /* col
23900 6c 5f 70 6f 6c 79 67 6f 6e 7a 20 3a 3a 3d 20 47  l_polygonz ::= G
23910 45 4f 4a 53 4f 4e 5f 4f 50 45 4e 5f 42 52 41 43  EOJSON_OPEN_BRAC
23920 45 20 47 45 4f 4a 53 4f 4e 5f 54 59 50 45 20 47  E GEOJSON_TYPE G
23930 45 4f 4a 53 4f 4e 5f 43 4f 4c 4f 4e 20 47 45 4f  EOJSON_COLON GEO
23940 4a 53 4f 4e 5f 50 4f 4c 59 47 4f 4e 20 47 45 4f  JSON_POLYGON GEO
23950 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 47 45 4f 4a 53  JSON_COMMA GEOJS
23960 4f 4e 5f 43 4f 4f 52 44 53 20 47 45 4f 4a 53 4f  ON_COORDS GEOJSO
23970 4e 5f 43 4f 4c 4f 4e 20 70 6f 6c 79 67 6f 6e 5f  N_COLON polygon_
23980 74 65 78 74 7a 20 47 45 4f 4a 53 4f 4e 5f 43 4c  textz GEOJSON_CL
23990 4f 53 45 5f 42 52 41 43 45 20 2a 2f 20 79 79 74  OSE_BRACE */ yyt
239a0 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f  estcase(yyruleno
239b0 3d 3d 31 35 32 29 3b 0a 7b 20 79 79 6d 73 70 5b  ==152);.{ yymsp[
239c0 2d 38 5d 2e 6d 69 6e 6f 72 2e 79 79 30 20 3d 20  -8].minor.yy0 = 
239d0 67 65 6f 4a 53 4f 4e 5f 62 75 69 6c 64 47 65 6f  geoJSON_buildGeo
239e0 6d 46 72 6f 6d 50 6f 6c 79 67 6f 6e 28 70 5f 64  mFromPolygon(p_d
239f0 61 74 61 2c 20 28 67 61 69 61 50 6f 6c 79 67 6f  ata, (gaiaPolygo
23a00 6e 50 74 72 29 79 79 6d 73 70 5b 2d 31 5d 2e 6d  nPtr)yymsp[-1].m
23a10 69 6e 6f 72 2e 79 79 30 29 3b 20 7d 0a 20 20 20  inor.yy0); }.   
23a20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20       break;.    
23a30 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20    default:.     
23a40 20 2f 2a 20 28 31 35 33 29 20 6d 61 69 6e 20 3a   /* (153) main :
23a50 3a 3d 20 69 6e 20 2a 2f 20 79 79 74 65 73 74 63  := in */ yytestc
23a60 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 31 35  ase(yyruleno==15
23a70 33 29 3b 0a 20 20 20 20 20 20 2f 2a 20 28 31 35  3);.      /* (15
23a80 34 29 20 69 6e 20 3a 3a 3d 20 2a 2f 20 79 79 74  4) in ::= */ yyt
23a90 65 73 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f  estcase(yyruleno
23aa0 3d 3d 31 35 34 29 3b 0a 20 20 20 20 20 20 2f 2a  ==154);.      /*
23ab0 20 28 31 35 35 29 20 69 6e 20 3a 3a 3d 20 69 6e   (155) in ::= in
23ac0 20 73 74 61 74 65 20 47 45 4f 4a 53 4f 4e 5f 4e   state GEOJSON_N
23ad0 45 57 4c 49 4e 45 20 2a 2f 20 79 79 74 65 73 74  EWLINE */ yytest
23ae0 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d 31  case(yyruleno==1
23af0 35 35 29 3b 0a 20 20 20 20 20 20 2f 2a 20 28 31  55);.      /* (1
23b00 35 36 29 20 73 74 61 74 65 20 3a 3a 3d 20 70 72  56) state ::= pr
23b10 6f 67 72 61 6d 20 28 4f 50 54 49 4d 49 5a 45 44  ogram (OPTIMIZED
23b20 20 4f 55 54 29 20 2a 2f 20 61 73 73 65 72 74 28   OUT) */ assert(
23b30 79 79 72 75 6c 65 6e 6f 21 3d 31 35 36 29 3b 0a  yyruleno!=156);.
23b40 20 20 20 20 20 20 2f 2a 20 28 31 35 37 29 20 70        /* (157) p
23b50 72 6f 67 72 61 6d 20 3a 3a 3d 20 67 65 6f 5f 74  rogram ::= geo_t
23b60 65 78 74 20 28 4f 50 54 49 4d 49 5a 45 44 20 4f  ext (OPTIMIZED O
23b70 55 54 29 20 2a 2f 20 61 73 73 65 72 74 28 79 79  UT) */ assert(yy
23b80 72 75 6c 65 6e 6f 21 3d 31 35 37 29 3b 0a 20 20  ruleno!=157);.  
23b90 20 20 20 20 2f 2a 20 28 31 35 38 29 20 62 62 6f      /* (158) bbo
23ba0 78 20 3a 3a 3d 20 63 6f 6f 72 64 20 47 45 4f 4a  x ::= coord GEOJ
23bb0 53 4f 4e 5f 43 4f 4d 4d 41 20 63 6f 6f 72 64 20  SON_COMMA coord 
23bc0 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d 41 20 63 6f  GEOJSON_COMMA co
23bd0 6f 72 64 20 47 45 4f 4a 53 4f 4e 5f 43 4f 4d 4d  ord GEOJSON_COMM
23be0 41 20 63 6f 6f 72 64 20 2a 2f 20 79 79 74 65 73  A coord */ yytes
23bf0 74 63 61 73 65 28 79 79 72 75 6c 65 6e 6f 3d 3d  tcase(yyruleno==
23c00 31 35 38 29 3b 0a 20 20 20 20 20 20 20 20 62 72  158);.        br
23c10 65 61 6b 3b 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  eak;./**********
23c20 20 45 6e 64 20 72 65 64 75 63 65 20 61 63 74 69   End reduce acti
23c30 6f 6e 73 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ons ************
23c40 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
23c50 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
23c60 2a 2a 2a 2a 2f 0a 20 20 7d 3b 0a 20 20 61 73 73  ****/.  };.  ass
23c70 65 72 74 28 20 79 79 72 75 6c 65 6e 6f 3c 73 69  ert( yyruleno<si
23c80 7a 65 6f 66 28 79 79 52 75 6c 65 49 6e 66 6f 29  zeof(yyRuleInfo)
23c90 2f 73 69 7a 65 6f 66 28 79 79 52 75 6c 65 49 6e  /sizeof(yyRuleIn
23ca0 66 6f 5b 30 5d 29 20 29 3b 0a 20 20 79 79 67 6f  fo[0]) );.  yygo
23cb0 74 6f 20 3d 20 79 79 52 75 6c 65 49 6e 66 6f 5b  to = yyRuleInfo[
23cc0 79 79 72 75 6c 65 6e 6f 5d 2e 6c 68 73 3b 0a 20  yyruleno].lhs;. 
23cd0 20 79 79 73 69 7a 65 20 3d 20 79 79 52 75 6c 65   yysize = yyRule
23ce0 49 6e 66 6f 5b 79 79 72 75 6c 65 6e 6f 5d 2e 6e  Info[yyruleno].n
23cf0 72 68 73 3b 0a 20 20 79 79 61 63 74 20 3d 20 79  rhs;.  yyact = y
23d00 79 5f 66 69 6e 64 5f 72 65 64 75 63 65 5f 61 63  y_find_reduce_ac
23d10 74 69 6f 6e 28 79 79 6d 73 70 5b 79 79 73 69 7a  tion(yymsp[yysiz
23d20 65 5d 2e 73 74 61 74 65 6e 6f 2c 28 59 59 43 4f  e].stateno,(YYCO
23d30 44 45 54 59 50 45 29 79 79 67 6f 74 6f 29 3b 0a  DETYPE)yygoto);.
23d40 0a 20 20 2f 2a 20 54 68 65 72 65 20 61 72 65 20  .  /* There are 
23d50 6e 6f 20 53 48 49 46 54 52 45 44 55 43 45 20 61  no SHIFTREDUCE a
23d60 63 74 69 6f 6e 73 20 6f 6e 20 6e 6f 6e 74 65 72  ctions on nonter
23d70 6d 69 6e 61 6c 73 20 62 65 63 61 75 73 65 20 74  minals because t
23d80 68 65 20 74 61 62 6c 65 0a 20 20 2a 2a 20 67 65  he table.  ** ge
23d90 6e 65 72 61 74 6f 72 20 68 61 73 20 73 69 6d 70  nerator has simp
23da0 6c 69 66 69 65 64 20 74 68 65 6d 20 74 6f 20 70  lified them to p
23db0 75 72 65 20 52 45 44 55 43 45 20 61 63 74 69 6f  ure REDUCE actio
23dc0 6e 73 2e 20 2a 2f 0a 20 20 61 73 73 65 72 74 28  ns. */.  assert(
23dd0 20 21 28 79 79 61 63 74 3e 59 59 5f 4d 41 58 5f   !(yyact>YY_MAX_
23de0 53 48 49 46 54 20 26 26 20 79 79 61 63 74 3c 3d  SHIFT && yyact<=
23df0 59 59 5f 4d 41 58 5f 53 48 49 46 54 52 45 44 55  YY_MAX_SHIFTREDU
23e00 43 45 29 20 29 3b 0a 0a 20 20 2f 2a 20 49 74 20  CE) );..  /* It 
23e10 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 20  is not possible 
23e20 66 6f 72 20 61 20 52 45 44 55 43 45 20 74 6f 20  for a REDUCE to 
23e30 62 65 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61  be followed by a
23e40 6e 20 65 72 72 6f 72 20 2a 2f 0a 20 20 61 73 73  n error */.  ass
23e50 65 72 74 28 20 79 79 61 63 74 21 3d 59 59 5f 45  ert( yyact!=YY_E
23e60 52 52 4f 52 5f 41 43 54 49 4f 4e 20 29 3b 0a 0a  RROR_ACTION );..
23e70 20 20 79 79 6d 73 70 20 2b 3d 20 79 79 73 69 7a    yymsp += yysiz
23e80 65 2b 31 3b 0a 20 20 79 79 70 50 61 72 73 65 72  e+1;.  yypParser
23e90 2d 3e 79 79 74 6f 73 20 3d 20 79 79 6d 73 70 3b  ->yytos = yymsp;
23ea0 0a 20 20 79 79 6d 73 70 2d 3e 73 74 61 74 65 6e  .  yymsp->staten
23eb0 6f 20 3d 20 28 59 59 41 43 54 49 4f 4e 54 59 50  o = (YYACTIONTYP
23ec0 45 29 79 79 61 63 74 3b 0a 20 20 79 79 6d 73 70  E)yyact;.  yymsp
23ed0 2d 3e 6d 61 6a 6f 72 20 3d 20 28 59 59 43 4f 44  ->major = (YYCOD
23ee0 45 54 59 50 45 29 79 79 67 6f 74 6f 3b 0a 20 20  ETYPE)yygoto;.  
23ef0 79 79 54 72 61 63 65 53 68 69 66 74 28 79 79 70  yyTraceShift(yyp
23f00 50 61 72 73 65 72 2c 20 79 79 61 63 74 2c 20 22  Parser, yyact, "
23f10 2e 2e 2e 20 74 68 65 6e 20 73 68 69 66 74 22 29  ... then shift")
23f20 3b 0a 7d 0a 0a 2f 2a 0a 2a 2a 20 54 68 65 20 66  ;.}../*.** The f
23f30 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 65 78  ollowing code ex
23f40 65 63 75 74 65 73 20 77 68 65 6e 20 74 68 65 20  ecutes when the 
23f50 70 61 72 73 65 20 66 61 69 6c 73 0a 2a 2f 0a 23  parse fails.*/.#
23f60 69 66 6e 64 65 66 20 59 59 4e 4f 45 52 52 4f 52  ifndef YYNOERROR
23f70 52 45 43 4f 56 45 52 59 0a 73 74 61 74 69 63 20  RECOVERY.static 
23f80 76 6f 69 64 20 79 79 5f 70 61 72 73 65 5f 66 61  void yy_parse_fa
23f90 69 6c 65 64 28 0a 20 20 79 79 50 61 72 73 65 72  iled(.  yyParser
23fa0 20 2a 79 79 70 50 61 72 73 65 72 20 20 20 20 20   *yypParser     
23fb0 20 20 20 20 20 20 2f 2a 20 54 68 65 20 70 61 72        /* The par
23fc0 73 65 72 20 2a 2f 0a 29 7b 0a 20 20 50 61 72 73  ser */.){.  Pars
23fd0 65 41 52 47 5f 46 45 54 43 48 3b 0a 23 69 66 6e  eARG_FETCH;.#ifn
23fe0 64 65 66 20 4e 44 45 42 55 47 0a 20 20 69 66 28  def NDEBUG.  if(
23ff0 20 79 79 54 72 61 63 65 46 49 4c 45 20 29 7b 0a   yyTraceFILE ){.
24000 20 20 20 20 66 70 72 69 6e 74 66 28 79 79 54 72      fprintf(yyTr
24010 61 63 65 46 49 4c 45 2c 22 25 73 46 61 69 6c 21  aceFILE,"%sFail!
24020 5c 6e 22 2c 79 79 54 72 61 63 65 50 72 6f 6d 70  \n",yyTracePromp
24030 74 29 3b 0a 20 20 7d 0a 23 65 6e 64 69 66 0a 20  t);.  }.#endif. 
24040 20 77 68 69 6c 65 28 20 79 79 70 50 61 72 73 65   while( yypParse
24050 72 2d 3e 79 79 74 6f 73 3e 79 79 70 50 61 72 73  r->yytos>yypPars
24060 65 72 2d 3e 79 79 73 74 61 63 6b 20 29 20 79 79  er->yystack ) yy
24070 5f 70 6f 70 5f 70 61 72 73 65 72 5f 73 74 61 63  _pop_parser_stac
24080 6b 28 79 79 70 50 61 72 73 65 72 29 3b 0a 20 20  k(yypParser);.  
24090 2f 2a 20 48 65 72 65 20 63 6f 64 65 20 69 73 20  /* Here code is 
240a0 69 6e 73 65 72 74 65 64 20 77 68 69 63 68 20 77  inserted which w
240b0 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 20  ill be executed 
240c0 77 68 65 6e 65 76 65 72 20 74 68 65 0a 20 20 2a  whenever the.  *
240d0 2a 20 70 61 72 73 65 72 20 66 61 69 6c 73 20 2a  * parser fails *
240e0 2f 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 20  /./************ 
240f0 42 65 67 69 6e 20 25 70 61 72 73 65 5f 66 61 69  Begin %parse_fai
24100 6c 75 72 65 20 63 6f 64 65 20 2a 2a 2a 2a 2a 2a  lure code ******
24110 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
24120 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
24130 2a 2f 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  */./************
24140 20 45 6e 64 20 25 70 61 72 73 65 5f 66 61 69 6c   End %parse_fail
24150 75 72 65 20 63 6f 64 65 20 2a 2a 2a 2a 2a 2a 2a  ure code *******
24160 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
24170 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
24180 2a 2a 2f 0a 20 20 50 61 72 73 65 41 52 47 5f 53  **/.  ParseARG_S
24190 54 4f 52 45 3b 20 2f 2a 20 53 75 70 70 72 65 73  TORE; /* Suppres
241a0 73 20 77 61 72 6e 69 6e 67 20 61 62 6f 75 74 20  s warning about 
241b0 75 6e 75 73 65 64 20 25 65 78 74 72 61 5f 61 72  unused %extra_ar
241c0 67 75 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20  gument variable 
241d0 2a 2f 0a 7d 0a 23 65 6e 64 69 66 20 2f 2a 20 59  */.}.#endif /* Y
241e0 59 4e 4f 45 52 52 4f 52 52 45 43 4f 56 45 52 59  YNOERRORRECOVERY
241f0 20 2a 2f 0a 0a 2f 2a 0a 2a 2a 20 54 68 65 20 66   */../*.** The f
24200 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 65 78  ollowing code ex
24210 65 63 75 74 65 73 20 77 68 65 6e 20 61 20 73 79  ecutes when a sy
24220 6e 74 61 78 20 65 72 72 6f 72 20 66 69 72 73 74  ntax error first
24230 20 6f 63 63 75 72 73 2e 0a 2a 2f 0a 73 74 61 74   occurs..*/.stat
24240 69 63 20 76 6f 69 64 20 79 79 5f 73 79 6e 74 61  ic void yy_synta
24250 78 5f 65 72 72 6f 72 28 0a 20 20 79 79 50 61 72  x_error(.  yyPar
24260 73 65 72 20 2a 79 79 70 50 61 72 73 65 72 2c 20  ser *yypParser, 
24270 20 20 20 20 20 20 20 20 20 20 2f 2a 20 54 68 65            /* The
24280 20 70 61 72 73 65 72 20 2a 2f 0a 20 20 69 6e 74   parser */.  int
24290 20 79 79 6d 61 6a 6f 72 2c 20 20 20 20 20 20 20   yymajor,       
242a0 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 54              /* T
242b0 68 65 20 6d 61 6a 6f 72 20 74 79 70 65 20 6f 66  he major type of
242c0 20 74 68 65 20 65 72 72 6f 72 20 74 6f 6b 65 6e   the error token
242d0 20 2a 2f 0a 20 20 50 61 72 73 65 54 4f 4b 45 4e   */.  ParseTOKEN
242e0 54 59 50 45 20 79 79 6d 69 6e 6f 72 20 20 20 20  TYPE yyminor    
242f0 20 20 20 20 20 2f 2a 20 54 68 65 20 6d 69 6e 6f       /* The mino
24300 72 20 74 79 70 65 20 6f 66 20 74 68 65 20 65 72  r type of the er
24310 72 6f 72 20 74 6f 6b 65 6e 20 2a 2f 0a 29 7b 0a  ror token */.){.
24320 20 20 50 61 72 73 65 41 52 47 5f 46 45 54 43 48    ParseARG_FETCH
24330 3b 0a 23 64 65 66 69 6e 65 20 54 4f 4b 45 4e 20  ;.#define TOKEN 
24340 79 79 6d 69 6e 6f 72 0a 2f 2a 2a 2a 2a 2a 2a 2a  yyminor./*******
24350 2a 2a 2a 2a 2a 20 42 65 67 69 6e 20 25 73 79 6e  ***** Begin %syn
24360 74 61 78 5f 65 72 72 6f 72 20 63 6f 64 65 20 2a  tax_error code *
24370 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
24380 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
24390 2a 2a 2a 2a 2a 2a 2a 2f 0a 0a 2f 2a 20 0a 2a 2a  *******/../* .**
243a0 20 77 68 65 6e 20 74 68 65 20 4c 45 4d 4f 4e 20   when the LEMON 
243b0 70 61 72 73 65 72 20 65 6e 63 6f 75 6e 74 65 72  parser encounter
243c0 73 20 61 6e 20 65 72 72 6f 72 0a 2a 2a 20 74 68  s an error.** th
243d0 65 6e 20 74 68 69 73 20 67 6c 6f 62 61 6c 20 76  en this global v
243e0 61 72 69 61 62 6c 65 20 69 73 20 73 65 74 20 0a  ariable is set .
243f0 2a 2f 0a 09 70 5f 64 61 74 61 2d 3e 67 65 6f 4a  */..p_data->geoJ
24400 73 6f 6e 5f 70 61 72 73 65 5f 65 72 72 6f 72 20  son_parse_error 
24410 3d 20 31 3b 0a 09 70 5f 64 61 74 61 2d 3e 72 65  = 1;..p_data->re
24420 73 75 6c 74 20 3d 20 4e 55 4c 4c 3b 0a 2f 2a 2a  sult = NULL;./**
24430 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 45 6e 64 20 25  ********** End %
24440 73 79 6e 74 61 78 5f 65 72 72 6f 72 20 63 6f 64  syntax_error cod
24450 65 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  e **************
24460 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
24470 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0a 20 20  ************/.  
24480 50 61 72 73 65 41 52 47 5f 53 54 4f 52 45 3b 20  ParseARG_STORE; 
24490 2f 2a 20 53 75 70 70 72 65 73 73 20 77 61 72 6e  /* Suppress warn
244a0 69 6e 67 20 61 62 6f 75 74 20 75 6e 75 73 65 64  ing about unused
244b0 20 25 65 78 74 72 61 5f 61 72 67 75 6d 65 6e 74   %extra_argument
244c0 20 76 61 72 69 61 62 6c 65 20 2a 2f 0a 7d 0a 0a   variable */.}..
244d0 2f 2a 0a 2a 2a 20 54 68 65 20 66 6f 6c 6c 6f 77  /*.** The follow
244e0 69 6e 67 20 69 73 20 65 78 65 63 75 74 65 64 20  ing is executed 
244f0 77 68 65 6e 20 74 68 65 20 70 61 72 73 65 72 20  when the parser 
24500 61 63 63 65 70 74 73 0a 2a 2f 0a 73 74 61 74 69  accepts.*/.stati
24510 63 20 76 6f 69 64 20 79 79 5f 61 63 63 65 70 74  c void yy_accept
24520 28 0a 20 20 79 79 50 61 72 73 65 72 20 2a 79 79  (.  yyParser *yy
24530 70 50 61 72 73 65 72 20 20 20 20 20 20 20 20 20  pParser         
24540 20 20 2f 2a 20 54 68 65 20 70 61 72 73 65 72 20    /* The parser 
24550 2a 2f 0a 29 7b 0a 20 20 50 61 72 73 65 41 52 47  */.){.  ParseARG
24560 5f 46 45 54 43 48 3b 0a 23 69 66 6e 64 65 66 20  _FETCH;.#ifndef 
24570 4e 44 45 42 55 47 0a 20 20 69 66 28 20 79 79 54  NDEBUG.  if( yyT
24580 72 61 63 65 46 49 4c 45 20 29 7b 0a 20 20 20 20  raceFILE ){.    
24590 66 70 72 69 6e 74 66 28 79 79 54 72 61 63 65 46  fprintf(yyTraceF
245a0 49 4c 45 2c 22 25 73 41 63 63 65 70 74 21 5c 6e  ILE,"%sAccept!\n
245b0 22 2c 79 79 54 72 61 63 65 50 72 6f 6d 70 74 29  ",yyTracePrompt)
245c0 3b 0a 20 20 7d 0a 23 65 6e 64 69 66 0a 23 69 66  ;.  }.#endif.#if
245d0 6e 64 65 66 20 59 59 4e 4f 45 52 52 4f 52 52 45  ndef YYNOERRORRE
245e0 43 4f 56 45 52 59 0a 20 20 79 79 70 50 61 72 73  COVERY.  yypPars
245f0 65 72 2d 3e 79 79 65 72 72 63 6e 74 20 3d 20 2d  er->yyerrcnt = -
24600 31 3b 0a 23 65 6e 64 69 66 0a 20 20 61 73 73 65  1;.#endif.  asse
24610 72 74 28 20 79 79 70 50 61 72 73 65 72 2d 3e 79  rt( yypParser->y
24620 79 74 6f 73 3d 3d 79 79 70 50 61 72 73 65 72 2d  ytos==yypParser-
24630 3e 79 79 73 74 61 63 6b 20 29 3b 0a 20 20 2f 2a  >yystack );.  /*
24640 20 48 65 72 65 20 63 6f 64 65 20 69 73 20 69 6e   Here code is in
24650 73 65 72 74 65 64 20 77 68 69 63 68 20 77 69 6c  serted which wil
24660 6c 20 62 65 20 65 78 65 63 75 74 65 64 20 77 68  l be executed wh
24670 65 6e 65 76 65 72 20 74 68 65 0a 20 20 2a 2a 20  enever the.  ** 
24680 70 61 72 73 65 72 20 61 63 63 65 70 74 73 20 2a  parser accepts *
24690 2f 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 42  /./*********** B
246a0 65 67 69 6e 20 25 70 61 72 73 65 5f 61 63 63 65  egin %parse_acce
246b0 70 74 20 63 6f 64 65 20 2a 2a 2a 2a 2a 2a 2a 2a  pt code ********
246c0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
246d0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
246e0 2a 2f 0a 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 20  */./*********** 
246f0 45 6e 64 20 25 70 61 72 73 65 5f 61 63 63 65 70  End %parse_accep
24700 74 20 63 6f 64 65 20 2a 2a 2a 2a 2a 2a 2a 2a 2a  t code *********
24710 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
24720 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
24730 2a 2a 2f 0a 20 20 50 61 72 73 65 41 52 47 5f 53  **/.  ParseARG_S
24740 54 4f 52 45 3b 20 2f 2a 20 53 75 70 70 72 65 73  TORE; /* Suppres
24750 73 20 77 61 72 6e 69 6e 67 20 61 62 6f 75 74 20  s warning about 
24760 75 6e 75 73 65 64 20 25 65 78 74 72 61 5f 61 72  unused %extra_ar
24770 67 75 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20  gument variable 
24780 2a 2f 0a 7d 0a 0a 2f 2a 20 54 68 65 20 6d 61 69  */.}../* The mai
24790 6e 20 70 61 72 73 65 72 20 70 72 6f 67 72 61 6d  n parser program
247a0 2e 0a 2a 2a 20 54 68 65 20 66 69 72 73 74 20 61  ..** The first a
247b0 72 67 75 6d 65 6e 74 20 69 73 20 61 20 70 6f 69  rgument is a poi
247c0 6e 74 65 72 20 74 6f 20 61 20 73 74 72 75 63 74  nter to a struct
247d0 75 72 65 20 6f 62 74 61 69 6e 65 64 20 66 72 6f  ure obtained fro
247e0 6d 0a 2a 2a 20 22 50 61 72 73 65 41 6c 6c 6f 63  m.** "ParseAlloc
247f0 22 20 77 68 69 63 68 20 64 65 73 63 72 69 62 65  " which describe
24800 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74  s the current st
24810 61 74 65 20 6f 66 20 74 68 65 20 70 61 72 73 65  ate of the parse
24820 72 2e 0a 2a 2a 20 54 68 65 20 73 65 63 6f 6e 64  r..** The second
24830 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65   argument is the
24840 20 6d 61 6a 6f 72 20 74 6f 6b 65 6e 20 6e 75 6d   major token num
24850 62 65 72 2e 20 20 54 68 65 20 74 68 69 72 64 20  ber.  The third 
24860 69 73 0a 2a 2a 20 74 68 65 20 6d 69 6e 6f 72 20  is.** the minor 
24870 74 6f 6b 65 6e 2e 20 20 54 68 65 20 66 6f 75 72  token.  The four
24880 74 68 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75  th optional argu
24890 6d 65 6e 74 20 69 73 20 77 68 61 74 65 76 65 72  ment is whatever
248a0 20 74 68 65 0a 2a 2a 20 75 73 65 72 20 77 61 6e   the.** user wan
248b0 74 73 20 28 61 6e 64 20 73 70 65 63 69 66 69 65  ts (and specifie
248c0 64 20 69 6e 20 74 68 65 20 67 72 61 6d 6d 61 72  d in the grammar
248d0 29 20 61 6e 64 20 69 73 20 61 76 61 69 6c 61 62  ) and is availab
248e0 6c 65 20 66 6f 72 0a 2a 2a 20 75 73 65 20 62 79  le for.** use by
248f0 20 74 68 65 20 61 63 74 69 6f 6e 20 72 6f 75 74   the action rout
24900 69 6e 65 73 2e 0a 2a 2a 0a 2a 2a 20 49 6e 70 75  ines..**.** Inpu
24910 74 73 3a 0a 2a 2a 20 3c 75 6c 3e 0a 2a 2a 20 3c  ts:.** <ul>.** <
24920 6c 69 3e 20 41 20 70 6f 69 6e 74 65 72 20 74 6f  li> A pointer to
24930 20 74 68 65 20 70 61 72 73 65 72 20 28 61 6e 20   the parser (an 
24940 6f 70 61 71 75 65 20 73 74 72 75 63 74 75 72 65  opaque structure
24950 2e 29 0a 2a 2a 20 3c 6c 69 3e 20 54 68 65 20 6d  .).** <li> The m
24960 61 6a 6f 72 20 74 6f 6b 65 6e 20 6e 75 6d 62 65  ajor token numbe
24970 72 2e 0a 2a 2a 20 3c 6c 69 3e 20 54 68 65 20 6d  r..** <li> The m
24980 69 6e 6f 72 20 74 6f 6b 65 6e 20 6e 75 6d 62 65  inor token numbe
24990 72 2e 0a 2a 2a 20 3c 6c 69 3e 20 41 6e 20 6f 70  r..** <li> An op
249a0 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 20 6f 66  tion argument of
249b0 20 61 20 67 72 61 6d 6d 61 72 2d 73 70 65 63 69   a grammar-speci
249c0 66 69 65 64 20 74 79 70 65 2e 0a 2a 2a 20 3c 2f  fied type..** </
249d0 75 6c 3e 0a 2a 2a 0a 2a 2a 20 4f 75 74 70 75 74  ul>.**.** Output
249e0 73 3a 0a 2a 2a 20 4e 6f 6e 65 2e 0a 2a 2f 0a 76  s:.** None..*/.v
249f0 6f 69 64 20 50 61 72 73 65 28 0a 20 20 76 6f 69  oid Parse(.  voi
24a00 64 20 2a 79 79 70 2c 20 20 20 20 20 20 20 20 20  d *yyp,         
24a10 20 20 20 20 20 20 20 20 20 20 2f 2a 20 54 68 65            /* The
24a20 20 70 61 72 73 65 72 20 2a 2f 0a 20 20 69 6e 74   parser */.  int
24a30 20 79 79 6d 61 6a 6f 72 2c 20 20 20 20 20 20 20   yymajor,       
24a40 20 20 20 20 20 20 20 20 20 20 2f 2a 20 54 68 65            /* The
24a50 20 6d 61 6a 6f 72 20 74 6f 6b 65 6e 20 63 6f 64   major token cod
24a60 65 20 6e 75 6d 62 65 72 20 2a 2f 0a 20 20 50 61  e number */.  Pa
24a70 72 73 65 54 4f 4b 45 4e 54 59 50 45 20 79 79 6d  rseTOKENTYPE yym
24a80 69 6e 6f 72 20 20 20 20 20 20 20 2f 2a 20 54 68  inor       /* Th
24a90 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20  e value for the 
24aa0 74 6f 6b 65 6e 20 2a 2f 0a 20 20 50 61 72 73 65  token */.  Parse
24ab0 41 52 47 5f 50 44 45 43 4c 20 20 20 20 20 20 20  ARG_PDECL       
24ac0 20 20 20 20 20 20 20 20 2f 2a 20 4f 70 74 69 6f          /* Optio
24ad0 6e 61 6c 20 25 65 78 74 72 61 5f 61 72 67 75 6d  nal %extra_argum
24ae0 65 6e 74 20 70 61 72 61 6d 65 74 65 72 20 2a 2f  ent parameter */
24af0 0a 29 7b 0a 20 20 59 59 4d 49 4e 4f 52 54 59 50  .){.  YYMINORTYP
24b00 45 20 79 79 6d 69 6e 6f 72 75 6e 69 6f 6e 3b 0a  E yyminorunion;.
24b10 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 79    unsigned int y
24b20 79 61 63 74 3b 20 20 20 2f 2a 20 54 68 65 20 70  yact;   /* The p
24b30 61 72 73 65 72 20 61 63 74 69 6f 6e 2e 20 2a 2f  arser action. */
24b40 0a 23 69 66 20 21 64 65 66 69 6e 65 64 28 59 59  .#if !defined(YY
24b50 45 52 52 4f 52 53 59 4d 42 4f 4c 29 20 26 26 20  ERRORSYMBOL) && 
24b60 21 64 65 66 69 6e 65 64 28 59 59 4e 4f 45 52 52  !defined(YYNOERR
24b70 4f 52 52 45 43 4f 56 45 52 59 29 0a 20 20 69 6e  ORRECOVERY).  in
24b80 74 20 79 79 65 6e 64 6f 66 69 6e 70 75 74 3b 20  t yyendofinput; 
24b90 20 20 20 20 2f 2a 20 54 72 75 65 20 69 66 20 77      /* True if w
24ba0 65 20 61 72 65 20 61 74 20 74 68 65 20 65 6e 64  e are at the end
24bb0 20 6f 66 20 69 6e 70 75 74 20 2a 2f 0a 23 65 6e   of input */.#en
24bc0 64 69 66 0a 23 69 66 64 65 66 20 59 59 45 52 52  dif.#ifdef YYERR
24bd0 4f 52 53 59 4d 42 4f 4c 0a 20 20 69 6e 74 20 79  ORSYMBOL.  int y
24be0 79 65 72 72 6f 72 68 69 74 20 3d 20 30 3b 20 20  yerrorhit = 0;  
24bf0 20 2f 2a 20 54 72 75 65 20 69 66 20 79 79 6d 61   /* True if yyma
24c00 6a 6f 72 20 68 61 73 20 69 6e 76 6f 6b 65 64 20  jor has invoked 
24c10 61 6e 20 65 72 72 6f 72 20 2a 2f 0a 23 65 6e 64  an error */.#end
24c20 69 66 0a 20 20 79 79 50 61 72 73 65 72 20 2a 79  if.  yyParser *y
24c30 79 70 50 61 72 73 65 72 3b 20 20 2f 2a 20 54 68  ypParser;  /* Th
24c40 65 20 70 61 72 73 65 72 20 2a 2f 0a 0a 20 20 79  e parser */..  y
24c50 79 70 50 61 72 73 65 72 20 3d 20 28 79 79 50 61  ypParser = (yyPa
24c60 72 73 65 72 2a 29 79 79 70 3b 0a 20 20 61 73 73  rser*)yyp;.  ass
24c70 65 72 74 28 20 79 79 70 50 61 72 73 65 72 2d 3e  ert( yypParser->
24c80 79 79 74 6f 73 21 3d 30 20 29 3b 0a 23 69 66 20  yytos!=0 );.#if 
24c90 21 64 65 66 69 6e 65 64 28 59 59 45 52 52 4f 52  !defined(YYERROR
24ca0 53 59 4d 42 4f 4c 29 20 26 26 20 21 64 65 66 69  SYMBOL) && !defi
24cb0 6e 65 64 28 59 59 4e 4f 45 52 52 4f 52 52 45 43  ned(YYNOERRORREC
24cc0 4f 56 45 52 59 29 0a 20 20 79 79 65 6e 64 6f 66  OVERY).  yyendof
24cd0 69 6e 70 75 74 20 3d 20 28 79 79 6d 61 6a 6f 72  input = (yymajor
24ce0 3d 3d 30 29 3b 0a 23 65 6e 64 69 66 0a 20 20 50  ==0);.#endif.  P
24cf0 61 72 73 65 41 52 47 5f 53 54 4f 52 45 3b 0a 0a  arseARG_STORE;..
24d00 23 69 66 6e 64 65 66 20 4e 44 45 42 55 47 0a 20  #ifndef NDEBUG. 
24d10 20 69 66 28 20 79 79 54 72 61 63 65 46 49 4c 45   if( yyTraceFILE
24d20 20 29 7b 0a 20 20 20 20 69 6e 74 20 73 74 61 74   ){.    int stat
24d30 65 6e 6f 20 3d 20 79 79 70 50 61 72 73 65 72 2d  eno = yypParser-
24d40 3e 79 79 74 6f 73 2d 3e 73 74 61 74 65 6e 6f 3b  >yytos->stateno;
24d50 0a 20 20 20 20 69 66 28 20 73 74 61 74 65 6e 6f  .    if( stateno
24d60 20 3c 20 59 59 5f 4d 49 4e 5f 52 45 44 55 43 45   < YY_MIN_REDUCE
24d70 20 29 7b 0a 20 20 20 20 20 20 66 70 72 69 6e 74   ){.      fprint
24d80 66 28 79 79 54 72 61 63 65 46 49 4c 45 2c 22 25  f(yyTraceFILE,"%
24d90 73 49 6e 70 75 74 20 27 25 73 27 20 69 6e 20 73  sInput '%s' in s
24da0 74 61 74 65 20 25 64 5c 6e 22 2c 0a 20 20 20 20  tate %d\n",.    
24db0 20 20 20 20 20 20 20 20 20 20 79 79 54 72 61 63            yyTrac
24dc0 65 50 72 6f 6d 70 74 2c 79 79 54 6f 6b 65 6e 4e  ePrompt,yyTokenN
24dd0 61 6d 65 5b 79 79 6d 61 6a 6f 72 5d 2c 73 74 61  ame[yymajor],sta
24de0 74 65 6e 6f 29 3b 0a 20 20 20 20 7d 65 6c 73 65  teno);.    }else
24df0 7b 0a 20 20 20 20 20 20 66 70 72 69 6e 74 66 28  {.      fprintf(
24e00 79 79 54 72 61 63 65 46 49 4c 45 2c 22 25 73 49  yyTraceFILE,"%sI
24e10 6e 70 75 74 20 27 25 73 27 20 77 69 74 68 20 70  nput '%s' with p
24e20 65 6e 64 69 6e 67 20 72 65 64 75 63 65 20 25 64  ending reduce %d
24e30 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20  \n",.           
24e40 20 20 20 79 79 54 72 61 63 65 50 72 6f 6d 70 74     yyTracePrompt
24e50 2c 79 79 54 6f 6b 65 6e 4e 61 6d 65 5b 79 79 6d  ,yyTokenName[yym
24e60 61 6a 6f 72 5d 2c 73 74 61 74 65 6e 6f 2d 59 59  ajor],stateno-YY
24e70 5f 4d 49 4e 5f 52 45 44 55 43 45 29 3b 0a 20 20  _MIN_REDUCE);.  
24e80 20 20 7d 0a 20 20 7d 0a 23 65 6e 64 69 66 0a 0a    }.  }.#endif..
24e90 20 20 64 6f 7b 0a 20 20 20 20 79 79 61 63 74 20    do{.    yyact 
24ea0 3d 20 79 79 5f 66 69 6e 64 5f 73 68 69 66 74 5f  = yy_find_shift_
24eb0 61 63 74 69 6f 6e 28 79 79 70 50 61 72 73 65 72  action(yypParser
24ec0 2c 28 59 59 43 4f 44 45 54 59 50 45 29 79 79 6d  ,(YYCODETYPE)yym
24ed0 61 6a 6f 72 29 3b 0a 20 20 20 20 69 66 28 20 79  ajor);.    if( y
24ee0 79 61 63 74 20 3e 3d 20 59 59 5f 4d 49 4e 5f 52  yact >= YY_MIN_R
24ef0 45 44 55 43 45 20 29 7b 0a 20 20 20 20 20 20 79  EDUCE ){.      y
24f00 79 5f 72 65 64 75 63 65 28 79 79 70 50 61 72 73  y_reduce(yypPars
24f10 65 72 2c 79 79 61 63 74 2d 59 59 5f 4d 49 4e 5f  er,yyact-YY_MIN_
24f20 52 45 44 55 43 45 2c 79 79 6d 61 6a 6f 72 2c 79  REDUCE,yymajor,y
24f30 79 6d 69 6e 6f 72 29 3b 0a 20 20 20 20 7d 65 6c  yminor);.    }el
24f40 73 65 20 69 66 28 20 79 79 61 63 74 20 3c 3d 20  se if( yyact <= 
24f50 59 59 5f 4d 41 58 5f 53 48 49 46 54 52 45 44 55  YY_MAX_SHIFTREDU
24f60 43 45 20 29 7b 0a 20 20 20 20 20 20 79 79 5f 73  CE ){.      yy_s
24f70 68 69 66 74 28 79 79 70 50 61 72 73 65 72 2c 79  hift(yypParser,y
24f80 79 61 63 74 2c 79 79 6d 61 6a 6f 72 2c 79 79 6d  yact,yymajor,yym
24f90 69 6e 6f 72 29 3b 0a 23 69 66 6e 64 65 66 20 59  inor);.#ifndef Y
24fa0 59 4e 4f 45 52 52 4f 52 52 45 43 4f 56 45 52 59  YNOERRORRECOVERY
24fb0 0a 20 20 20 20 20 20 79 79 70 50 61 72 73 65 72  .      yypParser
24fc0 2d 3e 79 79 65 72 72 63 6e 74 2d 2d 3b 0a 23 65  ->yyerrcnt--;.#e
24fd0 6e 64 69 66 0a 20 20 20 20 20 20 79 79 6d 61 6a  ndif.      yymaj
24fe0 6f 72 20 3d 20 59 59 4e 4f 43 4f 44 45 3b 0a 20  or = YYNOCODE;. 
24ff0 20 20 20 7d 65 6c 73 65 20 69 66 28 20 79 79 61     }else if( yya
25000 63 74 3d 3d 59 59 5f 41 43 43 45 50 54 5f 41 43  ct==YY_ACCEPT_AC
25010 54 49 4f 4e 20 29 7b 0a 20 20 20 20 20 20 79 79  TION ){.      yy
25020 70 50 61 72 73 65 72 2d 3e 79 79 74 6f 73 2d 2d  pParser->yytos--
25030 3b 0a 20 20 20 20 20 20 79 79 5f 61 63 63 65 70  ;.      yy_accep
25040 74 28 79 79 70 50 61 72 73 65 72 29 3b 0a 20 20  t(yypParser);.  
25050 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20      return;.    
25060 7d 65 6c 73 65 7b 0a 20 20 20 20 20 20 61 73 73  }else{.      ass
25070 65 72 74 28 20 79 79 61 63 74 20 3d 3d 20 59 59  ert( yyact == YY
25080 5f 45 52 52 4f 52 5f 41 43 54 49 4f 4e 20 29 3b  _ERROR_ACTION );
25090 0a 20 20 20 20 20 20 79 79 6d 69 6e 6f 72 75 6e  .      yyminorun
250a0 69 6f 6e 2e 79 79 30 20 3d 20 79 79 6d 69 6e 6f  ion.yy0 = yymino
250b0 72 3b 0a 23 69 66 64 65 66 20 59 59 45 52 52 4f  r;.#ifdef YYERRO
250c0 52 53 59 4d 42 4f 4c 0a 20 20 20 20 20 20 69 6e  RSYMBOL.      in
250d0 74 20 79 79 6d 78 3b 0a 23 65 6e 64 69 66 0a 23  t yymx;.#endif.#
250e0 69 66 6e 64 65 66 20 4e 44 45 42 55 47 0a 20 20  ifndef NDEBUG.  
250f0 20 20 20 20 69 66 28 20 79 79 54 72 61 63 65 46      if( yyTraceF
25100 49 4c 45 20 29 7b 0a 20 20 20 20 20 20 20 20 66  ILE ){.        f
25110 70 72 69 6e 74 66 28 79 79 54 72 61 63 65 46 49  printf(yyTraceFI
25120 4c 45 2c 22 25 73 53 79 6e 74 61 78 20 45 72 72  LE,"%sSyntax Err
25130 6f 72 21 5c 6e 22 2c 79 79 54 72 61 63 65 50 72  or!\n",yyTracePr
25140 6f 6d 70 74 29 3b 0a 20 20 20 20 20 20 7d 0a 23  ompt);.      }.#
25150 65 6e 64 69 66 0a 23 69 66 64 65 66 20 59 59 45  endif.#ifdef YYE
25160 52 52 4f 52 53 59 4d 42 4f 4c 0a 20 20 20 20 20  RRORSYMBOL.     
25170 20 2f 2a 20 41 20 73 79 6e 74 61 78 20 65 72 72   /* A syntax err
25180 6f 72 20 68 61 73 20 6f 63 63 75 72 72 65 64 2e  or has occurred.
25190 0a 20 20 20 20 20 20 2a 2a 20 54 68 65 20 72 65  .      ** The re
251a0 73 70 6f 6e 73 65 20 74 6f 20 61 6e 20 65 72 72  sponse to an err
251b0 6f 72 20 64 65 70 65 6e 64 73 20 75 70 6f 6e 20  or depends upon 
251c0 77 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 20 74  whether or not t
251d0 68 65 0a 20 20 20 20 20 20 2a 2a 20 67 72 61 6d  he.      ** gram
251e0 6d 61 72 20 64 65 66 69 6e 65 73 20 61 6e 20 65  mar defines an e
251f0 72 72 6f 72 20 74 6f 6b 65 6e 20 22 45 52 52 4f  rror token "ERRO
25200 52 22 2e 20 20 0a 20 20 20 20 20 20 2a 2a 0a 20  R".  .      **. 
25210 20 20 20 20 20 2a 2a 20 54 68 69 73 20 69 73 20       ** This is 
25220 77 68 61 74 20 77 65 20 64 6f 20 69 66 20 74 68  what we do if th
25230 65 20 67 72 61 6d 6d 61 72 20 64 6f 65 73 20 64  e grammar does d
25240 65 66 69 6e 65 20 45 52 52 4f 52 3a 0a 20 20 20  efine ERROR:.   
25250 20 20 20 2a 2a 0a 20 20 20 20 20 20 2a 2a 20 20     **.      **  
25260 2a 20 43 61 6c 6c 20 74 68 65 20 25 73 79 6e 74  * Call the %synt
25270 61 78 5f 65 72 72 6f 72 20 66 75 6e 63 74 69 6f  ax_error functio
25280 6e 2e 0a 20 20 20 20 20 20 2a 2a 0a 20 20 20 20  n..      **.    
25290 20 20 2a 2a 20 20 2a 20 42 65 67 69 6e 20 70 6f    **  * Begin po
252a0 70 70 69 6e 67 20 74 68 65 20 73 74 61 63 6b 20  pping the stack 
252b0 75 6e 74 69 6c 20 77 65 20 65 6e 74 65 72 20 61  until we enter a
252c0 20 73 74 61 74 65 20 77 68 65 72 65 0a 20 20 20   state where.   
252d0 20 20 20 2a 2a 20 20 20 20 69 74 20 69 73 20 6c     **    it is l
252e0 65 67 61 6c 20 74 6f 20 73 68 69 66 74 20 74 68  egal to shift th
252f0 65 20 65 72 72 6f 72 20 73 79 6d 62 6f 6c 2c 20  e error symbol, 
25300 74 68 65 6e 20 73 68 69 66 74 0a 20 20 20 20 20  then shift.     
25310 20 2a 2a 20 20 20 20 74 68 65 20 65 72 72 6f 72   **    the error
25320 20 73 79 6d 62 6f 6c 2e 0a 20 20 20 20 20 20 2a   symbol..      *
25330 2a 0a 20 20 20 20 20 20 2a 2a 20 20 2a 20 53 65  *.      **  * Se
25340 74 20 74 68 65 20 65 72 72 6f 72 20 63 6f 75 6e  t the error coun
25350 74 20 74 6f 20 74 68 72 65 65 2e 0a 20 20 20 20  t to three..    
25360 20 20 2a 2a 0a 20 20 20 20 20 20 2a 2a 20 20 2a    **.      **  *
25370 20 42 65 67 69 6e 20 61 63 63 65 70 74 69 6e 67   Begin accepting
25380 20 61 6e 64 20 73 68 69 66 74 69 6e 67 20 6e 65   and shifting ne
25390 77 20 74 6f 6b 65 6e 73 2e 20 20 4e 6f 20 6e 65  w tokens.  No ne
253a0 77 20 65 72 72 6f 72 0a 20 20 20 20 20 20 2a 2a  w error.      **
253b0 20 20 20 20 70 72 6f 63 65 73 73 69 6e 67 20 77      processing w
253c0 69 6c 6c 20 6f 63 63 75 72 20 75 6e 74 69 6c 20  ill occur until 
253d0 74 68 72 65 65 20 74 6f 6b 65 6e 73 20 68 61 76  three tokens hav
253e0 65 20 62 65 65 6e 0a 20 20 20 20 20 20 2a 2a 20  e been.      ** 
253f0 20 20 20 73 68 69 66 74 65 64 20 73 75 63 63 65     shifted succe
25400 73 73 66 75 6c 6c 79 2e 0a 20 20 20 20 20 20 2a  ssfully..      *
25410 2a 0a 20 20 20 20 20 20 2a 2f 0a 20 20 20 20 20  *.      */.     
25420 20 69 66 28 20 79 79 70 50 61 72 73 65 72 2d 3e   if( yypParser->
25430 79 79 65 72 72 63 6e 74 3c 30 20 29 7b 0a 20 20  yyerrcnt<0 ){.  
25440 20 20 20 20 20 20 79 79 5f 73 79 6e 74 61 78 5f        yy_syntax_
25450 65 72 72 6f 72 28 79 79 70 50 61 72 73 65 72 2c  error(yypParser,
25460 79 79 6d 61 6a 6f 72 2c 79 79 6d 69 6e 6f 72 29  yymajor,yyminor)
25470 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20  ;.      }.      
25480 79 79 6d 78 20 3d 20 79 79 70 50 61 72 73 65 72  yymx = yypParser
25490 2d 3e 79 79 74 6f 73 2d 3e 6d 61 6a 6f 72 3b 0a  ->yytos->major;.
254a0 20 20 20 20 20 20 69 66 28 20 79 79 6d 78 3d 3d        if( yymx==
254b0 59 59 45 52 52 4f 52 53 59 4d 42 4f 4c 20 7c 7c  YYERRORSYMBOL ||
254c0 20 79 79 65 72 72 6f 72 68 69 74 20 29 7b 0a 23   yyerrorhit ){.#
254d0 69 66 6e 64 65 66 20 4e 44 45 42 55 47 0a 20 20  ifndef NDEBUG.  
254e0 20 20 20 20 20 20 69 66 28 20 79 79 54 72 61 63        if( yyTrac
254f0 65 46 49 4c 45 20 29 7b 0a 20 20 20 20 20 20 20  eFILE ){.       
25500 20 20 20 66 70 72 69 6e 74 66 28 79 79 54 72 61     fprintf(yyTra
25510 63 65 46 49 4c 45 2c 22 25 73 44 69 73 63 61 72  ceFILE,"%sDiscar
25520 64 20 69 6e 70 75 74 20 74 6f 6b 65 6e 20 25 73  d input token %s
25530 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20  \n",.           
25540 20 20 79 79 54 72 61 63 65 50 72 6f 6d 70 74 2c    yyTracePrompt,
25550 79 79 54 6f 6b 65 6e 4e 61 6d 65 5b 79 79 6d 61  yyTokenName[yyma
25560 6a 6f 72 5d 29 3b 0a 20 20 20 20 20 20 20 20 7d  jor]);.        }
25570 0a 23 65 6e 64 69 66 0a 20 20 20 20 20 20 20 20  .#endif.        
25580 79 79 5f 64 65 73 74 72 75 63 74 6f 72 28 79 79  yy_destructor(yy
25590 70 50 61 72 73 65 72 2c 20 28 59 59 43 4f 44 45  pParser, (YYCODE
255a0 54 59 50 45 29 79 79 6d 61 6a 6f 72 2c 20 26 79  TYPE)yymajor, &y
255b0 79 6d 69 6e 6f 72 75 6e 69 6f 6e 29 3b 0a 20 20  yminorunion);.  
255c0 20 20 20 20 20 20 79 79 6d 61 6a 6f 72 20 3d 20        yymajor = 
255d0 59 59 4e 4f 43 4f 44 45 3b 0a 20 20 20 20 20 20  YYNOCODE;.      
255e0 7d 65 6c 73 65 7b 0a 20 20 20 20 20 20 20 20 77  }else{.        w
255f0 68 69 6c 65 28 20 79 79 70 50 61 72 73 65 72 2d  hile( yypParser-
25600 3e 79 79 74 6f 73 20 3e 3d 20 79 79 70 50 61 72  >yytos >= yypPar
25610 73 65 72 2d 3e 79 79 73 74 61 63 6b 0a 20 20 20  ser->yystack.   
25620 20 20 20 20 20 20 20 20 20 26 26 20 79 79 6d 78           && yymx
25630 20 21 3d 20 59 59 45 52 52 4f 52 53 59 4d 42 4f   != YYERRORSYMBO
25640 4c 0a 20 20 20 20 20 20 20 20 20 20 20 20 26 26  L.            &&
25650 20 28 79 79 61 63 74 20 3d 20 79 79 5f 66 69 6e   (yyact = yy_fin
25660 64 5f 72 65 64 75 63 65 5f 61 63 74 69 6f 6e 28  d_reduce_action(
25670 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
25680 20 20 20 20 20 20 20 20 20 79 79 70 50 61 72 73           yypPars
25690 65 72 2d 3e 79 79 74 6f 73 2d 3e 73 74 61 74 65  er->yytos->state
256a0 6e 6f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  no,.            
256b0 20 20 20 20 20 20 20 20 20 20 20 20 59 59 45 52              YYER
256c0 52 4f 52 53 59 4d 42 4f 4c 29 29 20 3e 3d 20 59  RORSYMBOL)) >= Y
256d0 59 5f 4d 49 4e 5f 52 45 44 55 43 45 0a 20 20 20  Y_MIN_REDUCE.   
256e0 20 20 20 20 20 29 7b 0a 20 20 20 20 20 20 20 20       ){.        
256f0 20 20 79 79 5f 70 6f 70 5f 70 61 72 73 65 72 5f    yy_pop_parser_
25700 73 74 61 63 6b 28 79 79 70 50 61 72 73 65 72 29  stack(yypParser)
25710 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20  ;.        }.    
25720 20 20 20 20 69 66 28 20 79 79 70 50 61 72 73 65      if( yypParse
25730 72 2d 3e 79 79 74 6f 73 20 3c 20 79 79 70 50 61  r->yytos < yypPa
25740 72 73 65 72 2d 3e 79 79 73 74 61 63 6b 20 7c 7c  rser->yystack ||
25750 20 79 79 6d 61 6a 6f 72 3d 3d 30 20 29 7b 0a 20   yymajor==0 ){. 
25760 20 20 20 20 20 20 20 20 20 79 79 5f 64 65 73 74           yy_dest
25770 72 75 63 74 6f 72 28 79 79 70 50 61 72 73 65 72  ructor(yypParser
25780 2c 28 59 59 43 4f 44 45 54 59 50 45 29 79 79 6d  ,(YYCODETYPE)yym
25790 61 6a 6f 72 2c 26 79 79 6d 69 6e 6f 72 75 6e 69  ajor,&yyminoruni
257a0 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 79  on);.          y
257b0 79 5f 70 61 72 73 65 5f 66 61 69 6c 65 64 28 79  y_parse_failed(y
257c0 79 70 50 61 72 73 65 72 29 3b 0a 23 69 66 6e 64  ypParser);.#ifnd
257d0 65 66 20 59 59 4e 4f 45 52 52 4f 52 52 45 43 4f  ef YYNOERRORRECO
257e0 56 45 52 59 0a 20 20 20 20 20 20 20 20 20 20 79  VERY.          y
257f0 79 70 50 61 72 73 65 72 2d 3e 79 79 65 72 72 63  ypParser->yyerrc
25800 6e 74 20 3d 20 2d 31 3b 0a 23 65 6e 64 69 66 0a  nt = -1;.#endif.
25810 20 20 20 20 20 20 20 20 20 20 79 79 6d 61 6a 6f            yymajo
25820 72 20 3d 20 59 59 4e 4f 43 4f 44 45 3b 0a 20 20  r = YYNOCODE;.  
25830 20 20 20 20 20 20 7d 65 6c 73 65 20 69 66 28 20        }else if( 
25840 79 79 6d 78 21 3d 59 59 45 52 52 4f 52 53 59 4d  yymx!=YYERRORSYM
25850 42 4f 4c 20 29 7b 0a 20 20 20 20 20 20 20 20 20  BOL ){.         
25860 20 79 79 5f 73 68 69 66 74 28 79 79 70 50 61 72   yy_shift(yypPar
25870 73 65 72 2c 79 79 61 63 74 2c 59 59 45 52 52 4f  ser,yyact,YYERRO
25880 52 53 59 4d 42 4f 4c 2c 79 79 6d 69 6e 6f 72 29  RSYMBOL,yyminor)
25890 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20  ;.        }.    
258a0 20 20 7d 0a 20 20 20 20 20 20 79 79 70 50 61 72    }.      yypPar
258b0 73 65 72 2d 3e 79 79 65 72 72 63 6e 74 20 3d 20  ser->yyerrcnt = 
258c0 33 3b 0a 20 20 20 20 20 20 79 79 65 72 72 6f 72  3;.      yyerror
258d0 68 69 74 20 3d 20 31 3b 0a 23 65 6c 69 66 20 64  hit = 1;.#elif d
258e0 65 66 69 6e 65 64 28 59 59 4e 4f 45 52 52 4f 52  efined(YYNOERROR
258f0 52 45 43 4f 56 45 52 59 29 0a 20 20 20 20 20 20  RECOVERY).      
25900 2f 2a 20 49 66 20 74 68 65 20 59 59 4e 4f 45 52  /* If the YYNOER
25910 52 4f 52 52 45 43 4f 56 45 52 59 20 6d 61 63 72  RORRECOVERY macr
25920 6f 20 69 73 20 64 65 66 69 6e 65 64 2c 20 74 68  o is defined, th
25930 65 6e 20 64 6f 20 6e 6f 74 20 61 74 74 65 6d 70  en do not attemp
25940 74 20 74 6f 0a 20 20 20 20 20 20 2a 2a 20 64 6f  t to.      ** do
25950 20 61 6e 79 20 6b 69 6e 64 20 6f 66 20 65 72 72   any kind of err
25960 6f 72 20 72 65 63 6f 76 65 72 79 2e 20 20 49 6e  or recovery.  In
25970 73 74 65 61 64 2c 20 73 69 6d 70 6c 79 20 69 6e  stead, simply in
25980 76 6f 6b 65 20 74 68 65 20 73 79 6e 74 61 78 0a  voke the syntax.
25990 20 20 20 20 20 20 2a 2a 20 65 72 72 6f 72 20 72        ** error r
259a0 6f 75 74 69 6e 65 20 61 6e 64 20 63 6f 6e 74 69  outine and conti
259b0 6e 75 65 20 67 6f 69 6e 67 20 61 73 20 69 66 20  nue going as if 
259c0 6e 6f 74 68 69 6e 67 20 68 61 64 20 68 61 70 70  nothing had happ
259d0 65 6e 65 64 2e 0a 20 20 20 20 20 20 2a 2a 0a 20  ened..      **. 
259e0 20 20 20 20 20 2a 2a 20 41 70 70 6c 69 63 61 74       ** Applicat
259f0 69 6f 6e 73 20 63 61 6e 20 73 65 74 20 74 68 69  ions can set thi
25a00 73 20 6d 61 63 72 6f 20 28 66 6f 72 20 65 78 61  s macro (for exa
25a10 6d 70 6c 65 20 69 6e 73 69 64 65 20 25 69 6e 63  mple inside %inc
25a20 6c 75 64 65 29 20 69 66 0a 20 20 20 20 20 20 2a  lude) if.      *
25a30 2a 20 74 68 65 79 20 69 6e 74 65 6e 64 20 74 6f  * they intend to
25a40 20 61 62 61 6e 64 6f 6e 20 74 68 65 20 70 61 72   abandon the par
25a50 73 65 20 75 70 6f 6e 20 74 68 65 20 66 69 72 73  se upon the firs
25a60 74 20 73 79 6e 74 61 78 20 65 72 72 6f 72 20 73  t syntax error s
25a70 65 65 6e 2e 0a 20 20 20 20 20 20 2a 2f 0a 20 20  een..      */.  
25a80 20 20 20 20 79 79 5f 73 79 6e 74 61 78 5f 65 72      yy_syntax_er
25a90 72 6f 72 28 79 79 70 50 61 72 73 65 72 2c 79 79  ror(yypParser,yy
25aa0 6d 61 6a 6f 72 2c 20 79 79 6d 69 6e 6f 72 29 3b  major, yyminor);
25ab0 0a 20 20 20 20 20 20 79 79 5f 64 65 73 74 72 75  .      yy_destru
25ac0 63 74 6f 72 28 79 79 70 50 61 72 73 65 72 2c 28  ctor(yypParser,(
25ad0 59 59 43 4f 44 45 54 59 50 45 29 79 79 6d 61 6a  YYCODETYPE)yymaj
25ae0 6f 72 2c 26 79 79 6d 69 6e 6f 72 75 6e 69 6f 6e  or,&yyminorunion
25af0 29 3b 0a 20 20 20 20 20 20 79 79 6d 61 6a 6f 72  );.      yymajor
25b00 20 3d 20 59 59 4e 4f 43 4f 44 45 3b 0a 20 20 20   = YYNOCODE;.   
25b10 20 20 20 0a 23 65 6c 73 65 20 20 2f 2a 20 59 59     .#else  /* YY
25b20 45 52 52 4f 52 53 59 4d 42 4f 4c 20 69 73 20 6e  ERRORSYMBOL is n
25b30 6f 74 20 64 65 66 69 6e 65 64 20 2a 2f 0a 20 20  ot defined */.  
25b40 20 20 20 20 2f 2a 20 54 68 69 73 20 69 73 20 77      /* This is w
25b50 68 61 74 20 77 65 20 64 6f 20 69 66 20 74 68 65  hat we do if the
25b60 20 67 72 61 6d 6d 61 72 20 64 6f 65 73 20 6e 6f   grammar does no
25b70 74 20 64 65 66 69 6e 65 20 45 52 52 4f 52 3a 0a  t define ERROR:.
25b80 20 20 20 20 20 20 2a 2a 0a 20 20 20 20 20 20 2a        **.      *
25b90 2a 20 20 2a 20 52 65 70 6f 72 74 20 61 6e 20 65  *  * Report an e
25ba0 72 72 6f 72 20 6d 65 73 73 61 67 65 2c 20 61 6e  rror message, an
25bb0 64 20 74 68 72 6f 77 20 61 77 61 79 20 74 68 65  d throw away the
25bc0 20 69 6e 70 75 74 20 74 6f 6b 65 6e 2e 0a 20 20   input token..  
25bd0 20 20 20 20 2a 2a 0a 20 20 20 20 20 20 2a 2a 20      **.      ** 
25be0 20 2a 20 49 66 20 74 68 65 20 69 6e 70 75 74 20   * If the input 
25bf0 74 6f 6b 65 6e 20 69 73 20 24 2c 20 74 68 65 6e  token is $, then
25c00 20 66 61 69 6c 20 74 68 65 20 70 61 72 73 65 2e   fail the parse.
25c10 0a 20 20 20 20 20 20 2a 2a 0a 20 20 20 20 20 20  .      **.      
25c20 2a 2a 20 41 73 20 62 65 66 6f 72 65 2c 20 73 75  ** As before, su
25c30 62 73 65 71 75 65 6e 74 20 65 72 72 6f 72 20 6d  bsequent error m
25c40 65 73 73 61 67 65 73 20 61 72 65 20 73 75 70 70  essages are supp
25c50 72 65 73 73 65 64 20 75 6e 74 69 6c 0a 20 20 20  ressed until.   
25c60 20 20 20 2a 2a 20 74 68 72 65 65 20 69 6e 70 75     ** three inpu
25c70 74 20 74 6f 6b 65 6e 73 20 68 61 76 65 20 62 65  t tokens have be
25c80 65 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20  en successfully 
25c90 73 68 69 66 74 65 64 2e 0a 20 20 20 20 20 20 2a  shifted..      *
25ca0 2f 0a 20 20 20 20 20 20 69 66 28 20 79 79 70 50  /.      if( yypP
25cb0 61 72 73 65 72 2d 3e 79 79 65 72 72 63 6e 74 3c  arser->yyerrcnt<
25cc0 3d 30 20 29 7b 0a 20 20 20 20 20 20 20 20 79 79  =0 ){.        yy
25cd0 5f 73 79 6e 74 61 78 5f 65 72 72 6f 72 28 79 79  _syntax_error(yy
25ce0 70 50 61 72 73 65 72 2c 79 79 6d 61 6a 6f 72 2c  pParser,yymajor,
25cf0 20 79 79 6d 69 6e 6f 72 29 3b 0a 20 20 20 20 20   yyminor);.     
25d00 20 7d 0a 20 20 20 20 20 20 79 79 70 50 61 72 73   }.      yypPars
25d10 65 72 2d 3e 79 79 65 72 72 63 6e 74 20 3d 20 33  er->yyerrcnt = 3
25d20 3b 0a 20 20 20 20 20 20 79 79 5f 64 65 73 74 72  ;.      yy_destr
25d30 75 63 74 6f 72 28 79 79 70 50 61 72 73 65 72 2c  uctor(yypParser,
25d40 28 59 59 43 4f 44 45 54 59 50 45 29 79 79 6d 61  (YYCODETYPE)yyma
25d50 6a 6f 72 2c 26 79 79 6d 69 6e 6f 72 75 6e 69 6f  jor,&yyminorunio
25d60 6e 29 3b 0a 20 20 20 20 20 20 69 66 28 20 79 79  n);.      if( yy
25d70 65 6e 64 6f 66 69 6e 70 75 74 20 29 7b 0a 20 20  endofinput ){.  
25d80 20 20 20 20 20 20 79 79 5f 70 61 72 73 65 5f 66        yy_parse_f
25d90 61 69 6c 65 64 28 79 79 70 50 61 72 73 65 72 29  ailed(yypParser)
25da0 3b 0a 23 69 66 6e 64 65 66 20 59 59 4e 4f 45 52  ;.#ifndef YYNOER
25db0 52 4f 52 52 45 43 4f 56 45 52 59 0a 20 20 20 20  RORRECOVERY.    
25dc0 20 20 20 20 79 79 70 50 61 72 73 65 72 2d 3e 79      yypParser->y
25dd0 79 65 72 72 63 6e 74 20 3d 20 2d 31 3b 0a 23 65  yerrcnt = -1;.#e
25de0 6e 64 69 66 0a 20 20 20 20 20 20 7d 0a 20 20 20  ndif.      }.   
25df0 20 20 20 79 79 6d 61 6a 6f 72 20 3d 20 59 59 4e     yymajor = YYN
25e00 4f 43 4f 44 45 3b 0a 23 65 6e 64 69 66 0a 20 20  OCODE;.#endif.  
25e10 20 20 7d 0a 20 20 7d 77 68 69 6c 65 28 20 79 79    }.  }while( yy
25e20 6d 61 6a 6f 72 21 3d 59 59 4e 4f 43 4f 44 45 20  major!=YYNOCODE 
25e30 26 26 20 79 79 70 50 61 72 73 65 72 2d 3e 79 79  && yypParser->yy
25e40 74 6f 73 3e 79 79 70 50 61 72 73 65 72 2d 3e 79  tos>yypParser->y
25e50 79 73 74 61 63 6b 20 29 3b 0a 23 69 66 6e 64 65  ystack );.#ifnde
25e60 66 20 4e 44 45 42 55 47 0a 20 20 69 66 28 20 79  f NDEBUG.  if( y
25e70 79 54 72 61 63 65 46 49 4c 45 20 29 7b 0a 20 20  yTraceFILE ){.  
25e80 20 20 79 79 53 74 61 63 6b 45 6e 74 72 79 20 2a    yyStackEntry *
25e90 69 3b 0a 20 20 20 20 63 68 61 72 20 63 44 69 76  i;.    char cDiv
25ea0 20 3d 20 27 5b 27 3b 0a 20 20 20 20 66 70 72 69   = '[';.    fpri
25eb0 6e 74 66 28 79 79 54 72 61 63 65 46 49 4c 45 2c  ntf(yyTraceFILE,
25ec0 22 25 73 52 65 74 75 72 6e 2e 20 53 74 61 63 6b  "%sReturn. Stack
25ed0 3d 22 2c 79 79 54 72 61 63 65 50 72 6f 6d 70 74  =",yyTracePrompt
25ee0 29 3b 0a 20 20 20 20 66 6f 72 28 69 3d 26 79 79  );.    for(i=&yy
25ef0 70 50 61 72 73 65 72 2d 3e 79 79 73 74 61 63 6b  pParser->yystack
25f00 5b 31 5d 3b 20 69 3c 3d 79 79 70 50 61 72 73 65  [1]; i<=yypParse
25f10 72 2d 3e 79 79 74 6f 73 3b 20 69 2b 2b 29 7b 0a  r->yytos; i++){.
25f20 20 20 20 20 20 20 66 70 72 69 6e 74 66 28 79 79        fprintf(yy
25f30 54 72 61 63 65 46 49 4c 45 2c 22 25 63 25 73 22  TraceFILE,"%c%s"
25f40 2c 20 63 44 69 76 2c 20 79 79 54 6f 6b 65 6e 4e  , cDiv, yyTokenN
25f50 61 6d 65 5b 69 2d 3e 6d 61 6a 6f 72 5d 29 3b 0a  ame[i->major]);.
25f60 20 20 20 20 20 20 63 44 69 76 20 3d 20 27 20 27        cDiv = ' '
25f70 3b 0a 20 20 20 20 7d 0a 20 20 20 20 66 70 72 69  ;.    }.    fpri
25f80 6e 74 66 28 79 79 54 72 61 63 65 46 49 4c 45 2c  ntf(yyTraceFILE,
25f90 22 5d 5c 6e 22 29 3b 0a 20 20 7d 0a 23 65 6e 64  "]\n");.  }.#end
25fa0 69 66 0a 20 20 72 65 74 75 72 6e 3b 0a 7d 0a     if.  return;.}.