Index: /trunk/Ohana/Makefile.Common
===================================================================
--- /trunk/Ohana/Makefile.Common	(revision 38985)
+++ /trunk/Ohana/Makefile.Common	(revision 38986)
@@ -51,4 +51,7 @@
 	@echo $<
 	@echo $^
+	echo CFLAGS: $(CFLAGS)
+	echo TEST_CFLAGS: $(TEST_CFLAGS)
+	echo BASE_CFLAGS: $(BASE_CFLAGS)
 	@if [ ! -d $(TESTDIR) ]; then mkdir -p $(TESTDIR); fi
 	$(CC) $(TEST_CFLAGS) -o $@ $^ $(TEST_LDFLAGS)
Index: /trunk/Ohana/src/addstar/Makefile
===================================================================
--- /trunk/Ohana/src/addstar/Makefile	(revision 38985)
+++ /trunk/Ohana/src/addstar/Makefile	(revision 38986)
@@ -37,33 +37,13 @@
 mkcmf        : $(BIN)/mkcmf.$(ARCH)
 
-# programs in 'OTHERS' have not been updated since moving from Stars to Catalog as an internal carrier
 # programs in 'SERVER' use the client-server concept and are out of date
 
-INSTALL = addstar sedstar loadgalphot loadstarpar loadstarpar_client loadICRF loadICRF_client skycells mkcmf dumpskycells findskycell
-OTHERS  = load2mass loadwise loadtycho loadsupercos
+INSTALL = addstar sedstar loadgalphot loadstarpar loadstarpar_client loadICRF loadICRF_client skycells mkcmf dumpskycells findskycell load2mass loadwise loadtycho loadsupercos
 SERVER  = addstar_client addstarc addstard addstart
 
-old: $(OTHERS)
 all: $(INSTALL)
 
 # I need to fix the client/server version of addstar now that I have dropped Stars
 # as an autocode type and have converted to carrying average and measure
-# all: addstar sedstar load2mass skycells
-
-# $(SRC)/find_matches.$(ARCH).o \
-# $(SRC)/find_matches_closest.$(ARCH).o \
-# $(SRC)/find_matches_refstars.$(ARCH).o \
-# $(SRC)/find_matches_closest_refstars.$(ARCH).o \
-# $(SRC)/find_subset.$(ARCH).o \
-# $(SRC)/getgsc.$(ARCH).o \
-# $(SRC)/getusno.$(ARCH).o \
-# $(SRC)/getusnob.$(ARCH).o \
-# $(SRC)/greference.$(ARCH).o \
-# $(SRC)/grefstars.$(ARCH).o \
-# $(SRC)/dump.$(ARCH).o \
-# $(SRC)/ReadStarsTEXT.$(ARCH).o \
-# $(SRC)/StarOps.$(ARCH).o \
-# $(SRC)/replace_match.$(ARCH).o \
-# 
 
 ADDSTAR = \
@@ -104,4 +84,14 @@
 $(SRC)/ReadStarsUKIRT.$(ARCH).o \
 $(SRC)/ReadXradFITS.$(ARCH).o \
+$(SRC)/find_matches.$(ARCH).o \
+$(SRC)/find_matches_closest.$(ARCH).o \
+$(SRC)/find_matches_refstars.$(ARCH).o \
+$(SRC)/find_matches_closest_refstars.$(ARCH).o \
+$(SRC)/getgsc.$(ARCH).o \
+$(SRC)/getusno.$(ARCH).o \
+$(SRC)/getusnob.$(ARCH).o \
+$(SRC)/greference.$(ARCH).o \
+$(SRC)/grefstars.$(ARCH).o \
+$(SRC)/replace_match.$(ARCH).o \
 $(SRC)/FilterStars.$(ARCH).o \
 $(SRC)/ImageOptions.$(ARCH).o \
@@ -112,6 +102,4 @@
 $(SRC)/update_coords.$(ARCH).o \
 $(SRC)/psps_ids.$(ARCH).o
-
-##
 
 # this is the client for parallel operations
@@ -243,5 +231,4 @@
 $(SRC)/load2mass.$(ARCH).o \
 $(SRC)/load2mass_as_rawdata.$(ARCH).o \
-$(SRC)/load2mass_catalog.$(ARCH).o \
 $(SRC)/get2mass_ops.$(ARCH).o \
 $(SRC)/get2mass_full.$(ARCH).o \
@@ -252,9 +239,10 @@
 $(SRC)/update_coords.$(ARCH).o \
 $(SRC)/SkyRegionUtils.$(ARCH).o \
-$(SRC)/StarOps.$(ARCH).o \
-$(SRC)/ConfigInit.$(ARCH).o \
-$(SRC)/Shutdown.$(ARCH).o \
-$(SRC)/SetSignals.$(ARCH).o \
-$(SRC)/psps_ids.$(ARCH).o
+$(SRC)/ConfigInit.$(ARCH).o \
+$(SRC)/Shutdown.$(ARCH).o \
+$(SRC)/SetSignals.$(ARCH).o \
+$(SRC)/psps_ids.$(ARCH).o
+
+# $(SRC)/load2mass_catalog.$(ARCH).o 
 
 LOAD-GALPHOT = \
@@ -296,4 +284,5 @@
 $(SRC)/loadstarpar_save_remote.$(ARCH).o \
 $(SRC)/loadstarpar_table.$(ARCH).o \
+$(SRC)/loadstarpar_extras.$(ARCH).o \
 $(SRC)/resort_catalog.$(ARCH).o \
 $(SRC)/psps_ids.$(ARCH).o
@@ -314,6 +303,9 @@
 $(SRC)/loadstarpar_save_remote.$(ARCH).o \
 $(SRC)/loadstarpar_table.$(ARCH).o \
+$(SRC)/loadstarpar_extras.$(ARCH).o \
 $(SRC)/resort_catalog.$(ARCH).o \
 $(SRC)/psps_ids.$(ARCH).o
+
+# drop resort_catalog?
 
 LOAD-ICRF = \
@@ -359,5 +351,4 @@
 $(SRC)/ConfigInit.$(ARCH).o \
 $(SRC)/Shutdown.$(ARCH).o \
-$(SRC)/StarOps.$(ARCH).o \
 $(SRC)/find_matches_refstars.$(ARCH).o \
 $(SRC)/build_links.$(ARCH).o \
@@ -376,4 +367,5 @@
 $(SRC)/Shutdown.$(ARCH).o \
 $(SRC)/find_matches_closest_refstars.$(ARCH).o \
+$(SRC)/replace_match.$(ARCH).o \
 $(SRC)/build_links.$(ARCH).o \
 $(SRC)/SetSignals.$(ARCH).o \
@@ -391,5 +383,5 @@
 $(SRC)/ConfigInit.$(ARCH).o \
 $(SRC)/Shutdown.$(ARCH).o \
-$(SRC)/StarOps.$(ARCH).o \
+$(SRC)/SkyListForStars.$(ARCH).o \
 $(SRC)/find_matches_refstars.$(ARCH).o \
 $(SRC)/build_links.$(ARCH).o \
Index: /trunk/Ohana/src/addstar/include/2mass.h
===================================================================
--- /trunk/Ohana/src/addstar/include/2mass.h	(revision 38985)
+++ /trunk/Ohana/src/addstar/include/2mass.h	(revision 38986)
@@ -22,7 +22,8 @@
 
 SkyTable *get2mass_acc (SkyRegion *patch, char *path, char *accel);
-Stars    *get2mass_2DR_data (SkyRegion *region, char *filename, SkyRegion *patch, int photcode, int *nstars);
-Stars    *get2mass_AS_data (SkyRegion *region, char *filename, SkyRegion *patch, int phocode, int *nstars);
-Stars    *get2mass_AS_rawdata (SkyRegion *region, char *filename, SkyRegion *patch, int phocode, int *nstars);
+
+// Stars    *get2mass_2DR_data (SkyRegion *region, char *filename, SkyRegion *patch, int photcode, int *nstars);
+// Stars    *get2mass_AS_data (SkyRegion *region, char *filename, SkyRegion *patch, int phocode, int *nstars);
+// Stars    *get2mass_AS_rawdata (SkyRegion *region, char *filename, SkyRegion *patch, int phocode, int *nstars);
 
 SkyTable *scan2mass_acc (char *path, char *accel);
@@ -35,21 +36,23 @@
 int       load2mass_as_rawdata (SkyList *skytable, char *filename, AddstarClientOptions options);
 SkyTable *load2mass_acc (char *path, char *accel);
-int       get2mass_3star (Stars *star, char *line, int Nmax);
-int       load2mass_catalog (Catalog *catalog, Stars *stars, int Nstars);
+
+// int       get2mass_3star (Stars *star, char *line, int Nmax);
+// int       load2mass_catalog (Catalog *catalog, Stars *stars, int Nstars);
 
 int       get2mass_setup (int photcode);
 int       get2mass_coords (char *line, double *R, double *D, int Nmax);
-int       get2mass_star (Stars *star, char *line, int Nmax);
-int       get2mass_3star (Stars *star, char *line, int Nmax);
 
-int get2mass_3star_full (Stars **star, char *line, int Nmax);
+// int       get2mass_star (Stars *star, char *line, int Nmax);
+// int       get2mass_3star (Stars *star, char *line, int Nmax);
+
+int get2mass_3star_full (Measure *measure, char *line, int Nmax);
 char *next2MASSfield (char *line);
-int set2MASS_ph_qual (Stars *star, char qual);
-int set2MASS_rd_flag (Stars *star, char qual);
-int set2MASS_cc_flag (Stars *star, char qual);
-int set2MASS_bl_flag (Stars *star, char qual);
-int set2MASS_gal_flag (Stars *star, char qual);
-int set2MASS_mp_flag (Stars *star, char qual);
-int set2MASS_dup_flag (Stars *star, char qual);
-int set2MASS_use_flag (Stars *star, char qual);
+int set2MASS_ph_qual (Measure *measure, char qual);
+int set2MASS_rd_flag (Measure *measure, char qual);
+int set2MASS_cc_flag (Measure *measure, char qual);
+int set2MASS_bl_flag (Measure *measure, char qual);
+int set2MASS_gal_flag (Measure *measure, char qual);
+int set2MASS_mp_flag (Measure *measure, char qual);
+int set2MASS_dup_flag (Measure *measure, char qual);
+int set2MASS_use_flag (Measure *measure, char qual);
 int get2mass_sortStars (TMStars *tstars, int Ntstars);
Index: /trunk/Ohana/src/addstar/include/WISE.h
===================================================================
--- /trunk/Ohana/src/addstar/include/WISE.h	(revision 38985)
+++ /trunk/Ohana/src/addstar/include/WISE.h	(revision 38986)
@@ -35,18 +35,18 @@
 int getWISE_sortStars (WISE_Stars *tstars, int Ntstars);
 
-int loadwise_star_prelim (Stars **star, char *line, int Nmax);
-int loadwise_star_allsky (Stars **star, char *line, int Nmax);
-int loadwise_star_allwise (Stars **star, char *line, int Nmax);
+int loadwise_star_prelim  (Measure *measure, char *line, int Nmax);
+int loadwise_star_allsky  (Measure *measure, char *line, int Nmax);
+int loadwise_star_allwise (Measure *measure, char *line, int Nmax);
 
 
 char *nextWISEfield (char *line);
-int setWISE_cc_flag (Stars *star, char qual);
-int setWISE_ph_qual (Stars *star, char qual);
-int setWISE_rd_flag (Stars *star, char qual);
-int setWISE_bl_flag (Stars *star, char qual);
-int setWISE_gal_flag (Stars *star, char qual);
-int setWISE_mp_flag (Stars *star, char qual);
-int setWISE_dup_flag (Stars *star, char qual);
-int setWISE_use_flag (Stars *star, char qual);
+int setWISE_cc_flag  (Measure *measure, char qual);
+int setWISE_ph_qual  (Measure *measure, char qual);
+int setWISE_rd_flag  (Measure *measure, char qual);
+int setWISE_bl_flag  (Measure *measure, char qual);
+int setWISE_gal_flag (Measure *measure, char qual);
+int setWISE_mp_flag  (Measure *measure, char qual);
+int setWISE_dup_flag (Measure *measure, char qual);
+int setWISE_use_flag (Measure *measure, char qual);
 
 char *skipNbounds (char *line, char bound, int Nbound, int Nbyte);
Index: /trunk/Ohana/src/addstar/include/addstar.h
===================================================================
--- /trunk/Ohana/src/addstar/include/addstar.h	(revision 38985)
+++ /trunk/Ohana/src/addstar/include/addstar.h	(revision 38986)
@@ -49,24 +49,4 @@
   int extnum_xrad;
 } HeaderSet;
-
-# if (0)
-typedef struct {
-  Average  average;
-  Measure  measure;
-  Lensing *lensing; // optionally carry out the lensing measurements
-  int found;
-} Stars;
-
-typedef struct {
-  unsigned int Nstars;
-  Stars *stars;
-  off_t Nimages;
-  Image *images;
-  Coords *mosaic;
-  SkyRegion *patch;
-  AddstarClientOptions *options;
-  char *refcat;
-} DVO_DATA;
-# endif
 
 # define IDTYPE int
@@ -222,26 +202,20 @@
 int        find_matches        	  PROTO((SkyRegion *region, Catalog *newcat, Catalog *catalog, AddstarClientOptions options));
 
-# if (0)
-int        find_matches_refstars  	 PROTO((SkyRegion *region, Stars **stars, unsigned int Nstars, Catalog *catalog, AddstarClientOptions options));
-int        find_matches_closest_refstars PROTO((SkyRegion *region, Stars **stars, unsigned int Nstars, Catalog *catalog, AddstarClientOptions options));
-
-int        dump_rawstars          PROTO((Stars *stars, unsigned int Nstars));
-
-Stars    **find_subset            PROTO((SkyRegion *region, Stars *stars, unsigned int Nstars, unsigned int *NSTARS));
+int        find_matches_refstars  	 PROTO((SkyRegion *region, Catalog *srccat, Catalog *tgtcat, AddstarClientOptions options));
+int        find_matches_closest_refstars PROTO((SkyRegion *region, Catalog *srccat, Catalog *tgtcat, AddstarClientOptions options));
+
+Catalog   *greference             PROTO((char *Refcat, SkyRegion *catstats, int photcode));
+
 int        gcatalog               PROTO((Catalog *catalog));
-Stars     *get2mass               PROTO((SkyRegion *patch, int photcode, int mode, unsigned int *NSTARS));
-
-Stars     *greference             PROTO((char *Refcat, SkyRegion *catstats, int photcode, unsigned int *nstars));
-Stars     *getgsc                 PROTO((SkyRegion *patch, unsigned int *NSTARS));
-Stars     *getusno                PROTO((SkyRegion *catstats, int photcode, unsigned int *Nstars));
-Stars     *getusnob               PROTO((SkyRegion *catstats, int photcode, unsigned int *Nstars));
+Catalog   *getgsc                 PROTO((SkyRegion *patch));
+Catalog   *getusno                PROTO((SkyRegion *catstats));
+Catalog   *getusnob               PROTO((SkyRegion *catstats));
 
 // load text-based stars (REF only in the sense of REF photcodes)
-Stars     *grefstars              PROTO((char *file, int photcode, unsigned int *Nstars));
-
-Stars     *rd_gsc                 PROTO((char *filename, unsigned int *nstars));
-
-int        replace_match          PROTO((Average *average, Measure *measure, Stars *star));
-# endif
+Catalog   *grefstars              PROTO((char *file, int photcode));
+
+Catalog   *rd_gsc                 PROTO((char *filename));
+
+int        replace_match          PROTO((Average *average, Measure *measure, Measure *newmeas, off_t *found));
 
 Catalog   *LoadStars              PROTO((char *file, Image **images, off_t *Nimages, AddstarClientOptions *options));
@@ -297,4 +271,5 @@
 
 SkyList   *SkyListExistingSubset  PROTO((SkyList *input, char *path));
+SkyList   *SkyListForStars	  PROTO((SkyTable *table, int depth, Catalog *catalog));
 
 // these are all for the addstar client/server which has not been maintained
@@ -311,5 +286,4 @@
 int 	   UpdateDatabase_Reflist PROTO((AddstarClientOptions *options, Stars *stars, unsigned int Nstars));
 int 	   UpdateDatabase_Refcat  PROTO((AddstarClientOptions *options, SkyRegion *UserPatch, char *refcat));
-SkyList   *SkyListForStars	  PROTO((SkyTable *table, int depth, Stars *stars, unsigned int Nstars));
 int        SkyListSetPath	  PROTO((SkyList *list, char *path));
 int 	   InitDataset		  PROTO((void));
Index: /trunk/Ohana/src/addstar/include/loadstarpar.h
===================================================================
--- /trunk/Ohana/src/addstar/include/loadstarpar.h	(revision 38985)
+++ /trunk/Ohana/src/addstar/include/loadstarpar.h	(revision 38986)
@@ -12,6 +12,6 @@
 char *INPUT;
 
-AddstarClientOptions args_loadstarpar (int argc, char **argv, AddstarClientOptions options);
-AddstarClientOptions args_loadstarpar_client (int argc, char **argv, AddstarClientOptions options);
+AddstarClientOptions args_loadstarpar (int *argc, char **argv, AddstarClientOptions options);
+AddstarClientOptions args_loadstarpar_client (int *argc, char **argv, AddstarClientOptions options);
 
 int loadstarpar_table (SkyList *skylistInput, HostTable *hosts, char *filename, AddstarClientOptions *options);
@@ -23,8 +23,8 @@
 int save_remote_host (HostInfo *host);
 
-int init_remote_hosts ();
-int find_empty_slot ();
-int harvest_all ();
-int harvest_host ();
+int init_remote_hosts (void);
+int find_empty_slot (void);
+int harvest_all (void);
+int harvest_host (void);
 
 int loadstarpar_catalog (StarPar_Stars *stars, int Nstars, SkyRegion *region, char *filename, AddstarClientOptions *options);
@@ -40,2 +40,4 @@
 
 int loadstarpar_sortStars (StarPar_Stars *stars, int Nstars);
+
+int loadstarpar_tmpdir (void);
Index: /trunk/Ohana/src/addstar/include/supercos.h
===================================================================
--- /trunk/Ohana/src/addstar/include/supercos.h	(revision 38985)
+++ /trunk/Ohana/src/addstar/include/supercos.h	(revision 38986)
@@ -80,6 +80,5 @@
 Image *loadsupercos_plates (Survey *survey, int Nsurvey, char *filename, int *nimage);
 int loadsupercos_getFilterInfo (char *line, char *emulsion, char *filterID);
-int loadsupercos_rawdata (Image *image, int *imlist, int Nimage, SkyList *skytable, char *filename, AddstarClientOptions options);
-int loadsupercos_sortStars (Stars *tstars, int Ntstars);
+int loadsupercos_rawdata (Image *image, int *imlist, int Nimage, SkyTable *skytable, char *filename, AddstarClientOptions options);
 int *loadsupercos_image_index (Image *image, int Nimage);
 int loadsupercos_getST (char *line, double *st);
Index: /trunk/Ohana/src/addstar/src/SkyListForStars.c
===================================================================
--- /trunk/Ohana/src/addstar/src/SkyListForStars.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/SkyListForStars.c	(revision 38986)
@@ -1,11 +1,10 @@
 # include "addstar.h"
 
-# if (0)
-void sort_stars_ra (Stars *stars, int N) {
+void sort_stars_ra (Catalog *catalog) {
 
-# define SWAPFUNC(A,B){ Stars tmp; tmp = stars[A]; stars[A] = stars[B]; stars[B] = tmp; }
-# define COMPARE(A,B)(stars[A].average.R < stars[B].average.R)
+# define SWAPFUNC(A,B){ Average tmp; tmp = catalog->average[A]; catalog->average[A] = catalog->average[B]; catalog->average[B] = tmp; }
+# define COMPARE(A,B)(catalog->average[A].R < catalog->average[B].R)
 
-  OHANA_SORT (N, COMPARE, SWAPFUNC);
+  OHANA_SORT (catalog->Naverage, COMPARE, SWAPFUNC);
 
 # undef SWAPFUNC
@@ -14,5 +13,5 @@
 }
 
-SkyList *SkyListForStars (SkyTable *table, int depth, Stars *stars, unsigned int Nstars) {
+SkyList *SkyListForStars (SkyTable *table, int depth, Catalog *catalog) {
   
   int i, j, Nr, NR;
@@ -28,16 +27,22 @@
   list[0].ownElements = FALSE; // free these elements when freeing the list
 
-  sort_stars_ra (stars, Nstars); /* sort by RA */
-  for (i = 0; i < Nstars; i++) {
-    if (stars[i].found == -2) continue;
-    here = SkyRegionByPoint (table, depth, stars[i].average.R, stars[i].average.D);
-    stars[i].found = -2;
+  sort_stars_ra (catalog); /* sort by RA */
+
+  ALLOCATE (catalog->found_t, off_t, catalog->Naverage);
+  for (i = 0; i < catalog->Naverage; i++) {
+    catalog->found_t[i] = 0;
+  }
+
+  for (i = 0; i < catalog->Naverage; i++) {
+    if (catalog->found_t[i] == -2) continue;
+    here = SkyRegionByPoint (table, depth, catalog->average[i].R, catalog->average[i].D);
+    catalog->found_t[i] = -2;
     /* search forward for all contained stars */
-    for (j = i; j < Nstars; j++) {
-      if (stars[j].average.R >= here[0].regions[0][0].Rmax) break;
-      if (stars[j].average.R <  here[0].regions[0][0].Rmin) break;
-      if (stars[j].average.D <  here[0].regions[0][0].Dmin) continue;
-      if (stars[j].average.D >= here[0].regions[0][0].Dmax) continue;
-      stars[j].found = -2;
+    for (j = i; j < catalog->Naverage; j++) {
+      if (catalog->average[j].R >= here[0].regions[0][0].Rmax) break;
+      if (catalog->average[j].R <  here[0].regions[0][0].Rmin) break;
+      if (catalog->average[j].D <  here[0].regions[0][0].Dmin) continue;
+      if (catalog->average[j].D >= here[0].regions[0][0].Dmax) continue;
+      catalog->found_t[j] = -2;
     }
     list[0].regions[Nr] = here[0].regions[0];
@@ -54,5 +59,6 @@
 
   /* reset to -1 for all stars: required start for find_match_refstars */
-  for (i = 0; i < Nstars; i++) stars[i].found = -1; 
+  free (catalog->found_t);
+  catalog->found_t = NULL;
   return (list);
 }
@@ -70,3 +76,2 @@
 
 */
-# endif
Index: /trunk/Ohana/src/addstar/src/UpdateDatabase_Image.c
===================================================================
--- /trunk/Ohana/src/addstar/src/UpdateDatabase_Image.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/UpdateDatabase_Image.c	(revision 38986)
@@ -79,7 +79,8 @@
 	dvo_catalog_save (&catalog, VERBOSE);
       }
-      SetProtect (FALSE);
     }
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/addstar/src/UpdateDatabase_Refcat.c
===================================================================
--- /trunk/Ohana/src/addstar/src/UpdateDatabase_Refcat.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/UpdateDatabase_Refcat.c	(revision 38986)
@@ -69,7 +69,8 @@
 	dvo_catalog_save (&catalog, VERBOSE);
       }
-      SetProtect (FALSE);
     }
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalog);
     free (stars);
Index: /trunk/Ohana/src/addstar/src/UpdateDatabase_Reflist.c
===================================================================
--- /trunk/Ohana/src/addstar/src/UpdateDatabase_Reflist.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/UpdateDatabase_Reflist.c	(revision 38986)
@@ -65,7 +65,8 @@
 	dvo_catalog_save (&catalog, VERBOSE);
       }
-      SetProtect (FALSE);
     }
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/addstar/src/addstar.c
===================================================================
--- /trunk/Ohana/src/addstar/src/addstar.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/addstar.c	(revision 38986)
@@ -57,5 +57,4 @@
       UpdateImageIDs (newcat, images, Nimages);
 
-      // if ((DUMP != NULL) && !strcmp (DUMP, "rawstars")) dump_rawstars (stars, Nstars);
       for (i = 0; i < Nimages; i++) {
 	newlist = SkyListByImage (sky, -1, &images[i]);
@@ -66,8 +65,7 @@
       ImageOptions (&options, images, Nimages);
       break;
-# if (0)
     case ADDSTAR_MODE_REFLIST:
-      stars = grefstars (argv[1], options.photcode, &Nstars);
-      skylist = SkyListForStars (sky, -1, stars, Nstars);
+      newcat = grefstars (argv[1], options.photcode);
+      skylist = SkyListForStars (sky, -1, newcat);
       break;
     case ADDSTAR_MODE_REFCAT:
@@ -80,5 +78,4 @@
       skylist[0].ownElements = FALSE;
       break;
-# endif
 
     default:
@@ -146,5 +143,4 @@
     switch (options.mode) {
       case ADDSTAR_MODE_IMAGE:
-	// Nsubset = Nstars;
 	if (options.closest) {
 	  Nmatch += find_matches_closest (skylist[0].regions[i], newcat, &catalog, options);
@@ -153,18 +149,15 @@
 	}
 	break;
-# if (0)
+
       case ADDSTAR_MODE_REFCAT:
-	stars = greference (argv[1], skylist[0].regions[i], options.photcode, &Nstars);
+	newcat = greference (argv[1], skylist[0].regions[i], options.photcode);
       case ADDSTAR_MODE_REFLIST: {
-	Stars **subset = find_subset (skylist[0].regions[i], stars, Nstars, &Nsubset);
 	if (options.closest) {
-	  Nmatch += find_matches_closest_refstars (skylist[0].regions[i], subset, Nsubset, &catalog, options);
+	  Nmatch += find_matches_closest_refstars (skylist[0].regions[i], newcat, &catalog, options);
 	} else {
-	  Nmatch += find_matches_refstars (skylist[0].regions[i], subset, Nsubset, &catalog, options);
+	  Nmatch += find_matches_refstars (skylist[0].regions[i], newcat, &catalog, options);
 	}
-	if (Nsubset) free (subset);
 	break;
       }
-# endif
       default:
 	abort();
@@ -186,7 +179,7 @@
 	dvo_catalog_save (&catalog, VERBOSE);
       }
-      SetProtect (FALSE);
     }
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
     if (VERBOSE) MARKTIME ("save cpt: %f sec\n", dtime); RESETTIME; 
Index: /trunk/Ohana/src/addstar/src/addstar_client.c
===================================================================
--- /trunk/Ohana/src/addstar/src/addstar_client.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/addstar_client.c	(revision 38986)
@@ -13,4 +13,5 @@
 
   // get configuration info, args, lockfile (set CATDIR, HOST_ID, HOSTDIR, etc) 
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_parallel_client (argc, argv, options);
Index: /trunk/Ohana/src/addstar/src/addstarc.c
===================================================================
--- /trunk/Ohana/src/addstar/src/addstarc.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/addstarc.c	(revision 38986)
@@ -11,4 +11,5 @@
 
   /* load config and options */
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_client (argc, argv, options);
Index: /trunk/Ohana/src/addstar/src/addstard.c
===================================================================
--- /trunk/Ohana/src/addstar/src/addstard.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/addstard.c	(revision 38986)
@@ -8,4 +8,5 @@
   AddstarClientOptions options;
 
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   args_server (argc, argv);
Index: /trunk/Ohana/src/addstar/src/addstart.c
===================================================================
--- /trunk/Ohana/src/addstar/src/addstart.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/addstart.c	(revision 38986)
@@ -8,4 +8,5 @@
   DVO_DATA *dataset;
 
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   args_server (argc, argv);
Index: /trunk/Ohana/src/addstar/src/args_loadstarpar.c
===================================================================
--- /trunk/Ohana/src/addstar/src/args_loadstarpar.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/args_loadstarpar.c	(revision 38986)
@@ -5,11 +5,11 @@
 static void help_client (void);
 
-AddstarClientOptions args_loadstarpar (int argc, char **argv, AddstarClientOptions options) {
+AddstarClientOptions args_loadstarpar (int *argc, char **argv, AddstarClientOptions options) {
   
   int N;
 
   /* check for help request */
-  if (get_argument (argc, argv, "-help") ||
-      get_argument (argc, argv, "-h")) {
+  if (get_argument (*argc, argv, "-help") ||
+      get_argument (*argc, argv, "-h")) {
     help ();
   }
@@ -28,20 +28,20 @@
   HOST_ID = 0;
   PARALLEL = FALSE;
-  if ((N = get_argument (argc, argv, "-parallel"))) {
+  if ((N = get_argument (*argc, argv, "-parallel"))) {
     PARALLEL = TRUE;
-    remove_argument (N, &argc, argv);
+    remove_argument (N, argc, argv);
   }
   // this is a test mode : rather than launching the remote jobs and waiting for completion,
   // relphot will simply list the remote command and wait for the user to signal completion
   PARALLEL_MANUAL = FALSE;
-  if ((N = get_argument (argc, argv, "-parallel-manual"))) {
+  if ((N = get_argument (*argc, argv, "-parallel-manual"))) {
     PARALLEL = TRUE; // -parallel-manual implies -parallel
     PARALLEL_MANUAL = TRUE;
-    remove_argument (N, &argc, argv);
+    remove_argument (N, argc, argv);
   }
   // this is a test mode : rather than launching the relphot_client jobs remotely, they are 
   // run in serial via 'system'
   PARALLEL_SERIAL = FALSE;
-  if ((N = get_argument (argc, argv, "-parallel-serial"))) {
+  if ((N = get_argument (*argc, argv, "-parallel-serial"))) {
     if (PARALLEL_MANUAL) {
       fprintf (stderr, "ERROR: cannot mix -parallel-manual and -parallel-serial\n");
@@ -50,31 +50,33 @@
     PARALLEL = TRUE; // -parallel-serial implies -parallel
     PARALLEL_SERIAL = TRUE;
-    remove_argument (N, &argc, argv);
-  }
-
-  /* only add to existing regions */
+    remove_argument (N, argc, argv);
+  }
+
+  /* only add to existing regions  */
   options.existing_regions = FALSE;
-  if ((N = get_argument (argc, argv, "-existing-regions"))) {
-    options.existing_regions = TRUE;
-    remove_argument (N, &argc, argv);
-  }
+  // XXX NOT USED if ((N = get_argument (*argc, argv, "-existing-regions"))) {
+  // XXX NOT USED   options.existing_regions = TRUE;
+  // XXX NOT USED   remove_argument (N, argc, argv);
+  // XXX NOT USED }
+
   /* only add to existing objects */
   options.only_match = FALSE;
-  if ((N = get_argument (argc, argv, "-only-match"))) {
+  if ((N = get_argument (*argc, argv, "-only-match"))) {
     options.only_match = TRUE;
-    remove_argument (N, &argc, argv);
-  }
+    remove_argument (N, argc, argv);
+  }
+
   /* replace measurement, don't duplicate (ref/cat only) */
   options.replace = FALSE;
-  if ((N = get_argument (argc, argv, "-replace"))) {
+  if ((N = get_argument (*argc, argv, "-replace"))) {
     options.replace = TRUE;
-    remove_argument (N, &argc, argv);
+    remove_argument (N, argc, argv);
   }
 
   /* extra error messages */
   VERBOSE = FALSE;
-  if ((N = get_argument (argc, argv, "-v"))) {
+  if ((N = get_argument (*argc, argv, "-v"))) {
     VERBOSE = TRUE;
-    remove_argument (N, &argc, argv);
+    remove_argument (N, argc, argv);
   }
 
@@ -96,5 +98,5 @@
   DUMP = NULL;
 
-  if (argc < 2) {
+  if (*argc < 2) {
     fprintf (stderr, "USAGE: loadstarpar [options] (fitsfile) [..more files]\n");
     exit (2);
@@ -103,11 +105,11 @@
 }
 
-AddstarClientOptions args_loadstarpar_client (int argc, char **argv, AddstarClientOptions options) {
+AddstarClientOptions args_loadstarpar_client (int *argc, char **argv, AddstarClientOptions options) {
   
   int N;
 
   /* check for help request */
-  if (get_argument (argc, argv, "-help") ||
-      get_argument (argc, argv, "-h")) {
+  if (get_argument (*argc, argv, "-help") ||
+      get_argument (*argc, argv, "-h")) {
     help ();
   }
@@ -118,32 +120,32 @@
 
   HOST_ID = 0;
-  if ((N = get_argument (argc, argv, "-hostID"))) {
-    remove_argument (N, &argc, argv);
+  if ((N = get_argument (*argc, argv, "-hostID"))) {
+    remove_argument (N, argc, argv);
     HOST_ID = atoi (argv[N]);
-    remove_argument (N, &argc, argv);
+    remove_argument (N, argc, argv);
   }
   if (!HOST_ID) help_client();
 
   HOSTDIR = NULL;
-  if ((N = get_argument (argc, argv, "-hostdir"))) {
-    remove_argument (N, &argc, argv);
+  if ((N = get_argument (*argc, argv, "-hostdir"))) {
+    remove_argument (N, argc, argv);
     HOSTDIR = strcreate (argv[N]);
-    remove_argument (N, &argc, argv);
+    remove_argument (N, argc, argv);
   }
   if (!HOSTDIR) help_client();
 
   CPT_FILE = NULL;
-  if ((N = get_argument (argc, argv, "-cpt"))) {
-    remove_argument (N, &argc, argv);
+  if ((N = get_argument (*argc, argv, "-cpt"))) {
+    remove_argument (N, argc, argv);
     CPT_FILE = strcreate (argv[N]);
-    remove_argument (N, &argc, argv);
+    remove_argument (N, argc, argv);
   }
   if (!CPT_FILE) help_client();
   
   INPUT = NULL;
-  if ((N = get_argument (argc, argv, "-input"))) {
-    remove_argument (N, &argc, argv);
+  if ((N = get_argument (*argc, argv, "-input"))) {
+    remove_argument (N, argc, argv);
     INPUT = strcreate (argv[N]);
-    remove_argument (N, &argc, argv);
+    remove_argument (N, argc, argv);
   }
   if (!INPUT) help_client();
@@ -157,20 +159,20 @@
   /* only add to existing objects */
   options.only_match = FALSE;
-  if ((N = get_argument (argc, argv, "-only-match"))) {
+  if ((N = get_argument (*argc, argv, "-only-match"))) {
     options.only_match = TRUE;
-    remove_argument (N, &argc, argv);
+    remove_argument (N, argc, argv);
   }
   /* replace measurement, don't duplicate (ref/cat only) */
   options.replace = FALSE;
-  if ((N = get_argument (argc, argv, "-replace"))) {
+  if ((N = get_argument (*argc, argv, "-replace"))) {
     options.replace = TRUE;
-    remove_argument (N, &argc, argv);
+    remove_argument (N, argc, argv);
   }
 
   /* extra error messages */
   VERBOSE = FALSE;
-  if ((N = get_argument (argc, argv, "-v"))) {
+  if ((N = get_argument (*argc, argv, "-v"))) {
     VERBOSE = TRUE;
-    remove_argument (N, &argc, argv);
+    remove_argument (N, argc, argv);
   }
 
@@ -192,5 +194,5 @@
   DUMP = NULL;
 
-  if (argc != 1) {
+  if (*argc != 1) {
     fprintf (stderr, "USAGE: loadstarpar_client -cpt (file) -input (file)\n");
     exit (2);
Index: /trunk/Ohana/src/addstar/src/find_matches.c
===================================================================
--- /trunk/Ohana/src/addstar/src/find_matches.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/find_matches.c	(revision 38986)
@@ -3,5 +3,5 @@
 int find_matches (SkyRegion *region, Catalog *srccat, Catalog *tgtcat, AddstarClientOptions options) {
 
-  off_t i, j, n, N, J, Nstars, mSrc;
+  off_t i, j, J, Nstars, mSrc;
   double RADIUS, RADIUS2;
   double *X1, *Y1, *X2, *Y2;
@@ -9,7 +9,7 @@
   off_t *N1, *N2;
   off_t Nave, NAVE, Nmeas, NMEAS, Nmatch;
-  int Nsecfilt, Nsec, status;
   unsigned int objID, catID;
   Coords tcoords;
+  int Nsecfilt, Nsec;
 
   /* photcode data - must by of type DEP; options.photcode is equiv photcode for all input
@@ -58,16 +58,16 @@
   catID = tgtcat[0].catID;
 
-  /* project onto rectilinear grid with 1 arcsec pixels. the choice of ZEA projection has the
-   * advantage that every point in R,D has a mapping to a unique X,Y.  However, note that not all
-   * possible X,Y points map back to R,D and the local plate scale changes substantially far from
-   * the projection pole.  a better mapping might be ARC, not yet implemented (see
-   * coordops.update.c).  We use the center of the region (tgtcat) for crval1,2. 
+  /* project onto rectilinear grid with 1 arcsec pixels. the choice of ARC projection has
+   * the advantage that every point in R,D has a mapping to a unique X,Y.  However, note
+   * that not all possible X,Y points map back to R,D and the local plate scale changes
+   * substantially far from the projection pole.  We use the center of the region (tgtcat)
+   * for crval1,2.
    */
   InitCoords (&tcoords, "DEC--ARC");
   tcoords.crval1 = 0.5*(region[0].Rmin + region[0].Rmax);
-  if (region[0].Dmax < 90) {
+  if ((region[0].Dmax < 90) && (region[0].Dmin > -90)) {
     tcoords.crval2 = 0.5*(region[0].Dmin + region[0].Dmax);
   } else {
-    tcoords.crval2 = 90.0;
+    tcoords.crval2 = (region[0].Dmax >= 90) ? 90.0 : -90.0;
   }
   tcoords.cdelt1 = tcoords.cdelt2 = 1.0 / 3600.0;
@@ -76,5 +76,5 @@
   Nstars = 0;
   for (i = 0; i < srccat->Naverage; i++) {
-    status = RD_to_XY (&X1[Nstars], &Y1[Nstars], srccat->average[i].R, srccat->average[i].D, &tcoords);
+    int status = RD_to_XY (&X1[Nstars], &Y1[Nstars], srccat->average[i].R, srccat->average[i].D, &tcoords);
     if (!status) continue;
     N1[Nstars] = i;
@@ -101,6 +101,8 @@
   if (Nave > 1) sort_coords_index (X2, Y2, N2, Nave);
 
-  /* set up pointers for linked list of measure */
+  /* set up pointers for linked list of measurements */
   if (tgtcat[0].sorted && (tgtcat[0].Nmeasure == tgtcat[0].Nmeasure_disk)) {
+    // this version is only valid if we have done a full catalog load, and if the catalog
+    // is sorted while processed
     next_meas = init_measure_links (tgtcat[0].average, Nave, tgtcat[0].measure, Nmeas);
   } else {
@@ -109,8 +111,13 @@
 
   /* choose a radius for matches (defined in args.c or ImageOptions.c) */
-  RADIUS = options.radius;
+  if (options.radius == 0) {
+    RADIUS = 2.0; /* hardwired default for refstars */
+  } else {
+    RADIUS = options.radius; /* provided by config */
+  }
   RADIUS2 = RADIUS*RADIUS;
 
-  /** find matched stars **/
+  /****************** find matched stars ********************/
+
   for (i = j = 0; (i < Nstars) && (j < Nave); ) {
     if (!finite(X1[i]) || !finite(Y1[i])) { 
@@ -144,6 +151,6 @@
       /*** a match is found, add to average, measure ***/
       Nmatch ++;
-      n = N2[J];
-      N = N1[i];
+      off_t n = N2[J];
+      off_t N = N1[i];
 
       /* make sure there is space for next entry */
@@ -161,5 +168,5 @@
 	
 	/** add measurements for this star **/
-	
+
 	// set the new measurements
 	tgtcat[0].measure[Nmeas]          = srccat->measure[mSrc + mOff];
@@ -231,6 +238,4 @@
 	  tgtcat[0].found_t[n] = Nmeas;
 	}
-	/* Nm is updated, but not written out in -update mode (for existing entries)
-	   Nm is recalculated in build_meas_links if loaded table is not sorted */
 	tgtcat[0].average[n].Nmeasure ++;
 	Nmeas ++;
@@ -245,7 +250,7 @@
   }
 
-/* incorporate unmatched image stars, if this star is in field of this tgtcat */
-/* these new entries are all written out in UPDATE mode */ 
-  for (i = 0; (i < Nstars) && !options.only_match; i ++) {
+  /* incorporate unmatched image stars, if this star is in field of this tgtcat */
+  /* these new entries are all written out in UPDATE mode */ 
+  for (i = 0; (i < Nstars) && !options.only_match; i++) {
     /* make sure there is space for next entry */
     if (Nmeas >= NMEAS - srccat->average[i].Nmeasure) {
@@ -324,5 +329,5 @@
   }
 
-/* note stars which have been found in this tgtcat */
+  /* note stars which have been found in this tgtcat */
   for (i = 0; i < srccat->Nmeasure; i++) {
     if (srccat->found_t[i] > -1) {
@@ -331,5 +336,5 @@
   }
 
-/* check if the tgtcat has changed?  if no change, no need to write */
+  /* check if the tgtcat has changed?  if no change, no need to write */
   tgtcat[0].objID    = objID; // new max value, save on tgtcat close
   tgtcat[0].Naverage = Nave;
@@ -341,7 +346,7 @@
   free (Y1);
   free (N1);
-  free (N2);
   free (X2);
   free (Y2);
+  free (N2);
   free (next_meas);
 
Index: /trunk/Ohana/src/addstar/src/find_matches_closest.c
===================================================================
--- /trunk/Ohana/src/addstar/src/find_matches_closest.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/find_matches_closest.c	(revision 38986)
@@ -3,5 +3,5 @@
 int find_matches_closest (SkyRegion *region, Catalog *srccat, Catalog *tgtcat, AddstarClientOptions options) {
 
-  off_t i, j, n, N, J, Jmin, status, Nstars, mSrc;
+  off_t i, j, J, Jmin, status, Nstars, mSrc;
   double RADIUS, RADIUS2, Rmin;
   double *X1, *Y1, *X2, *Y2;
@@ -9,7 +9,7 @@
   off_t *N1, *N2;
   off_t Nave, NAVE, Nmeas, NMEAS, Nmatch, Nlens, NLENS;
-  int Nsecfilt, Nsec;
   unsigned int objID, catID;
   Coords tcoords;
+  int Nsecfilt, Nsec;
 
   /* photcode data - must by of type DEP; options.photcode is equiv photcode for all input
@@ -62,12 +62,13 @@
    * the advantage that every point in R,D has a mapping to a unique X,Y.  However, note
    * that not all possible X,Y points map back to R,D and the local plate scale changes
-   * far from the projection pole. We use the center of the region (tgtcat) for crval1,2.
+   * substantially far from the projection pole. We use the center of the region (tgtcat)
+   * for crval1,2.
    */
   InitCoords (&tcoords, "DEC--ARC");
   tcoords.crval1 = 0.5*(region[0].Rmin + region[0].Rmax);
-  if (region[0].Dmax < 90) {
+  if ((region[0].Dmax < 90) && (region[0].Dmin > -90)) {
     tcoords.crval2 = 0.5*(region[0].Dmin + region[0].Dmax);
   } else {
-    tcoords.crval2 = 90.0;
+    tcoords.crval2 = (region[0].Dmax >= 90) ? 90.0 : -90.0;
   }
   tcoords.cdelt1 = tcoords.cdelt2 = 1.0 / 3600.0;
@@ -114,5 +115,9 @@
 
   /* choose a radius for matches */
-  RADIUS = options.radius; /* provided by config */
+  if (options.radius == 0) {
+    RADIUS = 2.0; /* hardwired default for refstars */
+  } else {
+    RADIUS = options.radius; /* provided by config */
+  }
   RADIUS2 = RADIUS*RADIUS;
 
@@ -178,6 +183,6 @@
     /*** a match is found, add to average, measure ***/
     Nmatch ++;
-    n = N2[Jmin];
-    N = N1[i];
+    off_t n = N2[Jmin];
+    off_t N = N1[i];
 
     /* make sure there is space for next entry */
@@ -355,6 +360,4 @@
       next_meas[Nmeas-1] = (mSrc < srccat->average[i].Nmeasure - 1) ? Nmeas : -1;
     }
-    srccat->found_t[i] = Nave;
-
     // if we have lensing data, insert that as well
     if (srccat->lensing) {
@@ -374,4 +377,5 @@
       }
     }
+    srccat->found_t[i] = Nave;
     Nave ++;
   }
@@ -407,7 +411,7 @@
   free (Y1);
   free (N1);
-  free (N2);
   free (X2);
   free (Y2);
+  free (N2);
   free (next_meas);
   free (next_lens);
Index: /trunk/Ohana/src/addstar/src/find_matches_closest_refstars.c
===================================================================
--- /trunk/Ohana/src/addstar/src/find_matches_closest_refstars.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/find_matches_closest_refstars.c	(revision 38986)
@@ -1,20 +1,11 @@
 # include "addstar.h"
 
-/* differences with find_matches_closest():
- * accepts Stars **stars (vs Stars *stars)
- * NREFSTAR_GROUP vs NSTAR_GROUP
- * does not update lensing fields
- * allows option to replace existing entries
- * allows multiple photcodes
-
- */
-
-int find_matches_closest_refstars (SkyRegion *region, Stars **stars, unsigned int NstarsIn, Catalog *catalog, AddstarClientOptions options) {
-
-  off_t i, j, n, N, J, Jmin, status;
+int find_matches_closest_refstars (SkyRegion *region, Catalog *srccat, Catalog *tgtcat, AddstarClientOptions options) {
+
+  off_t i, j, J, Jmin, status, mSrc;
   double RADIUS, RADIUS2, Rmin;
   double *X1, *Y1, *X2, *Y2;
   double dX, dY, dR;
-  off_t *N1, *N2, *next_meas;
+  off_t *N1, *N2;
   off_t Nave, NAVE, Nmeas, NMEAS, Nstars, Nmatch;
   unsigned int objID, catID;
@@ -22,50 +13,55 @@
   int Nsecfilt;
 
-  switch (NREFSTAR_GROUP) {
-    case 1:
-    case 3:
-    case 4:
-    case 6:
-      break;
-    default:
-      fprintf (stderr, "ERROR: NREFSTAR_GROUP NOT SET!\n");
-      exit (1);
-  }
-
   /* photcode data -- should not have to modify secfilt / average */
   Nsecfilt = GetPhotcodeNsecfilt ();
 
-  /** allocate local arrays (stars) **/
-  ALLOCATE (X1, double, NstarsIn);
-  ALLOCATE (Y1, double, NstarsIn);
-  ALLOCATE (N1, off_t,  NstarsIn);
-
-  /** allocate local arrays (catalog) **/
-  NAVE = Nave = catalog[0].Naverage;
+  /** allocate local arrays (srccat) **/
+  ALLOCATE (X1, double, srccat->Naverage);
+  ALLOCATE (Y1, double, srccat->Naverage);
+  ALLOCATE (N1, off_t,  srccat->Naverage);
+
+  if (!srccat->found_t) {
+    ALLOCATE (srccat->found_t, off_t, srccat->Naverage);
+    for (i = 0; i < srccat->Naverage; i++) {
+      srccat->found_t[i] = -1;
+    }
+  }
+
+  /** allocate local arrays (tgtcat) **/
+  NAVE = Nave = tgtcat[0].Naverage;
   ALLOCATE (X2, double, NAVE);
   ALLOCATE (Y2, double, NAVE);
   ALLOCATE (N2, off_t,  NAVE);
-  ALLOCATE (catalog[0].found_t, off_t, NAVE);
+
+  if (!tgtcat->found_t) {
+    ALLOCATE (tgtcat[0].found_t, off_t, NAVE);
+    for (i = 0; i < NAVE; i++) {
+      tgtcat->found_t[i] = -1;
+    }
+  }
   /* for secfilt j and star i, secfilt[i*Nsecfilt+j] */
 
   /* internal counters */
   Nmatch = 0;
-  NMEAS = Nmeas = catalog[0].Nmeasure;
+  NMEAS = Nmeas = tgtcat[0].Nmeasure;
   
-  // current max obj ID for this catalog
-  objID = catalog[0].objID;
-  catID = catalog[0].catID;
+  off_t *next_meas = NULL;
+
+  // current max obj ID for this tgtcat
+  objID = tgtcat[0].objID;
+  catID = tgtcat[0].catID;
 
   /* project onto rectilinear grid with 1 arcsec pixels. the choice of ARC projection has
    * the advantage that every point in R,D has a mapping to a unique X,Y.  However, note
    * that not all possible X,Y points map back to R,D and the local plate scale changes
-   * far from the projection pole. We use the center of the region (catalog) for crval1,2.
+   * substantially far from the projection pole. We use the center of the region (tgtcat)
+   * for crval1,2.
    */
   InitCoords (&tcoords, "DEC--ARC");
   tcoords.crval1 = 0.5*(region[0].Rmin + region[0].Rmax);
-  if (region[0].Dmax < 90) {
+  if ((region[0].Dmax < 90) && (region[0].Dmin > -90)) {
     tcoords.crval2 = 0.5*(region[0].Dmin + region[0].Dmax);
   } else {
-    tcoords.crval2 = 90.0;
+    tcoords.crval2 = (region[0].Dmax >= 90) ? 90.0 : -90.0;
   }
   tcoords.cdelt1 = tcoords.cdelt2 = 1.0 / 3600.0;
@@ -73,6 +69,6 @@
   /* build spatial index (RA sort) referencing input array sequence */
   Nstars = 0;
-  for (i = 0; i < NstarsIn; i++) {
-    status = RD_to_XY (&X1[Nstars], &Y1[Nstars], stars[i][0].average.R, stars[i][0].average.D, &tcoords);
+  for (i = 0; i < srccat->Naverage; i++) {
+    status = RD_to_XY (&X1[Nstars], &Y1[Nstars], srccat->average[i].R, srccat->average[i].D, &tcoords);
     if (!status) continue;
     N1[Nstars] = i;
@@ -80,5 +76,5 @@
   }
   if (Nstars < 1) {
-    if (VERBOSE) fprintf (stderr, "skipping %s, no overlapping stars\n", catalog[0].filename);
+    if (VERBOSE) fprintf (stderr, "skipping %s, no overlapping stars\n", tgtcat[0].filename);
     free (X1);
     free (Y1);
@@ -93,17 +89,17 @@
   /* build spatial index (RA sort) */
   for (i = 0; i < Nave; i++) {
-    RD_to_XY (&X2[i], &Y2[i], catalog[0].average[i].R, catalog[0].average[i].D, &tcoords);
+    RD_to_XY (&X2[i], &Y2[i], tgtcat[0].average[i].R, tgtcat[0].average[i].D, &tcoords);
     N2[i] = i;
-    catalog[0].found_t[N2[i]] = -1;
+    tgtcat[0].found_t[N2[i]] = -1;
   }
   if (Nave > 1) sort_coords_index (X2, Y2, N2, Nave);
 
   /* set up pointers for linked list of measure */
-  if (catalog[0].sorted && (catalog[0].Nmeasure == catalog[0].Nmeasure_disk)) {
-    // this version is only valid if we have done a full catalog load, and if the catalog
+  if (tgtcat[0].sorted && (tgtcat[0].Nmeasure == tgtcat[0].Nmeasure_disk)) {
+    // this version is only valid if we have done a full tgtcat load, and if the tgtcat
     // is sorted while processed
-    next_meas = init_measure_links (catalog[0].average, Nave, catalog[0].measure, Nmeas);
+    next_meas = init_measure_links (tgtcat[0].average, Nave, tgtcat[0].measure, Nmeas);
   } else {
-    next_meas = build_measure_links (catalog[0].average, Nave, catalog[0].measure, Nmeas);
+    next_meas = build_measure_links (tgtcat[0].average, Nave, tgtcat[0].measure, Nmeas);
   }    
 
@@ -116,6 +112,6 @@
   RADIUS2 = RADIUS*RADIUS;
 
-  /** find matched stars **/
-  // XXX could use NREFSTAR_GROUP to do this match more quicky
+  /****************** find matched stars ********************/
+
   for (i = j = 0; (i < Nstars) && (j < Nave); ) {
     if (!finite(X1[i]) || !finite(Y1[i])) { 
@@ -140,6 +136,7 @@
     }
 
-    if (stars[N1[i]][0].found != -1) {
-        /* this star has already been assigned to an object in this or another catalog */
+    // XXX check that this is allocated
+    if (srccat->found_t[N1[i]] != -1) {
+        /* this star has already been assigned to an object in this or another tgtcat */
         i++;
         continue;
@@ -169,85 +166,90 @@
     /*** a match is found, add to average, measure ***/
     Nmatch ++;
-    n = N2[Jmin];
-    N = N1[i];
-
-    /** in replace mode, search for entry and replace values M, dM, R, D */
-    // XXX this fails for unsorted catalogs, right?
-    if (options.replace && replace_match (&catalog[0].average[n], catalog[0].measure, stars[N])) {
-	i++;
-	continue;
-    }
+    off_t n = N2[Jmin];
+    off_t N = N1[i];
 
     /* make sure there is space for next entry */
-    if (Nmeas >= NMEAS) {
-      NMEAS = Nmeas + 1000;
+    if (Nmeas >= NMEAS - srccat->average[N].Nmeasure) {
+      NMEAS = Nmeas + 1000 + srccat->average[N].Nmeasure;
       REALLOCATE (next_meas, off_t, NMEAS);
-      REALLOCATE (catalog[0].measure, Measure, NMEAS);
-    }
-
-    /* add to end of measurement list */
-    add_meas_link (&catalog[0].average[n], next_meas, Nmeas, NMEAS);
-	
+      REALLOCATE (tgtcat[0].measure, Measure, NMEAS);
+    }
+
     /** add measurements for this star **/
-
-    // set the new measurements
-    catalog[0].measure[Nmeas]          = stars[N][0].measure;
-
-    catalog[0].measure[Nmeas].dbFlags  = 0;
-    catalog[0].measure[Nmeas].averef   = n;
-    catalog[0].measure[Nmeas].objID    = catalog[0].average[n].objID;
-    catalog[0].measure[Nmeas].catID    = catalog[0].catID;
-
-    float dRoff = dvoOffsetR(&catalog[0].measure[Nmeas], &catalog[0].average[n]);
-
-    // rationalize dR:
-    if (dRoff > +180.0*3600.0) {
-      // average on high end of boundary, move star up
-      catalog[0].measure[Nmeas].R += 360.0;
-      dRoff -= 360.0*3600.0;
-    }
-    if (dRoff < -180.0*3600.0) {
-      // average on low end of boundary, move star down
-      catalog[0].measure[Nmeas].R -= 360.0;
-      dRoff += 360.0*3600.0;
-    }
-
-    // the reference data may not have per-object time specified
-    catalog[0].measure[Nmeas].t        = (TIMEREF == 0) ? stars[N][0].measure.t      : TIMEREF; /** careful : time_t vs e_time **/
-    catalog[0].measure[Nmeas].t_msec   = (TIMEREF == 0) ? stars[N][0].measure.t_msec : TIMEREF; /** careful : time_t vs e_time **/
-
-    // we can choose to accept the proper-motion and parallax from the reference catalog
-    if (ACCEPT_MOTION) {
-      catalog[0].average[n].dR         = stars[N][0].average.dR;
-      catalog[0].average[n].dD         = stars[N][0].average.dD;
-      catalog[0].average[n].uR         = stars[N][0].average.uR;
-      catalog[0].average[n].uD         = stars[N][0].average.uD;
-      catalog[0].average[n].duR        = stars[N][0].average.duR;
-      catalog[0].average[n].duD        = stars[N][0].average.duD;
-      catalog[0].average[n].P          = stars[N][0].average.P;
-      catalog[0].average[n].dP         = stars[N][0].average.dP;
-      catalog[0].average[n].Tmean      = stars[N][0].average.Tmean;
-    }
+    off_t mOff = srccat->average[N].measureOffset;
+    for (mSrc = 0; mSrc < srccat->average[N].Nmeasure; mSrc++) {
+      /** in replace mode, search for entry and replace values M, dM, R, D */
+      // XXX this fails for unsorted tgtcats, right?
+      if (options.replace && replace_match (&tgtcat[0].average[n], tgtcat[0].measure, &srccat->measure[mSrc + mOff], &srccat->found_t[N])) continue;
+
+      /* add to end of measurement list */
+      add_meas_link (&tgtcat[0].average[n], next_meas, Nmeas, NMEAS);
+      
+      // set the new measurements
+      tgtcat[0].measure[Nmeas]          = srccat->measure[mSrc + mOff];
+
+      // measure now carries R,D (not dR,dD) 
+      tgtcat[0].measure[Nmeas].dbFlags  = 0;
+      tgtcat[0].measure[Nmeas].averef   = n;
+      tgtcat[0].measure[Nmeas].objID    = tgtcat[0].average[n].objID;
+      tgtcat[0].measure[Nmeas].catID    = tgtcat[0].catID;
+
+      float dRoff = dvoOffsetR(&tgtcat[0].measure[Nmeas], &tgtcat[0].average[n]);
+
+      // rationalize dR:
+      if (dRoff > +180.0*3600.0) {
+	// average on high end of boundary, move star up
+	tgtcat[0].measure[Nmeas].R += 360.0;
+	dRoff -= 360.0*3600.0;
+      }
+      if (dRoff < -180.0*3600.0) {
+	// average on low end of boundary, move star down
+	tgtcat[0].measure[Nmeas].R -= 360.0;
+	dRoff += 360.0*3600.0;
+      }
+      if (fabs(dRoff) > 10*RADIUS) {
+	// take declination into account and check again.
+	double cosD = cos(RAD_DEG*tgtcat[0].average[n].D);
+	if (fabs(dRoff*cosD) > 10*RADIUS) {
+	  fprintf (stderr, "error: %10.6f,%10.6f vs %10.6f,%10.6f (%f,%f vs %f,%f)\n", 
+		   tgtcat[0].average[n].R, tgtcat[0].average[n].D, 
+		   srccat->average[N].R, srccat->average[N].D,
+		   X1[i], X2[Jmin], 
+		   Y1[i], Y2[Jmin]);
+	  // XXX abort on this? -- this is a bad failure...
+	}
+      }
+
+      // the reference data may not have per-object time specified
+      if (TIMEREF) {
+	tgtcat[0].measure[Nmeas].t        = TIMEREF;
+	tgtcat[0].measure[Nmeas].t_msec   = 0;
+      }
+
+      // we can choose to accept the proper-motion and parallax from the reference tgtcat
+      if (ACCEPT_MOTION) {
+	tgtcat[0].average[n].dR         = srccat->average[N].dR;
+	tgtcat[0].average[n].dD         = srccat->average[N].dD;
+	tgtcat[0].average[n].uR         = srccat->average[N].uR;
+	tgtcat[0].average[n].uD         = srccat->average[N].uD;
+	tgtcat[0].average[n].duR        = srccat->average[N].duR;
+	tgtcat[0].average[n].duD        = srccat->average[N].duD;
+	tgtcat[0].average[n].P          = srccat->average[N].P;
+	tgtcat[0].average[n].dP         = srccat->average[N].dP;
+	tgtcat[0].average[n].Tmean      = srccat->average[N].Tmean;
+      }
 
     /** don't update average / secfilt values for REF photcodes **/
 
-    /*** handle multiple stars */
-    /* this catalog star matches more than one image star */
-    // XXX should this be an average flag?
-    if (catalog[0].found_t[n] > -1) {
-      catalog[0].measure[catalog[0].found_t[n]].dbFlags |= ID_MEAS_BLEND_OBJ;
-      catalog[0].measure[Nmeas].dbFlags |= ID_MEAS_BLEND_OBJ;
-    } else {
-      catalog[0].found_t[n] = Nmeas;
-    }
-
-    stars[N][0].found = Nmeas;
-    catalog[0].average[n].Nmeasure ++;
-    Nmeas ++;
-
-    // make this optional:
-    // update_coords (&catalog[0].average[n], &catalog[0].measure[0], next_meas);
+      tgtcat[0].average[n].Nmeasure ++;
+      Nmeas ++;
+    }
+
+    srccat->found_t[N] = n;
+    tgtcat[0].found_t[n] = -1;
     i++;
   }
+
+  /*************** add unmatched stars *************************/
 
   /* Incorporate unmatched refcat stars.  Skip this step if we want to
@@ -255,44 +257,47 @@
      reference up-to-date with known stars only */
 
-  for (i = 0; (i < Nstars) && !options.only_match; i+=NREFSTAR_GROUP) {
+  for (i = 0; (i < Nstars) && !options.only_match; i++) {
     /* make sure there is space for next entry */
-    if (Nmeas >= NMEAS - NREFSTAR_GROUP) {
-      NMEAS = Nmeas + 1000;
+    if (Nmeas >= NMEAS - srccat->average[i].Nmeasure) {
+      NMEAS = Nmeas + 1000 + srccat->average[i].Nmeasure;
       REALLOCATE (next_meas, off_t, NMEAS);
-      REALLOCATE (catalog[0].measure, Measure, NMEAS);
+      REALLOCATE (tgtcat[0].measure, Measure, NMEAS);
     }
     if (Nave >= NAVE) {
       NAVE = Nave + 1000;
-      REALLOCATE (catalog[0].average, Average, NAVE);
-      REALLOCATE (catalog[0].secfilt, SecFilt, NAVE*catalog[0].Nsecfilt);
-    }
-
-    N = N1[i];
-    if (stars[N][0].found >= 0) continue;
-    if (!IN_REGION (stars[N][0].average.R, stars[N][0].average.D)) continue;
-
-    dvo_average_init (&catalog[0].average[Nave]);
-    catalog[0].average[Nave].R         	   = stars[N][0].average.R;
-    catalog[0].average[Nave].D         	   = stars[N][0].average.D;
-
-    catalog[0].average[Nave].Nmeasure      = NREFSTAR_GROUP;
-    catalog[0].average[Nave].measureOffset = Nmeas;
-    catalog[0].average[Nave].objID     	   = objID;
-    catalog[0].average[Nave].catID     	   = catID;
+      REALLOCATE (tgtcat[0].average, Average, NAVE);
+      REALLOCATE (tgtcat[0].found_t, off_t, NAVE);
+      if (tgtcat[0].secfilt) {
+	// we only update the secfilt table if it has been allocated for output
+	REALLOCATE (tgtcat[0].secfilt, SecFilt, NAVE*tgtcat[0].Nsecfilt);
+      }
+    }
+
+    if (srccat->found_t[i] != -1) continue;
+    if (!IN_REGION (srccat->average[i].R, srccat->average[i].D)) continue;
+
+    dvo_average_init (&tgtcat[0].average[Nave]);
+    tgtcat[0].average[Nave].R         	   = srccat->average[i].R;
+    tgtcat[0].average[Nave].D         	   = srccat->average[i].D;
+
+    tgtcat[0].average[Nave].Nmeasure  	   = srccat->average[i].Nmeasure;
+    tgtcat[0].average[Nave].measureOffset  = Nmeas;
+    tgtcat[0].average[Nave].objID     	   = objID;
+    tgtcat[0].average[Nave].catID     	   = catID;
 
     if (PSPS_ID) {
-        catalog[0].average[Nave].extID = CreatePSPSObjectID(catalog[0].average[Nave].R, catalog[0].average[Nave].D);
+        tgtcat[0].average[Nave].extID = CreatePSPSObjectID(tgtcat[0].average[Nave].R, tgtcat[0].average[Nave].D);
     }
 
     if (ACCEPT_MOTION) {
-      catalog[0].average[Nave].dR    	   = stars[N][0].average.dR;
-      catalog[0].average[Nave].dD    	   = stars[N][0].average.dD;
-      catalog[0].average[Nave].uR    	   = stars[N][0].average.uR;
-      catalog[0].average[Nave].uD    	   = stars[N][0].average.uD;
-      catalog[0].average[Nave].duR   	   = stars[N][0].average.duR;
-      catalog[0].average[Nave].duD   	   = stars[N][0].average.duD;
-      catalog[0].average[Nave].P     	   = stars[N][0].average.P;
-      catalog[0].average[Nave].dP    	   = stars[N][0].average.dP;
-      catalog[0].average[Nave].Tmean   	   = stars[N][0].average.Tmean;
+      tgtcat[0].average[Nave].dR    	   = srccat->average[i].dR;
+      tgtcat[0].average[Nave].dD    	   = srccat->average[i].dD;
+      tgtcat[0].average[Nave].uR    	   = srccat->average[i].uR;
+      tgtcat[0].average[Nave].uD    	   = srccat->average[i].uD;
+      tgtcat[0].average[Nave].duR   	   = srccat->average[i].duR;
+      tgtcat[0].average[Nave].duD   	   = srccat->average[i].duD;
+      tgtcat[0].average[Nave].P     	   = srccat->average[i].P;
+      tgtcat[0].average[Nave].dP    	   = srccat->average[i].dP;
+      tgtcat[0].average[Nave].Tmean   	   = srccat->average[i].Tmean;
     }
 
@@ -300,47 +305,52 @@
 
     for (j = 0; j < Nsecfilt; j++) {
-      dvo_secfilt_init (&catalog[0].secfilt[Nave*Nsecfilt+j], SECFILT_RESET_ALL);
-    }
-
-    for (j = 0; j < NREFSTAR_GROUP; j++) {
-      N = N1[i + j];
-
-      catalog[0].measure[Nmeas]          = stars[N][0].measure;
-      catalog[0].measure[Nmeas].dbFlags  = 0;
-      catalog[0].measure[Nmeas].averef   = Nave;
-      catalog[0].measure[Nmeas].objID    = catalog[0].average[Nave].objID;
-      catalog[0].measure[Nmeas].catID    = catalog[0].catID;
-
-      catalog[0].measure[Nmeas].t        = (stars[N][0].measure.t == 0) ? TIMEREF : stars[N][0].measure.t;      /** careful : time_t vs e_time **/
-      catalog[0].measure[Nmeas].t_msec   = (stars[N][0].measure.t == 0) ?       0 : stars[N][0].measure.t_msec; /** careful : time_t vs e_time **/
-
-      stars[N][0].found = Nmeas;
-      next_meas[Nmeas] = -1;
+      dvo_secfilt_init (&tgtcat[0].secfilt[Nave*Nsecfilt+j], SECFILT_RESET_ALL);
+    }
+
+    off_t mOff = srccat->average[i].measureOffset;
+    for (mSrc = 0; mSrc < srccat->average[i].Nmeasure; mSrc++) {
+      // supply the measurements from this detection
+      dvo_measure_init (&tgtcat[0].measure[Nmeas]);
+      tgtcat[0].measure[Nmeas] = srccat->measure[mSrc + mOff];
+
+      // the following measure elements cannot be set until here:
+      tgtcat[0].measure[Nmeas].dbFlags  = 0;
+      tgtcat[0].measure[Nmeas].averef   = Nave;
+      tgtcat[0].measure[Nmeas].objID    = tgtcat[0].average[Nave].objID;
+      tgtcat[0].measure[Nmeas].catID    = tgtcat[0].catID;
+
+      if (TIMEREF) {
+	tgtcat[0].measure[Nmeas].t      = TIMEREF;
+	tgtcat[0].measure[Nmeas].t_msec = 0;
+      }
+
       Nmeas ++;
-    }
-    for (j = 0; j < NREFSTAR_GROUP - 1; j++) {
-	next_meas[Nmeas - NREFSTAR_GROUP + j] = Nmeas - NREFSTAR_GROUP + j + 1;
-    }
+
+      // update the next_meas pointer for this entry (last one for this star is -1)
+      next_meas[Nmeas-1] = (mSrc < srccat->average[i].Nmeasure - 1) ? Nmeas : -1;
+    }
+    srccat->found_t[i] = Nave;
     Nave ++;
   }
       
-  REALLOCATE (catalog[0].average, Average, Nave);
-  REALLOCATE (catalog[0].measure, Measure, Nmeas);
+  REALLOCATE (tgtcat[0].average, Average, Nave);
+  REALLOCATE (tgtcat[0].measure, Measure, Nmeas);
 
   // XXX allow for unsorted output?
-  catalog[0].measure = sort_measure (catalog[0].average, Nave, catalog[0].measure, Nmeas, next_meas);
-  catalog[0].sorted = TRUE;
-
-  /* note stars which have been found in this catalog */
-  for (i = 0; i < Nstars; i++) {
-    if (stars[i][0].found > -1) {
-      stars[i][0].found = -2;
-    }
-  }
-
-  catalog[0].objID    = objID; // new max value, save on catalog close
-  catalog[0].Naverage = Nave;
-  catalog[0].Nmeasure = Nmeas;
-  catalog[0].Nsecfilt_mem = Nave*Nsecfilt;
+  tgtcat[0].measure = sort_measure (tgtcat[0].average, Nave, tgtcat[0].measure, Nmeas, next_meas);
+  tgtcat[0].sorted = TRUE;
+
+  /* note stars which have been found in this tgtcat */
+  for (i = 0; i < srccat->Naverage; i++) {
+    if (srccat->found_t[i] > -1) {
+      srccat->found_t[i] = -2;
+    }
+  }
+
+  /* check if the tgtcat has changed?  if no change, no need to write */
+  tgtcat[0].objID    = objID; // new max value, save on tgtcat close
+  tgtcat[0].Naverage = Nave;
+  tgtcat[0].Nmeasure = Nmeas;
+  tgtcat[0].Nsecfilt_mem = Nave*Nsecfilt;
   if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT", ("OFF_T_FMT" matches)\n",  Nstars,  Nave,  Nmeas,  Nmatch);
 
@@ -348,9 +358,19 @@
   free (Y1);
   free (N1);
-  free (N2);
   free (X2);
   free (Y2);
+  free (N2);
   free (next_meas);
 
   return (Nmatch);
 }
+
+/* differences with find_matches_closest():
+ * accepts Stars **stars (vs Stars *stars)
+ * NREFSTAR_GROUP vs NSTAR_GROUP
+ * does not update lensing fields
+ * allows option to replace existing entries
+ * allows multiple photcodes
+
+ */
+
Index: /trunk/Ohana/src/addstar/src/find_matches_refstars.c
===================================================================
--- /trunk/Ohana/src/addstar/src/find_matches_refstars.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/find_matches_refstars.c	(revision 38986)
@@ -1,11 +1,12 @@
 # include "addstar.h"
 
-int find_matches_refstars (SkyRegion *region, Stars **stars, unsigned int Nstars, Catalog *catalog, AddstarClientOptions options) {
-
-  off_t i, j, n, N, J;
+// see bottom of this file for differences between find_matches_refstars.c and find_matches.c
+int find_matches_refstars (SkyRegion *region, Catalog *srccat, Catalog *tgtcat, AddstarClientOptions options) {
+
+  off_t i, j, J, Nstars, mSrc;
   double RADIUS, RADIUS2;
   double *X1, *Y1, *X2, *Y2;
   double dX, dY, dR;
-  off_t *N1, *N2,  *next_meas;
+  off_t *N1, *N2;
   off_t Nave, NAVE, Nmeas, NMEAS, Nmatch;
   unsigned int objID, catID;
@@ -13,70 +14,97 @@
   int Nsecfilt;
 
-  switch (NREFSTAR_GROUP) {
-    case 1:
-    case 3:
-    case 4:
-      break;
-    default:
-      fprintf (stderr, "ERROR: NREFSTAR_GROUP NOT SET!\n");
-      exit (1);
-  }
-
   /* photcode data -- should not have to modify secfilt / average */
   Nsecfilt = GetPhotcodeNsecfilt ();
 
   /** allocate local arrays (stars) **/
-  ALLOCATE (X1, double, Nstars);
-  ALLOCATE (Y1, double, Nstars);
-  ALLOCATE (N1, off_t,  Nstars);
-
-  /** allocate local arrays (catalog) **/
-  Nave = catalog[0].Naverage;
-  NAVE = Nave + 1000;
+  ALLOCATE (X1, double, srccat->Naverage);
+  ALLOCATE (Y1, double, srccat->Naverage);
+  ALLOCATE (N1, off_t,  srccat->Naverage);
+
+  myAbort ("figure out if found_t needs to be tracking Naverage or Nmeasure"); 
+  if (!srccat->found_t) {
+    ALLOCATE (srccat->found_t, off_t, srccat->Naverage);
+    for (i = 0; i < srccat->Naverage; i++) {
+      srccat->found_t[i] = -1;
+    }
+  }
+
+  /** allocate local arrays (tgtcat) **/
+  NAVE = Nave = tgtcat[0].Naverage;
   ALLOCATE (X2, double, NAVE);
   ALLOCATE (Y2, double, NAVE);
   ALLOCATE (N2, off_t,  NAVE);
-  ALLOCATE (catalog[0].found_t, off_t, NAVE);
-  REALLOCATE (catalog[0].average, Average, NAVE);
-  REALLOCATE (catalog[0].secfilt, SecFilt, NAVE*catalog[0].Nsecfilt);
+
+  if (!tgtcat->found_t) {
+    ALLOCATE (tgtcat[0].found_t, off_t, NAVE);
+    for (i = 0; i < NAVE; i++) {
+      tgtcat->found_t[i] = -1;
+    }
+  }
   /* for secfilt j and star i, secfilt[i*Nsecfilt+j] */
 
+  /* internal counters */
   Nmatch = 0;
-  NMEAS = Nmeas = catalog[0].Nmeasure;
+  NMEAS = Nmeas = tgtcat[0].Nmeasure;
   
-  // current max obj ID for this catalog
-  objID = catalog[0].objID;
-  catID = catalog[0].catID;
-
-  /* project onto rectilinear grid with 1 arcsec pixels, sort by X */
-  /* reference for coords is catalog center */
-  InitCoords (&tcoords, "DEC--ZEA");
+  off_t *next_meas = NULL;
+
+  // current max obj ID for this tgtcat
+  objID = tgtcat[0].objID;
+  catID = tgtcat[0].catID;
+
+  /* project onto rectilinear grid with 1 arcsec pixels. the choice of ARC projection has
+   * the advantage that every point in R,D has a mapping to a unique X,Y.  However, note
+   * that not all possible X,Y points map back to R,D and the local plate scale changes
+   * substantially far from the projection pole.  We use the center of the region (tgtcat)
+   * for crval1,2.
+   */
+  InitCoords (&tcoords, "DEC--ARC");
   tcoords.crval1 = 0.5*(region[0].Rmin + region[0].Rmax);
-  tcoords.crval2 = 0.5*(region[0].Dmin + region[0].Dmax);
+  if ((region[0].Dmax < 90) && (region[0].Dmin > -90)) {
+    tcoords.crval2 = 0.5*(region[0].Dmin + region[0].Dmax);
+  } else {
+    tcoords.crval2 = (region[0].Dmax >= 90) ? 90.0 : -90.0;
+  }
   tcoords.cdelt1 = tcoords.cdelt2 = 1.0 / 3600.0;
-  
-  for (i = 0; i < Nstars; i++) {
-    RD_to_XY (&X1[i], &Y1[i], stars[i][0].average.R, stars[i][0].average.D, &tcoords);
-    N1[i] = i;
+
+  /* build spatial index (RA sort) referencing input array sequence */
+  Nstars = 0;
+  for (i = 0; i < srccat->Naverage; i++) {
+    int status = RD_to_XY (&X1[Nstars], &Y1[Nstars], srccat->average[i].R, srccat->average[i].D, &tcoords);
+    if (!status) continue;
+    N1[Nstars] = i;
+    Nstars ++;
+  }
+  if (Nstars < 1) {
+    if (VERBOSE) fprintf (stderr, "skipping %s, no overlapping stars\n", tgtcat[0].filename);
+    free (X1);
+    free (Y1);
+    free (N1);
+    free (X2);
+    free (Y2);
+    free (N2);
+    return (0);
   }
   if (Nstars > 1) sort_coords_index (X1, Y1, N1, Nstars);
   
+  /* build spatial index (RA sort) */
   for (i = 0; i < Nave; i++) {
-    RD_to_XY (&X2[i], &Y2[i], catalog[0].average[i].R, catalog[0].average[i].D, &tcoords);
+    RD_to_XY (&X2[i], &Y2[i], tgtcat[0].average[i].R, tgtcat[0].average[i].D, &tcoords);
     N2[i] = i;
-    catalog[0].found_t[N2[i]] = -1;
+    tgtcat[0].found_t[N2[i]] = -1;
   }
   if (Nave > 1) sort_coords_index (X2, Y2, N2, Nave);
 
   /* set up pointers for linked list of measurements */
-  if (catalog[0].sorted && (catalog[0].Nmeasure == catalog[0].Nmeasure_disk)) {
+  if (tgtcat[0].sorted && (tgtcat[0].Nmeasure == tgtcat[0].Nmeasure_disk)) {
     // this version is only valid if we have done a full catalog load, and if the catalog
     // is sorted while processed
-    next_meas = init_measure_links (catalog[0].average, Nave, catalog[0].measure, Nmeas);
+    next_meas = init_measure_links (tgtcat[0].average, Nave, tgtcat[0].measure, Nmeas);
   } else {
-    next_meas = build_measure_links (catalog[0].average, Nave, catalog[0].measure, Nmeas);
+    next_meas = build_measure_links (tgtcat[0].average, Nave, tgtcat[0].measure, Nmeas);
   }    
 
-  /* choose a radius for matches */
+  /* choose a radius for matches (defined in args.c or ImageOptions.c) */
   if (options.radius == 0) {
     RADIUS = 2.0; /* hardwired default for refstars */
@@ -86,6 +114,6 @@
   RADIUS2 = RADIUS*RADIUS;
 
-  /** find matched stars **/
-  // XXX could use NREFSTAR_GROUP to do this match more quicky
+  /****************** find matched stars ********************/
+
   for (i = j = 0; (i < Nstars) && (j < Nave); ) {
     if (!finite(X1[i]) || !finite(Y1[i])) { 
@@ -97,5 +125,6 @@
       continue;
     }
-    
+
+    /* negative dX: j is too large */
     dX = X1[i] - X2[j];
     if (dX <= -1.02*RADIUS) {
@@ -103,4 +132,5 @@
       continue;
     }
+    /* positive dX, i is too large */
     if (dX >= 1.02*RADIUS) {
       j++;
@@ -108,5 +138,5 @@
     }
 
-    /* negative dX: j is too large, positive dX, i is too large */
+    /* within match range; look for matches */
     for (J = j; (dX > -1.02*RADIUS) && (J < Nave); J++) {
       dX = X1[i] - X2[J];
@@ -117,88 +147,104 @@
       /*** a match is found, add to average, measure ***/
       Nmatch ++;
-      n = N2[J];
-      N = N1[i];
-
-      /** in replace mode, search for entry and replace values M, dM, R, D */
-      if (options.replace && replace_match (&catalog[0].average[n], catalog[0].measure, stars[N])) continue;
-
-      if (Nmeas == NMEAS) {
-	NMEAS = Nmeas + 1000;
+      off_t n = N2[J];
+      off_t N = N1[i];
+
+      /* make sure there is space for next entry */
+      if (Nmeas >= NMEAS - srccat->average[N].Nmeasure) {
+	NMEAS = Nmeas + 1000 + srccat->average[N].Nmeasure;
 	REALLOCATE (next_meas, off_t, NMEAS);
-	REALLOCATE (catalog[0].measure, Measure, NMEAS);
+	REALLOCATE (tgtcat[0].measure, Measure, NMEAS);
       }
 
-      /* add to end of measurement list */
-      add_meas_link (&catalog[0].average[n], next_meas, Nmeas, NMEAS);
+      /** add measurements for this star **/
+      off_t mOff = srccat->average[N].measureOffset;
+      for (mSrc = 0; mSrc < srccat->average[N].Nmeasure; mSrc++) {
+	/** in replace mode, search for entry and replace values M, dM, R, D */
+	if (options.replace && replace_match (&tgtcat[0].average[n], tgtcat[0].measure, &srccat->measure[mSrc + mOff], &srccat->found_t[N])) continue;
+
+	/* add to end of measurement list */
+	add_meas_link (&tgtcat[0].average[n], next_meas, Nmeas, NMEAS);
 	
-      /** add measurements for this star **/
-
-      // set the new measurements
-      catalog[0].measure[Nmeas]          = stars[N][0].measure;
-
-      /** measure now stores R,D **/
-      catalog[0].measure[Nmeas].dbFlags  = 0;
-      catalog[0].measure[Nmeas].averef   = n;
-      catalog[0].measure[Nmeas].objID    = catalog[0].average[n].objID;
-      catalog[0].measure[Nmeas].catID    = catalog[0].catID;
-
-      float dRoff = dvoOffsetR(&catalog[0].measure[Nmeas], &catalog[0].average[n]);
-
-      // rationalize dR:
-      if (dRoff > +180.0*3600.0) {
+	/** add measurements for this star **/
+
+	// set the new measurements
+	tgtcat[0].measure[Nmeas]          = srccat->measure[mSrc + mOff];
+	
+	// the following measure elements cannot be set until here:
+	tgtcat[0].measure[Nmeas].dbFlags  = 0;
+	tgtcat[0].measure[Nmeas].averef   = n; // this must be an absolute sequence number, if partial average is loaded 
+	tgtcat[0].measure[Nmeas].objID    = tgtcat[0].average[n].objID;
+	tgtcat[0].measure[Nmeas].catID    = tgtcat[0].catID;
+
+	float dRoff = dvoOffsetR(&tgtcat[0].measure[Nmeas], &tgtcat[0].average[n]);
+
+	// rationalize R:
+	if (dRoff > +180.0*3600.0) {
 	  // average on high end of boundary, move star up
-	  catalog[0].measure[Nmeas].R += 360.0;
+	  tgtcat[0].measure[Nmeas].R += 360.0;
 	  dRoff -= 360.0*3600.0;
+	}
+	if (dRoff < -180.0*3600.0) {
+	  // average on low end of boundary, move star down
+	  tgtcat[0].measure[Nmeas].R -= 360.0;
+	  dRoff += 360.0*3600.0;
+	}
+	if (fabs(dRoff) > 10*RADIUS) {
+	  // take declination into account and check again.
+	  double cosD = cos(RAD_DEG*tgtcat[0].average[n].D);
+	  if (fabs(dRoff*cosD) > 10*RADIUS) {
+	    fprintf (stderr, "error: %10.6f,%10.6f vs %10.6f,%10.6f (%f,%f vs %f,%f)\n", 
+		     tgtcat[0].average[n].R, tgtcat[0].average[n].D, 
+		     srccat->average[N].R, srccat->average[N].D,
+		     X1[i], X2[J], 
+		     Y1[i], Y2[J]);
+	  }
+	}
+
+	if (TIMEREF) {
+	  tgtcat[0].measure[Nmeas].t        = TIMEREF; /** careful : time_t vs e_time **/
+	  tgtcat[0].measure[Nmeas].t_msec   = 0; 
+	}
+
+	if (ACCEPT_MOTION) {
+	  tgtcat[0].average[n].uR         = srccat->average[N].uR;
+	  tgtcat[0].average[n].uD         = srccat->average[N].uD;
+	  tgtcat[0].average[n].duR        = srccat->average[N].duR;
+	  tgtcat[0].average[n].duD        = srccat->average[N].duD;
+	  tgtcat[0].average[n].P          = srccat->average[N].P;
+	  tgtcat[0].average[n].dP         = srccat->average[N].dP;
+	}
+
+	/** don't update average / secfilt values for REF photcodes **/
+
+	myAbort ("fix logic on multiple detections");
+
+	/*** flag multiple stars */
+	/* this image star matches more than one tgtcat star */
+	if (srccat->found_t[N] > -1) {
+	  tgtcat[0].measure[srccat->found_t[N]].dbFlags |= ID_MEAS_BLEND_MEAS;
+	  tgtcat[0].measure[Nmeas].dbFlags |= ID_MEAS_BLEND_MEAS;
+	} 
+	if (srccat->found_t[N] == -2) { /* this image star matches a tgtcat star on a neighboring tgtcat */
+	  tgtcat[0].measure[Nmeas].dbFlags |= ID_MEAS_BLEND_MEAS_X;
+	} 
+	if (srccat->found_t[N] == -1) { /* this image star matches only this tgtcat star */
+	  srccat->found_t[N] = Nmeas;  /* save first match, in case coincidences are found */
+	}
+	/* this tgtcat star matches more than one image star */
+	if (tgtcat[0].found_t[n] > -1) {
+	  tgtcat[0].measure[tgtcat[0].found_t[n]].dbFlags |= ID_MEAS_BLEND_OBJ;
+	  tgtcat[0].measure[Nmeas].dbFlags |= ID_MEAS_BLEND_OBJ;
+	} else {
+	  tgtcat[0].found_t[n] = Nmeas;
+	}
+	tgtcat[0].average[n].Nmeasure ++;
+	Nmeas ++;
       }
-      if (dRoff < -180.0*3600.0) {
-	  // average on low end of boundary, move star down
-	  catalog[0].measure[Nmeas].R -= 360.0;
-	  dRoff += 360.0*3600.0;
-      }
-
-      catalog[0].measure[Nmeas].t        = (TIMEREF == 0) ? stars[N][0].measure.t      : TIMEREF; /** careful : time_t vs e_time **/
-      catalog[0].measure[Nmeas].t_msec   = (TIMEREF == 0) ? stars[N][0].measure.t_msec : TIMEREF; /** careful : time_t vs e_time **/
-
-      if (ACCEPT_MOTION) {
-	catalog[0].average[n].uR         = stars[N][0].average.uR;
-	catalog[0].average[n].uD         = stars[N][0].average.uD;
-	catalog[0].average[n].duR        = stars[N][0].average.duR;
-	catalog[0].average[n].duD        = stars[N][0].average.duD;
-	catalog[0].average[n].P          = stars[N][0].average.P;
-	catalog[0].average[n].dP         = stars[N][0].average.dP;
-      }
-
-      /** don't update average / secfilt values for REF photcodes **/
-
-      /*** handle multiple stars */
-      /* this image star matches more than one catalog star */
-      if (stars[N][0].found > -1) {
-	catalog[0].measure[stars[N][0].found].dbFlags |= ID_MEAS_BLEND_MEAS;
-	catalog[0].measure[Nmeas].dbFlags |= ID_MEAS_BLEND_MEAS;
-      } 
-      if (stars[N][0].found == -2) { /* this image star matches a catalog star on a neighboring catalog */
-	catalog[0].measure[Nmeas].dbFlags |= ID_MEAS_BLEND_MEAS_X;
-      } 
-      if (stars[N][0].found == -1) { /* this image star matches only this catalog star */
-	stars[N][0].found = Nmeas;  /* save first match, in case coincidences are found */
-      }
-      /* this catalog star matches more than one image star */
-      if (catalog[0].found_t[n] > -1) {
-	catalog[0].measure[catalog[0].found_t[n]].dbFlags |= ID_MEAS_BLEND_OBJ;
-	catalog[0].measure[Nmeas].dbFlags |= ID_MEAS_BLEND_OBJ;
-      } else {
-	catalog[0].found_t[n] = Nmeas;
-      }
-
-      catalog[0].average[n].Nmeasure ++;
-      Nmeas ++;
-
-      // update_coords (&catalog[0].average[n], &catalog[0].measure[0], next_meas);
+      
+      // update_coords (&tgtcat[0].average[n], &tgtcat[0].measure[0], next_meas);
     }
     i++;
   }
-
-  /* we don't add missed entries for refcat
-     (already in database, not refcat) */
 
   /* incorporate unmatched refcat stars */
@@ -207,92 +253,99 @@
      the reference up-to-date with known stars only */
 
-  for (i = 0; (i < Nstars) && !options.only_match; i+=NREFSTAR_GROUP) {
-    if (Nmeas >= NMEAS - NREFSTAR_GROUP) {
-      NMEAS = Nmeas + 1000;
+  for (i = 0; (i < Nstars) && !options.only_match; i++) {
+    /* make sure there is space for next entry */
+    if (Nmeas >= NMEAS - srccat->average[i].Nmeasure) {
+      NMEAS = Nmeas + 1000 + srccat->average[i].Nmeasure;
       REALLOCATE (next_meas, off_t, NMEAS);
-      REALLOCATE (catalog[0].measure, Measure, NMEAS);
-    }
-    if (Nave == NAVE) {
+      REALLOCATE (tgtcat[0].measure, Measure, NMEAS);
+    }
+    if (Nave >= NAVE) {
       NAVE = Nave + 1000;
-      REALLOCATE (catalog[0].average, Average, NAVE);
-      REALLOCATE (catalog[0].secfilt, SecFilt, NAVE*catalog[0].Nsecfilt);
-    }
-
-    N = i;
-    if (stars[N][0].found > -1) continue;
-    if (!IN_REGION (stars[N][0].average.R, stars[N][0].average.D)) continue;
-
-    dvo_average_init (&catalog[0].average[Nave]);
-    catalog[0].average[Nave].R         	   = stars[N][0].average.R;
-    catalog[0].average[Nave].D         	   = stars[N][0].average.D;
-
-    catalog[0].average[Nave].Nmeasure      = NREFSTAR_GROUP;
-    catalog[0].average[Nave].measureOffset = Nmeas;
-    catalog[0].average[Nave].objID     	   = objID;
-    catalog[0].average[Nave].catID     	   = catID;
+      REALLOCATE (tgtcat[0].average, Average, NAVE);
+      if (tgtcat[0].secfilt) {
+	// we only update the secfilt table if it has been allocated for output
+	REALLOCATE (tgtcat[0].secfilt, SecFilt, NAVE*tgtcat[0].Nsecfilt);
+      }
+    }
+
+    if (srccat->found_t[i] >= 0) continue;
+    if (!IN_REGION (srccat->average[i].R, srccat->average[i].D)) continue;
+
+    dvo_average_init (&tgtcat[0].average[Nave]);
+    tgtcat[0].average[Nave].R         	   = srccat->average[i].R;
+    tgtcat[0].average[Nave].D         	   = srccat->average[i].D;
+
+    tgtcat[0].average[Nave].Nmeasure       = srccat->average[i].Nmeasure;
+    tgtcat[0].average[Nave].measureOffset  = Nmeas;
+    tgtcat[0].average[Nave].objID     	   = objID;
+    tgtcat[0].average[Nave].catID     	   = catID;
 
     if (PSPS_ID) {
-        catalog[0].average[Nave].extID = CreatePSPSObjectID(catalog[0].average[Nave].R, catalog[0].average[Nave].D);
+      tgtcat[0].average[Nave].extID = CreatePSPSObjectID(tgtcat[0].average[Nave].R, tgtcat[0].average[Nave].D);
     }
 
     if (ACCEPT_MOTION) {
-      catalog[0].average[Nave].dR    	   = stars[N][0].average.dR;
-      catalog[0].average[Nave].dD    	   = stars[N][0].average.dD;
-      catalog[0].average[Nave].uR    	   = stars[N][0].average.uR;
-      catalog[0].average[Nave].uD    	   = stars[N][0].average.uD;
-      catalog[0].average[Nave].duR   	   = stars[N][0].average.duR;
-      catalog[0].average[Nave].duD   	   = stars[N][0].average.duD;
-      catalog[0].average[Nave].P     	   = stars[N][0].average.P;
-      catalog[0].average[Nave].dP    	   = stars[N][0].average.dP;
+      tgtcat[0].average[Nave].dR    	   = srccat->average[i].dR;
+      tgtcat[0].average[Nave].dD    	   = srccat->average[i].dD;
+      tgtcat[0].average[Nave].uR    	   = srccat->average[i].uR;
+      tgtcat[0].average[Nave].uD    	   = srccat->average[i].uD;
+      tgtcat[0].average[Nave].duR   	   = srccat->average[i].duR;
+      tgtcat[0].average[Nave].duD   	   = srccat->average[i].duD;
+      tgtcat[0].average[Nave].P     	   = srccat->average[i].P;
+      tgtcat[0].average[Nave].dP    	   = srccat->average[i].dP;
     }
 
     objID ++;
 
-    for (j = 0; j < Nsecfilt; j++) {
-      dvo_secfilt_init (&catalog[0].secfilt[Nave*Nsecfilt+j], SECFILT_RESET_ALL);
-    }
-
-    for (j = 0; j < NREFSTAR_GROUP; j++) {
-      N = i + j;
-
-      catalog[0].measure[Nmeas]          = stars[N][0].measure;
-
-      catalog[0].measure[Nmeas].t        = (stars[N][0].measure.t == 0) ? TIMEREF : stars[N][0].measure.t;      /** careful : time_t vs e_time **/
-      catalog[0].measure[Nmeas].t_msec   = (stars[N][0].measure.t == 0) ?       0 : stars[N][0].measure.t_msec; /** careful : time_t vs e_time **/
-      catalog[0].measure[Nmeas].dbFlags  = 0;
-      catalog[0].measure[Nmeas].averef   = Nave;
-      catalog[0].measure[Nmeas].objID    = catalog[0].average[Nave].objID;
-      catalog[0].measure[Nmeas].catID    = catalog[0].catID;
-
-      stars[N][0].found = Nmeas;
-      next_meas[Nmeas] = -1;  // initial value here, update below
-      Nmeas ++; 
-    }
-
-    for (j = 0; j < NREFSTAR_GROUP - 1; j++) {
-	next_meas[Nmeas - NREFSTAR_GROUP + j] = Nmeas - NREFSTAR_GROUP + j + 1;
+    for (j = 0; tgtcat[0].secfilt && (j < Nsecfilt); j++) {
+      dvo_secfilt_init (&tgtcat[0].secfilt[Nave*Nsecfilt+j], SECFILT_RESET_ALL);
+    }
+
+    off_t mOff = srccat->average[i].measureOffset;
+    for (mSrc = 0; mSrc < srccat->average[i].Nmeasure; mSrc++) {
+      // supply the measurments from this detection
+      dvo_measure_init (&tgtcat[0].measure[Nmeas]);
+      tgtcat[0].measure[Nmeas] = srccat->measure[mSrc + mOff];
+
+      // the following measure elements cannot be set until here:
+      tgtcat[0].measure[Nmeas].dbFlags   = 0;
+      tgtcat[0].measure[Nmeas].averef    = Nave; // XXX EAM : must be absolute Nave if partial read
+      tgtcat[0].measure[Nmeas].objID     = tgtcat[0].average[Nave].objID;
+      tgtcat[0].measure[Nmeas].catID     = tgtcat[0].catID;
+
+      if (TIMEREF) {
+	tgtcat[0].measure[Nmeas].t        = TIMEREF;
+	tgtcat[0].measure[Nmeas].t_msec   =       0; 
+      }
+
+      /* next[Nmeas] should always be -1 in this context (it is always the only
+	 measurement for the star) */
+      srccat->found_t[i] = Nmeas;
+      Nmeas ++;
+
+      // update the next_meas pointer for this entry (last one for this star is -1)
+      next_meas[Nmeas-1] = (mSrc < srccat->average[i].Nmeasure - 1) ? Nmeas : -1;
     }
     Nave ++;
   }
       
-  REALLOCATE (catalog[0].average, Average, Nave);
+  REALLOCATE (tgtcat[0].average, Average, Nave);
+  REALLOCATE (tgtcat[0].measure, Measure, Nmeas);
 
   // XXX allow for unsorted output?
-  catalog[0].measure = sort_measure (catalog[0].average, Nave, catalog[0].measure, Nmeas, next_meas);
-
-  /* note stars which have been found in this catalog */
-  for (i = 0; i < Nstars; i++) {
-    if (stars[i][0].found > -1) {
-      stars[i][0].found = -2;
-    } else {
-      stars[i][0].found = -3;
-    }
-  }
-
-  catalog[0].objID    = objID; // new max value, save on catalog close
-  catalog[0].Naverage = Nave;
-  catalog[0].Nmeasure = Nmeas;
-  catalog[0].Nsecfilt_mem = Nave*Nsecfilt;
-  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: %d "OFF_T_FMT" "OFF_T_FMT", ("OFF_T_FMT" matches)\n",  Nstars,  Nave,  Nmeas,  Nmatch);
+  tgtcat[0].measure = sort_measure (tgtcat[0].average, Nave, tgtcat[0].measure, Nmeas, next_meas);
+
+  /* note stars which have been found in this tgtcat */
+  for (i = 0; i < srccat->Nmeasure; i++) {
+    if (srccat->found_t[i] > -1) {
+      srccat->found_t[i] = -2;
+    }
+  }
+
+  tgtcat[0].objID    = objID; // new max value, save on tgtcat close
+  tgtcat[0].Naverage = Nave;
+  tgtcat[0].Nmeasure = Nmeas;
+  tgtcat[0].Nsecfilt_mem = Nave*Nsecfilt;
+  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT", ("OFF_T_FMT" matches)\n",  Nstars,  Nave,  Nmeas,  Nmatch);
 
   free (X1);
@@ -306,2 +359,10 @@
   return (Nmatch);
 }
+
+/** differences between find_matches_refstars.c and find_matches.c:
+ * refstars has replace_match
+ * refstars has TIMEREF and ACCEPT_MOTION
+ * refstars does NOT have AddToCalibration
+ * refstars does NOT have Nsec 
+ * refstars does NOT do update_coords
+ **/
Index: /trunk/Ohana/src/addstar/src/find_matches_starpar.c
===================================================================
--- /trunk/Ohana/src/addstar/src/find_matches_starpar.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/find_matches_starpar.c	(revision 38986)
@@ -131,17 +131,18 @@
 
     /** add starpar for this star **/
-
-    // set the new starparments
-    catalog[0].starpar[Nstarpar]          = stars[N].starpar;
-    catalog[0].starpar[Nstarpar].averef   = n;
-    catalog[0].starpar[Nstarpar].objID    = catalog[0].average[n].objID;
-    catalog[0].starpar[Nstarpar].catID    = catID;
-
-    // NOTE: include R,D in starpar?
-    // XXX if I add R,D to starpar, I should rationalize R,D to the same boundary?
-
+    off_t m;
+    if (options->replace && catalog[0].average[n].Nstarpar) {
+      m = catalog[0].average[n].starparOffset;
+    } else {
+      m = Nstarpar;
+      catalog[0].average[n].starparOffset = m;
+      catalog[0].average[n].Nstarpar ++;
+      Nstarpar ++;
+    }
+    catalog[0].starpar[m]          = stars[N].starpar;
+    catalog[0].starpar[m].averef   = n;
+    catalog[0].starpar[m].objID    = catalog[0].average[n].objID;
+    catalog[0].starpar[m].catID    = catID;
     stars[N].found = TRUE;
-    catalog[0].average[n].Nstarpar ++;
-    Nstarpar ++;
     i++;
   }
Index: /trunk/Ohana/src/addstar/src/get2mass_full.c
===================================================================
--- /trunk/Ohana/src/addstar/src/get2mass_full.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/get2mass_full.c	(revision 38986)
@@ -6,5 +6,5 @@
 // fill in the data for a JHK triplet star.  takes a pointer to the start of the line the
 // RA and DEC have already been set
-int get2mass_3star_full (Stars **star, char *line, int Nmax) {
+int get2mass_3star_full (Measure *measure, char *line, int Nmax) {
 
   char *ptr;
@@ -17,64 +17,64 @@
   ptr = next2MASSfield (ptr); // dec (assumed to be already set)
   ptr = next2MASSfield (ptr); // err_maj
-  star[0][0].measure.FWx = ToShortPixels(strtod (ptr, NULL));
+  measure[0].FWx = ToShortPixels(strtod (ptr, NULL));
   ptr = next2MASSfield (ptr); // err_min
-  star[0][0].measure.FWy = ToShortPixels(strtod (ptr, NULL));
+  measure[0].FWy = ToShortPixels(strtod (ptr, NULL));
   ptr = next2MASSfield (ptr); // err_ang
-  star[0][0].measure.theta = ToShortPixels(strtod (ptr, NULL));
-
-  star[2][0].measure.FWx   = star[1][0].measure.FWx   = star[0][0].measure.FWx;
-  star[2][0].measure.FWy   = star[1][0].measure.FWy   = star[0][0].measure.FWy;
-  star[2][0].measure.theta = star[1][0].measure.theta = star[0][0].measure.theta;
+  measure[0].theta = ToShortPixels(strtod (ptr, NULL));
+
+  measure[2].FWx   = measure[1].FWx   = measure[0].FWx;
+  measure[2].FWy   = measure[1].FWy   = measure[0].FWy;
+  measure[2].theta = measure[1].theta = measure[0].theta;
 
   ptr = next2MASSfield (ptr); // designation (skip)
 
   ptr = next2MASSfield (ptr); // j_m
-  star[0][0].measure.M  = strtod (ptr, NULL);
+  measure[0].M  = strtod (ptr, NULL);
   ptr = next2MASSfield (ptr); // j_cmsig
-  star[0][0].measure.dM = strtod (ptr, NULL);
+  measure[0].dM = strtod (ptr, NULL);
   ptr = next2MASSfield (ptr); // j_msigcom
   dMfull = strtod (ptr, NULL);
-  star[0][0].measure.dMcal = sqrt (SQ(dMfull) - SQ(star[0][0].measure.dM));
+  measure[0].dMcal = sqrt (SQ(dMfull) - SQ(measure[0].dM));
   ptr = next2MASSfield (ptr); // j_snr (skip)
 
   ptr = next2MASSfield (ptr); // h_m
-  star[1][0].measure.M  = strtod (ptr, NULL);
+  measure[1].M  = strtod (ptr, NULL);
   ptr = next2MASSfield (ptr); // h_cmsig
-  star[1][0].measure.dM = strtod (ptr, NULL);
+  measure[1].dM = strtod (ptr, NULL);
   ptr = next2MASSfield (ptr); // h_msigcom
   dMfull = strtod (ptr, NULL);
-  star[1][0].measure.dMcal = sqrt (SQ(dMfull) - SQ(star[1][0].measure.dM));
+  measure[1].dMcal = sqrt (SQ(dMfull) - SQ(measure[1].dM));
   ptr = next2MASSfield (ptr); // h_snr (skip)
 
   ptr = next2MASSfield (ptr); // k_m
-  star[2][0].measure.M  = strtod (ptr, NULL);
+  measure[2].M  = strtod (ptr, NULL);
   ptr = next2MASSfield (ptr); // k_cmsig
-  star[2][0].measure.dM = strtod (ptr, NULL);
+  measure[2].dM = strtod (ptr, NULL);
   ptr = next2MASSfield (ptr); // k_msigcom
   dMfull = strtod (ptr, NULL);
-  star[2][0].measure.dMcal = sqrt (SQ(dMfull) - SQ(star[2][0].measure.dM));
+  measure[2].dMcal = sqrt (SQ(dMfull) - SQ(measure[2].dM));
   ptr = next2MASSfield (ptr); // k_snr (skip)
 
-  star[2][0].measure.photFlags = star[1][0].measure.photFlags = star[0][0].measure.photFlags = 0;
+  measure[2].photFlags = measure[1].photFlags = measure[0].photFlags = 0;
 
   ptr = next2MASSfield (ptr); // ph_qual
-  set2MASS_ph_qual (star[0], ptr[0]);
-  set2MASS_ph_qual (star[1], ptr[1]);
-  set2MASS_ph_qual (star[2], ptr[2]);
+  set2MASS_ph_qual (&measure[0], ptr[0]);
+  set2MASS_ph_qual (&measure[1], ptr[1]);
+  set2MASS_ph_qual (&measure[2], ptr[2]);
 
   ptr = next2MASSfield (ptr); // rd_flg
-  set2MASS_rd_flag (star[0], ptr[0]);
-  set2MASS_rd_flag (star[1], ptr[1]);
-  set2MASS_rd_flag (star[2], ptr[2]);
+  set2MASS_rd_flag (&measure[0], ptr[0]);
+  set2MASS_rd_flag (&measure[1], ptr[1]);
+  set2MASS_rd_flag (&measure[2], ptr[2]);
 
   ptr = next2MASSfield (ptr); // bl_flg
-  set2MASS_bl_flag (star[0], ptr[0]);
-  set2MASS_bl_flag (star[1], ptr[1]);
-  set2MASS_bl_flag (star[2], ptr[2]);
+  set2MASS_bl_flag (&measure[0], ptr[0]);
+  set2MASS_bl_flag (&measure[1], ptr[1]);
+  set2MASS_bl_flag (&measure[2], ptr[2]);
 
   ptr = next2MASSfield (ptr); // cc_flg
-  set2MASS_cc_flag (star[0], ptr[0]);
-  set2MASS_cc_flag (star[1], ptr[1]);
-  set2MASS_cc_flag (star[2], ptr[2]);
+  set2MASS_cc_flag (&measure[0], ptr[0]);
+  set2MASS_cc_flag (&measure[1], ptr[1]);
+  set2MASS_cc_flag (&measure[2], ptr[2]);
 
   ptr = next2MASSfield (ptr); // ndet (skip for now, XXX use somehow?)
@@ -84,12 +84,12 @@
 
   ptr = next2MASSfield (ptr); // gal_contam (one flag for all filters)
-  set2MASS_gal_flag (star[0], ptr[0]);
-  set2MASS_gal_flag (star[1], ptr[0]);
-  set2MASS_gal_flag (star[2], ptr[0]);
+  set2MASS_gal_flag (&measure[0], ptr[0]);
+  set2MASS_gal_flag (&measure[1], ptr[0]);
+  set2MASS_gal_flag (&measure[2], ptr[0]);
 
   ptr = next2MASSfield (ptr); // mp_flg (one flag for all filters)
-  set2MASS_mp_flag (star[0], ptr[0]);
-  set2MASS_mp_flag (star[1], ptr[0]);
-  set2MASS_mp_flag (star[2], ptr[0]);
+  set2MASS_mp_flag (&measure[0], ptr[0]);
+  set2MASS_mp_flag (&measure[1], ptr[0]);
+  set2MASS_mp_flag (&measure[2], ptr[0]);
 
   ptr = next2MASSfield (ptr); // pts_key (skip for now, XXX use somehow?)
@@ -101,29 +101,29 @@
 
   ptr = next2MASSfield (ptr); // x_scan
-  star[0][0].measure.Xccd = strtod (ptr, NULL);
-  star[2][0].measure.Xccd = star[1][0].measure.Xccd = star[0][0].measure.Xccd;
+  measure[0].Xccd = strtod (ptr, NULL);
+  measure[2].Xccd = measure[1].Xccd = measure[0].Xccd;
 
   ptr = next2MASSfield (ptr); // jdate (julian date)
   jd = strtod (ptr, NULL);
-  star[0][0].measure.t = ohana_jd_to_sec (jd);
-  star[2][0].measure.t = star[1][0].measure.t = star[0][0].measure.t;
+  measure[0].t = ohana_jd_to_sec (jd);
+  measure[2].t = measure[1].t = measure[0].t;
 
   ptr = next2MASSfield (ptr); // j_psfchi
-  star[0][0].measure.psfChisq = strtod (ptr, NULL);
+  measure[0].psfChisq = strtod (ptr, NULL);
   ptr = next2MASSfield (ptr); // h_psfchi
-  star[1][0].measure.psfChisq = strtod (ptr, NULL);
+  measure[1].psfChisq = strtod (ptr, NULL);
   ptr = next2MASSfield (ptr); // k_psfchi
-  star[2][0].measure.psfChisq = strtod (ptr, NULL);
+  measure[2].psfChisq = strtod (ptr, NULL);
 
   ptr = next2MASSfield (ptr); // j_m_stdap
-  star[0][0].measure.Map = strtod (ptr, NULL);
+  measure[0].Map = strtod (ptr, NULL);
   ptr = next2MASSfield (ptr); // j_msig_stdap (skip?)
 
   ptr = next2MASSfield (ptr); // h_m_stdap
-  star[1][0].measure.Map = strtod (ptr, NULL);
+  measure[1].Map = strtod (ptr, NULL);
   ptr = next2MASSfield (ptr); // h_msig_stdap (skip?)
 
   ptr = next2MASSfield (ptr); // k_m_stdap
-  star[2][0].measure.Map = strtod (ptr, NULL);
+  measure[2].Map = strtod (ptr, NULL);
   ptr = next2MASSfield (ptr); // k_msig_stdap (skip?)
 
@@ -133,24 +133,24 @@
 
   ptr = next2MASSfield (ptr); // dup_src (one flag for all filters)
-  set2MASS_dup_flag (star[0], ptr[0]);
-  set2MASS_dup_flag (star[1], ptr[0]);
-  set2MASS_dup_flag (star[2], ptr[0]);
+  set2MASS_dup_flag (&measure[0], ptr[0]);
+  set2MASS_dup_flag (&measure[1], ptr[0]);
+  set2MASS_dup_flag (&measure[2], ptr[0]);
 
   ptr = next2MASSfield (ptr); // use_src (one flag for all filters)
-  set2MASS_use_flag (star[0], ptr[0]);
-  set2MASS_use_flag (star[1], ptr[0]);
-  set2MASS_use_flag (star[2], ptr[0]);
-
-  star[0][0].measure.photcode  = TM_J;
-  star[0][0].measure.detID   = 0;
-  star[0][0].measure.imageID = 0;
-
-  star[1][0].measure.photcode  = TM_H;
-  star[1][0].measure.detID   = 0;
-  star[1][0].measure.imageID = 0;
-
-  star[2][0].measure.photcode  = TM_K;
-  star[2][0].measure.detID   = 0;
-  star[2][0].measure.imageID = 0;
+  set2MASS_use_flag (&measure[0], ptr[0]);
+  set2MASS_use_flag (&measure[1], ptr[0]);
+  set2MASS_use_flag (&measure[2], ptr[0]);
+
+  measure[0].photcode  = TM_J;
+  measure[0].detID   = 0;
+  measure[0].imageID = 0;
+
+  measure[1].photcode  = TM_H;
+  measure[1].detID   = 0;
+  measure[1].imageID = 0;
+
+  measure[2].photcode  = TM_K;
+  measure[2].detID   = 0;
+  measure[2].imageID = 0;
 
   return TRUE;
@@ -170,15 +170,15 @@
 }
 
-int set2MASS_ph_qual (Stars *star, char qual) {
-
-  switch (qual) {
-    case 'A': star[0].measure.photFlags |= 0x00000001; break; // was: 0x0004
-    case 'B': star[0].measure.photFlags |= 0x00000002; break; // was: 0x0005
-    case 'C': star[0].measure.photFlags |= 0x00000004; break; // was: 0x0006
-    case 'D': star[0].measure.photFlags |= 0x00000008; break; // was: 0x0007
-    case 'E': star[0].measure.photFlags |= 0x00000010; break; // was: 0x0003
-    case 'F': star[0].measure.photFlags |= 0x00000020; break; // was: 0x0002
-    case 'U': star[0].measure.photFlags |= 0x00000040; break; // was: 0x0001
-    case 'X': star[0].measure.photFlags |= 0x00000080; break; // was: 0x0000
+int set2MASS_ph_qual (Measure *measure, char qual) {
+
+  switch (qual) {
+    case 'A': measure[0].photFlags |= 0x00000001; break; // was: 0x0004
+    case 'B': measure[0].photFlags |= 0x00000002; break; // was: 0x0005
+    case 'C': measure[0].photFlags |= 0x00000004; break; // was: 0x0006
+    case 'D': measure[0].photFlags |= 0x00000008; break; // was: 0x0007
+    case 'E': measure[0].photFlags |= 0x00000010; break; // was: 0x0003
+    case 'F': measure[0].photFlags |= 0x00000020; break; // was: 0x0002
+    case 'U': measure[0].photFlags |= 0x00000040; break; // was: 0x0001
+    case 'X': measure[0].photFlags |= 0x00000080; break; // was: 0x0000
     default: 
       fprintf (stderr, "error!\n");
@@ -188,14 +188,14 @@
 }
 
-int set2MASS_rd_flag (Stars *star, char qual) {
-
-  switch (qual) {
-    case '0': star[0].measure.photFlags |= 0x00000100; break; // was: 0x0000 
-    case '1': star[0].measure.photFlags |= 0x00000200; break; // was: 0x0010 
-    case '2': star[0].measure.photFlags |= 0x00000400; break; // was: 0x0020 
-    case '3': star[0].measure.photFlags |= 0x00000800; break; // was: 0x0030 
-    case '4': star[0].measure.photFlags |= 0x00001000; break; // was: 0x0040 
-    case '6': star[0].measure.photFlags |= 0x00002000; break; // was: 0x0050 
-    case '9': star[0].measure.photFlags |= 0x00004000; break; // was: 0x0060 
+int set2MASS_rd_flag (Measure *measure, char qual) {
+
+  switch (qual) {
+    case '0': measure[0].photFlags |= 0x00000100; break; // was: 0x0000 
+    case '1': measure[0].photFlags |= 0x00000200; break; // was: 0x0010 
+    case '2': measure[0].photFlags |= 0x00000400; break; // was: 0x0020 
+    case '3': measure[0].photFlags |= 0x00000800; break; // was: 0x0030 
+    case '4': measure[0].photFlags |= 0x00001000; break; // was: 0x0040 
+    case '6': measure[0].photFlags |= 0x00002000; break; // was: 0x0050 
+    case '9': measure[0].photFlags |= 0x00004000; break; // was: 0x0060 
     default: 
       fprintf (stderr, "error!\n");
@@ -205,13 +205,13 @@
 }
 
-int set2MASS_cc_flag (Stars *star, char qual) {
-
-  switch (qual) {
-    case 'p': star[0].measure.photFlags |= 0x00010000; break; // was: 0x0000
-    case 'c': star[0].measure.photFlags |= 0x00020000; break; // was: 0x0100
-    case 'd': star[0].measure.photFlags |= 0x00040000; break; // was: 0x0200
-    case 's': star[0].measure.photFlags |= 0x00080000; break; // was: 0x0300
-    case 'b': star[0].measure.photFlags |= 0x00010000; break; // was: 0x0400
-    case '0': star[0].measure.photFlags |= 0x00020000; break; // was: 0x0500
+int set2MASS_cc_flag (Measure *measure, char qual) {
+
+  switch (qual) {
+    case 'p': measure[0].photFlags |= 0x00010000; break; // was: 0x0000
+    case 'c': measure[0].photFlags |= 0x00020000; break; // was: 0x0100
+    case 'd': measure[0].photFlags |= 0x00040000; break; // was: 0x0200
+    case 's': measure[0].photFlags |= 0x00080000; break; // was: 0x0300
+    case 'b': measure[0].photFlags |= 0x00010000; break; // was: 0x0400
+    case '0': measure[0].photFlags |= 0x00020000; break; // was: 0x0500
     default: 
       fprintf (stderr, "error!\n");
@@ -221,21 +221,21 @@
 }
 
-int set2MASS_bl_flag (Stars *star, char qual) {
-
-  switch (qual) {
-    case '0': star[0].measure.photFlags &= ~0x00300000; break; // was: ~0x0008
-    case '1': star[0].measure.photFlags |=  0x00100000; break; // was: ~0x0008
-    default:  star[0].measure.photFlags |=  0x00200000; break; // was:  0x0008
-  }      
-  return (TRUE);
-}
-
-int set2MASS_gal_flag (Stars *star, char qual) {
-
-  switch (qual) {
-    case '0': star[0].measure.photFlags &= ~0x00c00000; break; // was: ~0x0080 
-    case '1': star[0].measure.photFlags |=  0x00400000; break; // was: ~0x0080 
-    default:  star[0].measure.photFlags |=  0x00800000;	       // was:  0x0080
-      star[0].measure.extNsigma = 100.0;
+int set2MASS_bl_flag (Measure *measure, char qual) {
+
+  switch (qual) {
+    case '0': measure[0].photFlags &= ~0x00300000; break; // was: ~0x0008
+    case '1': measure[0].photFlags |=  0x00100000; break; // was: ~0x0008
+    default:  measure[0].photFlags |=  0x00200000; break; // was:  0x0008
+  }      
+  return (TRUE);
+}
+
+int set2MASS_gal_flag (Measure *measure, char qual) {
+
+  switch (qual) {
+    case '0': measure[0].photFlags &= ~0x00c00000; break; // was: ~0x0080 
+    case '1': measure[0].photFlags |=  0x00400000; break; // was: ~0x0080 
+    default:  measure[0].photFlags |=  0x00800000;	       // was:  0x0080
+      measure[0].extNsigma = 100.0;
       break;
   }      
@@ -243,29 +243,29 @@
 }
 
-int set2MASS_mp_flag (Stars *star, char qual) {
-
-  switch (qual) {
-    case '0': star[0].measure.photFlags &= ~0x03000000; break; // was: ~0x0800
-    case '1': star[0].measure.photFlags |=  0x01000000; break; // was: ~0x0800
-    default:  star[0].measure.photFlags |=  0x02000000; break; // was:  0x0800
-  }      
-  return (TRUE);
-}
-
-int set2MASS_dup_flag (Stars *star, char qual) {
-
-  switch (qual) {
-    case '0': star[0].measure.photFlags &= ~0x0c000000; break; // was: ~0x1000
-    case '1': star[0].measure.photFlags |=  0x04000000; break; // was: ~0x1000
-    default:  star[0].measure.photFlags |=  0x08000000; break; // was:  0x1000
-  }      
-  return (TRUE);
-}
-
-int set2MASS_use_flag (Stars *star, char qual) {
-
-  switch (qual) {
-    case '0': star[0].measure.photFlags &= ~0x10000000; break; // was: ~0x2000
-    case '1': star[0].measure.photFlags |=  0x10000000; break; // was:  0x2000
+int set2MASS_mp_flag (Measure *measure, char qual) {
+
+  switch (qual) {
+    case '0': measure[0].photFlags &= ~0x03000000; break; // was: ~0x0800
+    case '1': measure[0].photFlags |=  0x01000000; break; // was: ~0x0800
+    default:  measure[0].photFlags |=  0x02000000; break; // was:  0x0800
+  }      
+  return (TRUE);
+}
+
+int set2MASS_dup_flag (Measure *measure, char qual) {
+
+  switch (qual) {
+    case '0': measure[0].photFlags &= ~0x0c000000; break; // was: ~0x1000
+    case '1': measure[0].photFlags |=  0x04000000; break; // was: ~0x1000
+    default:  measure[0].photFlags |=  0x08000000; break; // was:  0x1000
+  }      
+  return (TRUE);
+}
+
+int set2MASS_use_flag (Measure *measure, char qual) {
+
+  switch (qual) {
+    case '0': measure[0].photFlags &= ~0x10000000; break; // was: ~0x2000
+    case '1': measure[0].photFlags |=  0x10000000; break; // was:  0x2000
     default:  abort();
   }      
Index: /trunk/Ohana/src/addstar/src/get2mass_ops.c
===================================================================
--- /trunk/Ohana/src/addstar/src/get2mass_ops.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/get2mass_ops.c	(revision 38986)
@@ -36,4 +36,5 @@
 }
 
+# if (0)
 // fill in the data for a single star.  takes a pointer to the start of the line
 int get2mass_star (Stars *star, char *line, int Nmax) {
@@ -136,4 +137,5 @@
   return TRUE;
 }
+# endif
 
 // fill in the coords for a single star.  takes a pointer to the start of the line
Index: /trunk/Ohana/src/addstar/src/getgsc.c
===================================================================
--- /trunk/Ohana/src/addstar/src/getgsc.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/getgsc.c	(revision 38986)
@@ -4,12 +4,11 @@
 # define DNSTARS 1000
 
-static short GSC_M;
 static SkyTable *sky = NULL;
 
-Stars *getgsc (SkyRegion *patch, unsigned int *NSTARS) {
+static short int GSC_M;
+
+Catalog *getgsc (SkyRegion *patch) {
   
-  unsigned int i, Ngsc, Nstars; 
-  Stars *gsc;
-  Stars *stars;
+  unsigned int i; 
   SkyList *skylist;
 
@@ -23,36 +22,57 @@
   skylist = SkyListByPatch (sky, -1, patch);
   
-  Nstars = 0;
-  ALLOCATE (stars, Stars, 1);
-  
+  Catalog *catalog = NULL;
+  ALLOCATE (catalog, Catalog, 1);
+  dvo_catalog_init (catalog, TRUE);
+  ALLOCATE (catalog->average, Average, 1);
+  ALLOCATE (catalog->measure, Measure, 1);
+  ALLOCATE (catalog->lensing, Lensing, 1);
+
+  SkyRegion region;
+  region.Rmin =   0.0;
+  region.Rmax = 360.0;
+  region.Dmin = -90.0;
+  region.Dmax = +90.0;
+
   for (i = 0; i < skylist[0].Nregions; i++) {
-    gsc = rd_gsc (skylist[0].filename[i], &Ngsc);
+    Catalog *newcat = rd_gsc (skylist[0].filename[i]);
 
-    REALLOCATE (stars, Stars, MAX (1, Nstars + Ngsc));
-    memcpy (&stars[Nstars], gsc, Ngsc*sizeof(Stars));
-    Nstars += Ngsc;
-
-    free (gsc);
+    AddstarClientOptions matchOptions;
+    matchOptions.radius = 0.4; // tight radius at this stage
+    matchOptions.calibrate = FALSE;
+    matchOptions.only_match = FALSE;
+    matchOptions.nosort = FALSE;
+    matchOptions.photcode = 0; // use an invalid photcode to avoid touching secfilt
+    
+    find_matches_closest (&region, newcat, catalog, matchOptions);
+    
+    if (newcat) {
+      dvo_catalog_free (newcat);
+      free (newcat);
+    }
   }
   
-  // XXX don't free because we only load it once and save it
   SkyListFree (skylist);
-  // SkyTableFree (sky);
 
-  if (VERBOSE) fprintf (stderr, "%d stars from HST GSC\n", Nstars);
-  *NSTARS = Nstars;
-  return (stars);
+  if (VERBOSE) fprintf (stderr, "%d stars from HST GSC\n", (int) catalog->Naverage);
+  return (catalog);
 }  
 
-Stars *rd_gsc (char *filename, unsigned int *nstars) {
+Catalog *rd_gsc (char *filename) {
   
-  int i, NSTARS, Nstars, Nbytes, nbytes, Nline, Nbyte;
+  int i, Nbytes, nbytes, Nline, Nbyte;
   char *buffer;
   FILE *f;
-  Stars *stars;
 
-  Nstars = 0;
-  NSTARS = 1000;
-  ALLOCATE (stars, Stars, NSTARS);
+  int Nave = 0;
+  int Nmeas = 0;
+  int NAVE = 1000;
+  int NMEAS = 1000;
+
+  Catalog *catalog = NULL;
+  ALLOCATE (catalog, Catalog, 1);
+  dvo_catalog_init (catalog, TRUE);
+  ALLOCATE (catalog->average, Average, NAVE);
+  ALLOCATE (catalog->measure, Measure, NMEAS);
 
   f = fopen (filename, "r");
@@ -68,31 +88,36 @@
     for (i = 0; i < Nline; i++) {
 
-      InitStar (&stars[Nstars]);
+      dvo_average_init (&catalog->average[Nave]);
+      dvo_measure_init (&catalog->measure[Nmeas]);
 
       Nbyte = i*BYTES_STAR;
-      dparse (&stars[Nstars].average.R, 1, &buffer[Nbyte]);
-      dparse (&stars[Nstars].average.D, 2, &buffer[Nbyte]);
+      dparse (&catalog->average[Nave].R, 1, &buffer[Nbyte]);
+      dparse (&catalog->average[Nave].D, 2, &buffer[Nbyte]);
 
-      if (stars[Nstars].average.R < UserPatch.Rmin) continue;
-      if (stars[Nstars].average.R > UserPatch.Rmax) continue;
-      if (stars[Nstars].average.D < UserPatch.Dmin) continue;
-      if (stars[Nstars].average.D > UserPatch.Dmax) continue;
+      if (catalog->average[Nave].R < UserPatch.Rmin) continue;
+      if (catalog->average[Nave].R > UserPatch.Rmax) continue;
+      if (catalog->average[Nave].D < UserPatch.Dmin) continue;
+      if (catalog->average[Nave].D > UserPatch.Dmax) continue;
 
-      stars[Nstars].measure.R = stars[Nstars].average.R;
-      stars[Nstars].measure.D = stars[Nstars].average.D;
+      catalog->measure[Nmeas].R = catalog->average[Nave].R;
+      catalog->measure[Nmeas].D = catalog->average[Nave].D;
 
-      fparse (&stars[Nstars].measure.M, 3, &buffer[Nbyte]);
-      stars[Nstars].measure.dM 	      = NAN;
-      stars[Nstars].measure.photcode  = GSC_M;
-      stars[Nstars].measure.t  	      = 0;
+      fparse (&catalog->measure[Nmeas].M, 3, &buffer[Nbyte]);
+      catalog->measure[Nmeas].dM = NAN;
+      catalog->measure[Nmeas].photcode = GSC_M;
+      catalog->measure[Nmeas].t = 0;
 
-      Nstars ++;
-      CHECK_REALLOCATE (stars, Stars, NSTARS, Nstars, 1000);
+      catalog->average[Nave].Nmeasure = 1;
+      catalog->average[Nave].measureOffset = Nmeas;
+
+      Nave ++;
+      Nmeas ++;
+
+      CHECK_REALLOCATE (catalog->average, Average, NAVE,  Nave,  1000);
+      CHECK_REALLOCATE (catalog->measure, Measure, NMEAS, Nmeas, 1000);
     }
   }
   fclose (f);
   free (buffer);
-  REALLOCATE (stars, Stars, Nstars);
-  *nstars = Nstars;
-  return (stars);
+  return (catalog);
 }
Index: /trunk/Ohana/src/addstar/src/getusno.c
===================================================================
--- /trunk/Ohana/src/addstar/src/getusno.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/getusno.c	(revision 38986)
@@ -4,5 +4,5 @@
 # define NELEM  3
 
-Stars *getusno (SkyRegion *catstats, int photcode, unsigned int *nstars) {
+Catalog *getusno (SkyRegion *catstats) {
 
   off_t offset;
@@ -15,6 +15,4 @@
   double dec;
   int spd, spd_start, spd_end;
-  int NUSNO, Nusno;
-  Stars *stars;
   short int USNO_RED, USNO_BLUE;
 
@@ -22,8 +20,4 @@
   NAMED_PHOTCODE (USNO_RED, "USNO_RED");
   NAMED_PHOTCODE (USNO_BLUE, "USNO_BLUE");
-  if (photcode == USNO_RED) goto good_code;
-  if (photcode == USNO_BLUE) goto good_code;
-  Shutdown ("USNO photcode not specified");
-good_code:
 
   /* identify ra & dec range of interest */
@@ -43,7 +37,14 @@
   }
 
-  Nusno = 0;
-  NUSNO = 5000;
-  ALLOCATE (stars, Stars, NUSNO);
+  int Nave = 0;
+  int Nmeas = 0;
+  int NAVE = 1000;
+  int NMEAS = 1000;
+
+  Catalog *catalog = NULL;
+  ALLOCATE (catalog, Catalog, 1);
+  dvo_catalog_init (catalog, TRUE);
+  ALLOCATE (catalog->average, Average, NAVE);
+  ALLOCATE (catalog->measure, Measure, NMEAS);
 
   for (spd = spd_start; spd < spd_end; spd += 75) {
@@ -110,32 +111,40 @@
       if (buf[1] > iDEC1) continue;
 
-      InitStar (&stars[Nusno]);
+      dvo_average_init (&catalog->average[Nave]);
+      dvo_measure_init (&catalog->measure[Nmeas+0]);
+      dvo_measure_init (&catalog->measure[Nmeas+1]);
 
-      stars[Nusno].average.R     = buf[0]/360000.0;
-      stars[Nusno].average.D     = buf[1]/360000.0 - 90.0;
-      stars[Nusno].measure.R     = stars[Nusno].average.R;
-      stars[Nusno].measure.D     = stars[Nusno].average.D;
-      stars[Nusno].measure.dM    = NAN;
+      catalog->average[Nave].R     = buf[0]/360000.0;
+      catalog->average[Nave].D     = buf[1]/360000.0 - 90.0;
 
-      /* one pass of addstar does either r or b */
-      if (photcode == USNO_RED) {
-	stars[Nusno].measure.photcode = USNO_RED;
-	stars[Nusno].measure.M        = fabs (0.1*(buf[2] - 1000*((int)(buf[2]/1000))));
-      } 
-      if (photcode == USNO_BLUE) {	
-	stars[Nusno].measure.photcode = USNO_BLUE;
-	stars[Nusno].measure.M        = fabs (0.1*((int)(buf[2] - 1000000*((int)(buf[2]/1000000))) / 1000));
-      }
-      Nusno ++;
-      CHECK_REALLOCATE (stars, Stars, NUSNO, Nusno, 5000);
+      catalog->measure[Nmeas+0].R  = catalog->average[Nave].R;
+      catalog->measure[Nmeas+0].D  = catalog->average[Nave].D;
+      catalog->measure[Nmeas+0].dM = NAN;
+      catalog->measure[Nmeas+1].R  = catalog->average[Nave].R;
+      catalog->measure[Nmeas+1].D  = catalog->average[Nave].D;
+      catalog->measure[Nmeas+1].dM = NAN;
+
+      catalog->measure[Nmeas+0].photcode = USNO_RED;
+      catalog->measure[Nmeas+0].M        = fabs (0.1*(buf[2] - 1000*((int)(buf[2]/1000))));
+      catalog->measure[Nmeas+1].photcode = USNO_BLUE;
+      catalog->measure[Nmeas+1].M        = fabs (0.1*((int)(buf[2] - 1000000*((int)(buf[2]/1000000))) / 1000));
+
+      catalog->average[Nave].Nmeasure = 2;
+      catalog->average[Nave].measureOffset = Nmeas;
+
+      Nave ++;
+      Nmeas += 2;
+
+      CHECK_REALLOCATE (catalog->average, Average, NAVE,  Nave,  1000);
+      CHECK_REALLOCATE (catalog->measure, Measure, NMEAS, Nmeas, 1000);
     }
     free (buffer);
     fclose (f);
   }
-  REALLOCATE (stars, Stars, Nusno);
+  catalog->Naverage = Nave;
+  catalog->Nmeasure = Nmeas;
 
-  *nstars = Nusno;
-  if (VERBOSE) fprintf (stderr, "%d stars from USNO 1.0\n", Nusno);
-  return (stars);
+  if (VERBOSE) fprintf (stderr, "%d stars from USNO 1.0\n", Nave);
+  return (catalog);
 }
 
Index: /trunk/Ohana/src/addstar/src/getusnob.c
===================================================================
--- /trunk/Ohana/src/addstar/src/getusnob.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/getusnob.c	(revision 38986)
@@ -3,8 +3,8 @@
 # define NELEM  20
 
-Stars *getusnob (SkyRegion *catstats, int photcode, unsigned int *nstars) {
+Catalog *getusnob (SkyRegion *catstats) {
 
   off_t offset;
-  int i, bin, first, last, nitems, Nitems, Nbins, Nitemsum;
+  int i, j, bin, first, last, nitems, Nitems, Nbins, Nitemsum;
   float hours[100];
   int start[100], number[100], *buffer, *buf;
@@ -15,8 +15,6 @@
   int iDEC0, iDEC1, iRA0, iRA1;
   int spd, spd_start, spd_end;
-  int NUSNO, Nusno, Nstars;
   short int USNO_RED, USNO_BLUE, USNO_N;
   e_time USNOepoch;
-  Stars *stars;
 
   m1 = m2 = 0.0;
@@ -26,9 +24,4 @@
   NAMED_PHOTCODE (USNO_BLUE, "USNO_BLUE");
   NAMED_PHOTCODE (USNO_N,    "USNO_N");
-  if (photcode == USNO_RED)  goto good_code;
-  if (photcode == USNO_BLUE) goto good_code;
-  if (photcode == USNO_N)    goto good_code;
-  Shutdown ("USNO photcode not specified");
-good_code:
 
   fprintf (stderr, "loading USNO-B 1.0\n");
@@ -52,7 +45,15 @@
 
   Nitemsum = 0;
-  Nusno = 0;
-  NUSNO = 5000;
-  ALLOCATE (stars, Stars, NUSNO);
+
+  int Nave = 0;
+  int Nmeas = 0;
+  int NAVE = 1000;
+  int NMEAS = 1000;
+
+  Catalog *catalog = NULL;
+  ALLOCATE (catalog, Catalog, 1);
+  dvo_catalog_init (catalog, TRUE);
+  ALLOCATE (catalog->average, Average, NAVE);
+  ALLOCATE (catalog->measure, Measure, NMEAS);
 
   for (spd = spd_start; spd < spd_end; spd ++) {
@@ -96,5 +97,5 @@
 
     /* sum the number of stars in data segment of interest */
-    Nstars = 0;
+    int Nstars = 0;
     for (bin = first; bin < last; bin++) {
       Nstars += number[bin];
@@ -125,48 +126,35 @@
       /* USNO coords are reported for J2000 / epoch 2000.0 */
       /* extract the basic stellar data */
-      InitStar (&stars[Nusno]);
+      dvo_average_init (&catalog->average[Nave]);
+      dvo_measure_init (&catalog->measure[Nmeas+0]);
+      dvo_measure_init (&catalog->measure[Nmeas+1]);
 
-      stars[Nusno].average.R   = buf[0]/360000.0;
-      stars[Nusno].average.D   = buf[1]/360000.0 - 90.0;
+      catalog->average[Nave].R   = buf[0]/360000.0;
+      catalog->average[Nave].D   = buf[1]/360000.0 - 90.0;
 
       /* XXX uR cos(D) or just uR ??? */
-      stars[Nusno].average.uR  = 2.0 * ((buf[2]       % 10000) - 5000);
-      stars[Nusno].average.uD  = 2.0 * ((buf[2]/10000 % 10000) - 5000);
+      catalog->average[Nave].uR  = 2.0 * ((buf[2]       % 10000) - 5000);
+      catalog->average[Nave].uD  = 2.0 * ((buf[2]/10000 % 10000) - 5000);
 
-      stars[Nusno].average.duR = (buf[3]      % 1000);
-      stars[Nusno].average.duD = (buf[3]/1000 % 1000);
-
-      stars[Nusno].average.dR  = 0.001 * (buf[4]      % 1000);
-      stars[Nusno].average.dD  = 0.001 * (buf[4]/1000 % 1000);
-
-      stars[Nusno].average.P   = 0;
-      stars[Nusno].average.dP  = 0;
-
-      stars[Nusno].measure.R   = stars[Nusno].average.R;
-      stars[Nusno].measure.D   = stars[Nusno].average.D;
-
-      /* USNO magnitude errors are reported as a fixed 0.3 mag */
-      stars[Nusno].measure.dM  = 0.3;
+      catalog->average[Nave].duR = (buf[3]      % 1000);
+      catalog->average[Nave].duD = (buf[3]/1000 % 1000);
+      catalog->average[Nave].dR  = 0.001 * (buf[4]      % 1000);
+      catalog->average[Nave].dD  = 0.001 * (buf[4]/1000 % 1000);
+      catalog->average[Nave].P   = 0;
+      catalog->average[Nave].dP  = 0;
 
       /* USNO-B uses J2000 equinox and 2000.0 epoch for coordinates */
       /* the magnitudes have no temporal information */ 
-      stars[Nusno].measure.t   = USNOepoch;
 
-      /* one pass of addstar does r, b, or n */
-      if (photcode == USNO_BLUE) {
-	  m1 = fabs(0.01 * (buf[5] % 10000)); /* 1st blue mag */
-	  m2 = fabs(0.01 * (buf[7] % 10000)); /* 1st blue mag */
+      for (j = 0; j < 3; j++) {
+	catalog->measure[Nmeas+j].R  = catalog->average[Nave].R;
+	catalog->measure[Nmeas+j].D  = catalog->average[Nave].D;
+	catalog->measure[Nmeas+j].dM = 0.3; /* USNO magnitude errors are reported as a fixed 0.3 mag */
+	catalog->measure[Nmeas+j].t  = USNOepoch;
       }
-      if (photcode == USNO_RED) {
-	  m1 = fabs(0.01 * (buf[6] % 10000)); /* 1st red mag */
-	  m2 = fabs(0.01 * (buf[8] % 10000)); /* 2nd red mag */
-      }
-      if (photcode == USNO_N) {
-	  m1 = fabs(0.01 * (buf[9] % 10000)); /* N (IR) survey */
-	  m2 = 0;
-      }
-      stars[Nusno].measure.photcode = photcode;
 
-      /* if two mags are available, get an average */
+      catalog->measure[Nmeas+0].photcode = USNO_BLUE;
+      m1 = fabs(0.01 * (buf[5] % 10000)); /* 1st blue mag */
+      m2 = fabs(0.01 * (buf[7] % 10000)); /* 2nd blue mag */
       if (m1 && m2) {
 	mag = 0.5*(m1 + m2);
@@ -174,19 +162,37 @@
 	mag = (m1) ? m1 : m2;
       }
-      stars[Nusno].measure.M = (mag == 0.0) ? 32.0 : mag;
+      catalog->measure[Nmeas+0].M = (mag == 0.0) ? 32.0 : mag;
 
-      Nusno ++;
-      CHECK_REALLOCATE (stars, Stars, NUSNO, Nusno, 5000);
+      catalog->measure[Nmeas+1].photcode = USNO_RED;
+      m1 = fabs(0.01 * (buf[6] % 10000)); /* 1st red mag */
+      m2 = fabs(0.01 * (buf[8] % 10000)); /* 2nd red mag */
+      if (m1 && m2) {
+	mag = 0.5*(m1 + m2);
+      } else {
+	mag = (m1) ? m1 : m2;
+      }
+      catalog->measure[Nmeas+1].M = (mag == 0.0) ? 32.0 : mag;
+      
+      catalog->measure[Nmeas+2].photcode = USNO_N;
+      catalog->measure[Nmeas+2].M = fabs(0.01 * (buf[9] % 10000)); /* N (IR) survey */
+
+      catalog->average[Nave].Nmeasure = 3;
+      catalog->average[Nave].measureOffset = Nmeas;
+
+      Nave ++;
+      Nmeas += 3;
+
+      CHECK_REALLOCATE (catalog->average, Average, NAVE,  Nave,  1000);
+      CHECK_REALLOCATE (catalog->measure, Measure, NMEAS, Nmeas, 1000);
     }
     free (buffer);
     Nitemsum += Nitems;
-    if (VERBOSE) fprintf (stderr, "Nusno: %d, Nitems: %d, Nitemsum : %d, Nbytes stars: %d\n", Nusno, Nitems, Nitemsum, (unsigned int) (Nusno*sizeof(Stars)));
+    if (VERBOSE) fprintf (stderr, "Naverage: %d, Nitems: %d, Nitemsum : %d\n", Nave, Nitems, Nitemsum);
     fclose (f);
   }
+  catalog->Naverage = Nave;
+  catalog->Nmeasure = Nmeas;
 
-  REALLOCATE (stars, Stars, MAX (1, Nusno));
-
-  *nstars = Nusno;
-  if (VERBOSE) fprintf (stderr, "%d stars from USNO-B 1.0\n", Nusno);
-  return (stars);
+  if (VERBOSE) fprintf (stderr, "%d stars from USNO-B 1.0\n", Nave);
+  return (catalog);
 }
Index: /trunk/Ohana/src/addstar/src/greference.c
===================================================================
--- /trunk/Ohana/src/addstar/src/greference.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/greference.c	(revision 38986)
@@ -3,28 +3,28 @@
 # define LOAD_DR2    1
 
-Stars *greference (char *Refcat, SkyRegion *region, int photcode, unsigned int *nstars) {
+Catalog *greference (char *Refcat, SkyRegion *region, int photcode) {
 
-  unsigned int Nstars;
-  Stars *stars;
+  Catalog *catalog = NULL;
 
   if (VERBOSE) fprintf (stderr, "loading reference catalog data from %s\n", Refcat); 
   if (VERBOSE) fprintf (stderr, "full region: %f - %f, %f - %f\n", region[0].Rmin, region[0].Rmax, region[0].Dmin, region[0].Dmax);
 
-  Nstars = 0;
-  stars = NULL;
-
+  /* get stars from HST GSC for the given region */
+  if (!strcasecmp (Refcat, "GSC")) {
+    catalog = getgsc (region);
+  }
+  
   /* get stars from USNO for the given region */
   if (!strcasecmp (Refcat, "USNO")) {
-    stars = getusno (region, photcode, &Nstars);
+    catalog = getusno (region);
   }
 
   /* get stars from the USNO B catalog for the given region */
   if (!strcasecmp (Refcat, "USNOB")) {
-    stars = getusnob (region, photcode, &Nstars);
+    catalog = getusnob (region);
   }
 
   /* get stars from the Tycho catalog for the given region */
   if (!strcasecmp (Refcat, "TYCHO")) {
-    // stars = gettycho2 (region, photcode, &Nstars);
     fprintf (stderr, "Tycho load via addstar is deprecated: use loadtycho\n");
     exit (2);
@@ -33,17 +33,10 @@
   /* get stars from the Tycho catalog for the given region (old ingest) */
   if (!strcasecmp (Refcat, "TYCHO_OLD")) {
-    // stars = gettycho (region, photcode, &Nstars);
     fprintf (stderr, "Tycho load via addstar is deprecated: use loadtycho\n");
     exit (2);
   }
 
-  /* get stars from HST GSC for the given region */
-  if (!strcasecmp (Refcat, "GSC")) {
-    stars = getgsc (region, &Nstars);
-  }
-  
   /* get stars from 2MASS for the given region */
   if (!strcasecmp (Refcat, "2MASS")) {
-    // stars = get2mass (region, photcode, LOAD_ALLSKY, &Nstars);
     fprintf (stderr, "2MASS load via addstar is deprecated: use load2mass\n");
     exit (2);
@@ -52,5 +45,4 @@
   /* get stars from 2MASS for the given region */
   if (!strcasecmp (Refcat, "2MASS-ALLSKY")) {
-    // stars = get2mass (region, photcode, LOAD_ALLSKY, &Nstars);
     fprintf (stderr, "2MASS load via addstar is deprecated: use load2mass\n");
     exit (2);
@@ -59,13 +51,10 @@
   /* get stars from 2MASS for the given region */
   if (!strcasecmp (Refcat, "2MASS-DR2")) {
-    // stars = get2mass (region, photcode, LOAD_DR2, &Nstars);
     fprintf (stderr, "2MASS load via addstar is deprecated: use load2mass\n");
     exit (2);
   }
   
-  if (VERBOSE && (Nstars == 0)) fprintf (stderr, "no ref objects in region %s\n", region[0].name);
+  if (VERBOSE && (catalog->Naverage == 0)) fprintf (stderr, "no ref objects in region %s\n", region[0].name);
 
-  *nstars = Nstars;
-  return (stars);
-
+  return (catalog);
 }
Index: /trunk/Ohana/src/addstar/src/grefstars.c
===================================================================
--- /trunk/Ohana/src/addstar/src/grefstars.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/grefstars.c	(revision 38986)
@@ -2,9 +2,8 @@
 
 /* read ASCII file with ref star data */
-Stars *grefstars (char *file, int photcode, unsigned int *Nstars) {
+Catalog *grefstars (char *file, int photcode) {
 
   FILE *f;
-  int N, NSTARS;
-  Stars *stars;
+  int NSTARS;
   char line[256];
 
@@ -13,34 +12,47 @@
   if (f == NULL) Shutdown ("can't read data from %s", file);
 
-  NSTARS = 100;
-  ALLOCATE (stars, Stars, NSTARS);
+  NSTARS = 1000;
+
+  Catalog *catalog = NULL;
+  ALLOCATE (catalog, Catalog, 1);
+  dvo_catalog_init (catalog, TRUE);
+  ALLOCATE (catalog->average, Average, NSTARS);
+  ALLOCATE (catalog->measure, Measure, NSTARS);
 
   /* read in stars line-by-line */
-  for (N = 0; scan_line (f, line) != EOF; N++) {
+  int N = 0;
+  while (scan_line (f, line) != EOF) {
     stripwhite (line);
     if (line[0] == 0) continue;
     if (line[0] == '#') continue;
 
-    InitStar (&stars[N]);
+    dvo_average_init (&catalog->average[N]);
+    dvo_measure_init (&catalog->measure[N]);
 
     int status = sscanf (line, "%lf %lf %f %f %x", 
-		     &stars[N].average.R,  &stars[N].average.D,  
-		     &stars[N].measure.M, &stars[N].measure.dM, 
-		     &stars[N].measure.photFlags);
+			 &catalog->average[N].R, &catalog->average[N].D,  
+			 &catalog->measure[N].M, &catalog->measure[N].dM, 
+			 &catalog->measure[N].photFlags);
+
     if ((status != 4) && (status != 5)) {
       fprintf (stderr, "error reading line: %s\n", line);
-      N --;
       continue;
     }
-    stars[N].average.R = ohana_normalize_angle (stars[N].average.R);
+    catalog->average[N].R = ohana_normalize_angle (catalog->average[N].R);
 
-    stars[N].measure.R = stars[N].average.R;
-    stars[N].measure.D = stars[N].average.D;
+    catalog->measure[N].R = catalog->average[N].R;
+    catalog->measure[N].D = catalog->average[N].D;
 
-    stars[N].measure.photcode = photcode;
+    catalog->measure[N].photcode = photcode;
 
-    CHECK_REALLOCATE (stars, Stars, NSTARS, N+1, 100);
+    catalog->average[N].Nmeasure = 1;
+    catalog->average[N].measureOffset = N;
+
+    N++;
+    CHECK_REALLOCATE (catalog->average, Average, NSTARS, N, 1000);
+    CHECK_REALLOCATE (catalog->measure, Measure, NSTARS, N, 1000);
   }
-  *Nstars = N;
-  return (stars);
+  catalog->Naverage = N;
+  catalog->Nmeasure = N;
+  return (catalog);
 }
Index: /trunk/Ohana/src/addstar/src/load2mass.c
===================================================================
--- /trunk/Ohana/src/addstar/src/load2mass.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/load2mass.c	(revision 38986)
@@ -12,4 +12,5 @@
 
   // need to construct these options with args_load2mass...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_load2mass (argc, argv, options);
Index: /trunk/Ohana/src/addstar/src/load2mass_as_rawdata.c
===================================================================
--- /trunk/Ohana/src/addstar/src/load2mass_as_rawdata.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/load2mass_as_rawdata.c	(revision 38986)
@@ -12,6 +12,6 @@
 int load2mass_as_rawdata (SkyList *skytable, char *filename, AddstarClientOptions options) {
   
-  int i, j, verbose;
-  int Nstars, NSTARS, Ntstars, NTSTARS;
+  int i, j, k, verbose;
+  int Ntstars, NTSTARS;
   int Nbyte, Nextra, offset;
 
@@ -21,5 +21,4 @@
   char *buffer, *p, *q;
 
-  Stars **stars; // this is an array of pointers to be consistent with input to find_match_refstars
   TMStars *tstars;
   SkyList *skylist;
@@ -117,8 +116,14 @@
       if (DEBUG) fprintf (stderr, "writing to %s\n", skylist[0].filename[0]);
 
-      // collect array of (Stars *) stars in a new output catalog
-      Nstars = 0;
-      NSTARS = 3000;
-      ALLOCATE (stars, Stars *, NSTARS);
+      int Nave = 0;
+      int Nmeas = 0;
+      int NAVE = 1000;
+      int NMEAS = 3000;
+
+      Catalog *newcat = NULL;
+      ALLOCATE (newcat, Catalog, 1);
+      dvo_catalog_init (newcat, TRUE);
+      ALLOCATE (newcat->average, Average, NAVE);
+      ALLOCATE (newcat->measure, Measure, NMEAS);
 
       // loop over stars in this 2mass region that are also in this output region
@@ -140,35 +145,35 @@
 	offset = tstars[j].offset;
 
-	ALLOCATE (stars[Nstars+0], Stars, 1);
-	ALLOCATE (stars[Nstars+1], Stars, 1);
-	ALLOCATE (stars[Nstars+2], Stars, 1);
-
-	InitStar (stars[Nstars+0]);
-	InitStar (stars[Nstars+1]);
-	InitStar (stars[Nstars+2]);
-
-	stars[Nstars+0][0].average.R = tstars[j].R;
-	stars[Nstars+0][0].average.D = tstars[j].D;
-	stars[Nstars+1][0].average.R = tstars[j].R;
-	stars[Nstars+1][0].average.D = tstars[j].D;
-	stars[Nstars+2][0].average.R = tstars[j].R;
-	stars[Nstars+2][0].average.D = tstars[j].D;
-	get2mass_3star_full (&stars[Nstars], &buffer[offset], Nbyte - offset);
+	dvo_average_init (&newcat->average[Nave]);
+	for (k = 0; k < 4; k++) {
+	  dvo_measure_init (&newcat->measure[Nmeas+k]);
+	}
+
+	newcat->average[Nave].R = tstars[j].R;
+	newcat->average[Nave].D = tstars[j].D;
+	get2mass_3star_full (&newcat->measure[Nmeas], &buffer[offset], Nbyte - offset);
 
 	tstars[j].flag = TRUE;
 
-	Nstars += 3;
-	if (Nstars >= NSTARS - 3) {
-	  NSTARS += 3000;
-	  REALLOCATE (stars, Stars *, NSTARS);
-	}
-      }
-
-      if (!Nstars) {
-	free (stars);
+	newcat->average[Nave].Nmeasure = 3;
+	newcat->average[Nave].measureOffset = Nmeas;
+
+	Nave ++;
+	Nmeas += 3;
+
+	CHECK_REALLOCATE (newcat->average, Average, NAVE,  Nave,  1000);
+	CHECK_REALLOCATE (newcat->measure, Measure, NMEAS, Nmeas, 3000);
+      }
+      newcat->Naverage = Nave;
+      newcat->Nmeasure = Nmeas;
+
+      if (!newcat->Naverage) {
+	dvo_catalog_free (newcat);
+	free (newcat);
 	continue;
       }
 
-      if (DEBUG) fprintf (stderr, "selected %d stars (%10.6f - %10.6f, %10.6f - %10.6f)\n", Nstars, 
+      if (DEBUG) fprintf (stderr, "selected %d stars (%10.6f - %10.6f, %10.6f - %10.6f)\n", 
+			  (int) newcat->Naverage, 
 			  region[0].Rmin, region[0].Rmax, region[0].Dmin, region[0].Dmax);
 
@@ -193,18 +198,16 @@
 	// assume no input star matches an existing star 
 	// simply add to the existing table
-	// load2mass_catalog (&catalog, stars, Nstars);
-	find_matches_refstars (skylist[0].regions[0], stars, Nstars, &catalog, options);
-	// load2mass_catalog (&catalog, stars, Nstars);
-
-	dvo_catalog_save (&catalog, VERBOSE);
-	dvo_catalog_unlock (&catalog);
+	find_matches_refstars (skylist[0].regions[0], newcat, &catalog, options);
+
+	SetProtect (TRUE);
+	if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+	if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+	SetProtect (FALSE);
 	dvo_catalog_free (&catalog);
-	// free (catalog.filename);
-	// XXX don't free this! it points to an element of the skytable
       }
 
       SkyListFree (skylist);
-      for (j = 0; j < Nstars; j++) free (stars[j]);
-      free (stars);
+      dvo_catalog_free (newcat);
+      free (newcat);
       VERBOSE = verbose;
     }
Index: /trunk/Ohana/src/addstar/src/loadICRF.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadICRF.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadICRF.c	(revision 38986)
@@ -16,4 +16,5 @@
   AddstarClientOptions options;
 
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_loadICRF (&argc, argv, options); // XXX fix args after rest is done
Index: /trunk/Ohana/src/addstar/src/loadICRF_catalog.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadICRF_catalog.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadICRF_catalog.c	(revision 38986)
@@ -22,6 +22,9 @@
   find_matches_ICRF (region, stars, Nstars, &catalog, options);
     
-  dvo_catalog_save (&catalog, VERBOSE);
-  dvo_catalog_unlock (&catalog);
+  SetProtect (TRUE);
+  if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+  if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+  SetProtect (FALSE);
+
   dvo_catalog_free (&catalog);
 
Index: /trunk/Ohana/src/addstar/src/loadICRF_client.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadICRF_client.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadICRF_client.c	(revision 38986)
@@ -7,4 +7,5 @@
 
   // need to construct these options with args_loadICRF...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_loadICRF_client (&argc, argv, options);
Index: /trunk/Ohana/src/addstar/src/loadgalphot.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadgalphot.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadgalphot.c	(revision 38986)
@@ -13,4 +13,5 @@
 
   // need to construct these options with args_loadgalphot...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_loadgalphot (&argc, argv, options);
Index: /trunk/Ohana/src/addstar/src/loadgalphot_catalog.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadgalphot_catalog.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadgalphot_catalog.c	(revision 38986)
@@ -22,6 +22,9 @@
   find_matches_galphot (region, stars, Nstars, &catalog, options);
     
-  dvo_catalog_save (&catalog, VERBOSE);
-  dvo_catalog_unlock (&catalog);
+  SetProtect (TRUE);
+  if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+  if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+  SetProtect (FALSE);
+
   dvo_catalog_free (&catalog);
 
Index: /trunk/Ohana/src/addstar/src/loadstarpar.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadstarpar.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadstarpar.c	(revision 38986)
@@ -17,6 +17,7 @@
 
   // need to construct these options with args_loadstarpar...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
-  options = args_loadstarpar (argc, argv, options);
+  options = args_loadstarpar (&argc, argv, options);
 
   // load the full sky description table (dvodb must exist)
@@ -24,4 +25,7 @@
   SkyTableSetFilenames (sky, CATDIR, "cpt");
   
+  // make the tmpdir if needed
+  if (!loadstarpar_tmpdir()) exit (1);
+
   // load the list of hosts
   HostTable *hosts = NULL;
Index: /trunk/Ohana/src/addstar/src/loadstarpar_catalog.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadstarpar_catalog.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadstarpar_catalog.c	(revision 38986)
@@ -22,6 +22,9 @@
   find_matches_starpar (region, stars, Nstars, &catalog, options);
     
-  dvo_catalog_save (&catalog, VERBOSE);
-  dvo_catalog_unlock (&catalog);
+  SetProtect (TRUE);
+  if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+  if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+  SetProtect (FALSE);
+  
   dvo_catalog_free (&catalog);
 
Index: /trunk/Ohana/src/addstar/src/loadstarpar_client.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadstarpar_client.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadstarpar_client.c	(revision 38986)
@@ -7,6 +7,7 @@
 
   // need to construct these options with args_loadstarpar...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
-  options = args_loadstarpar_client (argc, argv, options);
+  options = args_loadstarpar_client (&argc, argv, options);
 
   // client is called with a pointer to the file to be loaded
@@ -20,5 +21,8 @@
   StarPar_Stars *stars = loadstarpar_load_stars (INPUT, &Nstars);
 
-  loadstarpar_catalog (stars, Nstars, skylist->regions[0], CPT_FILE, &options);
+  char filename[DVO_MAX_PATH];
+  snprintf (filename, DVO_MAX_PATH, "%s/%s.cpt", HOSTDIR, CPT_FILE);
+
+  loadstarpar_catalog (stars, Nstars, skylist->regions[0], filename, &options);
 
   free (stars);
Index: /trunk/Ohana/src/addstar/src/loadstarpar_extras.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadstarpar_extras.c	(revision 38986)
+++ /trunk/Ohana/src/addstar/src/loadstarpar_extras.c	(revision 38986)
@@ -0,0 +1,29 @@
+# include "addstar.h"
+# include "loadstarpar.h"
+
+int loadstarpar_tmpdir () {
+  
+  struct stat fstats;
+  char fullpath[DVO_MAX_PATH];
+
+  snprintf (fullpath, DVO_MAX_PATH, "%s/tmpdir", CATDIR);
+
+  int mode = S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH;
+  int status = stat (fullpath, &fstats);
+  if (!status) {
+    // path exists, is it a directory?
+    if (!S_ISDIR(fstats.st_mode)) {
+      gprint (GP_ERR, "cannot create directory %s: is an existing file\n", fullpath);
+      return (FALSE);
+    }
+    return (TRUE);
+  }
+
+  status = mkdirhier (fullpath, mode);
+  if (status == -1) {
+    gprint (GP_ERR, "cannot create directory %s\n", fullpath);
+    return (FALSE);
+  }
+  return (TRUE);
+}
+
Index: /trunk/Ohana/src/addstar/src/loadstarpar_io.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadstarpar_io.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadstarpar_io.c	(revision 38986)
@@ -29,5 +29,5 @@
   gfits_define_bintable_column (&theader, "D", "DEC",      "", "degree", 1.0, 0.0);
   gfits_define_bintable_column (&theader, "E", "GLON",     "", "degree", 1.0, 0.0);
-  gfits_define_bintable_column (&theader, "D", "GLAT",     "", "degree", 1.0, 0.0);
+  gfits_define_bintable_column (&theader, "E", "GLAT",     "", "degree", 1.0, 0.0);
   gfits_define_bintable_column (&theader, "E", "Ebv",      "", "", 1.0, 0.0);
   gfits_define_bintable_column (&theader, "E", "dEbv",     "", "", 1.0, 0.0);
@@ -84,11 +84,14 @@
   gfits_free_table (&ftable);
 
+  fflush (f);
+  fclose (f);
+
   return TRUE;
 }
 
 
-# define GET_COLUMN(OUT,NAME,TYPE)					\
+# define GET_COLUMN(OUT,NAME,TYPE,RTYPE)					\
   TYPE *OUT = gfits_get_bintable_column_data (&theader, &ftable, NAME, type, &Nrow, &Ncol); \
-  myAssert (!strcmp(type, #TYPE), "wrong column type");
+  myAssert (!strcmp(type, #RTYPE), "wrong column type");
 
 StarPar_Stars *loadstarpar_load_stars (char *filename, int *nstars) {
@@ -134,19 +137,19 @@
   if (!gfits_fread_ftable_data (f, &ftable, FALSE)) goto escape;
  
-  GET_COLUMN(ra      , "RA"        ,   double);
-  GET_COLUMN(dec     , "DEC"       ,   double);
-  GET_COLUMN(glon    , "GLON"      ,   float);
-  GET_COLUMN(glat    , "GLAT"      ,   float);
-  GET_COLUMN(Ebv     , "Ebv"       ,   float);
-  GET_COLUMN(dEbv    , "dEbv"      ,   float);
-  GET_COLUMN(DistMag , "DistMag"   ,   float);
-  GET_COLUMN(dDistMag, "dDistMag"  ,   float);
-  GET_COLUMN(M_r     , "M_r"       ,   float);
-  GET_COLUMN(dM_r    , "dM_r"      ,   float);
-  GET_COLUMN(FeH     , "FeH"       ,   float);
-  GET_COLUMN(dFeH    , "dFeH"      ,   float);
-  GET_COLUMN(averef  , "averef"    ,   unsigned int);
-  GET_COLUMN(objID   , "objID"     ,   unsigned int);
-  GET_COLUMN(catID   , "catID"     ,   unsigned int);
+  GET_COLUMN(ra      , "RA"        ,   double      ,   double      );
+  GET_COLUMN(dec     , "DEC"       ,   double      ,   double      );
+  GET_COLUMN(glon    , "GLON"      ,   float       ,   float       );
+  GET_COLUMN(glat    , "GLAT"      ,   float       ,   float       );
+  GET_COLUMN(Ebv     , "Ebv"       ,   float       ,   float       );
+  GET_COLUMN(dEbv    , "dEbv"      ,   float       ,   float       );
+  GET_COLUMN(DistMag , "DistMag"   ,   float       ,   float       );
+  GET_COLUMN(dDistMag, "dDistMag"  ,   float       ,   float       );
+  GET_COLUMN(M_r     , "M_r"       ,   float       ,   float       );
+  GET_COLUMN(dM_r    , "dM_r"      ,   float       ,   float       );
+  GET_COLUMN(FeH     , "FeH"       ,   float       ,   float       );
+  GET_COLUMN(dFeH    , "dFeH"      ,   float       ,   float       );
+  GET_COLUMN(averef  , "averef"    ,   unsigned int,   int         );
+  GET_COLUMN(objID   , "objID"     ,   unsigned int,   int         );
+  GET_COLUMN(catID   , "catID"     ,   unsigned int,   int         );
 
   gfits_free_header (&theader);
Index: /trunk/Ohana/src/addstar/src/loadstarpar_readstars.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadstarpar_readstars.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadstarpar_readstars.c	(revision 38986)
@@ -47,6 +47,6 @@
   char type[16];
 
-  GET_COLUMN (glat,    "l",    float);
-  GET_COLUMN (glon,    "b",    float);
+  GET_COLUMN (glon,    "l",    float);
+  GET_COLUMN (glat,    "b",    float);
   GET_COLUMN (conv,    "conv", byte);
   GET_COLUMN (lnZ,     "lnZ",  float);
Index: /trunk/Ohana/src/addstar/src/loadstarpar_save_remote.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadstarpar_save_remote.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadstarpar_save_remote.c	(revision 38986)
@@ -18,6 +18,6 @@
 
     // save to a unique filename
-    char filename[1024]; // CATDIR/tmpdir/starpar.PID.index.fits
-    snprintf (filename, 1024, "%s/tmpdir/starpar.%s.%05d.fits", CATDIR, uniquer, region->index);
+    char filename[DVO_MAX_PATH]; // CATDIR/tmpdir/starpar.PID.index.fits
+    snprintf (filename, DVO_MAX_PATH, "%s/tmpdir/starpar.%s.%05d.fits", CATDIR, uniquer, region->index);
 
     // write the data to the given FITS file
@@ -57,4 +57,9 @@
     strextend (&command, "-input %s", filename);
 
+    if (options->only_match) strextend (&command, "-only-match");
+    if (options->replace) strextend (&command, "-replace");
+
+    fprintf (stderr, "command: %s\n", command);
+
     // launch the job on the remote machine (no handshake)
     int errorInfo = 0;
Index: /trunk/Ohana/src/addstar/src/loadsupercos.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadsupercos.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadsupercos.c	(revision 38986)
@@ -15,9 +15,9 @@
   int i, status;
   SkyTable *sky;
-  SkyList *skylist = NULL;
   AddstarClientOptions options;
   FITS_DB db;
 
   // need to construct these options with args_loadWISE...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_loadsupercos (&argc, argv, options);
@@ -27,15 +27,4 @@
   SkyTableSetFilenames (sky, CATDIR, "cpt");
   
-  // generate the subset matching the user-selected region
-  skylist = SkyListByPatch (sky, -1, &UserPatch);
-
-  // if we only match to existing (already populated) regions, limit the select to those regions:
-  if (options.existing_regions) {
-    SkyList *tmp;
-    tmp = SkyListExistingSubset (skylist, CATDIR);
-    SkyListFree (skylist);
-    skylist = tmp;
-  }
-
   // load the images table (needed regardless)
   int Nsurvey = 0;
@@ -68,5 +57,5 @@
   for (i = 3; i < argc; i++) {
       fprintf (stderr, "loading %s\n", argv[i]);
-      loadsupercos_rawdata (image, imlist, Nimage, skylist, argv[i], options);
+      loadsupercos_rawdata (image, imlist, Nimage, sky, argv[i], options);
   }
   exit (0);
Index: /trunk/Ohana/src/addstar/src/loadsupercos_ops.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadsupercos_ops.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadsupercos_ops.c	(revision 38986)
@@ -79,17 +79,4 @@
 }
 
-int loadsupercos_sortStars (Stars *tstars, int Ntstars) {
-
-# define SWAPFUNC(A,B){ Stars temp = tstars[A]; tstars[A] = tstars[B]; tstars[B] = temp; }
-# define COMPARE(A,B)(tstars[A].average.R < tstars[B].average.R)
-
-  OHANA_SORT (Ntstars, COMPARE, SWAPFUNC);
-
-# undef SWAPFUNC
-# undef COMPARE
-  
-  return TRUE;
-}
-
 int *loadsupercos_image_index (Image *image, int Nimage) {
 
Index: /trunk/Ohana/src/addstar/src/loadsupercos_rawdata.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadsupercos_rawdata.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadsupercos_rawdata.c	(revision 38986)
@@ -6,8 +6,8 @@
 # define DEBUG 0
 
-int loadsupercos_rawdata (Image *image, int *imlist, int Nimage, SkyList *skytable, char *filename, AddstarClientOptions options) {
+int loadsupercos_rawdata (Image *image, int *imlist, int Nimage, SkyTable *skytable, char *filename, AddstarClientOptions options) {
   
-  int i, j, verbose;
-  int Nstars, NSTARS, Nrecords;
+  int i;
+  int Nrecords;
   
   FILE *f;
@@ -15,7 +15,4 @@
 
   Detection *sstars;
-  Stars **stars, *tstars;
-  SkyList *skylist;
-  SkyRegion *region;
   Catalog catalog;
 
@@ -26,5 +23,4 @@
   if (f == NULL) Shutdown ("can't read the Supercosmos data file: %s", filename);
 
-  ALLOCATE (tstars, Stars, NRECORDS);
   ALLOCATE (sstars, Detection, NRECORDS); 
 
@@ -33,4 +29,10 @@
   double Dmin = +90.0;
   double Dmax = -90.0;
+
+  Catalog *newcat = NULL;
+  ALLOCATE (newcat, Catalog, 1);
+  dvo_catalog_init (newcat, TRUE);
+  ALLOCATE (newcat->average, Average, NRECORDS);
+  ALLOCATE (newcat->measure, Measure, NRECORDS);
 
   while ((Nrecords = fread (buffer, NBYTE, NRECORDS, f)) != 0) {
@@ -62,17 +64,20 @@
     // convert to the Stars format
     for (i = 0; i < Nrecords; i++) {
-	InitStar (&tstars[i]);
-	tstars[i].measure.Xccd = sstars[i].xCen;
-	tstars[i].measure.Yccd = sstars[i].yCen;
 
-	tstars[i].measure.M = sstars[i].sMag;
-	tstars[i].measure.Map = sstars[i].gMag;
-	tstars[i].measure.photFlags = sstars[i].class;
+	dvo_average_init (&newcat->average[i]);
+	dvo_measure_init (&newcat->measure[i]);
 
-	tstars[i].average.R = sstars[i].ra;
-	tstars[i].average.D = sstars[i].dec;
+	newcat->measure[i].Xccd = sstars[i].xCen;
+	newcat->measure[i].Yccd = sstars[i].yCen;
 
-	tstars[i].measure.R = sstars[i].ra;
-	tstars[i].measure.D = sstars[i].dec;
+	newcat->measure[i].M = sstars[i].sMag;
+	newcat->measure[i].Map = sstars[i].gMag;
+	newcat->measure[i].photFlags = sstars[i].class;
+
+	newcat->average[i].R = sstars[i].ra;
+	newcat->average[i].D = sstars[i].dec;
+
+	newcat->measure[i].R = sstars[i].ra;
+	newcat->measure[i].D = sstars[i].dec;
 
 	int Ni = imlist[sstars[i].plateID];
@@ -80,6 +85,6 @@
 
 	// XXX fix these
-	tstars[i].measure.Mcal = 0.0;
-	tstars[i].measure.dt = image[Ni].exptime;
+	newcat->measure[i].Mcal = 0.0;
+	newcat->measure[i].dt = image[Ni].exptime;
 
 	double sidtime = image[Ni].sidtime;
@@ -87,116 +92,57 @@
 	
 	double alt, az;
-	altaz (&alt, &az, 15.0*sidtime - tstars[i].average.R, tstars[i].average.D, latitude);
+	altaz (&alt, &az, 15.0*sidtime - newcat->average[i].R, newcat->average[i].D, latitude);
 
-	tstars[i].measure.airmass = 1.0 / cos(RAD_DEG*alt);
-	tstars[i].measure.az = az;
-	tstars[i].measure.t = image[Ni].tzero;
-	tstars[i].measure.imageID = image[Ni].imageID;
-	tstars[i].measure.photcode = image[Ni].photcode;
+	newcat->measure[i].airmass = 1.0 / cos(RAD_DEG*alt);
+	newcat->measure[i].az = az;
+	newcat->measure[i].t = image[Ni].tzero;
+	newcat->measure[i].imageID = image[Ni].imageID;
+	newcat->measure[i].photcode = image[Ni].photcode;
 
-	tstars[i].measure.FWx = ToShortPixels(sstars[i].aU);
-	tstars[i].measure.FWy = ToShortPixels(sstars[i].bU);
-	tstars[i].measure.theta = ToShortDegrees(sstars[i].thetaU);
+	newcat->measure[i].FWx = ToShortPixels(sstars[i].aU);
+	newcat->measure[i].FWy = ToShortPixels(sstars[i].bU);
+	newcat->measure[i].theta = ToShortDegrees(sstars[i].thetaU);
 
-	Rmin = MIN (Rmin, tstars[i].average.R);
-	Rmax = MAX (Rmax, tstars[i].average.R);
-	Dmin = MIN (Dmin, tstars[i].average.D);
-	Dmax = MAX (Dmax, tstars[i].average.D);
+	Rmin = MIN (Rmin, newcat->average[i].R);
+	Rmax = MAX (Rmax, newcat->average[i].R);
+	Dmin = MIN (Dmin, newcat->average[i].D);
+	Dmax = MAX (Dmax, newcat->average[i].D);
     }
 
     if (VERBOSE) fprintf (stderr, "scan %d stars (%10.6f - %10.6f, %10.6f - %10.6f) .. ", Nrecords, Rmin, Rmax, Dmin, Dmax);
 
-    // sort the tstars by RA
-    loadsupercos_sortStars (tstars, Nrecords);
+    SkyList *skylist = SkyListForStars (skytable, -1, newcat);
 
-    // scan through the stars, loading the containing catalogs
-    // skip through table for unsaved stars
-    for (i = 0; i < Nrecords; i++) {
-      if (tstars[i].found != -1) continue;
+    for (i = 0; i < skylist[0].Nregions; i++) {
+      // now we have all of the loaded stars in this catalog
+      dvo_catalog_init (&catalog, TRUE);
+      catalog.filename = skylist[0].filename[0];
+      catalog.catformat = dvo_catalog_catformat (CATFORMAT);  // set the default catformat from config data
+      catalog.catmode   = dvo_catalog_catmode (CATMODE);      // set the default catmode from config data
+      catalog.catflags = DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE | DVO_LOAD_MISSING | DVO_LOAD_SECFILT;
+      catalog.Nsecfilt  = GetPhotcodeNsecfilt ();
 
-      // scan forward until we reach the UserPatch (stars sorted by RA)
-      if (tstars[i].average.R < UserPatch.Rmin) continue;
-      if (tstars[i].average.R > UserPatch.Rmax) break;
-      if (tstars[i].average.D < UserPatch.Dmin) continue;
-      if (tstars[i].average.D > UserPatch.Dmax) continue;
-
-      // identify the relevant catalog
-      skylist = SkyRegionByPoint_List (skytable, -1, tstars[i].average.R, tstars[i].average.D);
-      if (skylist[0].Nregions == 0) {
-	  SkyListFree (skylist);
-	  continue;
-      }
-      region = skylist[0].regions[0];
-      if (DEBUG) fprintf (stderr, "writing to %s\n", skylist[0].filename[0]);
-
-      int this_image_id = tstars[i].measure.imageID;
-
-      // loop over stars in this WISE region that are also in this output region
-      Nstars = 0;
-      NSTARS = 1000;
-      ALLOCATE (stars, Stars *, NSTARS);
-
-      for (j = i; j < Nrecords; j++) {
-	if (tstars[j].found != -1) continue;
-
-	if (tstars[j].measure.imageID != this_image_id) continue;
-
-	// check if in skyregion
-	if (tstars[j].average.R < region[0].Rmin) continue;
-	if (tstars[j].average.R > region[0].Rmax) break;
-	if (tstars[j].average.D < region[0].Dmin) continue;
-	if (tstars[j].average.D > region[0].Dmax) continue;
-	  
-	// check if in UserPatch
-	if (tstars[j].average.R < UserPatch.Rmin) continue;
-	if (tstars[j].average.R > UserPatch.Rmax) break;
-	if (tstars[j].average.D < UserPatch.Dmin) continue;
-	if (tstars[j].average.D > UserPatch.Dmax) continue;
-
-	stars[Nstars] = &tstars[j];
-	Nstars ++;
-
-	CHECK_REALLOCATE (stars, Stars *, NSTARS, Nstars, 1000);
-      }
-	  
-      if (DEBUG) fprintf (stderr, "selected %d stars (%10.6f - %10.6f, %10.6f - %10.6f)\n", Nstars, 
-			  region[0].Rmin, region[0].Rmax, region[0].Dmin, region[0].Dmax);
-
-      if (1) {
-	verbose = VERBOSE;
-	VERBOSE = FALSE;
-
-	// now we have all of the loaded stars in this catalog
-	dvo_catalog_init (&catalog, TRUE);
-	catalog.filename = skylist[0].filename[0];
-	catalog.catformat = dvo_catalog_catformat (CATFORMAT);  // set the default catformat from config data
-	catalog.catmode   = dvo_catalog_catmode (CATMODE);      // set the default catmode from config data
-	catalog.catflags = DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE | DVO_LOAD_MISSING | DVO_LOAD_SECFILT;
-	catalog.Nsecfilt  = GetPhotcodeNsecfilt ();
-
-	// an error exit status here is a significant error
-	if (!dvo_catalog_open (&catalog, skylist[0].regions[0], VERBOSE, "w")) {
-	  fprintf (stderr, "ERROR: failure to open/create catalog file %s\n", catalog.filename);
-	  exit (2);
-	}
-
-	// assume no input star matches an existing star 
-	// simply add to the existing table
-	// loadWISE_catalog (&catalog, stars, Nstars);
-	find_matches_refstars (skylist[0].regions[0], stars, Nstars, &catalog, options);
-	// loadWISE_catalog (&catalog, stars, Nstars);
-
-	dvo_catalog_save (&catalog, VERBOSE);
-	dvo_catalog_unlock (&catalog);
-	dvo_catalog_free (&catalog);
-	// free (catalog.filename);
-	// XXX don't free this! it points to an element of the skytable
+      // an error exit status here is a significant error
+      if (!dvo_catalog_open (&catalog, skylist[0].regions[0], VERBOSE, "w")) {
+	fprintf (stderr, "ERROR: failure to open/create catalog file %s\n", catalog.filename);
+	exit (2);
       }
 
-      SkyListFree (skylist);
+      // assume no input star matches an existing star 
+      // simply add to the existing table
+      find_matches_refstars (skylist[0].regions[0], newcat, &catalog, options);
 
-      free (stars);
-      VERBOSE = verbose;
+      SetProtect (TRUE);
+      if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+      if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+      SetProtect (FALSE);
+
+      dvo_catalog_free (&catalog);
     }
+
+    SkyListFree (skylist);
+    dvo_catalog_free (newcat);
+    free (newcat);
+    
     if (VERBOSE) fprintf (stderr, "done\n");
   }
@@ -204,5 +150,4 @@
   if (VERBOSE) fprintf (stderr, "\n");
   
-  free (tstars);
   free (sstars);
 
@@ -225,2 +170,15 @@
 */
 
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /trunk/Ohana/src/addstar/src/loadtycho.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadtycho.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadtycho.c	(revision 38986)
@@ -20,4 +20,5 @@
 
   // need to construct these options with args_loadtycho...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_loadtycho (&argc, argv, options);
Index: /trunk/Ohana/src/addstar/src/loadtycho_rawdata.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadtycho_rawdata.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadtycho_rawdata.c	(revision 38986)
@@ -22,5 +22,4 @@
 
   Tycho_Stars *tstars;
-  Stars *stars, **starrefs; // this is an array of pointers to be consistent with input to find_match_refstars
   SkyList *skylist;
   SkyRegion *region;
@@ -87,8 +86,14 @@
       if (DEBUG) fprintf (stderr, "writing to %s\n", skylist[0].filename[0]);
 
-      // collect array of (Stars *) stars in a new output catalog
-      int Nstars = 0;
-      int NSTARS = (NGROUP*1000);
-      ALLOCATE (stars, Stars, NSTARS);
+      int Nave = 0;
+      int Nmeas = 0;
+      int NAVE = 1000;
+      int NMEAS = 4000;
+
+      Catalog *newcat = NULL;
+      ALLOCATE (newcat, Catalog, 1);
+      dvo_catalog_init (newcat, TRUE);
+      ALLOCATE (newcat->average, Average, NAVE);
+      ALLOCATE (newcat->measure, Measure, NMEAS);
 
       // loop over stars in this WISE region that are also in this output region
@@ -108,21 +113,28 @@
 	if (tstars[j].average.D > UserPatch.Dmax) continue;
 	  
-	for (k = 0; k < NGROUP; k++) {
-	  stars[Nstars+k].average = tstars[j].average;
-	  stars[Nstars+k].measure = tstars[j].measure[k];
-	  stars[Nstars+k].found = -1;
-	}	  
+	dvo_average_init (&newcat->average[Nave]);
+	newcat->average[Nave] = tstars[j].average;
+	for (k = 0; k < NGROUP; k++) { 
+	  dvo_measure_init (&newcat->measure[Nmeas + k]);
+	  newcat->measure[Nmeas + k] = tstars[j].measure[k];
+	}
 	tstars[j].flag = TRUE;
 
-	Nstars += NGROUP;
-	if (Nstars >= NSTARS - NGROUP) {
-	  NSTARS += (NGROUP*1000);
-	  REALLOCATE (stars, Stars, NSTARS);
-	}
+	newcat->average[Nave].Nmeasure = NGROUP;
+	newcat->average[Nave].measureOffset = Nmeas;
+
+	Nave ++;
+	Nmeas += NGROUP;
+
+	CHECK_REALLOCATE (newcat->average, Average, NAVE,  Nave,  1000);
+	CHECK_REALLOCATE (newcat->measure, Measure, NMEAS, Nmeas + NGROUP, 4000);
       }
+      newcat->Naverage = Nave;
+      newcat->Nmeasure = Nmeas;
 
-      ALLOCATE (starrefs, Stars *, NSTARS);
-      for (j = 0; j < Nstars; j++) {
-	starrefs[j] = &stars[j];
+      if (!newcat->Naverage) {
+	dvo_catalog_free (newcat);
+	free (newcat);
+	continue;
       }
 
@@ -145,13 +157,16 @@
       // assume no input star matches an existing star 
       // simply add to the existing table
-      find_matches_closest_refstars(region, starrefs, Nstars, &catalog, options);
+      find_matches_closest_refstars(region, newcat, &catalog, options);
 
-      dvo_catalog_save (&catalog, verbose);
-      dvo_catalog_unlock (&catalog);
+      SetProtect (TRUE);
+      if (!dvo_catalog_save (&catalog, verbose)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+      if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+      SetProtect (FALSE);
+
       dvo_catalog_free (&catalog);
 
       SkyListFree (skylist);
-      free (stars);
-      free (starrefs);
+      dvo_catalog_free (newcat);
+      free (newcat);
     }
     free (tstars);
Index: /trunk/Ohana/src/addstar/src/loadwise.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadwise.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadwise.c	(revision 38986)
@@ -20,4 +20,5 @@
 
   // need to construct these options with args_loadWISE...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_loadwise (argc, argv, options);
Index: /trunk/Ohana/src/addstar/src/loadwise_prelim_rawdata.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadwise_prelim_rawdata.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadwise_prelim_rawdata.c	(revision 38986)
@@ -202,6 +202,9 @@
 	// loadWISE_catalog (&catalog, stars, Nstars);
 
-	dvo_catalog_save (&catalog, VERBOSE);
-	dvo_catalog_unlock (&catalog);
+	SetProtect (TRUE);
+	if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+	if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+	SetProtect (FALSE);
+
 	dvo_catalog_free (&catalog);
 	// free (catalog.filename);
Index: /trunk/Ohana/src/addstar/src/loadwise_rawdata.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadwise_rawdata.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadwise_rawdata.c	(revision 38986)
@@ -13,5 +13,5 @@
   
   int i, j, k, verbose;
-  int Nstars, NSTARS, Ntstars, NTSTARS;
+  int Ntstars, NTSTARS;
   int Nbyte, Nextra, offset;
 
@@ -21,5 +21,4 @@
   char *buffer, *p, *q;
 
-  Stars **stars; // this is an array of pointers to be consistent with input to find_match_refstars
   WISE_Stars *tstars;
   SkyList *skylist;
@@ -117,8 +116,14 @@
       if (DEBUG) fprintf (stderr, "writing to %s\n", skylist[0].filename[0]);
 
-      // collect array of (Stars *) stars in a new output catalog
-      Nstars = 0;
-      NSTARS = 3000;
-      ALLOCATE (stars, Stars *, NSTARS);
+      int Nave = 0;
+      int Nmeas = 0;
+      int NAVE = 1000;
+      int NMEAS = 4000;
+
+      Catalog *newcat = NULL;
+      ALLOCATE (newcat, Catalog, 1);
+      dvo_catalog_init (newcat, TRUE);
+      ALLOCATE (newcat->average, Average, NAVE);
+      ALLOCATE (newcat->measure, Measure, NMEAS);
 
       // loop over stars in this WISE region that are also in this output region
@@ -140,22 +145,21 @@
 	offset = tstars[j].offset;
 
+	dvo_average_init (&newcat->average[Nave]);
 	for (k = 0; k < 4; k++) {
-	  ALLOCATE (stars[Nstars + k], Stars, 1);
-	  InitStar (stars[Nstars + k]);
-	  stars[Nstars+k][0].average.R = tstars[j].R;
-	  stars[Nstars+k][0].average.D = tstars[j].D;
-	  stars[Nstars+k][0].measure.R = tstars[j].R;
-	  stars[Nstars+k][0].measure.D = tstars[j].D;
-	}	  
+	  dvo_measure_init (&newcat->measure[Nmeas+k]);
+	}
 	
+	newcat->average[Nave].R = tstars[j].R;
+	newcat->average[Nave].D = tstars[j].D;
+
 	switch (MODE) {
 	  case MODE_PRELIM:
-	    loadwise_star_prelim (&stars[Nstars], &buffer[offset], Nbyte - offset);
+	    loadwise_star_prelim (&newcat->measure[Nmeas], &buffer[offset], Nbyte - offset);
 	    break;
 	  case MODE_ALLSKY:
-	    loadwise_star_allsky (&stars[Nstars], &buffer[offset], Nbyte - offset);
+	    loadwise_star_allsky (&newcat->measure[Nmeas], &buffer[offset], Nbyte - offset);
 	    break;
 	  case MODE_ALLWISE:
-	    loadwise_star_allwise (&stars[Nstars], &buffer[offset], Nbyte - offset);
+	    loadwise_star_allwise (&newcat->measure[Nmeas], &buffer[offset], Nbyte - offset);
 	    break;
 	  default:
@@ -165,17 +169,24 @@
 	tstars[j].flag = TRUE;
 
-	Nstars += 4;
-	if (Nstars >= NSTARS - 4) {
-	  NSTARS += 4000;
-	  REALLOCATE (stars, Stars *, NSTARS);
-	}
-      }
-
-      if (!Nstars) {
-	free (stars);
+	newcat->average[Nave].Nmeasure = 4;
+	newcat->average[Nave].measureOffset = Nmeas;
+
+	Nave ++;
+	Nmeas += 4;
+
+	CHECK_REALLOCATE (newcat->average, Average, NAVE,  Nave,  1000);
+	CHECK_REALLOCATE (newcat->measure, Measure, NMEAS, Nmeas, 4000);
+      }
+      newcat->Naverage = Nave;
+      newcat->Nmeasure = Nmeas;
+
+      if (!newcat->Naverage) {
+	dvo_catalog_free (newcat);
+	free (newcat);
 	continue;
       }
 
-      if (DEBUG) fprintf (stderr, "selected %d stars (%10.6f - %10.6f, %10.6f - %10.6f)\n", Nstars, 
+      if (DEBUG) fprintf (stderr, "selected %d stars (%10.6f - %10.6f, %10.6f - %10.6f)\n", 
+			  (int) newcat->Naverage, 
 			  region[0].Rmin, region[0].Rmax, region[0].Dmin, region[0].Dmax);
 
@@ -200,18 +211,16 @@
 	// assume no input star matches an existing star 
 	// simply add to the existing table
-	// loadWISE_catalog (&catalog, stars, Nstars);
-	find_matches_refstars (skylist[0].regions[0], stars, Nstars, &catalog, options);
-	// loadWISE_catalog (&catalog, stars, Nstars);
-
-	dvo_catalog_save (&catalog, VERBOSE);
-	dvo_catalog_unlock (&catalog);
+	find_matches_refstars (skylist[0].regions[0], newcat, &catalog, options);
+
+	SetProtect (TRUE);
+	if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+	if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+	SetProtect (FALSE);
 	dvo_catalog_free (&catalog);
-	// free (catalog.filename);
-	// XXX don't free this! it points to an element of the skytable
       }
 
       SkyListFree (skylist);
-      for (j = 0; j < Nstars; j++) free (stars[j]);
-      free (stars);
+      dvo_catalog_free (newcat);
+      free (newcat);
       VERBOSE = verbose;
     }
Index: /trunk/Ohana/src/addstar/src/loadwise_star_full.c
===================================================================
--- /trunk/Ohana/src/addstar/src/loadwise_star_full.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/loadwise_star_full.c	(revision 38986)
@@ -2,16 +2,16 @@
 # include "WISE.h"
 
-int setWISE_ph_qual (Stars *star, char qual);
-int setWISE_var_flag_allsky (Stars *star, char qual);
-int setWISE_ext_flag_allsky (Stars **star, char ptr);
-int setWISE_var_flag_prelim (Stars *star, char qual);
-int setWISE_ext_flag_prelim (Stars **star, char ptr);
-int setWISE_cc_flag (Stars *star, char qual);
-int setWISE_sat_flag (Stars *star, char *ptr);
-int setWISE_blend_flag (Stars **star, char *ptr);
+int setWISE_ph_qual (Measure *measure, char qual);
+int setWISE_var_flag_allsky (Measure *measure, char qual);
+int setWISE_ext_flag_allsky (Measure *measure, char ptr);
+int setWISE_var_flag_prelim (Measure *measure, char qual);
+int setWISE_ext_flag_prelim (Measure *measure, char ptr);
+int setWISE_cc_flag (Measure *measure, char qual);
+int setWISE_sat_flag (Measure *measure, char *ptr);
+int setWISE_blend_flag (Measure *measure, char *ptr);
 
 // fill in the data for a WISE quad star.  takes a pointer to the start of the line the
 // RA and DEC have already been set
-int loadwise_star_allwise (Stars **star, char *line, int Nmax) {
+int loadwise_star_allwise (Measure *measure, char *line, int Nmax) {
 
   int i;
@@ -23,30 +23,30 @@
 
   // I can assign dRA and dDEC to dX and dY if I can consistently set posangle and pltscale
-  star[0][0].measure.posangle = 0.0;
-  star[0][0].measure.pltscale = 1.0;
+  measure[0].posangle = 0.0;
+  measure[0].pltscale = 1.0;
 
   ptr = skipNbounds (ptr, '|', 3, Nmax); // skip: desig, ra, dec,
-  star[0][0].measure.dXccd = ToShortPixels((strtod (ptr, NULL) + 0.005)); // sig_ra -- add 5/1000 to avoid truncation
+  measure[0].dXccd = ToShortPixels((strtod (ptr, NULL) + 0.005)); // sig_ra -- add 5/1000 to avoid truncation
   ptr = nextWISEfield (ptr);
-  star[0][0].measure.dYccd = ToShortPixels((strtod (ptr, NULL) + 0.005)); // sig_dec
+  measure[0].dYccd = ToShortPixels((strtod (ptr, NULL) + 0.005)); // sig_dec
   ptr = nextWISEfield (ptr);
 
   // we only know a single set of values for all 4 bands 
   for (i = 1; i < 4; i++) {
-      star[i][0].measure.dXccd    = star[0][0].measure.dXccd;
-      star[i][0].measure.dYccd    = star[0][0].measure.dYccd;
-      star[i][0].measure.posangle = star[0][0].measure.posangle;
-      star[i][0].measure.pltscale = star[0][0].measure.pltscale;
+      measure[i].dXccd    = measure[0].dXccd;
+      measure[i].dYccd    = measure[0].dYccd;
+      measure[i].posangle = measure[0].posangle;
+      measure[i].pltscale = measure[0].pltscale;
   }
   ptr = skipNbounds (ptr, '|', 5, Nmax); // skip: sig_radec, glon, glat, elon, elat
 
-  star[0][0].measure.Xccd = strtod (ptr, NULL); // wx
+  measure[0].Xccd = strtod (ptr, NULL); // wx
   ptr = nextWISEfield (ptr); // skip wx
-  star[0][0].measure.Yccd = strtod (ptr, NULL); // wy
+  measure[0].Yccd = strtod (ptr, NULL); // wy
   ptr = nextWISEfield (ptr); // skip wy
 
   for (i = 1; i < 4; i++) {
-      star[i][0].measure.Xccd    = star[0][0].measure.Xccd;
-      star[i][0].measure.Yccd    = star[0][0].measure.Yccd;
+      measure[i].Xccd    = measure[0].Xccd;
+      measure[i].Yccd    = measure[0].Yccd;
   }
   ptr = skipNbounds (ptr, '|', 4, Nmax); // skip: cntr, source_id, coadd_id, src
@@ -55,20 +55,20 @@
   for (i = 0; i < 4; i++) {
     char *endpoint;
-      star[i][0].measure.M  = strtod (ptr, &endpoint); // w?mpro
+      measure[i].M  = strtod (ptr, &endpoint); // w?mpro
       if (endpoint == ptr) {
-	star[i][0].measure.M  = NAN;
+	measure[i].M  = NAN;
       }
       ptr = nextWISEfield (ptr);
-      star[i][0].measure.dM = strtod (ptr, &endpoint); // w?sigmpro
+      measure[i].dM = strtod (ptr, &endpoint); // w?sigmpro
       if (endpoint == ptr) {
-	star[i][0].measure.dM  = NAN;
+	measure[i].dM  = NAN;
       }
       ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: w?sigmpro, w?snr
-      star[i][0].measure.psfChisq = strtod (ptr, NULL); // w?rchi2
-      star[i][0].measure.psfQF = strtod (ptr, NULL); // w?rchi2
+      measure[i].psfChisq = strtod (ptr, NULL); // w?rchi2
+      measure[i].psfQF = strtod (ptr, NULL); // w?rchi2
       ptr = nextWISEfield (ptr); // skip : w1rchi2
 
       // init the photFlags field
-      star[i][0].measure.photFlags = 0;
+      measure[i].photFlags = 0;
   }
 
@@ -76,9 +76,9 @@
 
   // set blend flags for all 4 measures
-  setWISE_blend_flag (star, ptr); // nb & na both used here
+  setWISE_blend_flag (measure, ptr); // nb & na both used here
   ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: nb, na
 
   for (i = 0; i < 4; i++) {
-      setWISE_sat_flag (star[i], ptr); // w1sat
+      setWISE_sat_flag (&measure[i], ptr); // w1sat
       ptr = nextWISEfield (ptr); 
   }
@@ -88,5 +88,5 @@
 
   for (i = 0; i < 4; i++) {
-      setWISE_cc_flag (star[i], ptr[i]); // cc_flags
+      setWISE_cc_flag (&measure[i], ptr[i]); // cc_flags
   }
   ptr = nextWISEfield (ptr); // skip cc_flags
@@ -94,14 +94,14 @@
 
   // set ext flags for all 4 measures
-  setWISE_ext_flag_allsky (star, ptr[0]); // ext_flg
+  setWISE_ext_flag_allsky (measure, ptr[0]); // ext_flg
   ptr = nextWISEfield (ptr); // skip ext_flags
 
   for (i = 0; i < 4; i++) {
-      setWISE_var_flag_allsky (star[i], ptr[i]); // var_flg
+      setWISE_var_flag_allsky (&measure[i], ptr[i]); // var_flg
   }
   ptr = nextWISEfield (ptr); // skip var_flags
 
   for (i = 0; i < 4; i++) {
-      setWISE_ph_qual (star[i], ptr[i]); // ph_qual
+      setWISE_ph_qual (&measure[i], ptr[i]); // ph_qual
   }
 
@@ -123,25 +123,25 @@
     // the release is based on data taken in the period 14 January 2010 to 29 April 2010
     if (mjdmean == 0.0) {
-      star[i][0].measure.t = 0;
+      measure[i].t = 0;
     } else {
-      star[i][0].measure.t = ohana_mjd_to_sec (mjdmean);
+      measure[i].t = ohana_mjd_to_sec (mjdmean);
     }
   }
 
-  star[0][0].measure.photcode  = WISE_W1;
-  star[0][0].measure.detID   = 0;
-  star[0][0].measure.imageID = 0;
-
-  star[1][0].measure.photcode  = WISE_W2;
-  star[1][0].measure.detID   = 0;
-  star[1][0].measure.imageID = 0;
-
-  star[2][0].measure.photcode  = WISE_W3;
-  star[2][0].measure.detID   = 0;
-  star[2][0].measure.imageID = 0;
-
-  star[3][0].measure.photcode  = WISE_W4;
-  star[3][0].measure.detID   = 0;
-  star[3][0].measure.imageID = 0;
+  measure[0].photcode  = WISE_W1;
+  measure[0].detID   = 0;
+  measure[0].imageID = 0;
+
+  measure[1].photcode  = WISE_W2;
+  measure[1].detID   = 0;
+  measure[1].imageID = 0;
+
+  measure[2].photcode  = WISE_W3;
+  measure[2].detID   = 0;
+  measure[2].imageID = 0;
+
+  measure[3].photcode  = WISE_W4;
+  measure[3].detID   = 0;
+  measure[3].imageID = 0;
 
   return TRUE;
@@ -156,5 +156,5 @@
 // fill in the data for a WISE quad star.  takes a pointer to the start of the line the
 // RA and DEC have already been set
-int loadwise_star_allsky (Stars **star, char *line, int Nmax) {
+int loadwise_star_allsky (Measure *measure, char *line, int Nmax) {
 
   int i;
@@ -166,30 +166,30 @@
 
   // I can assign dRA and dDEC to dX and dY if I can consistently set posangle and pltscale
-  star[0][0].measure.posangle = 0.0;
-  star[0][0].measure.pltscale = 1.0;
+  measure[0].posangle = 0.0;
+  measure[0].pltscale = 1.0;
 
   ptr = skipNbounds (ptr, '|', 3, Nmax); // skip: desig, ra, dec,
-  star[0][0].measure.dXccd = ToShortPixels(strtod (ptr, NULL)); // sig_ra
+  measure[0].dXccd = ToShortPixels(strtod (ptr, NULL)); // sig_ra
   ptr = nextWISEfield (ptr);
-  star[0][0].measure.dYccd = ToShortPixels(strtod (ptr, NULL)); // sig_dec
+  measure[0].dYccd = ToShortPixels(strtod (ptr, NULL)); // sig_dec
   ptr = nextWISEfield (ptr);
 
   // we only know a single set of values for all 4 bands 
   for (i = 1; i < 4; i++) {
-      star[i][0].measure.dXccd    = star[0][0].measure.dXccd;
-      star[i][0].measure.dYccd    = star[0][0].measure.dYccd;
-      star[i][0].measure.posangle = star[0][0].measure.posangle;
-      star[i][0].measure.pltscale = star[0][0].measure.pltscale;
+      measure[i].dXccd    = measure[0].dXccd;
+      measure[i].dYccd    = measure[0].dYccd;
+      measure[i].posangle = measure[0].posangle;
+      measure[i].pltscale = measure[0].pltscale;
   }
   ptr = skipNbounds (ptr, '|', 5, Nmax); // skip: sig_radec, glon, glat, elon, elat
 
-  star[0][0].measure.Xccd = strtod (ptr, NULL); // wx
+  measure[0].Xccd = strtod (ptr, NULL); // wx
   ptr = nextWISEfield (ptr); // skip wx
-  star[0][0].measure.Yccd = strtod (ptr, NULL); // wy
+  measure[0].Yccd = strtod (ptr, NULL); // wy
   ptr = nextWISEfield (ptr); // skip wy
 
   for (i = 1; i < 4; i++) {
-      star[i][0].measure.Xccd    = star[0][0].measure.Xccd;
-      star[i][0].measure.Yccd    = star[0][0].measure.Yccd;
+      measure[i].Xccd    = measure[0].Xccd;
+      measure[i].Yccd    = measure[0].Yccd;
   }
   ptr = skipNbounds (ptr, '|', 4, Nmax); // skip: cntr, source_id, coadd_id, src
@@ -198,19 +198,19 @@
   for (i = 0; i < 4; i++) {
     char *endpoint;
-      star[i][0].measure.M  = strtod (ptr, &endpoint); // w?mpro
+      measure[i].M  = strtod (ptr, &endpoint); // w?mpro
       if (endpoint == ptr) {
-	star[i][0].measure.M  = NAN;
+	measure[i].M  = NAN;
       }
       ptr = nextWISEfield (ptr);
-      star[i][0].measure.dM = strtod (ptr, &endpoint); // w?sigmpro
+      measure[i].dM = strtod (ptr, &endpoint); // w?sigmpro
       if (endpoint == ptr) {
-	star[i][0].measure.dM  = NAN;
+	measure[i].dM  = NAN;
       }
       ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: w?sigmpro, w?snr
-      star[i][0].measure.psfChisq = strtod (ptr, NULL); // w?rchi2
+      measure[i].psfChisq = strtod (ptr, NULL); // w?rchi2
       ptr = nextWISEfield (ptr); // skip : w1rchi2
 
       // init the photFlags field
-      star[i][0].measure.photFlags = 0;
+      measure[i].photFlags = 0;
   }
 
@@ -218,9 +218,9 @@
 
   // set blend flags for all 4 measures
-  setWISE_blend_flag (star, ptr); // nb & na both used here
+  setWISE_blend_flag (measure, ptr); // nb & na both used here
   ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: nb, na
 
   for (i = 0; i < 4; i++) {
-      setWISE_sat_flag (star[i], ptr); // w1sat
+      setWISE_sat_flag (&measure[i], ptr); // w1sat
       ptr = nextWISEfield (ptr); 
   }
@@ -228,19 +228,19 @@
 
   for (i = 0; i < 4; i++) {
-      setWISE_cc_flag (star[i], ptr[i]); // cc_flg
+      setWISE_cc_flag (&measure[i], ptr[i]); // cc_flg
   }
   ptr = nextWISEfield (ptr); // skip cc_flags
 
   // set ext flags for all 4 measures
-  setWISE_ext_flag_allsky (star, ptr[0]); // ext_flg
+  setWISE_ext_flag_allsky (measure, ptr[0]); // ext_flg
   ptr = nextWISEfield (ptr); // skip ext_flags
 
   for (i = 0; i < 4; i++) {
-      setWISE_var_flag_allsky (star[i], ptr[i]); // var_flg
+      setWISE_var_flag_allsky (&measure[i], ptr[i]); // var_flg
   }
   ptr = nextWISEfield (ptr); // skip var_flags
 
   for (i = 0; i < 4; i++) {
-      setWISE_ph_qual (star[i], ptr[i]); // ph_qual
+      setWISE_ph_qual (&measure[i], ptr[i]); // ph_qual
   }
 
@@ -261,25 +261,25 @@
     // the release is based on data taken in the period 14 January 2010 to 29 April 2010
     if (mjdmean == 0.0) {
-      star[i][0].measure.t = 0;
+      measure[i].t = 0;
     } else {
-      star[i][0].measure.t = ohana_mjd_to_sec (mjdmean);
+      measure[i].t = ohana_mjd_to_sec (mjdmean);
     }
   }
 
-  star[0][0].measure.photcode  = WISE_W1;
-  star[0][0].measure.detID   = 0;
-  star[0][0].measure.imageID = 0;
-
-  star[1][0].measure.photcode  = WISE_W2;
-  star[1][0].measure.detID   = 0;
-  star[1][0].measure.imageID = 0;
-
-  star[2][0].measure.photcode  = WISE_W3;
-  star[2][0].measure.detID   = 0;
-  star[2][0].measure.imageID = 0;
-
-  star[3][0].measure.photcode  = WISE_W4;
-  star[3][0].measure.detID   = 0;
-  star[3][0].measure.imageID = 0;
+  measure[0].photcode  = WISE_W1;
+  measure[0].detID   = 0;
+  measure[0].imageID = 0;
+
+  measure[1].photcode  = WISE_W2;
+  measure[1].detID   = 0;
+  measure[1].imageID = 0;
+
+  measure[2].photcode  = WISE_W3;
+  measure[2].detID   = 0;
+  measure[2].imageID = 0;
+
+  measure[3].photcode  = WISE_W4;
+  measure[3].detID   = 0;
+  measure[3].imageID = 0;
 
   return TRUE;
@@ -288,5 +288,5 @@
 // fill in the data for a WISE quad star.  takes a pointer to the start of the line the
 // RA and DEC have already been set
-int loadwise_star_prelim (Stars **star, char *line, int Nmax) {
+int loadwise_star_prelim (Measure *measure, char *line, int Nmax) {
 
   int i;
@@ -298,30 +298,30 @@
 
   // I can assign dRA and dDEC to dX and dY if I can consistently set posangle and pltscale
-  star[0][0].measure.posangle = 0.0;
-  star[0][0].measure.pltscale = 1.0;
+  measure[0].posangle = 0.0;
+  measure[0].pltscale = 1.0;
 
   ptr = skipNbounds (ptr, '|', 3, Nmax); // skip: desig, ra, dec,
-  star[0][0].measure.dXccd = ToShortPixels(strtod (ptr, NULL)); // sig_ra
+  measure[0].dXccd = ToShortPixels(strtod (ptr, NULL)); // sig_ra
   ptr = nextWISEfield (ptr);
-  star[0][0].measure.dYccd = ToShortPixels(strtod (ptr, NULL)); // sig_dec
+  measure[0].dYccd = ToShortPixels(strtod (ptr, NULL)); // sig_dec
   ptr = nextWISEfield (ptr);
 
   // we only know a single set of values for all 4 bands 
   for (i = 1; i < 4; i++) {
-      star[i][0].measure.dXccd    = star[0][0].measure.dXccd;
-      star[i][0].measure.dYccd    = star[0][0].measure.dYccd;
-      star[i][0].measure.posangle = star[0][0].measure.posangle;
-      star[i][0].measure.pltscale = star[0][0].measure.pltscale;
+      measure[i].dXccd    = measure[0].dXccd;
+      measure[i].dYccd    = measure[0].dYccd;
+      measure[i].posangle = measure[0].posangle;
+      measure[i].pltscale = measure[0].pltscale;
   }
   ptr = skipNbounds (ptr, '|', 5, Nmax); // skip: sig_radec, glon, glat, elon, elat
 
-  star[0][0].measure.Xccd = strtod (ptr, NULL); // wx
+  measure[0].Xccd = strtod (ptr, NULL); // wx
   ptr = nextWISEfield (ptr); // skip wx
-  star[0][0].measure.Yccd = strtod (ptr, NULL); // wy
+  measure[0].Yccd = strtod (ptr, NULL); // wy
   ptr = nextWISEfield (ptr); // skip wy
 
   for (i = 1; i < 4; i++) {
-      star[i][0].measure.Xccd    = star[0][0].measure.Xccd;
-      star[i][0].measure.Yccd    = star[0][0].measure.Yccd;
+      measure[i].Xccd    = measure[0].Xccd;
+      measure[i].Yccd    = measure[0].Yccd;
   }
   ptr = skipNbounds (ptr, '|', 4, Nmax); // skip: cntr, source_id, coadd_id, src
@@ -329,13 +329,13 @@
   // W1
   for (i = 0; i < 4; i++) {
-      star[i][0].measure.M  = strtod (ptr, NULL); // w?mpro
+      measure[i].M  = strtod (ptr, NULL); // w?mpro
       ptr = nextWISEfield (ptr);
-      star[i][0].measure.dM = strtod (ptr, NULL); // w?sigmpro
+      measure[i].dM = strtod (ptr, NULL); // w?sigmpro
       ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: w?sigmpro, w?snr
-      star[i][0].measure.psfChisq = strtod (ptr, NULL); // w?rchi2
+      measure[i].psfChisq = strtod (ptr, NULL); // w?rchi2
       ptr = nextWISEfield (ptr); // skip : w1rchi2
 
       // init the photFlags field
-      star[i][0].measure.photFlags = 0;
+      measure[i].photFlags = 0;
   }
 
@@ -343,9 +343,9 @@
 
   // set blend flags for all 4 measures
-  setWISE_blend_flag (star, ptr); // nb & na both used here
+  setWISE_blend_flag (measure, ptr); // nb & na both used here
   ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: nb, na
 
   for (i = 0; i < 4; i++) {
-      setWISE_sat_flag (star[i], ptr); // w1sat
+      setWISE_sat_flag (&measure[i], ptr); // w1sat
       ptr = nextWISEfield (ptr); 
   }
@@ -353,43 +353,43 @@
 
   for (i = 0; i < 4; i++) {
-      setWISE_cc_flag (star[i], ptr[i]); // cc_flg
+      setWISE_cc_flag (&measure[i], ptr[i]); // cc_flg
   }
   ptr = nextWISEfield (ptr); // skip cc_flags
 
   // set ext flags for all 4 measures
-  setWISE_ext_flag_prelim (star, *ptr); // ext_flg
+  setWISE_ext_flag_prelim (measure, *ptr); // ext_flg
   ptr = nextWISEfield (ptr); // skip ext_flags
 
   for (i = 0; i < 4; i++) {
-      setWISE_var_flag_prelim (star[i], ptr[i]); // var_flg
+      setWISE_var_flag_prelim (&measure[i], ptr[i]); // var_flg
   }
   ptr = nextWISEfield (ptr); // skip var_flags
 
   for (i = 0; i < 4; i++) {
-      setWISE_ph_qual (star[i], ptr[i]); // ph_qual
+      setWISE_ph_qual (&measure[i], ptr[i]); // ph_qual
   }
 
   double jd = 2455263.0; // NOTE : WISE prelim release does not contain per-detection time info. 
   // the release is based on data taken in the period 14 January 2010 to 29 April 2010
-  star[0][0].measure.t = ohana_jd_to_sec (jd);
-  star[1][0].measure.t = star[0][0].measure.t;
-  star[2][0].measure.t = star[0][0].measure.t;
-  star[3][0].measure.t = star[0][0].measure.t;
-
-  star[0][0].measure.photcode  = WISE_W1;
-  star[0][0].measure.detID   = 0;
-  star[0][0].measure.imageID = 0;
-
-  star[1][0].measure.photcode  = WISE_W2;
-  star[1][0].measure.detID   = 0;
-  star[1][0].measure.imageID = 0;
-
-  star[2][0].measure.photcode  = WISE_W3;
-  star[2][0].measure.detID   = 0;
-  star[2][0].measure.imageID = 0;
-
-  star[3][0].measure.photcode  = WISE_W4;
-  star[3][0].measure.detID   = 0;
-  star[3][0].measure.imageID = 0;
+  measure[0].t = ohana_jd_to_sec (jd);
+  measure[1].t = measure[0].t;
+  measure[2].t = measure[0].t;
+  measure[3].t = measure[0].t;
+
+  measure[0].photcode  = WISE_W1;
+  measure[0].detID   = 0;
+  measure[0].imageID = 0;
+
+  measure[1].photcode  = WISE_W2;
+  measure[1].detID   = 0;
+  measure[1].imageID = 0;
+
+  measure[2].photcode  = WISE_W3;
+  measure[2].detID   = 0;
+  measure[2].imageID = 0;
+
+  measure[3].photcode  = WISE_W4;
+  measure[3].detID   = 0;
+  measure[3].imageID = 0;
 
   return TRUE;
@@ -436,5 +436,5 @@
 # define FLAG_VARIABLE_LEVEL3 0x40000000 // var_flg == 8 or 9
 
-int setWISE_blend_flag (Stars **star, char *ptr) {
+int setWISE_blend_flag (Measure *measure, char *ptr) {
 
     int nb = atoi (ptr);
@@ -445,38 +445,38 @@
 
     if (na == 0) {
-	star[0][0].measure.photFlags |= FLAG_BLEND_ACTIVE;
-	star[1][0].measure.photFlags |= FLAG_BLEND_ACTIVE;
-	star[2][0].measure.photFlags |= FLAG_BLEND_ACTIVE;
-	star[3][0].measure.photFlags |= FLAG_BLEND_ACTIVE;
+	measure[0].photFlags |= FLAG_BLEND_ACTIVE;
+	measure[1].photFlags |= FLAG_BLEND_ACTIVE;
+	measure[2].photFlags |= FLAG_BLEND_ACTIVE;
+	measure[3].photFlags |= FLAG_BLEND_ACTIVE;
     } else {
-	star[0][0].measure.photFlags |= FLAG_BLEND_PASSIVE;
-	star[1][0].measure.photFlags |= FLAG_BLEND_PASSIVE;
-	star[2][0].measure.photFlags |= FLAG_BLEND_PASSIVE;
-	star[3][0].measure.photFlags |= FLAG_BLEND_PASSIVE;
+	measure[0].photFlags |= FLAG_BLEND_PASSIVE;
+	measure[1].photFlags |= FLAG_BLEND_PASSIVE;
+	measure[2].photFlags |= FLAG_BLEND_PASSIVE;
+	measure[3].photFlags |= FLAG_BLEND_PASSIVE;
     }
     return TRUE;
 }
 
-int setWISE_sat_flag (Stars *star, char *ptr) {
+int setWISE_sat_flag (Measure *measure, char *ptr) {
 
     float sat = strtod (ptr, NULL);
     if (sat > 0.0) {
-	star[0].measure.photFlags |= FLAG_SATURATED_PIX;
+	measure[0].photFlags |= FLAG_SATURATED_PIX;
     }
     return TRUE;
 }
 
-int setWISE_cc_flag (Stars *star, char qual) {
+int setWISE_cc_flag (Measure *measure, char qual) {
 
   switch (qual) {
-    case 'p': star[0].measure.photFlags |= FLAG_CC_PERSIST; break;
-    case 'h': star[0].measure.photFlags |= FLAG_CC_HALO;    break;
-    case 'd': star[0].measure.photFlags |= FLAG_CC_SPIKE;   break;
-    case 'o': star[0].measure.photFlags |= FLAG_CC_GHOST;   break;
-
-    case 'P': star[0].measure.photFlags |= FLAG_CC_PERSIST | FLAG_CC_SPURIOUS; break;
-    case 'H': star[0].measure.photFlags |= FLAG_CC_HALO    | FLAG_CC_SPURIOUS; break;
-    case 'D': star[0].measure.photFlags |= FLAG_CC_SPIKE   | FLAG_CC_SPURIOUS; break;
-    case 'O': star[0].measure.photFlags |= FLAG_CC_GHOST   | FLAG_CC_SPURIOUS; break;
+    case 'p': measure[0].photFlags |= FLAG_CC_PERSIST; break;
+    case 'h': measure[0].photFlags |= FLAG_CC_HALO;    break;
+    case 'd': measure[0].photFlags |= FLAG_CC_SPIKE;   break;
+    case 'o': measure[0].photFlags |= FLAG_CC_GHOST;   break;
+
+    case 'P': measure[0].photFlags |= FLAG_CC_PERSIST | FLAG_CC_SPURIOUS; break;
+    case 'H': measure[0].photFlags |= FLAG_CC_HALO    | FLAG_CC_SPURIOUS; break;
+    case 'D': measure[0].photFlags |= FLAG_CC_SPIKE   | FLAG_CC_SPURIOUS; break;
+    case 'O': measure[0].photFlags |= FLAG_CC_GHOST   | FLAG_CC_SPURIOUS; break;
 
     case '0': break;
@@ -487,5 +487,5 @@
 }
 
-int setWISE_ext_flag_allsky (Stars **star, char value) {
+int setWISE_ext_flag_allsky (Measure *measure, char value) {
 
   switch (value) {
@@ -493,32 +493,32 @@
       return TRUE;
     case '1':
-      star[0][0].measure.photFlags |= FLAG_EXTENDED;
-      star[1][0].measure.photFlags |= FLAG_EXTENDED;
-      star[2][0].measure.photFlags |= FLAG_EXTENDED;
-      star[3][0].measure.photFlags |= FLAG_EXTENDED;
+      measure[0].photFlags |= FLAG_EXTENDED;
+      measure[1].photFlags |= FLAG_EXTENDED;
+      measure[2].photFlags |= FLAG_EXTENDED;
+      measure[3].photFlags |= FLAG_EXTENDED;
       return TRUE;
     case '2':
-      star[0][0].measure.photFlags |= FLAG_EXT_IN_XSC;
-      star[1][0].measure.photFlags |= FLAG_EXT_IN_XSC;
-      star[2][0].measure.photFlags |= FLAG_EXT_IN_XSC;
-      star[3][0].measure.photFlags |= FLAG_EXT_IN_XSC;
+      measure[0].photFlags |= FLAG_EXT_IN_XSC;
+      measure[1].photFlags |= FLAG_EXT_IN_XSC;
+      measure[2].photFlags |= FLAG_EXT_IN_XSC;
+      measure[3].photFlags |= FLAG_EXT_IN_XSC;
       return TRUE;
     case '3':
-      star[0][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_IN_XSC;
-      star[1][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_IN_XSC;
-      star[2][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_IN_XSC;
-      star[3][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_IN_XSC;
+      measure[0].photFlags |= FLAG_EXTENDED | FLAG_EXT_IN_XSC;
+      measure[1].photFlags |= FLAG_EXTENDED | FLAG_EXT_IN_XSC;
+      measure[2].photFlags |= FLAG_EXTENDED | FLAG_EXT_IN_XSC;
+      measure[3].photFlags |= FLAG_EXTENDED | FLAG_EXT_IN_XSC;
       return TRUE;
     case '4':
-      star[0][0].measure.photFlags |= FLAG_EXT_BY_XSC;
-      star[1][0].measure.photFlags |= FLAG_EXT_BY_XSC;
-      star[2][0].measure.photFlags |= FLAG_EXT_BY_XSC;
-      star[3][0].measure.photFlags |= FLAG_EXT_BY_XSC;
+      measure[0].photFlags |= FLAG_EXT_BY_XSC;
+      measure[1].photFlags |= FLAG_EXT_BY_XSC;
+      measure[2].photFlags |= FLAG_EXT_BY_XSC;
+      measure[3].photFlags |= FLAG_EXT_BY_XSC;
       return TRUE;
     case '5':
-      star[0][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_BY_XSC;
-      star[1][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_BY_XSC;
-      star[2][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_BY_XSC;
-      star[3][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_BY_XSC;
+      measure[0].photFlags |= FLAG_EXTENDED | FLAG_EXT_BY_XSC;
+      measure[1].photFlags |= FLAG_EXTENDED | FLAG_EXT_BY_XSC;
+      measure[2].photFlags |= FLAG_EXTENDED | FLAG_EXT_BY_XSC;
+      measure[3].photFlags |= FLAG_EXTENDED | FLAG_EXT_BY_XSC;
       return TRUE;
     default: 
@@ -529,5 +529,5 @@
 }
 
-int setWISE_ext_flag_prelim (Stars **star, char value) {
+int setWISE_ext_flag_prelim (Measure *measure, char value) {
 
   switch (value) {
@@ -535,8 +535,8 @@
       return TRUE;
     case '1':
-      star[0][0].measure.photFlags |= FLAG_EXTENDED;
-      star[1][0].measure.photFlags |= FLAG_EXTENDED;
-      star[2][0].measure.photFlags |= FLAG_EXTENDED;
-      star[3][0].measure.photFlags |= FLAG_EXTENDED;
+      measure[0].photFlags |= FLAG_EXTENDED;
+      measure[1].photFlags |= FLAG_EXTENDED;
+      measure[2].photFlags |= FLAG_EXTENDED;
+      measure[3].photFlags |= FLAG_EXTENDED;
       return TRUE;
     default: 
@@ -548,5 +548,5 @@
 
 // NOTE: var flag definition changed slightly between prelim & allsky
-int setWISE_var_flag_allsky (Stars *star, char qual) {
+int setWISE_var_flag_allsky (Measure *measure, char qual) {
 
   switch (qual) {
@@ -559,13 +559,13 @@
     case '4':
     case '5':
-	star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL1;
+	measure[0].photFlags |= FLAG_VARIABLE_LEVEL1;
 	return TRUE;
     case '6':
     case '7':
-	star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL2;
+	measure[0].photFlags |= FLAG_VARIABLE_LEVEL2;
 	return TRUE;
     case '8':
     case '9':
-      star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL3;
+      measure[0].photFlags |= FLAG_VARIABLE_LEVEL3;
       return TRUE;
     default: 
@@ -575,5 +575,5 @@
 }
 
-int setWISE_var_flag_prelim (Stars *star, char qual) {
+int setWISE_var_flag_prelim (Measure *measure, char qual) {
 
   switch (qual) {
@@ -584,14 +584,14 @@
     case '3':
     case '4':
-	star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL1;
+	measure[0].photFlags |= FLAG_VARIABLE_LEVEL1;
 	return TRUE;
     case '5':
     case '6':
     case '7':
-	star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL2;
+	measure[0].photFlags |= FLAG_VARIABLE_LEVEL2;
 	return TRUE;
     case '8':
     case '9':
-      star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL3;
+      measure[0].photFlags |= FLAG_VARIABLE_LEVEL3;
       return TRUE;
     default: 
@@ -601,13 +601,13 @@
 }
 
-int setWISE_ph_qual (Stars *star, char qual) {
+int setWISE_ph_qual (Measure *measure, char qual) {
 
   switch (qual) {
-    case 'A': star[0].measure.photFlags |= FLAG_PH_A; break;
-    case 'B': star[0].measure.photFlags |= FLAG_PH_B; break;
-    case 'C': star[0].measure.photFlags |= FLAG_PH_C; break;
-    case 'U': star[0].measure.photFlags |= FLAG_PH_U; break;
-    case 'X': star[0].measure.photFlags |= FLAG_PH_X; break;
-    case 'Z': star[0].measure.photFlags |= FLAG_PH_Z; break;
+    case 'A': measure[0].photFlags |= FLAG_PH_A; break;
+    case 'B': measure[0].photFlags |= FLAG_PH_B; break;
+    case 'C': measure[0].photFlags |= FLAG_PH_C; break;
+    case 'U': measure[0].photFlags |= FLAG_PH_U; break;
+    case 'X': measure[0].photFlags |= FLAG_PH_X; break;
+    case 'Z': measure[0].photFlags |= FLAG_PH_Z; break;
     default: 
       fprintf (stderr, "error in ph_flag: %c\n", qual);
Index: /trunk/Ohana/src/addstar/src/replace_match.c
===================================================================
--- /trunk/Ohana/src/addstar/src/replace_match.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/replace_match.c	(revision 38986)
@@ -1,5 +1,5 @@
 # include "addstar.h"
 
-int replace_match (Average *average, Measure *measure, Stars *star) {
+int replace_match (Average *average, Measure *measure, Measure *newmeas, off_t *found) {
 
   int i, j, m;
@@ -11,10 +11,10 @@
   for (i = 0; i < average[0].Nmeasure; i++) {
     j = i + m;
-    if (measure[j].photcode != star[0].measure.photcode) continue;
-    measure[j].R = star[0].average.R;
-    measure[j].D = star[0].average.D;
-    measure[j].M  = star[0].measure.M;
-    measure[j].dM = star[0].measure.dM;
-    star[0].found = average[0].measureOffset + i;
+    if (measure[j].photcode != newmeas->photcode) continue;
+    measure[j].R  = newmeas->R;
+    measure[j].D  = newmeas->D;
+    measure[j].M  = newmeas->M;
+    measure[j].dM = newmeas->dM;
+    *found = average[0].measureOffset + i;
     return (TRUE);
   }
Index: /trunk/Ohana/src/addstar/src/resort_catalog.c
===================================================================
--- /trunk/Ohana/src/addstar/src/resort_catalog.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/resort_catalog.c	(revision 38986)
@@ -55,15 +55,14 @@
       // earlier formats did not carry the objID or catID, so they are not available (we could assign on load, but we don't)
       myAssert(average[averageSeq[i]].catID == measure[measureSeq[i]].catID, "object / detection mismatch");
-# if (1)
       myAssert (average[averageSeq[i]].objID == measure[measureSeq[i]].objID, "object ID mismatch?");
-# endif
 # if (0)
       // myAssert(average[averageSeq[i]].objID == measure[measureSeq[i]].objID, "object / detection mismatch");
-      // check if the objID is correct. if not, check if it is byte-swapped (this has happened) and repair if so.  
-      // otherwise, abort
+
+      // Check some possible causes for objID failures
       if (average[averageSeq[i]].objID != measure[measureSeq[i]].objID) {
 	fprintf (stderr, "object / detection mismatch average.objID = %d, measure.objID = %d, catID: %d, detID: %d", 
 		 average[averageSeq[i]].objID, measure[measureSeq[i]].objID, 
 		 measure[measureSeq[i]].catID, measure[measureSeq[i]].detID);
+	// is the byte-swapped value the correct objID?
 	int objIDalt = measure[measureSeq[i]].objID;
 	char *byte = (char *) &objIDalt;
@@ -72,11 +71,12 @@
 	tmp = byte[1]; byte[1] = byte[2]; byte[2] = tmp;
 	if (average[averageSeq[i]].objID == objIDalt) {
-	  fprintf (stderr, "objID is byte-swapped, repairing\n");
-	  measure[measureSeq[i]].objID = average[averageSeq[i]].objID; // XXX I don't really like this...
-	} else if (measure[measureSeq[i]].objID == 0) {
-	  fprintf (stderr, "objID is 0, repairing\n");
-	  measure[measureSeq[i]].objID = average[averageSeq[i]].objID; // XXX I don't really like this...
+	  myAbort ("measure.objID is byte-swapped, consider repairing\n");
+	  // measure[measureSeq[i]].objID = average[averageSeq[i]].objID; // XXX I don't really like this...
+	} 
+	if (measure[measureSeq[i]].objID == 0) {
+	  myAbort ("measure.objID is 0, repairing\n");
+	  // measure[measureSeq[i]].objID = average[averageSeq[i]].objID; // XXX I don't really like this...
 	} else {
-	  myAbort ("objID is NOT byte-swapped, aborting\n");
+	  myAbort ("objID is NOT byte-swapped and NOT 0, aborting\n");
 	}
       }
Index: /trunk/Ohana/src/addstar/src/resort_threaded.c
===================================================================
--- /trunk/Ohana/src/addstar/src/resort_threaded.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/resort_threaded.c	(revision 38986)
@@ -81,7 +81,8 @@
     // write out catalog, if appropriate
     SetProtect (TRUE);
-    dvo_catalog_save (&catalog, VERBOSE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
     SetProtect (FALSE);
-    dvo_catalog_unlock (&catalog);
+
     dvo_catalog_free (&catalog);
     threadData->state = TS_DONE;
Index: /trunk/Ohana/src/addstar/src/resort_unthreaded.c
===================================================================
--- /trunk/Ohana/src/addstar/src/resort_unthreaded.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/resort_unthreaded.c	(revision 38986)
@@ -52,7 +52,8 @@
     // write out catalog, if appropriate
     SetProtect (TRUE);
-    dvo_catalog_save (&catalog, VERBOSE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
     SetProtect (FALSE);
-    dvo_catalog_unlock (&catalog);
+
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/addstar/src/sedstar.c
===================================================================
--- /trunk/Ohana/src/addstar/src/sedstar.c	(revision 38985)
+++ /trunk/Ohana/src/addstar/src/sedstar.c	(revision 38986)
@@ -12,4 +12,5 @@
 
   // need to construct these options with args_load2mass...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_sedstar (argc, argv, options);
@@ -64,6 +65,8 @@
     SEDfitCatalog (&outcatalog, &incatalog, sedtable);
     
-    dvo_catalog_save (&outcatalog, VERBOSE);
-    dvo_catalog_unlock (&outcatalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&outcatalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", outcatalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&outcatalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", outcatalog.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&outcatalog);
 
Index: /trunk/Ohana/src/delstar/src/Shutdown.c
===================================================================
--- /trunk/Ohana/src/delstar/src/Shutdown.c	(revision 38985)
+++ /trunk/Ohana/src/delstar/src/Shutdown.c	(revision 38986)
@@ -21,6 +21,4 @@
   va_end (argp);
 
-  SetProtect (TRUE);
-  if (db) gfits_db_close (db);
   fprintf (stderr, "ERROR: delstar halted\n");
   exit (1);
Index: /trunk/Ohana/src/delstar/src/delete_duplicate_images.c
===================================================================
--- /trunk/Ohana/src/delstar/src/delete_duplicate_images.c	(revision 38985)
+++ /trunk/Ohana/src/delstar/src/delete_duplicate_images.c	(revision 38986)
@@ -131,8 +131,10 @@
 
     if (UPDATE) {
+      SetProtect (TRUE);
       dvo_catalog_save_complete (&catalog, VERBOSE2);
     }
-
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/delstar/src/delete_duplicate_measures.c
===================================================================
--- /trunk/Ohana/src/delstar/src/delete_duplicate_measures.c	(revision 38985)
+++ /trunk/Ohana/src/delstar/src/delete_duplicate_measures.c	(revision 38986)
@@ -66,13 +66,15 @@
       // skip if nothing was deleted
       if (UPDATE) {
-	if (!dvo_catalog_backup (&catalog, TRUE)) {
+	if (!dvo_catalog_backup (&catalog, "~", TRUE)) {
 	  fprintf (stderr, "ERROR: failed to make backup for catalog %s\n", catalog.filename);
 	  exit (1);
 	}
+	SetProtect (TRUE);
 	dvo_catalog_save_complete (&catalog, VERBOSE2);
       }
     }
-
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/delstar/src/delete_fix_LAP.c
===================================================================
--- /trunk/Ohana/src/delstar/src/delete_fix_LAP.c	(revision 38985)
+++ /trunk/Ohana/src/delstar/src/delete_fix_LAP.c	(revision 38986)
@@ -68,8 +68,10 @@
     int noChange = (NaverageStart == catalog.Naverage) && (NmeasureStart == catalog.Nmeasure);
     if (UPDATE && !noChange) {
+      SetProtect (TRUE);
       dvo_catalog_save_complete (&catalog, VERBOSE2);
     }
-
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/delstar/src/delete_fix_LAP_edges_delete.c
===================================================================
--- /trunk/Ohana/src/delstar/src/delete_fix_LAP_edges_delete.c	(revision 38985)
+++ /trunk/Ohana/src/delstar/src/delete_fix_LAP_edges_delete.c	(revision 38986)
@@ -117,9 +117,11 @@
     if (UPDATE && !noChange) {
       // XXX save a backup copy first
-      // dvo_catalog_backup (&catalog, TRUE);
+      // dvo_catalog_backup (&catalog, "~", TRUE);
+      SetProtect (TRUE);
       dvo_catalog_save_complete (&catalog, VERBOSE2);
     }
-
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/delstar/src/delete_imagefile.c
===================================================================
--- /trunk/Ohana/src/delstar/src/delete_imagefile.c	(revision 38985)
+++ /trunk/Ohana/src/delstar/src/delete_imagefile.c	(revision 38986)
@@ -48,6 +48,8 @@
     find_matches (&catalog, image[0].photcode, start, stop);
 
-    dvo_catalog_save (&catalog, VERBOSE);
-    dvo_catalog_unlock (&catalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/delstar/src/delete_imagename.c
===================================================================
--- /trunk/Ohana/src/delstar/src/delete_imagename.c	(revision 38985)
+++ /trunk/Ohana/src/delstar/src/delete_imagename.c	(revision 38986)
@@ -62,6 +62,8 @@
       find_matches (&catalog, image[j].photcode, start, stop);
 
+      SetProtect (TRUE);
       dvo_catalog_save_complete (&catalog, VERBOSE);
       dvo_catalog_unlock (&catalog);
+      SetProtect (FALSE);
       dvo_catalog_free (&catalog);
     }
Index: /trunk/Ohana/src/delstar/src/delete_photcodes.c
===================================================================
--- /trunk/Ohana/src/delstar/src/delete_photcodes.c	(revision 38985)
+++ /trunk/Ohana/src/delstar/src/delete_photcodes.c	(revision 38986)
@@ -60,6 +60,8 @@
 
     delete_photcodes_catalog (&catalog, photcodes, Nphotcodes);
+    SetProtect (TRUE);
     dvo_catalog_save_complete (&catalog, VERBOSE2);
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/delstar/src/delete_photcodes_single.c
===================================================================
--- /trunk/Ohana/src/delstar/src/delete_photcodes_single.c	(revision 38985)
+++ /trunk/Ohana/src/delstar/src/delete_photcodes_single.c	(revision 38986)
@@ -28,6 +28,8 @@
 
   delete_photcodes_catalog (&catalog, photcodes, Nphotcodes);
+  SetProtect (TRUE);
   dvo_catalog_save_complete (&catalog, VERBOSE2);
   dvo_catalog_unlock (&catalog);
+  SetProtect (FALSE);
   dvo_catalog_free (&catalog);
   return TRUE;
Index: /trunk/Ohana/src/delstar/src/delete_times.c
===================================================================
--- /trunk/Ohana/src/delstar/src/delete_times.c	(revision 38985)
+++ /trunk/Ohana/src/delstar/src/delete_times.c	(revision 38986)
@@ -77,6 +77,8 @@
 
     find_matches (&catalog, code, START, END);
-    dvo_catalog_save (&catalog, VERBOSE);
-    dvo_catalog_unlock (&catalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/dvolens/include/dvolens.h
===================================================================
--- /trunk/Ohana/src/dvolens/include/dvolens.h	(revision 38985)
+++ /trunk/Ohana/src/dvolens/include/dvolens.h	(revision 38986)
@@ -68,5 +68,5 @@
 int           main                    PROTO((int argc, char **argv));
 
-void          update_objects          PROTO(());
+void          update_objects          PROTO((void));
 int           update_objects_parallel PROTO((SkyList *sky));
 int           update_objects_catalog  PROTO((Catalog *catalog));
Index: /trunk/Ohana/src/dvolens/src/dvolens.c
===================================================================
--- /trunk/Ohana/src/dvolens/src/dvolens.c	(revision 38985)
+++ /trunk/Ohana/src/dvolens/src/dvolens.c	(revision 38986)
@@ -4,4 +4,5 @@
 
   // get configuration info, args
+  SetSignals ();
   DvoLensMode mode = initialize (argc, argv);
   if (!mode) exit (2);
Index: /trunk/Ohana/src/dvolens/src/update_objects.c
===================================================================
--- /trunk/Ohana/src/dvolens/src/update_objects.c	(revision 38985)
+++ /trunk/Ohana/src/dvolens/src/update_objects.c	(revision 38986)
@@ -94,6 +94,6 @@
 
     SetProtect (TRUE);
-    dvo_catalog_save (&catalog, VERBOSE); 
-    dvo_catalog_unlock (&catalog);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
     SetProtect (FALSE);
 
Index: /trunk/Ohana/src/dvomerge/Makefile
===================================================================
--- /trunk/Ohana/src/dvomerge/Makefile	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/Makefile	(revision 38986)
@@ -40,6 +40,6 @@
 $(SRC)/dvo_image_merge_dbs.$(ARCH).o \
 $(SRC)/IDmapIO.$(ARCH).o \
+$(SRC)/ConfigInit.$(ARCH).o \
 $(SRC)/SetSignals.$(ARCH).o \
-$(SRC)/ConfigInit.$(ARCH).o \
 $(SRC)/Shutdown.$(ARCH).o \
 $(SRC)/help.$(ARCH).o \
@@ -51,4 +51,5 @@
 $(SRC)/replace_match.$(ARCH).o \
 $(SRC)/replace_tycho.$(ARCH).o \
+$(SRC)/repair_catalog_by_objID.$(ARCH).o \
 $(SRC)/merge_catalogs_new.$(ARCH).o \
 $(SRC)/merge_catalogs_old.$(ARCH).o
@@ -75,4 +76,5 @@
 $(SRC)/replace_match.$(ARCH).o \
 $(SRC)/replace_tycho.$(ARCH).o \
+$(SRC)/repair_catalog_by_objID.$(ARCH).o \
 $(SRC)/merge_catalogs_new.$(ARCH).o \
 $(SRC)/merge_catalogs_old.$(ARCH).o
@@ -122,4 +124,5 @@
 $(SRC)/dvorepair.$(ARCH).o \
 $(SRC)/dvorepairFixCPT.$(ARCH).o \
+$(SRC)/dvorepairFixWarpIDs.$(ARCH).o \
 $(SRC)/dvorepairImagesVsMeasures.$(ARCH).o \
 $(SRC)/dvorepairDeleteImageList.$(ARCH).o \
@@ -127,8 +130,12 @@
 $(SRC)/dvorepairDeleteImagesByExternID.$(ARCH).o \
 $(SRC)/dvorepairFixImages.$(ARCH).o \
+$(SRC)/dvorepair_by_objID.$(ARCH).o \
+$(SRC)/repair_catalog_by_objID.$(ARCH).o \
 $(SRC)/psps_ids.$(ARCH).o \
 $(SRC)/LoadImages.$(ARCH).o \
 $(SRC)/ReadDeleteList.$(ARCH).o \
 $(SRC)/ReadDeleteListExternID.$(ARCH).o \
+$(SRC)/SetSignals.$(ARCH).o \
+$(SRC)/Shutdown.$(ARCH).o \
 $(SRC)/myIndex.$(ARCH).o \
 $(SRC)/match_image.$(ARCH).o \
@@ -140,4 +147,6 @@
 
 DVOVERIFY = \
+$(SRC)/SetSignals.$(ARCH).o \
+$(SRC)/Shutdown.$(ARCH).o \
 $(SRC)/dvoverify.$(ARCH).o \
 $(SRC)/dvoverify_args.$(ARCH).o \
@@ -149,4 +158,6 @@
 
 DVOVERIFY_CLIENT = \
+$(SRC)/SetSignals.$(ARCH).o \
+$(SRC)/Shutdown.$(ARCH).o \
 $(SRC)/dvoverify_client.$(ARCH).o \
 $(SRC)/dvoverify_args.$(ARCH).o \
@@ -158,4 +169,6 @@
 
 DVOUTILS = \
+$(SRC)/SetSignals.$(ARCH).o \
+$(SRC)/Shutdown.$(ARCH).o \
 $(SRC)/dvoutils.$(ARCH).o \
 $(SRC)/dvoutils_args.$(ARCH).o \
Index: /trunk/Ohana/src/dvomerge/include/dvomerge.h
===================================================================
--- /trunk/Ohana/src/dvomerge/include/dvomerge.h	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/include/dvomerge.h	(revision 38986)
@@ -47,4 +47,5 @@
 
 int    MATCHED_TABLES;
+int    REPAIR_BY_OBJID;
 
 char *SINGLE_CPT;
@@ -202,5 +203,5 @@
 int        dvomergeUpdate_catalogs PROTO((char *input, char *output, SkyTable *outsky, SkyList *inlist, int NsecfiltInput, int NsecfiltOutput, IDmapType *IDmap, int *secfiltMap));
 
-int        replace_match           PROTO((Average *average_out, Measure *measure_out, Average *average_in, Measure *measure_in));
+int        replace_match           PROTO((Average *average_out, Measure *measure_out, off_t *next_meas, Average *average_in, Measure *measure_in));
 
 int        IDmapSave               PROTO((char *filename, IDmapType *IDmap));
@@ -241,3 +242,8 @@
 
 void replace_tycho_init ();
-int  replace_tycho (Average *averageInp, Measure *measureInp, Average *averageOut, Measure *measureOut);
+int  replace_tycho (Average *averageInp, Measure *measureInp, off_t *next_meas, Average *averageOut, Measure *measureOut);
+int repair_catalog_by_objID (Catalog *catalog);
+
+int dvorepair_by_objID (int argc, char **argv);
+int dvorepairFixWarpIDs (int argc, char **argv);
+
Index: /trunk/Ohana/src/dvomerge/include/dvoutils.h
===================================================================
--- /trunk/Ohana/src/dvomerge/include/dvoutils.h	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/include/dvoutils.h	(revision 38986)
@@ -22,4 +22,10 @@
 } DVOUTILS_OP_TYPE;
 
+typedef struct {
+  int   *externID;
+  short *photcode;
+  int Nimages;
+} ImageData;
+
 int VERBOSE;
 int DVOUTILS_OP;
@@ -30,5 +36,12 @@
 int dvoutils_args (int *argc, char **argv);
 int dvoutils_uniq_images (char *filename);
-int *dvoutils_load_image_index (char *filename, int *nindex);
+
+ImageData *dvoutils_load_image_index (char *filename);
 
 Image *dvoutils_load_image_table (char *filename, int *nimage);
+
+int        SetSignals             PROTO((void));
+void       SetProtect             PROTO((int mode));
+void       TrapSignal             PROTO((int sig));
+int        Shutdown               PROTO((char *format, ...)) OHANA_FORMAT(printf, 1, 2);
+
Index: /trunk/Ohana/src/dvomerge/include/dvoverify.h
===================================================================
--- /trunk/Ohana/src/dvomerge/include/dvoverify.h	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/include/dvoverify.h	(revision 38986)
@@ -37,4 +37,6 @@
 int    LIST_MISSING;
 
+int    IGNORE_SORTED_STATE;
+
 SkyRegion UserPatch;
 
@@ -62,2 +64,8 @@
 
 void FreeImageIDs (void);
+
+int        SetSignals             PROTO((void));
+void       SetProtect             PROTO((int mode));
+void       TrapSignal             PROTO((int sig));
+int        Shutdown               PROTO((char *format, ...)) OHANA_FORMAT(printf, 1, 2);
+
Index: /trunk/Ohana/src/dvomerge/src/LoadCatalog.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/LoadCatalog.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/LoadCatalog.c	(revision 38986)
@@ -9,5 +9,7 @@
 
   // always load all of the data (if any exists)
-  catalog[0].catflags = DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE | DVO_LOAD_MISSING | DVO_LOAD_SECFILT | DVO_LOAD_LENSING | DVO_LOAD_LENSOBJ | DVO_LOAD_STARPAR | DVO_LOAD_GALPHOT;
+  // XXXX TEMP HACK : skip GALPHOT
+  // XXXX catalog[0].catflags = DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE | DVO_LOAD_MISSING | DVO_LOAD_SECFILT | DVO_LOAD_LENSING | DVO_LOAD_LENSOBJ | DVO_LOAD_STARPAR | DVO_LOAD_GALPHOT;
+  catalog[0].catflags = DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE | DVO_LOAD_MISSING | DVO_LOAD_SECFILT | DVO_LOAD_LENSING | DVO_LOAD_LENSOBJ | DVO_LOAD_STARPAR;
   
   catalog[0].catformat = dvo_catalog_catformat (CATFORMAT);  // set the default catformat from config data
Index: /trunk/Ohana/src/dvomerge/src/ReadDeleteListExternID.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/ReadDeleteListExternID.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/ReadDeleteListExternID.c	(revision 38986)
@@ -47,7 +47,7 @@
       // confirm we have 9 fields broken by 8 spaces:
       space = c0; // pointer to track the space-separated words
-      indexPoint = c0; // pointer to the ID on this line
+      indexPoint = strchr(c0, ' '); // pointer to the ID on this line
 
-      for (j = 0; j < 8; j++) {
+      for (j = 0; j < 9; j++) {
 	space = strchr(space, ' '); 
 	if (!space) {
@@ -62,5 +62,5 @@
       indexList[Nindex] = index;
 
-      // fprintf (stderr, "index: %d, line: %s\n", index, c0);
+      fprintf (stderr, "index: %d, line: %s\n", index, c0);
 
       Nindex ++;
Index: /trunk/Ohana/src/dvomerge/src/args.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/args.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/args.c	(revision 38986)
@@ -94,4 +94,10 @@
   if ((N = get_argument (*argc, argv, "-replace-tycho"))) {
     REPLACE_TYCHO = TRUE;
+    remove_argument (N, argc, argv);
+  }
+
+  REPAIR_BY_OBJID = FALSE;
+  if ((N = get_argument (*argc, argv, "-repair-by-objid"))) {
+    REPAIR_BY_OBJID = TRUE;
     remove_argument (N, argc, argv);
   }
@@ -266,4 +272,10 @@
   }
 
+  REPAIR_BY_OBJID = FALSE;
+  if ((N = get_argument (*argc, argv, "-repair-by-objid"))) {
+    REPAIR_BY_OBJID = TRUE;
+    remove_argument (N, argc, argv);
+  }
+
   NTHREADS = 0;
   if ((N = get_argument (*argc, argv, "-threads"))) {
Index: /trunk/Ohana/src/dvomerge/src/build_links.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/build_links.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/build_links.c	(revision 38986)
@@ -145,8 +145,10 @@
     n = average[i].measureOffset;
     average[i].measureOffset = N;
+    int myObjID = average[i].objID;
     for (k = 0; k < average[i].Nmeasure; k++, N++) {
       if (n == -1) abort();
       tmpmeasure[N] = measure[n]; 
-      if (measure[n].averef != i) abort();
+      myAssert (measure[n].averef == i, "error in averef?");
+      myAssert (measure[n].objID == myObjID, "error in objID?");
       tmpmeasure[N].averef = i;
       n = next_meas[n];
Index: /trunk/Ohana/src/dvomerge/src/dvoconvert.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvoconvert.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvoconvert.c	(revision 38986)
@@ -94,4 +94,10 @@
 
     outcatalog.catflags = DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE | DVO_LOAD_MISSING | DVO_LOAD_SECFILT;
+
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&outcatalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", outcatalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&outcatalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", outcatalog.filename); exit (1); }
+    SetProtect (FALSE);
+
     dvo_catalog_save (&outcatalog, VERBOSE);
     dvo_catalog_unlock (&outcatalog);
Index: /trunk/Ohana/src/dvomerge/src/dvomergeContinue.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvomergeContinue.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvomergeContinue.c	(revision 38986)
@@ -133,11 +133,8 @@
       // if we receive a signal which would cause us to exit, wait until the full catalog is written
       SetProtect (TRUE);
-      if (!dvo_catalog_save (&outcatalog, VERBOSE)) {
-	fprintf (stderr, "ERROR: failed to save catalog %s\n", outlist[0].filename[j]);
-	exit (1);
-      }
+      if (!dvo_catalog_save (&outcatalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", outcatalog.filename); exit (1); }
+      if (!dvo_catalog_unlock (&outcatalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", outcatalog.filename); exit (1); }
       SetProtect (FALSE);
 
-      dvo_catalog_unlock (&outcatalog);
       dvo_catalog_free (&outcatalog);
 
Index: /trunk/Ohana/src/dvomerge/src/dvomergeContinue_threaded.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvomergeContinue_threaded.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvomergeContinue_threaded.c	(revision 38986)
@@ -77,5 +77,10 @@
       SetProtect (TRUE);
       if (!dvo_catalog_save (&outcatalog, VERBOSE)) {
-	fprintf (stderr, "ERROR: failed to save catalog %s\n", outlist[0].filename[j]);
+	fprintf (stderr, "ERROR: failed to save catalog %s\n", outcatalog.filename);
+	threadData->state = TS_FAIL;
+	continue;
+      }
+      if (!dvo_catalog_unlock (&outcatalog)) {
+	fprintf (stderr, "ERROR: failed to unlock catalog %s\n", outcatalog.filename);
 	threadData->state = TS_FAIL;
 	continue;
@@ -83,5 +88,4 @@
       SetProtect (FALSE);
 
-      dvo_catalog_unlock (&outcatalog);
       dvo_catalog_free (&outcatalog);
 
Index: /trunk/Ohana/src/dvomerge/src/dvomergeCreate.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvomergeCreate.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvomergeCreate.c	(revision 38986)
@@ -178,6 +178,9 @@
     SkyListFree (inlist);
 
-    dvo_catalog_save (&outcatalog, VERBOSE);
-    dvo_catalog_unlock (&outcatalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&outcatalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", outcatalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&outcatalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", outcatalog.filename); exit (1); }
+    SetProtect (FALSE);
+
     dvo_catalog_free (&outcatalog);
   }
Index: /trunk/Ohana/src/dvomerge/src/dvomergeFromList.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvomergeFromList.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvomergeFromList.c	(revision 38986)
@@ -147,8 +147,6 @@
     // if we receive a signal which would cause us to exit, wait until the full catalog is written
     SetProtect (TRUE);
-    if (!dvo_catalog_save (&outcatalog, VERBOSE)) {
-      fprintf (stderr, "ERROR: failed to save catalog %s\n", outputfile);
-      exit (1);
-    }
+    if (!dvo_catalog_save (&outcatalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save catalog %s\n", outcatalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&outcatalog)) { fprintf (stderr, "ERROR: failed to unlock catalog %s\n", outcatalog.filename); exit (1); }
     SetProtect (FALSE);
     
@@ -158,5 +156,4 @@
     OutputStatusFree (outstat, 1);
 
-    dvo_catalog_unlock (&outcatalog);
     dvo_catalog_free (&outcatalog);
     
Index: /trunk/Ohana/src/dvomerge/src/dvomergeUpdate_catalogs.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvomergeUpdate_catalogs.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvomergeUpdate_catalogs.c	(revision 38986)
@@ -177,14 +177,26 @@
       LoadCatalog (&outcatalog, outlist[0].regions[j], outcatalog.filename, "w", NsecfiltOutput);
 
-      // if no catalog already exists, use the input catalog to define the format or the specified format
       if (UPDATE_CATFORMAT) {
 	outcatalog.catformat = dvo_catalog_catformat (UPDATE_CATFORMAT);
       } else {
-	outcatalog.catformat = incatalog.catformat;
-      }
+	// IF no catalog already exists, use the input catalog to define the format
+	if (outcatalog.Naverage_disk == 0) {
+	  outcatalog.catformat = incatalog.catformat;
+	}
+      }
+
       if (UPDATE_CATCOMPRESS) {
 	outcatalog.catcompress = dvo_catalog_catcompress (UPDATE_CATCOMPRESS);
       } else {
-	outcatalog.catcompress = incatalog.catcompress;
+	// IF no catalog already exists, use the input catalog to define the compression
+	if (outcatalog.Naverage_disk == 0) {
+	  outcatalog.catcompress = incatalog.catcompress;
+	}
+      }
+
+      if (REPAIR_BY_OBJID) {
+	// For gpc1 / PV3, I broke some catalogs with dvomerge -replace: the last object can
+	// contaminate the first set of new measurements
+	repair_catalog_by_objID (&outcatalog);
       }
 
@@ -195,5 +207,5 @@
       }
 
-      if (!dvo_catalog_backup (&outcatalog, TRUE)) {
+      if (!dvo_catalog_backup (&outcatalog, "~", TRUE)) {
 	fprintf (stderr, "ERROR: failed to make backup for catalog %s\n", outlist[0].filename[j]);
 	exit (1);
@@ -202,16 +214,9 @@
       // if we receive a signal which would cause us to exit, wait until the full catalog is written
       SetProtect (TRUE);
-      if (!dvo_catalog_save (&outcatalog, VERBOSE)) {
-	fprintf (stderr, "ERROR: failed to save catalog %s\n", outlist[0].filename[j]);
-	exit (1);
-      }
+      if (!dvo_catalog_save (&outcatalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save catalog %s\n", outcatalog.filename); exit (1); }
+      if (!dvo_catalog_unlock (&outcatalog)) { fprintf (stderr, "ERROR: failed to unlock catalog %s\n", outcatalog.filename); exit (1); }
       SetProtect (FALSE);
 
-      if (!dvo_catalog_unlock (&outcatalog)) {
-	fprintf (stderr, "ERROR: failed to unlock catalog %s\n", outlist[0].filename[j]);
-	exit (1);
-      }
-
-      if (!dvo_catalog_unlink_backup (&outcatalog, TRUE)) {
+      if (!dvo_catalog_unlink_backup (&outcatalog, "~", TRUE)) {
 	fprintf (stderr, "WARNING: failed to remove backup for catalog %s\n", outlist[0].filename[j]);
       }
@@ -282,25 +287,25 @@
 
     // options / arguments that can affect relastro_client -update-objects:
-    char command[DVO_MAX_PATH];
-    snprintf (command, DVO_MAX_PATH, "dvomerge_client %s into %s -hostID %d -hostdir %s -region %f %f %f %f -D ADDSTAR_RADIUS %f", 
-	      absinput, absoutput, group->hosts[i][0].hostID, group->hosts[i][0].pathname, 
-	      UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax, RADIUS
-      );
-
-    char tmpline[DVO_MAX_PATH];
-    if (VERBOSE)             { snprintf (tmpline, DVO_MAX_PATH, "%s -v",                command); strcpy (command, tmpline); }
-    if (VERIFY)              { snprintf (tmpline, DVO_MAX_PATH, "%s -verify",           command); strcpy (command, tmpline); }
-    if (VERIFY_CATALOG_ONLY) { snprintf (tmpline, DVO_MAX_PATH, "%s -verify-catalogs",  command); strcpy (command, tmpline); }
-    if (REPLACE_BY_PHOTCODE) { snprintf (tmpline, DVO_MAX_PATH, "%s -replace",          command); strcpy (command, tmpline); }
-    if (REPLACE_TYCHO)       { snprintf (tmpline, DVO_MAX_PATH, "%s -replace-tycho",    command); strcpy (command, tmpline); }
-    if (PARALLEL_INPUT)      { snprintf (tmpline, DVO_MAX_PATH, "%s -parallel-input",   command); strcpy (command, tmpline); }
-    if (FORCE_MERGE)         { snprintf (tmpline, DVO_MAX_PATH, "%s -force-merge",      command); strcpy (command, tmpline); }
-    if (MATCHED_TABLES)      { snprintf (tmpline, DVO_MAX_PATH, "%s -matched-tables",   command); strcpy (command, tmpline); }
-    if (UPDATE_CATFORMAT)    { snprintf (tmpline, DVO_MAX_PATH, "%s -update-catformat %s", command, UPDATE_CATFORMAT); strcpy (command, tmpline); }
+    char *command = NULL;
+    strextend (&command, "dvomerge_client %s into %s -hostID %d -hostdir %s -region %f %f %f %f -D ADDSTAR_RADIUS %f", 
+	       absinput, absoutput, group->hosts[i][0].hostID, group->hosts[i][0].pathname, 
+	       UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax, RADIUS);
+
+    if (VERBOSE)             { strextend (&command, "-v"); }
+    if (VERIFY)              { strextend (&command, "-verify"); }
+    if (VERIFY_CATALOG_ONLY) { strextend (&command, "-verify-catalogs"); }
+    if (REPLACE_BY_PHOTCODE) { strextend (&command, "-replace"); }
+    if (REPLACE_TYCHO)       { strextend (&command, "-replace-tycho"); }
+    if (PARALLEL_INPUT)      { strextend (&command, "-parallel-input"); }
+    if (FORCE_MERGE)         { strextend (&command, "-force-merge"); }
+    if (MATCHED_TABLES)      { strextend (&command, "-matched-tables"); }
+    if (UPDATE_CATFORMAT)    { strextend (&command, "-update-catformat %s", UPDATE_CATFORMAT); }
+    if (UPDATE_CATCOMPRESS)  { strextend (&command, "-update-catcompress %s", UPDATE_CATCOMPRESS); }
+    if (REPAIR_BY_OBJID)     { strextend (&command, "-repair-by-objid"); }
 
     // add some config variables:
-    snprintf (tmpline, DVO_MAX_PATH, "%s -D CATMODE %s",    command, CATMODE);   strcpy (command, tmpline);
-    snprintf (tmpline, DVO_MAX_PATH, "%s -D CATFORMAT %s",  command, CATFORMAT); strcpy (command, tmpline);
-    snprintf (tmpline, DVO_MAX_PATH, "%s -D SKY_DEPTH %d",  command, SKY_DEPTH); strcpy (command, tmpline);
+    strextend (&command, "-D CATMODE %s", CATMODE);
+    strextend (&command, "-D CATFORMAT %s", CATFORMAT); 
+    strextend (&command, "-D SKY_DEPTH %d", SKY_DEPTH);
 
     fprintf (stderr, "command: %s\n", command);
Index: /trunk/Ohana/src/dvomerge/src/dvomergeUpdate_threaded.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvomergeUpdate_threaded.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvomergeUpdate_threaded.c	(revision 38986)
@@ -75,5 +75,10 @@
       SetProtect (TRUE);
       if (!dvo_catalog_save (&outcatalog, VERBOSE)) {
-	fprintf (stderr, "ERROR: failed to save catalog %s\n", outlist[0].filename[j]);
+	fprintf (stderr, "ERROR: failed to save catalog %s\n", outcatalog.filename);
+	threadData->state = TS_FAIL;
+	continue;
+      }
+      if (!dvo_catalog_unlock (&outcatalog)) {
+	fprintf (stderr, "ERROR: failed to save catalog %s\n", outcatalog.filename);
 	threadData->state = TS_FAIL;
 	continue;
@@ -81,5 +86,4 @@
       SetProtect (FALSE);
 
-      dvo_catalog_unlock (&outcatalog);
       dvo_catalog_free (&outcatalog);
 
Index: /trunk/Ohana/src/dvomerge/src/dvomerge_client.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvomerge_client.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvomerge_client.c	(revision 38986)
@@ -3,4 +3,5 @@
 int main (int argc, char **argv) {
 
+  SetSignals ();
   dvomerge_client_help (argc, argv);
   ConfigInit (&argc, argv);
@@ -83,6 +84,6 @@
   // loop over the populatable output tables; check for data in input in the corresponding regions
 
-  SetPhotcodeTable(NULL);
-  
+  if (REPLACE_TYCHO) replace_tycho_init();
+
   dvomergeUpdate_catalogs (input, output, outsky, inlist, NsecfiltInput, NsecfiltOutput, IDmap, secfiltMap);
 
Index: /trunk/Ohana/src/dvomerge/src/dvorepair.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvorepair.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvorepair.c	(revision 38986)
@@ -7,7 +7,11 @@
   // exit (2);
 
+  SetSignals ();
   dvorepair_help(argc, argv);
   
+  if (!strcmp(argv[1], "-fix-warp-ids")) dvorepairFixWarpIDs(argc, argv);
+
   if (!strcmp(argv[1], "-fix-cpt")) dvorepairFixCPT(argc, argv);
+  if (!strcmp(argv[1], "-fix-cpt-by-objID")) dvorepair_by_objID(argc, argv);
   // if (!strcmp(argv[1], "-fix-tables")) dvorepairFixTables(argc, argv);
   if (!strcmp(argv[1], "-images-vs-measures")) dvorepairImagesVsMeasures(argc, argv);
Index: /trunk/Ohana/src/dvomerge/src/dvorepairCPT.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvorepairCPT.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvorepairCPT.c	(revision 38986)
@@ -39,4 +39,6 @@
     exit (2);
   }
+
+  SetSignals ();
 
   imageFilename  = argv[1];
Index: /trunk/Ohana/src/dvomerge/src/dvorepairDeleteImagesByExternID.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvorepairDeleteImagesByExternID.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvorepairDeleteImagesByExternID.c	(revision 38986)
@@ -16,4 +16,7 @@
 int SaveImageTable (Image *image, off_t Nimage, char *catdir, FITS_DB *oldDB);
 Image *DeleteSelectedImages (Image *image, off_t Nimage, int *deleteImage, myIndexType *imageIDindex, off_t *NnewImage);
+int DeleteLensing (Catalog *catalog, myIndexType *imageIDindex, int *deleteImage, int *nDelete);
+int DeleteMeasure (Catalog *catalog, myIndexType *imageIDindex, int *deleteImage, int *nDelete);
+int RepairAverage (Catalog *catalog);
 
 int dvorepairDeleteImagesByExternID (int argc, char **argv) {
@@ -21,22 +24,11 @@
   FITS_DB db;  // database handle pointing to input image table
   
-  int i, j, N, NmeasureNew, Ndelete, Nvalid;
-  off_t Nimage, Nmeasure;
+  int i, N;
+  off_t Nimage;
   int nPass, raPass;
 
   Image *image;
-  Measure *measure;
-  Measure *measureNew;
-
-  char *cpmFilenameSrc = NULL;
-  char *cptFilenameSrc = NULL;
-  char *cpsFilenameSrc = NULL;
-  char *cpmFilenameTgt = NULL;
-  char *cptFilenameTgt = NULL;
-  char *cpsFilenameTgt = NULL;
-
   char *imageFilename = NULL;
-
-  DVOCatFormat catformat;
+  char filename[DVO_MAX_PATH];
 
   N = get_argument (argc, argv, "-delete-images-by-extern-id");
@@ -59,4 +51,10 @@
   char *catdir = argv[1];
   char *delList = argv[2];
+
+  sprintf (filename, "%s/Photcodes.dat", catdir);
+  if (!LoadPhotcodes (filename, NULL, FALSE)) {
+    fprintf (stderr, "error reading photcodes from %s\n", catdir);
+    exit (1);
+  }	
 
   // load the image data
@@ -196,12 +194,6 @@
   }
   
-  ALLOCATE(cpmFilenameSrc, char, strlen(catdir) + 64);
-  ALLOCATE(cptFilenameSrc, char, strlen(catdir) + 64);
-  ALLOCATE(cpsFilenameSrc, char, strlen(catdir) + 64);
-  ALLOCATE(cpmFilenameTgt, char, strlen(catdir) + 64);
-  ALLOCATE(cptFilenameTgt, char, strlen(catdir) + 64);
-  ALLOCATE(cpsFilenameTgt, char, strlen(catdir) + 64);
-
-  int NdeleteTotal = 0;
+  int NmeasureDelTotal = 0;
+  int NlensingDelTotal = 0;
 
   for (raPass = 0; raPass < nPass; raPass++) {
@@ -231,154 +223,63 @@
   
     // loop over the populated input regions
-    int Ncheck = 0;
     for (i = 0; i < inlist[0].Nregions; i++) {
       if (!inlist[0].regions[i][0].table) continue;
 
-      sprintf (cpmFilenameSrc, "%s/%s.cpm", catdir, inlist[0].regions[i][0].name);
-      sprintf (cptFilenameSrc, "%s/%s.cpt", catdir, inlist[0].regions[i][0].name);
-      sprintf (cpsFilenameSrc, "%s/%s.cps", catdir, inlist[0].regions[i][0].name);
-      sprintf (cpmFilenameTgt, "%s/%s.cpm.broken", catdir, inlist[0].regions[i][0].name);
-      sprintf (cptFilenameTgt, "%s/%s.cpt.broken", catdir, inlist[0].regions[i][0].name);
-      sprintf (cpsFilenameTgt, "%s/%s.cps.broken", catdir, inlist[0].regions[i][0].name);
-
-      Header cpmHeaderPHU;
-      Header cpmHeaderTBL;
-      FTable cpmFtable;
-
-      /*** read and examine the CPM file ***/
-      {
-	if (VERBOSE) fprintf (stderr, "check %s\n", cpmFilenameSrc);
-
-	cpmFtable.header = &cpmHeaderTBL;
-
-	// open cpm file
-	FILE *cpmFile = fopen(cpmFilenameSrc, "r");
-	if (!cpmFile) continue;
-	// myAssert(cpmFile, "failed to open cpm file");
-    
-	// load the cpm header
-	if (!gfits_fread_header (cpmFile, &cpmHeaderPHU)) {
-	  myAbort("failure to cpm header");
-	}
-
-	// move to TBL header
-	int Nbytes = cpmHeaderPHU.datasize + gfits_data_size (&cpmHeaderPHU);
-	fseeko (cpmFile, Nbytes, SEEK_SET);
-
-	// read cpm TBL header
-	if (!gfits_fread_header (cpmFile, &cpmHeaderTBL)) { 
-	  myAbort("can't read header for cpm table");
-	}
-
-	// read Measure table data : format is irrelevant here */
-	if (!gfits_fread_ftable_data (cpmFile, &cpmFtable, TRUE)) { 
-	  myAbort("can't read data for cpm table");
-	}
-
-	int NbytesPerRow;
-	gfits_scan(&cpmHeaderTBL, "NAXIS1", "%d", 1, &NbytesPerRow);
-
-	myAbort ("fix compression");
-
-	// this function can only handle PS1_V5 and later formats
-	// NOTE: FtableToMeasure (and equivalent) free the data associated with cpmFtable.
-	// We are left with the data in measure.
-	measure = FtableToMeasure (&cpmFtable, NULL, &Nmeasure, &catformat, FALSE);
-	myAssert(measure, "failed to convert ftable to measure data");
-    
-	Nvalid = (int)(cpmFtable.validsize / NbytesPerRow);
-	Nvalid = MIN(Nmeasure, Nvalid);
-
-	// close the input cpm file
-	fclose(cpmFile);
-
-	// allocate an output array of measures (to replace, if needed)
-	ALLOCATE (measureNew, Measure, Nvalid);
-
-	NmeasureNew = 0;
-	Ndelete = 0;
-
-	// examine all measurements: find ones that need to be deleted
-	for (j = 0; j < Nvalid; j++) {
-	  int imageID = measure[j].imageID;
-	  myAssert(imageID, "measure is missing an image ID");
-	  // XXX this case is valid if we have REF detections (no associated image)
-
-	  int N = myIndexGetEntry(imageIDindex, imageID);
-	  if (N < 0) {
-	    // this detection comes from a non-existant image, delete
-	    Ndelete ++;
-	    continue;
-	  }
-
-	  if (deleteImage[N]) {
-	    Ndelete ++;
-	    continue;
-	  }
-	  measureNew[NmeasureNew] = measure[j];
-	  NmeasureNew ++;
-	}
+      snprintf (filename, DVO_MAX_PATH, "%s/%s.cpt", catdir, inlist[0].regions[i][0].name);
+
+      Catalog catalog;
+
+      // set up the basic catalog info
+      dvo_catalog_init (&catalog, TRUE);
+      catalog.filename  = filename; // XXX only allow non-parallel dbs for now
+      catalog.catflags  = DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE | DVO_LOAD_SECFILT | DVO_LOAD_LENSING;
+      catalog.Nsecfilt  = GetPhotcodeNsecfilt ();
+      
+      if (!dvo_catalog_open (&catalog, inlist[0].regions[i], VERBOSE, "w")) {
+	fprintf (stderr, "ERROR: failure reading catalog %s\n", catalog.filename);
+	exit (1);
       }
-
-      NdeleteTotal += Ndelete;
-
-      // if we actually want to delete any measurements, write out a new cpm file
-      if (Ndelete > 0) {
-
-	fprintf (stderr, "deleting %d of %d (keep %d) detections from %s -> %s\n", (int) Ndelete, (int) Nvalid, (int) NmeasureNew, cpmFilenameSrc, cpmFilenameTgt);
+      if (!catalog.Naverage_disk) {
+	if (VERBOSE) fprintf (stderr, "no data in %s, skipping\n", catalog.filename);
+	dvo_catalog_unlock (&catalog);
+	dvo_catalog_free (&catalog);
+	continue;
+      }
       
-	// the CPT and CPS tables need to be regenerated.  This must happen first because, in the process, we also update measure->averef
-	// what about other tables?
-	RepairTableCPT_V1(cptFilenameSrc, cptFilenameTgt, cpsFilenameSrc, cpsFilenameTgt, measureNew, NmeasureNew, image, Nimage, imageIDindex, catformat);
-
-	// convert internal to external format 
-	if (!MeasureToFtable (&cpmFtable, NULL, measureNew, NmeasureNew, catformat, TRUE)) {
-	  myAbort("trouble converting format");
-	}
-
-	// rename the old cpm file:
-	if (rename (cpmFilenameSrc, cpmFilenameTgt)) {
-	  perror ("tried to rename file");
-	  exit (2);
-	}
-
-	// create and write the output file
-	FILE *cpmFile = fopen(cpmFilenameSrc, "w");
-	myAssert(cpmFile, "failed to open cpt file");
-	
-	// write PHU header
-	if (!gfits_fwrite_header (cpmFile, &cpmHeaderPHU)) {
-	  myAbort("can't write primary header");
-	}
-
-	Matrix matrix;
-
-	// write the PHU matrix; this is probably a NOP, do I have to keep it in?
-	gfits_create_matrix (&cpmHeaderPHU, &matrix);
-	if (!gfits_fwrite_matrix  (cpmFile, &matrix)) {
-	  myAbort("can't write primary matrix");
-	}
-	gfits_free_matrix (&matrix);
-	
-	// write the table data
-	if (!gfits_fwrite_ftable_range (cpmFile, &cpmFtable, 0, NmeasureNew, 0, NmeasureNew)) {
-	  myAbort("can't write table data");
-	}
-	fclose (cpmFile);
-
-	gfits_free_table (&cpmFtable);
-      } else {
-	if (VERBOSE) fprintf (stderr, "nothing to delete in %s\n", cpmFilenameSrc);
+      /*** delete the measure and lensing entries matching the list of imageIDs ***/
+      int NmeasureDel = 0;
+      DeleteMeasure (&catalog, imageIDindex, deleteImage, &NmeasureDel);
+
+      int NlensingDel = 0;
+      DeleteLensing (&catalog, imageIDindex, deleteImage, &NlensingDel);
+
+      fprintf (stderr, "deleting %d measure, %d lensing (keep %d, %d)\n", NmeasureDel, NlensingDel, (int) catalog.Nmeasure, (int) catalog.Nlensing);
+
+      if (!NmeasureDel && !NlensingDel) {
+	if (VERBOSE) fprintf (stderr, "nothing to delete in %s\n", catalog.filename);
+	dvo_catalog_unlock (&catalog);
+	dvo_catalog_free (&catalog);
+	continue;
       }
 
-      gfits_free_header (&cpmHeaderPHU);
-      gfits_free_header (&cpmHeaderTBL);
-      free (measure);
-      free (measureNew);
-
-      Ncheck ++;
-      if (Ncheck % 1000 == 0) {
-	fprintf (stderr, "%s...", inlist[0].regions[i][0].name);
+      NmeasureDelTotal += NmeasureDel;
+      NlensingDelTotal += NlensingDel;
+
+      // the CPT and CPS tables need to be regenerated.  This must happen first because, in the process, we also update measure->averef
+      // what about other tables?
+      RepairAverage (&catalog);
+
+      if (VERBOSE) fprintf (stderr, "saving catalog %s\n", catalog.filename);
+      
+      if (!dvo_catalog_backup (&catalog, ".undel", TRUE)) {
+	fprintf (stderr, "ERROR: failed to make backup for catalog %s\n", catalog.filename);
+	exit (1);
       }
+
+      SetProtect (TRUE);
+      if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+      if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+      SetProtect (FALSE);
+      dvo_catalog_free (&catalog);
     }
     fprintf (stderr, "\n");
@@ -386,5 +287,5 @@
   }
 
-  fprintf (stderr, "Deleted %d detections\n", NdeleteTotal);
+  fprintf (stderr, "Deleted %d measure, %d lensing detections\n", NmeasureDelTotal, NlensingDelTotal);
 
   off_t NnewImage;
@@ -400,14 +301,9 @@
   free (deleteIDs);
 
-  free(cpmFilenameSrc);
-  free(cptFilenameSrc);
-  free(cpsFilenameSrc);
-  free(cpmFilenameTgt);
-  free(cptFilenameTgt);
-  free(cpsFilenameTgt);
-
   SkyTableFree(insky);
 
   gfits_db_free (&db);
+
+  ohana_memcheck (TRUE);
 
   exit (0);
@@ -661,5 +557,12 @@
   gfits_scan (&cptHeaderPHU, "NSECFILT",     "%d",      1,  &Nsecfilt);
 
-  myAbort ("test for compression");
+  if (0) {
+    char compressMode[256];
+    if (gfits_scan (&cptHeaderTBL, "DVO_CMP", "%s", 1, compressMode)) {
+      if (strcmp (compressMode, "NONE")) {
+	myAbort ("fix compression");
+      }
+    }
+  }
 
   /* convert internal to external format */
@@ -774,2 +677,228 @@
 }
 
+int RepairAverage (Catalog *catalog) {
+
+  off_t i, j, Nave;
+
+  // average is sorted so averef is valid
+  // secfilt is also sorted so sequence is valid (but this is kind of moot since it will be re-calculated)
+  // average.measureOffset is NOT valid
+  // average.lensingOffset is NOT valid
+
+  Average *average = catalog->average;
+  Measure *measure = catalog->measure;
+  Lensing *lensing = catalog->lensing;
+  
+  // reset the values of average.Nmeasure, average.Nlensing
+  for (i = 0; i < catalog->Naverage; i++) {
+    average[i].Nmeasure = 0;
+    average[i].Nlensing = 0;
+  }
+
+  // re-calculate average.Nmeasure
+  for (i = 0; i < catalog->Nmeasure; i++) {
+    Nave = measure[i].averef;
+    myAssert (measure[i].objID == average[Nave].objID, "invalid measure:average match");
+    average[Nave].Nmeasure ++;
+  }
+    
+  // re-calculate average.Nlensing
+  for (i = 0; i < catalog->Nlensing; i++) {
+    Nave = lensing[i].averef;
+    myAssert (lensing[i].objID == average[Nave].objID, "invalid lensing:average match");
+    average[Nave].Nlensing ++;
+  }
+
+  // create a copy of the average table, keeping only the entries with Nmeasure & Nlensing > 0
+  ALLOCATE_PTR (averageNew, Average, catalog->Naverage);
+  ALLOCATE_PTR (averefNew,  int,     catalog->Naverage);
+
+  Nave = 0;
+  for (i = 0; i < catalog->Naverage; i++) {
+    averefNew[i] = -1;
+    if (!average[i].Nmeasure && !average[i].Nlensing) continue;
+
+    averageNew[Nave] = average[i];
+    averefNew[i] = Nave;
+    Nave ++;
+  }
+  off_t NaverageNew = Nave;
+
+  // update measure.averef values
+  for (i = 0; i < catalog->Nmeasure; i++) {
+    Nave = averefNew[measure[i].averef];
+    myAssert (Nave >= 0, "oops");
+    measure[i].averef = Nave;
+  }
+    
+  // update lensing.averef values
+  for (i = 0; i < catalog->Nlensing; i++) {
+    Nave = averefNew[lensing[i].averef];
+    myAssert (Nave >= 0, "oops");
+    lensing[i].averef = Nave;
+  }
+  
+  // XXX need to update measureOffset and lensingOffset
+
+  // measure[] should be blocked and sequential: 
+  // measure[i+1].averef >= measure[i].averef
+
+  // update average.measureOffset values
+  Nave = -1;
+  for (i = 0; i < catalog->Nmeasure; i++) {
+    if (measure[i].averef == Nave) continue;
+    Nave = measure[i].averef;
+    averageNew[Nave].measureOffset = i;
+  }
+
+  // update average.lensingOffset values
+  Nave = -1;
+  for (i = 0; i < catalog->Nlensing; i++) {
+    if (lensing[i].averef == Nave) continue;
+    Nave = lensing[i].averef;
+    averageNew[Nave].lensingOffset = i;
+  }
+
+  // check the result (measure -> average)
+  for (i = 0; i < catalog->Nmeasure; i++) {
+    Nave = measure[i].averef;
+    myAssert(averageNew[Nave].objID == measure[i].objID, "objIDs do not match");
+    myAssert(averageNew[Nave].catID == measure[i].catID, "catIDs do not match");
+  }
+  // check the result (average -> measure)
+  for (i = 0; i < NaverageNew; i++) {
+    int m = averageNew[i].measureOffset;
+    for (j = 0; j < averageNew[i].Nmeasure; j++) {
+      myAssert(averageNew[i].objID == measure[j+m].objID, "objIDs do not match");
+      myAssert(averageNew[i].catID == measure[j+m].catID, "catIDs do not match");
+      myAssert(measure[j+m].averef == i, "averef broken");
+    }
+  }
+
+  // check the result (lensing -> average)
+  for (i = 0; i < catalog->Nlensing; i++) {
+    Nave = lensing[i].averef;
+    myAssert(averageNew[Nave].objID == lensing[i].objID, "objIDs do not match");
+    myAssert(averageNew[Nave].catID == lensing[i].catID, "catIDs do not match");
+  }
+  // check the result (average -> lensing)
+  for (i = 0; i < NaverageNew; i++) {
+    int m = averageNew[i].lensingOffset;
+    for (j = 0; j < averageNew[i].Nlensing; j++) {
+      myAssert(averageNew[i].objID == lensing[j+m].objID, "objIDs do not match");
+      myAssert(averageNew[i].catID == lensing[j+m].catID, "catIDs do not match");
+      myAssert(lensing[j+m].averef == i, "averef broken");
+    }
+  }
+
+  free (catalog->secfilt);
+  ALLOCATE (catalog->secfilt, SecFilt, NaverageNew*catalog->Nsecfilt);
+  for (i = 0; i < NaverageNew*catalog->Nsecfilt; i++) {
+    dvo_secfilt_init (&catalog->secfilt[i], SECFILT_RESET_ALL);
+  }
+
+  free (averefNew);
+  free (catalog->average);
+  catalog->average = averageNew;
+  catalog->Naverage = NaverageNew;
+  catalog->Naverage_disk = NaverageNew;
+
+  catalog->Nsecfilt_disk = NaverageNew*catalog->Nsecfilt;
+
+  return (TRUE);
+}
+
+// delete measure entries
+int DeleteMeasure (Catalog *catalog, myIndexType *imageIDindex, int *deleteImage, int *nDelete) {
+
+  int j;
+
+  Measure *measure = catalog->measure;
+
+  // allocate an output array of measures (to replace, if needed)
+  ALLOCATE_PTR (measureNew, Measure, catalog->Nmeasure);
+
+  int NmeasureNew = 0;
+  int NmeasureDel = 0;
+
+  // examine all measurements: find ones that need to be deleted
+  for (j = 0; j < catalog->Nmeasure; j++) {
+    int imageID = measure[j].imageID;
+    myAssert(imageID, "measure is missing an image ID");
+    // XXX this case is valid if we have REF detections (no associated image)
+
+    int N = myIndexGetEntry(imageIDindex, imageID);
+    if (N < 0) {
+      // this detection comes from a non-existant image; delete
+      NmeasureDel ++;
+      continue;
+    }
+
+    // measure matches a bad image; delete
+    if (deleteImage[N]) {
+      NmeasureDel ++;
+      continue;
+    }
+
+    // keep this measure
+    measureNew[NmeasureNew] = measure[j];
+    NmeasureNew ++;
+  }
+
+  free (catalog->measure);
+  catalog->measure = measureNew;
+  catalog->Nmeasure = NmeasureNew;
+  catalog->Nmeasure_disk = NmeasureNew;
+
+  *nDelete = NmeasureDel;
+
+  return TRUE;
+}
+
+// delete lensing entries
+int DeleteLensing (Catalog *catalog, myIndexType *imageIDindex, int *deleteImage, int *nDelete) {
+
+  int j;
+
+  Lensing *lensing = catalog->lensing;
+
+  // allocate an output array of measures (to replace, if needed)
+  ALLOCATE_PTR (lensingNew, Lensing, catalog->Nlensing);
+
+  int NlensingNew = 0;
+  int NlensingDel = 0;
+
+  // examine all lensingments: find ones that need to be deleted
+  for (j = 0; j < catalog->Nlensing; j++) {
+    int imageID = lensing[j].imageID;
+    myAssert(imageID, "lensing is missing an image ID");
+    // XXX this case is valid if we have REF detections (no associated image)
+
+    int N = myIndexGetEntry(imageIDindex, imageID);
+    if (N < 0) {
+      // this detection comes from a non-existant image; delete
+      NlensingDel ++;
+      continue;
+    }
+
+    // lensing matches a bad image; delete
+    if (deleteImage[N]) {
+      NlensingDel ++;
+      continue;
+    }
+
+    // keep this lensing
+    lensingNew[NlensingNew] = lensing[j];
+    NlensingNew ++;
+  }
+
+  free (catalog->lensing);
+  catalog->lensing = lensingNew;
+  catalog->Nlensing = NlensingNew;
+  catalog->Nlensing_disk = NlensingNew;
+
+  *nDelete = NlensingDel;
+
+  return TRUE;
+}
+
Index: /trunk/Ohana/src/dvomerge/src/dvorepairFixImages.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvorepairFixImages.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvorepairFixImages.c	(revision 38986)
@@ -255,5 +255,5 @@
 
   /* setup image table format and lock */
-  gfits_db_init (oldDB);
+  gfits_db_init (&db);
   db.mode   = oldDB->mode;
   db.format = oldDB->format;
@@ -266,7 +266,8 @@
   /* load or create the image table */
   myAssert (db.dbstate == LCK_EMPTY, "do not overwrite exiting image table");
-  myAssert (db.format == DVO_FORMAT_PS1_V2, "format mismatch");
+  // myAssert (db.format == DVO_FORMAT_PS1_V2, "format mismatch");
 
   dvo_image_create (&db, GetZeroPoint());
+  gfits_copy_header (&oldDB->header, &db.header);
   
   // replace the existing buffer with the image array
@@ -277,6 +278,8 @@
   nbytes = gfits_data_size (db.ftable.header);
   db.ftable.datasize = nbytes;
-  db.ftable.buffer = (char *) imageOut;
-  REALLOCATE (db.ftable.buffer, char, MAX (nbytes, 1));
+
+  free (db.ftable.buffer);
+  ALLOCATE (db.ftable.buffer, char, MAX (nbytes, 1));
+  memcpy (db.ftable.buffer, imageOut, nbytes);
   memset (&db.ftable.buffer[Nx*Nout], ' ', nbytes - Nx*Nout);
 
@@ -295,4 +298,6 @@
   dvo_image_unlock (&db);
 
+  gfits_db_free (&db); 
+
   return TRUE;
 }
Index: /trunk/Ohana/src/dvomerge/src/dvorepairFixWarpIDs.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvorepairFixWarpIDs.c	(revision 38986)
+++ /trunk/Ohana/src/dvomerge/src/dvorepairFixWarpIDs.c	(revision 38986)
@@ -0,0 +1,233 @@
+# include "dvomerge.h"
+
+static int *warpIDs = NULL;
+static int *projIDs = NULL;
+static int *cellIDs = NULL;
+static int *fileIDs = NULL;
+
+# define STRFAIL { fprintf (stderr, "failure on image %s\n", image[i].name); continue; }
+
+int load_warp_ids (char *idfile, int *nfiles);
+int warpIDs_bisection (int *warpIDs, int threshold, int Nvalues);
+
+int dvorepairFixWarpIDs (int argc, char **argv) {
+
+  FITS_DB db;  // database handle pointing to input image table
+
+  off_t Nimage;
+  
+  int N;
+
+  Image *image;
+
+  N = get_argument (argc, argv, "-fix-warp-ids");
+  myAssert(N == 1, "programming error: -fix-images must be first from main");
+  remove_argument (N, &argc, argv);
+
+  if (argc != 3) {
+    fprintf (stderr, "USAGE: dvorepair -fix-warp-ids (catdir.list) (warp.ids)\n");
+    fprintf (stderr, "  catdir.list : list of databases of interest\n");
+    fprintf (stderr, "  warp.ids : list of warp_id, skycell.id, warp_skyfile_id map\n");
+    exit (2);
+  }
+
+  char *catdir_list  = argv[1];
+  char *idfile = argv[2];
+
+  // load the warp_id table
+  int Nfiles = 0;
+  load_warp_ids (idfile, &Nfiles);
+  fprintf (stderr, "loaded %d warp,proj,cell,file matches\n", Nfiles);
+
+  char name[DVO_MAX_PATH];
+  char catdir[DVO_MAX_PATH];
+  char imageFilenameOld[DVO_MAX_PATH];
+  char imageFilenameNew[DVO_MAX_PATH];
+
+  // read the list of catdirs and fix image tables for each 
+
+  FILE *f = fopen (catdir_list, "r");
+  myAssert (f, "failed to open catdir.list %s\n", catdir_list);
+
+  while (fscanf (f, "%s", catdir) != EOF) {
+    snprintf (imageFilenameOld, DVO_MAX_PATH, "%s/Images.dat", catdir);
+    snprintf (imageFilenameNew, DVO_MAX_PATH, "%s/Images.dat.fixed", catdir);
+    
+    if ((image = LoadImages (&db, imageFilenameOld, &Nimage)) == NULL) {
+      fprintf (stderr, "error loading images\n");
+      exit (1);
+    }
+
+    int i, j;
+    for (i = 0; i < Nimage; i++) {
+      if (image[i].externID) continue;
+      
+      strcpy (name, image[i].name);
+    
+      char *p0 = strchr (name  , '.'); if (!p0) STRFAIL;
+      char *p1 = strchr (p0 + 1, '.'); if (!p1) STRFAIL;
+      char *p2 = strchr (p1 + 1, '.'); if (!p2) STRFAIL;
+      char *p3 = strchr (p2 + 1, '.'); if (!p3) STRFAIL;
+      char *p4 = strchr (p3 + 1, '.'); if (!p4) STRFAIL;
+      char *p5 = strchr (p4 + 1, '.'); if (!p5) STRFAIL;
+      char *p6 = strchr (p5 + 1, '.'); if (!p6) STRFAIL;
+    
+      *p6 = 0;
+      int myWarpID = atoi (p5 + 1);
+
+      *p3 = 0;
+      *p4 = 0;
+      int myProjID = atoi (p2 + 1);
+      int myCellID = atoi (p3 + 1);
+
+      int Nlo = warpIDs_bisection (warpIDs, myWarpID, Nfiles);
+
+      int found = FALSE;
+      for (j = Nlo; !found && (j < Nfiles) && (warpIDs[j] <= myWarpID); j++) {
+	if (warpIDs[j] != myWarpID) continue;
+	if (projIDs[j] != myProjID) continue;
+	if (cellIDs[j] != myCellID) continue;
+
+	// fprintf (stderr, "found it! (%d,%d,%d) = (%d,%d,%d) : %d\n", myWarpID, myProjID, myCellID, warpIDs[j], projIDs[j], cellIDs[j], fileIDs[j]);
+
+	image[i].externID = fileIDs[j];
+	image[i].sourceID = 34;
+
+	found = TRUE;
+      }
+      if (!found) {
+	// fprintf (stderr, "did NOT find it! (%d,%d,%d)\n", myWarpID, myProjID, myCellID);
+      }
+    }
+    SaveImages(&db, imageFilenameNew, image, Nimage);
+    gfits_db_free (&db);
+  }
+  free (warpIDs);
+  free (projIDs);
+  free (cellIDs);
+  free (fileIDs);
+
+  fclose (f);
+  ohana_memdump (TRUE);
+
+  exit (0);
+}
+
+int load_warp_ids (char *idfile, int *nfiles) {
+
+  // load the warp ids
+  FILE *f = fopen (idfile, "r");
+  myAssert (f, "failed to open warp file");
+
+  int NBUFFER = 30000000;
+
+  char *buffer;
+  ALLOCATE (buffer, char, NBUFFER);
+
+  int Nfiles = 0;
+  int NFILES = 1000;
+  ALLOCATE (warpIDs, int, NFILES);
+  ALLOCATE (projIDs, int, NFILES);
+  ALLOCATE (cellIDs, int, NFILES);
+  ALLOCATE (fileIDs, int, NFILES);
+
+  int skipFirst = TRUE;
+
+  int Nstart = 0;
+  int Ntotal = 0;
+  while (TRUE) {
+    int Nbytes = NBUFFER - 1 - Nstart;
+    bzero (&buffer[Nstart], Nbytes + 1);
+
+    int Nread = fread (&buffer[Nstart], 1, Nbytes, f);
+
+    Ntotal += Nread;
+    fprintf (stderr, "reading block: %d %d %d %d\n", Nstart, Nbytes, Nread, Ntotal);
+
+    if (ferror (f)) {
+      perror ("error reading data file");
+      break;
+    }
+    if (Nread == 0) break; // end of the file
+
+    int Nlines = 0;
+
+    int bufferStatus = TRUE; 
+    char *c0 = buffer; // c0 always marks the start of a line
+    while (bufferStatus) {
+      char *c1 = strchr (c0, '\n'); // find the end of this current line
+      if (!c1) {
+	Nstart = strlen (c0);
+	memmove (buffer, c0, Nstart);
+	bufferStatus = FALSE;
+	continue;
+      }
+      *c1 = 0; // mark the end of the line 
+      Nlines ++;
+
+      if (skipFirst) {
+	skipFirst = FALSE;
+	c0 = c1 + 1;
+	continue;
+      }
+
+      int warp_id, proj_id, cell_id, file_id;
+      int Nscan = sscanf (c0, "%d skycell.%d.%d %d", &warp_id, &proj_id, &cell_id, &file_id);
+      myAssert (Nscan == 4, "invalid line");
+
+      warpIDs[Nfiles] = warp_id;
+      projIDs[Nfiles] = proj_id;
+      cellIDs[Nfiles] = cell_id;
+      fileIDs[Nfiles] = file_id;
+      Nfiles ++;
+
+      if (Nfiles == NFILES) {
+	NFILES += 1000;
+	REALLOCATE (warpIDs, int, NFILES);
+	REALLOCATE (projIDs, int, NFILES);
+	REALLOCATE (cellIDs, int, NFILES);
+	REALLOCATE (fileIDs, int, NFILES);
+      }
+      c0 = c1 + 1;
+    }
+  }
+  free (buffer);
+  fclose (f);
+
+  isortfour (warpIDs, projIDs, cellIDs, fileIDs, Nfiles);
+
+  *nfiles = Nfiles;
+  return TRUE;
+}
+
+// return the index of the last value < threshold 
+int warpIDs_bisection (int *values, int threshold, int Nvalues) {
+
+  int Nlo = 0; 
+  int Nhi = Nvalues - 1;
+
+  if (Nvalues < 1) return (-1);
+  if (threshold < values[Nlo]) return (-1);
+
+  if (Nvalues < 2) return (0);
+  if (threshold > values[Nhi]) return (-1);
+
+  int N;
+  while (Nhi - Nlo > 4) {
+    N = 0.5*(Nlo + Nhi);
+    if (values[N] < threshold) {
+      Nlo = MAX(N, 0);
+    } else {
+      Nhi = MIN(N + 1, Nvalues - 1);
+    }
+  }
+  // values[Nlo] < threshold 
+  // values[Nhi] >= threshold 
+
+  for (N = Nlo; N < Nhi; N++) {
+    if (values[N] >= threshold) {
+      return (N-1);
+    }
+  }
+  return (N);
+}
Index: /trunk/Ohana/src/dvomerge/src/dvorepairImageVsMeasure.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvorepairImageVsMeasure.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvorepairImageVsMeasure.c	(revision 38986)
@@ -39,4 +39,5 @@
   }
 
+  SetSignals ();
   catdir = argv[1];
   Ntol = atoi(argv[2]);
Index: /trunk/Ohana/src/dvomerge/src/dvorepair_by_objID.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvorepair_by_objID.c	(revision 38986)
+++ /trunk/Ohana/src/dvomerge/src/dvorepair_by_objID.c	(revision 38986)
@@ -0,0 +1,42 @@
+# include "dvomerge.h"
+
+int dvorepair_by_objID (int argc, char **argv) {
+
+  int N = get_argument (argc, argv, "-fix-cpt-by-objID");
+  if (N != 1) {
+    fprintf (stderr, "-fix-cpt must be first from main\n");
+    exit (2);
+  }
+  remove_argument (N, &argc, argv);
+
+  if (argc != 2) {
+    fprintf (stderr, "USAGE: dvorepair -fix-cpt-by-objID (cptfile)\n");
+    exit (2);
+  }
+
+  char *cptFile = argv[1];
+
+  Catalog catalog;
+
+  // set the parameters which guide catalog open/load/create
+  dvo_catalog_init (&catalog, TRUE);
+  catalog.filename  = cptFile;
+
+  // always load all of the data (if any exists)
+  catalog.catflags = DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE | DVO_LOAD_MISSING | DVO_LOAD_SECFILT | DVO_LOAD_LENSING | DVO_LOAD_LENSOBJ | DVO_LOAD_STARPAR;
+  catalog.catformat = dvo_catalog_catformat (CATFORMAT);  // set the default catformat from config data
+  catalog.catmode   = dvo_catalog_catmode (CATMODE);      // set the default catmode from config data
+  
+  if (!dvo_catalog_open (&catalog, NULL, VERBOSE, "w")) {
+    fprintf (stderr, "ERROR: failure to open catalog file %s\n", cptFile);
+    exit (2);
+  }
+
+  repair_catalog_by_objID (&catalog);
+
+  if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save catalog %s\n", catalog.filename); exit (1); }
+  if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock catalog %s\n", catalog.filename); exit (1); }
+  
+  return (TRUE);
+}
+
Index: /trunk/Ohana/src/dvomerge/src/dvosecfilt_catalogs.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvosecfilt_catalogs.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvosecfilt_catalogs.c	(revision 38986)
@@ -82,6 +82,9 @@
     catalog.Nsecfilt_disk = Nsecfilt * catalog.Naverage_disk;
 
-    dvo_catalog_save (&catalog, VERBOSE);
-    dvo_catalog_unlock (&catalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/dvomerge/src/dvoutils.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvoutils.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvoutils.c	(revision 38986)
@@ -4,4 +4,5 @@
 
   // check various options
+  SetSignals ();
   dvoutils_args (&argc, argv);
 
Index: /trunk/Ohana/src/dvomerge/src/dvoutils_load_image_index.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvoutils_load_image_index.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvoutils_load_image_index.c	(revision 38986)
@@ -2,8 +2,8 @@
 
 // load the array of EXTERN_ID from the ImageIndex.fits tables
-int *dvoutils_load_image_index (char *filename, int *nindex) {
+ImageData *dvoutils_load_image_index (char *filename) {
 
   int Ncol;
-  off_t Nrow;
+  off_t Nrow, Nphot;
   Header header;
   Header theader;
@@ -46,6 +46,14 @@
   fclose (f);
 
-  int *externID = gfits_get_bintable_column_data (&theader, &ftable, "EXTERN_ID", type, &Nrow, &Ncol);
+  ImageData *imdata = NULL;
+  ALLOCATE (imdata, ImageData, 1);
+
+  imdata->externID = gfits_get_bintable_column_data (&theader, &ftable, "EXTERN_ID", type, &Nrow, &Ncol);
   myAssert (!strcmp(type, "int"), "wrong column type");
+
+  imdata->photcode = gfits_get_bintable_column_data (&theader, &ftable, "PHOTCODE", type, &Nphot, &Ncol);
+  myAssert (Nphot == Nrow, "photcode & extern_id mis-match");
+
+  imdata->Nimages = Nrow;
 
   gfits_free_header (&header);
@@ -54,7 +62,5 @@
   gfits_free_table  (&ftable);
 
-  *nindex = Nrow;
-
-  return externID;
+  return imdata;
 }
 
Index: /trunk/Ohana/src/dvomerge/src/dvoutils_uniq_images.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvoutils_uniq_images.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvoutils_uniq_images.c	(revision 38986)
@@ -40,8 +40,6 @@
     }
 
-    int Nimage;
-    // Image *image = dvoutils_load_image_table (imFile, &Nimage);
-    int *extern_id = dvoutils_load_image_index (imFile, &Nimage);
-    if (!extern_id) continue;
+    ImageData *imdata = dvoutils_load_image_index (imFile);
+    if (!imdata) continue;
 
     DBlist[Ndb] = strcreate (imFile);
@@ -57,11 +55,22 @@
 
     int i;
-    for (i = 0; i < Nimage; i++) {
-      if (!extern_id[i]) continue;
-      myMaxID = MAX(extern_id[i], myMaxID);
-      myMinID = MIN(extern_id[i], myMinID);
+    int Nbad = 0;
+    for (i = 0; i < imdata->Nimages; i++) {
+      if (!imdata->photcode[i] && imdata->externID[i]) myAbort ("invalid combo");
+
+      if (!imdata->photcode[i]) continue;
+      if (!imdata->externID[i]) {
+	Nbad ++;
+	continue;
+      }
+      myMaxID = MAX(imdata->externID[i], myMaxID);
+      myMinID = MIN(imdata->externID[i], myMinID);
     }
 
-    fprintf (stderr, "read %s, %d images, %d - %d vs %d - %d\n", imFile, (int) Nimage, myMinID, myMaxID, minID, maxID);
+    fprintf (stderr, "read %s, %d images, %d - %d vs %d - %d\n", imFile, (int) imdata->Nimages, myMinID, myMaxID, minID, maxID);
+
+    if (Nbad) {
+      fprintf (stderr, "WARNING: %d images without extern_id set\n", (int) Nbad);
+    }
 
     // if this is new, we treat it a bit differently
@@ -124,7 +133,7 @@
     }
 
-    for (i = 0; i < Nimage; i++) {
-      if (!extern_id[i]) continue;
-      int n = extern_id[i] - minID;
+    for (i = 0; i < imdata->Nimages; i++) {
+      if (!imdata->externID[i]) continue;
+      int n = imdata->externID[i] - minID;
       if (IDlist[n] == 0) {
 	DBfound[n] = Ndb;
@@ -133,5 +142,5 @@
       IDlist[n] ++;
       if (VERBOSE && (IDlist[n] > 1)) {
-	fprintf (stderr, "duplicate ext_id %d in file %s\n", extern_id[i], imFile);
+	fprintf (stderr, "duplicate ext_id %d in file %s\n", imdata->externID[i], imFile);
       }
     }
@@ -140,7 +149,7 @@
       fprintf (stderr, "------------ %s ----------\n", imFile);
 
-      for (i = 0; i < Nimage; i++) {
-	if (!extern_id[i]) continue;
-	fprintf (stderr, "%d => %d\n", extern_id[i], extern_id[i] - minID);
+      for (i = 0; i < imdata->Nimages; i++) {
+	if (!imdata->externID[i]) continue;
+	fprintf (stderr, "%d => %d\n", imdata->externID[i], imdata->externID[i] - minID);
       }
 
@@ -165,5 +174,5 @@
     int n = DBfound[i];
     myAssert (n > -1, "impossible!");
-    fprintf (stdout, "%d : %d -- in %s (%d) : %d \n", i + minID, IDlist[i], DBlist[n], DBfound[i], DBindex[i]);
+    fprintf (stdout, "primary %d : %d -- in %s (%d) : %d \n", i + minID, IDlist[i], DBlist[n], DBfound[i], DBindex[i]);
   }
 
Index: /trunk/Ohana/src/dvomerge/src/dvoverify.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvoverify.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvoverify.c	(revision 38986)
@@ -14,4 +14,5 @@
 
   // check various options
+  SetSignals ();
   dvoverify_args (&argc, argv);
   CATDIR = argv[1];
@@ -78,6 +79,6 @@
   SkyListFree (skylist);
 
-  ohana_memcheck (TRUE);
-  ohana_memdump (TRUE);
+  ohana_memcheck (VERBOSE);
+  ohana_memdump (VERBOSE);
   exit (0);
 }
Index: /trunk/Ohana/src/dvomerge/src/dvoverify_args.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvoverify_args.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvoverify_args.c	(revision 38986)
@@ -24,4 +24,11 @@
   if ((N = get_argument (*argc, argv, "-sorted"))) {
     CHECKSORTED = TRUE;
+    remove_argument (N, argc, argv);
+  }
+
+  // in some cases, the header sorted state can claim F but is actually T
+  IGNORE_SORTED_STATE = FALSE;
+  if ((N = get_argument (*argc, argv, "-ignore-sorted-state"))) {
+    IGNORE_SORTED_STATE = TRUE;
     remove_argument (N, argc, argv);
   }
@@ -50,6 +57,6 @@
     free (filename);
 
-    ohana_memcheck (TRUE);
-    ohana_memdump (TRUE);
+    ohana_memcheck (VERBOSE);
+    ohana_memdump (VERBOSE);
 
     if (!isGood) exit (1);
@@ -204,4 +211,11 @@
   }
 
+  // in some cases, the header sorted state can claim F but is actually T
+  IGNORE_SORTED_STATE = FALSE;
+  if ((N = get_argument (*argc, argv, "-ignore-sorted-state"))) {
+    IGNORE_SORTED_STATE = TRUE;
+    remove_argument (N, argc, argv);
+  }
+
   if (!HOST_ID || !HOSTDIR || (*argc != 2)) {
     fprintf (stderr, "USAGE: dvoverify_client (catdir) -results (file) -hostID ID -hostdir DIR [-region Rmin Rmax Dmin Dmax] [-v] [-s]\n\n");
Index: /trunk/Ohana/src/dvomerge/src/dvoverify_catalogs.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvoverify_catalogs.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvoverify_catalogs.c	(revision 38986)
@@ -117,15 +117,14 @@
 
     // options / arguments that can affect relastro_client -update-objects:
-    char command[DVO_MAX_PATH];
-    snprintf (command, DVO_MAX_PATH, "dvoverify_client %s -results %s -hostID %d -hostdir %s -region %f %f %f %f", 
-	      abscatdir, table->hosts[i].results, table->hosts[i].hostID, table->hosts[i].pathname, 
-	      UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax
-      );
+    char *command = NULL;
+    strextend (&command, "dvoverify_client %s -results %s -hostID %d -hostdir %s -region %f %f %f %f", 
+	       abscatdir, table->hosts[i].results, table->hosts[i].hostID, table->hosts[i].pathname, 
+	       UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax);
 
-    char tmpline[DVO_MAX_PATH];
-    if (VERBOSE)         { snprintf (tmpline, DVO_MAX_PATH, "%s -v", command); strcpy (command, tmpline); }
-    if (CHECKSORTED)     { snprintf (tmpline, DVO_MAX_PATH, "%s -s", command); strcpy (command, tmpline); }
-    if (!CHECK_IMAGE_ID) { snprintf (tmpline, DVO_MAX_PATH, "%s -skip-image-ids", command); strcpy (command, tmpline); }
-    if (LIST_MISSING)    { snprintf (tmpline, DVO_MAX_PATH, "%s -list-missing", command); strcpy (command, tmpline); }
+    if (VERBOSE)             { strextend (&command, "-v"); }
+    if (CHECKSORTED)         { strextend (&command, "-s"); }
+    if (IGNORE_SORTED_STATE) { strextend (&command, "-ignore-sorted-state"); }
+    if (!CHECK_IMAGE_ID)     { strextend (&command, "-skip-image-ids"); }
+    if (LIST_MISSING)        { strextend (&command, "-list-missing"); }
 
     fprintf (stderr, "command: %s\n", command);
@@ -149,4 +148,5 @@
       table->hosts[i].pid = pid; // save for future reference
     }
+    free (command);
   }
 
Index: /trunk/Ohana/src/dvomerge/src/dvoverify_client.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvoverify_client.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvoverify_client.c	(revision 38986)
@@ -8,4 +8,5 @@
 
   // check various options
+  SetSignals ();
   dvoverify_client_args (&argc, argv);
   CATDIR = argv[1];
Index: /trunk/Ohana/src/dvomerge/src/dvoverify_utils.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/dvoverify_utils.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/dvoverify_utils.c	(revision 38986)
@@ -188,5 +188,5 @@
   dvo_catalog_init (&catalog, TRUE);
   catalog.filename  = filename;
-  catalog.catflags  = DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE | DVO_LOAD_LENSING | DVO_LOAD_LENSOBJ;
+  catalog.catflags  = DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE | DVO_LOAD_LENSING | DVO_LOAD_LENSOBJ | DVO_LOAD_STARPAR | DVO_LOAD_GALPHOT;
   catalog.Nsecfilt  = 0;
   
@@ -214,5 +214,5 @@
 
   // if the table is NOT SORTED, do we have a subset of checks we can make?
-  if (!catalog.sorted) {
+  if (!catalog.sorted && !IGNORE_SORTED_STATE) {
     fprintf (stderr, "!");
     dvo_catalog_unlock (&catalog);
@@ -222,83 +222,37 @@
     return TRUE;
   }
-
-  int NmeasureTotal = 0;
-  int measureOffsetOK = TRUE;
-  int NlensingTotal = 0;
-  int lensingOffsetOK = TRUE;
-  int NlensobjTotal = 0;
-  int lensobjOffsetOK = TRUE;
-  for (i = 0; i < catalog.Naverage; i++) {
-    NmeasureTotal += catalog.average[i].Nmeasure;
-    if (VERBOSE && !(NmeasureTotal <= catalog.Nmeasure)) {
-      fprintf (stderr, "NmeasureTotal > catalog.Nmeasure: %d %d %d\n", i, catalog.average[i].Nmeasure, (int) catalog.Nmeasure);
-    }
-    measureOffsetOK &= (catalog.average[i].measureOffset < catalog.Nmeasure);
-    if (VERBOSE && !(catalog.average[i].measureOffset < catalog.Nmeasure)) {
-      fprintf (stderr, "measureOffset >= catalog.Nmeasure: %d %d %d\n", i, catalog.average[i].measureOffset, (int) catalog.Nmeasure);
-    }
-    measureOffsetOK &= (catalog.average[i].measureOffset + catalog.average[i].Nmeasure <= catalog.Nmeasure);
-    if (VERBOSE && !(catalog.average[i].measureOffset + catalog.average[i].Nmeasure <= catalog.Nmeasure)) {
-      fprintf (stderr, "measureOffset + Nmeasure > catalog.Nmeasure : %d %d %d\n", i, catalog.average[i].Nmeasure, (int) catalog.Nmeasure);
-    }
-
-    // sum of Nlensing for each object < Nlensing for catalog
-    NlensingTotal += catalog.average[i].Nlensing;
-    if (VERBOSE && !(NlensingTotal <= catalog.Nlensing)) {
-      fprintf (stderr, "NlensingTotal > catalog.Nlensing: %d %d %d\n", i, catalog.average[i].Nlensing, (int) catalog.Nlensing);
-    }
-    // lensingOffset needs to be in range for each object
-    lensingOffsetOK &= (!catalog.Nlensing || (catalog.average[i].lensingOffset < catalog.Nlensing));
-    if (VERBOSE && catalog.Nlensing && !(catalog.average[i].lensingOffset < catalog.Nlensing)) {
-      fprintf (stderr, "lensingOffset >= catalog.Nlensing: %d %d %d\n", i, catalog.average[i].lensingOffset, (int) catalog.Nlensing);
-    }
-    lensingOffsetOK &= (catalog.average[i].lensingOffset + catalog.average[i].Nlensing <= catalog.Nlensing);
-    if (VERBOSE && !(catalog.average[i].lensingOffset + catalog.average[i].Nlensing <= catalog.Nlensing)) {
-      fprintf (stderr, "lensingOffset + Nlensing > catalog.Nlensing : %d %d %d\n", i, catalog.average[i].Nlensing, (int) catalog.Nlensing);
-    }
-
-    NlensobjTotal += catalog.average[i].Nlensobj;
-    if (VERBOSE && !(NlensobjTotal <= catalog.Nlensobj)) {
-      fprintf (stderr, "NlensobjTotal > catalog.Nlensobj: %d %d %d\n", i, catalog.average[i].Nlensobj, (int) catalog.Nlensobj);
-    }
-    lensobjOffsetOK &= (catalog.average[i].lensobjOffset < catalog.Nlensobj);
-    if (VERBOSE && !(catalog.average[i].lensobjOffset < catalog.Nlensobj)) {
-      fprintf (stderr, "lensobjOffset >= catalog.Nlensobj: %d %d %d\n", i, catalog.average[i].lensobjOffset, (int) catalog.Nlensobj);
-    }
-    lensobjOffsetOK &= (catalog.average[i].lensobjOffset + catalog.average[i].Nlensobj <= catalog.Nlensobj);
-    if (VERBOSE && !(catalog.average[i].lensobjOffset + catalog.average[i].Nlensobj <= catalog.Nlensobj)) {
-      fprintf (stderr, "lensobjOffset + Nlensobj > catalog.Nlensobj : %d %d %d\n", i, catalog.average[i].Nlensobj, (int) catalog.Nlensobj);
-    }
-  }
-
-  if (!measureOffsetOK) {
-    fprintf (stderr, "ERROR: catalog %s has an invalid measureOffset\n", catalog.filename);
-    status = FALSE;
-  }
-
-  if (NmeasureTotal != catalog.Nmeasure) {
-    fprintf (stderr, "ERROR: catalog %s has an invalid Nmeasure\n", catalog.filename);
-    status = FALSE;
-  }
-
-  if (!lensingOffsetOK) {
-    fprintf (stderr, "ERROR: catalog %s has an invalid lensingOffset\n", catalog.filename);
-    status = FALSE;
-  }
-
-  if (NlensingTotal != catalog.Nlensing) {
-    fprintf (stderr, "ERROR: catalog %s has an invalid Nlensing\n", catalog.filename);
-    status = FALSE;
-  }
-
-  if (!lensobjOffsetOK) {
-    fprintf (stderr, "ERROR: catalog %s has an invalid lensobjOffset\n", catalog.filename);
-    status = FALSE;
-  }
-
-  if (NlensobjTotal != catalog.Nlensobj) {
-    fprintf (stderr, "ERROR: catalog %s has an invalid Nlensobj\n", catalog.filename);
-    status = FALSE;
-  }
+  
+# define CHECK_TABLE(NAME) {						\
+    int Ntotal = 0; int offsetOK = TRUE; int isOK = FALSE;		\
+    for (i = 0; i < catalog.Naverage; i++) {				\
+      Ntotal += catalog.average[i].N##NAME;				\
+      if (VERBOSE && !(Ntotal <= catalog.N##NAME)) {			\
+	fprintf (stderr, "Ntotal (%s) > catalog.N##NAME: %d %d : %d > %d\n", #NAME, i, Ntotal, catalog.average[i].N##NAME, (int) catalog.N##NAME); \
+      }									\
+      isOK = (catalog.average[i].N##NAME == 0) || (catalog.average[i].NAME##Offset < catalog.N##NAME); \
+      offsetOK &= isOK;							\
+      if (VERBOSE && !isOK) {						\
+	fprintf (stderr, "%sOffset >= catalog.N%s: %d : %d >= %d\n", #NAME, #NAME, i, catalog.average[i].NAME##Offset, (int) catalog.N##NAME); \
+      }									\
+      isOK = (catalog.average[i].N##NAME == 0) || (catalog.average[i].NAME##Offset + catalog.average[i].N##NAME <= catalog.N##NAME); \
+      offsetOK &= isOK;							\
+      if (VERBOSE && !isOK) {						\
+	fprintf (stderr, "%sOffset + N%s > catalog.N%s : %d : %d + %d > %d\n", #NAME, #NAME, #NAME, i, catalog.average[i].N##NAME, catalog.average[i].NAME##Offset, (int) catalog.N##NAME); \
+      } }								\
+    if (!offsetOK) {							\
+      fprintf (stderr, "ERROR: catalog %s has an invalid %sOffset\n", catalog.filename, #NAME); \
+      status = FALSE;							\
+    }									\
+    if (Ntotal != catalog.N##NAME) {					\
+      fprintf (stderr, "ERROR: catalog %s has an invalid N%s\n", catalog.filename, #NAME); \
+      status = FALSE;							\
+    }									\
+  }
+  
+  CHECK_TABLE(measure);
+  CHECK_TABLE(lensing);
+  CHECK_TABLE(lensobj);
+  CHECK_TABLE(starpar);
+  CHECK_TABLE(galphot);
 
   // if we have a problem with Nmeasure and/or measureOffset values, we
@@ -312,27 +266,47 @@
   // check measure <-> average links
   {
-    int objIDsOK = TRUE;
-    int catIDsOK = TRUE;
-    int averefOK = TRUE;
+    int NobjIDsBAD = 0;
+    int NcatIDsBAD = 0;
+    int NaverefBAD = 0;
 
     for (i = 0; i < catalog.Naverage; i++) {
       m = catalog.average[i].measureOffset;
       for (j = 0; j < catalog.average[i].Nmeasure; j++) {
-	objIDsOK &= (catalog.average[i].objID == catalog.measure[m+j].objID);
-	catIDsOK &= (catalog.average[i].catID == catalog.measure[m+j].catID);
-	averefOK &= (catalog.measure[m+j].averef == i);
+	if (catalog.average[i].objID != catalog.measure[m+j].objID) {
+	  NobjIDsBAD ++;
+
+	  // check if objID matches R,D
+	  Measure *measure = &catalog.measure[m+j];
+	  int iTest = measure->objID;
+	  if (catalog.average[iTest].objID == iTest) {
+	    double dR = 3600.0*(catalog.average[iTest].R - measure->R) * cos (RAD_DEG*measure->D);
+	    double dD = 3600.0*(catalog.average[iTest].D - measure->D);
+	    double dRad = hypot (dR, dD);
+	    char *date = ohana_sec_to_date (measure->t);
+	    fprintf (stderr, "matches ave %d = %d, %s : %6.3f %5d : %f, %f = %f\n", iTest, measure->objID, date, measure->M, measure->photcode, dR, dD, dRad);
+	    free (date);
+	  } else {
+	    fprintf (stderr, "cannot find averef\n");
+	  }
+	}
+	if (catalog.average[i].catID != catalog.measure[m+j].catID) {
+	  NcatIDsBAD ++;
+	}
+	if (catalog.measure[m+j].averef != i) {
+	  NaverefBAD ++;
+	}
       }
     }
     
-    if (!objIDsOK) {
-      fprintf (stderr, "ERROR: catalog %s has invalid obj IDs\n", catalog.filename);
-      status = FALSE;
-    }
-    if (!catIDsOK) {
-      fprintf (stderr, "ERROR: catalog %s has invalid cat IDs\n", catalog.filename);
-      status = FALSE;
-    }
-    if (!averefOK) {
-      fprintf (stderr, "ERROR: catalog %s has invalid averef values\n", catalog.filename);
+    if (NobjIDsBAD) {
+      fprintf (stderr, "ERROR: catalog %s has %d invalid obj IDs\n", catalog.filename, NobjIDsBAD);
+      status = FALSE;
+    }
+    if (NcatIDsBAD) {
+      fprintf (stderr, "ERROR: catalog %s has %d invalid cat IDs\n", catalog.filename, NcatIDsBAD);
+      status = FALSE;
+    }
+    if (NaverefBAD) {
+      fprintf (stderr, "ERROR: catalog %s has %d invalid averef values\n", catalog.filename, NaverefBAD);
       status = FALSE;
     }
@@ -387,4 +361,62 @@
     if (!catIDsOK) {
       fprintf (stderr, "ERROR: catalog %s has invalid lensobj cat IDs\n", catalog.filename);
+      status = FALSE;
+    }
+  }
+
+  // check starpar <-> average links
+  {
+    int objIDsOK = TRUE;
+    int catIDsOK = TRUE;
+    int averefOK = TRUE;
+
+    for (i = 0; i < catalog.Naverage; i++) {
+      m = catalog.average[i].starparOffset;
+      for (j = 0; j < catalog.average[i].Nstarpar; j++) {
+	objIDsOK &= (catalog.average[i].objID == catalog.starpar[m+j].objID);
+	catIDsOK &= (catalog.average[i].catID == catalog.starpar[m+j].catID);
+	averefOK &= (catalog.starpar[m+j].averef == i);
+      }
+    }
+    
+    if (!objIDsOK) {
+      fprintf (stderr, "ERROR: catalog %s has invalid starpar obj IDs\n", catalog.filename);
+      status = FALSE;
+    }
+    if (!catIDsOK) {
+      fprintf (stderr, "ERROR: catalog %s has invalid starpar cat IDs\n", catalog.filename);
+      status = FALSE;
+    }
+    if (!averefOK) {
+      fprintf (stderr, "ERROR: catalog %s has invalid starpar averef values\n", catalog.filename);
+      status = FALSE;
+    }
+  }
+
+  // check galphot <-> average links
+  {
+    int objIDsOK = TRUE;
+    int catIDsOK = TRUE;
+    int averefOK = TRUE;
+
+    for (i = 0; i < catalog.Naverage; i++) {
+      m = catalog.average[i].galphotOffset;
+      for (j = 0; j < catalog.average[i].Ngalphot; j++) {
+	objIDsOK &= (catalog.average[i].objID == catalog.galphot[m+j].objID);
+	catIDsOK &= (catalog.average[i].catID == catalog.galphot[m+j].catID);
+	averefOK &= (catalog.galphot[m+j].averef == i);
+      }
+    }
+    
+    if (!objIDsOK) {
+      fprintf (stderr, "ERROR: catalog %s has invalid galphot obj IDs\n", catalog.filename);
+      status = FALSE;
+    }
+    if (!catIDsOK) {
+      fprintf (stderr, "ERROR: catalog %s has invalid galphot cat IDs\n", catalog.filename);
+      status = FALSE;
+    }
+    if (!averefOK) {
+      fprintf (stderr, "ERROR: catalog %s has invalid galphot averef values\n", catalog.filename);
       status = FALSE;
     }
Index: /trunk/Ohana/src/dvomerge/src/help.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/help.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/help.c	(revision 38986)
@@ -172,4 +172,5 @@
 
   fprintf (stderr, "USAGE\n");
+  fprintf (stderr, "  dvorepair -fix-warp-ids (catdir) (idfile) - regenerate images.dat warp_skyfile_ids (EXTERN_ID) values\n");
   fprintf (stderr, "  dvorepair -fix-cpt (images) (rootlist) - regenerate cpt & cps files from the cpm files\n");
   fprintf (stderr, "  dvorepair -images-vs-measures (catdir) (Ntol) - find images with too many missing detections\n");
Index: /trunk/Ohana/src/dvomerge/src/merge_catalogs_old.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/merge_catalogs_old.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/merge_catalogs_old.c	(revision 38986)
@@ -198,7 +198,6 @@
     int Nreplace = 0;
     if (REPLACE_TYCHO) {
-      int Mout = output[0].average[n].measureOffset;  
       int Minp =  input[0].average[N].measureOffset;
-      Nreplace = replace_tycho (&output[0].average[n], &output[0].measure[Mout], &input[0].average[N], &input[0].measure[Minp]);
+      Nreplace = replace_tycho (&output[0].average[n], output[0].measure, next_meas, &input[0].average[N], &input[0].measure[Minp]);
       if (Nreplace == 6) {
 	input[0].found_t[N] = Nmeas;
@@ -216,7 +215,6 @@
 	// index to first measure for this object
 	// XXX this does not support lensing measurements
-	int Mout = output[0].average[n].measureOffset;  
-	if (replace_match(&output[0].average[n], &output[0].measure[Mout], &input[0].average[N], &input[0].measure[offset])) {
-	  input[0].found_t[N] = Mout;
+	if (replace_match (&output[0].average[n], output[0].measure, next_meas, &input[0].average[N], &input[0].measure[offset])) {
+	  input[0].found_t[N] = output[0].average[n].measureOffset;  
 	  continue;
 	}
Index: /trunk/Ohana/src/dvomerge/src/repair_catalog_by_objID.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/repair_catalog_by_objID.c	(revision 38986)
+++ /trunk/Ohana/src/dvomerge/src/repair_catalog_by_objID.c	(revision 38986)
@@ -0,0 +1,118 @@
+# include "dvomerge.h"
+
+int repair_catalog_by_objID (Catalog *catalog) {
+
+  // first find the entries which are bad (there may be none)
+  int Nbad = 0;
+
+  Average *average = catalog->average;
+  Measure *measure = catalog->measure;
+
+  off_t i, j;
+  for (i = 0; i < catalog->Naverage; i++) {
+    off_t m = average[i].measureOffset;
+    for (j = 0; j < average[i].Nmeasure; j++) {
+      if (average[i].objID == measure[m+j].objID) continue;
+      
+      // this is a bad entry.  now we need to decide if it can be repaired
+      
+      Measure *myMeasure = &measure[m+j];
+      int iTest = myMeasure->objID;
+      myAssert (average[iTest].objID == iTest, "cannot find target source");
+      
+      double dR = 3600.0*(average[iTest].R - myMeasure->R) * cos (RAD_DEG*myMeasure->D);
+      double dD = 3600.0*(average[iTest].D - myMeasure->D);
+      double dRad = hypot (dR, dD);
+
+      // XXX dRad of 200.0 would allow Barnard's star (10"/yr) to be handled
+      myAssert (dRad < 200.0, "bad detection does not seem to match target source");
+      
+      char *date = ohana_sec_to_date (myMeasure->t);
+      fprintf (stderr, "bad detection found: matches averef %d, objID %d, %s : %6.3f %5d : %f, %f = %f\n", iTest, myMeasure->objID, date, myMeasure->M, myMeasure->photcode, dR, dD, dRad);
+      free (date);
+      Nbad ++;
+    }
+  }
+  if (!Nbad) return TRUE;
+
+  // we have at least one bad detection
+  // make a matched list of the measurement sequence and the objID values
+
+  off_t Nmeasure = catalog->Nmeasure;
+  ALLOCATE_PTR (seq,   off_t, Nmeasure);
+  ALLOCATE_PTR (objID, off_t, Nmeasure);
+
+  for (i = 0; i < Nmeasure; i++) {
+    seq[i]   = i;
+    objID[i] = measure[i].objID;
+  }    
+
+  // sort seq by objID
+  llsortpair (objID, seq, Nmeasure);
+
+  // create a new array of measures in objID order
+  Measure *measureNew = NULL;
+  ALLOCATE (measureNew, Measure, Nmeasure);
+  
+  for (i = 0; i < Nmeasure; i++) {
+    j = seq[i];
+    measureNew[i] = measure[j];
+  }
+
+  // reset averef and Nmeasure values for the average entries
+  off_t N = 0;
+  off_t myObjID = objID[0];
+  off_t averef = 0;
+  average[averef].measureOffset = 0;
+  for (i = 0; i < Nmeasure; i++) {
+    if (objID[i] != myObjID) {
+      // we have hit the next entry in the list
+      average[averef].Nmeasure = N;
+      N = 0;
+      myObjID = objID[i];
+      averef ++;
+      average[averef].measureOffset = i;
+    }
+    if (measureNew[i].averef != averef) {
+      fprintf (stderr, "fixing averef for measure "OFF_T_FMT" (%d -> "OFF_T_FMT")\n", i, measureNew[i].averef, averef);
+      measureNew[i].averef = averef;
+    }
+    N++;
+  }
+  average[averef].Nmeasure = N;
+
+  free (catalog->measure);
+  catalog->measure = measureNew;
+
+  int NmeasureTotal = 0;
+  int measureOffsetOK = TRUE;
+  for (i = 0; i < catalog->Naverage; i++) {
+    NmeasureTotal += catalog[0].average[i].Nmeasure;
+    if (!(NmeasureTotal <= catalog[0].Nmeasure)) {
+      fprintf (stderr, "too many measurements: %d %d %d\n", (int) i, NmeasureTotal, (int) catalog[0].Nmeasure);
+    }
+    measureOffsetOK &= (catalog[0].average[i].measureOffset < catalog[0].Nmeasure);
+    if (!(catalog[0].average[i].measureOffset < catalog[0].Nmeasure)) {
+      fprintf (stderr, "offset too large: %d %d %d\n", (int) i, catalog[0].average[i].Nmeasure, (int) catalog[0].Nmeasure);
+    }
+    measureOffsetOK &= (catalog[0].average[i].measureOffset + catalog[0].average[i].Nmeasure <= catalog[0].Nmeasure);
+    if (!(catalog[0].average[i].measureOffset + catalog[0].average[i].Nmeasure <= catalog[0].Nmeasure)) {
+      fprintf (stderr, "offset + Nmeasure too large: %d + %d > %d %d\n", (int) i, catalog[0].average[i].measureOffset, catalog[0].average[i].Nmeasure, (int) catalog[0].Nmeasure);
+    }
+  }
+
+  int status = TRUE;
+  if (!measureOffsetOK) {
+    fprintf (stderr, "ERROR: catalog %s has an invalid measureOffset\n", catalog[0].filename);
+    status = FALSE;
+  }
+
+  if (NmeasureTotal != catalog[0].Nmeasure) {
+    fprintf (stderr, "ERROR: catalog %s has an invalid Nmeasure\n", catalog[0].filename);
+    status = FALSE;
+  }
+
+  if (!status) exit (2);
+
+  return TRUE;
+}
Index: /trunk/Ohana/src/dvomerge/src/replace_match.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/replace_match.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/replace_match.c	(revision 38986)
@@ -1,6 +1,10 @@
 # include "dvomerge.h"
 
+// XXX this function does not work because it it loops over the average->Nmeasure entries
+// as if they were sorted, but objects which have had entries added to them have elements
+// out of sequence.  I probably need to step through next_meas to find the sequence.
+
 // average and measure pointers to the objects of interest and their first / current measurement
-int replace_match (Average *average_out, Measure *measure_out, Average *average_in, Measure *measure_in) {
+int replace_match (Average *average_out, Measure *measure_out, off_t *next_meas, Average *average_in, Measure *measure_in) {
 
   int Nout;
@@ -8,12 +12,18 @@
   unsigned int catID;
 
+  off_t m = average_out->measureOffset;
+
   // find the matching photcode in the object's list of measurements
   for (Nout = 0; Nout < average_out[0].Nmeasure; Nout ++) {
-    if (measure_out[Nout].photcode != measure_in[0].photcode) continue;
+    myAssert (m > -1, "oops");
+    if (measure_out[m].photcode != measure_in[0].photcode) {
+      m = next_meas[m];
+      continue;
+    }
     
     // set the new measurements
-    averef = measure_out[Nout].averef;
-    catID  = measure_out[Nout].catID;
-    measure_out[Nout] = measure_in[0];
+    averef = measure_out[m].averef;
+    catID  = measure_out[m].catID;
+    measure_out[m] = measure_in[0];
 
     // old code: find R,D using average_in[0], the get offset relative to average_out[0].  no longer
@@ -24,20 +34,20 @@
     // measure_out[Nout].dD = 3600.0*(average_out[0].D - Din);
 
-    measure_out[Nout].dbFlags  = 0;  // XXX why reset these?
-    measure_out[Nout].averef   = averef;
-    measure_out[Nout].objID    = average_out[0].objID;
-    measure_out[Nout].catID    = catID;
+    measure_out[m].dbFlags  = 0;  // XXX why reset these?
+    measure_out[m].averef   = averef;
+    measure_out[m].objID    = average_out[0].objID;
+    measure_out[m].catID    = catID;
 
-    float dRoff = dvoOffsetR(&measure_out[Nout], average_out);
+    float dRoff = dvoOffsetR(&measure_out[m], average_out);
 
     // rationalize dR
     if (dRoff > +180.0*3600.0) {
       // average on high end of boundary, move star up
-      measure_out[Nout].R += 360.0;
+      measure_out[m].R += 360.0;
       dRoff -= 360.0*3600.0;
     }
     if (dRoff < -180.0*3600.0) {
       // average on low end of boundary, move star down
-      measure_out[Nout].R -= 360.0;
+      measure_out[m].R -= 360.0;
       dRoff += 360.0*3600.0;
     }
@@ -49,5 +59,5 @@
       if (fabs(dRoff*cosD) > 10*RADIUS) {
 	fprintf (stderr, "surprisingly distant detection: %10.6f,%10.6f vs %10.6f,%10.6f\n", 
-		 average_out[0].R, average_out[0].D, measure_out[Nout].R, measure_out[Nout].D);
+		 average_out[0].R, average_out[0].D, measure_out[m].R, measure_out[m].D);
       }
     }
Index: /trunk/Ohana/src/dvomerge/src/replace_tycho.c
===================================================================
--- /trunk/Ohana/src/dvomerge/src/replace_tycho.c	(revision 38985)
+++ /trunk/Ohana/src/dvomerge/src/replace_tycho.c	(revision 38986)
@@ -10,5 +10,5 @@
 }
 
-int replace_tycho (Average *averageOut, Measure *measureOut, Average *averageInp, Measure *measureInp) {
+int replace_tycho (Average *averageOut, Measure *measureOut, off_t *next_meas, Average *averageInp, Measure *measureInp) {
 
   int i;
@@ -17,14 +17,19 @@
   int index[6];
 
+  off_t m = averageOut->measureOffset;
+
   // find all tycho measurements
   for (i = 0; (i < averageOut->Nmeasure) && (Nindex < 6); i++) {
 
+    myAssert (m > -1, "oops");
+
     int valid = FALSE;
-    valid = valid || (measureOut[i].photcode == TYCHO_B);
-    valid = valid || (measureOut[i].photcode == TYCHO_V);
-    if (!valid) continue;
-
-    index[Nindex] = i;
-    Nindex ++;
+    valid = valid || (measureOut[m].photcode == TYCHO_B);
+    valid = valid || (measureOut[m].photcode == TYCHO_V);
+    if (valid) { 
+      index[Nindex] = m;
+      Nindex ++;
+    }
+    m = next_meas[m];
   }
 
Index: /trunk/Ohana/src/dvopsps/include/dvopsps.h
===================================================================
--- /trunk/Ohana/src/dvopsps/include/dvopsps.h	(revision 38985)
+++ /trunk/Ohana/src/dvopsps/include/dvopsps.h	(revision 38986)
@@ -72,9 +72,9 @@
 void   ConfigInit                    	  PROTO((int *argc, char **argv));
        
-void   usage_dvopsps                 	  PROTO(());
+void   usage_dvopsps                 	  PROTO((void));
 void   initialize_dvopsps            	  PROTO((int argc, char **argv));
 int    args_dvopsps                  	  PROTO((int argc, char **argv));
        
-void   usage_dvopsps_client          	  PROTO(());
+void   usage_dvopsps_client          	  PROTO((void));
 void   initialize_dvopsps_client     	  PROTO((int argc, char **argv));
 int    args_dvopsps_client           	  PROTO((int argc, char **argv));
@@ -82,5 +82,5 @@
 MYSQL *mysql_dvopsps_connect              PROTO((MYSQL *mysqlBase));
 
-int    insert_detections_dvopsps          PROTO(());
+int    insert_detections_dvopsps          PROTO((void));
 int    insert_detections_dvopsps_parallel PROTO((SkyTable *sky));
 int    insert_detections_dvopsps_catalog  PROTO((Catalog *catalog, MYSQL *mysql));
@@ -94,9 +94,9 @@
 int    assign_detection_values            PROTO((Detections *detection, Measure *measure, Average *average));
 
-int    init_detections                    PROTO(());
+int    init_detections                    PROTO((void));
 int    append_detections_dvopsps_catalog  PROTO((Catalog *catalog));
-int    save_detections_dvopsps            PROTO(());
+int    save_detections_dvopsps            PROTO((void));
 
-int    insert_objects_dvopsps             PROTO(());
+int    insert_objects_dvopsps             PROTO((void));
 int    insert_objects_dvopsps_parallel    PROTO((SkyList *sky));
 int    insert_objects_dvopsps_catalog     PROTO((Catalog *catalog, char *basename, MYSQL *mysql));
@@ -107,5 +107,5 @@
 int    insert_objects_mysql_init          PROTO((IOBuffer *ave_buffer, IOBuffer *sec_buffer, char *basename));
 
-int    insert_FWobjects_dvopsps             PROTO(());
+int    insert_FWobjects_dvopsps             PROTO((void));
 int    insert_FWobjects_dvopsps_parallel    PROTO((SkyList *sky));
 int    insert_FWobjects_dvopsps_catalog     PROTO((Catalog *catalog, char *basename, MYSQL *mysql));
@@ -116,5 +116,5 @@
 int    insert_FWobjects_mysql_commit 	    PROTO((IOBuffer *ave_buffer, IOBuffer *sec_buffer, IOBuffer *cpy_buffer, MYSQL *mysql));
 
-int    insert_FGshape_dvopsps               PROTO(());
+int    insert_FGshape_dvopsps               PROTO((void));
 int    insert_FGshape_dvopsps_parallel      PROTO((SkyList *sky));
 int    insert_FGshape_dvopsps_catalog       PROTO((Catalog *catalog, char *basename, MYSQL *mysql));
@@ -125,5 +125,5 @@
 int    insert_FGshape_mysql_commit 	    PROTO((IOBuffer *ave_buffer, IOBuffer *cpy_buffer, MYSQL *mysql));
 
-int    insert_skytable                    PROTO(());
+int    insert_skytable                    PROTO((void));
 
 int    insert_skytable_mysql_commit       PROTO((IOBuffer *buffer, MYSQL *mysql));
@@ -131,5 +131,5 @@
 int    insert_skytable_mysql_init         PROTO((IOBuffer *buffer));
 
-int    insert_diffobj_dvopsps             PROTO(());
+int    insert_diffobj_dvopsps             PROTO((void));
 int    insert_diffobj_dvopsps_parallel    PROTO((SkyList *sky));
 int    insert_diffobj_dvopsps_catalog     PROTO((Catalog *catalog, char *basename, MYSQL *mysql));
Index: /trunk/Ohana/src/dvopsps/src/insert_detections_dvopsps_catalog.c
===================================================================
--- /trunk/Ohana/src/dvopsps/src/insert_detections_dvopsps_catalog.c	(revision 38985)
+++ /trunk/Ohana/src/dvopsps/src/insert_detections_dvopsps_catalog.c	(revision 38986)
@@ -109,7 +109,4 @@
 
   // NOTE for testing, just do a few objects
-  if (!mysql) {
-    catalog[0].Naverage = 5;
-  }
   for (i = 0; i < catalog[0].Naverage; i++) {
 
@@ -225,5 +222,5 @@
     mysql_free_result (result);
   } else {
-    fprintf (stderr, "%s\n", buffer->buffer);
+    fprintf (stderr, ".");
   }
 
Index: /trunk/Ohana/src/dvosplit/src/split_averages.c
===================================================================
--- /trunk/Ohana/src/dvosplit/src/split_averages.c	(revision 38985)
+++ /trunk/Ohana/src/dvosplit/src/split_averages.c	(revision 38986)
@@ -105,5 +105,7 @@
 	outcatalogs[cat].catflags = DVO_LOAD_AVERAGE | DVO_LOAD_SECFILT;
 
+	SetProtect (TRUE);
 	dvo_catalog_save (&outcatalogs[cat], VERBOSE);
+	SetProtect (FALSE);
 	// fprintf (stderr, "secfilt: %d %d %d %d\n", outcatalogs[cat].Nsecfilt_mem, outcatalogs[cat].Nsecfilt_disk, outcatalogs[cat].Nsecfilt_off, outcatalogs[cat].Naverage, outcatalogs[cat].Nsecfilt);
 
Index: /trunk/Ohana/src/dvosplit/src/split_measures.c
===================================================================
--- /trunk/Ohana/src/dvosplit/src/split_measures.c	(revision 38985)
+++ /trunk/Ohana/src/dvosplit/src/split_measures.c	(revision 38986)
@@ -73,5 +73,8 @@
       for (cat = 0; cat < outlist[0].Nregions; cat++) {
 	outcatalogs[cat].catflags = DVO_LOAD_MEASURE;
+
+	SetProtect (TRUE);
 	dvo_catalog_save (&outcatalogs[cat], VERBOSE);
+	SetProtect (FALSE);
 
 	outcatalogs[cat].Nmeasure_disk += outcatalogs[cat].Nmeasure;
Index: /trunk/Ohana/src/fakeastro/include/fakeastro.h
===================================================================
--- /trunk/Ohana/src/fakeastro/include/fakeastro.h	(revision 38985)
+++ /trunk/Ohana/src/fakeastro/include/fakeastro.h	(revision 38986)
@@ -103,4 +103,5 @@
 
 float  RADIUS;
+float  MAX_MAG_2MASS;
 
 SkyRegion UserPatch;
Index: /trunk/Ohana/src/fakeastro/src/args.c
===================================================================
--- /trunk/Ohana/src/fakeastro/src/args.c	(revision 38985)
+++ /trunk/Ohana/src/fakeastro/src/args.c	(revision 38986)
@@ -104,4 +104,11 @@
   if ((N = get_argument (*argc, argv, "-uniform-radec"))) {
     UNIFORM_RADEC = TRUE;
+    remove_argument (N, argc, argv);
+  }
+
+  MAX_MAG_2MASS = 16.0;
+  if ((N = get_argument (*argc, argv, "-2mass-limit"))) {
+    remove_argument (N, argc, argv);
+    MAX_MAG_2MASS = atof(argv[N]);
     remove_argument (N, argc, argv);
   }
Index: /trunk/Ohana/src/fakeastro/src/fakestar_catalog.c
===================================================================
--- /trunk/Ohana/src/fakeastro/src/fakestar_catalog.c	(revision 38985)
+++ /trunk/Ohana/src/fakeastro/src/fakestar_catalog.c	(revision 38986)
@@ -21,6 +21,9 @@
   insert_fakestar (region, stars, Nstars, &catalog);
     
-  dvo_catalog_save (&catalog, VERBOSE);
-  dvo_catalog_unlock (&catalog);
+  SetProtect (TRUE);
+  if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+  if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+  SetProtect (FALSE);
+
   dvo_catalog_free (&catalog);
 
Index: /trunk/Ohana/src/fakeastro/src/fit_fake_stars.c
===================================================================
--- /trunk/Ohana/src/fakeastro/src/fit_fake_stars.c	(revision 38985)
+++ /trunk/Ohana/src/fakeastro/src/fit_fake_stars.c	(revision 38986)
@@ -133,6 +133,6 @@
       AstromOffsetTableNewMap(table, order_use, order_use, image);
     }
-    AstromOffsetMapFit (image[0].coords.offsetMap, Xref, Yref, dX, Nstars, TRUE);
-    AstromOffsetMapFit (image[0].coords.offsetMap, Xref, Yref, dY, Nstars, FALSE);
+    AstromOffsetMapFit (image[0].coords.offsetMap, Xref, Yref, dX, NULL, Nstars, TRUE);
+    AstromOffsetMapFit (image[0].coords.offsetMap, Xref, Yref, dY, NULL, Nstars, FALSE);
 
     image[0].coords.Npolyterms = -1;
Index: /trunk/Ohana/src/fakeastro/src/make_2mass_measures.c
===================================================================
--- /trunk/Ohana/src/fakeastro/src/make_2mass_measures.c	(revision 38985)
+++ /trunk/Ohana/src/fakeastro/src/make_2mass_measures.c	(revision 38986)
@@ -24,6 +24,6 @@
   // PhotCode *codeK = GetPhotcodebyName ("2MASS_K");
 
-  float ZP = 21.0; // this is chosen to give 16.0 mag stars a flux of 100.0 counts (crude, yes)
-  float SkyCts = 300.0; // this is chosen to make SN @ 16.0 = 5.0 (
+  float ZP = MAX_MAG_2MASS + 6.5; // this is chosen to give stars at the limit a flux of 400.0 counts (crude, yes)
+  float SkyCts = 1000.0; // this is chosen to make SN @ limit ~ 10.0 (
 
   int Nmeasure = catalog->Nmeasure;
@@ -45,5 +45,5 @@
     // make a crude JHK color for now:
     double J_PS1 = secfilt[i*Nsecfilt + Nsec].M - 1.0; // make all stars have y-J = 1.0
-    if (J_PS1 > 16.0) continue; // only generate 2MASS detections for objects with J_PS1 < 16.0
+    if (J_PS1 > MAX_MAG_2MASS) continue; // only generate 2MASS detections for objects with J_PS1 < 16.0
 
     if (isnan(secfilt[i*Nsecfilt + Nsec].M)) {
@@ -56,5 +56,5 @@
 
       J_PS1 = secfilt[i*Nsecfilt + ns].M; // pretend secfilt.M = J
-      if (J_PS1 > 16.0) continue; // only generate 2MASS detections for objects with J_PS1 < 16.0
+      if (J_PS1 > MAX_MAG_2MASS) continue; // only generate 2MASS detections for objects with J_PS1 < 16.0
     }
 
Index: /trunk/Ohana/src/fakeastro/src/save_fake_stars.c
===================================================================
--- /trunk/Ohana/src/fakeastro/src/save_fake_stars.c	(revision 38985)
+++ /trunk/Ohana/src/fakeastro/src/save_fake_stars.c	(revision 38986)
@@ -24,6 +24,6 @@
     catalog.catformat = dvo_catalog_catformat (CATFORMAT);  // set the default catformat from config data
     catalog.catmode   = dvo_catalog_catmode (CATMODE);      // set the default catmode from config data
-    // catalog.catflags  = DVO_LOAD_AVERAGE | DVO_LOAD_SECFILT | DVO_LOAD_MEASURE | DVO_LOAD_STARPAR; // use this for non-update mode
-    catalog.catflags  = DVO_LOAD_AVERAGE | DVO_LOAD_SECFILT | DVO_LOAD_STARPAR;
+    catalog.catflags  = DVO_LOAD_AVERAGE | DVO_LOAD_SECFILT | DVO_LOAD_MEASURE | DVO_LOAD_STARPAR; // use this for non-update mode
+    // catalog.catflags  = DVO_LOAD_AVERAGE | DVO_LOAD_SECFILT | DVO_LOAD_STARPAR;
     catalog.Nsecfilt  = GetPhotcodeNsecfilt ();
 
Index: /trunk/Ohana/src/getstar/src/MatchImages.c
===================================================================
--- /trunk/Ohana/src/getstar/src/MatchImages.c	(revision 38985)
+++ /trunk/Ohana/src/getstar/src/MatchImages.c	(revision 38986)
@@ -29,4 +29,5 @@
   tcoords.crval1 = image[0].coords.crval1;
   tcoords.crval2 = image[0].coords.crval2;
+
   if (!strcmp (&image[0].coords.ctype[4], "-WRP")) {
     myAssert (image[0].coords.mosaic, "should already have tested this");
Index: /trunk/Ohana/src/getstar/src/write_catalog.c
===================================================================
--- /trunk/Ohana/src/getstar/src/write_catalog.c	(revision 38985)
+++ /trunk/Ohana/src/getstar/src/write_catalog.c	(revision 38986)
@@ -5,7 +5,9 @@
   /* write out the selected stars */
   // XXX need to set the catalog boundaries by hand? RA0-RA1, DEC0-DEC1
-  dvo_catalog_save   (catalog, VERBOSE);
-  dvo_catalog_unlock (catalog);
-  dvo_catalog_free   (catalog);
+  SetProtect (TRUE);
+  if (!dvo_catalog_save (catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog->filename); exit (1); }
+  if (!dvo_catalog_unlock (catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog->filename); exit (1); }
+  SetProtect (FALSE);
+  dvo_catalog_free (catalog);
   fprintf (stderr, "SUCCESS\n");
   exit (0);
Index: /trunk/Ohana/src/kapa2/include/prototypes.h
===================================================================
--- /trunk/Ohana/src/kapa2/include/prototypes.h	(revision 38985)
+++ /trunk/Ohana/src/kapa2/include/prototypes.h	(revision 38986)
@@ -40,5 +40,5 @@
 void          DrawYErrors         PROTO((KapaGraphWidget *graph, Gobjects *objects));
 void	      DrawTick		  PROTO((Graphic *graphic, Axis *axis, int P, TickMarkData *tick, int naxis));
-void	      AxisTickScale	  PROTO((Axis *axis, double *major, double *minor, int *nsignif));
+void	      AxisTickScale	  PROTO((Axis *axis, double *range, double *major, double *minor, int *nsignif));
 TickMarkData *CreateAxisTicks     PROTO((Axis *axis, int *nticks));
 int           PrintTick           PROTO((char *string, double value, double min, double max, int nsignif));
Index: /trunk/Ohana/src/kapa2/include/structures.h
===================================================================
--- /trunk/Ohana/src/kapa2/include/structures.h	(revision 38985)
+++ /trunk/Ohana/src/kapa2/include/structures.h	(revision 38986)
@@ -143,4 +143,6 @@
   double fx, dfx, fy, dfy;  /* axis location on graphic */
   double lweight;
+  double fLabelRange;
+  double fMinor;
   int color;
 } Axis;
Index: /trunk/Ohana/src/kapa2/src/DrawFrame.c
===================================================================
--- /trunk/Ohana/src/kapa2/src/DrawFrame.c	(revision 38985)
+++ /trunk/Ohana/src/kapa2/src/DrawFrame.c	(revision 38986)
@@ -116,8 +116,9 @@
 
   if ((naxis == 0) || (naxis == 2)) {
-    x = MAX(x, fx);
-  }
-  //   y = MAX(y, fy);
-  // }
+    x = MIN(MAX(x, fx),fx+dfx);
+  }
+  if ((naxis == 1) || (naxis == 3)) {
+    y = MAX(MIN(y, fy),fy+dfy);
+  }
 
   dir = ((naxis == 0) || (naxis == 1)) ? -1 : +1;
@@ -137,9 +138,9 @@
     
     /* temporarily assume rectilinear axes */
-    if (naxis == 0) { dx = 0; dy = +1.0*pad; pos = 7; }
-    if (naxis == 2) { dx = 0; dy = -1.0*pad; pos = 1; }
-
-    if (naxis == 1) { dy = 0; dx = -0.5*pad; pos = 3; }
-    if (naxis == 3) { dy = 0; dx = +0.5*pad; pos = 5; }
+    if (naxis == 0) { dx = 0; dy = +1.0*pad; pos = 7; } // center, down justified
+    if (naxis == 2) { dx = 0; dy = -1.0*pad; pos = 1; } // center, up justified
+
+    if (naxis == 1) { dy = 0; dx = -0.5*pad; pos = 3; } // left, center justified
+    if (naxis == 3) { dy = 0; dx = +0.5*pad; pos = 5; } // right, center justified
 
     xt = fx + (value-min)*dfx/(max - min) + dx;
@@ -154,14 +155,17 @@
 # define MIN_RANGE 1e-30
 
-void AxisTickScale (Axis *axis, double *major, double *minor, int *nsignif) {
-
-  double range, lrange, factor, mantis, fmantis, power;
-
-  range = axis[0].max - axis[0].min;
-  if (fabs(range) < MIN_RANGE) {
-    range = (range < 0) ? -MIN_RANGE : +MIN_RANGE;
-  }
-
-  lrange = log10(MAX(fabs(range), MIN_RANGE));
+void AxisTickScale (Axis *axis, double *range, double *major, double *minor, int *nsignif) {
+
+  double lrange, factor, mantis, fmantis, power;
+
+  *range = axis->fLabelRange*(axis[0].max - axis[0].min);
+  if (fabs(*range) < MIN_RANGE) {
+    *range = (*range < 0) ? -MIN_RANGE : +MIN_RANGE;
+  }
+
+  lrange = log10(MAX(fabs(*range), MIN_RANGE));
+  double truncRange = ((int) ((lrange + 0.005) * 1000)) / 1000.0;
+  lrange = truncRange;
+
   mantis = modf (lrange, &factor);
   if (mantis < 0.0) {
@@ -179,29 +183,35 @@
   if ((fmantis >= 1.0) && (fmantis <  1.999)) {
     *major = 0.5 * power;
-    *minor = 0.1 * power;
     *nsignif = factor - 1;
     if (axis[0].areticks == 1) {
       *major = 0.25 * power;
-      *minor = 0.05 * power;
       *nsignif = factor - 2;
+    }	  
+    if (axis[0].areticks == 3) {
+      *major = 1.0 * power;
+      *nsignif = factor - 1;
     }	  
   }
   if ((fmantis >= 1.999) && (fmantis <  3.999)) {
     *major = 1.0 * power;
-    *minor = 0.2 * power;
     *nsignif = factor;
     if (axis[0].areticks == 1) {
       *major = 0.5 * power;
-      *minor = 0.1 * power;
       *nsignif = factor - 1;
+    }	  
+    if (axis[0].areticks == 3) {
+      *major = 2.0 * power;
+      *nsignif = factor;
     }	  
   }
   if ((fmantis >= 3.999) && (fmantis <  5.999)) {
     *major = 1.0 * power;
-    *minor = 0.5 * power;
     *nsignif = factor;
     if (axis[0].areticks == 1) {
       *major = 1.0 * power;
-      *minor = 0.2 * power;
+      *nsignif = factor;
+    }	  
+    if (axis[0].areticks == 3) {
+      *major = 2.0 * power;
       *nsignif = factor;
     }	  
@@ -209,9 +219,11 @@
   if ((fmantis >= 5.999) && (fmantis <   7.999)) {
     *major = 2.0 * power;
-    *minor = 0.5 * power;
     *nsignif = factor;
     if (axis[0].areticks == 1) {
       *major = 1.0 * power;
-      *minor = 0.5 * power;
+      *nsignif = factor;
+    }	  
+    if (axis[0].areticks == 3) {
+      *major = 4.0 * power;
       *nsignif = factor;
     }	  
@@ -219,12 +231,15 @@
   if ((fmantis >= 7.999) && (fmantis <  10.000)) {
     *major = 2.5 * power;
-    *minor = 0.5 * power;
-      *nsignif = factor - 1;
+    *nsignif = factor - 1;
     if (axis[0].areticks == 1) {
       *major = 2.0 * power;
-      *minor = 0.5 * power;
-      *nsignif = factor;
-    }	  
-  }
+      *nsignif = factor;
+    }	  
+    if (axis[0].areticks == 3) {
+      *major = 4.0 * power;
+      *nsignif = factor;
+    }	  
+  }
+  *minor = *major / axis->fMinor;
 }
 
@@ -233,5 +248,5 @@
   TickMarkData *ticks;
   double range, major, minor, first, value;
-  int i, NTICKS, done, ifirst, nsignif;
+  int i, NTICKS, done, nsignif;
 
   *nticks = 0;
@@ -240,18 +255,9 @@
   if (isnan(axis->max) || isinf(axis->max)) return NULL;
   
-  range = axis->max - axis->min;
-
-  // not sure why I skip out here instead of using the MIN_RANGE value
-  if (fabs(range) < MIN_RANGE) return NULL;
-  
-  if (fabs(range) < MIN_RANGE) {
-    range = (range < 0) ? -MIN_RANGE : +MIN_RANGE;
-  }
-
   // length of the axis in pixels
   // int nPixels = hypot(axis->dfx, axis->dfy);
   // double dPixels = nPixels / range; // axis pixel-scale
 
-  AxisTickScale (axis, &major, &minor, &nsignif);
+  AxisTickScale (axis, &range, &major, &minor, &nsignif);
 
   // be a little generous 
@@ -259,20 +265,19 @@
   ALLOCATE (ticks, TickMarkData, NTICKS);
 
-  // value of the tick mark
-  ifirst = (axis->min < 0.0) ? (axis->min/minor - 0.05) : (axis->min/minor + 0.05);
+  // value of the first tick mark (near axis->min)
+  double minValue = axis->min / minor;
+  int ifirst = (int) minValue;
+
+  if ((axis->min > 0.0) && (minValue - ifirst > +0.1)) {
+    ifirst ++;
+  } 
+  if ((axis->min < 0.0) && (minValue - ifirst < -0.1)) {
+    ifirst --;
+  }
   first = minor*ifirst;
   
-  // allow undershoot by 1 pixel
-  // double overshoot = (axis->min - first) * dPixels;
-  // if (overshoot > 0.5) {
-  //   if (range > 0) {
-  //     first += minor;
-  //   } else {
-  //     first -= minor;
-  //   }
-  // }
-
-  // XXX need to fix first and last value for printing label: currently prints first label
-  // too early & fails to do last label if too close
+  // only write the labels for the inner fRange of the axies
+  double minLabelValue = 0.5*(1.0 - 1.001*axis->fLabelRange)*(axis->max - axis->min) + axis->min;
+  double maxLabelValue = 0.5*(1.0 + 1.001*axis->fLabelRange)*(axis->max - axis->min) + axis->min;
 
   // loop to find the ticks
@@ -284,5 +289,6 @@
     ticks[i].IsMajor |= (fabs((int)((value + 0.5*minor)/major) - (value/major)) < 0.5*(minor/major));
     ticks[i].IsMajor |= (fabs((int)((value - 0.5*minor)/major) - (value/major)) < 0.5*(minor/major));
-    ticks[i].IsLabel = (ticks[i].IsMajor && axis->islabel);
+    int inLabelRange = (range > 0) ? (value >= minLabelValue) && (value <= maxLabelValue) : (value <= minLabelValue) && (value >= maxLabelValue);
+    ticks[i].IsLabel = inLabelRange && ticks[i].IsMajor && axis->islabel;
     ticks[i].value = value;
     ticks[i].nsignif = nsignif;
@@ -292,6 +298,7 @@
       value -= minor;
     
-    done |= (range > 0) && (value > axis->max);
-    done |= (range < 0) && (value < axis->max);
+    done |= (range > 0) && (value > axis->max + 0.1*minor);
+    done |= (range < 0) && (value < axis->max - 0.1*minor);
+    // fprintf (stderr, "%d : %f %f %f %f\n", done, range, value, axis->max, 0.1*minor);
   }
 
Index: /trunk/Ohana/src/kapa2/src/Graphs.c
===================================================================
--- /trunk/Ohana/src/kapa2/src/Graphs.c	(revision 38985)
+++ /trunk/Ohana/src/kapa2/src/Graphs.c	(revision 38986)
@@ -23,4 +23,6 @@
     graph[0].axis[i].labelPad = NAN;
     graph[0].axis[i].pad = NAN;
+    graph[0].axis[i].fLabelRange = 1.0;
+    graph[0].axis[i].fMinor = 5.0;
   }    
   graph[0].data.ticktextPad = NAN;
@@ -35,4 +37,14 @@
   graph[0].data.padYm = NAN;
   graph[0].data.padYp = NAN;
+
+  graph[0].data.fLabelRangeXm = 1.0;
+  graph[0].data.fLabelRangeXp = 1.0;
+  graph[0].data.fLabelRangeYm = 1.0;
+  graph[0].data.fLabelRangeYp = 1.0;
+
+  graph[0].data.fMinorXm = 5.0;
+  graph[0].data.fMinorXp = 5.0;
+  graph[0].data.fMinorYm = 5.0;
+  graph[0].data.fMinorYp = 5.0;
 
   for (i = 0; i < 8; i++) {
Index: /trunk/Ohana/src/kapa2/src/LoadFrame.c
===================================================================
--- /trunk/Ohana/src/kapa2/src/LoadFrame.c	(revision 38985)
+++ /trunk/Ohana/src/kapa2/src/LoadFrame.c	(revision 38986)
@@ -37,4 +37,14 @@
   graph[0].axis[3].labelPad = graph[0].data.labelPadYp;
 
+  graph[0].axis[0].fLabelRange = graph[0].data.fLabelRangeXm;
+  graph[0].axis[1].fLabelRange = graph[0].data.fLabelRangeYm;
+  graph[0].axis[2].fLabelRange = graph[0].data.fLabelRangeXp;
+  graph[0].axis[3].fLabelRange = graph[0].data.fLabelRangeYp;
+
+  graph[0].axis[0].fMinor = graph[0].data.fMinorXm;
+  graph[0].axis[1].fMinor = graph[0].data.fMinorYm;
+  graph[0].axis[2].fMinor = graph[0].data.fMinorXp;
+  graph[0].axis[3].fMinor = graph[0].data.fMinorYp;
+
   for (i = 0; i < 4; i++) {
     graph[0].axis[i].lweight = graph[0].data.lweight;
@@ -63,4 +73,7 @@
     case '2':
       graph[0].axis[i].areticks = 2;
+      break;
+    case '3':
+      graph[0].axis[i].areticks = 3;
       break;
     }
Index: /trunk/Ohana/src/kapa2/src/PSFrame.c
===================================================================
--- /trunk/Ohana/src/kapa2/src/PSFrame.c	(revision 38985)
+++ /trunk/Ohana/src/kapa2/src/PSFrame.c	(revision 38986)
@@ -81,4 +81,11 @@
   y = fy + (value-min)*dfy/(max - min);
 
+  if ((naxis == 0) || (naxis == 2)) {
+    x = MIN(MAX(x, fx),fx+dfx);
+  }
+  if ((naxis == 1) || (naxis == 3)) {
+    y = MIN(MAX(y, fy),fy+dfy);
+  }
+
   dir = ((naxis == 0) || (naxis == 1)) ? +1 : -1;
   dx = dir*size*dfy*n;	
Index: /trunk/Ohana/src/kapa2/src/SetGraphData.c
===================================================================
--- /trunk/Ohana/src/kapa2/src/SetGraphData.c	(revision 38985)
+++ /trunk/Ohana/src/kapa2/src/SetGraphData.c	(revision 38986)
@@ -27,4 +27,14 @@
   graph[0].axis[2].labelPad = graph[0].data.labelPadXp;
   graph[0].axis[3].labelPad = graph[0].data.labelPadYp;
+
+  graph[0].axis[0].fLabelRange = graph[0].data.fLabelRangeXm;
+  graph[0].axis[1].fLabelRange = graph[0].data.fLabelRangeYm;
+  graph[0].axis[2].fLabelRange = graph[0].data.fLabelRangeXp;
+  graph[0].axis[3].fLabelRange = graph[0].data.fLabelRangeYp;
+
+  graph[0].axis[0].fMinor = graph[0].data.fMinorXm;
+  graph[0].axis[1].fMinor = graph[0].data.fMinorYm;
+  graph[0].axis[2].fMinor = graph[0].data.fMinorXp;
+  graph[0].axis[3].fMinor = graph[0].data.fMinorYp;
 
   graph[0].axis[0].pad = graph[0].data.padXm;
Index: /trunk/Ohana/src/kapa2/src/bDrawFrame.c
===================================================================
--- /trunk/Ohana/src/kapa2/src/bDrawFrame.c	(revision 38985)
+++ /trunk/Ohana/src/kapa2/src/bDrawFrame.c	(revision 38986)
@@ -84,4 +84,11 @@
   y = fy + (value-min)*dfy/(max - min);
 
+  if ((naxis == 0) || (naxis == 2)) {
+    x = MIN(MAX(x, fx),fx+dfx);
+  }
+  if ((naxis == 1) || (naxis == 3)) {
+    y = MAX(MIN(y, fy),fy+dfy);
+  }
+
   dir = ((naxis == 0) || (naxis == 1)) ? -1 : +1;
   dx = dir*size*dfy*n;	
Index: /trunk/Ohana/src/libautocode/Makefile.Targets
===================================================================
--- /trunk/Ohana/src/libautocode/Makefile.Targets	(revision 38985)
+++ /trunk/Ohana/src/libautocode/Makefile.Targets	(revision 38986)
@@ -56,5 +56,6 @@
 $(ASRC)/starpar-ps1-sim.$(ARCH).o \
 $(ASRC)/galphot.$(ARCH).o \
-$(ASRC)/galphot-ps1-v5.$(ARCH).o \
+$(ASRC)/galphot-ps1-v5-r0.$(ARCH).o \
+$(ASRC)/galphot-ps1-v5-r1.$(ARCH).o \
 $(ASRC)/missing.$(ARCH).o \
 $(ASRC)/photcode.$(ARCH).o \
@@ -168,5 +169,6 @@
 $(AINC)/starpar-ps1-sim.h \
 $(AINC)/galphot.h \
-$(AINC)/galphot-ps1-v5.h \
+$(AINC)/galphot-ps1-v5-r0.h \
+$(AINC)/galphot-ps1-v5-r1.h \
 $(AINC)/missing.h \
 $(AINC)/photcode.h \
Index: /trunk/Ohana/src/libautocode/def/average-ps1-v5.d
===================================================================
--- /trunk/Ohana/src/libautocode/def/average-ps1-v5.d	(revision 38985)
+++ /trunk/Ohana/src/libautocode/def/average-ps1-v5.d	(revision 38986)
@@ -26,5 +26,5 @@
 FIELD ChiSqAve,       CHISQ_POS,   float,           astrometry analysis chisq
 FIELD ChiSqPM,        CHISQ_PM,    float,           astrometry analysis chisq
-FIELD ChiSqPar,       CHISQ_PAP,   float,           astrometry analysis chisq
+FIELD ChiSqPar,       CHISQ_PLX,   float,           astrometry analysis chisq
 FIELD Tmean,          MEAN_EPOCH,  int,   	    mean epoch (PM,PAR ref),       unix time seconds
 FIELD Trange,         TIME_RANGE,  int,   	    mean epoch (PM,PAR ref),       unix time seconds
@@ -41,5 +41,5 @@
 FIELD Nlensing,       NLENSING,    unsigned short,  number of lensing measurements
 FIELD Nlensobj,       NLENSOBJ,    unsigned short,  number of lensing measurements
-FIELD Ngalphot,      NGALPHOT,   unsigned short,  number of galphot measurements
+FIELD Ngalphot,       NGALPHOT,    unsigned short,  number of galphot measurements
 
 FIELD measureOffset,  OFF_MEASURE,  int,   	    offset to first psf measurement
@@ -48,5 +48,5 @@
 FIELD lensobjOffset,  OFF_LENSOBJ,  int,   	    offset to mean lensing data
 FIELD starparOffset,  OFF_STARPAR,  int,   	    offset to stellar parameter data
-FIELD galphotOffset, OFF_GALPHOT, int,   	    offset to galphot object entry
+FIELD galphotOffset,  OFF_GALPHOT, int,   	    offset to galphot object entry
 
 FIELD refColorBlue,   REF_COLOR_BLUE, float,   	    color of astrometry ref stars
@@ -57,5 +57,5 @@
 FIELD projectionID,   PROJECTION_ID, short,	    ID of projection for primary skycell
 
-FIELD Nstarpar,       DUMMY,         short,         number of stellar parameter entries
+FIELD Nstarpar,       N_STAR_PAR,    short,         number of stellar parameter entries
 FIELD dummy,          DUMMY,         short,         unassigned bytes
 
@@ -69,5 +69,9 @@
 FIELD catID,          CAT_ID,      unsigned int,    unique ID for table in which object was first realized
 FIELD extID,          EXT_ID,      uint64_t,        external ID for object (eg PSPS objID)
-FIELD extIDgc,        EXT_ID_GC,   uint64_t,        external ID for object in galactic coords
+
+# replace extIDgc (unused) with uRgal, uDgal:
+# FIELD extIDgc,      EXT_ID_GC,   uint64_t,        external ID for object in galactic coords
+FIELD uRgal,          U_RA_GAL,    float,           modeled proper motion based on galactic motion
+FIELD uDgal,          U_DEC_GAL,   float,           modeled proper motion based on galactic motion
 
 # 4 double, 2 uint64_t, 17 float, 12 int, 6 short
Index: /trunk/Ohana/src/libautocode/def/average.d
===================================================================
--- /trunk/Ohana/src/libautocode/def/average.d	(revision 38985)
+++ /trunk/Ohana/src/libautocode/def/average.d	(revision 38986)
@@ -69,5 +69,9 @@
 FIELD catID,          CAT_ID,      unsigned int,    unique ID for table in which object was first realized
 FIELD extID,          EXT_ID,      uint64_t,        external ID for object (eg PSPS objID)
-FIELD extIDgc,        EXT_ID_GC,   uint64_t,        external ID for object in galactic coords
+
+# replace extIDgc (unused) with uRgal, uDgal:
+# FIELD extIDgc,      EXT_ID_GC,   uint64_t,        external ID for object in galactic coords
+FIELD uRgal,          U_RA_GAL,    float,           modeled proper motion based on galactic motion
+FIELD uDgal,          U_DEC_GAL,   float,           modeled proper motion based on galactic motion
 
 # this structure should only be used for internal representations
Index: /trunk/Ohana/src/libautocode/def/galphot-ps1-v5-r0.d
===================================================================
--- /trunk/Ohana/src/libautocode/def/galphot-ps1-v5-r0.d	(revision 38986)
+++ /trunk/Ohana/src/libautocode/def/galphot-ps1-v5-r0.d	(revision 38986)
@@ -0,0 +1,28 @@
+STRUCT       GalPhot_PS1_V5_R0
+EXTNAME      DVO_GALPHOT_PS1_V5
+TYPE         BINTABLE
+SIZE         72
+DESCRIPTION  DVO Galaxy Shape Table 
+
+FIELD Xfit,         XFIT,    	    float,          centroid for fit
+FIELD Yfit,         YFIT,    	    float,          centroid for fit
+FIELD mag,          MAG,    	    float,          galaxy magnitude
+FIELD magErr,       MAG_ERR,	    float,          galaxy magnitude error
+FIELD majorAxis,    MAJOR_AXIS,     float,          major axis size
+FIELD minorAxis,    MINOR_AXIS,     float,          minor axis size
+FIELD majorAxisErr, MAJOR_AXIS_ERR, float,          major axis size error
+FIELD minorAxisErr, MINOR_AXIS_ERR, float,          minor axis size error
+FIELD theta,        THETA,          float,          angle
+FIELD thetaErr,     THETA_ERR,      float,          angle error
+FIELD index,        INDEX,          float,          sersic index (if relevant)
+FIELD chisq,        CHISQ,   	    float,          fit chisq
+		    
+FIELD Npix,         NPIX,           float,          fitted pixels
+
+FIELD objID,        OBJ_ID,         unsigned int,   unique ID for object in table
+FIELD catID,        CAT_ID,         unsigned int,   unique ID for table in which object was first realized
+FIELD detID,        DET_ID,         unsigned int,   detection ID
+FIELD imageID,      IMAGE_ID,       unsigned int,   reference to DVO image ID
+
+FIELD photcode,     PHOTCODE,       short
+FIELD modelType,    MODEL_TYPE,     short,          mean lensing smear object E2
Index: /trunk/Ohana/src/libautocode/def/galphot-ps1-v5-r1.d
===================================================================
--- /trunk/Ohana/src/libautocode/def/galphot-ps1-v5-r1.d	(revision 38986)
+++ /trunk/Ohana/src/libautocode/def/galphot-ps1-v5-r1.d	(revision 38986)
@@ -0,0 +1,31 @@
+STRUCT       GalPhot_PS1_V5_R1
+EXTNAME      DVO_GALPHOT_PS1_V5
+TYPE         BINTABLE
+SIZE         80
+DESCRIPTION  DVO Galaxy Shape Table 
+
+FIELD Xfit,         XFIT,    	    float,          centroid for fit
+FIELD Yfit,         YFIT,    	    float,          centroid for fit
+FIELD mag,          MAG,    	    float,          galaxy magnitude
+FIELD magErr,       MAG_ERR,	    float,          galaxy magnitude error
+FIELD majorAxis,    MAJOR_AXIS,     float,          major axis size
+FIELD minorAxis,    MINOR_AXIS,     float,          minor axis size
+FIELD majorAxisErr, MAJOR_AXIS_ERR, float,          major axis size error
+FIELD minorAxisErr, MINOR_AXIS_ERR, float,          minor axis size error
+FIELD theta,        THETA,          float,          angle
+FIELD thetaErr,     THETA_ERR,      float,          angle error
+FIELD index,        INDEX,          float,          sersic index (if relevant)
+FIELD chisq,        CHISQ,   	    float,          fit chisq
+		    
+FIELD Npix,         NPIX,           float,          fitted pixels
+
+FIELD objID,        OBJ_ID,         unsigned int,   unique ID for object in table
+FIELD catID,        CAT_ID,         unsigned int,   unique ID for table in which object was first realized
+FIELD detID,        DET_ID,         unsigned int,   detection ID
+FIELD imageID,      IMAGE_ID,       unsigned int,   reference to DVO image ID
+
+FIELD averef,       AVEREF,         unsigned int,   reference to average table
+FIELD dummy,        DUMMY,          unsigned int,   filler
+
+FIELD photcode,     PHOTCODE,       short
+FIELD modelType,    MODEL_TYPE,     short,          mean lensing smear object E2
Index: /trunk/Ohana/src/libautocode/def/measure-ps1-v5.d
===================================================================
--- /trunk/Ohana/src/libautocode/def/measure-ps1-v5.d	(revision 38985)
+++ /trunk/Ohana/src/libautocode/def/measure-ps1-v5.d	(revision 38986)
@@ -70,5 +70,5 @@
 FIELD psfNdof,        PSF_NDOF,      int,            psf degrees of freedom
 FIELD psfNpix,        PSF_NPIX,      int,            psf number of pixels
-FIELD photFlags2,     PHOT_FLAGS,    int,            flags supplied by photometry program
+FIELD photFlags2,     PHOT_FLAGS2,   int,            flags supplied by photometry program
 FIELD extNsigma,      EXT_NSIGMA,    float,          Nsigma deviation towards EXT
 
Index: /trunk/Ohana/src/libautocode/def/measure.d
===================================================================
--- /trunk/Ohana/src/libautocode/def/measure.d	(revision 38985)
+++ /trunk/Ohana/src/libautocode/def/measure.d	(revision 38986)
@@ -42,4 +42,7 @@
 FIELD XoffCAM,        X_OFF_CAM,     float,          X offset from correction,     pixels
 FIELD YoffCAM,        Y_OFF_CAM,     float,          Y offset from correction,     pixels
+
+# XXX I can deprecate these as I am going to apply the correct uR,uD offset
+# XXX not sure how to use this yet...
 FIELD RoffGAL,        R_OFF_GAL,     float,          RA offset from correction,    arcsec
 FIELD DoffGAL,        D_OFF_GAL,     float,          DEC offset from correction,   arcsec
Index: /trunk/Ohana/src/libautocode/def/secfilt-ps1-v5.d
===================================================================
--- /trunk/Ohana/src/libautocode/def/secfilt-ps1-v5.d	(revision 38985)
+++ /trunk/Ohana/src/libautocode/def/secfilt-ps1-v5.d	(revision 38986)
@@ -10,8 +10,8 @@
 FIELD  Map,           MAG_AP,            float,    ave aperture mag in this band,         mags
 FIELD  dMap,          MAG_AP_ERR,        float,    ave aperture mag in this band,         mags
-FIELD  sMap,          MAG_AP_STDEV,    float,      standard deviation of ap mags,         mags
+FIELD  sMap,          MAG_AP_STDEV,      float,      standard deviation of ap mags,         mags
 FIELD  Mkron,         MAG_KRON,          float,    ave kron mag in this band,             mags
 FIELD  dMkron,        MAG_KRON_ERR,      float,    formal error on average kron mag,      mags
-FIELD  sMkron,        MAG_KRON_STDEV,  float,      standard deviation of kron mags,       mags
+FIELD  sMkron,        MAG_KRON_STDEV,    float,      standard deviation of kron mags,       mags
 				         
 # XXX I could add these fields to secfilt or calculate in dvopsps?
Index: /trunk/Ohana/src/libdvo/Makefile
===================================================================
--- /trunk/Ohana/src/libdvo/Makefile	(revision 38985)
+++ /trunk/Ohana/src/libdvo/Makefile	(revision 38986)
@@ -6,4 +6,5 @@
 HOME 	=	$(ROOT)/src/libdvo
 AUTO	=	$(ROOT)/src/libautocode
+BIN	=	$(HOME)/bin
 LIB	= 	$(HOME)/lib
 SRC	=	$(HOME)/src
@@ -22,5 +23,15 @@
 FULL_LDFLAGS  = $(BASE_LDFLAGS) -lFITS -lohana
 
-default: install
+TEST_CFLAGS   =	$(BASE_CFLAGS)
+TEST_CPPFLAGS =	$(BASE_CPPFLAGS)
+TEST_LDFLAGS  = $(BASE_LDFLAGS) -ldvo -lFITS -lohana -ltap_ohana
+
+TESTPROG = tap_AstromOffsetMapIO
+$(TESTPROG) : % : $(TESTBIN)/%
+test: $(TESTPROG)
+	for i in $(TESTPROG); do $(TESTBIN)/$$i 2>&1 | $(TESTHARNESS); done
+test.verbose: $(TESTPROG)
+	for i in $(TESTPROG); do $(TESTBIN)/$$i 2>&1 |& $(TESTHARNESS) -v; done
+
 install: $(DESTLIB)/libdvo.a $(DESTLIB)/libdvo.$(DLLTYPE)
 libdvo: $(LIB)/libdvo.$(ARCH).a $(LIB)/libdvo.$(ARCH).$(DLLTYPE)
@@ -183,10 +194,3 @@
 	cd $(AUTO) && $(MAKE) clean
 
-TESTPROG = 
-$(TESTPROG) : % : $(TESTBIN)/% $(OBJS)
-test: $(TESTPROG)
-	for i in $(TESTPROG); do $(TESTBIN)/$$i 2>&1 | $(TESTHARNESS); done
-test.verbose: $(TESTPROG)
-	for i in $(TESTPROG); do $(TESTBIN)/$$i 2>&1 |& $(TESTHARNESS) -v; done
-
-.PRECIOUS: $(ASRC)/%.c
+# .PRECIOUS: $(ASRC)/%.c
Index: /trunk/Ohana/src/libdvo/include/dvo.h
===================================================================
--- /trunk/Ohana/src/libdvo/include/dvo.h	(revision 38985)
+++ /trunk/Ohana/src/libdvo/include/dvo.h	(revision 38986)
@@ -171,7 +171,9 @@
   ID_PROPER            = 0x00000010, // star with large proper motion
   ID_TRANSIENT         = 0x00000020, // identified as a non-periodic (stationary) transient
-  ID_VARIABLE          = 0x00000040, // identified as a period variable
+  ID_VARIABLE          = 0x00000040, // identified as a periodic variable
   ID_ASTEROID          = 0x00000080, // identified with a known solar-system object (asteroid or other)
-  // bits 0x00000100 - 0x00008000 are currently unused
+  ID_STACK_ASTROM      = 0x00000100, // stack position used for astrometry
+  
+  // bits 0x00000200 - 0x00008000 are currently unused
   ID_STAR_FIT_AVE      = 0x00010000, // average position fitted
   ID_STAR_FIT_PM       = 0x00020000, // proper motion fitted
@@ -813,5 +815,4 @@
   int sorted;				/* is measure table average-sorted? (NOTE this is an int only because gfits_scan %t requires it) */
 
-
   /* pointers for data manipulation */
   off_t *found_t;
@@ -819,8 +820,4 @@
 
   char *measureRank;
-//  off_t *image_t;
-//  off_t *mosaic_t;
-//  float *X_t;
-//  float *Y_t;
   int   *nOwn_t; // relastro uses this to count owned detections per object
 
@@ -840,4 +837,6 @@
 int   gfits_db_free                PROTO((FITS_DB *db));
 
+int gfits_fread_uncompressed (Catalog *catalog, FTable *ftable, char *nativeOrder, char VERBOSE);
+
 char *libdvo_version (void);
 
@@ -903,4 +902,6 @@
 float PhotZeroPoint (Measure *measure, Average *average, SecFilt *secfilt);
 
+int PhotSecfiltFlags (PhotCode *code, Average *average, SecFilt *secfilt);
+int PhotNcode (PhotCode *code, Average *average, SecFilt *secfilt);
 int   PhotNphot (PhotCode *code, Average *average, SecFilt *secfilt, dvoMagClassType class, dvoMagSourceType source);
 float PhotMstdev (PhotCode *code, Average *average, SecFilt *secfilt, dvoMagClassType class, dvoMagSourceType source);
@@ -969,6 +970,6 @@
 void dvo_catalog_test (Catalog *catalog, int halt);
 
-int dvo_catalog_backup (Catalog *catalog, int primary);
-int dvo_catalog_unlink_backup (Catalog *catalog, int primary);
+int dvo_catalog_backup (Catalog *catalog, char *suffix, int primary);
+int dvo_catalog_unlink_backup (Catalog *catalog, char *suffix, int primary);
 
 /* catmode-specific APIs */
Index: /trunk/Ohana/src/libdvo/include/dvodb.h
===================================================================
--- /trunk/Ohana/src/libdvo/include/dvodb.h	(revision 38985)
+++ /trunk/Ohana/src/libdvo/include/dvodb.h	(revision 38986)
@@ -356,4 +356,5 @@
       IMAGE_FWHM_MEDIAN, 
       IMAGE_EXPTIME, 
+      IMAGE_EXPNAME_AS_INT,
       IMAGE_NSTAR, 
       IMAGE_NCAL, 
Index: /trunk/Ohana/src/libdvo/include/get_graphdata.h
===================================================================
--- /trunk/Ohana/src/libdvo/include/get_graphdata.h	(revision 38985)
+++ /trunk/Ohana/src/libdvo/include/get_graphdata.h	(revision 38986)
@@ -11,4 +11,6 @@
   double labelPadXm, labelPadYm, labelPadXp, labelPadYp;
   double padXm, padXp, padYm, padYp;
+  double fLabelRangeXm, fLabelRangeXp, fLabelRangeYm, fLabelRangeYp;
+  double fMinorXm, fMinorXp, fMinorYm, fMinorYp;
   Coords coords;
   int flipeast, flipnorth;
Index: /trunk/Ohana/src/libdvo/include/libdvo_astro.h
===================================================================
--- /trunk/Ohana/src/libdvo/include/libdvo_astro.h	(revision 38985)
+++ /trunk/Ohana/src/libdvo/include/libdvo_astro.h	(revision 38986)
@@ -56,6 +56,6 @@
   float dX;
   float dY;
-  float **dXv;
-  float **dYv;
+  float *dXv;
+  float *dYv;
   unsigned int tableID;
   unsigned int imageID;
@@ -65,4 +65,5 @@
 typedef struct {
   int Nmap;
+  int NMAP;
   AstromOffsetMap **map;
    int *imageIDtoTableSeq;
@@ -160,12 +161,14 @@
 
 /* in AstromOffsetMapIO.c */
-AstromOffsetTable *AstromOffsetMapLoad (char *filename, int VERBOSE);
+AstromOffsetTable *AstromOffsetMapLoad (char *filename, int Nrows, int VERBOSE);
 int AstromOffsetMapSave (AstromOffsetTable *table, char *filename);
 AstromOffsetTable *AstromOffsetMapToTable(AstromOffsetMap_Disk_6x6 *map_disk, off_t Nmap);
 AstromOffsetMap_Disk_6x6 *AstromOffsetTableToMap(AstromOffsetTable *table, off_t *Nmap);
+int AstromOffsetTableSetIDs (AstromOffsetTable *table);
+AstromOffsetTable *AstromOffsetMapAppendToTable(AstromOffsetTable *table, AstromOffsetMap_Disk_6x6 *map_disk, off_t Nmap);
 
 /* in AstromOffsetMapOps.c */
 float AstromOffsetMapValue (AstromOffsetMap *map, float x, float y, int xdir);
-int AstromOffsetMapFit (AstromOffsetMap *map, float *x, float *y, float *f, int Npts, int xdir);
+int AstromOffsetMapFit (AstromOffsetMap *map, float *x, float *y, float *f, float *df, int Npts, int xdir);
 
 /* in AstromOffsetMapUtils.c */
Index: /trunk/Ohana/src/libdvo/include/ps1_v5_defs.h
===================================================================
--- /trunk/Ohana/src/libdvo/include/ps1_v5_defs.h	(revision 38985)
+++ /trunk/Ohana/src/libdvo/include/ps1_v5_defs.h	(revision 38986)
@@ -23,6 +23,8 @@
 StarPar_PS1_V5          *StarParInternalTo_PS1_V5 (StarPar *in, off_t Nvalues);
 
-GalPhot 	       	*GalPhot_PS1_V5_ToInternal (GalPhot_PS1_V5 *in, off_t Nvalues);
-GalPhot_PS1_V5         *GalPhotInternalTo_PS1_V5 (GalPhot *in, off_t Nvalues);
+GalPhot 	       	*GalPhot_PS1_V5_R1_ToInternal (GalPhot_PS1_V5_R1 *in, off_t Nvalues);
+GalPhot                 *GalPhot_PS1_V5_R0_ToInternal (GalPhot_PS1_V5_R0 *in, off_t Nvalues);
+
+GalPhot_PS1_V5_R1       *GalPhotInternalTo_PS1_V5_R1 (GalPhot *in, off_t Nvalues);
 
 PhotCode                *PhotCode_PS1_V5_To_Internal (PhotCode_PS1_V5 *in, off_t Nvalues);
Index: /trunk/Ohana/src/libdvo/src/AstromOffsetMapIO.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/AstromOffsetMapIO.c	(revision 38985)
+++ /trunk/Ohana/src/libdvo/src/AstromOffsetMapIO.c	(revision 38986)
@@ -1,5 +1,5 @@
 # include "dvo.h"
 
-AstromOffsetTable *AstromOffsetMapLoad (char *filename, int VERBOSE) {
+AstromOffsetTable *AstromOffsetMapLoad (char *filename, int Nrows, int VERBOSE) {
 
   off_t Nmap;
@@ -7,6 +7,9 @@
   Header header;
   Matrix matrix;
+
   Header theader;
   FTable ftable;
+  ftable.header = &theader;
+  ftable.buffer = NULL;
 
   FILE *f = fopen (filename, "r");
@@ -17,5 +20,4 @@
 
   /* load in table data */
-  ftable.header = &theader;
   if (!gfits_fread_header (f, &header)) {
     if (VERBOSE) fprintf (stderr, "can't read Astrom Offset Map header\n");
@@ -30,26 +32,75 @@
   }
 
-  // for now, we only have one flavor (6x6)
-
-  if (!gfits_fread_ftable (f, &ftable, "ASTROM_OFFSET_MAP_DISK_6x6")) {
-    if (VERBOSE) fprintf (stderr, "can't read Astrom Offset Map table\n");
-    gfits_free_header (&header);
-    gfits_free_matrix (&matrix);
-    fclose (f);
-    return (NULL);
-  }
-  AstromOffsetMap_Disk_6x6 *map_disk = gfits_table_get_AstromOffsetMap_Disk_6x6 (&ftable, &Nmap, NULL, NULL);
-  if (!map_disk) {
-    fprintf (stderr, "ERROR: failed to read Astrom Offset Map\n");
-    exit (2);
-  }
-
-  // AstromOffsetMap_Disk_6x6 *map_disk is an external format stored as an array of maps.
-  // Convert the disk array of maps to then internal format in a rich structure:
-  AstromOffsetTable *table = AstromOffsetMapToTable (map_disk, Nmap);
+  // the output table is not what is stored in the FITS file.  read and convert 
+  // from the disk file format
+  AstromOffsetTable *table = NULL;
+
+  // for now, we only have one flavor (6x6) of disk file format
+
+  // loop over the ftable reading blocks of 100k rows at a time
+  if (Nrows) {
+    if (!gfits_find_Xheader (f, ftable.header, "ASTROM_OFFSET_MAP_DISK_6x6")) myAbort ("problem 1");
+    int NrowsTotal = ftable.header[0].Naxis[1];
+    int Nblocks = (NrowsTotal % Nrows) ? (int) (NrowsTotal / Nrows) + 1 : (NrowsTotal / Nrows);
+
+    // allocate the full array up front.  passes through AstromOffsetMapAppendToTable 
+    // check the current allocation and will bump the allocation as needed.
+    ALLOCATE (table, AstromOffsetTable, 1);
+    ALLOCATE (table->map, AstromOffsetMap *, NrowsTotal);
+    table->Nmap = 0;
+    table->NMAP = NrowsTotal;
+
+    // on each call to gfits_fread_ftable_range, we need to reset the FILE pointer to the
+    // beginning of the data block.  again this seems a little wrong.
+    off_t diskStart = ftello (f);
+
+    int i;
+    for (i = 0; i < Nblocks; i++) {
+      if (!gfits_fread_ftable_range (f, FALSE, FALSE, &ftable, i*Nrows, Nrows)) myAbort ("problem 2");
+    
+      AstromOffsetMap_Disk_6x6 *map_disk = gfits_table_get_AstromOffsetMap_Disk_6x6 (&ftable, &Nmap, NULL, NULL);
+      if (!map_disk) myAbort ("ERROR: failed to read Astrom Offset Map\n");
+
+      table = AstromOffsetMapAppendToTable (table, map_disk, Nmap);
+
+      // XXX this is kind of hack-ish: gfits_fread_ftable_range modifies Naxis[1] to the
+      // number of rows actually read, but this makes a subsequent read invalid.  I'm
+      // resetting the value of Naxis[1] before the next read to deal with this problem.
+      // But is there a more consistent way to address this?
+
+      // Answer: the FTable structure could include information about the table
+      // representation on disk, including start,Nrows values.  I'm not going to mess
+      // around with that just now.
+
+      ftable.header[0].Naxis[1] = NrowsTotal;
+      fseeko (f, diskStart, SEEK_SET);
+    }
+    AstromOffsetTableSetIDs (table);
+    gfits_free_header (ftable.header);
+    gfits_free_table  (&ftable);
+  } else {
+
+    // convert the blocks into the equivalent table entries and append
+    if (!gfits_fread_ftable (f, &ftable, "ASTROM_OFFSET_MAP_DISK_6x6")) {
+      if (VERBOSE) fprintf (stderr, "can't read Astrom Offset Map table\n");
+      gfits_free_header (&header);
+      gfits_free_matrix (&matrix);
+      fclose (f);
+      return (NULL);
+    }
+    AstromOffsetMap_Disk_6x6 *map_disk = gfits_table_get_AstromOffsetMap_Disk_6x6 (&ftable, &Nmap, NULL, NULL);
+    if (!map_disk) {
+      fprintf (stderr, "ERROR: failed to read Astrom Offset Map\n");
+      exit (2);
+    }
+
+    // AstromOffsetMap_Disk_6x6 *map_disk is an external format stored as an array of maps.
+    // Convert the disk array of maps to then internal format in a rich structure:
+    table = AstromOffsetMapToTable (map_disk, Nmap);
+    gfits_free_table  (&ftable);
+  }
 
   gfits_free_header (&theader);
   gfits_free_matrix (&matrix);
-  gfits_free_table  (&ftable);
 
   return (table);
@@ -135,24 +186,24 @@
     table->map[i][0].Nx 	  = map_disk[i].Nx;
     table->map[i][0].Ny 	  = map_disk[i].Ny;
-    table->map[i][0].tableID = map_disk[i].tableID;
-    table->map[i][0].imageID = map_disk[i].imageID;
+    table->map[i][0].tableID      = map_disk[i].tableID;
+    table->map[i][0].imageID      = map_disk[i].imageID;
     
     // STORE THESE VALUES?
-    table->map[i][0].dY 	  = map_disk[i].dX;
-    table->map[i][0].dX 	  = map_disk[i].dY;
+    table->map[i][0].dX 	  = map_disk[i].dX;
+    table->map[i][0].dY 	  = map_disk[i].dY;
 
     // since this was on disk, we obviously keep it
     table->map[i][0].keep 	  = TRUE;
 
-    ALLOCATE (table->map[i][0].dXv, float *, map_disk[i].Nx);
-    ALLOCATE (table->map[i][0].dYv, float *, map_disk[i].Nx);
-
-    for (j = 0; j < map_disk[i].Nx; j++) {
-      ALLOCATE (table->map[i][0].dXv[j], float, map_disk[i].Ny);
-      ALLOCATE (table->map[i][0].dYv[j], float, map_disk[i].Ny);
-
-      for (k = 0; k < map_disk[i].Ny; k++) {
-	table->map[i][0].dXv[j][k] = map_disk[i].dXv[j][k];
-	table->map[i][0].dYv[j][k] = map_disk[i].dYv[j][k];
+    int Nx = table->map[i][0].Nx;
+    int Ny = table->map[i][0].Ny;
+
+    ALLOCATE (table->map[i][0].dXv, float, Nx*Ny);
+    ALLOCATE (table->map[i][0].dYv, float, Nx*Ny);
+
+    for (j = 0; j < Nx; j++) {
+      for (k = 0; k < Ny; k++) {
+	table->map[i][0].dXv[j + k*Nx] = map_disk[i].dXv[j][k];
+	table->map[i][0].dYv[j + k*Nx] = map_disk[i].dYv[j][k];
       }
     }
@@ -182,10 +233,11 @@
     map_disk[Ndisk].dY 	    = table->map[i][0].dY;
 
-    
-
-    for (j = 0; j < map_disk[Ndisk].Nx; j++) {
-      for (k = 0; k < map_disk[Ndisk].Ny; k++) {
-	map_disk[Ndisk].dXv[j][k] = table->map[i][0].dXv[j][k];
-	map_disk[Ndisk].dYv[j][k] = table->map[i][0].dYv[j][k];
+    int Nx = table->map[i][0].Nx;
+    int Ny = table->map[i][0].Ny;
+
+    for (j = 0; j < Nx; j++) {
+      for (k = 0; k < Ny; k++) {
+	map_disk[Ndisk].dXv[j][k] = table->map[i][0].dXv[j + k*Nx];
+	map_disk[Ndisk].dYv[j][k] = table->map[i][0].dYv[j + k*Nx];
       }
       for (k = map_disk[Ndisk].Ny; k < 6; k++) {
@@ -206,2 +258,82 @@
 }
 
+AstromOffsetTable *AstromOffsetMapAppendToTable(AstromOffsetTable *table, AstromOffsetMap_Disk_6x6 *map_disk, off_t Nmap) {
+
+  int i, j, k, Nstart;
+
+  if (table == NULL) {
+    ALLOCATE (table, AstromOffsetTable, 1);
+    Nstart = 0;
+    table->Nmap = Nmap;
+    ALLOCATE (table->map, AstromOffsetMap *, Nmap);
+  } else {
+    Nstart = table->Nmap;
+    if (table->Nmap + Nmap > table->NMAP) {
+      table->NMAP = table->Nmap + Nmap;
+      REALLOCATE (table->map, AstromOffsetMap *, table->NMAP);
+    }
+    table->Nmap += Nmap;
+  }
+
+  // append map values (this allocates just the area needed for each image, not the
+  // full 6x6, saving some memory while doing the analysis)
+  for (i = 0; i < Nmap; i++) {
+    int N = i + Nstart;
+    ALLOCATE (table->map[N], AstromOffsetMap, 1);
+
+    table->map[N][0].Nx 	  = map_disk[i].Nx;
+    table->map[N][0].Ny 	  = map_disk[i].Ny;
+    table->map[N][0].tableID 	  = map_disk[i].tableID;
+    table->map[N][0].imageID 	  = map_disk[i].imageID;
+    
+    // STORE THESE VALUES?
+    table->map[N][0].dX 	  = map_disk[i].dX;
+    table->map[N][0].dY 	  = map_disk[i].dY;
+
+    // since this was on disk, we obviously keep it
+    table->map[N][0].keep 	  = TRUE;
+
+    int Nx = table->map[N][0].Nx;
+    int Ny = table->map[N][0].Ny;
+
+    ALLOCATE (table->map[N][0].dXv, float, Nx*Ny);
+    ALLOCATE (table->map[N][0].dYv, float, Nx*Ny);
+
+    for (j = 0; j < Nx; j++) {
+      for (k = 0; k < Ny; k++) {
+	table->map[N][0].dXv[j + k*Nx] = map_disk[i].dXv[j][k];
+	table->map[N][0].dYv[j + k*Nx] = map_disk[i].dYv[j][k];
+      }
+    }
+  }
+  return table;
+}
+
+int AstromOffsetTableSetIDs (AstromOffsetTable *table) {
+
+  int i;
+
+  // find the max value of imageID
+  int MaxTableID = 0;
+  int MaxImageID = 0;
+  for (i = 0; i < table->Nmap; i++) {
+    MaxTableID = MAX(table->map[i][0].tableID, MaxTableID);
+    MaxImageID = MAX(table->map[i][0].imageID, MaxImageID);
+  }
+  table->MaxTableID = MaxTableID;
+  table->MaxImageID = MaxImageID;
+
+  // generate the index and init values to -1
+  ALLOCATE (table->imageIDtoTableSeq, int, MaxImageID + 1);
+  for (i = 0; i <= MaxImageID; i++) {
+    table->imageIDtoTableSeq[i] = -1;
+  }
+
+  // assign the ID values
+  for (i = 0; i < table->Nmap; i++) {
+    int ImageID = table->map[i][0].imageID;
+    myAssert (table->imageIDtoTableSeq[ImageID] == -1, "oops, duplicate image IDs");
+    table->imageIDtoTableSeq[ImageID] = i;
+  }
+  return TRUE;
+}
Index: /trunk/Ohana/src/libdvo/src/AstromOffsetMapOps.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/AstromOffsetMapOps.c	(revision 38985)
+++ /trunk/Ohana/src/libdvo/src/AstromOffsetMapOps.c	(revision 38986)
@@ -6,5 +6,5 @@
 int dump_map_data (float *x, float *y, float *f, int Npts, char *filename);
 int AstromOffsetMapFit_Chisq (AstromOffsetMap *map, float *x, float *y, float *f, int Npts, int xdir);
-int AstromOffsetMapFit_Median (AstromOffsetMap *map, float *x, float *y, float *f, int Npts, int xdir);
+int AstromOffsetMapFit_Mean (AstromOffsetMap *map, float *x, float *y, float *f, float *df, int Npts, int xdir);
 
 float AstromOffsetMapValue (AstromOffsetMap *map, float x, float y, int xdir) {
@@ -12,30 +12,33 @@
   // given x,y find the offset (x-direction) at that location from the map
 
-  float **V = xdir ? map->dXv : map->dYv;
+  int Nx = map->Nx;
+  int Ny = map->Ny;
+
+  float *V = xdir ? map->dXv : map->dYv;
 
   // if there is no spatial information, the value at the point is the value in the map
-  if ((map->Nx == 1) && (map->Ny == 1)) return V[0][0];
+  if ((Nx == 1) && (Ny == 1)) return V[0];
 
   // if there is no spatial information in 1D, the interpolation is 1D
-  if (map->Nx == 1) {
+  if (Nx == 1) {
     float ymo = y * map->dY - 0.5;
     int   ymi = floor(ymo);
-    ymi = MAX(0,MIN(map->Ny - 2, ymi)); // force range of ymi to be 0,Ny-2 (Ny must be > 1)
+    ymi = MAX(0,MIN(Ny - 2, ymi)); // force range of ymi to be 0,Ny-2 (Ny must be > 1)
 
     float ymf = ymo - ymi;
 
-    float value = ymf * V[0][ymi+1] + (1.0 - ymf) * V[0][ymi];
+    float value = ymf * V[ymi+1] + (1.0 - ymf) * V[ymi];
     return value;
   }
 
   // if there is no spatial information in 1D, the interpolation is 1D
-  if (map->Ny == 1) {
+  if (Ny == 1) {
     float xmo = x * map->dX - 0.5;
     int   xmi = floor(xmo);
-    xmi = MAX(0,MIN(map->Nx - 2, xmi)); // force range of ymi to be 0,Nx-2  (Nx must be > 1)
+    xmi = MAX(0,MIN(Nx - 2, xmi)); // force range of ymi to be 0,Nx-2  (Nx must be > 1)
 
     float xmf = xmo - xmi;
 
-    float value = xmf * V[xmi+1][0] + (1.0 - xmf) * V[xmi][0];
+    float value = xmf * V[xmi+1] + (1.0 - xmf) * V[xmi];
     return value;
   }
@@ -45,16 +48,16 @@
   float xmo = x * map->dX - 0.5;
   int   xmi = floor(xmo);
-  xmi = MAX(0,MIN(map->Nx - 2, xmi)); // force range of ymi to be 0,Nx-1
+  xmi = MAX(0,MIN(Nx - 2, xmi)); // force range of ymi to be 0,Nx-1
   float xmf = xmo - xmi;
 
   float ymo = y * map->dY - 0.5;
   int   ymi = floor(ymo);
-  ymi = MAX(0,MIN(map->Ny - 2, ymi)); // force range of ymi to be 0,Ny-2
+  ymi = MAX(0,MIN(Ny - 2, ymi)); // force range of ymi to be 0,Ny-2
   float ymf = ymo - ymi;
 
-  float V00 = V[xmi+0][ymi+0];
-  float V01 = V[xmi+0][ymi+1];
-  float V10 = V[xmi+1][ymi+0];
-  float V11 = V[xmi+1][ymi+1];
+  float V00 = V[xmi+0 + (ymi+0)*Nx];
+  float V01 = V[xmi+0 + (ymi+1)*Nx];
+  float V10 = V[xmi+1 + (ymi+0)*Nx];
+  float V11 = V[xmi+1 + (ymi+1)*Nx];
 
   float Vx0 = V10*xmf + V00*(1.0 - xmf);
@@ -65,7 +68,7 @@
 }
 
-int AstromOffsetMapFit (AstromOffsetMap *map, float *x, float *y, float *f, int Npts, int xdir) {
-
-  int status = AstromOffsetMapFit_Median (map, x, y, f, Npts, xdir);
+int AstromOffsetMapFit (AstromOffsetMap *map, float *x, float *y, float *f, float *df, int Npts, int xdir) {
+
+  int status = AstromOffsetMapFit_Mean (map, x, y, f, df, Npts, xdir);
   return status;
 }
@@ -78,5 +81,5 @@
 
   // choose to map direction:
-  float **V = xdir ? map->dXv : map->dYv;
+  float *Vptr = xdir ? map->dXv : map->dYv;
 
   // special cases:
@@ -88,5 +91,5 @@
 
     vstats_getstats_f (f, NULL, NULL, Npts, &stats);
-    V[0][0] = stats.mean;
+    Vptr[0] = stats.mean;
     return TRUE;
   }
@@ -352,5 +355,5 @@
     for (iy = 0; iy < Ny; iy++) {
       int I = ix + Nx * iy;
-      V[ix][iy] = B[I][0];
+      Vptr[I] = B[I][0];
       // error[ix][iy] = sqrt(A[I][I]);
     }
@@ -371,10 +374,10 @@
 // given (x,y),value vector sets, choose the map that minimizes the difference between 
 // the values and bilinear interpolation of the map
-int AstromOffsetMapFit_Median (AstromOffsetMap *map, float *x, float *y, float *f, int Npts, int xdir) {
+int AstromOffsetMapFit_Mean (AstromOffsetMap *map, float *x, float *y, float *f, float *df, int Npts, int xdir) {
 
   int i, ix, iy;
 
   // choose to map direction:
-  float **V = xdir ? map->dXv : map->dYv;
+  float *Vptr = xdir ? map->dXv : map->dYv;
 
   // measure clipped median in each bin
@@ -386,10 +389,12 @@
   int Npix = Nx*Ny;
 
-  double **values;
+  double **values, **dvalues;
   int    *Nvalue;
   ALLOCATE (Nvalue, int, Npix);
   ALLOCATE (values, double *, Npix);
+  ALLOCATE (dvalues, double *, Npix);
   for (i = 0; i < Npix; i++) {
     ALLOCATE (values[i], double, Npts);
+    ALLOCATE (dvalues[i], double, Npts);
     Nvalue[i] = 0;
   }
@@ -400,4 +405,6 @@
     // data value & weight for this point
     if (!isfinite(f[i])) continue;
+    if (df && !isfinite(df[i])) continue;
+    if (df && df[i] == 0.0) continue;
 
     // if (mask && (mask[i] & maskValue)) continue;
@@ -414,4 +421,5 @@
     int N = Nvalue[I];
     values[I][N] = f[i];
+    dvalues[I][N] = df ? df[i] : 1.0;
     Nvalue[I] ++;
   }    
@@ -421,8 +429,8 @@
       int I = ix + Nx * iy;
       if (Nvalue[I] > 5) {
-	vstats_getstats (values[I], NULL, NULL, Nvalue[I], &stats);
-	V[ix][iy] = stats.mean;
+	vstats_getstats (values[I], dvalues[I], NULL, Nvalue[I], &stats);
+	Vptr[I] = stats.mean;
       } else {
-	V[ix][iy] = NAN;
+	Vptr[I] = NAN;
       }
     }
@@ -432,6 +440,8 @@
   for (i = 0; i < Npix; i++) {
     free (values[i]);
+    free (dvalues[i]);
   }    
   free (values);
+  free (dvalues);
   free (Nvalue);
 
@@ -453,10 +463,9 @@
   int ix, iy;
 
-  float **Vfix = NULL;
-  ALLOCATE (Vfix, float *, Nx);
+  float *Vfix = NULL;
+  ALLOCATE (Vfix, float, Nx*Ny);
   for (ix = 0; ix < Nx; ix++) {
-    ALLOCATE (Vfix[ix], float, Ny);
-    for (iy = 0; iy < Ny; iy++) {
-      Vfix[ix][iy] = NAN;
+    for (iy = 0; iy < Ny; iy++) {
+      Vfix[ix + iy*Nx] = NAN;
     }
   }
@@ -468,5 +477,6 @@
   for (ix = 0; ix < Nx; ix++) {
     for (iy = 0; iy < Ny; iy++) {
-      float value = xdir ? map->dXv[ix][iy] : map->dYv[ix][iy];
+      int I = ix + iy*Nx;
+      float value = xdir ? map->dXv[I] : map->dYv[I];
       if (isnan(value)) continue;
       mean += value;
@@ -479,8 +489,8 @@
   for (ix = 0; ix < Nx; ix++) {
     for (iy = 0; iy < Ny; iy++) {
-
-      float value = xdir ? map->dXv[ix][iy] : map->dYv[ix][iy];
+      int I = ix + iy*Nx;
+      float value = xdir ? map->dXv[I] : map->dYv[I];
       if (!isnan(value)) {
-	Vfix[ix][iy] = value;
+	Vfix[I] = value;
 	continue;
       }
@@ -499,5 +509,6 @@
 	  if (ny < 0) continue;
 	  if (ny >= Ny) continue;
-	  float value = xdir ? map->dXv[nx][ny] : map->dYv[nx][ny];
+	  int I = ix + iy*Nx;
+	  float value = xdir ? map->dXv[I] : map->dYv[I];
 	  if (isnan(value)) continue;
 
@@ -508,5 +519,5 @@
       // if there are no valid (non-NAN) local pixels, use global mean
       meanLocal = (npixLocal > 0.0) ? meanLocal / npixLocal : mean;
-      Vfix[ix][iy] = meanLocal;
+      Vfix[I] = meanLocal;
     }
   }
@@ -515,13 +526,11 @@
   for (ix = 0; ix < Ny; ix++) {
     for (iy = 0; iy < Ny; iy++) {
+      int I = ix + iy*Nx;
       if (xdir) {
-	map->dXv[ix][iy] = Vfix[ix][iy];
+	map->dXv[I] = Vfix[I];
       } else {
-	map->dYv[ix][iy] = Vfix[ix][iy];
-      }
-    }
-  }
-  for (ix = 0; ix < Nx; ix++) {
-    free (Vfix[ix]);
+	map->dYv[I] = Vfix[I];
+      }
+    }
   }
   free (Vfix);
Index: /trunk/Ohana/src/libdvo/src/AstromOffsetMapUtils.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/AstromOffsetMapUtils.c	(revision 38985)
+++ /trunk/Ohana/src/libdvo/src/AstromOffsetMapUtils.c	(revision 38986)
@@ -36,15 +36,12 @@
   map->keep = TRUE; // output map size
 
-  ALLOCATE (map->dXv, float *, map->Nx);
-  ALLOCATE (map->dYv, float *, map->Nx);
-
-  int j, k;
-  for (j = 0; j < map->Nx; j++) {
-    ALLOCATE (map->dXv[j], float, map->Ny);
-    ALLOCATE (map->dYv[j], float, map->Ny);
-
-    for (k = 0; k < map->Ny; k++) {
-      map->dXv[j][k] = 0.0;
-      map->dYv[j][k] = 0.0;
+  ALLOCATE (map->dXv, float, Nx*Ny);
+  ALLOCATE (map->dYv, float, Nx*Ny);
+
+  int j, k;
+  for (j = 0; j < Nx; j++) {
+    for (k = 0; k < Ny; k++) {
+      map->dXv[j + k*Nx] = 0.0;
+      map->dYv[j + k*Nx] = 0.0;
     }
   }
@@ -56,10 +53,4 @@
 
   if (!map) return;
-
-  int j;
-  for (j = 0; j < map->Nx; j++) {
-    if (map->dXv) free (map->dXv[j]);
-    if (map->dYv) free (map->dYv[j]);
-  }
 
   free (map->dXv);
@@ -76,8 +67,4 @@
 
   // rather than try to figure out how to resize, and free/allocate, lets just free the old arrays and make new ones
-  for (j = 0; j < map->Nx; j++) {
-    if (map->dXv) free (map->dXv[j]);
-    if (map->dYv) free (map->dYv[j]);
-  }
   free (map->dXv);
   free (map->dYv);
@@ -90,14 +77,11 @@
   map->keep = TRUE; // output map size
 
-  ALLOCATE (map->dXv, float *, map->Nx);
-  ALLOCATE (map->dYv, float *, map->Nx);
-
-  for (j = 0; j < map->Nx; j++) {
-    ALLOCATE (map->dXv[j], float, map->Ny);
-    ALLOCATE (map->dYv[j], float, map->Ny);
-
-    for (k = 0; k < map->Ny; k++) {
-      map->dXv[j][k] = 0.0;
-      map->dYv[j][k] = 0.0;
+  ALLOCATE (map->dXv, float, Nx*Ny);
+  ALLOCATE (map->dYv, float, Nx*Ny);
+
+  for (j = 0; j < Nx; j++) {
+    for (k = 0; k < Ny; k++) {
+      map->dXv[j + k*Nx] = 0.0;
+      map->dYv[j + k*Nx] = 0.0;
     }
   }
@@ -116,9 +100,12 @@
   tgt->tableID = map->tableID; 
 
-  int j, k;
-  for (j = 0; j < tgt->Nx; j++) {
-    for (k = 0; k < map->Ny; k++) {
-      tgt->dXv[j][k] = map->dXv[j][k];
-      tgt->dYv[j][k] = map->dYv[j][k];
+  int Nx = map->Nx;
+  int Ny = map->Ny;
+
+  int j, k;
+  for (j = 0; j < Nx; j++) {
+    for (k = 0; k < Ny; k++) {
+      tgt->dXv[j + k*Nx] = map->dXv[j + k*Nx];
+      tgt->dYv[j + k*Nx] = map->dYv[j + k*Nx];
     }
   }
@@ -139,9 +126,12 @@
   tgt->keep = src->keep; 
 
-  int j, k;
-  for (j = 0; j < tgt->Nx; j++) {
-    for (k = 0; k < src->Ny; k++) {
-      tgt->dXv[j][k] = src->dXv[j][k];
-      tgt->dYv[j][k] = src->dYv[j][k];
+  int Nx = src->dX;
+  int Ny = src->dY;
+
+  int j, k;
+  for (j = 0; j < Nx; j++) {
+    for (k = 0; k < Ny; k++) {
+      tgt->dXv[j + k*Nx] = src->dXv[j + k*Nx];
+      tgt->dYv[j + k*Nx] = src->dYv[j + k*Nx];
     }
   }
@@ -153,10 +143,6 @@
   if (!table) return;
 
-  int i, j;
+  int i;
   for (i = 0; i < table->Nmap; i++) {
-    for (j = 0; j < table->map[i][0].Nx; j++) {
-      free (table->map[i][0].dXv[j]);
-      free (table->map[i][0].dYv[j]);
-    }
     if (!table->map[i]) continue;
     FREE (table->map[i][0].dXv);
@@ -260,17 +246,20 @@
   }
 
+  int Nx = map->Nx;
+  int Ny = map->Ny;
+
   fprintf (f, "imageID: %d, tableID: %d (dX: %f, dY: %f), keep: %d\n", map->imageID, map->tableID, map->dX, map->dY, map->keep);
   int ix, iy;
   fprintf (f, "dXv map:\n");
-  for (ix = 0; ix < map->Nx; ix++) {
-    for (iy = 0; iy < map->Ny; iy++) {
-      fprintf (f, "%9.5f ", map->dXv[ix][iy]);
+  for (ix = 0; ix < Nx; ix++) {
+    for (iy = 0; iy < Ny; iy++) {
+      fprintf (f, "%9.5f ", map->dXv[ix + iy*Nx]);
     }
     fprintf (f, "\n");
   }
   fprintf (f, "dYv map:\n");
-  for (ix = 0; ix < map->Nx; ix++) {
-    for (iy = 0; iy < map->Ny; iy++) {
-      fprintf (f, "%9.5f ", map->dYv[ix][iy]);
+  for (ix = 0; ix < Nx; ix++) {
+    for (iy = 0; iy < Ny; iy++) {
+      fprintf (f, "%9.5f ", map->dYv[ix + iy*Nx]);
     }
     fprintf (f, "\n");
Index: /trunk/Ohana/src/libdvo/src/LoadImages.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/LoadImages.c	(revision 38985)
+++ /trunk/Ohana/src/libdvo/src/LoadImages.c	(revision 38986)
@@ -85,5 +85,5 @@
 
   if (table) AstromOffsetTableFree(table);
-  table = AstromOffsetMapLoad (mapfile, FALSE);
+  table = AstromOffsetMapLoad (mapfile, 100000, FALSE);
 
   // assign images.coords.offsetMap -> table->map[i]
Index: /trunk/Ohana/src/libdvo/src/dbExtractImages.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/dbExtractImages.c	(revision 38985)
+++ /trunk/Ohana/src/libdvo/src/dbExtractImages.c	(revision 38986)
@@ -233,4 +233,14 @@
       value.Flt = image[N].exptime;
       break;
+
+    case IMAGE_EXPNAME_AS_INT:
+      // XXX NOTE this does not handle gpc2 images
+      if ((image[N].name[0] == 'o') && (image[N].name[5] == 'g') && (image[N].name[10] == 'o')) {
+	int mjd  = atoi(&image[N].name[1]);
+	int Nexp = atoi(&image[N].name[6]);
+	value.Int = mjd * 10000 + Nexp;
+      }
+      break;
+
     case IMAGE_SIDTIME:
       value.Flt = image[N].sidtime;
Index: /trunk/Ohana/src/libdvo/src/dbExtractMeasures.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/dbExtractMeasures.c	(revision 38985)
+++ /trunk/Ohana/src/libdvo/src/dbExtractMeasures.c	(revision 38986)
@@ -241,12 +241,15 @@
 	  break;
 
-	case MAG_OPTION_STDEV:
-	case MAG_OPTION_CHISQ:
-	case MAG_OPTION_MIN:
-	case MAG_OPTION_MAX:
-	case MAG_OPTION_NCODE:
-	case MAG_OPTION_NPHOT:
-	case MAG_OPTION_UC_DIST:
-	case MAG_OPTION_FLAGS:
+	  // the following are all values which are come from the secfit table
+	case MAG_OPTION_STDEV:   { value.Flt = PhotMstdev (equiv, average, secfilt, field->magClass, field->magSource); break; }
+	case MAG_OPTION_CHISQ:   { value.Flt = PhotXm (equiv, average, secfilt); break; }
+	case MAG_OPTION_MIN:     { value.Flt = PhotMmin (equiv, average, secfilt); break;}
+	case MAG_OPTION_MAX:     { value.Flt = PhotMmax (equiv, average, secfilt); break;}
+	case MAG_OPTION_NCODE:   { value.Int = PhotNcode (equiv, average, secfilt); break; }
+	case MAG_OPTION_NPHOT:   { value.Int = PhotNphot (equiv, average, secfilt, field->magClass, field->magSource); break; }
+	case MAG_OPTION_UC_DIST: { value.Flt = PhotUCdist (equiv, average, secfilt); break; }
+	case MAG_OPTION_FLAGS:   { value.Int = PhotSecfiltFlags (equiv, average, secfilt); break; }
+	  
+	  // the following values come from the mean lensobj table
 	case MAG_OPTION_X11_SM_OBJ: 
 	case MAG_OPTION_X12_SM_OBJ: 
Index: /trunk/Ohana/src/libdvo/src/dbFields.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/dbFields.c	(revision 38985)
+++ /trunk/Ohana/src/libdvo/src/dbFields.c	(revision 38986)
@@ -356,4 +356,5 @@
     dvoMagSourceType source = GetMagSource (word);
     if (source != MAG_SRC_NONE) {
+      // if mySource is already set, then we have two 'source' elements (an error)
       if (mySource != MAG_SRC_NONE) { fprintf (stderr, "invalid selection %s in %s\n", word, fieldName); free (word); return FALSE; } 
       mySource = source;
@@ -364,4 +365,5 @@
     dvoMagLevelType level = GetMagLevel (word);
     if (level != MAG_LEVEL_NONE) {
+      // if myLevel is already set, then we have two 'level' elements (an error)
       if (myLevel != MAG_LEVEL_NONE) { fprintf (stderr, "invalid selection %s in %s\n", word, fieldName); free (word); return FALSE; } 
       myLevel = level;
@@ -372,4 +374,5 @@
     dvoMagClassType class = GetMagClass (word);
     if (class != MAG_CLASS_NONE) {
+      // if myClass is already set, then we have two 'class' elements (an error)
       if (myClass != MAG_CLASS_NONE) { fprintf (stderr, "invalid selection %s in %s\n", word, fieldName); free (word); return FALSE; } 
       myClass = class;
@@ -380,36 +383,22 @@
     dvoMagOptionType option = GetMagOption (word);
     if (option != MAG_OPTION_NONE) {
-      // some combinations are OK: mag + err -> err
-      if ((myOption == MAG_OPTION_MAG) && (option == MAG_OPTION_ERR)) {
+      // if myClass is already set, then we have two 'class' elements
+      // this is an error unless the request was of the form mag:value
+      // if so, then code->type will be PHOT_MAG
+
+      if (code->type == PHOT_MAG) {
+	// mag:err -> magerr
+	if ((myOption == MAG_OPTION_MAG) && (option == MAG_OPTION_ERR)) {
+	  myOption = MAG_OPTION_ERR;
+	  ptr = skipword (ptr);
+	  continue;
+	} 
+	// flux:err -> fluxerr
+	if ((myOption == MAG_OPTION_FLUX) && (option == MAG_OPTION_ERR)) {
+	  myOption = MAG_OPTION_FLUX_ERR;
+	  ptr = skipword (ptr);
+	  continue;
+	} 
 	myOption = option;
-	ptr = skipword (ptr);
-	continue;
-      }
-      // some combinations are OK: err + mag -> err
-      if ((myOption == MAG_OPTION_ERR) && (option == MAG_OPTION_MAG)) {
-	ptr = skipword (ptr);
-	continue;
-      }
-      // some combinations are OK: flux + err -> FLUX_ERR
-      if ((myOption == MAG_OPTION_FLUX) && (option == MAG_OPTION_ERR)) {
-	myOption = MAG_OPTION_FLUX_ERR;
-	ptr = skipword (ptr);
-	continue;
-      }
-      // some combinations are OK: err + flux -> FLUX_ERR
-      if ((myOption == MAG_OPTION_ERR) && (option == MAG_OPTION_FLUX)) {
-	myOption = MAG_OPTION_FLUX_ERR;
-	ptr = skipword (ptr);
-	continue;
-      }
-      // some combinations are OK: flux + fluxerr -> FLUX_ERR
-      if ((myOption == MAG_OPTION_FLUX) && (option == MAG_OPTION_FLUX_ERR)) {
-	myOption = MAG_OPTION_FLUX_ERR;
-	ptr = skipword (ptr);
-	continue;
-      }
-      // some combinations are OK: fluxerr + flux -> FLUX_ERR
-      if ((myOption == MAG_OPTION_FLUX_ERR) && (option == MAG_OPTION_FLUX)) {
-	myOption = MAG_OPTION_FLUX_ERR;
 	ptr = skipword (ptr);
 	continue;
@@ -815,4 +804,5 @@
   if (!strcasecmp (fieldName, "photcode" )) ESCAPE (IMAGE_PHOTCODE,  OPIHI_INT);
   if (!strcasecmp (fieldName, "exptime"  )) ESCAPE (IMAGE_EXPTIME,   OPIHI_FLT);
+  if (!strcasecmp (fieldName, "expname"  )) ESCAPE (IMAGE_EXPNAME_AS_INT, OPIHI_INT);
   if (!strcasecmp (fieldName, "sidtime"  )) ESCAPE (IMAGE_SIDTIME,   OPIHI_FLT);
 
Index: /trunk/Ohana/src/libdvo/src/dvo_catalog.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/dvo_catalog.c	(revision 38985)
+++ /trunk/Ohana/src/libdvo/src/dvo_catalog.c	(revision 38986)
@@ -200,5 +200,7 @@
   average->catID     	   = 0;
   average->extID     	   = 0;
-  average->extIDgc    	   = 0;
+
+  average->uRgal           = NAN;
+  average->uDgal           = NAN;
 }
 
@@ -600,11 +602,8 @@
 
   /* pointers for data manipulation */
-  // catalog[0].X_t = NULL;
-  // catalog[0].Y_t = NULL;
   catalog[0].nOwn_t = NULL;
   catalog[0].found_t = NULL;
-  // catalog[0].image_t = NULL;
-  // catalog[0].mosaic_t = NULL;
   catalog[0].foundWarp_t = NULL;
+  catalog[0].measureRank = NULL;
 }
 
@@ -922,4 +921,6 @@
 void dvo_catalog_free (Catalog *catalog) {
 
+  if (!catalog) return;
+
   if (catalog[0].catmode == DVO_MODE_SPLIT) {
 
@@ -1044,5 +1045,5 @@
 
 // make a backup of this catalog (including the measure, secfilt, and missing tables as needed)
-int dvo_catalog_backup (Catalog *catalog, int primary) {
+int dvo_catalog_backup (Catalog *catalog, char *suffix, int primary) {
 
   // skip empty cpt files
@@ -1052,5 +1053,5 @@
 
   char tmpfilename[DVO_MAX_PATH];
-  int status = snprintf (tmpfilename, DVO_MAX_PATH, "%s~", catalog->filename);
+  int status = snprintf (tmpfilename, DVO_MAX_PATH, "%s%s", catalog->filename, suffix);
   if (status >= DVO_MAX_PATH) {
     fprintf (stderr, "path name too long: %s\n", catalog->filename);
@@ -1067,4 +1068,18 @@
   }
 
+  // play it safe: do not overwrite an existing backup file
+  struct stat fileStats;
+  status = stat (tmpfilename, &fileStats);
+  if (!status) {
+    fprintf (stderr, "ERROR: backup file %s already exists, exiting\n", tmpfilename);
+    return FALSE;
+  }
+  
+  // some error accessing the file.  there is only one acceptable error: file not found
+  if (status && (errno != ENOENT)) {
+    perror ("problem with output target");
+    return FALSE;
+  }
+
   status = rename (catalog->filename, tmpfilename);
   if (status) {
@@ -1085,15 +1100,15 @@
   if (catalog[0].catmode == DVO_MODE_SPLIT) {
     if (catalog[0].measure_catalog != NULL) {
-      if (!dvo_catalog_backup (catalog[0].measure_catalog, FALSE)) {
+      if (!dvo_catalog_backup (catalog[0].measure_catalog, suffix, FALSE)) {
 	return FALSE;
       }
     }
     if (catalog[0].missing_catalog != NULL) {
-      if (!dvo_catalog_backup (catalog[0].missing_catalog, FALSE)) {
+      if (!dvo_catalog_backup (catalog[0].missing_catalog, suffix, FALSE)) {
 	return FALSE;
       }
     }
     if (catalog[0].secfilt_catalog != NULL) {
-      if (!dvo_catalog_backup (catalog[0].secfilt_catalog, FALSE)) {
+      if (!dvo_catalog_backup (catalog[0].secfilt_catalog, suffix, FALSE)) {
 	return FALSE;
       }
@@ -1104,5 +1119,5 @@
 	status = dvo_catalog_lock (catalog[0].lensing_catalog, lockmode);
       } else {
-	if (!dvo_catalog_backup (catalog[0].lensing_catalog, FALSE)) {
+	if (!dvo_catalog_backup (catalog[0].lensing_catalog, suffix, FALSE)) {
 	  return FALSE;
 	}
@@ -1114,5 +1129,5 @@
 	status = dvo_catalog_lock (catalog[0].lensobj_catalog, lockmode);
       } else {
-	if (!dvo_catalog_backup (catalog[0].lensobj_catalog, FALSE)) {
+	if (!dvo_catalog_backup (catalog[0].lensobj_catalog, suffix, FALSE)) {
 	  return FALSE;
 	}
@@ -1124,5 +1139,5 @@
 	status = dvo_catalog_lock (catalog[0].starpar_catalog, lockmode);
       } else {
-	if (!dvo_catalog_backup (catalog[0].starpar_catalog, FALSE)) {
+	if (!dvo_catalog_backup (catalog[0].starpar_catalog, suffix, FALSE)) {
 	  return FALSE;
 	}
@@ -1134,5 +1149,5 @@
 	status = dvo_catalog_lock (catalog[0].galphot_catalog, lockmode);
       } else {
-	if (!dvo_catalog_backup (catalog[0].galphot_catalog, FALSE)) {
+	if (!dvo_catalog_backup (catalog[0].galphot_catalog, suffix, FALSE)) {
 	  return FALSE;
 	}
@@ -1144,5 +1159,5 @@
 
 // make a backup of this catalog (including the measure, secfilt, and missing tables as needed)
-int dvo_catalog_unlink_backup (Catalog *catalog, int primary) {
+int dvo_catalog_unlink_backup (Catalog *catalog, char *suffix, int primary) {
 
   if (primary && !catalog->Naverage_disk) {
@@ -1152,5 +1167,5 @@
 
   char tmpfilename[DVO_MAX_PATH];
-  int status = snprintf (tmpfilename, DVO_MAX_PATH, "%s~", catalog->filename);
+  int status = snprintf (tmpfilename, DVO_MAX_PATH, "%s%s", catalog->filename, suffix);
   if (status >= DVO_MAX_PATH) {
     fprintf (stderr, "path name too long: %s\n", catalog->filename);
@@ -1168,35 +1183,35 @@
   if (catalog[0].catmode == DVO_MODE_SPLIT) {
     if (catalog[0].measure_catalog != NULL) {
-      if (!dvo_catalog_unlink_backup (catalog[0].measure_catalog, FALSE)) {
+      if (!dvo_catalog_unlink_backup (catalog[0].measure_catalog, suffix, FALSE)) {
 	outStatus = FALSE;
       }
     }
     if (catalog[0].missing_catalog != NULL) {
-      if (!dvo_catalog_unlink_backup (catalog[0].missing_catalog, FALSE)) {
+      if (!dvo_catalog_unlink_backup (catalog[0].missing_catalog, suffix, FALSE)) {
 	outStatus = FALSE;
       }
     }
     if (catalog[0].secfilt_catalog != NULL) {
-      if (!dvo_catalog_unlink_backup (catalog[0].secfilt_catalog, FALSE)) {
+      if (!dvo_catalog_unlink_backup (catalog[0].secfilt_catalog, suffix, FALSE)) {
 	outStatus = FALSE;
       }
     }
     if ((catalog[0].lensing_catalog != NULL) && (catalog[0].Nlensing_disk > 0)) {
-      if (!dvo_catalog_unlink_backup (catalog[0].lensing_catalog, FALSE)) {
+      if (!dvo_catalog_unlink_backup (catalog[0].lensing_catalog, suffix, FALSE)) {
 	outStatus = FALSE;
       }
     }
     if ((catalog[0].lensobj_catalog != NULL) && (catalog[0].Nlensobj_disk > 0)) {
-      if (!dvo_catalog_unlink_backup (catalog[0].lensobj_catalog, FALSE)) {
+      if (!dvo_catalog_unlink_backup (catalog[0].lensobj_catalog, suffix, FALSE)) {
 	outStatus = FALSE;
       }
     }
     if ((catalog[0].starpar_catalog != NULL) && (catalog[0].Nstarpar_disk > 0)) {
-      if (!dvo_catalog_unlink_backup (catalog[0].starpar_catalog, FALSE)) {
+      if (!dvo_catalog_unlink_backup (catalog[0].starpar_catalog, suffix, FALSE)) {
 	outStatus = FALSE;
       }
     }
     if ((catalog[0].galphot_catalog != NULL) && (catalog[0].Ngalphot_disk > 0)) {
-      if (!dvo_catalog_unlink_backup (catalog[0].galphot_catalog, FALSE)) {
+      if (!dvo_catalog_unlink_backup (catalog[0].galphot_catalog, suffix, FALSE)) {
 	outStatus = FALSE;
       }
Index: /trunk/Ohana/src/libdvo/src/dvo_catalog_split.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/dvo_catalog_split.c	(revision 38985)
+++ /trunk/Ohana/src/libdvo/src/dvo_catalog_split.c	(revision 38986)
@@ -92,4 +92,6 @@
   if (OHANA_MEMCHECK) ohana_memcheck (TRUE);
   
+  if (!catalog->f) return TRUE;
+
   /* rewind file pointers and truncate (file is still open) */
   if (fseeko (catalog->f, 0LL, SEEK_SET)) {
@@ -98,4 +100,6 @@
     return FALSE;
   }
+
+  if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE);
 
   // write PHU header
@@ -118,4 +122,6 @@
   gfits_free_matrix (&matrix);
 # endif
+
+  if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE);
 
   FTable *outtable = ftable;
@@ -135,5 +141,5 @@
     char *compressMode = dvo_catalog_compress_string (catalog->catcompress);
     // I should test how Ntile affects fpack/funpack and speed
-    if (!gfits_compress_table (ftable, &cmptable, 1000, compressMode)) {
+    if (!gfits_compress_table (ftable, &cmptable, 10000, compressMode)) {
       fprintf (stderr, "compression failure\n");
       free (compressMode);
@@ -548,5 +554,5 @@
     }
     /* read Average table data : format is irrelevant here */
-    if (!gfits_fread_ftable_range (catalog[0].f, FALSE, &ftable, start, Nrows)) {
+    if (!gfits_fread_ftable_range (catalog[0].f, FALSE, FALSE, &ftable, start, Nrows)) {
       if (VERBOSE) fprintf (stderr, "can't read table average data");
       return (FALSE);
@@ -578,5 +584,5 @@
     }
     /* read Secfilt table data : format is irrelevant here */
-    if (!gfits_fread_ftable_range (subcat[0].f, FALSE, &ftable, start*catalog[0].Nsecfilt, catalog[0].Naverage*catalog[0].Nsecfilt)) {
+    if (!gfits_fread_ftable_range (subcat[0].f, FALSE, FALSE, &ftable, start*catalog[0].Nsecfilt, catalog[0].Naverage*catalog[0].Nsecfilt)) {
       if (VERBOSE) fprintf (stderr, "can't read table measure data");
       return (FALSE);
@@ -614,5 +620,5 @@
     }
     /* read Measure table data : format is irrelevant here */
-    if (!gfits_fread_ftable_range (subcat[0].f, FALSE, &ftable, start, Nrows)) {
+    if (!gfits_fread_ftable_range (subcat[0].f, FALSE, FALSE, &ftable, start, Nrows)) {
       if (VERBOSE) fprintf (stderr, "can't read table measure data");
       return (FALSE);
@@ -645,5 +651,5 @@
     }
     /* read Missing table data : format is irrelevant here */
-    if (!gfits_fread_ftable_range (subcat[0].f, FALSE, &ftable, start, Nrows)) {
+    if (!gfits_fread_ftable_range (subcat[0].f, FALSE, FALSE, &ftable, start, Nrows)) {
       if (VERBOSE) fprintf (stderr, "can't read table missing data");
       return (FALSE);
@@ -679,5 +685,5 @@
     }
     /* read Lensing table data : format is irrelevant here */
-    if (!gfits_fread_ftable_range (subcat[0].f, FALSE, &ftable, start, Nrows)) {
+    if (!gfits_fread_ftable_range (subcat[0].f, FALSE, FALSE, &ftable, start, Nrows)) {
       if (VERBOSE) fprintf (stderr, "can't read table lensing data");
       return (FALSE);
@@ -710,5 +716,5 @@
     }
     /* read Lensobj table data : format is irrelevant here */
-    if (!gfits_fread_ftable_range (subcat[0].f, FALSE, &ftable, start, Nrows)) {
+    if (!gfits_fread_ftable_range (subcat[0].f, FALSE, FALSE, &ftable, start, Nrows)) {
       if (VERBOSE) fprintf (stderr, "can't read table lensobj data");
       return (FALSE);
@@ -741,5 +747,5 @@
     }
     /* read StarPar table data : format is irrelevant here */
-    if (!gfits_fread_ftable_range (subcat[0].f, FALSE, &ftable, start, Nrows)) {
+    if (!gfits_fread_ftable_range (subcat[0].f, FALSE, FALSE, &ftable, start, Nrows)) {
       if (VERBOSE) fprintf (stderr, "can't read table starpar data");
       return (FALSE);
@@ -772,5 +778,5 @@
     }
     /* read GalPhot table data : format is irrelevant here */
-    if (!gfits_fread_ftable_range (subcat[0].f, FALSE, &ftable, start, Nrows)) {
+    if (!gfits_fread_ftable_range (subcat[0].f, FALSE, FALSE, &ftable, start, Nrows)) {
       if (VERBOSE) fprintf (stderr, "can't read table galphot data");
       return (FALSE);
@@ -842,4 +848,6 @@
   }
 
+  if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE);
+
   Nmeasure_disk_new = MAX (catalog[0].Nmeasure_disk, catalog[0].Nmeasure + catalog[0].Nmeasure_off);
   Nmissing_disk_new = MAX (catalog[0].Nmissing_disk, catalog[0].Nmissing + catalog[0].Nmissing_off);
@@ -865,4 +873,6 @@
   /* in split mode, we can save only part of the data */ 
 
+  if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE);
+
   /*** Average Table ***/
   if ((catalog[0].catflags & DVO_LOAD_AVERAGE) && (catalog[0].average != NULL)) {
@@ -890,8 +900,12 @@
     }
 
+    if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE);
+
     if (!dvo_catalog_save_subcat (catalog, &ftable, start, Nrows, catalog[0].Naverage_disk, Naverage_disk_new)) {
       fprintf (stderr, "failure writing Average table\n");
       goto failure;
     }
+
+    if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE);
 
     gfits_free_header (&header);
@@ -922,4 +936,6 @@
     assert (catalog[0].Nmeasure_disk >= catalog[0].Nmeasure_off);
 
+    if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE);
+
     // if we are going to compress, we need to receive unswapped data -- 
     int swapFromNative = !output_is_compressed (start, Nrows, Nmeasure_disk_new, catalog->catcompress);
@@ -930,4 +946,6 @@
       goto failure;
     }
+
+    if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE);
 
     // write out Measure table
@@ -937,4 +955,6 @@
       goto failure;
     }
+    if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE);
+
 
     gfits_free_header (&header);
@@ -986,4 +1006,6 @@
     int swapFromNative = !output_is_compressed (start, Nrows, Nsecfilt_disk_new, catalog->catcompress);
 
+    if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE);
+
     // convert to external table format
     if (!SecFiltToFtable (&ftable, &secfilt[first], Nrows, catalog[0].catformat, swapFromNative)) {
@@ -991,4 +1013,6 @@
       goto failure;
     }
+
+    if (OHANA_MEMCHECK) ohana_memcheck_func (TRUE);
 
     // write out SecFilt table
@@ -1003,5 +1027,5 @@
 
   /*** Lensing Table ***/
-  if ((catalog[0].catflags & DVO_LOAD_LENSING) && (catalog[0].lensing != NULL)) {
+  if ((catalog[0].catflags & DVO_LOAD_LENSING) && catalog[0].lensing && Nlensing_disk_new) {
 
     off_t first  = 0;                    // first row in memory to write
@@ -1034,5 +1058,5 @@
 
   /*** Lensobj Table ***/
-  if ((catalog[0].catflags & DVO_LOAD_LENSOBJ) && (catalog[0].lensobj != NULL)) {
+  if ((catalog[0].catflags & DVO_LOAD_LENSOBJ) && catalog[0].lensobj && Nlensobj_disk_new) {
 
     off_t first  = 0;                    // first row in memory to write
@@ -1065,5 +1089,5 @@
 
   /*** StarPar Table ***/
-  if ((catalog[0].catflags & DVO_LOAD_STARPAR) && (catalog[0].starpar != NULL)) {
+  if ((catalog[0].catflags & DVO_LOAD_STARPAR) && catalog[0].starpar && Nstarpar_disk_new) {
 
     off_t first  = 0;                    // first row in memory to write
@@ -1096,5 +1120,5 @@
 
   /*** GalPhot Table ***/
-  if ((catalog[0].catflags & DVO_LOAD_GALPHOT) && (catalog[0].galphot != NULL)) {
+  if ((catalog[0].catflags & DVO_LOAD_GALPHOT) && catalog[0].galphot && Ngalphot_disk_new) {
 
     off_t first  = 0;                    // first row in memory to write
Index: /trunk/Ohana/src/libdvo/src/dvo_convert.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/dvo_convert.c	(revision 38985)
+++ /trunk/Ohana/src/libdvo/src/dvo_convert.c	(revision 38986)
@@ -77,4 +77,5 @@
     average = Average_PS1_V4alt_ToInternal (tmpAverage, *Naverage);
     free (tmpAverage);
+    ftable[0].buffer = NULL;
     *format = DVO_FORMAT_PS1_V4;
     return (average); 
@@ -91,19 +92,21 @@
     average = Average_PS1_V5alt_ToInternal (tmpAverage, *Naverage);
     free (tmpAverage);
+    ftable[0].buffer = NULL;
     *format = DVO_FORMAT_PS1_V5;
     return (average); 
   }
 
-# define CONVERT_FORMAT(NAME, FORMAT, TYPE) \
-  if (!strcmp (extname, NAME)) { \
-    Average_##TYPE *tmpAverage; \
-      tmpAverage = gfits_table_get_Average_##TYPE (ftable, Naverage, NULL, &nativeBytes); \
-    if (!tmpAverage) { \
-      fprintf (stderr, "ERROR: failed to read averages\n"); \
-      exit (2); \
-    } \
+# define CONVERT_FORMAT(NAME, FORMAT, TYPE)				\
+  if (!strcmp (extname, NAME)) {					\
+    Average_##TYPE *tmpAverage;						\
+    tmpAverage = gfits_table_get_Average_##TYPE (ftable, Naverage, NULL, &nativeBytes); \
+    if (!tmpAverage) {							\
+      fprintf (stderr, "ERROR: failed to read averages\n");		\
+      exit (2);								\
+    }									\
     average = Average_##TYPE##_ToInternal (tmpAverage, *Naverage, primary); \
-    free (tmpAverage); \
-    *format = DVO_FORMAT_##FORMAT; \
+    free (tmpAverage);							\
+    ftable[0].buffer = NULL;						\
+    *format = DVO_FORMAT_##FORMAT;					\
     return (average); }
 
@@ -141,11 +144,11 @@
 int AverageToFtable (FTable *ftable, Average *average, off_t Naverage, DVOCatFormat format, SecFilt *primary, int swapFromNative) {
   
-# define FORMAT_CASE(FORMAT, TYPE)		\
+# define FORMAT_CASE(FORMAT, TYPE)					\
   case DVO_FORMAT_##FORMAT: {						\
     Average_##TYPE *tmpAverage;						\
-      tmpAverage = AverageInternalTo_##TYPE (average, Naverage, primary); \
-	gfits_table_set_Average_##TYPE (ftable, tmpAverage, Naverage, swapFromNative); \
-	  free (tmpAverage);						\
-	  break; }
+    tmpAverage = AverageInternalTo_##TYPE (average, Naverage, primary); \
+    gfits_table_set_Average_##TYPE (ftable, tmpAverage, Naverage, swapFromNative); \
+    free (tmpAverage);							\
+    break; }
   
   /* convert from the internal format */
@@ -195,4 +198,5 @@
   if (!strcmp (extname, "DVO_MEASURE_PS1_V4") && (ftable[0].header[0].Naxis[0] == 176)) {
     fprintf (stderr, "reading alt PS1_V4 format\n");
+    myAssert (!nativeBytes, "need to implement optional swap");
     Measure_PS1_V4alt *tmpMeasure;
     tmpMeasure = gfits_table_get_Measure_PS1_V4alt (ftable, Nmeasure, NULL);
@@ -204,4 +208,5 @@
     measure = Measure_PS1_V4alt_ToInternal (average, tmpMeasure, *Nmeasure);
     free (tmpMeasure);
+    ftable[0].buffer = NULL;
     *format = DVO_FORMAT_PS1_V4;
     return (measure); 
@@ -211,4 +216,5 @@
   if (!strcmp (extname, "DVO_MEASURE_PS1_V5") && (ftable[0].header[0].Naxis[0] == 232)) {
     fprintf (stderr, "reading alt PS1_V5 format\n");
+    myAssert (!nativeBytes, "need to implement optional swap");
     Measure_PS1_V5alt *tmpMeasure;
     tmpMeasure = gfits_table_get_Measure_PS1_V5alt (ftable, Nmeasure, NULL);
@@ -220,19 +226,21 @@
     measure = Measure_PS1_V5alt_ToInternal (average, tmpMeasure, *Nmeasure);
     free (tmpMeasure);
+    ftable[0].buffer = NULL;
     *format = DVO_FORMAT_PS1_V5;
     return (measure); 
   }
 
-# define CONVERT_FORMAT(NAME, FORMAT, TYPE, ABS_COORDS)		\
+# define CONVERT_FORMAT(NAME, FORMAT, TYPE, ABS_COORDS)			\
   if (!strcmp (extname, NAME)) {					\
     Measure_##TYPE *tmpMeasure;						\
-      tmpMeasure = gfits_table_get_Measure_##TYPE (ftable, Nmeasure, NULL, &nativeBytes); \
-	if (!tmpMeasure) {						\
-	  fprintf (stderr, "ERROR: failed to read measures\n");		\
-	  exit (2);							\
-	}								\
-	myAssert (ABS_COORDS || average, "conversion to internal needs average table"); \
+    tmpMeasure = gfits_table_get_Measure_##TYPE (ftable, Nmeasure, NULL, &nativeBytes); \
+    if (!tmpMeasure) {							\
+      fprintf (stderr, "ERROR: failed to read measures\n");		\
+      exit (2);								\
+    }									\
+    myAssert (ABS_COORDS || average, "conversion to internal needs average table"); \
     measure = Measure_##TYPE##_ToInternal (average, tmpMeasure, *Nmeasure); \
     free (tmpMeasure);							\
+    ftable[0].buffer = NULL;						\
     *format = DVO_FORMAT_##FORMAT;					\
     return (measure); }
@@ -272,12 +280,12 @@
 int MeasureToFtable (FTable *ftable, Average *average, Measure *measure, off_t Nmeasure, DVOCatFormat format, int swapFromNative) {
 
-# define FORMAT_CASE(FORMAT, TYPE, ABS_COORDS)		\
-    case DVO_FORMAT_##FORMAT: { \
-      Measure_##TYPE *tmpMeasure; \
-      myAssert (ABS_COORDS || average, "conversion from internal needs average table"); \
-      tmpMeasure = MeasureInternalTo_##TYPE (average, measure, Nmeasure); \
-	gfits_table_set_Measure_##TYPE (ftable, tmpMeasure, Nmeasure, swapFromNative); \
-      free (tmpMeasure); \
-      break; }
+# define FORMAT_CASE(FORMAT, TYPE, ABS_COORDS)				\
+  case DVO_FORMAT_##FORMAT: {						\
+    Measure_##TYPE *tmpMeasure;						\
+    myAssert (ABS_COORDS || average, "conversion from internal needs average table"); \
+    tmpMeasure = MeasureInternalTo_##TYPE (average, measure, Nmeasure); \
+    gfits_table_set_Measure_##TYPE (ftable, tmpMeasure, Nmeasure, swapFromNative); \
+    free (tmpMeasure);							\
+    break; }
 
   /* convert from the internal format */
@@ -322,12 +330,12 @@
   }
 
-# define SKIPPING_FORMAT(NAME, FORMAT, TYPE)		\
+# define SKIPPING_FORMAT(NAME, FORMAT, TYPE)				\
   if (!strcmp (extname, NAME)) {					\
     fprintf (stderr, "ERROR: format %s not defined for missing, skipping\n", NAME); \
-    *Nmissing = 0; \
-    return NULL; \
-  }
-
-# define CONVERT_FORMAT(NAME, FORMAT, TYPE)		\
+    *Nmissing = 0;							\
+    return NULL;							\
+  }
+
+# define CONVERT_FORMAT(NAME, FORMAT, TYPE)				\
   if (!strcmp (extname, NAME)) {					\
     Missing_##TYPE *tmpMissing;						\
@@ -337,6 +345,7 @@
       exit (2);								\
     }									\
-    missing = Missing_##TYPE##_ToInternal (tmpMissing, *Nmissing); \
+    missing = Missing_##TYPE##_ToInternal (tmpMissing, *Nmissing);	\
     free (tmpMissing);							\
+    ftable[0].buffer = NULL;						\
     *format = DVO_FORMAT_##FORMAT;					\
     return (missing); }
@@ -408,4 +417,5 @@
     secfilt = SecFilt_PS1_V5alt_ToInternal (tmpSecFilt, *Nsecfilt);
     free (tmpSecFilt);
+    ftable[0].buffer = NULL;
     *format = DVO_FORMAT_PS1_V5;
     return (secfilt); 
@@ -413,15 +423,16 @@
 
 
-# define CONVERT_FORMAT(NAME, FORMAT, TYPE) \
-  if (!strcmp (extname, NAME)) { \
-    SecFilt_##TYPE *tmpSecFilt; \
+# define CONVERT_FORMAT(NAME, FORMAT, TYPE)				\
+  if (!strcmp (extname, NAME)) {					\
+    SecFilt_##TYPE *tmpSecFilt;						\
     tmpSecFilt = gfits_table_get_SecFilt_##TYPE (ftable, Nsecfilt, NULL, &nativeBytes); \
-    if (!tmpSecFilt) { \
-      fprintf (stderr, "ERROR: failed to read secfilts\n"); \
-      exit (2); \
-    } \
-    secfilt = SecFilt_##TYPE##_ToInternal (tmpSecFilt, *Nsecfilt); \
-    free (tmpSecFilt); \
-    *format = DVO_FORMAT_##FORMAT; \
+    if (!tmpSecFilt) {							\
+      fprintf (stderr, "ERROR: failed to read secfilts\n");		\
+      exit (2);								\
+    }									\
+    secfilt = SecFilt_##TYPE##_ToInternal (tmpSecFilt, *Nsecfilt);	\
+    free (tmpSecFilt);							\
+    ftable[0].buffer = NULL;						\
+    *format = DVO_FORMAT_##FORMAT;					\
     return (secfilt); }
 
@@ -459,11 +470,11 @@
 int SecFiltToFtable (FTable *ftable, SecFilt *secfilt, off_t Nsecfilt, DVOCatFormat format, int swapFromNative) {
 
-# define FORMAT_CASE(FORMAT, TYPE) \
-    case DVO_FORMAT_##FORMAT: { \
-      SecFilt_##TYPE *tmpSecFilt; \
-      tmpSecFilt = SecFiltInternalTo_##TYPE (secfilt, Nsecfilt); \
-	gfits_table_set_SecFilt_##TYPE (ftable, tmpSecFilt, Nsecfilt, swapFromNative); \
-      free (tmpSecFilt); \
-      break; }
+# define FORMAT_CASE(FORMAT, TYPE)					\
+  case DVO_FORMAT_##FORMAT: {						\
+    SecFilt_##TYPE *tmpSecFilt;						\
+    tmpSecFilt = SecFiltInternalTo_##TYPE (secfilt, Nsecfilt);		\
+    gfits_table_set_SecFilt_##TYPE (ftable, tmpSecFilt, Nsecfilt, swapFromNative); \
+    free (tmpSecFilt);							\
+    break; }
 
   /* convert from the internal format */
@@ -517,4 +528,5 @@
     lensing = Lensing_PS1_V5_R0_ToInternal (tmpLensing, *Nlensing); 
     free (tmpLensing);							
+    ftable[0].buffer = NULL;
     *format = DVO_FORMAT_PS1_V5;					
     return (lensing); }
@@ -529,4 +541,5 @@
     lensing = Lensing_PS1_V5_R1_ToInternal (tmpLensing, *Nlensing); 
     free (tmpLensing);							
+    ftable[0].buffer = NULL;
     *format = DVO_FORMAT_PS1_V5;					
     return (lensing); }
@@ -541,15 +554,16 @@
     lensing = Lensing_PS1_V5_R2_ToInternal (tmpLensing, *Nlensing); 
     free (tmpLensing);							
+    ftable[0].buffer = NULL;
     *format = DVO_FORMAT_PS1_V5;					
     return (lensing); }
 
-# define SKIPPING_FORMAT(NAME, FORMAT, TYPE)		\
+# define SKIPPING_FORMAT(NAME, FORMAT, TYPE)				\
   if (!strcmp (extname, NAME)) {					\
     fprintf (stderr, "ERROR: format %s not defined for lensing, skipping\n", NAME); \
-    *Nlensing = 0; \
-    return NULL; \
-  }
-
-# define CONVERT_FORMAT(NAME, FORMAT, TYPE)		\
+    *Nlensing = 0;							\
+    return NULL;							\
+  }
+
+# define CONVERT_FORMAT(NAME, FORMAT, TYPE)				\
   if (!strcmp (extname, NAME)) {					\
     Lensing_##TYPE *tmpLensing;						\
@@ -559,6 +573,7 @@
       exit (2);								\
     }									\
-    lensing = Lensing_##TYPE##_ToInternal (tmpLensing, *Nlensing); \
+    lensing = Lensing_##TYPE##_ToInternal (tmpLensing, *Nlensing);	\
     free (tmpLensing);							\
+    ftable[0].buffer = NULL;						\
     *format = DVO_FORMAT_##FORMAT;					\
     return (lensing); }
@@ -599,11 +614,11 @@
 int LensingToFtable (FTable *ftable, Lensing *lensing, off_t Nlensing, DVOCatFormat format, int swapFromNative) {
 
-# define FORMAT_CASE(FORMAT, TYPE)		\
-    case DVO_FORMAT_##FORMAT: { \
-      Lensing_##TYPE *tmpLensing; \
-      tmpLensing = LensingInternalTo_##TYPE (lensing, Nlensing); \
-	gfits_table_set_Lensing_##TYPE (ftable, tmpLensing, Nlensing, swapFromNative); \
-      free (tmpLensing); \
-      break; }
+# define FORMAT_CASE(FORMAT, TYPE)					\
+  case DVO_FORMAT_##FORMAT: {						\
+    Lensing_##TYPE *tmpLensing;						\
+    tmpLensing = LensingInternalTo_##TYPE (lensing, Nlensing);		\
+    gfits_table_set_Lensing_##TYPE (ftable, tmpLensing, Nlensing, swapFromNative); \
+    free (tmpLensing);							\
+    break; }
 
   /* convert from the internal format */
@@ -656,15 +671,16 @@
     lensobj = Lensobj_PS1_V5_R0_ToInternal (tmpLensobj, *Nlensobj); 
     free (tmpLensobj);							
+    ftable[0].buffer = NULL;
     *format = DVO_FORMAT_PS1_V5;					
     return (lensobj); }
 
-# define SKIPPING_FORMAT(NAME, FORMAT, TYPE)		\
+# define SKIPPING_FORMAT(NAME, FORMAT, TYPE)				\
   if (!strcmp (extname, NAME)) {					\
     fprintf (stderr, "ERROR: format %s not defined for lensobj, skipping\n", NAME); \
-    *Nlensobj = 0; \
-    return NULL; \
-  }
-
-# define CONVERT_FORMAT(NAME, FORMAT, TYPE)		\
+    *Nlensobj = 0;							\
+    return NULL;							\
+  }
+
+# define CONVERT_FORMAT(NAME, FORMAT, TYPE)				\
   if (!strcmp (extname, NAME)) {					\
     Lensobj_##TYPE *tmpLensobj;						\
@@ -674,6 +690,7 @@
       exit (2);								\
     }									\
-    lensobj = Lensobj_##TYPE##_ToInternal (tmpLensobj, *Nlensobj); \
+    lensobj = Lensobj_##TYPE##_ToInternal (tmpLensobj, *Nlensobj);	\
     free (tmpLensobj);							\
+    ftable[0].buffer = NULL;						\
     *format = DVO_FORMAT_##FORMAT;					\
     return (lensobj); }
@@ -714,11 +731,11 @@
 int LensobjToFtable (FTable *ftable, Lensobj *lensobj, off_t Nlensobj, DVOCatFormat format, int swapFromNative) {
 
-# define FORMAT_CASE(FORMAT, TYPE)		\
-    case DVO_FORMAT_##FORMAT: { \
-      Lensobj_##TYPE *tmpLensobj; \
-      tmpLensobj = LensobjInternalTo_##TYPE (lensobj, Nlensobj); \
-	gfits_table_set_Lensobj_##TYPE (ftable, tmpLensobj, Nlensobj, swapFromNative); \
-      free (tmpLensobj); \
-      break; }
+# define FORMAT_CASE(FORMAT, TYPE)					\
+  case DVO_FORMAT_##FORMAT: {						\
+    Lensobj_##TYPE *tmpLensobj;						\
+    tmpLensobj = LensobjInternalTo_##TYPE (lensobj, Nlensobj);		\
+    gfits_table_set_Lensobj_##TYPE (ftable, tmpLensobj, Nlensobj, swapFromNative); \
+    free (tmpLensobj);							\
+    break; }
 
   /* convert from the internal format */
@@ -762,12 +779,12 @@
   }
 
-# define SKIPPING_FORMAT(NAME, FORMAT, TYPE)		\
+# define SKIPPING_FORMAT(NAME, FORMAT, TYPE)				\
   if (!strcmp (extname, NAME)) {					\
     fprintf (stderr, "ERROR: format %s not defined for starpar, skipping\n", NAME); \
-    *Nstarpar = 0; \
-    return NULL; \
-  }
-
-# define CONVERT_FORMAT(NAME, FORMAT, TYPE)		\
+    *Nstarpar = 0;							\
+    return NULL;							\
+  }
+  
+# define CONVERT_FORMAT(NAME, FORMAT, TYPE)				\
   if (!strcmp (extname, NAME)) {					\
     StarPar_##TYPE *tmpStarPar;						\
@@ -777,6 +794,7 @@
       exit (2);								\
     }									\
-    starpar = StarPar_##TYPE##_ToInternal (tmpStarPar, *Nstarpar); \
+    starpar = StarPar_##TYPE##_ToInternal (tmpStarPar, *Nstarpar);	\
     free (tmpStarPar);							\
+    ftable[0].buffer = NULL;						\
     *format = DVO_FORMAT_##FORMAT;					\
     return (starpar); }
@@ -817,11 +835,11 @@
 int StarParToFtable (FTable *ftable, StarPar *starpar, off_t Nstarpar, DVOCatFormat format, int swapFromNative) {
 
-# define FORMAT_CASE(FORMAT, TYPE)		\
-    case DVO_FORMAT_##FORMAT: { \
-      StarPar_##TYPE *tmpStarPar; \
-      tmpStarPar = StarParInternalTo_##TYPE (starpar, Nstarpar); \
-	gfits_table_set_StarPar_##TYPE (ftable, tmpStarPar, Nstarpar, swapFromNative); \
-      free (tmpStarPar); \
-      break; }
+# define FORMAT_CASE(FORMAT, TYPE)					\
+  case DVO_FORMAT_##FORMAT: {						\
+    StarPar_##TYPE *tmpStarPar;						\
+    tmpStarPar = StarParInternalTo_##TYPE (starpar, Nstarpar);		\
+    gfits_table_set_StarPar_##TYPE (ftable, tmpStarPar, Nstarpar, swapFromNative); \
+    free (tmpStarPar);							\
+    break; }
 
   /* convert from the internal format */
@@ -866,12 +884,26 @@
   }
 
-# define SKIPPING_FORMAT(NAME, FORMAT, TYPE)		\
+  if (!strcmp (extname, "DVO_GALPHOT_PS1_V5") && (ftable[0].header[0].Naxis[0] == 72)) {
+    GalPhot_PS1_V5_R0 *tmpGalPhot;						
+    tmpGalPhot = gfits_table_get_GalPhot_PS1_V5_R0 (ftable, Ngalphot, NULL, &nativeBytes); 
+    if (!tmpGalPhot) {							
+      fprintf (stderr, "ERROR: failed to read galphots\n");		
+      exit (2);								
+    }									
+    galphot = GalPhot_PS1_V5_R0_ToInternal (tmpGalPhot, *Ngalphot); 
+    free (tmpGalPhot);							
+    ftable[0].buffer = NULL;
+    *format = DVO_FORMAT_PS1_V5;					
+    return (galphot); 
+  }
+
+# define SKIPPING_FORMAT(NAME, FORMAT, TYPE)				\
   if (!strcmp (extname, NAME)) {					\
     fprintf (stderr, "ERROR: format %s not defined for galphot, skipping\n", NAME); \
-    *Ngalphot = 0; \
-    return NULL; \
-  }
-
-# define CONVERT_FORMAT(NAME, FORMAT, TYPE)		\
+    *Ngalphot = 0;							\
+    return NULL;							\
+  }
+
+# define CONVERT_FORMAT(NAME, FORMAT, TYPE)				\
   if (!strcmp (extname, NAME)) {					\
     GalPhot_##TYPE *tmpGalPhot;						\
@@ -881,6 +913,7 @@
       exit (2);								\
     }									\
-    galphot = GalPhot_##TYPE##_ToInternal (tmpGalPhot, *Ngalphot); \
+    galphot = GalPhot_##TYPE##_ToInternal (tmpGalPhot, *Ngalphot);	\
     free (tmpGalPhot);							\
+    ftable[0].buffer = NULL;						\
     *format = DVO_FORMAT_##FORMAT;					\
     return (galphot); }
@@ -907,5 +940,5 @@
   SKIPPING_FORMAT ("DVO_GALPHOT_PS1_V3",          PS1_V3,          PS1_V3);
   SKIPPING_FORMAT ("DVO_GALPHOT_PS1_V4",          PS1_V4,          PS1_V4);
-  CONVERT_FORMAT  ("DVO_GALPHOT_PS1_V5",          PS1_V5,          PS1_V5);
+  CONVERT_FORMAT  ("DVO_GALPHOT_PS1_V5",          PS1_V5,          PS1_V5_R1);
   SKIPPING_FORMAT ("DVO_GALPHOT_PS1_SIM",         PS1_SIM,         PS1_SIM);
 # undef CONVERT_FORMAT
@@ -921,11 +954,11 @@
 int GalPhotToFtable (FTable *ftable, GalPhot *galphot, off_t Ngalphot, DVOCatFormat format, int swapFromNative) {
 
-# define FORMAT_CASE(FORMAT, TYPE)		\
-    case DVO_FORMAT_##FORMAT: { \
-      GalPhot_##TYPE *tmpGalPhot; \
-      tmpGalPhot = GalPhotInternalTo_##TYPE (galphot, Ngalphot); \
-	gfits_table_set_GalPhot_##TYPE (ftable, tmpGalPhot, Ngalphot, swapFromNative); \
-      free (tmpGalPhot); \
-      break; }
+# define FORMAT_CASE(FORMAT, TYPE)					\
+  case DVO_FORMAT_##FORMAT: {						\
+    GalPhot_##TYPE *tmpGalPhot;						\
+    tmpGalPhot = GalPhotInternalTo_##TYPE (galphot, Ngalphot);		\
+    gfits_table_set_GalPhot_##TYPE (ftable, tmpGalPhot, Ngalphot, swapFromNative); \
+    free (tmpGalPhot);							\
+    break; }
 
   /* convert from the internal format */
@@ -946,5 +979,5 @@
 //    FORMAT_CASE (PS1_V3,          PS1_V3);
 //    FORMAT_CASE (PS1_V4,          PS1_V4);
-      FORMAT_CASE (PS1_V5,          PS1_V5);
+      FORMAT_CASE (PS1_V5,          PS1_V5_R1);
 # undef FORMAT_CASE
 
@@ -990,21 +1023,21 @@
   }
 
-# define CONVERT_FORMAT(NAME, FORMAT, TYPE) \
-  if (!strcmp (extname, NAME)) { \
-    Image_##TYPE *tmpimage; \
-    *format = DVO_FORMAT_##FORMAT; \
+# define CONVERT_FORMAT(NAME, FORMAT, TYPE)				\
+  if (!strcmp (extname, NAME)) {					\
+    Image_##TYPE *tmpimage;						\
+    *format = DVO_FORMAT_##FORMAT;					\
     tmpimage = gfits_table_get_Image_##TYPE (ftable, &Nimage, NULL, NULL); \
-    if (!tmpimage) { \
-      fprintf (stderr, "ERROR: failed to read images\n"); \
-      exit (2); \
-    } \
+    if (!tmpimage) {							\
+      fprintf (stderr, "ERROR: failed to read images\n");		\
+      exit (2);								\
+    }									\
     off_t Nalloc = gfits_data_pad_size(Nimage*sizeof(Image));		\
     ftable[0].buffer = (char *) Image_##TYPE##_ToInternal (tmpimage, Nimage, Nalloc); \
-    free (tmpimage); \
-    gfits_free_header (theader); \
-    gfits_table_mkheader_Image (theader); \
-    gfits_modify (theader, "NAXIS2", OFF_T_FMT, 1,  Nimage); \
-    theader[0].Naxis[1] = Nimage; \
-    ftable[0].datasize = gfits_data_size (theader); \
+    free (tmpimage);							\
+    gfits_free_header (theader);					\
+    gfits_table_mkheader_Image (theader);				\
+    gfits_modify (theader, "NAXIS2", OFF_T_FMT, 1,  Nimage);		\
+    theader[0].Naxis[1] = Nimage;					\
+    ftable[0].datasize = gfits_data_size (theader);			\
     return (TRUE); }
 
@@ -1035,29 +1068,29 @@
   Nimage = theader[0].Naxis[1];
 
-# define FORMAT_CASE(FORMAT, TYPE)		\
-  case DVO_FORMAT_##FORMAT: {			\
+# define FORMAT_CASE(FORMAT, TYPE)					\
+  case DVO_FORMAT_##FORMAT: {						\
     Image_##TYPE *tmpImage;						\
-      tmpImage = ImageInternalTo_##TYPE ((Image *) ftable[0].buffer, Nimage); \
-	free (ftable[0].buffer);					\
-	gfits_free_header (ftable->header);				\
-	gfits_table_set_Image_##TYPE (ftable, tmpImage, Nimage, TRUE);	\
-	  free (tmpImage);						\
-	  break; }
+    tmpImage = ImageInternalTo_##TYPE ((Image *) ftable[0].buffer, Nimage); \
+    free (ftable[0].buffer);						\
+    gfits_free_header (ftable->header);					\
+    gfits_table_set_Image_##TYPE (ftable, tmpImage, Nimage, TRUE);	\
+    free (tmpImage);							\
+    break; }
 
   /* convert from the internal format */
   switch (format) {
-      FORMAT_CASE (ELIXIR, 	    Elixir);
-      FORMAT_CASE (LONEOS, 	    Loneos);
-      FORMAT_CASE (PANSTARRS_DEV_0, Panstarrs_DEV_0);
-      FORMAT_CASE (PANSTARRS_DEV_1, Panstarrs_DEV_1);
-      FORMAT_CASE (PS1_DEV_1,       PS1_DEV_1);
-      FORMAT_CASE (PS1_DEV_2,       PS1_DEV_2);
-      FORMAT_CASE (PS1_V1,          PS1_V1);
-      FORMAT_CASE (PS1_V2,          PS1_V2);
-      FORMAT_CASE (PS1_V3,          PS1_V3);
-      FORMAT_CASE (PS1_V4,          PS1_V4);
-      FORMAT_CASE (PS1_V5,          PS1_V5);
-      FORMAT_CASE (PS1_REF,         PS1_REF);
-      FORMAT_CASE (PS1_SIM,         PS1_SIM);
+    FORMAT_CASE (ELIXIR, 	    Elixir);
+    FORMAT_CASE (LONEOS, 	    Loneos);
+    FORMAT_CASE (PANSTARRS_DEV_0, Panstarrs_DEV_0);
+    FORMAT_CASE (PANSTARRS_DEV_1, Panstarrs_DEV_1);
+    FORMAT_CASE (PS1_DEV_1,       PS1_DEV_1);
+    FORMAT_CASE (PS1_DEV_2,       PS1_DEV_2);
+    FORMAT_CASE (PS1_V1,          PS1_V1);
+    FORMAT_CASE (PS1_V2,          PS1_V2);
+    FORMAT_CASE (PS1_V3,          PS1_V3);
+    FORMAT_CASE (PS1_V4,          PS1_V4);
+    FORMAT_CASE (PS1_V5,          PS1_V5);
+    FORMAT_CASE (PS1_REF,         PS1_REF);
+    FORMAT_CASE (PS1_SIM,         PS1_SIM);
 
 # undef FORMAT_CASE
@@ -1076,39 +1109,39 @@
   Nrow = vtable[0].Nrow;
 
-# define FORMAT_CASE(FORMAT, TYPE) \
-  case DVO_FORMAT_##FORMAT: { \
-      Image_##TYPE *tmpImage; \
-      /* convert table rows from internal to external format */ \
-      for (i = 0; i < Nrow; i++) { \
-	  tmpImage = ImageInternalTo_##TYPE ((Image *) vtable[0].buffer[i], 1); \
-	  gfits_convert_Image_##TYPE (tmpImage, sizeof(Image_##TYPE), 1); \
-	  free (vtable[0].buffer[i]); \
-	  vtable[0].buffer[i] = (char *) tmpImage; \
-      } \
-      /* convert header from old format to new format */ \
-      gfits_scan (theader, "NAXIS2", OFF_T_FMT, 1,  &Nimage); \
-      gfits_free_header (theader); \
-      gfits_table_mkheader_Image_##TYPE (theader); \
-      gfits_modify (theader, "NAXIS2", OFF_T_FMT, 1,  Nimage); \
-      theader[0].Naxis[1] = Nimage; \
-      vtable[0].datasize = gfits_data_size (theader); \
-      return (TRUE); }
+# define FORMAT_CASE(FORMAT, TYPE)					\
+  case DVO_FORMAT_##FORMAT: {						\
+    Image_##TYPE *tmpImage;						\
+    /* convert table rows from internal to external format */		\
+    for (i = 0; i < Nrow; i++) {					\
+      tmpImage = ImageInternalTo_##TYPE ((Image *) vtable[0].buffer[i], 1); \
+      gfits_convert_Image_##TYPE (tmpImage, sizeof(Image_##TYPE), 1);	\
+      free (vtable[0].buffer[i]);					\
+      vtable[0].buffer[i] = (char *) tmpImage;				\
+    }									\
+    /* convert header from old format to new format */			\
+    gfits_scan (theader, "NAXIS2", OFF_T_FMT, 1,  &Nimage);		\
+    gfits_free_header (theader);					\
+    gfits_table_mkheader_Image_##TYPE (theader);			\
+    gfits_modify (theader, "NAXIS2", OFF_T_FMT, 1,  Nimage);		\
+    theader[0].Naxis[1] = Nimage;					\
+    vtable[0].datasize = gfits_data_size (theader);			\
+    return (TRUE); }
 
 
   /* convert from the internal format */
   switch (format) {
-      FORMAT_CASE (ELIXIR, 	    Elixir);
-      FORMAT_CASE (LONEOS, 	    Loneos);
-      FORMAT_CASE (PANSTARRS_DEV_0, Panstarrs_DEV_0);
-      FORMAT_CASE (PANSTARRS_DEV_1, Panstarrs_DEV_1);
-      FORMAT_CASE (PS1_DEV_1,       PS1_DEV_1);
-      FORMAT_CASE (PS1_DEV_2,       PS1_DEV_2);
-      FORMAT_CASE (PS1_V1,          PS1_V1);
-      FORMAT_CASE (PS1_V2,          PS1_V2);
-      FORMAT_CASE (PS1_V3,          PS1_V3);
-      FORMAT_CASE (PS1_V4,          PS1_V4);
-      FORMAT_CASE (PS1_V5,          PS1_V5);
-      FORMAT_CASE (PS1_REF,         PS1_REF);
-      FORMAT_CASE (PS1_SIM,         PS1_SIM);
+    FORMAT_CASE (ELIXIR, 	    Elixir);
+    FORMAT_CASE (LONEOS, 	    Loneos);
+    FORMAT_CASE (PANSTARRS_DEV_0, Panstarrs_DEV_0);
+    FORMAT_CASE (PANSTARRS_DEV_1, Panstarrs_DEV_1);
+    FORMAT_CASE (PS1_DEV_1,       PS1_DEV_1);
+    FORMAT_CASE (PS1_DEV_2,       PS1_DEV_2);
+    FORMAT_CASE (PS1_V1,          PS1_V1);
+    FORMAT_CASE (PS1_V2,          PS1_V2);
+    FORMAT_CASE (PS1_V3,          PS1_V3);
+    FORMAT_CASE (PS1_V4,          PS1_V4);
+    FORMAT_CASE (PS1_V5,          PS1_V5);
+    FORMAT_CASE (PS1_REF,         PS1_REF);
+    FORMAT_CASE (PS1_SIM,         PS1_SIM);
 
 # undef FORMAT_CASE
Index: /trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V5.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V5.c	(revision 38985)
+++ /trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V5.c	(revision 38986)
@@ -218,5 +218,7 @@
     out[i].catID 	 = in[i].catID;
     out[i].extID 	 = in[i].extID;
-    out[i].extIDgc 	 = in[i].extIDgc;
+
+    out[i].uRgal 	 = in[i].uRgal;
+    out[i].uDgal 	 = in[i].uDgal;
   }
   return (out);
@@ -286,5 +288,7 @@
     out[i].catID 	  = in[i].catID;
     out[i].extID 	  = in[i].extID;
-    out[i].extIDgc 	  = in[i].extIDgc;
+
+    out[i].uRgal 	 = in[i].uRgal;
+    out[i].uDgal 	 = in[i].uDgal;
   }
   return (out);
@@ -979,5 +983,5 @@
 }
 
-GalPhot *GalPhot_PS1_V5_ToInternal (GalPhot_PS1_V5 *in, off_t Nvalues) {
+GalPhot *GalPhot_PS1_V5_R1_ToInternal (GalPhot_PS1_V5_R1 *in, off_t Nvalues) {
 
   off_t i;
@@ -1013,10 +1017,44 @@
 }
 
-GalPhot_PS1_V5 *GalPhotInternalTo_PS1_V5 (GalPhot *in, off_t Nvalues) {
-
-  off_t i;
-  GalPhot_PS1_V5 *out;
-
-  ALLOCATE_ZERO (out, GalPhot_PS1_V5, Nvalues);
+GalPhot *GalPhot_PS1_V5_R0_ToInternal (GalPhot_PS1_V5_R0 *in, off_t Nvalues) {
+
+  off_t i;
+  GalPhot *out;
+
+  ALLOCATE_ZERO (out, GalPhot, Nvalues);
+
+  for (i = 0; i < Nvalues; i++) {
+    dvo_galphot_init (&out[i]);
+
+    out[i].Xfit       	 = in[i].Xfit;
+    out[i].Yfit      	 = in[i].Yfit;
+    out[i].mag       	 = in[i].mag;
+    out[i].magErr    	 = in[i].magErr;
+    out[i].majorAxis 	 = in[i].majorAxis;
+    out[i].minorAxis 	 = in[i].minorAxis;
+    out[i].majorAxisErr  = in[i].majorAxisErr;
+    out[i].minorAxisErr  = in[i].minorAxisErr;
+    out[i].theta         = in[i].theta;
+    out[i].thetaErr      = in[i].thetaErr;
+    out[i].index         = in[i].index;
+    out[i].chisq	 = in[i].chisq;
+    out[i].Npix 	 = in[i].Npix;
+    out[i].objID	 = in[i].objID;
+    out[i].catID         = in[i].catID;
+    out[i].detID	 = in[i].detID;
+    out[i].imageID	 = in[i].imageID;
+//  out[i].averef	 = in[i].averef;
+    out[i].photcode	 = in[i].photcode;
+    out[i].modelType	 = in[i].modelType;
+  }
+  return (out);
+}
+
+GalPhot_PS1_V5_R1 *GalPhotInternalTo_PS1_V5_R1 (GalPhot *in, off_t Nvalues) {
+
+  off_t i;
+  GalPhot_PS1_V5_R1 *out;
+
+  ALLOCATE_ZERO (out, GalPhot_PS1_V5_R1, Nvalues);
 
   for (i = 0; i < Nvalues; i++) {
@@ -1318,5 +1356,4 @@
     out[i].catID 	  = in[i].catID;
     out[i].extID 	  = in[i].extID;
-    out[i].extIDgc 	  = in[i].extIDgc;
   }
   return (out);
Index: /trunk/Ohana/src/libdvo/src/dvo_photcode_ops.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/dvo_photcode_ops.c	(revision 38985)
+++ /trunk/Ohana/src/libdvo/src/dvo_photcode_ops.c	(revision 38986)
@@ -205,4 +205,5 @@
 /* return equivalent photcode.code for given code */
 int GetPhotcodeEquivCodebyCode (int code) {
+  myAssert (photcodes, "photcodes not loaded");
   
   int entry;
@@ -218,4 +219,5 @@
 // returns Nsec if code is PRI/SEC, else -1
 int GetPhotcodeNsec (int code) {
+  myAssert (photcodes, "photcodes not loaded");
   
   int Nsec;
@@ -230,4 +232,5 @@
 /* Nsec of 0 is PRI */
 PhotCode *GetPhotcodebyNsec (int Nsec) {
+  myAssert (photcodes, "photcodes not loaded");
   
   int Ncode;
@@ -245,4 +248,5 @@
 
 int GetPhotcodeNsecfilt () {
+  myAssert (photcodes, "photcodes not loaded");
   return (photcodes[0].Nsecfilt);
 }
@@ -745,4 +749,26 @@
   }
   return (Mstdev);
+}
+
+// return the number of detections in this filter (gpc1)
+int PhotNcode (PhotCode *code, Average *average, SecFilt *secfilt) {
+
+  if (code == NULL) return 0;
+
+  int Ns = photcodes[0].hashNsec[code[0].code];
+  if (Ns == -1) return 0;
+
+  return secfilt[Ns].Ncode;
+}
+
+// return the number of detections in this filter (gpc1)
+int PhotSecfiltFlags (PhotCode *code, Average *average, SecFilt *secfilt) {
+
+  if (code == NULL) return 0;
+
+  int Ns = photcodes[0].hashNsec[code[0].code];
+  if (Ns == -1) return 0;
+
+  return secfilt[Ns].flags;
 }
 
Index: /trunk/Ohana/src/libdvo/test/tap_AstromOffsetMapIO.c
===================================================================
--- /trunk/Ohana/src/libdvo/test/tap_AstromOffsetMapIO.c	(revision 38986)
+++ /trunk/Ohana/src/libdvo/test/tap_AstromOffsetMapIO.c	(revision 38986)
@@ -0,0 +1,95 @@
+# include "dvo.h"
+# include "tap_ohana.h"
+
+int compare_tables (AstromOffsetTable *table_src, AstromOffsetTable *table_tgt);
+
+int main (void) {
+
+  int i, j, k, status;
+
+  plan_tests (181);
+
+  diag ("libdvo AstromOffsetMapIO.c tests");
+
+  /*** create a small, simple reference AstroMap ***/
+  AstromOffsetTable *table = NULL;
+  ALLOCATE (table, AstromOffsetTable, 1);
+
+  table->Nmap = 4;
+  ALLOCATE (table->map, AstromOffsetMap *, table->Nmap);
+
+  // assign the map values (this allocates just the area needed for each image, not the
+  // full 6x6, saving some memory while doing the analysis)
+  for (i = 0; i < table->Nmap; i++) {
+    ALLOCATE (table->map[i], AstromOffsetMap, 1);
+
+    table->map[i][0].Nx 	  = i + 1;
+    table->map[i][0].Ny 	  = i + 1;
+    table->map[i][0].tableID      = i + 10;
+    table->map[i][0].imageID      = i + 20;
+    
+    // STORE THESE VALUES?
+    table->map[i][0].dX 	  = 2*i + 0.5;
+    table->map[i][0].dY 	  = 3*i + 0.5;
+
+    // since this was on disk, we obviously keep it
+    table->map[i][0].keep 	  = TRUE;
+
+    ALLOCATE (table->map[i][0].dXv, float *, table->map[i][0].Nx);
+    ALLOCATE (table->map[i][0].dYv, float *, table->map[i][0].Nx);
+
+    for (j = 0; j < table->map[i][0].Nx; j++) {
+      ALLOCATE (table->map[i][0].dXv[j], float, table->map[i][0].Ny);
+      ALLOCATE (table->map[i][0].dYv[j], float, table->map[i][0].Ny);
+
+      for (k = 0; k < table->map[i][0].Ny; k++) {
+	table->map[i][0].dXv[j][k] = i+j+k+1;
+	table->map[i][0].dYv[j][k] = i+j+k+2;
+      }
+    }
+  }
+
+  status = AstromOffsetMapSave (table, "test.v0.fits");
+  ok (status, "wrote test table to file");
+
+  AstromOffsetTable *table_full = AstromOffsetMapLoad ("test.v0.fits", 0, TRUE);
+  ok (table_full, "read test table from file");
+
+  /*** compare table_full and table above ***/
+  diag ("compare table_full and table");
+  compare_tables (table_full, table);
+
+  /*** compare AstromOffsetMapLoad in blocks vs single read ***/
+  AstromOffsetTable *table_rows = AstromOffsetMapLoad ("test.v0.fits", 100, TRUE);
+  ok (table_rows, "read in table in 100 rows per read");
+    
+  diag ("compare table_rows and table");
+  compare_tables (table_rows, table);
+    
+  return exit_status();
+}
+
+int compare_tables (AstromOffsetTable *table_src, AstromOffsetTable *table_tgt) {
+
+  int i, j, k;
+
+  ok (table_tgt->Nmap == table_src->Nmap, "number of maps matches");
+    
+  for (i = 0; i < table_src->Nmap; i++) {
+    ok (table_tgt->map[i][0].Nx      == table_src->map[i][0].Nx, 	"Nx sizes match");
+    ok (table_tgt->map[i][0].Ny      == table_src->map[i][0].Ny, 	"Ny sizes match");
+    ok (table_tgt->map[i][0].tableID == table_src->map[i][0].tableID, "tableIDs match");
+    ok (table_tgt->map[i][0].imageID == table_src->map[i][0].imageID, "imageIDs match");
+    ok (table_tgt->map[i][0].dX      == table_src->map[i][0].dX,      "dX matches");
+    ok (table_tgt->map[i][0].dY      == table_src->map[i][0].dY,      "dY matches");
+    ok (table_tgt->map[i][0].keep    == table_src->map[i][0].keep,    "keep matches");
+
+    for (j = 0; j < table_src->map[i][0].Nx; j++) {
+      for (k = 0; k < table_src->map[i][0].Ny; k++) {
+	ok (table_tgt->map[i][0].dXv[j][k] == table_src->map[i][0].dXv[j][k], "dX values match");
+	ok (table_tgt->map[i][0].dYv[j][k] == table_src->map[i][0].dYv[j][k], "dY values match"); 
+      }
+    }
+  }
+  return TRUE;
+}
Index: /trunk/Ohana/src/libfits/Makefile
===================================================================
--- /trunk/Ohana/src/libfits/Makefile	(revision 38985)
+++ /trunk/Ohana/src/libfits/Makefile	(revision 38986)
@@ -25,5 +25,4 @@
 TEST_CPPFLAGS =	$(BASE_CPPFLAGS)
 TEST_LDFLAGS  = $(BASE_LDFLAGS) -lFITS -lohana -ltap_ohana
-
 
 TESTXTRA = tcomptiming 
Index: /trunk/Ohana/src/libfits/extern/gzip.c
===================================================================
--- /trunk/Ohana/src/libfits/extern/gzip.c	(revision 38985)
+++ /trunk/Ohana/src/libfits/extern/gzip.c	(revision 38986)
@@ -215,4 +215,8 @@
   err = inflate(&stream, Z_FINISH);
   if (err != Z_STREAM_END) {
+    if (err == Z_DATA_ERROR) {
+      fprintf (stderr, "compressed data is corrupted\n");
+      ESCAPE(err);
+    }
     inflateEnd(&stream);
     if (err == Z_NEED_DICT || (err == Z_BUF_ERROR && stream.avail_in == 0)) ESCAPE (Z_DATA_ERROR);
Index: /trunk/Ohana/src/libfits/header/F_H_field.c
===================================================================
--- /trunk/Ohana/src/libfits/header/F_H_field.c	(revision 38985)
+++ /trunk/Ohana/src/libfits/header/F_H_field.c	(revision 38986)
@@ -33,5 +33,5 @@
   }
 
-  if (N < 0) {
+  if (N <= 0) {
     /* count the entries */
     Nfound = 0;
Index: /trunk/Ohana/src/libfits/include/gfitsio.h
===================================================================
--- /trunk/Ohana/src/libfits/include/gfitsio.h	(revision 38985)
+++ /trunk/Ohana/src/libfits/include/gfitsio.h	(revision 38986)
@@ -237,5 +237,5 @@
 int   	gfits_fread_ftable             PROTO((FILE *f, FTable *ftable, char *extname)); 
 int   	gfits_fread_ftable_data        PROTO((FILE *f, FTable *ftable, int padIfShort));
-int   	gfits_fread_ftable_range       PROTO((FILE *f, int padIfShort, FTable *ftable, off_t start, off_t Nrows));
+int   	gfits_fread_ftable_range       PROTO((FILE *f, int padIfShort, int noSeek, FTable *ftable, off_t start, off_t Nrows));
 int   	gfits_fread_vtable             PROTO((FILE *f, VTable *vtable, char *extname, off_t Nrow, off_t *row));
 int   	gfits_fread_vtable_range       PROTO((FILE *f, VTable *vtable, off_t start, off_t Nrows));
Index: /trunk/Ohana/src/libfits/matrix/F_compress_data.c
===================================================================
--- /trunk/Ohana/src/libfits/matrix/F_compress_data.c	(revision 38985)
+++ /trunk/Ohana/src/libfits/matrix/F_compress_data.c	(revision 38986)
@@ -119,4 +119,8 @@
       return (FALSE);
     }
+    if (Nout > *Nzdata) {
+      fprintf (stderr, "buffer overrun! %d out, %d available\n", Nout, *Nzdata);
+      return FALSE;
+    }
     *Nzdata = Nout;
     return TRUE;
Index: /trunk/Ohana/src/libfits/table/F_compress_T.c
===================================================================
--- /trunk/Ohana/src/libfits/table/F_compress_T.c	(revision 38985)
+++ /trunk/Ohana/src/libfits/table/F_compress_T.c	(revision 38986)
@@ -211,5 +211,5 @@
 
   // allocate the intermediate storage buffers
-  int Nzdata_alloc = max_width*ztilelen + 100;
+  int Nzdata_alloc = 2*max_width*ztilelen + 100;
   ALLOCATE (raw,   char, max_width*ztilelen);
   ALLOCATE (zdata, char, Nzdata_alloc);
@@ -223,4 +223,6 @@
   gettimeofday (&startTimer, (void *) NULL);
 
+  // ohana_memcheck (TRUE);
+
   // compress the data : copy into a tile, compress the tile, then add to the output table
   // each tile -> 1 row of the output table
@@ -243,4 +245,6 @@
       }
       
+      // ohana_memcheck (TRUE);
+
       // XXX TIMER 2a
       gettimeofday (&stopTimer, (void *) NULL); 
@@ -260,4 +264,5 @@
       }
 
+      // ohana_memcheck (TRUE);
       // optname, optvalue = NULL, Noptions = 0
       
Index: /trunk/Ohana/src/libfits/table/F_read_T.c
===================================================================
--- /trunk/Ohana/src/libfits/table/F_read_T.c	(revision 38985)
+++ /trunk/Ohana/src/libfits/table/F_read_T.c	(revision 38986)
@@ -62,5 +62,5 @@
 
 /*********************** fits read ftable data ***********************************/
-int gfits_fread_ftable_range (FILE *f, int padIfShort, FTable *table, off_t start, off_t Nrows) {
+int gfits_fread_ftable_range (FILE *f, int padIfShort, int noSeek, FTable *table, off_t start, off_t Nrows) {
 
   off_t Nbytes, Nread, Nskip, Nx, Ny;
@@ -79,7 +79,16 @@
   Nskip = start * Nx;
   Nbytes = Nrows * Nx;
-  ALLOCATE (table[0].buffer, char, MAX (Nbytes, 1));
-
-  fseeko (f, Nskip, SEEK_CUR);
+
+  if (table[0].buffer) {
+    if (table[0].datasize < Nbytes) {
+      REALLOCATE (table[0].buffer, char, MAX (Nbytes, 1));
+    }
+  } else {
+    ALLOCATE (table[0].buffer, char, MAX (Nbytes, 1));
+  }
+
+  if (!noSeek) {
+    fseeko (f, Nskip, SEEK_CUR);
+  }
 
   Nread = fread (table[0].buffer, sizeof (char), Nbytes, f);
Index: /trunk/Ohana/src/libfits/test/tcomptiming.c
===================================================================
--- /trunk/Ohana/src/libfits/test/tcomptiming.c	(revision 38985)
+++ /trunk/Ohana/src/libfits/test/tcomptiming.c	(revision 38986)
@@ -25,5 +25,5 @@
     int Ntile = pow (10.0, lNtile);
     fprintf (stderr, "--- Ntile = %d ---\n", Ntile);
-    test_compress_timing ("NONE_2", Ntile);
+    test_compress_timing ("GZIP_2", Ntile);
     gfits_compress_timing();
     gfits_uncompress_timing();
Index: /trunk/Ohana/src/libkapa/Makefile
===================================================================
--- /trunk/Ohana/src/libkapa/Makefile	(revision 38985)
+++ /trunk/Ohana/src/libkapa/Makefile	(revision 38986)
@@ -20,4 +20,7 @@
 install: $(DESTINC)/kapa.h $(DESTLIB)/libkapa.a $(DESTLIB)/libkapa.$(DLLTYPE)
 libkapa: $(LIB)/libkapa.$(ARCH).a $(LIB)/libkapa.$(ARCH).$(DLLTYPE)
+
+ROTFONT:
+	cd rotfont && $(MAKE) all
 
 INCS = $(DESTINC)/kapa.h
@@ -43,5 +46,6 @@
 $(SRC)/PSRotFont.$(ARCH).o
 
-$(OBJS): $(INCS)
+$(INCS): ROTFONT
+$(OBJS): $(INCS) 
 $(DRAW): $(INCS)
 
Index: /trunk/Ohana/src/libkapa/include/alphabet.h
===================================================================
--- /trunk/Ohana/src/libkapa/include/alphabet.h	(revision 38985)
+++ /trunk/Ohana/src/libkapa/include/alphabet.h	(revision 38986)
@@ -1,2 +1,13 @@
+
+# if (0) 
+# include "../rotfont/times8.h"
+
+# define DEFFONT 1
+static FontSet HardwiredFonts[] = {
+  {times8font,  "times", 8}
+};
+# endif
+
+# if (1)
 # include "../rotfont/times8.h"
 # include "../rotfont/times12.h"
@@ -49,4 +60,5 @@
   {symbol24font, "symbol", 24}
 };
+# endif
 
 /* put these as static in RotFont.c with accessor functions */
Index: /trunk/Ohana/src/libkapa/include/kapa.h
===================================================================
--- /trunk/Ohana/src/libkapa/include/kapa.h	(revision 38985)
+++ /trunk/Ohana/src/libkapa/include/kapa.h	(revision 38986)
@@ -93,4 +93,6 @@
   double labelPadXm, labelPadYm, labelPadXp, labelPadYp;
   double padXm, padXp, padYm, padYp;
+  double fLabelRangeXm, fLabelRangeXp, fLabelRangeYm, fLabelRangeYp;
+  double fMinorXm, fMinorXp, fMinorYm, fMinorYp;
   Coords coords;
   int flipeast, flipnorth;
@@ -107,5 +109,8 @@
 
 typedef struct {
-  int dx, dy, ascent;
+  int dx;
+  int dy;
+  float dXps;
+  int ascent;
   unsigned char *bits;
 } RotFont;
@@ -231,4 +236,5 @@
 void PSDumpRotSegment PROTO((FILE *f, char *segment, int *Nseg));
 void PSSetFont PROTO((FILE *f, char *name, int size));
+int PSRotStrlen PROTO((char *c));
 
 /* bDrawFuncs.c */
Index: /trunk/Ohana/src/libkapa/rotfont/Makefile
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/Makefile	(revision 38986)
+++ /trunk/Ohana/src/libkapa/rotfont/Makefile	(revision 38986)
@@ -0,0 +1,50 @@
+default: all
+help:
+	@echo "make options: all (generate fontsize metrics)"
+
+TIMES = \
+times8.h \
+times12.h \
+times14.h \
+times18.h \
+times24.h
+
+COURIER = \
+courier8.h \
+courier12.h \
+courier14.h \
+courier18.h \
+courier24.h
+
+HELVETICA = \
+helvetica8.h \
+helvetica12.h \
+helvetica14.h \
+helvetica18.h \
+helvetica24.h
+
+SYMBOL = \
+symbol8.h \
+symbol12.h \
+symbol14.h \
+symbol18.h \
+symbol24.h
+
+FONTS = $(TIMES) $(COURIER) $(HELVETICA) $(SYMBOL)
+
+$(FONTS): fixfont
+
+all: $(FONTS)
+
+fixfont: fixfont.c
+
+%.h : %.bdf
+	@./fontdimen.sh $<
+
+clean:
+#	rm -f times*.h courier*.h helvetica*.h symbol*.h
+	rm -f times*.psx courier*.psx helvetica*.psx symbol*.psx
+	rm -f fixfont
+
+dist: clean
+	rm -f times*.h courier*.h helvetica*.h symbol*.h
Index: unk/Ohana/src/libkapa/rotfont/courier12.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/courier12.h	(revision 38985)
+++ 	(revision )
@@ -1,768 +1,0 @@
-static unsigned char courier12_0_bits[] = {
-0x00};
-static unsigned char courier12_1_bits[] = {
-0x00};
-static unsigned char courier12_2_bits[] = {
-0x00};
-static unsigned char courier12_3_bits[] = {
-0x00};
-static unsigned char courier12_4_bits[] = {
-0x00};
-static unsigned char courier12_5_bits[] = {
-0x00};
-static unsigned char courier12_6_bits[] = {
-0x00};
-static unsigned char courier12_7_bits[] = {
-0x00};
-static unsigned char courier12_8_bits[] = {
-0x00};
-static unsigned char courier12_9_bits[] = {
-0x00};
-static unsigned char courier12_10_bits[] = {
-0x00};
-static unsigned char courier12_11_bits[] = {
-0x00};
-static unsigned char courier12_12_bits[] = {
-0x00};
-static unsigned char courier12_13_bits[] = {
-0x00};
-static unsigned char courier12_14_bits[] = {
-0x00};
-static unsigned char courier12_15_bits[] = {
-0x00};
-static unsigned char courier12_16_bits[] = {
-0x00};
-static unsigned char courier12_17_bits[] = {
-0x00};
-static unsigned char courier12_18_bits[] = {
-0x00};
-static unsigned char courier12_19_bits[] = {
-0x00};
-static unsigned char courier12_20_bits[] = {
-0x00};
-static unsigned char courier12_21_bits[] = {
-0x00};
-static unsigned char courier12_22_bits[] = {
-0x00};
-static unsigned char courier12_23_bits[] = {
-0x00};
-static unsigned char courier12_24_bits[] = {
-0x00};
-static unsigned char courier12_25_bits[] = {
-0x00};
-static unsigned char courier12_26_bits[] = {
-0x00};
-static unsigned char courier12_27_bits[] = {
-0x00};
-static unsigned char courier12_28_bits[] = {
-0x00};
-static unsigned char courier12_29_bits[] = {
-0x00};
-static unsigned char courier12_30_bits[] = {
-0x00};
-static unsigned char courier12_31_bits[] = {
-0x00};
-static unsigned char courier12_32_bits[] = {};
-static unsigned char courier12_33_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x02};
-static unsigned char courier12_34_bits[] = {
-0x05, 0x05, 0x05};
-static unsigned char courier12_35_bits[] = {
-0x0a, 0x0a, 0x0a, 0x1f, 0x0a, 0x1f, 0x0a, 0x0a, 0x0a};
-static unsigned char courier12_36_bits[] = {
-0x04, 0x06, 0x1d, 0x15, 0x06, 0x1c, 0x15, 0x0f, 0x04, 0x04};
-static unsigned char courier12_37_bits[] = {
-0x0e, 0x09, 0x36, 0x0e, 0x32, 0x48, 0x38};
-static unsigned char courier12_38_bits[] = {
-0x0c, 0x12, 0x02, 0x14, 0x17, 0x09, 0x16};
-static unsigned char courier12_39_bits[] = {
-0x02, 0x01, 0x01};
-static unsigned char courier12_40_bits[] = {
-0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02};
-static unsigned char courier12_41_bits[] = {
-0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01};
-static unsigned char courier12_42_bits[] = {
-0x04, 0x0f, 0x04, 0x0a};
-static unsigned char courier12_43_bits[] = {
-0x04, 0x04, 0x1f, 0x04, 0x04};
-static unsigned char courier12_44_bits[] = {
-0x02, 0x01, 0x01};
-static unsigned char courier12_45_bits[] = {
-0x3f};
-static unsigned char courier12_46_bits[] = {
-0x03, 0x02};
-static unsigned char courier12_47_bits[] = {
-0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01};
-static unsigned char courier12_48_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x11, 0x13, 0x0e};
-static unsigned char courier12_49_bits[] = {
-0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier12_50_bits[] = {
-0x0f, 0x10, 0x10, 0x08, 0x04, 0x12, 0x1f};
-static unsigned char courier12_51_bits[] = {
-0x0f, 0x08, 0x08, 0x0c, 0x10, 0x10, 0x0f};
-static unsigned char courier12_52_bits[] = {
-0x08, 0x0c, 0x0a, 0x0a, 0x1f, 0x08, 0x1e};
-static unsigned char courier12_53_bits[] = {
-0x0f, 0x01, 0x0f, 0x11, 0x10, 0x10, 0x0e};
-static unsigned char courier12_54_bits[] = {
-0x1c, 0x02, 0x0d, 0x13, 0x11, 0x11, 0x0e};
-static unsigned char courier12_55_bits[] = {
-0x1f, 0x10, 0x08, 0x08, 0x08, 0x04, 0x04};
-static unsigned char courier12_56_bits[] = {
-0x0e, 0x11, 0x11, 0x0e, 0x11, 0x11, 0x0e};
-static unsigned char courier12_57_bits[] = {
-0x0e, 0x11, 0x11, 0x1e, 0x10, 0x08, 0x07};
-static unsigned char courier12_58_bits[] = {
-0x03, 0x02, 0x00, 0x03, 0x02};
-static unsigned char courier12_59_bits[] = {
-0x06, 0x04, 0x00, 0x06, 0x02, 0x02};
-static unsigned char courier12_60_bits[] = {
-0x18, 0x04, 0x07, 0x18, 0x20};
-static unsigned char courier12_61_bits[] = {
-0x3f, 0x00, 0x3f};
-static unsigned char courier12_62_bits[] = {
-0x06, 0x08, 0x38, 0x07, 0x01};
-static unsigned char courier12_63_bits[] = {
-0x0f, 0x11, 0x10, 0x08, 0x04, 0x00, 0x04};
-static unsigned char courier12_64_bits[] = {
-0x1c, 0x22, 0x59, 0x55, 0x55, 0x3e, 0x3c};
-static unsigned char courier12_65_bits[] = {
-0x0e, 0x14, 0x14, 0x14, 0x3e, 0x42, 0x63};
-static unsigned char courier12_66_bits[] = {
-0x0f, 0x11, 0x11, 0x1f, 0x21, 0x21, 0x1f};
-static unsigned char courier12_67_bits[] = {
-0x3e, 0x22, 0x01, 0x01, 0x01, 0x23, 0x1e};
-static unsigned char courier12_68_bits[] = {
-0x1f, 0x22, 0x42, 0x42, 0x42, 0x22, 0x1f};
-static unsigned char courier12_69_bits[] = {
-0x3f, 0x22, 0x0a, 0x0e, 0x0a, 0x22, 0x3f};
-static unsigned char courier12_70_bits[] = {
-0x3f, 0x22, 0x0a, 0x0e, 0x0a, 0x02, 0x07};
-static unsigned char courier12_71_bits[] = {
-0x3c, 0x22, 0x01, 0x01, 0x71, 0x42, 0x7c};
-static unsigned char courier12_72_bits[] = {
-0x77, 0x22, 0x22, 0x3e, 0x22, 0x22, 0x77};
-static unsigned char courier12_73_bits[] = {
-0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier12_74_bits[] = {
-0x3e, 0x10, 0x10, 0x10, 0x11, 0x11, 0x1f};
-static unsigned char courier12_75_bits[] = {
-0x33, 0x12, 0x0a, 0x06, 0x0a, 0x12, 0x23};
-static unsigned char courier12_76_bits[] = {
-0x07, 0x02, 0x02, 0x02, 0x22, 0x22, 0x3f};
-static unsigned char courier12_77_bits[] = {
-0x63, 0x56, 0x56, 0x56, 0x4a, 0x42, 0x67};
-static unsigned char courier12_78_bits[] = {
-0x77, 0x46, 0x4a, 0x4a, 0x52, 0x52, 0x67};
-static unsigned char courier12_79_bits[] = {
-0x1c, 0x22, 0x41, 0x41, 0x41, 0x22, 0x1c};
-static unsigned char courier12_80_bits[] = {
-0x1f, 0x22, 0x22, 0x32, 0x1e, 0x02, 0x07};
-static unsigned char courier12_81_bits[] = {
-0x1c, 0x22, 0x41, 0x41, 0x41, 0x22, 0x1c, 0x0c, 0x74};
-static unsigned char courier12_82_bits[] = {
-0x0f, 0x11, 0x19, 0x07, 0x09, 0x11, 0x33};
-static unsigned char courier12_83_bits[] = {
-0x1e, 0x11, 0x01, 0x0e, 0x10, 0x11, 0x0f};
-static unsigned char courier12_84_bits[] = {
-0x7f, 0x49, 0x49, 0x08, 0x08, 0x08, 0x1c};
-static unsigned char courier12_85_bits[] = {
-0x77, 0x22, 0x22, 0x22, 0x22, 0x22, 0x1c};
-static unsigned char courier12_86_bits[] = {
-0x77, 0x22, 0x26, 0x14, 0x14, 0x14, 0x08};
-static unsigned char courier12_87_bits[] = {
-0x63, 0x4a, 0x4a, 0x56, 0x56, 0x56, 0x22};
-static unsigned char courier12_88_bits[] = {
-0x36, 0x14, 0x14, 0x08, 0x14, 0x22, 0x67};
-static unsigned char courier12_89_bits[] = {
-0x33, 0x12, 0x12, 0x0a, 0x04, 0x04, 0x1e};
-static unsigned char courier12_90_bits[] = {
-0x1f, 0x09, 0x09, 0x04, 0x12, 0x11, 0x1f};
-static unsigned char courier12_91_bits[] = {
-0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03};
-static unsigned char courier12_92_bits[] = {
-0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10};
-static unsigned char courier12_93_bits[] = {
-0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07};
-static unsigned char courier12_94_bits[] = {
-0x04, 0x0a, 0x0a, 0x0a, 0x11, 0x11};
-static unsigned char courier12_95_bits[] = {
-0xff};
-static unsigned char courier12_96_bits[] = {
-0x02, 0x02, 0x01};
-static unsigned char courier12_97_bits[] = {
-0x0e, 0x1e, 0x11, 0x11, 0x3f};
-static unsigned char courier12_98_bits[] = {
-0x02, 0x02, 0x3e, 0x42, 0x42, 0x42, 0x3f};
-static unsigned char courier12_99_bits[] = {
-0x1e, 0x21, 0x01, 0x01, 0x1e};
-static unsigned char courier12_100_bits[] = {
-0x38, 0x20, 0x3e, 0x21, 0x21, 0x23, 0x7c};
-static unsigned char courier12_101_bits[] = {
-0x1e, 0x31, 0x3f, 0x01, 0x1e};
-static unsigned char courier12_102_bits[] = {
-0x3e, 0x02, 0x1f, 0x02, 0x02, 0x02, 0x1f};
-static unsigned char courier12_103_bits[] = {
-0x7e, 0x21, 0x21, 0x23, 0x3c, 0x20, 0x1c};
-static unsigned char courier12_104_bits[] = {
-0x02, 0x02, 0x3e, 0x22, 0x22, 0x22, 0x77};
-static unsigned char courier12_105_bits[] = {
-0x04, 0x00, 0x00, 0x06, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier12_106_bits[] = {
-0x08, 0x00, 0x00, 0x0f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07};
-static unsigned char courier12_107_bits[] = {
-0x02, 0x02, 0x72, 0x1a, 0x0e, 0x12, 0x72};
-static unsigned char courier12_108_bits[] = {
-0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier12_109_bits[] = {
-0x7f, 0x49, 0x49, 0x49, 0x5b};
-static unsigned char courier12_110_bits[] = {
-0x3f, 0x22, 0x22, 0x22, 0x77};
-static unsigned char courier12_111_bits[] = {
-0x3e, 0x41, 0x41, 0x63, 0x3c};
-static unsigned char courier12_112_bits[] = {
-0x3f, 0x42, 0x42, 0x62, 0x3e, 0x02, 0x0f};
-static unsigned char courier12_113_bits[] = {
-0x7e, 0x23, 0x21, 0x23, 0x3c, 0x20, 0x70};
-static unsigned char courier12_114_bits[] = {
-0x3f, 0x02, 0x02, 0x02, 0x0f};
-static unsigned char courier12_115_bits[] = {
-0x1e, 0x11, 0x0f, 0x13, 0x0d};
-static unsigned char courier12_116_bits[] = {
-0x02, 0x02, 0x1f, 0x02, 0x02, 0x02, 0x1e};
-static unsigned char courier12_117_bits[] = {
-0x33, 0x22, 0x22, 0x22, 0x7c};
-static unsigned char courier12_118_bits[] = {
-0x67, 0x22, 0x24, 0x14, 0x08};
-static unsigned char courier12_119_bits[] = {
-0x63, 0x4a, 0x56, 0x36, 0x24};
-static unsigned char courier12_120_bits[] = {
-0x66, 0x34, 0x08, 0x36, 0x63};
-static unsigned char courier12_121_bits[] = {
-0x63, 0x22, 0x24, 0x14, 0x08, 0x04, 0x0f};
-static unsigned char courier12_122_bits[] = {
-0x1f, 0x08, 0x04, 0x12, 0x1f};
-static unsigned char courier12_123_bits[] = {
-0x06, 0x01, 0x01, 0x02, 0x01, 0x02, 0x02, 0x01, 0x06};
-static unsigned char courier12_124_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char courier12_125_bits[] = {
-0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03};
-static unsigned char courier12_126_bits[] = {
-0x16, 0x09};
-static unsigned char courier12_127_bits[] = {
-0x00};
-static unsigned char courier12_128_bits[] = {
-0x00};
-static unsigned char courier12_129_bits[] = {
-0x00};
-static unsigned char courier12_130_bits[] = {
-0x00};
-static unsigned char courier12_131_bits[] = {
-0x00};
-static unsigned char courier12_132_bits[] = {
-0x00};
-static unsigned char courier12_133_bits[] = {
-0x00};
-static unsigned char courier12_134_bits[] = {
-0x00};
-static unsigned char courier12_135_bits[] = {
-0x00};
-static unsigned char courier12_136_bits[] = {
-0x00};
-static unsigned char courier12_137_bits[] = {
-0x00};
-static unsigned char courier12_138_bits[] = {
-0x00};
-static unsigned char courier12_139_bits[] = {
-0x00};
-static unsigned char courier12_140_bits[] = {
-0x00};
-static unsigned char courier12_141_bits[] = {
-0x00};
-static unsigned char courier12_142_bits[] = {
-0x00};
-static unsigned char courier12_143_bits[] = {
-0x00};
-static unsigned char courier12_144_bits[] = {
-0x00};
-static unsigned char courier12_145_bits[] = {
-0x00};
-static unsigned char courier12_146_bits[] = {
-0x00};
-static unsigned char courier12_147_bits[] = {
-0x00};
-static unsigned char courier12_148_bits[] = {
-0x00};
-static unsigned char courier12_149_bits[] = {
-0x00};
-static unsigned char courier12_150_bits[] = {
-0x00};
-static unsigned char courier12_151_bits[] = {
-0x00};
-static unsigned char courier12_152_bits[] = {
-0x00};
-static unsigned char courier12_153_bits[] = {
-0x00};
-static unsigned char courier12_154_bits[] = {
-0x00};
-static unsigned char courier12_155_bits[] = {
-0x00};
-static unsigned char courier12_156_bits[] = {
-0x00};
-static unsigned char courier12_157_bits[] = {
-0x00};
-static unsigned char courier12_158_bits[] = {
-0x00};
-static unsigned char courier12_159_bits[] = {
-0x00};
-static unsigned char courier12_160_bits[] = {
-0x00};
-static unsigned char courier12_161_bits[] = {
-0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char courier12_162_bits[] = {
-0x04, 0x1e, 0x15, 0x05, 0x05, 0x0e, 0x04, 0x04};
-static unsigned char courier12_163_bits[] = {
-0x1c, 0x02, 0x02, 0x1f, 0x02, 0x02, 0x1e};
-static unsigned char courier12_164_bits[] = {
-0x1f, 0x11, 0x11, 0x11, 0x1f};
-static unsigned char courier12_165_bits[] = {
-0x33, 0x12, 0x0a, 0x1e, 0x1e, 0x04, 0x1e};
-static unsigned char courier12_166_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01};
-static unsigned char courier12_167_bits[] = {
-0x1e, 0x12, 0x06, 0x09, 0x12, 0x1c, 0x09, 0x0f};
-static unsigned char courier12_168_bits[] = {
-0x05};
-static unsigned char courier12_169_bits[] = {
-0x1c, 0x3e, 0x63, 0x43, 0x67, 0x3e, 0x1c};
-static unsigned char courier12_170_bits[] = {
-0x06, 0x07, 0x07, 0x07};
-static unsigned char courier12_171_bits[] = {
-0x14, 0x0a, 0x05, 0x0a, 0x14};
-static unsigned char courier12_172_bits[] = {
-0x1f, 0x10, 0x10};
-static unsigned char courier12_173_bits[] = {
-0x07};
-static unsigned char courier12_174_bits[] = {
-0x1c, 0x3e, 0x55, 0x4d, 0x5d, 0x62, 0x1c};
-static unsigned char courier12_175_bits[] = {
-0x0f};
-static unsigned char courier12_176_bits[] = {
-0x07, 0x09, 0x07};
-static unsigned char courier12_177_bits[] = {
-0x04, 0x04, 0x1f, 0x04, 0x04, 0x00, 0x1f};
-static unsigned char courier12_178_bits[] = {
-0x07, 0x04, 0x02, 0x07};
-static unsigned char courier12_179_bits[] = {
-0x06, 0x02, 0x04, 0x07};
-static unsigned char courier12_180_bits[] = {
-0x02};
-static unsigned char courier12_181_bits[] = {
-0x33, 0x22, 0x22, 0x22, 0x7e, 0x02, 0x02};
-static unsigned char courier12_182_bits[] = {
-0x1e, 0x15, 0x15, 0x16, 0x14, 0x14, 0x14, 0x14};
-static unsigned char courier12_183_bits[] = {
-0x03, 0x02};
-static unsigned char courier12_184_bits[] = {
-0x02, 0x06, 0x06};
-static unsigned char courier12_185_bits[] = {
-0x03, 0x02, 0x02, 0x07};
-static unsigned char courier12_186_bits[] = {
-0x07, 0x05, 0x07, 0x07};
-static unsigned char courier12_187_bits[] = {
-0x05, 0x0a, 0x14, 0x0a, 0x05};
-static unsigned char courier12_188_bits[] = {
-0x40, 0x42, 0x62, 0x32, 0x57, 0x68, 0x64, 0x72, 0x62};
-static unsigned char courier12_189_bits[] = {
-0x40, 0x62, 0x22, 0x32, 0x7f, 0x58, 0x44, 0x22, 0x72};
-static unsigned char courier12_190_bits[] = {
-0x40, 0x46, 0x66, 0x24, 0x57, 0x68, 0x64, 0x72, 0x62};
-static unsigned char courier12_191_bits[] = {
-0x08, 0x00, 0x04, 0x03, 0x01, 0x11, 0x1e};
-static unsigned char courier12_192_bits[] = {
-0x08, 0x00, 0x0e, 0x14, 0x14, 0x14, 0x3e, 0x42, 0x63};
-static unsigned char courier12_193_bits[] = {
-0x10, 0x00, 0x0e, 0x14, 0x14, 0x14, 0x3e, 0x42, 0x63};
-static unsigned char courier12_194_bits[] = {
-0x08, 0x00, 0x0e, 0x14, 0x14, 0x14, 0x3e, 0x42, 0x63};
-static unsigned char courier12_195_bits[] = {
-0x3c, 0x00, 0x0e, 0x14, 0x14, 0x14, 0x3e, 0x42, 0x63};
-static unsigned char courier12_196_bits[] = {
-0x14, 0x00, 0x0e, 0x14, 0x14, 0x14, 0x3e, 0x42, 0x63};
-static unsigned char courier12_197_bits[] = {
-0x08, 0x14, 0x08, 0x0e, 0x14, 0x14, 0x14, 0x3e, 0x42, 0x63};
-static unsigned char courier12_198_bits[] = {
-0x7c, 0x48, 0x6c, 0x3c, 0x2e, 0x4a, 0x7b};
-static unsigned char courier12_199_bits[] = {
-0x3e, 0x31, 0x01, 0x01, 0x01, 0x61, 0x1e, 0x08, 0x0c};
-static unsigned char courier12_200_bits[] = {
-0x04, 0x00, 0x3f, 0x22, 0x0a, 0x0e, 0x0a, 0x22, 0x3f};
-static unsigned char courier12_201_bits[] = {
-0x08, 0x00, 0x3f, 0x22, 0x0a, 0x0e, 0x0a, 0x22, 0x3f};
-static unsigned char courier12_202_bits[] = {
-0x04, 0x00, 0x3f, 0x22, 0x0a, 0x0e, 0x0a, 0x22, 0x3f};
-static unsigned char courier12_203_bits[] = {
-0x0a, 0x00, 0x3f, 0x22, 0x0a, 0x0e, 0x0a, 0x22, 0x3f};
-static unsigned char courier12_204_bits[] = {
-0x04, 0x00, 0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier12_205_bits[] = {
-0x08, 0x00, 0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier12_206_bits[] = {
-0x04, 0x00, 0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier12_207_bits[] = {
-0x0a, 0x00, 0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier12_208_bits[] = {
-0x1f, 0x22, 0x42, 0x4f, 0x42, 0x22, 0x1f};
-static unsigned char courier12_209_bits[] = {
-0x3c, 0x00, 0x77, 0x46, 0x4a, 0x4a, 0x52, 0x52, 0x67};
-static unsigned char courier12_210_bits[] = {
-0x08, 0x00, 0x1c, 0x22, 0x41, 0x41, 0x41, 0x22, 0x1c};
-static unsigned char courier12_211_bits[] = {
-0x10, 0x00, 0x1c, 0x22, 0x41, 0x41, 0x41, 0x22, 0x1c};
-static unsigned char courier12_212_bits[] = {
-0x08, 0x00, 0x1c, 0x22, 0x41, 0x41, 0x41, 0x22, 0x1c};
-static unsigned char courier12_213_bits[] = {
-0x3c, 0x00, 0x1c, 0x22, 0x41, 0x41, 0x41, 0x22, 0x1c};
-static unsigned char courier12_214_bits[] = {
-0x14, 0x00, 0x1c, 0x22, 0x41, 0x41, 0x41, 0x22, 0x1c};
-static unsigned char courier12_215_bits[] = {
-0x09, 0x0e, 0x04, 0x0b, 0x09};
-static unsigned char courier12_216_bits[] = {
-0x5c, 0x22, 0x51, 0x49, 0x49, 0x26, 0x1e};
-static unsigned char courier12_217_bits[] = {
-0x08, 0x00, 0x77, 0x22, 0x22, 0x22, 0x22, 0x22, 0x1c};
-static unsigned char courier12_218_bits[] = {
-0x10, 0x00, 0x77, 0x22, 0x22, 0x22, 0x22, 0x22, 0x1c};
-static unsigned char courier12_219_bits[] = {
-0x08, 0x00, 0x77, 0x22, 0x22, 0x22, 0x22, 0x22, 0x1c};
-static unsigned char courier12_220_bits[] = {
-0x14, 0x00, 0x77, 0x22, 0x22, 0x22, 0x22, 0x22, 0x1c};
-static unsigned char courier12_221_bits[] = {
-0x08, 0x00, 0x33, 0x12, 0x12, 0x0a, 0x04, 0x04, 0x1e};
-static unsigned char courier12_222_bits[] = {
-0x07, 0x1e, 0x32, 0x22, 0x32, 0x1e, 0x07};
-static unsigned char courier12_223_bits[] = {
-0x0e, 0x11, 0x0d, 0x11, 0x11, 0x11, 0x0d};
-static unsigned char courier12_224_bits[] = {
-0x04, 0x00, 0x0e, 0x1e, 0x11, 0x11, 0x3f};
-static unsigned char courier12_225_bits[] = {
-0x08, 0x00, 0x0e, 0x1e, 0x11, 0x11, 0x3f};
-static unsigned char courier12_226_bits[] = {
-0x0e, 0x00, 0x0e, 0x1e, 0x11, 0x11, 0x3f};
-static unsigned char courier12_227_bits[] = {
-0x1e, 0x00, 0x0e, 0x1e, 0x11, 0x11, 0x3f};
-static unsigned char courier12_228_bits[] = {
-0x0a, 0x00, 0x0e, 0x1e, 0x11, 0x11, 0x3f};
-static unsigned char courier12_229_bits[] = {
-0x0c, 0x0e, 0x00, 0x0e, 0x1e, 0x11, 0x11, 0x3f};
-static unsigned char courier12_230_bits[] = {
-0x3e, 0x48, 0x7e, 0x09, 0x76};
-static unsigned char courier12_231_bits[] = {
-0x3e, 0x21, 0x01, 0x01, 0x1e, 0x04, 0x0c};
-static unsigned char courier12_232_bits[] = {
-0x08, 0x00, 0x1e, 0x31, 0x3f, 0x01, 0x1e};
-static unsigned char courier12_233_bits[] = {
-0x08, 0x00, 0x1e, 0x31, 0x3f, 0x01, 0x1e};
-static unsigned char courier12_234_bits[] = {
-0x0e, 0x00, 0x1e, 0x31, 0x3f, 0x01, 0x1e};
-static unsigned char courier12_235_bits[] = {
-0x0a, 0x00, 0x1e, 0x31, 0x3f, 0x01, 0x1e};
-static unsigned char courier12_236_bits[] = {
-0x04, 0x00, 0x06, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier12_237_bits[] = {
-0x08, 0x00, 0x06, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier12_238_bits[] = {
-0x0e, 0x00, 0x06, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier12_239_bits[] = {
-0x0a, 0x00, 0x06, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier12_240_bits[] = {
-0x0c, 0x14, 0x30, 0x7e, 0x41, 0x41, 0x63, 0x3c};
-static unsigned char courier12_241_bits[] = {
-0x3c, 0x00, 0x3f, 0x22, 0x22, 0x22, 0x77};
-static unsigned char courier12_242_bits[] = {
-0x08, 0x00, 0x3e, 0x41, 0x41, 0x63, 0x3c};
-static unsigned char courier12_243_bits[] = {
-0x10, 0x00, 0x3e, 0x41, 0x41, 0x63, 0x3c};
-static unsigned char courier12_244_bits[] = {
-0x1c, 0x00, 0x3e, 0x41, 0x41, 0x63, 0x3c};
-static unsigned char courier12_245_bits[] = {
-0x3c, 0x00, 0x3e, 0x41, 0x41, 0x63, 0x3c};
-static unsigned char courier12_246_bits[] = {
-0x14, 0x00, 0x3e, 0x41, 0x41, 0x63, 0x3c};
-static unsigned char courier12_247_bits[] = {
-0x04, 0x00, 0x1f, 0x00, 0x04};
-static unsigned char courier12_248_bits[] = {
-0x7e, 0x51, 0x49, 0x67, 0x39};
-static unsigned char courier12_249_bits[] = {
-0x08, 0x00, 0x33, 0x22, 0x22, 0x22, 0x7c};
-static unsigned char courier12_250_bits[] = {
-0x10, 0x00, 0x33, 0x22, 0x22, 0x22, 0x7c};
-static unsigned char courier12_251_bits[] = {
-0x1c, 0x00, 0x33, 0x22, 0x22, 0x22, 0x7c};
-static unsigned char courier12_252_bits[] = {
-0x14, 0x00, 0x33, 0x22, 0x22, 0x22, 0x7c};
-static unsigned char courier12_253_bits[] = {
-0x10, 0x00, 0x63, 0x22, 0x24, 0x14, 0x08, 0x04, 0x0f};
-static unsigned char courier12_254_bits[] = {
-0x02, 0x02, 0x3e, 0x42, 0x42, 0x62, 0x3e, 0x02, 0x0f};
-static unsigned char courier12_255_bits[] = {
-0x14, 0x00, 0x63, 0x22, 0x24, 0x14, 0x08, 0x04, 0x0f};
-static RotFont courier12font[] = {
-{5, 1, 1, courier12_0_bits},
-{5, 1, 1, courier12_1_bits},
-{5, 1, 1, courier12_2_bits},
-{5, 1, 1, courier12_3_bits},
-{5, 1, 1, courier12_4_bits},
-{5, 1, 1, courier12_5_bits},
-{5, 1, 1, courier12_6_bits},
-{5, 1, 1, courier12_7_bits},
-{5, 1, 1, courier12_8_bits},
-{5, 1, 1, courier12_9_bits},
-{5, 1, 1, courier12_10_bits},
-{5, 1, 1, courier12_11_bits},
-{5, 1, 1, courier12_12_bits},
-{5, 1, 1, courier12_13_bits},
-{5, 1, 1, courier12_14_bits},
-{5, 1, 1, courier12_15_bits},
-{5, 1, 1, courier12_16_bits},
-{5, 1, 1, courier12_17_bits},
-{5, 1, 1, courier12_18_bits},
-{5, 1, 1, courier12_19_bits},
-{5, 1, 1, courier12_20_bits},
-{5, 1, 1, courier12_21_bits},
-{5, 1, 1, courier12_22_bits},
-{5, 1, 1, courier12_23_bits},
-{5, 1, 1, courier12_24_bits},
-{5, 1, 1, courier12_25_bits},
-{5, 1, 1, courier12_26_bits},
-{5, 1, 1, courier12_27_bits},
-{5, 1, 1, courier12_28_bits},
-{5, 1, 1, courier12_29_bits},
-{5, 1, 1, courier12_30_bits},
-{5, 1, 1, courier12_31_bits},
-{5, 0, 0, courier12_32_bits},
-{2, 7, 7, courier12_33_bits},
-{3, 3, 7, courier12_34_bits},
-{5, 9, 8, courier12_35_bits},
-{5, 10, 8, courier12_36_bits},
-{7, 7, 7, courier12_37_bits},
-{5, 7, 7, courier12_38_bits},
-{2, 3, 7, courier12_39_bits},
-{3, 9, 8, courier12_40_bits},
-{2, 9, 8, courier12_41_bits},
-{5, 4, 7, courier12_42_bits},
-{5, 5, 6, courier12_43_bits},
-{2, 3, 2, courier12_44_bits},
-{6, 1, 4, courier12_45_bits},
-{2, 2, 2, courier12_46_bits},
-{5, 10, 8, courier12_47_bits},
-{5, 7, 7, courier12_48_bits},
-{5, 7, 7, courier12_49_bits},
-{5, 7, 7, courier12_50_bits},
-{5, 7, 7, courier12_51_bits},
-{5, 7, 7, courier12_52_bits},
-{5, 7, 7, courier12_53_bits},
-{5, 7, 7, courier12_54_bits},
-{5, 7, 7, courier12_55_bits},
-{5, 7, 7, courier12_56_bits},
-{5, 7, 7, courier12_57_bits},
-{2, 5, 5, courier12_58_bits},
-{3, 6, 5, courier12_59_bits},
-{6, 5, 6, courier12_60_bits},
-{6, 3, 5, courier12_61_bits},
-{6, 5, 6, courier12_62_bits},
-{5, 7, 7, courier12_63_bits},
-{7, 7, 7, courier12_64_bits},
-{7, 7, 7, courier12_65_bits},
-{6, 7, 7, courier12_66_bits},
-{6, 7, 7, courier12_67_bits},
-{7, 7, 7, courier12_68_bits},
-{6, 7, 7, courier12_69_bits},
-{6, 7, 7, courier12_70_bits},
-{7, 7, 7, courier12_71_bits},
-{7, 7, 7, courier12_72_bits},
-{5, 7, 7, courier12_73_bits},
-{6, 7, 7, courier12_74_bits},
-{6, 7, 7, courier12_75_bits},
-{6, 7, 7, courier12_76_bits},
-{7, 7, 7, courier12_77_bits},
-{7, 7, 7, courier12_78_bits},
-{7, 7, 7, courier12_79_bits},
-{6, 7, 7, courier12_80_bits},
-{7, 9, 7, courier12_81_bits},
-{6, 7, 7, courier12_82_bits},
-{5, 7, 7, courier12_83_bits},
-{7, 7, 7, courier12_84_bits},
-{7, 7, 7, courier12_85_bits},
-{7, 7, 7, courier12_86_bits},
-{7, 7, 7, courier12_87_bits},
-{7, 7, 7, courier12_88_bits},
-{6, 7, 7, courier12_89_bits},
-{5, 7, 7, courier12_90_bits},
-{2, 9, 8, courier12_91_bits},
-{5, 10, 8, courier12_92_bits},
-{3, 9, 8, courier12_93_bits},
-{5, 6, 7, courier12_94_bits},
-{8, 1, -1, courier12_95_bits},
-{2, 3, 7, courier12_96_bits},
-{6, 5, 5, courier12_97_bits},
-{7, 7, 7, courier12_98_bits},
-{6, 5, 5, courier12_99_bits},
-{7, 7, 7, courier12_100_bits},
-{6, 5, 5, courier12_101_bits},
-{6, 7, 7, courier12_102_bits},
-{7, 7, 5, courier12_103_bits},
-{7, 7, 7, courier12_104_bits},
-{5, 8, 8, courier12_105_bits},
-{4, 10, 8, courier12_106_bits},
-{7, 7, 7, courier12_107_bits},
-{5, 7, 7, courier12_108_bits},
-{7, 5, 5, courier12_109_bits},
-{7, 5, 5, courier12_110_bits},
-{7, 5, 5, courier12_111_bits},
-{7, 7, 5, courier12_112_bits},
-{7, 7, 5, courier12_113_bits},
-{6, 5, 5, courier12_114_bits},
-{5, 5, 5, courier12_115_bits},
-{5, 7, 7, courier12_116_bits},
-{7, 5, 5, courier12_117_bits},
-{7, 5, 5, courier12_118_bits},
-{7, 5, 5, courier12_119_bits},
-{7, 5, 5, courier12_120_bits},
-{7, 7, 5, courier12_121_bits},
-{5, 5, 5, courier12_122_bits},
-{3, 9, 8, courier12_123_bits},
-{1, 10, 8, courier12_124_bits},
-{2, 9, 8, courier12_125_bits},
-{5, 2, 5, courier12_126_bits},
-{5, 1, 1, courier12_127_bits},
-{5, 1, 1, courier12_128_bits},
-{5, 1, 1, courier12_129_bits},
-{5, 1, 1, courier12_130_bits},
-{5, 1, 1, courier12_131_bits},
-{5, 1, 1, courier12_132_bits},
-{5, 1, 1, courier12_133_bits},
-{5, 1, 1, courier12_134_bits},
-{5, 1, 1, courier12_135_bits},
-{5, 1, 1, courier12_136_bits},
-{5, 1, 1, courier12_137_bits},
-{5, 1, 1, courier12_138_bits},
-{5, 1, 1, courier12_139_bits},
-{5, 1, 1, courier12_140_bits},
-{5, 1, 1, courier12_141_bits},
-{5, 1, 1, courier12_142_bits},
-{5, 1, 1, courier12_143_bits},
-{5, 1, 1, courier12_144_bits},
-{5, 1, 1, courier12_145_bits},
-{5, 1, 1, courier12_146_bits},
-{5, 1, 1, courier12_147_bits},
-{5, 1, 1, courier12_148_bits},
-{5, 1, 1, courier12_149_bits},
-{5, 1, 1, courier12_150_bits},
-{5, 1, 1, courier12_151_bits},
-{5, 1, 1, courier12_152_bits},
-{5, 1, 1, courier12_153_bits},
-{5, 1, 1, courier12_154_bits},
-{5, 1, 1, courier12_155_bits},
-{5, 1, 1, courier12_156_bits},
-{5, 1, 1, courier12_157_bits},
-{5, 1, 1, courier12_158_bits},
-{5, 1, 1, courier12_159_bits},
-{5, 1, 1, courier12_160_bits},
-{2, 7, 5, courier12_161_bits},
-{5, 8, 7, courier12_162_bits},
-{5, 7, 7, courier12_163_bits},
-{5, 5, 6, courier12_164_bits},
-{6, 7, 7, courier12_165_bits},
-{1, 10, 8, courier12_166_bits},
-{5, 8, 7, courier12_167_bits},
-{3, 1, 7, courier12_168_bits},
-{7, 7, 7, courier12_169_bits},
-{3, 4, 7, courier12_170_bits},
-{5, 5, 5, courier12_171_bits},
-{5, 3, 5, courier12_172_bits},
-{3, 1, 4, courier12_173_bits},
-{7, 7, 7, courier12_174_bits},
-{4, 1, 7, courier12_175_bits},
-{4, 3, 7, courier12_176_bits},
-{5, 7, 7, courier12_177_bits},
-{3, 4, 7, courier12_178_bits},
-{3, 4, 7, courier12_179_bits},
-{2, 1, 7, courier12_180_bits},
-{7, 7, 5, courier12_181_bits},
-{5, 8, 7, courier12_182_bits},
-{2, 2, 5, courier12_183_bits},
-{3, 3, 1, courier12_184_bits},
-{3, 4, 7, courier12_185_bits},
-{3, 4, 7, courier12_186_bits},
-{5, 5, 5, courier12_187_bits},
-{7, 9, 8, courier12_188_bits},
-{7, 9, 8, courier12_189_bits},
-{7, 9, 8, courier12_190_bits},
-{5, 7, 5, courier12_191_bits},
-{7, 9, 9, courier12_192_bits},
-{7, 9, 9, courier12_193_bits},
-{7, 9, 9, courier12_194_bits},
-{7, 9, 9, courier12_195_bits},
-{7, 9, 9, courier12_196_bits},
-{7, 10, 10, courier12_197_bits},
-{7, 7, 7, courier12_198_bits},
-{7, 9, 7, courier12_199_bits},
-{6, 9, 9, courier12_200_bits},
-{6, 9, 9, courier12_201_bits},
-{6, 9, 9, courier12_202_bits},
-{6, 9, 9, courier12_203_bits},
-{5, 9, 9, courier12_204_bits},
-{5, 9, 9, courier12_205_bits},
-{5, 9, 9, courier12_206_bits},
-{5, 9, 9, courier12_207_bits},
-{7, 7, 7, courier12_208_bits},
-{7, 9, 9, courier12_209_bits},
-{7, 9, 9, courier12_210_bits},
-{7, 9, 9, courier12_211_bits},
-{7, 9, 9, courier12_212_bits},
-{7, 9, 9, courier12_213_bits},
-{7, 9, 9, courier12_214_bits},
-{4, 5, 6, courier12_215_bits},
-{7, 7, 7, courier12_216_bits},
-{7, 9, 9, courier12_217_bits},
-{7, 9, 9, courier12_218_bits},
-{7, 9, 9, courier12_219_bits},
-{7, 9, 9, courier12_220_bits},
-{6, 9, 9, courier12_221_bits},
-{6, 7, 7, courier12_222_bits},
-{5, 7, 7, courier12_223_bits},
-{6, 7, 7, courier12_224_bits},
-{6, 7, 7, courier12_225_bits},
-{6, 7, 7, courier12_226_bits},
-{6, 7, 7, courier12_227_bits},
-{6, 7, 7, courier12_228_bits},
-{6, 8, 8, courier12_229_bits},
-{7, 5, 5, courier12_230_bits},
-{6, 7, 5, courier12_231_bits},
-{6, 7, 7, courier12_232_bits},
-{6, 7, 7, courier12_233_bits},
-{6, 7, 7, courier12_234_bits},
-{6, 7, 7, courier12_235_bits},
-{5, 7, 7, courier12_236_bits},
-{5, 7, 7, courier12_237_bits},
-{5, 7, 7, courier12_238_bits},
-{5, 7, 7, courier12_239_bits},
-{7, 8, 8, courier12_240_bits},
-{7, 7, 7, courier12_241_bits},
-{7, 7, 7, courier12_242_bits},
-{7, 7, 7, courier12_243_bits},
-{7, 7, 7, courier12_244_bits},
-{7, 7, 7, courier12_245_bits},
-{7, 7, 7, courier12_246_bits},
-{5, 5, 6, courier12_247_bits},
-{7, 5, 5, courier12_248_bits},
-{7, 7, 7, courier12_249_bits},
-{7, 7, 7, courier12_250_bits},
-{7, 7, 7, courier12_251_bits},
-{7, 7, 7, courier12_252_bits},
-{7, 9, 7, courier12_253_bits},
-{7, 9, 7, courier12_254_bits},
-{7, 9, 7, courier12_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/courier14.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/courier14.h	(revision 38985)
+++ 	(revision )
@@ -1,789 +1,0 @@
-static unsigned char courier14_0_bits[] = {
-0x00};
-static unsigned char courier14_1_bits[] = {
-0x00};
-static unsigned char courier14_2_bits[] = {
-0x00};
-static unsigned char courier14_3_bits[] = {
-0x00};
-static unsigned char courier14_4_bits[] = {
-0x00};
-static unsigned char courier14_5_bits[] = {
-0x00};
-static unsigned char courier14_6_bits[] = {
-0x00};
-static unsigned char courier14_7_bits[] = {
-0x00};
-static unsigned char courier14_8_bits[] = {
-0x00};
-static unsigned char courier14_9_bits[] = {
-0x00};
-static unsigned char courier14_10_bits[] = {
-0x00};
-static unsigned char courier14_11_bits[] = {
-0x00};
-static unsigned char courier14_12_bits[] = {
-0x00};
-static unsigned char courier14_13_bits[] = {
-0x00};
-static unsigned char courier14_14_bits[] = {
-0x00};
-static unsigned char courier14_15_bits[] = {
-0x00};
-static unsigned char courier14_16_bits[] = {
-0x00};
-static unsigned char courier14_17_bits[] = {
-0x00};
-static unsigned char courier14_18_bits[] = {
-0x00};
-static unsigned char courier14_19_bits[] = {
-0x00};
-static unsigned char courier14_20_bits[] = {
-0x00};
-static unsigned char courier14_21_bits[] = {
-0x00};
-static unsigned char courier14_22_bits[] = {
-0x00};
-static unsigned char courier14_23_bits[] = {
-0x00};
-static unsigned char courier14_24_bits[] = {
-0x00};
-static unsigned char courier14_25_bits[] = {
-0x00};
-static unsigned char courier14_26_bits[] = {
-0x00};
-static unsigned char courier14_27_bits[] = {
-0x00};
-static unsigned char courier14_28_bits[] = {
-0x00};
-static unsigned char courier14_29_bits[] = {
-0x00};
-static unsigned char courier14_30_bits[] = {
-0x00};
-static unsigned char courier14_31_bits[] = {
-0x00};
-static unsigned char courier14_32_bits[] = {
-0x00};
-static unsigned char courier14_33_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01};
-static unsigned char courier14_34_bits[] = {
-0x09, 0x09, 0x09, 0x09};
-static unsigned char courier14_35_bits[] = {
-0x0a, 0x0a, 0x0a, 0x1f, 0x0a, 0x0a, 0x1f, 0x0a, 0x0a, 0x0a};
-static unsigned char courier14_36_bits[] = {
-0x04, 0x04, 0x1e, 0x11, 0x01, 0x03, 0x0c, 0x10, 0x11, 0x0f, 0x04, 0x04, 
-0x04};
-static unsigned char courier14_37_bits[] = {
-0x06, 0x09, 0x09, 0xce, 0x30, 0x0c, 0x33, 0x48, 0x48, 0x30};
-static unsigned char courier14_38_bits[] = {
-0x1c, 0x02, 0x02, 0x02, 0x15, 0x09, 0x19, 0x26};
-static unsigned char courier14_39_bits[] = {
-0x06, 0x06, 0x03, 0x01};
-static unsigned char courier14_40_bits[] = {
-0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x04};
-static unsigned char courier14_41_bits[] = {
-0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01};
-static unsigned char courier14_42_bits[] = {
-0x04, 0x04, 0x1f, 0x04, 0x0a, 0x11};
-static unsigned char courier14_43_bits[] = {
-0x08, 0x08, 0x08, 0x7f, 0x08, 0x08, 0x08};
-static unsigned char courier14_44_bits[] = {
-0x06, 0x06, 0x03, 0x01};
-static unsigned char courier14_45_bits[] = {
-0x7f};
-static unsigned char courier14_46_bits[] = {
-0x03, 0x03};
-static unsigned char courier14_47_bits[] = {
-0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01};
-static unsigned char courier14_48_bits[] = {
-0x0c, 0x12, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x12, 0x0c};
-static unsigned char courier14_49_bits[] = {
-0x04, 0x06, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier14_50_bits[] = {
-0x0e, 0x11, 0x11, 0x10, 0x08, 0x04, 0x02, 0x01, 0x11, 0x1f};
-static unsigned char courier14_51_bits[] = {
-0x1c, 0x22, 0x20, 0x20, 0x18, 0x20, 0x20, 0x20, 0x21, 0x1e};
-static unsigned char courier14_52_bits[] = {
-0x18, 0x14, 0x14, 0x12, 0x12, 0x11, 0x11, 0x3f, 0x10, 0x38};
-static unsigned char courier14_53_bits[] = {
-0x3e, 0x02, 0x02, 0x02, 0x1e, 0x20, 0x20, 0x20, 0x21, 0x1e};
-static unsigned char courier14_54_bits[] = {
-0x1c, 0x02, 0x01, 0x01, 0x1d, 0x23, 0x21, 0x21, 0x22, 0x1c};
-static unsigned char courier14_55_bits[] = {
-0x3f, 0x21, 0x20, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08};
-static unsigned char courier14_56_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x0e, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char courier14_57_bits[] = {
-0x0e, 0x11, 0x21, 0x21, 0x31, 0x2e, 0x20, 0x20, 0x10, 0x0e};
-static unsigned char courier14_58_bits[] = {
-0x03, 0x03, 0x00, 0x00, 0x00, 0x03, 0x03};
-static unsigned char courier14_59_bits[] = {
-0x06, 0x06, 0x00, 0x00, 0x00, 0x06, 0x06, 0x03, 0x01};
-static unsigned char courier14_60_bits[] = {
-0x60, 0x18, 0x06, 0x01, 0x06, 0x18, 0x60};
-static unsigned char courier14_61_bits[] = {
-0x7f, 0x00, 0x7f};
-static unsigned char courier14_62_bits[] = {
-0x03, 0x0c, 0x30, 0x40, 0x30, 0x0c, 0x03};
-static unsigned char courier14_63_bits[] = {
-0x0e, 0x11, 0x10, 0x10, 0x0c, 0x04, 0x00, 0x04, 0x04};
-static unsigned char courier14_64_bits[] = {
-0x1c, 0x22, 0x21, 0x39, 0x25, 0x25, 0x79, 0x01, 0x02, 0x1c};
-static unsigned char courier14_65_bits[] = {
-0x1c, 0x00, 0x10, 0x00, 0x28, 0x00, 0x28, 0x00, 0x44, 0x00, 0x7c, 0x00, 
-0x82, 0x00, 0x82, 0x00, 0xef, 0x01};
-static unsigned char courier14_66_bits[] = {
-0x3f, 0x42, 0x42, 0x42, 0x3e, 0x42, 0x42, 0x42, 0x3f};
-static unsigned char courier14_67_bits[] = {
-0x5c, 0x62, 0x41, 0x01, 0x01, 0x01, 0x01, 0x42, 0x3c};
-static unsigned char courier14_68_bits[] = {
-0x3f, 0x42, 0x82, 0x82, 0x82, 0x82, 0x82, 0x42, 0x3f};
-static unsigned char courier14_69_bits[] = {
-0x7f, 0x42, 0x42, 0x12, 0x1e, 0x12, 0x42, 0x42, 0x7f};
-static unsigned char courier14_70_bits[] = {
-0x7f, 0x42, 0x42, 0x12, 0x1e, 0x12, 0x02, 0x02, 0x0f};
-static unsigned char courier14_71_bits[] = {
-0x5c, 0x62, 0x41, 0x01, 0x01, 0xf1, 0x41, 0x42, 0x3c};
-static unsigned char courier14_72_bits[] = {
-0xe7, 0x42, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0xe7};
-static unsigned char courier14_73_bits[] = {
-0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier14_74_bits[] = {
-0x7c, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char courier14_75_bits[] = {
-0x77, 0x22, 0x12, 0x0a, 0x0e, 0x12, 0x22, 0x22, 0xc7};
-static unsigned char courier14_76_bits[] = {
-0x1f, 0x04, 0x04, 0x04, 0x04, 0x84, 0x84, 0x84, 0xff};
-static unsigned char courier14_77_bits[] = {
-0xc7, 0x01, 0xc6, 0x00, 0xaa, 0x00, 0xaa, 0x00, 0x92, 0x00, 0x92, 0x00, 
-0x82, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char courier14_78_bits[] = {
-0xe7, 0x46, 0x4a, 0x4a, 0x52, 0x52, 0x62, 0x62, 0x47};
-static unsigned char courier14_79_bits[] = {
-0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier14_80_bits[] = {
-0x3f, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x0f};
-static unsigned char courier14_81_bits[] = {
-0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c, 0x8c, 0x7a};
-static unsigned char courier14_82_bits[] = {
-0x3f, 0x42, 0x42, 0x42, 0x22, 0x1e, 0x22, 0x42, 0x87};
-static unsigned char courier14_83_bits[] = {
-0x2e, 0x31, 0x21, 0x01, 0x1e, 0x20, 0x21, 0x23, 0x1d};
-static unsigned char courier14_84_bits[] = {
-0x7f, 0x49, 0x49, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3e};
-static unsigned char courier14_85_bits[] = {
-0xe7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c};
-static unsigned char courier14_86_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x82, 0x00, 0x44, 0x00, 0x44, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x10, 0x00, 0x10, 0x00};
-static unsigned char courier14_87_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x92, 0x00, 0x92, 0x00, 0xaa, 0x00, 0xaa, 0x00, 
-0x44, 0x00, 0x44, 0x00, 0x44, 0x00};
-static unsigned char courier14_88_bits[] = {
-0xe7, 0x42, 0x24, 0x24, 0x18, 0x24, 0x24, 0x42, 0xe7};
-static unsigned char courier14_89_bits[] = {
-0x77, 0x22, 0x22, 0x14, 0x14, 0x08, 0x08, 0x08, 0x3e};
-static unsigned char courier14_90_bits[] = {
-0x3f, 0x21, 0x11, 0x08, 0x04, 0x04, 0x22, 0x21, 0x3f};
-static unsigned char courier14_91_bits[] = {
-0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x07};
-static unsigned char courier14_92_bits[] = {
-0x01, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20};
-static unsigned char courier14_93_bits[] = {
-0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07};
-static unsigned char courier14_94_bits[] = {
-0x04, 0x0a, 0x0a, 0x11, 0x11};
-static unsigned char courier14_95_bits[] = {
-0xff, 0x01};
-static unsigned char courier14_96_bits[] = {
-0x03, 0x03, 0x06, 0x04};
-static unsigned char courier14_97_bits[] = {
-0x1e, 0x21, 0x20, 0x3e, 0x21, 0x21, 0x5e};
-static unsigned char courier14_98_bits[] = {
-0x03, 0x02, 0x02, 0x3a, 0x46, 0x82, 0x82, 0x82, 0x46, 0x3b};
-static unsigned char courier14_99_bits[] = {
-0x5c, 0x62, 0x41, 0x01, 0x01, 0x42, 0x3c};
-static unsigned char courier14_100_bits[] = {
-0x60, 0x40, 0x40, 0x5c, 0x62, 0x41, 0x41, 0x41, 0x62, 0xdc};
-static unsigned char courier14_101_bits[] = {
-0x1c, 0x22, 0x41, 0x7f, 0x01, 0x42, 0x3c};
-static unsigned char courier14_102_bits[] = {
-0x78, 0x04, 0x04, 0x3f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier14_103_bits[] = {
-0xdc, 0x62, 0x41, 0x41, 0x41, 0x62, 0x5c, 0x40, 0x20, 0x1e};
-static unsigned char courier14_104_bits[] = {
-0x03, 0x02, 0x02, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42, 0xe7};
-static unsigned char courier14_105_bits[] = {
-0x04, 0x04, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier14_106_bits[] = {
-0x10, 0x10, 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 
-0x07};
-static unsigned char courier14_107_bits[] = {
-0x03, 0x02, 0x02, 0x72, 0x12, 0x0a, 0x06, 0x0a, 0x12, 0x73};
-static unsigned char courier14_108_bits[] = {
-0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier14_109_bits[] = {
-0xdb, 0x00, 0xb6, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 
-0xb7, 0x01};
-static unsigned char courier14_110_bits[] = {
-0x3b, 0x46, 0x42, 0x42, 0x42, 0x42, 0xe7};
-static unsigned char courier14_111_bits[] = {
-0x3c, 0x42, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier14_112_bits[] = {
-0x3b, 0x46, 0x82, 0x82, 0x82, 0x46, 0x3a, 0x02, 0x02, 0x0f};
-static unsigned char courier14_113_bits[] = {
-0xdc, 0x62, 0x41, 0x41, 0x41, 0x62, 0x5c, 0x40, 0x40, 0xf0};
-static unsigned char courier14_114_bits[] = {
-0x33, 0x4a, 0x06, 0x02, 0x02, 0x02, 0x1f};
-static unsigned char courier14_115_bits[] = {
-0x3e, 0x21, 0x01, 0x1e, 0x20, 0x21, 0x1f};
-static unsigned char courier14_116_bits[] = {
-0x04, 0x04, 0x3f, 0x04, 0x04, 0x04, 0x04, 0x44, 0x38};
-static unsigned char courier14_117_bits[] = {
-0x63, 0x42, 0x42, 0x42, 0x42, 0x62, 0xdc};
-static unsigned char courier14_118_bits[] = {
-0xe7, 0x42, 0x42, 0x24, 0x24, 0x18, 0x18};
-static unsigned char courier14_119_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x92, 0x00, 0x92, 0x00, 0x54, 0x00, 0x6c, 0x00, 
-0x44, 0x00};
-static unsigned char courier14_120_bits[] = {
-0x77, 0x22, 0x14, 0x08, 0x14, 0x22, 0x77};
-static unsigned char courier14_121_bits[] = {
-0xe7, 0x42, 0x42, 0x24, 0x24, 0x18, 0x10, 0x08, 0x08, 0x1e};
-static unsigned char courier14_122_bits[] = {
-0x1f, 0x11, 0x08, 0x04, 0x02, 0x11, 0x1f};
-static unsigned char courier14_123_bits[] = {
-0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04};
-static unsigned char courier14_124_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char courier14_125_bits[] = {
-0x01, 0x02, 0x02, 0x02, 0x02, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01};
-static unsigned char courier14_126_bits[] = {
-0x26, 0x19};
-static unsigned char courier14_127_bits[] = {
-0x00};
-static unsigned char courier14_128_bits[] = {
-0x00};
-static unsigned char courier14_129_bits[] = {
-0x00};
-static unsigned char courier14_130_bits[] = {
-0x00};
-static unsigned char courier14_131_bits[] = {
-0x00};
-static unsigned char courier14_132_bits[] = {
-0x00};
-static unsigned char courier14_133_bits[] = {
-0x00};
-static unsigned char courier14_134_bits[] = {
-0x00};
-static unsigned char courier14_135_bits[] = {
-0x00};
-static unsigned char courier14_136_bits[] = {
-0x00};
-static unsigned char courier14_137_bits[] = {
-0x00};
-static unsigned char courier14_138_bits[] = {
-0x00};
-static unsigned char courier14_139_bits[] = {
-0x00};
-static unsigned char courier14_140_bits[] = {
-0x00};
-static unsigned char courier14_141_bits[] = {
-0x00};
-static unsigned char courier14_142_bits[] = {
-0x00};
-static unsigned char courier14_143_bits[] = {
-0x00};
-static unsigned char courier14_144_bits[] = {
-0x00};
-static unsigned char courier14_145_bits[] = {
-0x00};
-static unsigned char courier14_146_bits[] = {
-0x00};
-static unsigned char courier14_147_bits[] = {
-0x00};
-static unsigned char courier14_148_bits[] = {
-0x00};
-static unsigned char courier14_149_bits[] = {
-0x00};
-static unsigned char courier14_150_bits[] = {
-0x00};
-static unsigned char courier14_151_bits[] = {
-0x00};
-static unsigned char courier14_152_bits[] = {
-0x00};
-static unsigned char courier14_153_bits[] = {
-0x00};
-static unsigned char courier14_154_bits[] = {
-0x00};
-static unsigned char courier14_155_bits[] = {
-0x00};
-static unsigned char courier14_156_bits[] = {
-0x00};
-static unsigned char courier14_157_bits[] = {
-0x00};
-static unsigned char courier14_158_bits[] = {
-0x00};
-static unsigned char courier14_159_bits[] = {
-0x00};
-static unsigned char courier14_160_bits[] = {
-0x00};
-static unsigned char courier14_161_bits[] = {
-0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char courier14_162_bits[] = {
-0x04, 0x04, 0x1e, 0x11, 0x01, 0x11, 0x0e, 0x04, 0x04};
-static unsigned char courier14_163_bits[] = {
-0x18, 0x24, 0x04, 0x04, 0x1e, 0x04, 0x04, 0x42, 0x3f};
-static unsigned char courier14_164_bits[] = {
-0x2d, 0x12, 0x21, 0x21, 0x12, 0x2d};
-static unsigned char courier14_165_bits[] = {
-0x77, 0x22, 0x22, 0x14, 0x3e, 0x08, 0x3e, 0x08, 0x1c};
-static unsigned char courier14_166_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char courier14_167_bits[] = {
-0x3c, 0x22, 0x02, 0x0f, 0x11, 0x22, 0x3c, 0x10, 0x11, 0x0f};
-static unsigned char courier14_168_bits[] = {
-0x1b};
-static unsigned char courier14_169_bits[] = {
-0x3c, 0x42, 0x99, 0xa5, 0x85, 0xa5, 0x99, 0x42, 0x3c};
-static unsigned char courier14_170_bits[] = {
-0x03, 0x04, 0x07, 0x0d, 0x00, 0x0f};
-static unsigned char courier14_171_bits[] = {
-0x88, 0x44, 0x22, 0x33, 0x22, 0x44, 0x88};
-static unsigned char courier14_172_bits[] = {
-0x7f, 0x40, 0x40};
-static unsigned char courier14_173_bits[] = {
-0x3f};
-static unsigned char courier14_174_bits[] = {
-0x3c, 0x42, 0x9d, 0xa5, 0x9d, 0x95, 0xa5, 0x42, 0x3c};
-static unsigned char courier14_175_bits[] = {
-0x0f};
-static unsigned char courier14_176_bits[] = {
-0x06, 0x09, 0x09, 0x06};
-static unsigned char courier14_177_bits[] = {
-0x08, 0x08, 0x7f, 0x08, 0x08, 0x00, 0x7f};
-static unsigned char courier14_178_bits[] = {
-0x06, 0x09, 0x08, 0x04, 0x02, 0x0f};
-static unsigned char courier14_179_bits[] = {
-0x06, 0x09, 0x06, 0x08, 0x09, 0x06};
-static unsigned char courier14_180_bits[] = {
-0x0c, 0x03};
-static unsigned char courier14_181_bits[] = {
-0x63, 0x42, 0x42, 0x42, 0x42, 0x62, 0xde, 0x02, 0x02, 0x02};
-static unsigned char courier14_182_bits[] = {
-0x7e, 0x29, 0x29, 0x29, 0x2e, 0x28, 0x28, 0x28, 0x28, 0x7c};
-static unsigned char courier14_183_bits[] = {
-0x03, 0x03};
-static unsigned char courier14_184_bits[] = {
-0x02, 0x04, 0x07};
-static unsigned char courier14_185_bits[] = {
-0x02, 0x03, 0x02, 0x02, 0x02, 0x07};
-static unsigned char courier14_186_bits[] = {
-0x06, 0x09, 0x09, 0x06, 0x00, 0x0f};
-static unsigned char courier14_187_bits[] = {
-0x11, 0x22, 0x44, 0xcc, 0x44, 0x22, 0x11};
-static unsigned char courier14_188_bits[] = {
-0x02, 0x00, 0x83, 0x00, 0x42, 0x00, 0x22, 0x00, 0x22, 0x01, 0x97, 0x01, 
-0x48, 0x01, 0x28, 0x01, 0xe4, 0x03, 0x02, 0x01};
-static unsigned char courier14_189_bits[] = {
-0x02, 0x00, 0x83, 0x00, 0x42, 0x00, 0x22, 0x00, 0xa2, 0x01, 0x57, 0x02, 
-0x08, 0x02, 0x08, 0x01, 0x84, 0x00, 0xc2, 0x03};
-static unsigned char courier14_190_bits[] = {
-0x06, 0x00, 0x89, 0x00, 0x46, 0x00, 0x28, 0x00, 0x29, 0x01, 0x96, 0x01, 
-0x48, 0x01, 0x28, 0x01, 0xe4, 0x03, 0x02, 0x01};
-static unsigned char courier14_191_bits[] = {
-0x04, 0x04, 0x00, 0x04, 0x06, 0x01, 0x01, 0x11, 0x0e};
-static unsigned char courier14_192_bits[] = {
-0x0c, 0x00, 0x30, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x10, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x82, 0x00, 0x82, 0x00, 0xef, 0x01};
-static unsigned char courier14_193_bits[] = {
-0x30, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x10, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x82, 0x00, 0x82, 0x00, 0xef, 0x01};
-static unsigned char courier14_194_bits[] = {
-0x10, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x10, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x82, 0x00, 0x82, 0x00, 0xef, 0x01};
-static unsigned char courier14_195_bits[] = {
-0x58, 0x00, 0x34, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x10, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x82, 0x00, 0x82, 0x00, 0xef, 0x01};
-static unsigned char courier14_196_bits[] = {
-0x6c, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x10, 0x00, 0x28, 0x00, 0x28, 0x00, 
-0x44, 0x00, 0x7c, 0x00, 0x82, 0x00, 0x82, 0x00, 0xef, 0x01};
-static unsigned char courier14_197_bits[] = {
-0x18, 0x00, 0x24, 0x00, 0x18, 0x00, 0x1c, 0x00, 0x10, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x82, 0x00, 0x82, 0x00, 0xef, 0x01};
-static unsigned char courier14_198_bits[] = {
-0xf8, 0x01, 0x30, 0x01, 0x28, 0x00, 0x28, 0x01, 0xe4, 0x01, 0x3c, 0x01, 
-0x22, 0x00, 0x22, 0x01, 0xf7, 0x01};
-static unsigned char courier14_199_bits[] = {
-0x5c, 0x62, 0x41, 0x01, 0x01, 0x01, 0x01, 0x42, 0x3c, 0x08, 0x10, 0x1c};
-static unsigned char courier14_200_bits[] = {
-0x06, 0x18, 0x00, 0x7f, 0x42, 0x42, 0x12, 0x1e, 0x12, 0x42, 0x42, 0x7f};
-static unsigned char courier14_201_bits[] = {
-0x30, 0x0c, 0x00, 0x7f, 0x42, 0x42, 0x12, 0x1e, 0x12, 0x42, 0x42, 0x7f};
-static unsigned char courier14_202_bits[] = {
-0x08, 0x14, 0x00, 0x7f, 0x42, 0x42, 0x12, 0x1e, 0x12, 0x42, 0x42, 0x7f};
-static unsigned char courier14_203_bits[] = {
-0x36, 0x00, 0x7f, 0x42, 0x42, 0x12, 0x1e, 0x12, 0x42, 0x42, 0x7f};
-static unsigned char courier14_204_bits[] = {
-0x03, 0x0c, 0x00, 0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier14_205_bits[] = {
-0x18, 0x06, 0x00, 0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier14_206_bits[] = {
-0x04, 0x0a, 0x00, 0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier14_207_bits[] = {
-0x1b, 0x00, 0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier14_208_bits[] = {
-0x3f, 0x42, 0x82, 0x82, 0x8f, 0x82, 0x82, 0x42, 0x3f};
-static unsigned char courier14_209_bits[] = {
-0x58, 0x34, 0x00, 0xe7, 0x46, 0x4a, 0x4a, 0x52, 0x52, 0x62, 0x62, 0x47};
-static unsigned char courier14_210_bits[] = {
-0x0c, 0x30, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier14_211_bits[] = {
-0x30, 0x0c, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier14_212_bits[] = {
-0x08, 0x14, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier14_213_bits[] = {
-0x58, 0x34, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier14_214_bits[] = {
-0x66, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier14_215_bits[] = {
-0x41, 0x22, 0x14, 0x08, 0x14, 0x22, 0x41};
-static unsigned char courier14_216_bits[] = {
-0x78, 0x01, 0x84, 0x00, 0x42, 0x01, 0x22, 0x01, 0x12, 0x01, 0x0a, 0x01, 
-0x04, 0x01, 0x86, 0x00, 0x79, 0x00};
-static unsigned char courier14_217_bits[] = {
-0x0c, 0x30, 0x00, 0xe7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c};
-static unsigned char courier14_218_bits[] = {
-0x30, 0x0c, 0x00, 0xe7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c};
-static unsigned char courier14_219_bits[] = {
-0x08, 0x14, 0x00, 0xe7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c};
-static unsigned char courier14_220_bits[] = {
-0x66, 0x00, 0xe7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c};
-static unsigned char courier14_221_bits[] = {
-0x30, 0x0c, 0x00, 0x77, 0x22, 0x22, 0x14, 0x14, 0x08, 0x08, 0x08, 0x3e};
-static unsigned char courier14_222_bits[] = {
-0x07, 0x02, 0x3e, 0x42, 0x42, 0x42, 0x3e, 0x02, 0x07};
-static unsigned char courier14_223_bits[] = {
-0x1c, 0x22, 0x22, 0x1a, 0x22, 0x42, 0x42, 0x4a, 0x33};
-static unsigned char courier14_224_bits[] = {
-0x06, 0x18, 0x00, 0x1e, 0x21, 0x20, 0x3e, 0x21, 0x31, 0x6e};
-static unsigned char courier14_225_bits[] = {
-0x18, 0x06, 0x00, 0x1e, 0x21, 0x20, 0x3e, 0x21, 0x31, 0x6e};
-static unsigned char courier14_226_bits[] = {
-0x08, 0x14, 0x00, 0x1e, 0x21, 0x20, 0x3e, 0x21, 0x31, 0x6e};
-static unsigned char courier14_227_bits[] = {
-0x2c, 0x1a, 0x00, 0x1e, 0x21, 0x20, 0x3e, 0x21, 0x31, 0x6e};
-static unsigned char courier14_228_bits[] = {
-0x36, 0x00, 0x1e, 0x21, 0x20, 0x3e, 0x21, 0x31, 0x6e};
-static unsigned char courier14_229_bits[] = {
-0x0c, 0x12, 0x0c, 0x1e, 0x21, 0x20, 0x3e, 0x21, 0x31, 0x6e};
-static unsigned char courier14_230_bits[] = {
-0x6e, 0x91, 0x90, 0xfe, 0x11, 0x91, 0x6e};
-static unsigned char courier14_231_bits[] = {
-0x5c, 0x62, 0x41, 0x01, 0x01, 0x42, 0x3c, 0x08, 0x10, 0x1c};
-static unsigned char courier14_232_bits[] = {
-0x06, 0x18, 0x00, 0x1c, 0x22, 0x41, 0x7f, 0x01, 0x42, 0x3c};
-static unsigned char courier14_233_bits[] = {
-0x30, 0x0c, 0x00, 0x1c, 0x22, 0x41, 0x7f, 0x01, 0x42, 0x3c};
-static unsigned char courier14_234_bits[] = {
-0x08, 0x14, 0x00, 0x1c, 0x22, 0x41, 0x7f, 0x01, 0x42, 0x3c};
-static unsigned char courier14_235_bits[] = {
-0x36, 0x00, 0x1c, 0x22, 0x41, 0x7f, 0x01, 0x42, 0x3c};
-static unsigned char courier14_236_bits[] = {
-0x03, 0x0c, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier14_237_bits[] = {
-0x0c, 0x03, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier14_238_bits[] = {
-0x04, 0x0a, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier14_239_bits[] = {
-0x1b, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier14_240_bits[] = {
-0x40, 0x27, 0x18, 0x14, 0x22, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier14_241_bits[] = {
-0x58, 0x34, 0x00, 0x3b, 0x46, 0x42, 0x42, 0x42, 0x42, 0xe7};
-static unsigned char courier14_242_bits[] = {
-0x0c, 0x30, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier14_243_bits[] = {
-0x30, 0x0c, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier14_244_bits[] = {
-0x08, 0x14, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier14_245_bits[] = {
-0x58, 0x34, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier14_246_bits[] = {
-0x36, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier14_247_bits[] = {
-0x18, 0x18, 0x00, 0xff, 0x00, 0x18, 0x18};
-static unsigned char courier14_248_bits[] = {
-0xbc, 0x62, 0x91, 0x89, 0x85, 0x42, 0x3d};
-static unsigned char courier14_249_bits[] = {
-0x0c, 0x30, 0x00, 0x63, 0x42, 0x42, 0x42, 0x42, 0x62, 0xdc};
-static unsigned char courier14_250_bits[] = {
-0x30, 0x0c, 0x00, 0x63, 0x42, 0x42, 0x42, 0x42, 0x62, 0xdc};
-static unsigned char courier14_251_bits[] = {
-0x08, 0x14, 0x00, 0x63, 0x42, 0x42, 0x42, 0x42, 0x62, 0xdc};
-static unsigned char courier14_252_bits[] = {
-0x36, 0x00, 0x63, 0x42, 0x42, 0x42, 0x42, 0x62, 0xdc};
-static unsigned char courier14_253_bits[] = {
-0x60, 0x18, 0x00, 0xe7, 0x42, 0x42, 0x24, 0x24, 0x18, 0x10, 0x08, 0x08, 
-0x1e};
-static unsigned char courier14_254_bits[] = {
-0x03, 0x02, 0x3a, 0x46, 0x82, 0x82, 0x82, 0x46, 0x3a, 0x02, 0x02, 0x0f};
-static unsigned char courier14_255_bits[] = {
-0x6c, 0x00, 0xe7, 0x42, 0x42, 0x24, 0x24, 0x18, 0x10, 0x08, 0x08, 0x1e};
-static RotFont courier14font[] = {
-{5, 1, 1, courier14_0_bits},
-{5, 1, 1, courier14_1_bits},
-{5, 1, 1, courier14_2_bits},
-{5, 1, 1, courier14_3_bits},
-{5, 1, 1, courier14_4_bits},
-{5, 1, 1, courier14_5_bits},
-{5, 1, 1, courier14_6_bits},
-{5, 1, 1, courier14_7_bits},
-{5, 1, 1, courier14_8_bits},
-{5, 1, 1, courier14_9_bits},
-{5, 1, 1, courier14_10_bits},
-{5, 1, 1, courier14_11_bits},
-{5, 1, 1, courier14_12_bits},
-{5, 1, 1, courier14_13_bits},
-{5, 1, 1, courier14_14_bits},
-{5, 1, 1, courier14_15_bits},
-{5, 1, 1, courier14_16_bits},
-{5, 1, 1, courier14_17_bits},
-{5, 1, 1, courier14_18_bits},
-{5, 1, 1, courier14_19_bits},
-{5, 1, 1, courier14_20_bits},
-{5, 1, 1, courier14_21_bits},
-{5, 1, 1, courier14_22_bits},
-{5, 1, 1, courier14_23_bits},
-{5, 1, 1, courier14_24_bits},
-{5, 1, 1, courier14_25_bits},
-{5, 1, 1, courier14_26_bits},
-{5, 1, 1, courier14_27_bits},
-{5, 1, 1, courier14_28_bits},
-{5, 1, 1, courier14_29_bits},
-{5, 1, 1, courier14_30_bits},
-{5, 1, 1, courier14_31_bits},
-{6, 1, 1, courier14_32_bits},
-{1, 9, 9, courier14_33_bits},
-{4, 4, 10, courier14_34_bits},
-{5, 10, 9, courier14_35_bits},
-{5, 13, 11, courier14_36_bits},
-{8, 10, 10, courier14_37_bits},
-{6, 8, 8, courier14_38_bits},
-{3, 4, 10, courier14_39_bits},
-{3, 12, 10, courier14_40_bits},
-{3, 12, 10, courier14_41_bits},
-{5, 6, 9, courier14_42_bits},
-{7, 7, 8, courier14_43_bits},
-{3, 4, 2, courier14_44_bits},
-{7, 1, 5, courier14_45_bits},
-{2, 2, 2, courier14_46_bits},
-{6, 11, 10, courier14_47_bits},
-{6, 10, 10, courier14_48_bits},
-{5, 10, 10, courier14_49_bits},
-{5, 10, 10, courier14_50_bits},
-{6, 10, 10, courier14_51_bits},
-{6, 10, 10, courier14_52_bits},
-{6, 10, 10, courier14_53_bits},
-{6, 10, 10, courier14_54_bits},
-{6, 10, 10, courier14_55_bits},
-{5, 10, 10, courier14_56_bits},
-{6, 10, 10, courier14_57_bits},
-{2, 7, 7, courier14_58_bits},
-{3, 9, 7, courier14_59_bits},
-{7, 7, 8, courier14_60_bits},
-{7, 3, 6, courier14_61_bits},
-{7, 7, 8, courier14_62_bits},
-{5, 9, 9, courier14_63_bits},
-{7, 10, 9, courier14_64_bits},
-{9, 9, 9, courier14_65_bits},
-{7, 9, 9, courier14_66_bits},
-{7, 9, 9, courier14_67_bits},
-{8, 9, 9, courier14_68_bits},
-{7, 9, 9, courier14_69_bits},
-{7, 9, 9, courier14_70_bits},
-{8, 9, 9, courier14_71_bits},
-{8, 9, 9, courier14_72_bits},
-{5, 9, 9, courier14_73_bits},
-{7, 9, 9, courier14_74_bits},
-{8, 9, 9, courier14_75_bits},
-{8, 9, 9, courier14_76_bits},
-{9, 9, 9, courier14_77_bits},
-{8, 9, 9, courier14_78_bits},
-{8, 9, 9, courier14_79_bits},
-{7, 9, 9, courier14_80_bits},
-{8, 11, 9, courier14_81_bits},
-{8, 9, 9, courier14_82_bits},
-{6, 9, 9, courier14_83_bits},
-{7, 9, 9, courier14_84_bits},
-{8, 9, 9, courier14_85_bits},
-{9, 9, 9, courier14_86_bits},
-{9, 9, 9, courier14_87_bits},
-{8, 9, 9, courier14_88_bits},
-{7, 9, 9, courier14_89_bits},
-{6, 9, 9, courier14_90_bits},
-{3, 12, 10, courier14_91_bits},
-{6, 11, 10, courier14_92_bits},
-{3, 12, 10, courier14_93_bits},
-{5, 5, 9, courier14_94_bits},
-{9, 1, -2, courier14_95_bits},
-{3, 4, 10, courier14_96_bits},
-{7, 7, 7, courier14_97_bits},
-{8, 10, 10, courier14_98_bits},
-{7, 7, 7, courier14_99_bits},
-{8, 10, 10, courier14_100_bits},
-{7, 7, 7, courier14_101_bits},
-{7, 10, 10, courier14_102_bits},
-{8, 10, 7, courier14_103_bits},
-{8, 10, 10, courier14_104_bits},
-{5, 10, 10, courier14_105_bits},
-{5, 13, 10, courier14_106_bits},
-{7, 10, 10, courier14_107_bits},
-{5, 10, 10, courier14_108_bits},
-{9, 7, 7, courier14_109_bits},
-{8, 7, 7, courier14_110_bits},
-{8, 7, 7, courier14_111_bits},
-{8, 10, 7, courier14_112_bits},
-{8, 10, 7, courier14_113_bits},
-{7, 7, 7, courier14_114_bits},
-{6, 7, 7, courier14_115_bits},
-{7, 9, 9, courier14_116_bits},
-{8, 7, 7, courier14_117_bits},
-{8, 7, 7, courier14_118_bits},
-{9, 7, 7, courier14_119_bits},
-{7, 7, 7, courier14_120_bits},
-{8, 10, 7, courier14_121_bits},
-{5, 7, 7, courier14_122_bits},
-{3, 12, 10, courier14_123_bits},
-{1, 11, 9, courier14_124_bits},
-{3, 12, 10, courier14_125_bits},
-{6, 2, 5, courier14_126_bits},
-{5, 1, 1, courier14_127_bits},
-{5, 1, 1, courier14_128_bits},
-{5, 1, 1, courier14_129_bits},
-{5, 1, 1, courier14_130_bits},
-{5, 1, 1, courier14_131_bits},
-{5, 1, 1, courier14_132_bits},
-{5, 1, 1, courier14_133_bits},
-{5, 1, 1, courier14_134_bits},
-{5, 1, 1, courier14_135_bits},
-{5, 1, 1, courier14_136_bits},
-{5, 1, 1, courier14_137_bits},
-{5, 1, 1, courier14_138_bits},
-{5, 1, 1, courier14_139_bits},
-{5, 1, 1, courier14_140_bits},
-{5, 1, 1, courier14_141_bits},
-{5, 1, 1, courier14_142_bits},
-{5, 1, 1, courier14_143_bits},
-{5, 1, 1, courier14_144_bits},
-{5, 1, 1, courier14_145_bits},
-{5, 1, 1, courier14_146_bits},
-{5, 1, 1, courier14_147_bits},
-{5, 1, 1, courier14_148_bits},
-{5, 1, 1, courier14_149_bits},
-{5, 1, 1, courier14_150_bits},
-{5, 1, 1, courier14_151_bits},
-{5, 1, 1, courier14_152_bits},
-{5, 1, 1, courier14_153_bits},
-{5, 1, 1, courier14_154_bits},
-{5, 1, 1, courier14_155_bits},
-{5, 1, 1, courier14_156_bits},
-{5, 1, 1, courier14_157_bits},
-{5, 1, 1, courier14_158_bits},
-{5, 1, 1, courier14_159_bits},
-{1, 1, 1, courier14_160_bits},
-{1, 9, 7, courier14_161_bits},
-{5, 9, 9, courier14_162_bits},
-{7, 9, 9, courier14_163_bits},
-{6, 6, 7, courier14_164_bits},
-{7, 9, 9, courier14_165_bits},
-{1, 11, 9, courier14_166_bits},
-{6, 10, 9, courier14_167_bits},
-{5, 1, 9, courier14_168_bits},
-{8, 9, 9, courier14_169_bits},
-{4, 6, 9, courier14_170_bits},
-{8, 7, 7, courier14_171_bits},
-{7, 3, 6, courier14_172_bits},
-{6, 1, 5, courier14_173_bits},
-{8, 9, 9, courier14_174_bits},
-{4, 1, 9, courier14_175_bits},
-{4, 4, 10, courier14_176_bits},
-{7, 7, 8, courier14_177_bits},
-{4, 6, 10, courier14_178_bits},
-{4, 6, 10, courier14_179_bits},
-{4, 2, 10, courier14_180_bits},
-{8, 10, 7, courier14_181_bits},
-{7, 10, 9, courier14_182_bits},
-{2, 2, 5, courier14_183_bits},
-{3, 3, 0, courier14_184_bits},
-{3, 6, 10, courier14_185_bits},
-{4, 6, 9, courier14_186_bits},
-{8, 7, 7, courier14_187_bits},
-{10, 10, 10, courier14_188_bits},
-{10, 10, 10, courier14_189_bits},
-{10, 10, 10, courier14_190_bits},
-{5, 9, 7, courier14_191_bits},
-{9, 12, 12, courier14_192_bits},
-{9, 12, 12, courier14_193_bits},
-{9, 12, 12, courier14_194_bits},
-{9, 12, 12, courier14_195_bits},
-{9, 11, 11, courier14_196_bits},
-{9, 12, 12, courier14_197_bits},
-{9, 9, 9, courier14_198_bits},
-{7, 12, 9, courier14_199_bits},
-{7, 12, 12, courier14_200_bits},
-{7, 12, 12, courier14_201_bits},
-{7, 12, 12, courier14_202_bits},
-{7, 11, 11, courier14_203_bits},
-{5, 12, 12, courier14_204_bits},
-{5, 12, 12, courier14_205_bits},
-{5, 12, 12, courier14_206_bits},
-{5, 11, 11, courier14_207_bits},
-{8, 9, 9, courier14_208_bits},
-{8, 12, 12, courier14_209_bits},
-{8, 12, 12, courier14_210_bits},
-{8, 12, 12, courier14_211_bits},
-{8, 12, 12, courier14_212_bits},
-{8, 12, 12, courier14_213_bits},
-{8, 11, 11, courier14_214_bits},
-{7, 7, 8, courier14_215_bits},
-{9, 9, 9, courier14_216_bits},
-{8, 12, 12, courier14_217_bits},
-{8, 12, 12, courier14_218_bits},
-{8, 12, 12, courier14_219_bits},
-{8, 11, 11, courier14_220_bits},
-{7, 12, 12, courier14_221_bits},
-{7, 9, 9, courier14_222_bits},
-{7, 9, 9, courier14_223_bits},
-{7, 10, 10, courier14_224_bits},
-{7, 10, 10, courier14_225_bits},
-{7, 10, 10, courier14_226_bits},
-{7, 10, 10, courier14_227_bits},
-{7, 9, 9, courier14_228_bits},
-{7, 10, 10, courier14_229_bits},
-{8, 7, 7, courier14_230_bits},
-{7, 10, 7, courier14_231_bits},
-{7, 10, 10, courier14_232_bits},
-{7, 10, 10, courier14_233_bits},
-{7, 10, 10, courier14_234_bits},
-{7, 9, 9, courier14_235_bits},
-{5, 10, 10, courier14_236_bits},
-{5, 10, 10, courier14_237_bits},
-{5, 10, 10, courier14_238_bits},
-{5, 9, 9, courier14_239_bits},
-{8, 12, 12, courier14_240_bits},
-{8, 10, 10, courier14_241_bits},
-{8, 10, 10, courier14_242_bits},
-{8, 10, 10, courier14_243_bits},
-{8, 10, 10, courier14_244_bits},
-{8, 10, 10, courier14_245_bits},
-{8, 9, 9, courier14_246_bits},
-{8, 7, 8, courier14_247_bits},
-{8, 7, 7, courier14_248_bits},
-{8, 10, 10, courier14_249_bits},
-{8, 10, 10, courier14_250_bits},
-{8, 10, 10, courier14_251_bits},
-{8, 9, 9, courier14_252_bits},
-{8, 13, 10, courier14_253_bits},
-{8, 12, 9, courier14_254_bits},
-{8, 12, 9, courier14_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/courier18.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/courier18.h	(revision 38985)
+++ 	(revision )
@@ -1,906 +1,0 @@
-static unsigned char courier18_0_bits[] = {
-0x00};
-static unsigned char courier18_1_bits[] = {
-0x00};
-static unsigned char courier18_2_bits[] = {
-0x00};
-static unsigned char courier18_3_bits[] = {
-0x00};
-static unsigned char courier18_4_bits[] = {
-0x00};
-static unsigned char courier18_5_bits[] = {
-0x00};
-static unsigned char courier18_6_bits[] = {
-0x00};
-static unsigned char courier18_7_bits[] = {
-0x00};
-static unsigned char courier18_8_bits[] = {
-0x00};
-static unsigned char courier18_9_bits[] = {
-0x00};
-static unsigned char courier18_10_bits[] = {
-0x00};
-static unsigned char courier18_11_bits[] = {
-0x00};
-static unsigned char courier18_12_bits[] = {
-0x00};
-static unsigned char courier18_13_bits[] = {
-0x00};
-static unsigned char courier18_14_bits[] = {
-0x00};
-static unsigned char courier18_15_bits[] = {
-0x00};
-static unsigned char courier18_16_bits[] = {
-0x00};
-static unsigned char courier18_17_bits[] = {
-0x00};
-static unsigned char courier18_18_bits[] = {
-0x00};
-static unsigned char courier18_19_bits[] = {
-0x00};
-static unsigned char courier18_20_bits[] = {
-0x00};
-static unsigned char courier18_21_bits[] = {
-0x00};
-static unsigned char courier18_22_bits[] = {
-0x00};
-static unsigned char courier18_23_bits[] = {
-0x00};
-static unsigned char courier18_24_bits[] = {
-0x00};
-static unsigned char courier18_25_bits[] = {
-0x00};
-static unsigned char courier18_26_bits[] = {
-0x00};
-static unsigned char courier18_27_bits[] = {
-0x00};
-static unsigned char courier18_28_bits[] = {
-0x00};
-static unsigned char courier18_29_bits[] = {
-0x00};
-static unsigned char courier18_30_bits[] = {
-0x00};
-static unsigned char courier18_31_bits[] = {
-0x00};
-static unsigned char courier18_32_bits[] = {
-0x00};
-static unsigned char courier18_33_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x00, 0x03, 0x03};
-static unsigned char courier18_34_bits[] = {
-0x1b, 0x1b, 0x1b, 0x09, 0x09};
-static unsigned char courier18_35_bits[] = {
-0x48, 0x00, 0x48, 0x00, 0x48, 0x00, 0x48, 0x00, 0x48, 0x00, 0xff, 0x01, 
-0x24, 0x00, 0x24, 0x00, 0x24, 0x00, 0xff, 0x00, 0x24, 0x00, 0x24, 0x00, 
-0x24, 0x00, 0x24, 0x00, 0x24, 0x00};
-static unsigned char courier18_36_bits[] = {
-0x08, 0x08, 0x5e, 0x61, 0x41, 0x01, 0x0e, 0x30, 0x40, 0x41, 0x43, 0x3d, 
-0x08, 0x08, 0x08};
-static unsigned char courier18_37_bits[] = {
-0x0e, 0x00, 0x11, 0x00, 0x11, 0x00, 0x11, 0x00, 0x8e, 0x01, 0x70, 0x00, 
-0x0c, 0x00, 0x73, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0x70, 0x00};
-static unsigned char courier18_38_bits[] = {
-0x1c, 0x22, 0x02, 0x02, 0x04, 0x2e, 0x11, 0x11, 0x19, 0x66};
-static unsigned char courier18_39_bits[] = {
-0x0c, 0x0c, 0x06, 0x06, 0x03};
-static unsigned char courier18_40_bits[] = {
-0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 
-0x02, 0x04};
-static unsigned char courier18_41_bits[] = {
-0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x02, 
-0x02, 0x01};
-static unsigned char courier18_42_bits[] = {
-0x08, 0x08, 0x08, 0x7f, 0x1c, 0x14, 0x22, 0x22};
-static unsigned char courier18_43_bits[] = {
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xff, 0x01, 0x10, 0x00, 
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00};
-static unsigned char courier18_44_bits[] = {
-0x0c, 0x0c, 0x06, 0x06, 0x03};
-static unsigned char courier18_45_bits[] = {
-0xff, 0x01};
-static unsigned char courier18_46_bits[] = {
-0x03, 0x03};
-static unsigned char courier18_47_bits[] = {
-0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 
-0x02, 0x02, 0x01, 0x01};
-static unsigned char courier18_48_bits[] = {
-0x1c, 0x22, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x22, 0x1c};
-static unsigned char courier18_49_bits[] = {
-0x0c, 0x0b, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f};
-static unsigned char courier18_50_bits[] = {
-0x38, 0x44, 0x82, 0x82, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x82, 0xff};
-static unsigned char courier18_51_bits[] = {
-0x1e, 0x21, 0x40, 0x40, 0x20, 0x1c, 0x20, 0x40, 0x40, 0x40, 0x21, 0x1e};
-static unsigned char courier18_52_bits[] = {
-0x30, 0x28, 0x28, 0x24, 0x24, 0x22, 0x22, 0x21, 0x7f, 0x20, 0x20, 0x78};
-static unsigned char courier18_53_bits[] = {
-0x7e, 0x02, 0x02, 0x02, 0x3a, 0x46, 0x80, 0x80, 0x80, 0x80, 0x43, 0x3c};
-static unsigned char courier18_54_bits[] = {
-0x78, 0x04, 0x02, 0x02, 0x01, 0x1d, 0x23, 0x41, 0x41, 0x41, 0x22, 0x1c};
-static unsigned char courier18_55_bits[] = {
-0xff, 0x81, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10};
-static unsigned char courier18_56_bits[] = {
-0x1c, 0x22, 0x41, 0x41, 0x22, 0x1c, 0x22, 0x41, 0x41, 0x41, 0x22, 0x1c};
-static unsigned char courier18_57_bits[] = {
-0x1c, 0x22, 0x41, 0x41, 0x41, 0x62, 0x5c, 0x40, 0x40, 0x20, 0x10, 0x0f};
-static unsigned char courier18_58_bits[] = {
-0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03};
-static unsigned char courier18_59_bits[] = {
-0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x06, 0x06, 0x03};
-static unsigned char courier18_60_bits[] = {
-0x00, 0x03, 0xc0, 0x00, 0x30, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x0c, 0x00, 
-0x30, 0x00, 0xc0, 0x00, 0x00, 0x03};
-static unsigned char courier18_61_bits[] = {
-0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0x01};
-static unsigned char courier18_62_bits[] = {
-0x03, 0x00, 0x0c, 0x00, 0x30, 0x00, 0xc0, 0x00, 0x00, 0x03, 0xc0, 0x00, 
-0x30, 0x00, 0x0c, 0x00, 0x03, 0x00};
-static unsigned char courier18_63_bits[] = {
-0x3e, 0x61, 0x41, 0x40, 0x20, 0x10, 0x0c, 0x04, 0x00, 0x0c, 0x0c};
-static unsigned char courier18_64_bits[] = {
-0x3c, 0x42, 0x41, 0x41, 0x71, 0x49, 0x49, 0x49, 0xf1, 0x01, 0x01, 0xc2, 
-0x3c};
-static unsigned char courier18_65_bits[] = {
-0x3c, 0x00, 0x20, 0x00, 0x50, 0x00, 0x50, 0x00, 0x88, 0x00, 0x88, 0x00, 
-0x04, 0x01, 0xfc, 0x01, 0x02, 0x02, 0x02, 0x02, 0x8f, 0x07};
-static unsigned char courier18_66_bits[] = {
-0x7f, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x42, 0x00, 0x7e, 0x00, 
-0x82, 0x00, 0x02, 0x01, 0x02, 0x01, 0x82, 0x00, 0x7f, 0x00};
-static unsigned char courier18_67_bits[] = {
-0x78, 0x01, 0x86, 0x01, 0x02, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 
-0x01, 0x00, 0x01, 0x00, 0x02, 0x01, 0x86, 0x00, 0x78, 0x00};
-static unsigned char courier18_68_bits[] = {
-0x3f, 0x42, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x42, 0x3f};
-static unsigned char courier18_69_bits[] = {
-0xff, 0x82, 0x82, 0x82, 0x12, 0x1e, 0x12, 0x82, 0x82, 0x82, 0xff};
-static unsigned char courier18_70_bits[] = {
-0xff, 0x82, 0x82, 0x82, 0x12, 0x1e, 0x12, 0x02, 0x02, 0x02, 0x0f};
-static unsigned char courier18_71_bits[] = {
-0x78, 0x01, 0x86, 0x01, 0x02, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 
-0xc1, 0x03, 0x01, 0x01, 0x02, 0x01, 0x86, 0x00, 0x78, 0x00};
-static unsigned char courier18_72_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0xfe, 0x00, 
-0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char courier18_73_bits[] = {
-0x7f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f};
-static unsigned char courier18_74_bits[] = {
-0xf8, 0x01, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 
-0x41, 0x00, 0x41, 0x00, 0x41, 0x00, 0x22, 0x00, 0x1c, 0x00};
-static unsigned char courier18_75_bits[] = {
-0xcf, 0x03, 0x82, 0x00, 0x42, 0x00, 0x22, 0x00, 0x12, 0x00, 0x1a, 0x00, 
-0x26, 0x00, 0x42, 0x00, 0x42, 0x00, 0x82, 0x00, 0x8f, 0x03};
-static unsigned char courier18_76_bits[] = {
-0x1f, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 
-0x04, 0x00, 0x04, 0x01, 0x04, 0x01, 0x04, 0x01, 0xff, 0x01};
-static unsigned char courier18_77_bits[] = {
-0x07, 0x07, 0x06, 0x03, 0x8a, 0x02, 0x8a, 0x02, 0x52, 0x02, 0x52, 0x02, 
-0x22, 0x02, 0x22, 0x02, 0x02, 0x02, 0x02, 0x02, 0x8f, 0x07};
-static unsigned char courier18_78_bits[] = {
-0xe7, 0x01, 0x86, 0x00, 0x8a, 0x00, 0x8a, 0x00, 0x92, 0x00, 0x92, 0x00, 
-0xa2, 0x00, 0xa2, 0x00, 0xc2, 0x00, 0xc2, 0x00, 0x8f, 0x00};
-static unsigned char courier18_79_bits[] = {
-0x38, 0x00, 0xc6, 0x00, 0x82, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01, 0x82, 0x00, 0xc6, 0x00, 0x38, 0x00};
-static unsigned char courier18_80_bits[] = {
-0x7f, 0x00, 0x82, 0x00, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x82, 0x00, 
-0x7e, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x1f, 0x00};
-static unsigned char courier18_81_bits[] = {
-0x38, 0x00, 0xc6, 0x00, 0x82, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01, 0x82, 0x00, 0xc6, 0x00, 0x38, 0x00, 0x1c, 0x01, 
-0xe2, 0x00};
-static unsigned char courier18_82_bits[] = {
-0x7f, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x42, 0x00, 0x3e, 0x00, 
-0x42, 0x00, 0x42, 0x00, 0x82, 0x00, 0x82, 0x00, 0x0f, 0x03};
-static unsigned char courier18_83_bits[] = {
-0x5c, 0x62, 0x41, 0x01, 0x02, 0x3c, 0x40, 0x80, 0x81, 0x43, 0x3d};
-static unsigned char courier18_84_bits[] = {
-0xff, 0x01, 0x11, 0x01, 0x11, 0x01, 0x11, 0x01, 0x10, 0x00, 0x10, 0x00, 
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x7c, 0x00};
-static unsigned char courier18_85_bits[] = {
-0xcf, 0x03, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x84, 0x00, 0x78, 0x00};
-static unsigned char courier18_86_bits[] = {
-0x8f, 0x07, 0x02, 0x02, 0x02, 0x02, 0x04, 0x01, 0x04, 0x01, 0x88, 0x00, 
-0x88, 0x00, 0x50, 0x00, 0x50, 0x00, 0x20, 0x00, 0x20, 0x00};
-static unsigned char courier18_87_bits[] = {
-0x8f, 0x07, 0x02, 0x02, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0x54, 0x01, 
-0x54, 0x01, 0x54, 0x01, 0x54, 0x01, 0x88, 0x00, 0x88, 0x00};
-static unsigned char courier18_88_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x44, 0x00, 0x44, 0x00, 0x28, 0x00, 0x10, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x44, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char courier18_89_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x44, 0x00, 0x44, 0x00, 0x28, 0x00, 0x28, 0x00, 
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x7c, 0x00};
-static unsigned char courier18_90_bits[] = {
-0x7f, 0x41, 0x21, 0x10, 0x10, 0x08, 0x04, 0x04, 0x42, 0x41, 0x7f};
-static unsigned char courier18_91_bits[] = {
-0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x07};
-static unsigned char courier18_92_bits[] = {
-0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 
-0x40, 0x40, 0x80, 0x80};
-static unsigned char courier18_93_bits[] = {
-0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x04, 0x07};
-static unsigned char courier18_94_bits[] = {
-0x08, 0x14, 0x22, 0x41};
-static unsigned char courier18_95_bits[] = {
-0xff, 0x07};
-static unsigned char courier18_96_bits[] = {
-0x03, 0x03, 0x06, 0x06, 0x0c};
-static unsigned char courier18_97_bits[] = {
-0x3c, 0x00, 0x42, 0x00, 0x40, 0x00, 0x7e, 0x00, 0x41, 0x00, 0x41, 0x00, 
-0x61, 0x00, 0xde, 0x01};
-static unsigned char courier18_98_bits[] = {
-0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7a, 0x00, 0x86, 0x00, 
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x86, 0x00, 0x7b, 0x00};
-static unsigned char courier18_99_bits[] = {
-0xbc, 0xc2, 0x81, 0x01, 0x01, 0x01, 0xc2, 0x3c};
-static unsigned char courier18_100_bits[] = {
-0xc0, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0xbc, 0x00, 0xc2, 0x00, 
-0x81, 0x00, 0x81, 0x00, 0x81, 0x00, 0x81, 0x00, 0xc2, 0x00, 0xbc, 0x01};
-static unsigned char courier18_101_bits[] = {
-0x3c, 0x42, 0x81, 0xff, 0x01, 0x01, 0xc2, 0x3c};
-static unsigned char courier18_102_bits[] = {
-0xf0, 0x08, 0x04, 0x04, 0x7f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x7f};
-static unsigned char courier18_103_bits[] = {
-0xbc, 0x01, 0xc2, 0x00, 0x81, 0x00, 0x81, 0x00, 0x81, 0x00, 0x81, 0x00, 
-0xc2, 0x00, 0xbc, 0x00, 0x80, 0x00, 0x80, 0x00, 0x40, 0x00, 0x3e, 0x00};
-static unsigned char courier18_104_bits[] = {
-0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7a, 0x00, 0x86, 0x00, 
-0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char courier18_105_bits[] = {
-0x08, 0x08, 0x00, 0x0e, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f};
-static unsigned char courier18_106_bits[] = {
-0x10, 0x10, 0x00, 0x3f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
-0x20, 0x10, 0x0f};
-static unsigned char courier18_107_bits[] = {
-0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xf2, 0x00, 0x22, 0x00, 
-0x12, 0x00, 0x0e, 0x00, 0x12, 0x00, 0x22, 0x00, 0x42, 0x00, 0xe3, 0x01};
-static unsigned char courier18_108_bits[] = {
-0x0f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f};
-static unsigned char courier18_109_bits[] = {
-0x9b, 0x01, 0x66, 0x02, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 
-0x22, 0x02, 0x67, 0x06};
-static unsigned char courier18_110_bits[] = {
-0x7b, 0x00, 0x86, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 
-0x82, 0x00, 0xc7, 0x01};
-static unsigned char courier18_111_bits[] = {
-0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier18_112_bits[] = {
-0x7b, 0x00, 0x86, 0x00, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
-0x86, 0x00, 0x7a, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x0f, 0x00};
-static unsigned char courier18_113_bits[] = {
-0xbc, 0x01, 0xc2, 0x00, 0x81, 0x00, 0x81, 0x00, 0x81, 0x00, 0x81, 0x00, 
-0xc2, 0x00, 0xbc, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0xe0, 0x01};
-static unsigned char courier18_114_bits[] = {
-0x77, 0x8c, 0x04, 0x04, 0x04, 0x04, 0x04, 0x7f};
-static unsigned char courier18_115_bits[] = {
-0x5e, 0x61, 0x41, 0x0e, 0x30, 0x41, 0x43, 0x3d};
-static unsigned char courier18_116_bits[] = {
-0x04, 0x04, 0x04, 0x7f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x84, 0x78};
-static unsigned char courier18_117_bits[] = {
-0xc3, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 
-0xc2, 0x00, 0xbc, 0x01};
-static unsigned char courier18_118_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x44, 0x00, 0x44, 0x00, 0x28, 0x00, 0x28, 0x00, 
-0x10, 0x00, 0x10, 0x00};
-static unsigned char courier18_119_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x92, 0x00, 0x92, 0x00, 0xaa, 0x00, 0xaa, 0x00, 
-0x44, 0x00, 0x44, 0x00};
-static unsigned char courier18_120_bits[] = {
-0xe7, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0xe7};
-static unsigned char courier18_121_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x82, 0x00, 0x44, 0x00, 0x44, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x10, 0x00, 0x10, 0x00, 0x08, 0x00, 0x08, 0x00, 0x1f, 0x00};
-static unsigned char courier18_122_bits[] = {
-0x7f, 0x41, 0x21, 0x10, 0x08, 0x44, 0x42, 0x7f};
-static unsigned char courier18_123_bits[] = {
-0x18, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x04, 0x18};
-static unsigned char courier18_124_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01};
-static unsigned char courier18_125_bits[] = {
-0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x18, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x04, 0x03};
-static unsigned char courier18_126_bits[] = {
-0x06, 0x99, 0x60};
-static unsigned char courier18_127_bits[] = {
-0x00};
-static unsigned char courier18_128_bits[] = {
-0x00};
-static unsigned char courier18_129_bits[] = {
-0x00};
-static unsigned char courier18_130_bits[] = {
-0x00};
-static unsigned char courier18_131_bits[] = {
-0x00};
-static unsigned char courier18_132_bits[] = {
-0x00};
-static unsigned char courier18_133_bits[] = {
-0x00};
-static unsigned char courier18_134_bits[] = {
-0x00};
-static unsigned char courier18_135_bits[] = {
-0x00};
-static unsigned char courier18_136_bits[] = {
-0x00};
-static unsigned char courier18_137_bits[] = {
-0x00};
-static unsigned char courier18_138_bits[] = {
-0x00};
-static unsigned char courier18_139_bits[] = {
-0x00};
-static unsigned char courier18_140_bits[] = {
-0x00};
-static unsigned char courier18_141_bits[] = {
-0x00};
-static unsigned char courier18_142_bits[] = {
-0x00};
-static unsigned char courier18_143_bits[] = {
-0x00};
-static unsigned char courier18_144_bits[] = {
-0x00};
-static unsigned char courier18_145_bits[] = {
-0x00};
-static unsigned char courier18_146_bits[] = {
-0x00};
-static unsigned char courier18_147_bits[] = {
-0x00};
-static unsigned char courier18_148_bits[] = {
-0x00};
-static unsigned char courier18_149_bits[] = {
-0x00};
-static unsigned char courier18_150_bits[] = {
-0x00};
-static unsigned char courier18_151_bits[] = {
-0x00};
-static unsigned char courier18_152_bits[] = {
-0x00};
-static unsigned char courier18_153_bits[] = {
-0x00};
-static unsigned char courier18_154_bits[] = {
-0x00};
-static unsigned char courier18_155_bits[] = {
-0x00};
-static unsigned char courier18_156_bits[] = {
-0x00};
-static unsigned char courier18_157_bits[] = {
-0x00};
-static unsigned char courier18_158_bits[] = {
-0x00};
-static unsigned char courier18_159_bits[] = {
-0x00};
-static unsigned char courier18_160_bits[] = {
-0x00};
-static unsigned char courier18_161_bits[] = {
-0x03, 0x03, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03};
-static unsigned char courier18_162_bits[] = {
-0x08, 0x08, 0x08, 0x3c, 0x22, 0x21, 0x01, 0x01, 0x22, 0x1c, 0x08, 0x08};
-static unsigned char courier18_163_bits[] = {
-0x38, 0x44, 0x04, 0x04, 0x08, 0x3f, 0x08, 0x04, 0x84, 0x82, 0x7e};
-static unsigned char courier18_164_bits[] = {
-0x21, 0x1e, 0x21, 0x21, 0x21, 0x1e, 0x21};
-static unsigned char courier18_165_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x44, 0x00, 0x44, 0x00, 0x28, 0x00, 0x28, 0x00, 
-0xfe, 0x00, 0x10, 0x00, 0xfe, 0x00, 0x10, 0x00, 0x7c, 0x00};
-static unsigned char courier18_166_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01};
-static unsigned char courier18_167_bits[] = {
-0x7c, 0x42, 0x42, 0x02, 0x0e, 0x31, 0x41, 0x46, 0x38, 0x20, 0x21, 0x21, 
-0x1f};
-static unsigned char courier18_168_bits[] = {
-0x1b};
-static unsigned char courier18_169_bits[] = {
-0x78, 0x00, 0x86, 0x01, 0x72, 0x01, 0x49, 0x02, 0x05, 0x02, 0x05, 0x02, 
-0x05, 0x02, 0x49, 0x02, 0x32, 0x01, 0x86, 0x01, 0x78, 0x00};
-static unsigned char courier18_170_bits[] = {
-0x0e, 0x10, 0x1e, 0x11, 0x19, 0x37, 0x00, 0x3f};
-static unsigned char courier18_171_bits[] = {
-0x10, 0x01, 0xcc, 0x00, 0x66, 0x00, 0x33, 0x00, 0x33, 0x00, 0x66, 0x00, 
-0xcc, 0x00, 0x10, 0x01};
-static unsigned char courier18_172_bits[] = {
-0xff, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01};
-static unsigned char courier18_173_bits[] = {
-0xff};
-static unsigned char courier18_174_bits[] = {
-0xf8, 0x00, 0x06, 0x03, 0x7a, 0x02, 0x89, 0x04, 0x89, 0x04, 0x79, 0x04, 
-0x29, 0x04, 0x49, 0x04, 0x8a, 0x03, 0x06, 0x01, 0xf8, 0x00};
-static unsigned char courier18_175_bits[] = {
-0x1f};
-static unsigned char courier18_176_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char courier18_177_bits[] = {
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xff, 0x01, 0x10, 0x00, 0x10, 0x00, 
-0x10, 0x00, 0x00, 0x00, 0xff, 0x01};
-static unsigned char courier18_178_bits[] = {
-0x0e, 0x11, 0x10, 0x08, 0x04, 0x02, 0x1f};
-static unsigned char courier18_179_bits[] = {
-0x0e, 0x11, 0x10, 0x0c, 0x10, 0x11, 0x0e};
-static unsigned char courier18_180_bits[] = {
-0x04, 0x02, 0x01};
-static unsigned char courier18_181_bits[] = {
-0xc3, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 
-0xc2, 0x00, 0xbe, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00};
-static unsigned char courier18_182_bits[] = {
-0xfc, 0x52, 0x51, 0x51, 0x51, 0x52, 0x5c, 0x50, 0x50, 0x50, 0x50, 0x50, 
-0xdc};
-static unsigned char courier18_183_bits[] = {
-0x03, 0x03};
-static unsigned char courier18_184_bits[] = {
-0x02, 0x04, 0x03};
-static unsigned char courier18_185_bits[] = {
-0x04, 0x07, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char courier18_186_bits[] = {
-0x1e, 0x21, 0x21, 0x21, 0x21, 0x1e, 0x00, 0x3f};
-static unsigned char courier18_187_bits[] = {
-0x11, 0x00, 0x66, 0x00, 0xcc, 0x00, 0x98, 0x01, 0x98, 0x01, 0xcc, 0x00, 
-0x66, 0x00, 0x11, 0x00};
-static unsigned char courier18_188_bits[] = {
-0x04, 0x00, 0x07, 0x00, 0x04, 0x02, 0x04, 0x01, 0x84, 0x00, 0x84, 0x00, 
-0x5f, 0x02, 0x20, 0x03, 0x90, 0x02, 0x50, 0x02, 0xc8, 0x07, 0x04, 0x02, 
-0x00, 0x07};
-static unsigned char courier18_189_bits[] = {
-0x04, 0x00, 0x07, 0x00, 0x04, 0x02, 0x04, 0x01, 0x84, 0x00, 0x84, 0x00, 
-0x5f, 0x03, 0xa0, 0x04, 0x90, 0x04, 0x10, 0x02, 0x08, 0x01, 0x84, 0x00, 
-0xc0, 0x07};
-static unsigned char courier18_190_bits[] = {
-0x0e, 0x00, 0x11, 0x00, 0x10, 0x02, 0x0c, 0x01, 0x90, 0x00, 0x91, 0x00, 
-0x4e, 0x02, 0x20, 0x03, 0x90, 0x02, 0x50, 0x02, 0xc8, 0x07, 0x04, 0x02, 
-0x00, 0x07};
-static unsigned char courier18_191_bits[] = {
-0x18, 0x18, 0x00, 0x08, 0x08, 0x0e, 0x01, 0x01, 0x21, 0x21, 0x21, 0x1e};
-static unsigned char courier18_192_bits[] = {
-0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x20, 0x00, 
-0x50, 0x00, 0x50, 0x00, 0x88, 0x00, 0x88, 0x00, 0x04, 0x01, 0xfc, 0x01, 
-0x02, 0x02, 0x02, 0x02, 0x8f, 0x07};
-static unsigned char courier18_193_bits[] = {
-0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x20, 0x00, 
-0x50, 0x00, 0x50, 0x00, 0x88, 0x00, 0x88, 0x00, 0x04, 0x01, 0xfc, 0x01, 
-0x02, 0x02, 0x02, 0x02, 0x8f, 0x07};
-static unsigned char courier18_194_bits[] = {
-0x20, 0x00, 0x50, 0x00, 0x88, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x20, 0x00, 
-0x50, 0x00, 0x50, 0x00, 0x88, 0x00, 0x88, 0x00, 0x04, 0x01, 0xfc, 0x01, 
-0x02, 0x02, 0x02, 0x02, 0x8f, 0x07};
-static unsigned char courier18_195_bits[] = {
-0x98, 0x00, 0x64, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x20, 0x00, 0x50, 0x00, 
-0x50, 0x00, 0x88, 0x00, 0x88, 0x00, 0x04, 0x01, 0xfc, 0x01, 0x02, 0x02, 
-0x02, 0x02, 0x8f, 0x07};
-static unsigned char courier18_196_bits[] = {
-0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x20, 0x00, 0x50, 0x00, 
-0x50, 0x00, 0x88, 0x00, 0x88, 0x00, 0x04, 0x01, 0xfc, 0x01, 0x02, 0x02, 
-0x02, 0x02, 0x8f, 0x07};
-static unsigned char courier18_197_bits[] = {
-0x30, 0x00, 0x48, 0x00, 0x48, 0x00, 0x30, 0x00, 0x3e, 0x00, 0x20, 0x00, 
-0x50, 0x00, 0x50, 0x00, 0x88, 0x00, 0x88, 0x00, 0x04, 0x01, 0xfc, 0x01, 
-0x02, 0x02, 0x02, 0x02, 0x8f, 0x07};
-static unsigned char courier18_198_bits[] = {
-0xf8, 0x07, 0x60, 0x04, 0x50, 0x04, 0x50, 0x00, 0x48, 0x02, 0xc8, 0x03, 
-0x7c, 0x02, 0x44, 0x00, 0x42, 0x04, 0x42, 0x04, 0xe7, 0x07};
-static unsigned char courier18_199_bits[] = {
-0x78, 0x01, 0x86, 0x01, 0x02, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 
-0x01, 0x00, 0x01, 0x00, 0x02, 0x01, 0x86, 0x00, 0x78, 0x00, 0x10, 0x00, 
-0x20, 0x00, 0x18, 0x00};
-static unsigned char courier18_200_bits[] = {
-0x04, 0x08, 0x10, 0x00, 0xff, 0x82, 0x82, 0x82, 0x12, 0x1e, 0x12, 0x82, 
-0x82, 0x82, 0xff};
-static unsigned char courier18_201_bits[] = {
-0x20, 0x10, 0x08, 0x00, 0xff, 0x82, 0x82, 0x82, 0x12, 0x1e, 0x12, 0x82, 
-0x82, 0x82, 0xff};
-static unsigned char courier18_202_bits[] = {
-0x18, 0x24, 0x42, 0x00, 0xff, 0x82, 0x82, 0x82, 0x12, 0x1e, 0x12, 0x82, 
-0x82, 0x82, 0xff};
-static unsigned char courier18_203_bits[] = {
-0x66, 0x00, 0x00, 0xff, 0x82, 0x82, 0x82, 0x12, 0x1e, 0x12, 0x82, 0x82, 
-0x82, 0xff};
-static unsigned char courier18_204_bits[] = {
-0x04, 0x08, 0x10, 0x00, 0x7f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
-0x08, 0x08, 0x7f};
-static unsigned char courier18_205_bits[] = {
-0x10, 0x08, 0x04, 0x00, 0x7f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
-0x08, 0x08, 0x7f};
-static unsigned char courier18_206_bits[] = {
-0x08, 0x14, 0x22, 0x00, 0x7f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
-0x08, 0x08, 0x7f};
-static unsigned char courier18_207_bits[] = {
-0x36, 0x00, 0x00, 0x7f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
-0x08, 0x7f};
-static unsigned char courier18_208_bits[] = {
-0x3f, 0x42, 0x82, 0x82, 0x82, 0x8f, 0x82, 0x82, 0x82, 0x42, 0x3f};
-static unsigned char courier18_209_bits[] = {
-0x98, 0x00, 0x64, 0x00, 0x00, 0x00, 0xe7, 0x01, 0x86, 0x00, 0x8a, 0x00, 
-0x8a, 0x00, 0x92, 0x00, 0x92, 0x00, 0xa2, 0x00, 0xa2, 0x00, 0xc2, 0x00, 
-0xc2, 0x00, 0x8f, 0x00};
-static unsigned char courier18_210_bits[] = {
-0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x00, 0x00, 0x38, 0x00, 0xc6, 0x00, 
-0x82, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x82, 0x00, 0xc6, 0x00, 0x38, 0x00};
-static unsigned char courier18_211_bits[] = {
-0x20, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x38, 0x00, 0xc6, 0x00, 
-0x82, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x82, 0x00, 0xc6, 0x00, 0x38, 0x00};
-static unsigned char courier18_212_bits[] = {
-0x10, 0x00, 0x28, 0x00, 0x44, 0x00, 0x00, 0x00, 0x38, 0x00, 0xc6, 0x00, 
-0x82, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x82, 0x00, 0xc6, 0x00, 0x38, 0x00};
-static unsigned char courier18_213_bits[] = {
-0x98, 0x00, 0x64, 0x00, 0x00, 0x00, 0x38, 0x00, 0xc6, 0x00, 0x82, 0x00, 
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x82, 0x00, 
-0xc6, 0x00, 0x38, 0x00};
-static unsigned char courier18_214_bits[] = {
-0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0xc6, 0x00, 0x82, 0x00, 
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x82, 0x00, 
-0xc6, 0x00, 0x38, 0x00};
-static unsigned char courier18_215_bits[] = {
-0x01, 0x01, 0x82, 0x00, 0x44, 0x00, 0x28, 0x00, 0x10, 0x00, 0x28, 0x00, 
-0x44, 0x00, 0x82, 0x00, 0x01, 0x01};
-static unsigned char courier18_216_bits[] = {
-0x70, 0x04, 0x8c, 0x02, 0x04, 0x01, 0x82, 0x02, 0x42, 0x02, 0x22, 0x02, 
-0x12, 0x02, 0x0a, 0x02, 0x04, 0x01, 0x8a, 0x01, 0x71, 0x00};
-static unsigned char courier18_217_bits[] = {
-0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x00, 0x00, 0xcf, 0x03, 0x02, 0x01, 
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
-0x02, 0x01, 0x84, 0x00, 0x78, 0x00};
-static unsigned char courier18_218_bits[] = {
-0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x00, 0x00, 0xcf, 0x03, 0x02, 0x01, 
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
-0x02, 0x01, 0x84, 0x00, 0x78, 0x00};
-static unsigned char courier18_219_bits[] = {
-0x30, 0x00, 0x48, 0x00, 0x84, 0x00, 0x00, 0x00, 0xcf, 0x03, 0x02, 0x01, 
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
-0x02, 0x01, 0x84, 0x00, 0x78, 0x00};
-static unsigned char courier18_220_bits[] = {
-0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x03, 0x02, 0x01, 0x02, 0x01, 
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
-0x84, 0x00, 0x78, 0x00};
-static unsigned char courier18_221_bits[] = {
-0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x00, 0x00, 0xc7, 0x01, 0x82, 0x00, 
-0x44, 0x00, 0x44, 0x00, 0x28, 0x00, 0x28, 0x00, 0x10, 0x00, 0x10, 0x00, 
-0x10, 0x00, 0x10, 0x00, 0x7c, 0x00};
-static unsigned char courier18_222_bits[] = {
-0x07, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x82, 0x00, 0x02, 0x01, 0x02, 0x01, 
-0x82, 0x00, 0x7e, 0x00, 0x02, 0x00, 0x02, 0x00, 0x07, 0x00};
-static unsigned char courier18_223_bits[] = {
-0x38, 0x44, 0x42, 0x42, 0x22, 0x32, 0x42, 0x82, 0x82, 0x82, 0x92, 0x67};
-static unsigned char courier18_224_bits[] = {
-0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x42, 0x00, 
-0x40, 0x00, 0x7e, 0x00, 0x41, 0x00, 0x41, 0x00, 0x61, 0x00, 0xde, 0x01};
-static unsigned char courier18_225_bits[] = {
-0x20, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x42, 0x00, 
-0x40, 0x00, 0x7e, 0x00, 0x41, 0x00, 0x41, 0x00, 0x61, 0x00, 0xde, 0x01};
-static unsigned char courier18_226_bits[] = {
-0x18, 0x00, 0x24, 0x00, 0x42, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x42, 0x00, 
-0x40, 0x00, 0x7e, 0x00, 0x41, 0x00, 0x41, 0x00, 0x61, 0x00, 0xde, 0x01};
-static unsigned char courier18_227_bits[] = {
-0x4c, 0x00, 0x32, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x42, 0x00, 0x40, 0x00, 
-0x7e, 0x00, 0x41, 0x00, 0x41, 0x00, 0x61, 0x00, 0xde, 0x01};
-static unsigned char courier18_228_bits[] = {
-0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x42, 0x00, 0x40, 0x00, 
-0x7e, 0x00, 0x41, 0x00, 0x41, 0x00, 0x61, 0x00, 0xde, 0x01};
-static unsigned char courier18_229_bits[] = {
-0x18, 0x00, 0x24, 0x00, 0x24, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3c, 0x00, 
-0x42, 0x00, 0x40, 0x00, 0x7e, 0x00, 0x41, 0x00, 0x41, 0x00, 0x61, 0x00, 
-0xde, 0x01};
-static unsigned char courier18_230_bits[] = {
-0x8e, 0x01, 0x51, 0x02, 0x20, 0x04, 0xfe, 0x07, 0x21, 0x00, 0x21, 0x00, 
-0x51, 0x04, 0x8e, 0x03};
-static unsigned char courier18_231_bits[] = {
-0xbc, 0xc2, 0x81, 0x01, 0x01, 0x01, 0xc2, 0x3c, 0x08, 0x10, 0x0c};
-static unsigned char courier18_232_bits[] = {
-0x04, 0x08, 0x10, 0x00, 0x3c, 0x42, 0x81, 0xff, 0x01, 0x01, 0xc2, 0x3c};
-static unsigned char courier18_233_bits[] = {
-0x20, 0x10, 0x08, 0x00, 0x3c, 0x42, 0x81, 0xff, 0x01, 0x01, 0xc2, 0x3c};
-static unsigned char courier18_234_bits[] = {
-0x18, 0x24, 0x42, 0x00, 0x3c, 0x42, 0x81, 0xff, 0x01, 0x01, 0xc2, 0x3c};
-static unsigned char courier18_235_bits[] = {
-0x66, 0x00, 0x00, 0x3c, 0x42, 0x81, 0xff, 0x01, 0x01, 0xc2, 0x3c};
-static unsigned char courier18_236_bits[] = {
-0x02, 0x04, 0x08, 0x00, 0x0e, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f};
-static unsigned char courier18_237_bits[] = {
-0x10, 0x08, 0x04, 0x00, 0x0e, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f};
-static unsigned char courier18_238_bits[] = {
-0x08, 0x14, 0x22, 0x00, 0x0e, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f};
-static unsigned char courier18_239_bits[] = {
-0x36, 0x00, 0x00, 0x0e, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f};
-static unsigned char courier18_240_bits[] = {
-0xce, 0x31, 0x2c, 0x42, 0x40, 0xbc, 0xc2, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier18_241_bits[] = {
-0x98, 0x00, 0x64, 0x00, 0x00, 0x00, 0x7b, 0x00, 0x86, 0x00, 0x82, 0x00, 
-0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char courier18_242_bits[] = {
-0x04, 0x08, 0x10, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier18_243_bits[] = {
-0x40, 0x20, 0x10, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier18_244_bits[] = {
-0x18, 0x24, 0x42, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier18_245_bits[] = {
-0x4c, 0x32, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier18_246_bits[] = {
-0x66, 0x00, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char courier18_247_bits[] = {
-0x18, 0x18, 0x00, 0x00, 0xff, 0x00, 0x00, 0x18, 0x18};
-static unsigned char courier18_248_bits[] = {
-0xbc, 0x42, 0xa1, 0x91, 0x89, 0x85, 0x42, 0x3d};
-static unsigned char courier18_249_bits[] = {
-0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x82, 0x00, 
-0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0xc2, 0x00, 0xbc, 0x01};
-static unsigned char courier18_250_bits[] = {
-0x20, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x82, 0x00, 
-0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0xc2, 0x00, 0xbc, 0x01};
-static unsigned char courier18_251_bits[] = {
-0x10, 0x00, 0x28, 0x00, 0x44, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x82, 0x00, 
-0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0xc2, 0x00, 0xbc, 0x01};
-static unsigned char courier18_252_bits[] = {
-0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x82, 0x00, 0x82, 0x00, 
-0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0xc2, 0x00, 0xbc, 0x01};
-static unsigned char courier18_253_bits[] = {
-0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x00, 0x00, 0xc7, 0x01, 0x82, 0x00, 
-0x82, 0x00, 0x44, 0x00, 0x44, 0x00, 0x28, 0x00, 0x28, 0x00, 0x10, 0x00, 
-0x10, 0x00, 0x08, 0x00, 0x08, 0x00, 0x1f, 0x00};
-static unsigned char courier18_254_bits[] = {
-0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7a, 0x00, 0x86, 0x00, 
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x86, 0x00, 0x7a, 0x00, 
-0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x0f, 0x00};
-static unsigned char courier18_255_bits[] = {
-0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc7, 0x01, 0x82, 0x00, 0x82, 0x00, 
-0x44, 0x00, 0x44, 0x00, 0x28, 0x00, 0x28, 0x00, 0x10, 0x00, 0x10, 0x00, 
-0x08, 0x00, 0x08, 0x00, 0x1f, 0x00};
-static RotFont courier18font[] = {
-{5, 1, 1, courier18_0_bits},
-{5, 1, 1, courier18_1_bits},
-{5, 1, 1, courier18_2_bits},
-{5, 1, 1, courier18_3_bits},
-{5, 1, 1, courier18_4_bits},
-{5, 1, 1, courier18_5_bits},
-{5, 1, 1, courier18_6_bits},
-{5, 1, 1, courier18_7_bits},
-{5, 1, 1, courier18_8_bits},
-{5, 1, 1, courier18_9_bits},
-{5, 1, 1, courier18_10_bits},
-{5, 1, 1, courier18_11_bits},
-{5, 1, 1, courier18_12_bits},
-{5, 1, 1, courier18_13_bits},
-{5, 1, 1, courier18_14_bits},
-{5, 1, 1, courier18_15_bits},
-{5, 1, 1, courier18_16_bits},
-{5, 1, 1, courier18_17_bits},
-{5, 1, 1, courier18_18_bits},
-{5, 1, 1, courier18_19_bits},
-{5, 1, 1, courier18_20_bits},
-{5, 1, 1, courier18_21_bits},
-{5, 1, 1, courier18_22_bits},
-{5, 1, 1, courier18_23_bits},
-{5, 1, 1, courier18_24_bits},
-{5, 1, 1, courier18_25_bits},
-{5, 1, 1, courier18_26_bits},
-{5, 1, 1, courier18_27_bits},
-{5, 1, 1, courier18_28_bits},
-{5, 1, 1, courier18_29_bits},
-{5, 1, 1, courier18_30_bits},
-{5, 1, 1, courier18_31_bits},
-{7, 1, 1, courier18_32_bits},
-{2, 12, 12, courier18_33_bits},
-{5, 5, 12, courier18_34_bits},
-{9, 15, 13, courier18_35_bits},
-{7, 15, 13, courier18_36_bits},
-{9, 12, 12, courier18_37_bits},
-{7, 10, 10, courier18_38_bits},
-{4, 5, 12, courier18_39_bits},
-{3, 14, 12, courier18_40_bits},
-{3, 14, 12, courier18_41_bits},
-{7, 8, 12, courier18_42_bits},
-{9, 9, 10, courier18_43_bits},
-{4, 5, 2, courier18_44_bits},
-{9, 1, 6, courier18_45_bits},
-{2, 2, 2, courier18_46_bits},
-{8, 16, 13, courier18_47_bits},
-{7, 12, 12, courier18_48_bits},
-{7, 12, 12, courier18_49_bits},
-{8, 12, 12, courier18_50_bits},
-{7, 12, 12, courier18_51_bits},
-{7, 12, 12, courier18_52_bits},
-{8, 12, 12, courier18_53_bits},
-{7, 12, 12, courier18_54_bits},
-{8, 12, 12, courier18_55_bits},
-{7, 12, 12, courier18_56_bits},
-{7, 12, 12, courier18_57_bits},
-{2, 8, 8, courier18_58_bits},
-{5, 11, 8, courier18_59_bits},
-{10, 9, 10, courier18_60_bits},
-{9, 4, 7, courier18_61_bits},
-{10, 9, 10, courier18_62_bits},
-{7, 11, 11, courier18_63_bits},
-{8, 13, 12, courier18_64_bits},
-{11, 11, 11, courier18_65_bits},
-{9, 11, 11, courier18_66_bits},
-{9, 11, 11, courier18_67_bits},
-{8, 11, 11, courier18_68_bits},
-{8, 11, 11, courier18_69_bits},
-{8, 11, 11, courier18_70_bits},
-{10, 11, 11, courier18_71_bits},
-{9, 11, 11, courier18_72_bits},
-{7, 11, 11, courier18_73_bits},
-{9, 11, 11, courier18_74_bits},
-{10, 11, 11, courier18_75_bits},
-{9, 11, 11, courier18_76_bits},
-{11, 11, 11, courier18_77_bits},
-{9, 11, 11, courier18_78_bits},
-{9, 11, 11, courier18_79_bits},
-{9, 11, 11, courier18_80_bits},
-{9, 13, 11, courier18_81_bits},
-{10, 11, 11, courier18_82_bits},
-{8, 11, 11, courier18_83_bits},
-{9, 11, 11, courier18_84_bits},
-{10, 11, 11, courier18_85_bits},
-{11, 11, 11, courier18_86_bits},
-{11, 11, 11, courier18_87_bits},
-{9, 11, 11, courier18_88_bits},
-{9, 11, 11, courier18_89_bits},
-{7, 11, 11, courier18_90_bits},
-{3, 15, 12, courier18_91_bits},
-{8, 16, 13, courier18_92_bits},
-{3, 15, 12, courier18_93_bits},
-{7, 4, 12, courier18_94_bits},
-{11, 1, -3, courier18_95_bits},
-{4, 5, 12, courier18_96_bits},
-{9, 8, 8, courier18_97_bits},
-{9, 12, 12, courier18_98_bits},
-{8, 8, 8, courier18_99_bits},
-{9, 12, 12, courier18_100_bits},
-{8, 8, 8, courier18_101_bits},
-{8, 12, 12, courier18_102_bits},
-{9, 12, 8, courier18_103_bits},
-{9, 12, 12, courier18_104_bits},
-{7, 11, 11, courier18_105_bits},
-{6, 15, 11, courier18_106_bits},
-{9, 12, 12, courier18_107_bits},
-{7, 12, 12, courier18_108_bits},
-{11, 8, 8, courier18_109_bits},
-{9, 8, 8, courier18_110_bits},
-{8, 8, 8, courier18_111_bits},
-{9, 12, 8, courier18_112_bits},
-{9, 12, 8, courier18_113_bits},
-{8, 8, 8, courier18_114_bits},
-{7, 8, 8, courier18_115_bits},
-{8, 11, 11, courier18_116_bits},
-{9, 8, 8, courier18_117_bits},
-{9, 8, 8, courier18_118_bits},
-{9, 8, 8, courier18_119_bits},
-{8, 8, 8, courier18_120_bits},
-{9, 12, 8, courier18_121_bits},
-{7, 8, 8, courier18_122_bits},
-{5, 15, 12, courier18_123_bits},
-{1, 15, 12, courier18_124_bits},
-{5, 15, 12, courier18_125_bits},
-{8, 3, 7, courier18_126_bits},
-{5, 1, 1, courier18_127_bits},
-{5, 1, 1, courier18_128_bits},
-{5, 1, 1, courier18_129_bits},
-{5, 1, 1, courier18_130_bits},
-{5, 1, 1, courier18_131_bits},
-{5, 1, 1, courier18_132_bits},
-{5, 1, 1, courier18_133_bits},
-{5, 1, 1, courier18_134_bits},
-{5, 1, 1, courier18_135_bits},
-{5, 1, 1, courier18_136_bits},
-{5, 1, 1, courier18_137_bits},
-{5, 1, 1, courier18_138_bits},
-{5, 1, 1, courier18_139_bits},
-{5, 1, 1, courier18_140_bits},
-{5, 1, 1, courier18_141_bits},
-{5, 1, 1, courier18_142_bits},
-{5, 1, 1, courier18_143_bits},
-{5, 1, 1, courier18_144_bits},
-{5, 1, 1, courier18_145_bits},
-{5, 1, 1, courier18_146_bits},
-{5, 1, 1, courier18_147_bits},
-{5, 1, 1, courier18_148_bits},
-{5, 1, 1, courier18_149_bits},
-{5, 1, 1, courier18_150_bits},
-{5, 1, 1, courier18_151_bits},
-{5, 1, 1, courier18_152_bits},
-{5, 1, 1, courier18_153_bits},
-{5, 1, 1, courier18_154_bits},
-{5, 1, 1, courier18_155_bits},
-{5, 1, 1, courier18_156_bits},
-{5, 1, 1, courier18_157_bits},
-{5, 1, 1, courier18_158_bits},
-{5, 1, 1, courier18_159_bits},
-{1, 1, 1, courier18_160_bits},
-{2, 13, 9, courier18_161_bits},
-{6, 12, 12, courier18_162_bits},
-{8, 11, 11, courier18_163_bits},
-{6, 7, 9, courier18_164_bits},
-{9, 11, 11, courier18_165_bits},
-{1, 15, 12, courier18_166_bits},
-{7, 13, 12, courier18_167_bits},
-{5, 1, 11, courier18_168_bits},
-{10, 11, 11, courier18_169_bits},
-{6, 8, 11, courier18_170_bits},
-{9, 8, 8, courier18_171_bits},
-{9, 4, 7, courier18_172_bits},
-{8, 1, 6, courier18_173_bits},
-{11, 11, 11, courier18_174_bits},
-{5, 1, 10, courier18_175_bits},
-{5, 5, 12, courier18_176_bits},
-{9, 9, 10, courier18_177_bits},
-{5, 7, 12, courier18_178_bits},
-{5, 7, 12, courier18_179_bits},
-{3, 3, 12, courier18_180_bits},
-{9, 12, 8, courier18_181_bits},
-{8, 13, 12, courier18_182_bits},
-{2, 2, 7, courier18_183_bits},
-{3, 3, 0, courier18_184_bits},
-{5, 7, 12, courier18_185_bits},
-{6, 8, 11, courier18_186_bits},
-{9, 8, 8, courier18_187_bits},
-{11, 13, 13, courier18_188_bits},
-{11, 13, 13, courier18_189_bits},
-{11, 13, 13, courier18_190_bits},
-{6, 12, 9, courier18_191_bits},
-{11, 15, 15, courier18_192_bits},
-{11, 15, 15, courier18_193_bits},
-{11, 15, 15, courier18_194_bits},
-{11, 14, 14, courier18_195_bits},
-{11, 14, 14, courier18_196_bits},
-{11, 15, 15, courier18_197_bits},
-{11, 11, 11, courier18_198_bits},
-{9, 14, 11, courier18_199_bits},
-{8, 15, 15, courier18_200_bits},
-{8, 15, 15, courier18_201_bits},
-{8, 15, 15, courier18_202_bits},
-{8, 14, 14, courier18_203_bits},
-{7, 15, 15, courier18_204_bits},
-{7, 15, 15, courier18_205_bits},
-{7, 15, 15, courier18_206_bits},
-{7, 14, 14, courier18_207_bits},
-{8, 11, 11, courier18_208_bits},
-{9, 14, 14, courier18_209_bits},
-{9, 15, 15, courier18_210_bits},
-{9, 15, 15, courier18_211_bits},
-{9, 15, 15, courier18_212_bits},
-{9, 14, 14, courier18_213_bits},
-{9, 14, 14, courier18_214_bits},
-{9, 9, 10, courier18_215_bits},
-{11, 11, 11, courier18_216_bits},
-{10, 15, 15, courier18_217_bits},
-{10, 15, 15, courier18_218_bits},
-{10, 15, 15, courier18_219_bits},
-{10, 14, 14, courier18_220_bits},
-{9, 15, 15, courier18_221_bits},
-{9, 11, 11, courier18_222_bits},
-{8, 12, 12, courier18_223_bits},
-{9, 12, 12, courier18_224_bits},
-{9, 12, 12, courier18_225_bits},
-{9, 12, 12, courier18_226_bits},
-{9, 11, 11, courier18_227_bits},
-{9, 11, 11, courier18_228_bits},
-{9, 13, 13, courier18_229_bits},
-{11, 8, 8, courier18_230_bits},
-{8, 11, 8, courier18_231_bits},
-{8, 12, 12, courier18_232_bits},
-{8, 12, 12, courier18_233_bits},
-{8, 12, 12, courier18_234_bits},
-{8, 11, 11, courier18_235_bits},
-{7, 12, 12, courier18_236_bits},
-{7, 12, 12, courier18_237_bits},
-{7, 12, 12, courier18_238_bits},
-{7, 11, 11, courier18_239_bits},
-{8, 12, 12, courier18_240_bits},
-{9, 11, 11, courier18_241_bits},
-{8, 12, 12, courier18_242_bits},
-{8, 12, 12, courier18_243_bits},
-{8, 12, 12, courier18_244_bits},
-{8, 11, 11, courier18_245_bits},
-{8, 11, 11, courier18_246_bits},
-{8, 9, 10, courier18_247_bits},
-{8, 8, 8, courier18_248_bits},
-{9, 12, 12, courier18_249_bits},
-{9, 12, 12, courier18_250_bits},
-{9, 12, 12, courier18_251_bits},
-{9, 11, 11, courier18_252_bits},
-{9, 16, 12, courier18_253_bits},
-{9, 16, 12, courier18_254_bits},
-{9, 15, 11, courier18_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/courier24.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/courier24.h	(revision 38985)
+++ 	(revision )
@@ -1,1068 +1,0 @@
-static unsigned char courier24_0_bits[] = {
-0x00};
-static unsigned char courier24_1_bits[] = {
-0x00};
-static unsigned char courier24_2_bits[] = {
-0x00};
-static unsigned char courier24_3_bits[] = {
-0x00};
-static unsigned char courier24_4_bits[] = {
-0x00};
-static unsigned char courier24_5_bits[] = {
-0x00};
-static unsigned char courier24_6_bits[] = {
-0x00};
-static unsigned char courier24_7_bits[] = {
-0x00};
-static unsigned char courier24_8_bits[] = {
-0x00};
-static unsigned char courier24_9_bits[] = {
-0x00};
-static unsigned char courier24_10_bits[] = {
-0x00};
-static unsigned char courier24_11_bits[] = {
-0x00};
-static unsigned char courier24_12_bits[] = {
-0x00};
-static unsigned char courier24_13_bits[] = {
-0x00};
-static unsigned char courier24_14_bits[] = {
-0x00};
-static unsigned char courier24_15_bits[] = {
-0x00};
-static unsigned char courier24_16_bits[] = {
-0x00};
-static unsigned char courier24_17_bits[] = {
-0x00};
-static unsigned char courier24_18_bits[] = {
-0x00};
-static unsigned char courier24_19_bits[] = {
-0x00};
-static unsigned char courier24_20_bits[] = {
-0x00};
-static unsigned char courier24_21_bits[] = {
-0x00};
-static unsigned char courier24_22_bits[] = {
-0x00};
-static unsigned char courier24_23_bits[] = {
-0x00};
-static unsigned char courier24_24_bits[] = {
-0x00};
-static unsigned char courier24_25_bits[] = {
-0x00};
-static unsigned char courier24_26_bits[] = {
-0x00};
-static unsigned char courier24_27_bits[] = {
-0x00};
-static unsigned char courier24_28_bits[] = {
-0x00};
-static unsigned char courier24_29_bits[] = {
-0x00};
-static unsigned char courier24_30_bits[] = {
-0x00};
-static unsigned char courier24_31_bits[] = {
-0x00};
-static unsigned char courier24_32_bits[] = {
-0x00, 0x00};
-static unsigned char courier24_33_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x07, 
-0x07, 0x07};
-static unsigned char courier24_34_bits[] = {
-0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33};
-static unsigned char courier24_35_bits[] = {
-0x88, 0x01, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 
-0xff, 0x07, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0xff, 0x07, 
-0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00};
-static unsigned char courier24_36_bits[] = {
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xf8, 0x01, 0xa4, 0x01, 0x22, 0x01, 
-0x22, 0x01, 0x26, 0x03, 0x3c, 0x00, 0xf0, 0x00, 0xa0, 0x01, 0x23, 0x02, 
-0x22, 0x02, 0x26, 0x02, 0x2e, 0x01, 0xfe, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x20, 0x00};
-static unsigned char courier24_37_bits[] = {
-0x1c, 0x00, 0x22, 0x00, 0x41, 0x00, 0x41, 0x00, 0x41, 0x00, 0x22, 0x06, 
-0x9c, 0x07, 0xf0, 0x01, 0x3e, 0x00, 0x8e, 0x03, 0x40, 0x04, 0x20, 0x08, 
-0x20, 0x08, 0x60, 0x0c, 0x80, 0x07};
-static unsigned char courier24_38_bits[] = {
-0xbc, 0x00, 0x46, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x0c, 0x00, 
-0x8a, 0x03, 0x93, 0x00, 0xb1, 0x00, 0x61, 0x00, 0x61, 0x00, 0xe3, 0x00, 
-0x9e, 0x03};
-static unsigned char courier24_39_bits[] = {
-0x0c, 0x0e, 0x06, 0x06, 0x03, 0x03};
-static unsigned char courier24_40_bits[] = {
-0x08, 0x04, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x03, 0x02, 0x02, 0x04, 0x04, 0x08};
-static unsigned char courier24_41_bits[] = {
-0x02, 0x02, 0x06, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
-0x08, 0x04, 0x04, 0x06, 0x02, 0x03};
-static unsigned char courier24_42_bits[] = {
-0x10, 0x00, 0x10, 0x00, 0x11, 0x01, 0xff, 0x01, 0x7c, 0x00, 0x38, 0x00, 
-0x6c, 0x00, 0xc6, 0x00, 0x44, 0x00};
-static unsigned char courier24_43_bits[] = {
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xff, 0x07, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00};
-static unsigned char courier24_44_bits[] = {
-0x0c, 0x06, 0x06, 0x06, 0x03, 0x03};
-static unsigned char courier24_45_bits[] = {
-0xff, 0x07};
-static unsigned char courier24_46_bits[] = {
-0x06, 0x0f, 0x0e};
-static unsigned char courier24_47_bits[] = {
-0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x80, 0x01, 0x80, 0x00, 0xc0, 0x00, 
-0x40, 0x00, 0x40, 0x00, 0x20, 0x00, 0x20, 0x00, 0x10, 0x00, 0x10, 0x00, 
-0x08, 0x00, 0x08, 0x00, 0x0c, 0x00, 0x04, 0x00, 0x06, 0x00, 0x02, 0x00, 
-0x03, 0x00, 0x01, 0x00};
-static unsigned char courier24_48_bits[] = {
-0x3c, 0x00, 0x46, 0x00, 0x82, 0x00, 0x81, 0x00, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x81, 0x00, 
-0x82, 0x00, 0x46, 0x00, 0x3c, 0x00};
-static unsigned char courier24_49_bits[] = {
-0x30, 0x00, 0x3c, 0x00, 0x26, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0xfe, 0x03};
-static unsigned char courier24_50_bits[] = {
-0x78, 0x00, 0xc4, 0x00, 0x82, 0x01, 0x02, 0x01, 0x00, 0x01, 0x00, 0x01, 
-0x80, 0x01, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08, 0x01, 
-0x06, 0x01, 0x01, 0x01, 0xff, 0x01};
-static unsigned char courier24_51_bits[] = {
-0x3c, 0x00, 0x46, 0x00, 0x82, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 
-0x60, 0x00, 0xf0, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 
-0x00, 0x01, 0xc1, 0x00, 0x7e, 0x00};
-static unsigned char courier24_52_bits[] = {
-0x60, 0x00, 0x60, 0x00, 0x50, 0x00, 0x50, 0x00, 0x48, 0x00, 0x48, 0x00, 
-0x44, 0x00, 0x42, 0x00, 0x42, 0x00, 0x41, 0x00, 0xff, 0x03, 0x40, 0x00, 
-0x40, 0x00, 0x40, 0x00, 0xf8, 0x03};
-static unsigned char courier24_53_bits[] = {
-0xfe, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 
-0x7a, 0x00, 0x86, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 
-0x00, 0x01, 0x83, 0x01, 0x7e, 0x00};
-static unsigned char courier24_54_bits[] = {
-0xf0, 0x01, 0x1c, 0x00, 0x06, 0x00, 0x02, 0x00, 0x03, 0x00, 0x01, 0x00, 
-0x3d, 0x00, 0x47, 0x00, 0xc3, 0x00, 0x81, 0x00, 0x81, 0x00, 0x81, 0x00, 
-0x82, 0x00, 0x46, 0x00, 0x3c, 0x00};
-static unsigned char courier24_55_bits[] = {
-0xff, 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x80, 0x00, 
-0x80, 0x00, 0xc0, 0x00, 0x40, 0x00, 0x40, 0x00, 0x60, 0x00, 0x20, 0x00, 
-0x30, 0x00, 0x30, 0x00, 0x10, 0x00};
-static unsigned char courier24_56_bits[] = {
-0x3c, 0x00, 0x46, 0x00, 0x83, 0x00, 0x81, 0x00, 0x81, 0x00, 0x81, 0x00, 
-0x46, 0x00, 0x3c, 0x00, 0xc2, 0x00, 0x83, 0x00, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0xc2, 0x00, 0x7c, 0x00};
-static unsigned char courier24_57_bits[] = {
-0x3c, 0x00, 0x46, 0x00, 0x82, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x83, 0x01, 0xc6, 0x01, 0x3c, 0x01, 0x00, 0x01, 0x80, 0x00, 0x80, 0x00, 
-0x40, 0x00, 0x20, 0x00, 0x1f, 0x00};
-static unsigned char courier24_58_bits[] = {
-0x06, 0x0f, 0x0e, 0x00, 0x00, 0x00, 0x06, 0x0f, 0x0e};
-static unsigned char courier24_59_bits[] = {
-0x0c, 0x1e, 0x1c, 0x00, 0x00, 0x00, 0x0c, 0x0e, 0x06, 0x06, 0x02, 0x03};
-static unsigned char courier24_60_bits[] = {
-0x00, 0x08, 0x00, 0x0e, 0x80, 0x01, 0x60, 0x00, 0x1c, 0x00, 0x07, 0x00, 
-0x1c, 0x00, 0xf0, 0x00, 0xc0, 0x07, 0x00, 0x0e, 0x00, 0x08};
-static unsigned char courier24_61_bits[] = {
-0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07};
-static unsigned char courier24_62_bits[] = {
-0x01, 0x00, 0x07, 0x00, 0x1c, 0x00, 0x60, 0x00, 0x80, 0x03, 0x00, 0x0e, 
-0xc0, 0x03, 0xf8, 0x00, 0x3f, 0x00, 0x0f, 0x00, 0x03, 0x00};
-static unsigned char courier24_63_bits[] = {
-0x3e, 0x43, 0x81, 0x81, 0x80, 0x80, 0x40, 0x38, 0x08, 0x08, 0x00, 0x1c, 
-0x1c, 0x1c};
-static unsigned char courier24_64_bits[] = {
-0xf0, 0x01, 0x0c, 0x06, 0x06, 0x08, 0x62, 0x19, 0xb1, 0x11, 0x91, 0x11, 
-0x89, 0x11, 0x89, 0x18, 0xc9, 0x08, 0x7b, 0x07, 0x22, 0x00, 0x0c, 0x0e, 
-0xf8, 0x03};
-static unsigned char courier24_65_bits[] = {
-0xfc, 0x00, 0xc0, 0x00, 0xe0, 0x01, 0x60, 0x01, 0x20, 0x03, 0x30, 0x03, 
-0x10, 0x02, 0x18, 0x06, 0x18, 0x04, 0xf8, 0x07, 0x0c, 0x0c, 0x04, 0x08, 
-0x06, 0x18, 0x1f, 0x3e};
-static unsigned char courier24_66_bits[] = {
-0xff, 0x01, 0x04, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x06, 
-0xfc, 0x01, 0x04, 0x06, 0x04, 0x0c, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 
-0x04, 0x06, 0xff, 0x03};
-static unsigned char courier24_67_bits[] = {
-0xf0, 0x04, 0x0c, 0x07, 0x06, 0x06, 0x02, 0x06, 0x01, 0x04, 0x01, 0x00, 
-0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x0c, 
-0x0c, 0x06, 0xf8, 0x01};
-static unsigned char courier24_68_bits[] = {
-0xff, 0x00, 0x04, 0x03, 0x04, 0x06, 0x04, 0x04, 0x04, 0x08, 0x04, 0x08, 
-0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x0c, 0x04, 0x04, 
-0x04, 0x03, 0xff, 0x01};
-static unsigned char courier24_69_bits[] = {
-0xff, 0x0f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x01, 
-0xf8, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x00, 0x08, 0x08, 0x08, 0x08, 
-0x08, 0x08, 0xff, 0x0f};
-static unsigned char courier24_70_bits[] = {
-0xff, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x84, 0x00, 
-0xfc, 0x00, 0x84, 0x00, 0x84, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 
-0x04, 0x00, 0x3f, 0x00};
-static unsigned char courier24_71_bits[] = {
-0xf0, 0x05, 0x0c, 0x07, 0x04, 0x06, 0x02, 0x04, 0x03, 0x04, 0x01, 0x00, 
-0x01, 0x00, 0x01, 0x00, 0x81, 0x1f, 0x01, 0x08, 0x02, 0x08, 0x06, 0x08, 
-0x0c, 0x0c, 0xf0, 0x03};
-static unsigned char courier24_72_bits[] = {
-0x1f, 0x0f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x04, 0xfc, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x04, 0x1f, 0x0f};
-static unsigned char courier24_73_bits[] = {
-0xff, 0x03, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x20, 0x00, 0xff, 0x03};
-static unsigned char courier24_74_bits[] = {
-0xf0, 0x1f, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 
-0x00, 0x02, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 
-0x06, 0x01, 0xf8, 0x01};
-static unsigned char courier24_75_bits[] = {
-0x3f, 0x1f, 0x08, 0x04, 0x08, 0x02, 0x08, 0x01, 0x88, 0x00, 0x48, 0x00, 
-0x28, 0x00, 0x78, 0x00, 0x88, 0x01, 0x08, 0x01, 0x08, 0x02, 0x08, 0x06, 
-0x08, 0x04, 0x3f, 0x1c};
-static unsigned char courier24_76_bits[] = {
-0x7f, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 
-0x08, 0x00, 0x08, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
-0x08, 0x08, 0xff, 0x0f};
-static unsigned char courier24_77_bits[] = {
-0x0f, 0x3c, 0x14, 0x14, 0x14, 0x14, 0x14, 0x12, 0x24, 0x12, 0x24, 0x12, 
-0x24, 0x11, 0x44, 0x11, 0x44, 0x11, 0xc4, 0x10, 0x04, 0x10, 0x04, 0x10, 
-0x04, 0x10, 0x1f, 0x3e};
-static unsigned char courier24_78_bits[] = {
-0x0f, 0x1f, 0x1c, 0x08, 0x14, 0x08, 0x14, 0x08, 0x24, 0x08, 0x24, 0x08, 
-0x44, 0x08, 0x44, 0x08, 0x84, 0x08, 0x84, 0x08, 0x04, 0x09, 0x04, 0x09, 
-0x04, 0x0a, 0x1f, 0x0e};
-static unsigned char courier24_79_bits[] = {
-0xf0, 0x01, 0x0c, 0x03, 0x06, 0x06, 0x02, 0x04, 0x03, 0x08, 0x01, 0x08, 
-0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x02, 0x04, 0x06, 0x04, 
-0x0c, 0x03, 0xf0, 0x01};
-static unsigned char courier24_80_bits[] = {
-0xff, 0x00, 0x84, 0x03, 0x04, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x06, 0x84, 0x03, 0xfc, 0x01, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 
-0x04, 0x00, 0x3f, 0x00};
-static unsigned char courier24_81_bits[] = {
-0xf0, 0x00, 0x0c, 0x03, 0x06, 0x06, 0x02, 0x04, 0x03, 0x08, 0x01, 0x08, 
-0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x02, 0x04, 0x06, 0x04, 
-0x0c, 0x03, 0xf8, 0x01, 0x30, 0x00, 0xf8, 0x08, 0x08, 0x07};
-static unsigned char courier24_82_bits[] = {
-0xff, 0x01, 0x04, 0x03, 0x04, 0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x03, 0xfc, 0x01, 0xc4, 0x00, 0x84, 0x00, 0x04, 0x01, 0x04, 0x02, 
-0x04, 0x02, 0x1f, 0x1c};
-static unsigned char courier24_83_bits[] = {
-0x3c, 0x01, 0xc2, 0x01, 0x81, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 
-0x06, 0x00, 0xfc, 0x00, 0x80, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x83, 0x00, 0x7d, 0x00};
-static unsigned char courier24_84_bits[] = {
-0xfe, 0x0f, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08, 0x42, 0x08, 0x43, 0x18, 
-0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 
-0x40, 0x00, 0xf8, 0x03};
-static unsigned char courier24_85_bits[] = {
-0x9f, 0x1f, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 
-0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x06, 0x04, 0x06, 0x04, 
-0x0c, 0x02, 0xf8, 0x01};
-static unsigned char courier24_86_bits[] = {
-0x1f, 0x3e, 0x04, 0x08, 0x04, 0x08, 0x08, 0x08, 0x08, 0x04, 0x08, 0x04, 
-0x10, 0x04, 0x10, 0x02, 0x30, 0x02, 0x20, 0x03, 0x20, 0x01, 0x40, 0x01, 
-0xc0, 0x01, 0xc0, 0x00};
-static unsigned char courier24_87_bits[] = {
-0x1f, 0x7c, 0x06, 0x20, 0x06, 0x20, 0x86, 0x10, 0xc4, 0x10, 0xc4, 0x11, 
-0x44, 0x11, 0x24, 0x11, 0x24, 0x13, 0x2c, 0x1a, 0x1c, 0x0a, 0x1c, 0x0c, 
-0x18, 0x0c, 0x08, 0x0c};
-static unsigned char courier24_88_bits[] = {
-0x1f, 0x0f, 0x04, 0x02, 0x0c, 0x02, 0x18, 0x01, 0x90, 0x00, 0xa0, 0x00, 
-0x60, 0x00, 0x60, 0x00, 0xb0, 0x00, 0x10, 0x01, 0x08, 0x03, 0x0c, 0x06, 
-0x04, 0x04, 0x1f, 0x1f};
-static unsigned char courier24_89_bits[] = {
-0x1f, 0x1f, 0x04, 0x04, 0x0c, 0x06, 0x08, 0x02, 0x10, 0x01, 0x30, 0x01, 
-0xa0, 0x00, 0xe0, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 
-0x40, 0x00, 0xf8, 0x03};
-static unsigned char courier24_90_bits[] = {
-0xff, 0x01, 0x01, 0x01, 0x81, 0x00, 0x81, 0x00, 0x41, 0x00, 0x20, 0x00, 
-0x30, 0x00, 0x10, 0x00, 0x08, 0x00, 0x0c, 0x02, 0x04, 0x02, 0x02, 0x02, 
-0x03, 0x02, 0xff, 0x03};
-static unsigned char courier24_91_bits[] = {
-0x0f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01, 0x01, 0x0f};
-static unsigned char courier24_92_bits[] = {
-0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x06, 0x00, 0x04, 0x00, 0x0c, 0x00, 
-0x08, 0x00, 0x08, 0x00, 0x10, 0x00, 0x10, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x40, 0x00, 0x40, 0x00, 0xc0, 0x00, 0x80, 0x00, 0x80, 0x01, 0x00, 0x01, 
-0x00, 0x03, 0x00, 0x02};
-static unsigned char courier24_93_bits[] = {
-0x0f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
-0x08, 0x08, 0x08, 0x08, 0x08, 0x0f};
-static unsigned char courier24_94_bits[] = {
-0x70, 0x00, 0x50, 0x00, 0x58, 0x00, 0x98, 0x00, 0x88, 0x00, 0x8c, 0x01, 
-0x04, 0x01, 0x06, 0x03, 0x06, 0x03, 0x03, 0x02, 0x03, 0x06};
-static unsigned char courier24_95_bits[] = {
-0xff, 0xff, 0x01};
-static unsigned char courier24_96_bits[] = {
-0x0c, 0x0c, 0x06, 0x06, 0x07, 0x03};
-static unsigned char courier24_97_bits[] = {
-0xfc, 0x00, 0x80, 0x01, 0x00, 0x01, 0xfc, 0x01, 0x82, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x81, 0x01, 0xc3, 0x01, 0x3e, 0x07};
-static unsigned char courier24_98_bits[] = {
-0x07, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0xe4, 0x03, 
-0x34, 0x0c, 0x0c, 0x08, 0x0c, 0x10, 0x0c, 0x10, 0x0c, 0x10, 0x0c, 0x10, 
-0x1c, 0x08, 0x3c, 0x0c, 0xe7, 0x03};
-static unsigned char courier24_99_bits[] = {
-0xf8, 0x07, 0x06, 0x03, 0x02, 0x02, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 
-0x01, 0x00, 0x02, 0x04, 0x06, 0x03, 0xf8, 0x00};
-static unsigned char courier24_100_bits[] = {
-0x00, 0x07, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0xf8, 0x04, 
-0x04, 0x07, 0x02, 0x06, 0x01, 0x06, 0x01, 0x04, 0x01, 0x04, 0x01, 0x06, 
-0x02, 0x06, 0x8c, 0x05, 0xf8, 0x1c};
-static unsigned char courier24_101_bits[] = {
-0xf8, 0x00, 0x06, 0x03, 0x03, 0x06, 0x01, 0x04, 0xff, 0x07, 0x01, 0x00, 
-0x01, 0x00, 0x02, 0x00, 0x06, 0x06, 0xf8, 0x01};
-static unsigned char courier24_102_bits[] = {
-0xf0, 0x03, 0x18, 0x02, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0xff, 0x01, 
-0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 
-0x08, 0x00, 0x08, 0x00, 0xff, 0x01};
-static unsigned char courier24_103_bits[] = {
-0xf8, 0x0e, 0x86, 0x03, 0x02, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 
-0x03, 0x02, 0x02, 0x03, 0x8c, 0x03, 0x78, 0x02, 0x00, 0x02, 0x00, 0x02, 
-0x00, 0x01, 0xf8, 0x00};
-static unsigned char courier24_104_bits[] = {
-0x07, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0xf4, 0x01, 
-0x1c, 0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x04, 0x04, 0x04, 0x1f, 0x1f};
-static unsigned char courier24_105_bits[] = {
-0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x3e, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xff, 0x03};
-static unsigned char courier24_106_bits[] = {
-0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x7f, 0x40, 0x40, 0x40, 0x40, 0x40, 
-0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x21, 0x1f};
-static unsigned char courier24_107_bits[] = {
-0x07, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x84, 0x0f, 
-0x84, 0x01, 0xc4, 0x00, 0x34, 0x00, 0x3c, 0x00, 0x44, 0x00, 0x84, 0x01, 
-0x04, 0x03, 0x04, 0x06, 0x07, 0x1f};
-static unsigned char courier24_108_bits[] = {
-0x3e, 0x00, 0x22, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0xff, 0x03};
-static unsigned char courier24_109_bits[] = {
-0x77, 0x0f, 0x8c, 0x11, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 
-0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x9f, 0x73};
-static unsigned char courier24_110_bits[] = {
-0xf7, 0x01, 0x0c, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x9f, 0x1f};
-static unsigned char courier24_111_bits[] = {
-0xf8, 0x01, 0x06, 0x06, 0x02, 0x04, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 
-0x01, 0x08, 0x02, 0x04, 0x0c, 0x06, 0xf8, 0x01};
-static unsigned char courier24_112_bits[] = {
-0xef, 0x03, 0x38, 0x0c, 0x18, 0x08, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 
-0x08, 0x10, 0x18, 0x08, 0x38, 0x04, 0xe8, 0x03, 0x08, 0x00, 0x08, 0x00, 
-0x08, 0x00, 0x7f, 0x00};
-static unsigned char courier24_113_bits[] = {
-0xf8, 0x1d, 0x06, 0x07, 0x02, 0x06, 0x01, 0x04, 0x01, 0x04, 0x01, 0x04, 
-0x01, 0x04, 0x02, 0x06, 0x0c, 0x05, 0xf8, 0x04, 0x00, 0x04, 0x00, 0x04, 
-0x00, 0x04, 0xc0, 0x1f};
-static unsigned char courier24_114_bits[] = {
-0xcf, 0x07, 0x68, 0x04, 0x18, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 
-0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0xff, 0x01};
-static unsigned char courier24_115_bits[] = {
-0x7c, 0x01, 0x82, 0x01, 0x02, 0x01, 0x06, 0x00, 0xfc, 0x00, 0xc1, 0x01, 
-0x01, 0x02, 0x03, 0x02, 0x07, 0x03, 0xf9, 0x00};
-static unsigned char courier24_116_bits[] = {
-0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xff, 0x00, 0x02, 0x00, 
-0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 
-0x04, 0x03, 0xf8, 0x00};
-static unsigned char courier24_117_bits[] = {
-0x87, 0x03, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 
-0x04, 0x02, 0x04, 0x02, 0x8c, 0x03, 0xf8, 0x0e};
-static unsigned char courier24_118_bits[] = {
-0x1f, 0x1f, 0x04, 0x04, 0x0c, 0x02, 0x08, 0x02, 0x08, 0x01, 0x10, 0x01, 
-0x90, 0x01, 0xa0, 0x00, 0xe0, 0x00, 0x60, 0x00};
-static unsigned char courier24_119_bits[] = {
-0x0f, 0x3c, 0x02, 0x10, 0x82, 0x10, 0xc4, 0x08, 0xc4, 0x09, 0x44, 0x09, 
-0x28, 0x09, 0x28, 0x06, 0x28, 0x06, 0x10, 0x06};
-static unsigned char courier24_120_bits[] = {
-0x3e, 0x1e, 0x18, 0x04, 0x30, 0x02, 0x60, 0x01, 0xc0, 0x00, 0xe0, 0x01, 
-0x30, 0x03, 0x18, 0x06, 0x0c, 0x0c, 0x1f, 0x3e};
-static unsigned char courier24_121_bits[] = {
-0x0f, 0x1e, 0x04, 0x04, 0x04, 0x04, 0x08, 0x02, 0x08, 0x03, 0x10, 0x01, 
-0x90, 0x01, 0xa0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x10, 0x00, 0x7f, 0x00};
-static unsigned char courier24_122_bits[] = {
-0xfe, 0x03, 0x02, 0x01, 0x82, 0x00, 0x40, 0x00, 0x20, 0x00, 0x30, 0x00, 
-0x18, 0x00, 0x0c, 0x02, 0x06, 0x02, 0xff, 0x03};
-static unsigned char courier24_123_bits[] = {
-0x18, 0x04, 0x02, 0x02, 0x02, 0x06, 0x04, 0x04, 0x06, 0x03, 0x06, 0x04, 
-0x04, 0x06, 0x02, 0x02, 0x06, 0x1c};
-static unsigned char courier24_124_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char courier24_125_bits[] = {
-0x07, 0x0c, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x18, 0x30, 0x08, 0x08, 
-0x08, 0x08, 0x08, 0x08, 0x08, 0x07};
-static unsigned char courier24_126_bits[] = {
-0x04, 0x02, 0x3e, 0x03, 0xe1, 0x01, 0x01, 0x00};
-static unsigned char courier24_127_bits[] = {
-0x00};
-static unsigned char courier24_128_bits[] = {
-0x00};
-static unsigned char courier24_129_bits[] = {
-0x00};
-static unsigned char courier24_130_bits[] = {
-0x00};
-static unsigned char courier24_131_bits[] = {
-0x00};
-static unsigned char courier24_132_bits[] = {
-0x00};
-static unsigned char courier24_133_bits[] = {
-0x00};
-static unsigned char courier24_134_bits[] = {
-0x00};
-static unsigned char courier24_135_bits[] = {
-0x00};
-static unsigned char courier24_136_bits[] = {
-0x00};
-static unsigned char courier24_137_bits[] = {
-0x00};
-static unsigned char courier24_138_bits[] = {
-0x00};
-static unsigned char courier24_139_bits[] = {
-0x00};
-static unsigned char courier24_140_bits[] = {
-0x00};
-static unsigned char courier24_141_bits[] = {
-0x00};
-static unsigned char courier24_142_bits[] = {
-0x00};
-static unsigned char courier24_143_bits[] = {
-0x00};
-static unsigned char courier24_144_bits[] = {
-0x00};
-static unsigned char courier24_145_bits[] = {
-0x00};
-static unsigned char courier24_146_bits[] = {
-0x00};
-static unsigned char courier24_147_bits[] = {
-0x00};
-static unsigned char courier24_148_bits[] = {
-0x00};
-static unsigned char courier24_149_bits[] = {
-0x00};
-static unsigned char courier24_150_bits[] = {
-0x00};
-static unsigned char courier24_151_bits[] = {
-0x00};
-static unsigned char courier24_152_bits[] = {
-0x00};
-static unsigned char courier24_153_bits[] = {
-0x00};
-static unsigned char courier24_154_bits[] = {
-0x00};
-static unsigned char courier24_155_bits[] = {
-0x00};
-static unsigned char courier24_156_bits[] = {
-0x00};
-static unsigned char courier24_157_bits[] = {
-0x00};
-static unsigned char courier24_158_bits[] = {
-0x00};
-static unsigned char courier24_159_bits[] = {
-0x00};
-static unsigned char courier24_160_bits[] = {
-0x00};
-static unsigned char courier24_161_bits[] = {
-0x07, 0x07, 0x07, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x06};
-static unsigned char courier24_162_bits[] = {
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x7c, 0x01, 0x92, 0x01, 
-0x11, 0x01, 0x11, 0x00, 0x11, 0x00, 0x11, 0x00, 0x12, 0x01, 0xd6, 0x00, 
-0x38, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00};
-static unsigned char courier24_163_bits[] = {
-0xf0, 0x00, 0x18, 0x03, 0x0c, 0x02, 0x04, 0x02, 0x04, 0x00, 0x04, 0x00, 
-0x0c, 0x00, 0xff, 0x03, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 
-0x04, 0x00, 0x3c, 0x04, 0xc6, 0x03};
-static unsigned char courier24_164_bits[] = {
-0x01, 0x02, 0x7a, 0x03, 0x8c, 0x00, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 
-0x02, 0x01, 0x84, 0x00, 0x7a, 0x01, 0x01, 0x02, 0x01, 0x02};
-static unsigned char courier24_165_bits[] = {
-0x1f, 0x1f, 0x04, 0x06, 0x08, 0x02, 0x18, 0x03, 0xb0, 0x01, 0xe0, 0x00, 
-0x40, 0x00, 0xf8, 0x07, 0x40, 0x00, 0xf8, 0x07, 0x40, 0x00, 0x40, 0x00, 
-0x40, 0x00, 0xf8, 0x03};
-static unsigned char courier24_166_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char courier24_167_bits[] = {
-0xfc, 0x00, 0x86, 0x00, 0x82, 0x00, 0x82, 0x00, 0x0c, 0x00, 0x1f, 0x00, 
-0x31, 0x00, 0x61, 0x00, 0x82, 0x00, 0x0c, 0x01, 0x98, 0x01, 0xf0, 0x00, 
-0x60, 0x00, 0x41, 0x00, 0x41, 0x00, 0x3f, 0x00};
-static unsigned char courier24_168_bits[] = {
-0x1b, 0x1b, 0x1b};
-static unsigned char courier24_169_bits[] = {
-0xe0, 0x03, 0x18, 0x04, 0x04, 0x08, 0xe2, 0x11, 0x32, 0x32, 0x09, 0x22, 
-0x09, 0x20, 0x09, 0x20, 0x19, 0x20, 0x32, 0x22, 0xe2, 0x11, 0x04, 0x08, 
-0x18, 0x04, 0xe0, 0x03};
-static unsigned char courier24_170_bits[] = {
-0x1e, 0x10, 0x1e, 0x11, 0x19, 0x3e, 0x00, 0x3f};
-static unsigned char courier24_171_bits[] = {
-0x20, 0x02, 0x98, 0x01, 0xcc, 0x00, 0x66, 0x00, 0x33, 0x00, 0x33, 0x00, 
-0x46, 0x00, 0x88, 0x00, 0x30, 0x03, 0x20, 0x02};
-static unsigned char courier24_172_bits[] = {
-0xff, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02};
-static unsigned char courier24_173_bits[] = {
-0x1f};
-static unsigned char courier24_174_bits[] = {
-0xe0, 0x03, 0x18, 0x04, 0x04, 0x08, 0xe2, 0x11, 0x23, 0x22, 0x21, 0x23, 
-0xe1, 0x20, 0x21, 0x21, 0x21, 0x21, 0xf2, 0x32, 0x02, 0x10, 0x04, 0x08, 
-0x18, 0x04, 0xe0, 0x03};
-static unsigned char courier24_175_bits[] = {
-0xff};
-static unsigned char courier24_176_bits[] = {
-0x1c, 0x22, 0x41, 0x41, 0x41, 0x23, 0x1e};
-static unsigned char courier24_177_bits[] = {
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xff, 0x07, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0xff, 0x07};
-static unsigned char courier24_178_bits[] = {
-0x1e, 0x33, 0x21, 0x20, 0x10, 0x08, 0x04, 0x22, 0x3f};
-static unsigned char courier24_179_bits[] = {
-0x0e, 0x11, 0x10, 0x10, 0x1c, 0x10, 0x20, 0x30, 0x1e};
-static unsigned char courier24_180_bits[] = {
-0x0c, 0x06, 0x03};
-static unsigned char courier24_181_bits[] = {
-0x87, 0x03, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 
-0x04, 0x02, 0x04, 0x02, 0x0c, 0x03, 0xf4, 0x0f, 0x04, 0x00, 0x04, 0x00, 
-0x04, 0x00, 0x04, 0x00};
-static unsigned char courier24_182_bits[] = {
-0xfc, 0x01, 0x92, 0x00, 0x91, 0x00, 0x91, 0x00, 0x91, 0x00, 0x91, 0x00, 
-0x92, 0x00, 0x9c, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 
-0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0xdc, 0x01};
-static unsigned char courier24_183_bits[] = {
-0x06, 0x0f, 0x0e};
-static unsigned char courier24_184_bits[] = {
-0x04, 0x0c, 0x0c, 0x0f};
-static unsigned char courier24_185_bits[] = {
-0x0c, 0x0f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3f};
-static unsigned char courier24_186_bits[] = {
-0x1e, 0x23, 0x21, 0x21, 0x33, 0x1c, 0x00, 0x3f};
-static unsigned char courier24_187_bits[] = {
-0x11, 0x00, 0x66, 0x00, 0xcc, 0x00, 0x98, 0x01, 0x30, 0x03, 0x30, 0x03, 
-0x98, 0x01, 0x44, 0x00, 0x33, 0x00, 0x22, 0x00};
-static unsigned char courier24_188_bits[] = {
-0x06, 0x10, 0x05, 0x18, 0x04, 0x08, 0x04, 0x04, 0x04, 0x02, 0x04, 0x02, 
-0x04, 0x01, 0x84, 0x00, 0x4f, 0x0c, 0x40, 0x0c, 0x20, 0x0a, 0x10, 0x0a, 
-0x18, 0x09, 0x88, 0x08, 0x84, 0x1f, 0x02, 0x08, 0x02, 0x1e};
-static unsigned char courier24_189_bits[] = {
-0x0c, 0x20, 0x0a, 0x10, 0x08, 0x08, 0x08, 0x0c, 0x08, 0x04, 0x08, 0x02, 
-0x08, 0x03, 0x08, 0x01, 0x9e, 0x1c, 0x40, 0x22, 0x60, 0x20, 0x20, 0x20, 
-0x10, 0x10, 0x08, 0x18, 0x08, 0x0c, 0x04, 0x22, 0x02, 0x3e};
-static unsigned char courier24_190_bits[] = {
-0x0e, 0x30, 0x11, 0x10, 0x10, 0x08, 0x18, 0x04, 0x0c, 0x06, 0x10, 0x02, 
-0x10, 0x01, 0x90, 0x00, 0x8f, 0x0c, 0x40, 0x0c, 0x20, 0x0a, 0x10, 0x0a, 
-0x10, 0x09, 0x88, 0x09, 0x84, 0x1f, 0x02, 0x08, 0x02, 0x1e};
-static unsigned char courier24_191_bits[] = {
-0x38, 0x38, 0x38, 0x00, 0x10, 0x18, 0x06, 0x02, 0x01, 0x01, 0x81, 0x82, 
-0x7c};
-static unsigned char courier24_192_bits[] = {
-0x40, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0xfc, 0x00, 0xc0, 0x00, 
-0xe0, 0x01, 0x60, 0x01, 0x20, 0x03, 0x30, 0x03, 0x10, 0x02, 0x18, 0x06, 
-0x18, 0x04, 0xf8, 0x07, 0x0c, 0x0c, 0x04, 0x08, 0x06, 0x18, 0x1f, 0x3e};
-static unsigned char courier24_193_bits[] = {
-0x80, 0x01, 0xc0, 0x00, 0x60, 0x00, 0x00, 0x00, 0xfc, 0x00, 0xc0, 0x00, 
-0xe0, 0x01, 0x60, 0x01, 0x20, 0x03, 0x30, 0x03, 0x10, 0x02, 0x18, 0x06, 
-0x18, 0x04, 0xf8, 0x07, 0x0c, 0x0c, 0x04, 0x08, 0x06, 0x18, 0x1f, 0x3e};
-static unsigned char courier24_194_bits[] = {
-0xc0, 0x00, 0x20, 0x01, 0x10, 0x02, 0x00, 0x00, 0xfc, 0x00, 0xc0, 0x00, 
-0xe0, 0x01, 0x60, 0x01, 0x20, 0x03, 0x30, 0x03, 0x10, 0x02, 0x18, 0x06, 
-0x18, 0x04, 0xf8, 0x07, 0x0c, 0x0c, 0x04, 0x08, 0x06, 0x18, 0x1f, 0x3e};
-static unsigned char courier24_195_bits[] = {
-0x70, 0x04, 0x90, 0x03, 0x00, 0x01, 0x00, 0x00, 0xfc, 0x00, 0xc0, 0x00, 
-0xe0, 0x01, 0x60, 0x01, 0x20, 0x03, 0x30, 0x03, 0x10, 0x02, 0x18, 0x06, 
-0x18, 0x04, 0xf8, 0x07, 0x0c, 0x0c, 0x04, 0x08, 0x06, 0x18, 0x1f, 0x3e};
-static unsigned char courier24_196_bits[] = {
-0x60, 0x03, 0x60, 0x03, 0x60, 0x03, 0x00, 0x00, 0xfc, 0x00, 0xc0, 0x00, 
-0xe0, 0x01, 0x60, 0x01, 0x20, 0x03, 0x30, 0x03, 0x10, 0x02, 0x18, 0x06, 
-0x18, 0x04, 0xf8, 0x07, 0x0c, 0x0c, 0x04, 0x08, 0x06, 0x18, 0x1f, 0x3e};
-static unsigned char courier24_197_bits[] = {
-0xc0, 0x00, 0x20, 0x01, 0x20, 0x01, 0xc0, 0x00, 0x00, 0x00, 0xfc, 0x00, 
-0xc0, 0x00, 0xe0, 0x01, 0x60, 0x01, 0x20, 0x03, 0x30, 0x03, 0x10, 0x02, 
-0x18, 0x06, 0x18, 0x04, 0xf8, 0x07, 0x0c, 0x0c, 0x04, 0x08, 0x06, 0x18, 
-0x1f, 0x3e};
-static unsigned char courier24_198_bits[] = {
-0xf0, 0x1f, 0xc0, 0x10, 0xc0, 0x10, 0xa0, 0x10, 0xa0, 0x14, 0xb0, 0x04, 
-0x90, 0x07, 0x90, 0x04, 0x98, 0x04, 0xf8, 0x04, 0x8c, 0x10, 0x8c, 0x10, 
-0x86, 0x10, 0x9f, 0x1f};
-static unsigned char courier24_199_bits[] = {
-0xf8, 0x04, 0x0c, 0x07, 0x02, 0x06, 0x02, 0x06, 0x01, 0x04, 0x01, 0x00, 
-0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x0c, 
-0x04, 0x07, 0xf8, 0x01, 0x20, 0x00, 0xe0, 0x00, 0xf0, 0x00};
-static unsigned char courier24_200_bits[] = {
-0x20, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x08, 0x08, 
-0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x01, 0xf8, 0x01, 0x08, 0x01, 
-0x08, 0x01, 0x08, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xff, 0x0f};
-static unsigned char courier24_201_bits[] = {
-0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x08, 0x08, 
-0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x01, 0xf8, 0x01, 0x08, 0x01, 
-0x08, 0x01, 0x08, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xff, 0x0f};
-static unsigned char courier24_202_bits[] = {
-0x60, 0x00, 0x90, 0x00, 0x08, 0x01, 0x00, 0x00, 0xff, 0x0f, 0x08, 0x08, 
-0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x01, 0xf8, 0x01, 0x08, 0x01, 
-0x08, 0x01, 0x08, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xff, 0x0f};
-static unsigned char courier24_203_bits[] = {
-0xb0, 0x01, 0xb0, 0x01, 0xb0, 0x01, 0x00, 0x00, 0xff, 0x0f, 0x08, 0x08, 
-0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x01, 0xf8, 0x01, 0x08, 0x01, 
-0x08, 0x01, 0x08, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xff, 0x0f};
-static unsigned char courier24_204_bits[] = {
-0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0xff, 0x03, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xff, 0x03};
-static unsigned char courier24_205_bits[] = {
-0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x00, 0x00, 0xff, 0x03, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xff, 0x03};
-static unsigned char courier24_206_bits[] = {
-0x30, 0x00, 0x48, 0x00, 0x84, 0x00, 0x00, 0x00, 0xff, 0x03, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xff, 0x03};
-static unsigned char courier24_207_bits[] = {
-0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x00, 0x00, 0xff, 0x03, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xff, 0x03};
-static unsigned char courier24_208_bits[] = {
-0xff, 0x00, 0x04, 0x03, 0x04, 0x06, 0x04, 0x04, 0x04, 0x08, 0x04, 0x08, 
-0x7f, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x04, 0x04, 0x06, 
-0x04, 0x03, 0xff, 0x01};
-static unsigned char courier24_209_bits[] = {
-0x38, 0x02, 0xc8, 0x01, 0x80, 0x00, 0x00, 0x00, 0x0f, 0x1f, 0x1c, 0x08, 
-0x14, 0x08, 0x14, 0x08, 0x24, 0x08, 0x24, 0x08, 0x44, 0x08, 0x44, 0x08, 
-0x84, 0x08, 0x84, 0x08, 0x04, 0x09, 0x04, 0x09, 0x04, 0x0a, 0x1f, 0x0e};
-static unsigned char courier24_210_bits[] = {
-0x20, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x0c, 0x03, 
-0x06, 0x06, 0x02, 0x04, 0x03, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 
-0x01, 0x08, 0x01, 0x08, 0x02, 0x04, 0x06, 0x04, 0x0c, 0x03, 0xf0, 0x01};
-static unsigned char courier24_211_bits[] = {
-0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x0c, 0x03, 
-0x06, 0x06, 0x02, 0x04, 0x03, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 
-0x01, 0x08, 0x01, 0x08, 0x02, 0x04, 0x06, 0x04, 0x0c, 0x03, 0xf0, 0x01};
-static unsigned char courier24_212_bits[] = {
-0x60, 0x00, 0x90, 0x00, 0x08, 0x01, 0x00, 0x00, 0xf0, 0x01, 0x0c, 0x03, 
-0x06, 0x06, 0x02, 0x04, 0x03, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 
-0x01, 0x08, 0x01, 0x08, 0x02, 0x04, 0x06, 0x04, 0x0c, 0x03, 0xf0, 0x01};
-static unsigned char courier24_213_bits[] = {
-0x38, 0x02, 0xc8, 0x01, 0x80, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x0c, 0x03, 
-0x06, 0x06, 0x02, 0x04, 0x03, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 
-0x01, 0x08, 0x01, 0x08, 0x02, 0x04, 0x06, 0x04, 0x0c, 0x03, 0xf0, 0x01};
-static unsigned char courier24_214_bits[] = {
-0xb0, 0x01, 0xb0, 0x01, 0xb0, 0x01, 0x00, 0x00, 0xf0, 0x01, 0x0c, 0x03, 
-0x06, 0x06, 0x02, 0x04, 0x03, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 
-0x01, 0x08, 0x01, 0x08, 0x02, 0x04, 0x06, 0x04, 0x0c, 0x03, 0xf0, 0x01};
-static unsigned char courier24_215_bits[] = {
-0x02, 0x01, 0x83, 0x01, 0xc6, 0x01, 0x6c, 0x00, 0x38, 0x00, 0x38, 0x00, 
-0x4c, 0x00, 0xc2, 0x00, 0x81, 0x01};
-static unsigned char courier24_216_bits[] = {
-0xf0, 0x05, 0x0c, 0x07, 0x06, 0x06, 0x02, 0x0e, 0x03, 0x09, 0x81, 0x08, 
-0xc1, 0x08, 0x41, 0x08, 0x21, 0x08, 0x13, 0x08, 0x1a, 0x04, 0x0e, 0x04, 
-0x0e, 0x03, 0xfa, 0x01};
-static unsigned char courier24_217_bits[] = {
-0x20, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x00, 0x9f, 0x1f, 0x02, 0x04, 
-0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 
-0x02, 0x04, 0x02, 0x04, 0x06, 0x04, 0x06, 0x04, 0x0c, 0x02, 0xf8, 0x01};
-static unsigned char courier24_218_bits[] = {
-0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x00, 0x00, 0x9f, 0x1f, 0x02, 0x04, 
-0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 
-0x02, 0x04, 0x02, 0x04, 0x06, 0x04, 0x06, 0x04, 0x0c, 0x02, 0xf8, 0x01};
-static unsigned char courier24_219_bits[] = {
-0x60, 0x00, 0x90, 0x00, 0x08, 0x01, 0x00, 0x00, 0x9f, 0x1f, 0x02, 0x04, 
-0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 
-0x02, 0x04, 0x02, 0x04, 0x06, 0x04, 0x06, 0x04, 0x0c, 0x02, 0xf8, 0x01};
-static unsigned char courier24_220_bits[] = {
-0xb0, 0x01, 0xb0, 0x01, 0xb0, 0x01, 0x00, 0x00, 0x9f, 0x1f, 0x02, 0x04, 
-0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 
-0x02, 0x04, 0x02, 0x04, 0x06, 0x04, 0x06, 0x04, 0x0c, 0x02, 0xf8, 0x01};
-static unsigned char courier24_221_bits[] = {
-0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x04, 0x04, 
-0x0c, 0x06, 0x08, 0x02, 0x10, 0x01, 0x30, 0x01, 0xa0, 0x00, 0xe0, 0x00, 
-0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0xf8, 0x03};
-static unsigned char courier24_222_bits[] = {
-0x3f, 0x00, 0x04, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x04, 0x03, 0x04, 0x06, 
-0x04, 0x04, 0x04, 0x04, 0x04, 0x06, 0x04, 0x03, 0xfc, 0x01, 0x04, 0x00, 
-0x04, 0x00, 0x3f, 0x00};
-static unsigned char courier24_223_bits[] = {
-0x78, 0x00, 0x8c, 0x00, 0x06, 0x01, 0x02, 0x01, 0x02, 0x01, 0xc2, 0x00, 
-0x72, 0x00, 0x82, 0x01, 0x02, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 
-0x02, 0x02, 0x12, 0x01, 0xf3, 0x00};
-static unsigned char courier24_224_bits[] = {
-0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 
-0x80, 0x01, 0x00, 0x01, 0xfc, 0x01, 0x82, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x81, 0x01, 0xc3, 0x01, 0x3e, 0x07};
-static unsigned char courier24_225_bits[] = {
-0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 
-0x80, 0x01, 0x00, 0x01, 0xfc, 0x01, 0x82, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x81, 0x01, 0xc3, 0x01, 0x3e, 0x07};
-static unsigned char courier24_226_bits[] = {
-0x30, 0x00, 0x68, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 
-0x80, 0x01, 0x00, 0x01, 0xfc, 0x01, 0x82, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x81, 0x01, 0xc3, 0x01, 0x3e, 0x07};
-static unsigned char courier24_227_bits[] = {
-0x1c, 0x01, 0xe4, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 
-0x80, 0x01, 0x00, 0x01, 0xfc, 0x01, 0x82, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x81, 0x01, 0xc3, 0x01, 0x3e, 0x07};
-static unsigned char courier24_228_bits[] = {
-0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 
-0x80, 0x01, 0x00, 0x01, 0xfc, 0x01, 0x82, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x81, 0x01, 0xc3, 0x01, 0x3e, 0x07};
-static unsigned char courier24_229_bits[] = {
-0x70, 0x00, 0x48, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 
-0x80, 0x01, 0x00, 0x01, 0xfc, 0x01, 0x82, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x81, 0x01, 0xc3, 0x01, 0x3e, 0x07};
-static unsigned char courier24_230_bits[] = {
-0xfe, 0x07, 0x40, 0x0c, 0x40, 0x08, 0x40, 0x08, 0xfc, 0x0f, 0x42, 0x00, 
-0x41, 0x00, 0x41, 0x00, 0xe1, 0x00, 0x1e, 0x0f};
-static unsigned char courier24_231_bits[] = {
-0xf8, 0x06, 0x06, 0x03, 0x02, 0x02, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 
-0x01, 0x00, 0x02, 0x04, 0x06, 0x03, 0xf8, 0x00, 0x20, 0x00, 0x60, 0x00, 
-0x70, 0x00};
-static unsigned char courier24_232_bits[] = {
-0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 
-0x06, 0x03, 0x03, 0x06, 0x01, 0x04, 0xff, 0x07, 0x01, 0x00, 0x01, 0x00, 
-0x02, 0x00, 0x06, 0x06, 0xf8, 0x01};
-static unsigned char courier24_233_bits[] = {
-0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 
-0x06, 0x03, 0x03, 0x06, 0x01, 0x04, 0xff, 0x07, 0x01, 0x00, 0x01, 0x00, 
-0x02, 0x00, 0x06, 0x06, 0xf8, 0x01};
-static unsigned char courier24_234_bits[] = {
-0x30, 0x00, 0x68, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 
-0x06, 0x03, 0x03, 0x06, 0x01, 0x04, 0xff, 0x07, 0x01, 0x00, 0x01, 0x00, 
-0x02, 0x00, 0x06, 0x06, 0xf8, 0x01};
-static unsigned char courier24_235_bits[] = {
-0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 
-0x06, 0x03, 0x03, 0x06, 0x01, 0x04, 0xff, 0x07, 0x01, 0x00, 0x01, 0x00, 
-0x02, 0x00, 0x06, 0x06, 0xf8, 0x01};
-static unsigned char courier24_236_bits[] = {
-0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0xff, 0x03};
-static unsigned char courier24_237_bits[] = {
-0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0xff, 0x03};
-static unsigned char courier24_238_bits[] = {
-0x30, 0x00, 0x68, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0xff, 0x03};
-static unsigned char courier24_239_bits[] = {
-0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0xff, 0x03};
-static unsigned char courier24_240_bits[] = {
-0x40, 0x00, 0x3c, 0x00, 0x70, 0x00, 0xd0, 0x00, 0x98, 0x01, 0x00, 0x03, 
-0x00, 0x06, 0xf8, 0x07, 0x06, 0x0e, 0x02, 0x0c, 0x01, 0x08, 0x01, 0x08, 
-0x01, 0x08, 0x01, 0x08, 0x02, 0x04, 0x0c, 0x06, 0xf8, 0x01};
-static unsigned char courier24_241_bits[] = {
-0x38, 0x02, 0xc8, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf7, 0x01, 
-0x0c, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x04, 0x04, 0x04, 0x9f, 0x1f};
-static unsigned char courier24_242_bits[] = {
-0x20, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 
-0x06, 0x06, 0x02, 0x04, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 
-0x02, 0x04, 0x0c, 0x06, 0xf8, 0x01};
-static unsigned char courier24_243_bits[] = {
-0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 
-0x06, 0x06, 0x02, 0x04, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 
-0x02, 0x04, 0x0c, 0x06, 0xf8, 0x01};
-static unsigned char courier24_244_bits[] = {
-0x60, 0x00, 0xd0, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 
-0x06, 0x06, 0x02, 0x04, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 
-0x02, 0x04, 0x0c, 0x06, 0xf8, 0x01};
-static unsigned char courier24_245_bits[] = {
-0x38, 0x02, 0xc8, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 
-0x06, 0x06, 0x02, 0x04, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 
-0x02, 0x04, 0x0c, 0x06, 0xf8, 0x01};
-static unsigned char courier24_246_bits[] = {
-0xb0, 0x01, 0xb0, 0x01, 0xb0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 
-0x06, 0x06, 0x02, 0x04, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 
-0x02, 0x04, 0x0c, 0x06, 0xf8, 0x01};
-static unsigned char courier24_247_bits[] = {
-0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00};
-static unsigned char courier24_248_bits[] = {
-0xf8, 0x05, 0x06, 0x06, 0x02, 0x0d, 0x81, 0x08, 0x41, 0x08, 0x31, 0x08, 
-0x1b, 0x08, 0x0e, 0x04, 0x0e, 0x06, 0xfb, 0x01};
-static unsigned char courier24_249_bits[] = {
-0x20, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x03, 
-0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 
-0x04, 0x02, 0x8c, 0x03, 0xf8, 0x0e};
-static unsigned char courier24_250_bits[] = {
-0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x03, 
-0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 
-0x04, 0x02, 0x8c, 0x03, 0xf8, 0x0e};
-static unsigned char courier24_251_bits[] = {
-0x60, 0x00, 0xd0, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x87, 0x03, 
-0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 
-0x04, 0x02, 0x8c, 0x03, 0xf8, 0x0e};
-static unsigned char courier24_252_bits[] = {
-0xb0, 0x01, 0xb0, 0x01, 0xb0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x87, 0x03, 
-0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 
-0x04, 0x02, 0x8c, 0x03, 0xf8, 0x0e};
-static unsigned char courier24_253_bits[] = {
-0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x1e, 
-0x04, 0x04, 0x04, 0x04, 0x08, 0x02, 0x08, 0x03, 0x10, 0x01, 0x90, 0x01, 
-0xa0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x20, 0x00, 0x20, 0x00, 0x10, 0x00, 
-0x7f, 0x00};
-static unsigned char courier24_254_bits[] = {
-0x0f, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0xe8, 0x03, 
-0x38, 0x0c, 0x18, 0x08, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 
-0x18, 0x08, 0x38, 0x04, 0xe8, 0x03, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 
-0x7f, 0x00};
-static unsigned char courier24_255_bits[] = {
-0xb0, 0x01, 0xb0, 0x01, 0xb0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x1e, 
-0x04, 0x04, 0x04, 0x04, 0x08, 0x02, 0x08, 0x03, 0x10, 0x01, 0x90, 0x01, 
-0xa0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x20, 0x00, 0x20, 0x00, 0x10, 0x00, 
-0x7f, 0x00};
-static RotFont courier24font[] = {
-{5, 1, 1, courier24_0_bits},
-{5, 1, 1, courier24_1_bits},
-{5, 1, 1, courier24_2_bits},
-{5, 1, 1, courier24_3_bits},
-{5, 1, 1, courier24_4_bits},
-{5, 1, 1, courier24_5_bits},
-{5, 1, 1, courier24_6_bits},
-{5, 1, 1, courier24_7_bits},
-{5, 1, 1, courier24_8_bits},
-{5, 1, 1, courier24_9_bits},
-{5, 1, 1, courier24_10_bits},
-{5, 1, 1, courier24_11_bits},
-{5, 1, 1, courier24_12_bits},
-{5, 1, 1, courier24_13_bits},
-{5, 1, 1, courier24_14_bits},
-{5, 1, 1, courier24_15_bits},
-{5, 1, 1, courier24_16_bits},
-{5, 1, 1, courier24_17_bits},
-{5, 1, 1, courier24_18_bits},
-{5, 1, 1, courier24_19_bits},
-{5, 1, 1, courier24_20_bits},
-{5, 1, 1, courier24_21_bits},
-{5, 1, 1, courier24_22_bits},
-{5, 1, 1, courier24_23_bits},
-{5, 1, 1, courier24_24_bits},
-{5, 1, 1, courier24_25_bits},
-{5, 1, 1, courier24_26_bits},
-{5, 1, 1, courier24_27_bits},
-{5, 1, 1, courier24_28_bits},
-{5, 1, 1, courier24_29_bits},
-{5, 1, 1, courier24_30_bits},
-{5, 1, 1, courier24_31_bits},
-{10, 1, 1, courier24_32_bits},
-{3, 14, 14, courier24_33_bits},
-{6, 7, 14, courier24_34_bits},
-{11, 17, 16, courier24_35_bits},
-{10, 19, 16, courier24_36_bits},
-{12, 15, 15, courier24_37_bits},
-{10, 13, 13, courier24_38_bits},
-{4, 6, 14, courier24_39_bits},
-{4, 18, 16, courier24_40_bits},
-{4, 18, 16, courier24_41_bits},
-{9, 9, 14, courier24_42_bits},
-{11, 11, 13, courier24_43_bits},
-{4, 6, 3, courier24_44_bits},
-{11, 1, 8, courier24_45_bits},
-{4, 3, 3, courier24_46_bits},
-{10, 20, 17, courier24_47_bits},
-{9, 15, 15, courier24_48_bits},
-{10, 15, 15, courier24_49_bits},
-{9, 15, 15, courier24_50_bits},
-{9, 15, 15, courier24_51_bits},
-{10, 15, 15, courier24_52_bits},
-{10, 15, 15, courier24_53_bits},
-{9, 15, 15, courier24_54_bits},
-{10, 15, 15, courier24_55_bits},
-{9, 15, 15, courier24_56_bits},
-{9, 15, 15, courier24_57_bits},
-{4, 9, 9, courier24_58_bits},
-{5, 12, 9, courier24_59_bits},
-{12, 11, 13, courier24_60_bits},
-{11, 5, 10, courier24_61_bits},
-{12, 11, 13, courier24_62_bits},
-{8, 14, 14, courier24_63_bits},
-{13, 13, 13, courier24_64_bits},
-{14, 14, 14, courier24_65_bits},
-{12, 14, 14, courier24_66_bits},
-{12, 14, 14, courier24_67_bits},
-{12, 14, 14, courier24_68_bits},
-{12, 14, 14, courier24_69_bits},
-{11, 14, 14, courier24_70_bits},
-{13, 14, 14, courier24_71_bits},
-{12, 14, 14, courier24_72_bits},
-{10, 14, 14, courier24_73_bits},
-{13, 14, 14, courier24_74_bits},
-{13, 14, 14, courier24_75_bits},
-{12, 14, 14, courier24_76_bits},
-{14, 14, 14, courier24_77_bits},
-{13, 14, 14, courier24_78_bits},
-{12, 14, 14, courier24_79_bits},
-{11, 14, 14, courier24_80_bits},
-{12, 17, 14, courier24_81_bits},
-{13, 14, 14, courier24_82_bits},
-{9, 14, 14, courier24_83_bits},
-{13, 14, 14, courier24_84_bits},
-{13, 14, 14, courier24_85_bits},
-{14, 14, 14, courier24_86_bits},
-{15, 14, 14, courier24_87_bits},
-{13, 14, 14, courier24_88_bits},
-{13, 14, 14, courier24_89_bits},
-{10, 14, 14, courier24_90_bits},
-{4, 18, 16, courier24_91_bits},
-{10, 20, 17, courier24_92_bits},
-{4, 18, 16, courier24_93_bits},
-{11, 11, 14, courier24_94_bits},
-{17, 1, -2, courier24_95_bits},
-{4, 6, 14, courier24_96_bits},
-{11, 10, 10, courier24_97_bits},
-{13, 15, 15, courier24_98_bits},
-{11, 10, 10, courier24_99_bits},
-{13, 15, 15, courier24_100_bits},
-{11, 10, 10, courier24_101_bits},
-{10, 15, 15, courier24_102_bits},
-{12, 14, 10, courier24_103_bits},
-{13, 15, 15, courier24_104_bits},
-{10, 16, 16, courier24_105_bits},
-{8, 20, 16, courier24_106_bits},
-{13, 15, 15, courier24_107_bits},
-{10, 15, 15, courier24_108_bits},
-{15, 10, 10, courier24_109_bits},
-{13, 10, 10, courier24_110_bits},
-{12, 10, 10, courier24_111_bits},
-{13, 14, 10, courier24_112_bits},
-{13, 14, 10, courier24_113_bits},
-{12, 10, 10, courier24_114_bits},
-{10, 10, 10, courier24_115_bits},
-{10, 14, 14, courier24_116_bits},
-{12, 10, 10, courier24_117_bits},
-{13, 10, 10, courier24_118_bits},
-{14, 10, 10, courier24_119_bits},
-{14, 10, 10, courier24_120_bits},
-{13, 14, 10, courier24_121_bits},
-{10, 10, 10, courier24_122_bits},
-{5, 18, 16, courier24_123_bits},
-{1, 21, 16, courier24_124_bits},
-{6, 18, 16, courier24_125_bits},
-{10, 4, 9, courier24_126_bits},
-{5, 1, 1, courier24_127_bits},
-{5, 1, 1, courier24_128_bits},
-{5, 1, 1, courier24_129_bits},
-{5, 1, 1, courier24_130_bits},
-{5, 1, 1, courier24_131_bits},
-{5, 1, 1, courier24_132_bits},
-{5, 1, 1, courier24_133_bits},
-{5, 1, 1, courier24_134_bits},
-{5, 1, 1, courier24_135_bits},
-{5, 1, 1, courier24_136_bits},
-{5, 1, 1, courier24_137_bits},
-{5, 1, 1, courier24_138_bits},
-{5, 1, 1, courier24_139_bits},
-{5, 1, 1, courier24_140_bits},
-{5, 1, 1, courier24_141_bits},
-{5, 1, 1, courier24_142_bits},
-{5, 1, 1, courier24_143_bits},
-{5, 1, 1, courier24_144_bits},
-{5, 1, 1, courier24_145_bits},
-{5, 1, 1, courier24_146_bits},
-{5, 1, 1, courier24_147_bits},
-{5, 1, 1, courier24_148_bits},
-{5, 1, 1, courier24_149_bits},
-{5, 1, 1, courier24_150_bits},
-{5, 1, 1, courier24_151_bits},
-{5, 1, 1, courier24_152_bits},
-{5, 1, 1, courier24_153_bits},
-{5, 1, 1, courier24_154_bits},
-{5, 1, 1, courier24_155_bits},
-{5, 1, 1, courier24_156_bits},
-{5, 1, 1, courier24_157_bits},
-{5, 1, 1, courier24_158_bits},
-{5, 1, 1, courier24_159_bits},
-{5, 1, 1, courier24_160_bits},
-{3, 13, 10, courier24_161_bits},
-{9, 16, 15, courier24_162_bits},
-{11, 15, 15, courier24_163_bits},
-{11, 11, 12, courier24_164_bits},
-{13, 14, 14, courier24_165_bits},
-{1, 21, 16, courier24_166_bits},
-{9, 16, 14, courier24_167_bits},
-{5, 3, 15, courier24_168_bits},
-{14, 14, 14, courier24_169_bits},
-{6, 8, 14, courier24_170_bits},
-{10, 10, 10, courier24_171_bits},
-{10, 6, 10, courier24_172_bits},
-{5, 1, 7, courier24_173_bits},
-{14, 14, 14, courier24_174_bits},
-{8, 1, 14, courier24_175_bits},
-{7, 7, 15, courier24_176_bits},
-{11, 13, 14, courier24_177_bits},
-{6, 9, 15, courier24_178_bits},
-{6, 9, 15, courier24_179_bits},
-{5, 3, 15, courier24_180_bits},
-{12, 14, 10, courier24_181_bits},
-{9, 16, 14, courier24_182_bits},
-{4, 3, 9, courier24_183_bits},
-{4, 4, 1, courier24_184_bits},
-{6, 9, 15, courier24_185_bits},
-{6, 8, 14, courier24_186_bits},
-{10, 10, 10, courier24_187_bits},
-{13, 17, 15, courier24_188_bits},
-{14, 17, 15, courier24_189_bits},
-{14, 17, 15, courier24_190_bits},
-{8, 13, 10, courier24_191_bits},
-{14, 18, 18, courier24_192_bits},
-{14, 18, 18, courier24_193_bits},
-{14, 18, 18, courier24_194_bits},
-{14, 18, 18, courier24_195_bits},
-{14, 18, 18, courier24_196_bits},
-{14, 19, 19, courier24_197_bits},
-{13, 14, 14, courier24_198_bits},
-{12, 17, 14, courier24_199_bits},
-{12, 18, 18, courier24_200_bits},
-{12, 18, 18, courier24_201_bits},
-{12, 18, 18, courier24_202_bits},
-{12, 18, 18, courier24_203_bits},
-{10, 18, 18, courier24_204_bits},
-{10, 18, 18, courier24_205_bits},
-{10, 18, 18, courier24_206_bits},
-{10, 18, 18, courier24_207_bits},
-{12, 14, 14, courier24_208_bits},
-{13, 18, 18, courier24_209_bits},
-{12, 18, 18, courier24_210_bits},
-{12, 18, 18, courier24_211_bits},
-{12, 18, 18, courier24_212_bits},
-{12, 18, 18, courier24_213_bits},
-{12, 18, 18, courier24_214_bits},
-{9, 9, 12, courier24_215_bits},
-{12, 14, 14, courier24_216_bits},
-{13, 18, 18, courier24_217_bits},
-{13, 18, 18, courier24_218_bits},
-{13, 18, 18, courier24_219_bits},
-{13, 18, 18, courier24_220_bits},
-{13, 18, 18, courier24_221_bits},
-{11, 14, 14, courier24_222_bits},
-{10, 15, 15, courier24_223_bits},
-{11, 15, 15, courier24_224_bits},
-{11, 15, 15, courier24_225_bits},
-{11, 15, 15, courier24_226_bits},
-{11, 15, 15, courier24_227_bits},
-{11, 15, 15, courier24_228_bits},
-{11, 15, 15, courier24_229_bits},
-{13, 10, 10, courier24_230_bits},
-{11, 13, 10, courier24_231_bits},
-{11, 15, 15, courier24_232_bits},
-{11, 15, 15, courier24_233_bits},
-{11, 15, 15, courier24_234_bits},
-{11, 15, 15, courier24_235_bits},
-{10, 15, 15, courier24_236_bits},
-{10, 15, 15, courier24_237_bits},
-{10, 15, 15, courier24_238_bits},
-{10, 15, 15, courier24_239_bits},
-{12, 17, 17, courier24_240_bits},
-{13, 15, 15, courier24_241_bits},
-{12, 15, 15, courier24_242_bits},
-{12, 15, 15, courier24_243_bits},
-{12, 15, 15, courier24_244_bits},
-{12, 15, 15, courier24_245_bits},
-{12, 15, 15, courier24_246_bits},
-{11, 11, 13, courier24_247_bits},
-{12, 10, 10, courier24_248_bits},
-{12, 15, 15, courier24_249_bits},
-{12, 15, 15, courier24_250_bits},
-{12, 15, 15, courier24_251_bits},
-{12, 15, 15, courier24_252_bits},
-{13, 19, 15, courier24_253_bits},
-{13, 19, 15, courier24_254_bits},
-{13, 19, 15, courier24_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/courier8.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/courier8.h	(revision 38985)
+++ 	(revision )
@@ -1,769 +1,0 @@
-static unsigned char courier8_0_bits[] = {
-0x00};
-static unsigned char courier8_1_bits[] = {
-0x00};
-static unsigned char courier8_2_bits[] = {
-0x00};
-static unsigned char courier8_3_bits[] = {
-0x00};
-static unsigned char courier8_4_bits[] = {
-0x00};
-static unsigned char courier8_5_bits[] = {
-0x00};
-static unsigned char courier8_6_bits[] = {
-0x00};
-static unsigned char courier8_7_bits[] = {
-0x00};
-static unsigned char courier8_8_bits[] = {
-0x00};
-static unsigned char courier8_9_bits[] = {
-0x00};
-static unsigned char courier8_10_bits[] = {
-0x00};
-static unsigned char courier8_11_bits[] = {
-0x00};
-static unsigned char courier8_12_bits[] = {
-0x00};
-static unsigned char courier8_13_bits[] = {
-0x00};
-static unsigned char courier8_14_bits[] = {
-0x00};
-static unsigned char courier8_15_bits[] = {
-0x00};
-static unsigned char courier8_16_bits[] = {
-0x00};
-static unsigned char courier8_17_bits[] = {
-0x00};
-static unsigned char courier8_18_bits[] = {
-0x00};
-static unsigned char courier8_19_bits[] = {
-0x00};
-static unsigned char courier8_20_bits[] = {
-0x00};
-static unsigned char courier8_21_bits[] = {
-0x00};
-static unsigned char courier8_22_bits[] = {
-0x00};
-static unsigned char courier8_23_bits[] = {
-0x00};
-static unsigned char courier8_24_bits[] = {
-0x00};
-static unsigned char courier8_25_bits[] = {
-0x00};
-static unsigned char courier8_26_bits[] = {
-0x00};
-static unsigned char courier8_27_bits[] = {
-0x00};
-static unsigned char courier8_28_bits[] = {
-0x00};
-static unsigned char courier8_29_bits[] = {
-0x00};
-static unsigned char courier8_30_bits[] = {
-0x00};
-static unsigned char courier8_31_bits[] = {
-0x00};
-static unsigned char courier8_32_bits[] = {
-0x00};
-static unsigned char courier8_33_bits[] = {
-0x01, 0x01, 0x01, 0x01};
-static unsigned char courier8_34_bits[] = {
-0x05, 0x05};
-static unsigned char courier8_35_bits[] = {
-0x05, 0x05, 0x07, 0x07, 0x05};
-static unsigned char courier8_36_bits[] = {
-0x07, 0x07, 0x03, 0x07, 0x07, 0x02};
-static unsigned char courier8_37_bits[] = {
-0x07, 0x07, 0x1f, 0x1c, 0x1c};
-static unsigned char courier8_38_bits[] = {
-0x02, 0x01, 0x05, 0x07, 0x07};
-static unsigned char courier8_39_bits[] = {
-0x01, 0x01};
-static unsigned char courier8_40_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char courier8_41_bits[] = {
-0x01, 0x02, 0x02, 0x02, 0x02, 0x01};
-static unsigned char courier8_42_bits[] = {
-0x02, 0x02, 0x05};
-static unsigned char courier8_43_bits[] = {
-0x02, 0x07, 0x02};
-static unsigned char courier8_44_bits[] = {
-0x01, 0x01};
-static unsigned char courier8_45_bits[] = {
-0x0f};
-static unsigned char courier8_46_bits[] = {
-0x01};
-static unsigned char courier8_47_bits[] = {
-0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01};
-static unsigned char courier8_48_bits[] = {
-0x03, 0x05, 0x05, 0x05, 0x03};
-static unsigned char courier8_49_bits[] = {
-0x03, 0x02, 0x02, 0x02, 0x07};
-static unsigned char courier8_50_bits[] = {
-0x06, 0x08, 0x0c, 0x02, 0x0f};
-static unsigned char courier8_51_bits[] = {
-0x03, 0x02, 0x06, 0x04, 0x03};
-static unsigned char courier8_52_bits[] = {
-0x04, 0x06, 0x06, 0x0f, 0x0c};
-static unsigned char courier8_53_bits[] = {
-0x03, 0x01, 0x07, 0x04, 0x07};
-static unsigned char courier8_54_bits[] = {
-0x06, 0x01, 0x07, 0x05, 0x07};
-static unsigned char courier8_55_bits[] = {
-0x0f, 0x08, 0x04, 0x04, 0x04};
-static unsigned char courier8_56_bits[] = {
-0x07, 0x05, 0x03, 0x05, 0x07};
-static unsigned char courier8_57_bits[] = {
-0x06, 0x09, 0x0e, 0x08, 0x06};
-static unsigned char courier8_58_bits[] = {
-0x01, 0x00, 0x01};
-static unsigned char courier8_59_bits[] = {
-0x02, 0x00, 0x02, 0x02};
-static unsigned char courier8_60_bits[] = {
-0x06, 0x03, 0x04};
-static unsigned char courier8_61_bits[] = {
-0x0f, 0x00, 0x0f};
-static unsigned char courier8_62_bits[] = {
-0x06, 0x0c, 0x03};
-static unsigned char courier8_63_bits[] = {
-0x07, 0x04, 0x02, 0x02};
-static unsigned char courier8_64_bits[] = {
-0x0e, 0x15, 0x17, 0x1f, 0x0e};
-static unsigned char courier8_65_bits[] = {
-0x0e, 0x0a, 0x0e, 0x1b};
-static unsigned char courier8_66_bits[] = {
-0x0f, 0x0e, 0x12, 0x0f};
-static unsigned char courier8_67_bits[] = {
-0x1e, 0x01, 0x01, 0x0e};
-static unsigned char courier8_68_bits[] = {
-0x1f, 0x12, 0x12, 0x0f};
-static unsigned char courier8_69_bits[] = {
-0x1f, 0x0e, 0x02, 0x1f};
-static unsigned char courier8_70_bits[] = {
-0x0f, 0x07, 0x01, 0x03};
-static unsigned char courier8_71_bits[] = {
-0x1e, 0x01, 0x19, 0x1e};
-static unsigned char courier8_72_bits[] = {
-0x0b, 0x0e, 0x0a, 0x0b};
-static unsigned char courier8_73_bits[] = {
-0x07, 0x02, 0x02, 0x07};
-static unsigned char courier8_74_bits[] = {
-0x1c, 0x08, 0x09, 0x0f};
-static unsigned char courier8_75_bits[] = {
-0x1b, 0x06, 0x0a, 0x13};
-static unsigned char courier8_76_bits[] = {
-0x07, 0x02, 0x12, 0x1f};
-static unsigned char courier8_77_bits[] = {
-0x3b, 0x1b, 0x15, 0x1b};
-static unsigned char courier8_78_bits[] = {
-0x1b, 0x16, 0x16, 0x1b};
-static unsigned char courier8_79_bits[] = {
-0x0e, 0x11, 0x11, 0x0e};
-static unsigned char courier8_80_bits[] = {
-0x0f, 0x09, 0x07, 0x03};
-static unsigned char courier8_81_bits[] = {
-0x0e, 0x11, 0x11, 0x0e, 0x0e};
-static unsigned char courier8_82_bits[] = {
-0x0f, 0x06, 0x0a, 0x1b};
-static unsigned char courier8_83_bits[] = {
-0x0f, 0x03, 0x04, 0x07};
-static unsigned char courier8_84_bits[] = {
-0x1f, 0x04, 0x04, 0x0e};
-static unsigned char courier8_85_bits[] = {
-0x1b, 0x09, 0x09, 0x0f};
-static unsigned char courier8_86_bits[] = {
-0x1b, 0x0a, 0x0a, 0x04};
-static unsigned char courier8_87_bits[] = {
-0x1f, 0x1b, 0x1b, 0x0a};
-static unsigned char courier8_88_bits[] = {
-0x0b, 0x04, 0x0a, 0x1b};
-static unsigned char courier8_89_bits[] = {
-0x1f, 0x0a, 0x04, 0x0e};
-static unsigned char courier8_90_bits[] = {
-0x0f, 0x04, 0x0a, 0x0e};
-static unsigned char courier8_91_bits[] = {
-0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03};
-static unsigned char courier8_92_bits[] = {
-0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04};
-static unsigned char courier8_93_bits[] = {
-0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03};
-static unsigned char courier8_94_bits[] = {
-0x06, 0x07, 0x09};
-static unsigned char courier8_95_bits[] = {
-0x3f};
-static unsigned char courier8_96_bits[] = {
-0x01, 0x01};
-static unsigned char courier8_97_bits[] = {
-0x0e, 0x09, 0x17};
-static unsigned char courier8_98_bits[] = {
-0x01, 0x01, 0x0f, 0x11, 0x0f};
-static unsigned char courier8_99_bits[] = {
-0x1e, 0x01, 0x0e};
-static unsigned char courier8_100_bits[] = {
-0x0c, 0x08, 0x0f, 0x09, 0x1e};
-static unsigned char courier8_101_bits[] = {
-0x0e, 0x15, 0x1e};
-static unsigned char courier8_102_bits[] = {
-0x07, 0x07, 0x01, 0x01, 0x07};
-static unsigned char courier8_103_bits[] = {
-0x0e, 0x09, 0x0e, 0x08, 0x06};
-static unsigned char courier8_104_bits[] = {
-0x03, 0x02, 0x0e, 0x0a, 0x1b};
-static unsigned char courier8_105_bits[] = {
-0x02, 0x00, 0x03, 0x02, 0x07};
-static unsigned char courier8_106_bits[] = {
-0x02, 0x00, 0x03, 0x02, 0x02, 0x02, 0x03};
-static unsigned char courier8_107_bits[] = {
-0x03, 0x02, 0x0e, 0x06, 0x1b};
-static unsigned char courier8_108_bits[] = {
-0x03, 0x02, 0x02, 0x02, 0x07};
-static unsigned char courier8_109_bits[] = {
-0x1f, 0x15, 0x17};
-static unsigned char courier8_110_bits[] = {
-0x0f, 0x0a, 0x1b};
-static unsigned char courier8_111_bits[] = {
-0x0e, 0x11, 0x0e};
-static unsigned char courier8_112_bits[] = {
-0x0f, 0x12, 0x0e, 0x02, 0x03};
-static unsigned char courier8_113_bits[] = {
-0x1e, 0x09, 0x0e, 0x08, 0x1c};
-static unsigned char courier8_114_bits[] = {
-0x07, 0x01, 0x07};
-static unsigned char courier8_115_bits[] = {
-0x1e, 0x0e, 0x0f};
-static unsigned char courier8_116_bits[] = {
-0x07, 0x01, 0x01, 0x07};
-static unsigned char courier8_117_bits[] = {
-0x0b, 0x0a, 0x0e};
-static unsigned char courier8_118_bits[] = {
-0x1b, 0x0a, 0x04};
-static unsigned char courier8_119_bits[] = {
-0x15, 0x1d, 0x0a};
-static unsigned char courier8_120_bits[] = {
-0x0f, 0x06, 0x1b};
-static unsigned char courier8_121_bits[] = {
-0x0b, 0x0a, 0x04, 0x04, 0x07};
-static unsigned char courier8_122_bits[] = {
-0x07, 0x02, 0x07};
-static unsigned char courier8_123_bits[] = {
-0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02};
-static unsigned char courier8_124_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char courier8_125_bits[] = {
-0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03};
-static unsigned char courier8_126_bits[] = {
-0x07};
-static unsigned char courier8_127_bits[] = {
-0x00};
-static unsigned char courier8_128_bits[] = {
-0x00};
-static unsigned char courier8_129_bits[] = {
-0x00};
-static unsigned char courier8_130_bits[] = {
-0x00};
-static unsigned char courier8_131_bits[] = {
-0x00};
-static unsigned char courier8_132_bits[] = {
-0x00};
-static unsigned char courier8_133_bits[] = {
-0x00};
-static unsigned char courier8_134_bits[] = {
-0x00};
-static unsigned char courier8_135_bits[] = {
-0x00};
-static unsigned char courier8_136_bits[] = {
-0x00};
-static unsigned char courier8_137_bits[] = {
-0x00};
-static unsigned char courier8_138_bits[] = {
-0x00};
-static unsigned char courier8_139_bits[] = {
-0x00};
-static unsigned char courier8_140_bits[] = {
-0x00};
-static unsigned char courier8_141_bits[] = {
-0x00};
-static unsigned char courier8_142_bits[] = {
-0x00};
-static unsigned char courier8_143_bits[] = {
-0x00};
-static unsigned char courier8_144_bits[] = {
-0x00};
-static unsigned char courier8_145_bits[] = {
-0x00};
-static unsigned char courier8_146_bits[] = {
-0x00};
-static unsigned char courier8_147_bits[] = {
-0x00};
-static unsigned char courier8_148_bits[] = {
-0x00};
-static unsigned char courier8_149_bits[] = {
-0x00};
-static unsigned char courier8_150_bits[] = {
-0x00};
-static unsigned char courier8_151_bits[] = {
-0x00};
-static unsigned char courier8_152_bits[] = {
-0x00};
-static unsigned char courier8_153_bits[] = {
-0x00};
-static unsigned char courier8_154_bits[] = {
-0x00};
-static unsigned char courier8_155_bits[] = {
-0x00};
-static unsigned char courier8_156_bits[] = {
-0x00};
-static unsigned char courier8_157_bits[] = {
-0x00};
-static unsigned char courier8_158_bits[] = {
-0x00};
-static unsigned char courier8_159_bits[] = {
-0x00};
-static unsigned char courier8_160_bits[] = {
-0x00};
-static unsigned char courier8_161_bits[] = {
-0x01, 0x01, 0x01, 0x01};
-static unsigned char courier8_162_bits[] = {
-0x02, 0x07, 0x03, 0x0f, 0x02};
-static unsigned char courier8_163_bits[] = {
-0x06, 0x01, 0x07, 0x01, 0x07};
-static unsigned char courier8_164_bits[] = {
-0x07, 0x05, 0x03, 0x0d};
-static unsigned char courier8_165_bits[] = {
-0x1f, 0x0a, 0x0e, 0x0e, 0x0e};
-static unsigned char courier8_166_bits[] = {
-0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01};
-static unsigned char courier8_167_bits[] = {
-0x07, 0x03, 0x07, 0x04, 0x07};
-static unsigned char courier8_168_bits[] = {
-0x03};
-static unsigned char courier8_169_bits[] = {
-0x0e, 0x17, 0x11, 0x0e};
-static unsigned char courier8_170_bits[] = {
-0x03, 0x07};
-static unsigned char courier8_171_bits[] = {
-0x06, 0x03, 0x03};
-static unsigned char courier8_172_bits[] = {
-0x07, 0x04};
-static unsigned char courier8_173_bits[] = {
-0x03};
-static unsigned char courier8_174_bits[] = {
-0x1e, 0x1f, 0x1f, 0x0e};
-static unsigned char courier8_175_bits[] = {
-0x07};
-static unsigned char courier8_176_bits[] = {
-0x07, 0x05, 0x02};
-static unsigned char courier8_177_bits[] = {
-0x07, 0x02, 0x02, 0x07};
-static unsigned char courier8_178_bits[] = {
-0x07, 0x04, 0x07};
-static unsigned char courier8_179_bits[] = {
-0x03, 0x02, 0x07};
-static unsigned char courier8_180_bits[] = {
-0x01};
-static unsigned char courier8_181_bits[] = {
-0x0b, 0x0a, 0x0e, 0x02};
-static unsigned char courier8_182_bits[] = {
-0x07, 0x07, 0x06, 0x06, 0x06};
-static unsigned char courier8_183_bits[] = {
-0x01};
-static unsigned char courier8_184_bits[] = {
-0x01, 0x01};
-static unsigned char courier8_185_bits[] = {
-0x03, 0x02, 0x03};
-static unsigned char courier8_186_bits[] = {
-0x07, 0x07};
-static unsigned char courier8_187_bits[] = {
-0x03, 0x06, 0x06};
-static unsigned char courier8_188_bits[] = {
-0x13, 0x0a, 0x1b, 0x1c, 0x1a, 0x1a};
-static unsigned char courier8_189_bits[] = {
-0x13, 0x0a, 0x1f, 0x14, 0x12, 0x19};
-static unsigned char courier8_190_bits[] = {
-0x13, 0x0a, 0x0b, 0x1c, 0x1a, 0x1a};
-static unsigned char courier8_191_bits[] = {
-0x02, 0x02, 0x01, 0x07};
-static unsigned char courier8_192_bits[] = {
-0x08, 0x00, 0x0e, 0x0a, 0x0e, 0x1b};
-static unsigned char courier8_193_bits[] = {
-0x02, 0x00, 0x0e, 0x0a, 0x0e, 0x1b};
-static unsigned char courier8_194_bits[] = {
-0x06, 0x00, 0x0e, 0x0a, 0x0e, 0x1b};
-static unsigned char courier8_195_bits[] = {
-0x0c, 0x00, 0x0e, 0x0a, 0x0e, 0x1b};
-static unsigned char courier8_196_bits[] = {
-0x06, 0x00, 0x0e, 0x0a, 0x0e, 0x1b};
-static unsigned char courier8_197_bits[] = {
-0x04, 0x06, 0x00, 0x0e, 0x0a, 0x0e, 0x1b};
-static unsigned char courier8_198_bits[] = {
-0x1e, 0x0c, 0x1e, 0x1f};
-static unsigned char courier8_199_bits[] = {
-0x1e, 0x01, 0x01, 0x0e, 0x0c};
-static unsigned char courier8_200_bits[] = {
-0x08, 0x00, 0x1f, 0x0e, 0x02, 0x1f};
-static unsigned char courier8_201_bits[] = {
-0x02, 0x00, 0x1f, 0x0e, 0x02, 0x1f};
-static unsigned char courier8_202_bits[] = {
-0x06, 0x00, 0x1f, 0x0e, 0x02, 0x1f};
-static unsigned char courier8_203_bits[] = {
-0x06, 0x00, 0x1f, 0x0e, 0x02, 0x1f};
-static unsigned char courier8_204_bits[] = {
-0x04, 0x00, 0x07, 0x02, 0x02, 0x07};
-static unsigned char courier8_205_bits[] = {
-0x01, 0x00, 0x07, 0x02, 0x02, 0x07};
-static unsigned char courier8_206_bits[] = {
-0x03, 0x00, 0x07, 0x02, 0x02, 0x07};
-static unsigned char courier8_207_bits[] = {
-0x03, 0x00, 0x07, 0x02, 0x02, 0x07};
-static unsigned char courier8_208_bits[] = {
-0x1f, 0x17, 0x12, 0x0f};
-static unsigned char courier8_209_bits[] = {
-0x0c, 0x00, 0x1b, 0x16, 0x16, 0x1b};
-static unsigned char courier8_210_bits[] = {
-0x08, 0x00, 0x0e, 0x11, 0x11, 0x0e};
-static unsigned char courier8_211_bits[] = {
-0x02, 0x00, 0x0e, 0x11, 0x11, 0x0e};
-static unsigned char courier8_212_bits[] = {
-0x06, 0x00, 0x0e, 0x11, 0x11, 0x0e};
-static unsigned char courier8_213_bits[] = {
-0x0c, 0x00, 0x0e, 0x11, 0x11, 0x0e};
-static unsigned char courier8_214_bits[] = {
-0x06, 0x00, 0x0e, 0x11, 0x11, 0x0e};
-static unsigned char courier8_215_bits[] = {
-0x05, 0x06, 0x05};
-static unsigned char courier8_216_bits[] = {
-0x1e, 0x15, 0x15, 0x0f};
-static unsigned char courier8_217_bits[] = {
-0x08, 0x00, 0x1b, 0x09, 0x09, 0x0f};
-static unsigned char courier8_218_bits[] = {
-0x02, 0x00, 0x1b, 0x09, 0x09, 0x0f};
-static unsigned char courier8_219_bits[] = {
-0x06, 0x00, 0x1b, 0x09, 0x09, 0x0f};
-static unsigned char courier8_220_bits[] = {
-0x06, 0x00, 0x1b, 0x09, 0x09, 0x0f};
-static unsigned char courier8_221_bits[] = {
-0x02, 0x00, 0x1f, 0x0a, 0x04, 0x0e};
-static unsigned char courier8_222_bits[] = {
-0x07, 0x09, 0x07, 0x03};
-static unsigned char courier8_223_bits[] = {
-0x07, 0x05, 0x07, 0x05, 0x07};
-static unsigned char courier8_224_bits[] = {
-0x08, 0x00, 0x0e, 0x09, 0x17};
-static unsigned char courier8_225_bits[] = {
-0x02, 0x00, 0x0e, 0x09, 0x17};
-static unsigned char courier8_226_bits[] = {
-0x06, 0x00, 0x0e, 0x09, 0x17};
-static unsigned char courier8_227_bits[] = {
-0x0c, 0x00, 0x0e, 0x09, 0x17};
-static unsigned char courier8_228_bits[] = {
-0x06, 0x00, 0x0e, 0x09, 0x17};
-static unsigned char courier8_229_bits[] = {
-0x06, 0x00, 0x0e, 0x09, 0x17};
-static unsigned char courier8_230_bits[] = {
-0x0e, 0x1f, 0x1f};
-static unsigned char courier8_231_bits[] = {
-0x1e, 0x01, 0x0e, 0x04};
-static unsigned char courier8_232_bits[] = {
-0x08, 0x00, 0x0e, 0x15, 0x1e};
-static unsigned char courier8_233_bits[] = {
-0x02, 0x00, 0x0e, 0x15, 0x1e};
-static unsigned char courier8_234_bits[] = {
-0x06, 0x00, 0x0e, 0x15, 0x1e};
-static unsigned char courier8_235_bits[] = {
-0x06, 0x00, 0x0e, 0x15, 0x1e};
-static unsigned char courier8_236_bits[] = {
-0x04, 0x00, 0x03, 0x02, 0x07};
-static unsigned char courier8_237_bits[] = {
-0x01, 0x00, 0x03, 0x02, 0x07};
-static unsigned char courier8_238_bits[] = {
-0x03, 0x00, 0x03, 0x02, 0x07};
-static unsigned char courier8_239_bits[] = {
-0x03, 0x00, 0x03, 0x02, 0x07};
-static unsigned char courier8_240_bits[] = {
-0x04, 0x04, 0x08, 0x1f, 0x11, 0x0e};
-static unsigned char courier8_241_bits[] = {
-0x0c, 0x00, 0x0f, 0x0a, 0x1b};
-static unsigned char courier8_242_bits[] = {
-0x08, 0x00, 0x0e, 0x11, 0x0e};
-static unsigned char courier8_243_bits[] = {
-0x02, 0x00, 0x0e, 0x11, 0x0e};
-static unsigned char courier8_244_bits[] = {
-0x06, 0x00, 0x0e, 0x11, 0x0e};
-static unsigned char courier8_245_bits[] = {
-0x0c, 0x00, 0x0e, 0x11, 0x0e};
-static unsigned char courier8_246_bits[] = {
-0x06, 0x00, 0x0e, 0x11, 0x0e};
-static unsigned char courier8_247_bits[] = {
-0x01, 0x00, 0x00, 0x01};
-static unsigned char courier8_248_bits[] = {
-0x1e, 0x17, 0x0d};
-static unsigned char courier8_249_bits[] = {
-0x08, 0x00, 0x0b, 0x0a, 0x0e};
-static unsigned char courier8_250_bits[] = {
-0x02, 0x00, 0x0b, 0x0a, 0x0e};
-static unsigned char courier8_251_bits[] = {
-0x06, 0x00, 0x0b, 0x0a, 0x0e};
-static unsigned char courier8_252_bits[] = {
-0x06, 0x00, 0x0b, 0x0a, 0x0e};
-static unsigned char courier8_253_bits[] = {
-0x02, 0x00, 0x0b, 0x0a, 0x04, 0x04, 0x07};
-static unsigned char courier8_254_bits[] = {
-0x03, 0x02, 0x0e, 0x12, 0x0e, 0x02, 0x03};
-static unsigned char courier8_255_bits[] = {
-0x06, 0x00, 0x0b, 0x0a, 0x04, 0x04, 0x07};
-static RotFont courier8font[] = {
-{5, 1, 1, courier8_0_bits},
-{5, 1, 1, courier8_1_bits},
-{5, 1, 1, courier8_2_bits},
-{5, 1, 1, courier8_3_bits},
-{5, 1, 1, courier8_4_bits},
-{5, 1, 1, courier8_5_bits},
-{5, 1, 1, courier8_6_bits},
-{5, 1, 1, courier8_7_bits},
-{5, 1, 1, courier8_8_bits},
-{5, 1, 1, courier8_9_bits},
-{5, 1, 1, courier8_10_bits},
-{5, 1, 1, courier8_11_bits},
-{5, 1, 1, courier8_12_bits},
-{5, 1, 1, courier8_13_bits},
-{5, 1, 1, courier8_14_bits},
-{5, 1, 1, courier8_15_bits},
-{5, 1, 1, courier8_16_bits},
-{5, 1, 1, courier8_17_bits},
-{5, 1, 1, courier8_18_bits},
-{5, 1, 1, courier8_19_bits},
-{5, 1, 1, courier8_20_bits},
-{5, 1, 1, courier8_21_bits},
-{5, 1, 1, courier8_22_bits},
-{5, 1, 1, courier8_23_bits},
-{5, 1, 1, courier8_24_bits},
-{5, 1, 1, courier8_25_bits},
-{5, 1, 1, courier8_26_bits},
-{5, 1, 1, courier8_27_bits},
-{5, 1, 1, courier8_28_bits},
-{5, 1, 1, courier8_29_bits},
-{5, 1, 1, courier8_30_bits},
-{5, 1, 1, courier8_31_bits},
-{5, 1, 1, courier8_32_bits},
-{1, 4, 4, courier8_33_bits},
-{3, 2, 4, courier8_34_bits},
-{3, 5, 5, courier8_35_bits},
-{3, 6, 5, courier8_36_bits},
-{5, 5, 5, courier8_37_bits},
-{3, 5, 5, courier8_38_bits},
-{1, 2, 4, courier8_39_bits},
-{2, 6, 5, courier8_40_bits},
-{2, 6, 5, courier8_41_bits},
-{3, 3, 4, courier8_42_bits},
-{3, 3, 4, courier8_43_bits},
-{1, 2, 1, courier8_44_bits},
-{4, 1, 3, courier8_45_bits},
-{1, 1, 1, courier8_46_bits},
-{3, 7, 6, courier8_47_bits},
-{3, 5, 5, courier8_48_bits},
-{3, 5, 5, courier8_49_bits},
-{4, 5, 5, courier8_50_bits},
-{3, 5, 5, courier8_51_bits},
-{4, 5, 5, courier8_52_bits},
-{3, 5, 5, courier8_53_bits},
-{3, 5, 5, courier8_54_bits},
-{4, 5, 5, courier8_55_bits},
-{3, 5, 5, courier8_56_bits},
-{4, 5, 5, courier8_57_bits},
-{1, 3, 3, courier8_58_bits},
-{2, 4, 3, courier8_59_bits},
-{4, 3, 4, courier8_60_bits},
-{4, 3, 4, courier8_61_bits},
-{4, 3, 4, courier8_62_bits},
-{3, 4, 4, courier8_63_bits},
-{5, 5, 5, courier8_64_bits},
-{5, 4, 4, courier8_65_bits},
-{5, 4, 4, courier8_66_bits},
-{5, 4, 4, courier8_67_bits},
-{5, 4, 4, courier8_68_bits},
-{5, 4, 4, courier8_69_bits},
-{4, 4, 4, courier8_70_bits},
-{5, 4, 4, courier8_71_bits},
-{4, 4, 4, courier8_72_bits},
-{3, 4, 4, courier8_73_bits},
-{5, 4, 4, courier8_74_bits},
-{5, 4, 4, courier8_75_bits},
-{5, 4, 4, courier8_76_bits},
-{6, 4, 4, courier8_77_bits},
-{5, 4, 4, courier8_78_bits},
-{5, 4, 4, courier8_79_bits},
-{4, 4, 4, courier8_80_bits},
-{5, 5, 4, courier8_81_bits},
-{5, 4, 4, courier8_82_bits},
-{4, 4, 4, courier8_83_bits},
-{5, 4, 4, courier8_84_bits},
-{5, 4, 4, courier8_85_bits},
-{5, 4, 4, courier8_86_bits},
-{5, 4, 4, courier8_87_bits},
-{5, 4, 4, courier8_88_bits},
-{5, 4, 4, courier8_89_bits},
-{4, 4, 4, courier8_90_bits},
-{2, 7, 6, courier8_91_bits},
-{3, 7, 6, courier8_92_bits},
-{2, 7, 6, courier8_93_bits},
-{4, 3, 4, courier8_94_bits},
-{6, 1, 0, courier8_95_bits},
-{1, 2, 4, courier8_96_bits},
-{5, 3, 3, courier8_97_bits},
-{5, 5, 5, courier8_98_bits},
-{5, 3, 3, courier8_99_bits},
-{5, 5, 5, courier8_100_bits},
-{5, 3, 3, courier8_101_bits},
-{3, 5, 5, courier8_102_bits},
-{4, 5, 3, courier8_103_bits},
-{5, 5, 5, courier8_104_bits},
-{3, 5, 5, courier8_105_bits},
-{2, 7, 5, courier8_106_bits},
-{5, 5, 5, courier8_107_bits},
-{3, 5, 5, courier8_108_bits},
-{5, 3, 3, courier8_109_bits},
-{5, 3, 3, courier8_110_bits},
-{5, 3, 3, courier8_111_bits},
-{5, 5, 3, courier8_112_bits},
-{5, 5, 3, courier8_113_bits},
-{3, 3, 3, courier8_114_bits},
-{5, 3, 3, courier8_115_bits},
-{3, 4, 4, courier8_116_bits},
-{4, 3, 3, courier8_117_bits},
-{5, 3, 3, courier8_118_bits},
-{5, 3, 3, courier8_119_bits},
-{5, 3, 3, courier8_120_bits},
-{4, 5, 3, courier8_121_bits},
-{3, 3, 3, courier8_122_bits},
-{2, 7, 6, courier8_123_bits},
-{1, 7, 5, courier8_124_bits},
-{2, 7, 6, courier8_125_bits},
-{3, 1, 3, courier8_126_bits},
-{5, 1, 1, courier8_127_bits},
-{5, 1, 1, courier8_128_bits},
-{5, 1, 1, courier8_129_bits},
-{5, 1, 1, courier8_130_bits},
-{5, 1, 1, courier8_131_bits},
-{5, 1, 1, courier8_132_bits},
-{5, 1, 1, courier8_133_bits},
-{5, 1, 1, courier8_134_bits},
-{5, 1, 1, courier8_135_bits},
-{5, 1, 1, courier8_136_bits},
-{5, 1, 1, courier8_137_bits},
-{5, 1, 1, courier8_138_bits},
-{5, 1, 1, courier8_139_bits},
-{5, 1, 1, courier8_140_bits},
-{5, 1, 1, courier8_141_bits},
-{5, 1, 1, courier8_142_bits},
-{5, 1, 1, courier8_143_bits},
-{5, 1, 1, courier8_144_bits},
-{5, 1, 1, courier8_145_bits},
-{5, 1, 1, courier8_146_bits},
-{5, 1, 1, courier8_147_bits},
-{5, 1, 1, courier8_148_bits},
-{5, 1, 1, courier8_149_bits},
-{5, 1, 1, courier8_150_bits},
-{5, 1, 1, courier8_151_bits},
-{5, 1, 1, courier8_152_bits},
-{5, 1, 1, courier8_153_bits},
-{5, 1, 1, courier8_154_bits},
-{5, 1, 1, courier8_155_bits},
-{5, 1, 1, courier8_156_bits},
-{5, 1, 1, courier8_157_bits},
-{5, 1, 1, courier8_158_bits},
-{5, 1, 1, courier8_159_bits},
-{5, 1, 1, courier8_160_bits},
-{1, 4, 3, courier8_161_bits},
-{4, 5, 5, courier8_162_bits},
-{3, 5, 5, courier8_163_bits},
-{4, 4, 4, courier8_164_bits},
-{5, 5, 5, courier8_165_bits},
-{1, 7, 5, courier8_166_bits},
-{3, 5, 4, courier8_167_bits},
-{2, 1, 5, courier8_168_bits},
-{5, 4, 4, courier8_169_bits},
-{3, 2, 4, courier8_170_bits},
-{3, 3, 3, courier8_171_bits},
-{3, 2, 3, courier8_172_bits},
-{2, 1, 3, courier8_173_bits},
-{5, 4, 4, courier8_174_bits},
-{3, 1, 5, courier8_175_bits},
-{3, 3, 5, courier8_176_bits},
-{3, 4, 4, courier8_177_bits},
-{3, 3, 5, courier8_178_bits},
-{3, 3, 5, courier8_179_bits},
-{2, 1, 5, courier8_180_bits},
-{4, 4, 3, courier8_181_bits},
-{3, 5, 4, courier8_182_bits},
-{1, 1, 3, courier8_183_bits},
-{1, 2, 1, courier8_184_bits},
-{2, 3, 5, courier8_185_bits},
-{3, 2, 4, courier8_186_bits},
-{3, 3, 3, courier8_187_bits},
-{5, 6, 5, courier8_188_bits},
-{5, 6, 5, courier8_189_bits},
-{5, 6, 5, courier8_190_bits},
-{3, 4, 3, courier8_191_bits},
-{5, 6, 6, courier8_192_bits},
-{5, 6, 6, courier8_193_bits},
-{5, 6, 6, courier8_194_bits},
-{5, 6, 6, courier8_195_bits},
-{5, 6, 6, courier8_196_bits},
-{5, 7, 7, courier8_197_bits},
-{5, 4, 4, courier8_198_bits},
-{5, 5, 4, courier8_199_bits},
-{5, 6, 6, courier8_200_bits},
-{5, 6, 6, courier8_201_bits},
-{5, 6, 6, courier8_202_bits},
-{5, 6, 6, courier8_203_bits},
-{3, 6, 6, courier8_204_bits},
-{3, 6, 6, courier8_205_bits},
-{3, 6, 6, courier8_206_bits},
-{3, 6, 6, courier8_207_bits},
-{5, 4, 4, courier8_208_bits},
-{5, 6, 6, courier8_209_bits},
-{5, 6, 6, courier8_210_bits},
-{5, 6, 6, courier8_211_bits},
-{5, 6, 6, courier8_212_bits},
-{5, 6, 6, courier8_213_bits},
-{5, 6, 6, courier8_214_bits},
-{3, 3, 4, courier8_215_bits},
-{5, 4, 4, courier8_216_bits},
-{5, 6, 6, courier8_217_bits},
-{5, 6, 6, courier8_218_bits},
-{5, 6, 6, courier8_219_bits},
-{5, 6, 6, courier8_220_bits},
-{5, 6, 6, courier8_221_bits},
-{4, 4, 4, courier8_222_bits},
-{3, 5, 5, courier8_223_bits},
-{5, 5, 5, courier8_224_bits},
-{5, 5, 5, courier8_225_bits},
-{5, 5, 5, courier8_226_bits},
-{5, 5, 5, courier8_227_bits},
-{5, 5, 5, courier8_228_bits},
-{5, 5, 5, courier8_229_bits},
-{5, 3, 3, courier8_230_bits},
-{5, 4, 3, courier8_231_bits},
-{5, 5, 5, courier8_232_bits},
-{5, 5, 5, courier8_233_bits},
-{5, 5, 5, courier8_234_bits},
-{5, 5, 5, courier8_235_bits},
-{3, 5, 5, courier8_236_bits},
-{3, 5, 5, courier8_237_bits},
-{3, 5, 5, courier8_238_bits},
-{3, 5, 5, courier8_239_bits},
-{5, 6, 6, courier8_240_bits},
-{5, 5, 5, courier8_241_bits},
-{5, 5, 5, courier8_242_bits},
-{5, 5, 5, courier8_243_bits},
-{5, 5, 5, courier8_244_bits},
-{5, 5, 5, courier8_245_bits},
-{5, 5, 5, courier8_246_bits},
-{1, 4, 4, courier8_247_bits},
-{5, 3, 3, courier8_248_bits},
-{4, 5, 5, courier8_249_bits},
-{4, 5, 5, courier8_250_bits},
-{4, 5, 5, courier8_251_bits},
-{4, 5, 5, courier8_252_bits},
-{4, 7, 5, courier8_253_bits},
-{5, 7, 5, courier8_254_bits},
-{4, 7, 5, courier8_255_bits}};
Index: /trunk/Ohana/src/libkapa/rotfont/fixfont.c
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/fixfont.c	(revision 38985)
+++ /trunk/Ohana/src/libkapa/rotfont/fixfont.c	(revision 38986)
@@ -1,4 +1,6 @@
 # include <stdio.h>
 # include <math.h>
+# include <stdlib.h>
+# include <string.h>
 # define TRUE 1
 # define FALSE 0
@@ -24,5 +26,9 @@
 
 typedef struct {
-  int dx, dy, ascent, Nb;
+  int dx;
+  int dy;
+  float dXps;
+  int ascent;
+  int Nb;
   unsigned char *bits;
   char name[64];
@@ -32,5 +38,5 @@
 int scan_line (FILE *f, char *line);
 
-main (int argc, char **argv) {
+int main (int argc, char **argv) {
 
   int BitMap, Nvalue, code;
@@ -43,12 +49,34 @@
   FILE *f;
 
-  if (argc != 3) {
-    fprintf (stderr, "USAGE: fixfont (file.bdf) (name)\n");
+  if (argc != 4) {
+    fprintf (stderr, "USAGE: fixfont (file.bdf) (file.psx) (name)\n");
     exit (0);
   }
 
-  f = fopen (argv[1], "r");
+  char *bdfname = argv[1];
+  char *psxname = argv[2];
+  char *fontname = argv[3];
+
+  // read in the PS sizes first
+  f = fopen (psxname, "r");
   if (f == (FILE *) NULL) {
-    fprintf (stderr, "failed to open file %s\n", argv[1]);
+    fprintf (stderr, "failed to open file %s\n", psxname);
+    exit (0);
+  }
+
+  while (scan_line (f, buffer) != EOF) {
+    int N;
+    float dXps;
+    int Nread = sscanf (buffer, "%d %f", &N, &dXps);
+    if (Nread != 2) continue;
+    if (N < 1) continue;
+    if (N > 255) continue;
+    font[N].dXps = dXps;
+  }
+  fclose (f);
+
+  f = fopen (bdfname, "r");
+  if (f == (FILE *) NULL) {
+    fprintf (stderr, "failed to open file %s\n", bdfname);
     exit (0);
   }
@@ -112,5 +140,5 @@
       strcpy (font[i].name, "blank");
     }
-    fprintf (stdout, "static unsigned char %s_%d_bits[] = {", argv[2], i);
+    fprintf (stdout, "static unsigned char %s_%d_bits[] = {", fontname, i);
     for (j = 0; j < font[i].Nb; j++) {
       if (!(j % 12)) fprintf (stdout, "\n");
@@ -121,13 +149,14 @@
   }
   
-  fprintf (stdout, "static RotFont %sfont[] = {\n", argv[2]);
+  fprintf (stdout, "static RotFont %sfont[] = {\n", fontname);
   for (i = 0; i < 255; i++) {
-    fprintf (stdout, "{%d, %d, %d, %s_%d_bits},\n", 
-	     font[i].dx, font[i].dy, font[i].ascent, argv[2], i);
-  }
-  fprintf (stdout, "{%d, %d, %d, %s_%d_bits}};\n", 
-	   font[i].dx, font[i].dy, font[i].ascent, argv[2], i);
+    fprintf (stdout, "{%3d, %3d, %5.2f, %3d, %s_%d_bits},\n", 
+	     font[i].dx, font[i].dy, font[i].dXps, font[i].ascent, fontname, i);
+  }
+  fprintf (stdout, "{%3d, %3d, %5.2f, %3d, %s_%d_bits}};\n", 
+	   font[i].dx, font[i].dy, font[i].dXps, font[i].ascent, fontname, i);
 
       
+  exit (0);
 }
 
@@ -178,3 +207,2 @@
 
 }
-
Index: /trunk/Ohana/src/libkapa/rotfont/fontdimen.sh
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/fontdimen.sh	(revision 38986)
+++ /trunk/Ohana/src/libkapa/rotfont/fontdimen.sh	(revision 38986)
@@ -0,0 +1,32 @@
+#!/bin/csh -f
+
+if ($#argv != 1) then
+  echo "USAGE: fontdimen.sh (fontN.bdf)"
+  exit 2
+endif
+
+set myFont = $1 
+set kpname = (times helvetica courier symbol)
+set psname = (Times-Roman Helvetica Courier Symbol)
+
+set i = 1
+while ($i <= $#kpname)
+  echo $myFont | grep $kpname[$i] >& /dev/null
+  if ($status) then
+    @ i++
+    continue
+  endif
+  set fontsize = `echo $myFont | sed "s/$kpname[$i]//" | sed "s/.bdf//"`
+  echo $kpname[$i] $psname[$i] $fontsize
+  cat fontsize.in.ps | sed "s/@FONTNAME@/$psname[$i]/" | sed "s/@FONTSIZE@/$fontsize/" > $kpname[$i].$fontsize.ps
+  if ($status) exit 1
+
+  ps2txt < $kpname[$i].$fontsize.ps | awk -F, '{printf "%3d %5.2f\n", $1, $2}{printf "%3d %5.2f\n", $3, $4}' > $kpname[$i].$fontsize.psx
+  if ($status) exit 1
+
+  (./fixfont $kpname[$i]$fontsize.bdf $kpname[$i].$fontsize.psx $kpname[$i]$fontsize > $kpname[$i]$fontsize.h) >& /dev/null
+  if ($status) exit 1
+
+  rm -f $kpname[$i].$fontsize.ps $kpname[$i].$fontsize.psx
+  exit 0
+end
Index: /trunk/Ohana/src/libkapa/rotfont/fontsize.sh
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/fontsize.sh	(revision 38986)
+++ /trunk/Ohana/src/libkapa/rotfont/fontsize.sh	(revision 38986)
@@ -0,0 +1,15 @@
+#!/bin/csh -f
+
+set kpname = (times helvetica courier symbol)
+set psname = (Times-Roman Helvetica Courier Symbol)
+
+set i = 1
+while ($i <= $#kpname)
+  foreach fontsize (8 12 14 18 24)
+    echo $kpname[$i] $psname[$i] $fontsize
+    cat fontsize.in.ps | sed "s/@FONTNAME@/$psname[$i]/" | sed "s/@FONTSIZE@/$fontsize/" > fontsize.ps
+    ps2txt < fontsize.ps | awk -F, '{printf "%3d %5.2f\n", $1, $2}{printf "%3d %5.2f\n", $3, $4}' > $kpname[$i].$fontsize.psx
+    ./fixfont $kpname[$i]$fontsize.bdf $kpname[$i].$fontsize.psx $kpname[$i]$fontsize > $kpname[$i]$fontsize.h
+  end
+  @ i++
+end
Index: unk/Ohana/src/libkapa/rotfont/helvetica12.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/helvetica12.h	(revision 38985)
+++ 	(revision )
@@ -1,783 +1,0 @@
-static unsigned char helvetica12_0_bits[] = {
-0x00};
-static unsigned char helvetica12_1_bits[] = {
-0x00};
-static unsigned char helvetica12_2_bits[] = {
-0x00};
-static unsigned char helvetica12_3_bits[] = {
-0x00};
-static unsigned char helvetica12_4_bits[] = {
-0x00};
-static unsigned char helvetica12_5_bits[] = {
-0x00};
-static unsigned char helvetica12_6_bits[] = {
-0x00};
-static unsigned char helvetica12_7_bits[] = {
-0x00};
-static unsigned char helvetica12_8_bits[] = {
-0x00};
-static unsigned char helvetica12_9_bits[] = {
-0x00};
-static unsigned char helvetica12_10_bits[] = {
-0x00};
-static unsigned char helvetica12_11_bits[] = {
-0x00};
-static unsigned char helvetica12_12_bits[] = {
-0x00};
-static unsigned char helvetica12_13_bits[] = {
-0x00};
-static unsigned char helvetica12_14_bits[] = {
-0x00};
-static unsigned char helvetica12_15_bits[] = {
-0x00};
-static unsigned char helvetica12_16_bits[] = {
-0x00};
-static unsigned char helvetica12_17_bits[] = {
-0x00};
-static unsigned char helvetica12_18_bits[] = {
-0x00};
-static unsigned char helvetica12_19_bits[] = {
-0x00};
-static unsigned char helvetica12_20_bits[] = {
-0x00};
-static unsigned char helvetica12_21_bits[] = {
-0x00};
-static unsigned char helvetica12_22_bits[] = {
-0x00};
-static unsigned char helvetica12_23_bits[] = {
-0x00};
-static unsigned char helvetica12_24_bits[] = {
-0x00};
-static unsigned char helvetica12_25_bits[] = {
-0x00};
-static unsigned char helvetica12_26_bits[] = {
-0x00};
-static unsigned char helvetica12_27_bits[] = {
-0x00};
-static unsigned char helvetica12_28_bits[] = {
-0x00};
-static unsigned char helvetica12_29_bits[] = {
-0x00};
-static unsigned char helvetica12_30_bits[] = {
-0x00};
-static unsigned char helvetica12_31_bits[] = {
-0x00};
-static unsigned char helvetica12_32_bits[] = {
-0x00};
-static unsigned char helvetica12_33_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01};
-static unsigned char helvetica12_34_bits[] = {
-0x05, 0x05, 0x05};
-static unsigned char helvetica12_35_bits[] = {
-0x14, 0x14, 0x3f, 0x14, 0x3f, 0x0a, 0x0a, 0x0a};
-static unsigned char helvetica12_36_bits[] = {
-0x04, 0x0e, 0x15, 0x05, 0x0e, 0x14, 0x15, 0x15, 0x0e, 0x04};
-static unsigned char helvetica12_37_bits[] = {
-0x46, 0x00, 0x29, 0x00, 0x29, 0x00, 0x16, 0x00, 0x10, 0x00, 0xc8, 0x00, 
-0x28, 0x01, 0x28, 0x01, 0xc4, 0x00};
-static unsigned char helvetica12_38_bits[] = {
-0x0c, 0x12, 0x12, 0x0c, 0x0a, 0x51, 0x21, 0x31, 0x4e};
-static unsigned char helvetica12_39_bits[] = {
-0x03, 0x02, 0x01};
-static unsigned char helvetica12_40_bits[] = {
-0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x04};
-static unsigned char helvetica12_41_bits[] = {
-0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01};
-static unsigned char helvetica12_42_bits[] = {
-0x05, 0x02, 0x05};
-static unsigned char helvetica12_43_bits[] = {
-0x04, 0x04, 0x1f, 0x04, 0x04};
-static unsigned char helvetica12_44_bits[] = {
-0x02, 0x02, 0x01};
-static unsigned char helvetica12_45_bits[] = {
-0x1f};
-static unsigned char helvetica12_46_bits[] = {
-0x01};
-static unsigned char helvetica12_47_bits[] = {
-0x08, 0x08, 0x04, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01};
-static unsigned char helvetica12_48_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica12_49_bits[] = {
-0x04, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04};
-static unsigned char helvetica12_50_bits[] = {
-0x0e, 0x11, 0x10, 0x08, 0x04, 0x02, 0x01, 0x01, 0x1f};
-static unsigned char helvetica12_51_bits[] = {
-0x0e, 0x11, 0x10, 0x0c, 0x10, 0x10, 0x11, 0x11, 0x0e};
-static unsigned char helvetica12_52_bits[] = {
-0x10, 0x18, 0x14, 0x14, 0x12, 0x11, 0x3f, 0x10, 0x10};
-static unsigned char helvetica12_53_bits[] = {
-0x1f, 0x01, 0x01, 0x0f, 0x10, 0x10, 0x11, 0x11, 0x0e};
-static unsigned char helvetica12_54_bits[] = {
-0x0e, 0x11, 0x01, 0x0d, 0x13, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica12_55_bits[] = {
-0x1f, 0x10, 0x08, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02};
-static unsigned char helvetica12_56_bits[] = {
-0x0e, 0x11, 0x11, 0x0e, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica12_57_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x1e, 0x10, 0x10, 0x11, 0x0e};
-static unsigned char helvetica12_58_bits[] = {
-0x01, 0x00, 0x00, 0x00, 0x00, 0x01};
-static unsigned char helvetica12_59_bits[] = {
-0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x01};
-static unsigned char helvetica12_60_bits[] = {
-0x30, 0x0c, 0x03, 0x0c, 0x30};
-static unsigned char helvetica12_61_bits[] = {
-0x1f, 0x00, 0x1f};
-static unsigned char helvetica12_62_bits[] = {
-0x03, 0x0c, 0x30, 0x0c, 0x03};
-static unsigned char helvetica12_63_bits[] = {
-0x0e, 0x11, 0x11, 0x08, 0x08, 0x04, 0x04, 0x00, 0x04};
-static unsigned char helvetica12_64_bits[] = {
-0xf8, 0x00, 0x06, 0x01, 0xb2, 0x02, 0x49, 0x02, 0x45, 0x02, 0x45, 0x02, 
-0x65, 0x01, 0xd9, 0x00, 0x02, 0x00, 0x7c, 0x00};
-static unsigned char helvetica12_65_bits[] = {
-0x08, 0x14, 0x14, 0x22, 0x22, 0x3e, 0x41, 0x41, 0x41};
-static unsigned char helvetica12_66_bits[] = {
-0x1f, 0x21, 0x21, 0x21, 0x1f, 0x21, 0x21, 0x21, 0x1f};
-static unsigned char helvetica12_67_bits[] = {
-0x3c, 0x42, 0x01, 0x01, 0x01, 0x01, 0x01, 0x42, 0x3c};
-static unsigned char helvetica12_68_bits[] = {
-0x1f, 0x21, 0x41, 0x41, 0x41, 0x41, 0x41, 0x21, 0x1f};
-static unsigned char helvetica12_69_bits[] = {
-0x3f, 0x01, 0x01, 0x01, 0x3f, 0x01, 0x01, 0x01, 0x3f};
-static unsigned char helvetica12_70_bits[] = {
-0x3f, 0x01, 0x01, 0x01, 0x1f, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica12_71_bits[] = {
-0x3c, 0x42, 0x01, 0x01, 0x71, 0x41, 0x41, 0x62, 0x5c};
-static unsigned char helvetica12_72_bits[] = {
-0x41, 0x41, 0x41, 0x41, 0x7f, 0x41, 0x41, 0x41, 0x41};
-static unsigned char helvetica12_73_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica12_74_bits[] = {
-0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x0e};
-static unsigned char helvetica12_75_bits[] = {
-0x21, 0x11, 0x09, 0x05, 0x07, 0x09, 0x11, 0x21, 0x41};
-static unsigned char helvetica12_76_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1f};
-static unsigned char helvetica12_77_bits[] = {
-0x01, 0x01, 0x83, 0x01, 0x83, 0x01, 0x45, 0x01, 0x45, 0x01, 0x29, 0x01, 
-0x29, 0x01, 0x11, 0x01, 0x11, 0x01};
-static unsigned char helvetica12_78_bits[] = {
-0x41, 0x43, 0x45, 0x45, 0x49, 0x51, 0x51, 0x61, 0x41};
-static unsigned char helvetica12_79_bits[] = {
-0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char helvetica12_80_bits[] = {
-0x1f, 0x21, 0x21, 0x21, 0x1f, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica12_81_bits[] = {
-0x3c, 0x42, 0x81, 0x81, 0x81, 0x91, 0xa1, 0x42, 0xbc};
-static unsigned char helvetica12_82_bits[] = {
-0x1f, 0x21, 0x21, 0x21, 0x1f, 0x11, 0x21, 0x21, 0x21};
-static unsigned char helvetica12_83_bits[] = {
-0x1e, 0x21, 0x01, 0x06, 0x18, 0x20, 0x21, 0x21, 0x1e};
-static unsigned char helvetica12_84_bits[] = {
-0x7f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08};
-static unsigned char helvetica12_85_bits[] = {
-0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x1e};
-static unsigned char helvetica12_86_bits[] = {
-0x41, 0x41, 0x22, 0x22, 0x22, 0x14, 0x14, 0x08, 0x08};
-static unsigned char helvetica12_87_bits[] = {
-0x11, 0x01, 0x11, 0x01, 0x11, 0x01, 0x92, 0x00, 0xaa, 0x00, 0xaa, 0x00, 
-0x44, 0x00, 0x44, 0x00, 0x44, 0x00};
-static unsigned char helvetica12_88_bits[] = {
-0x41, 0x22, 0x22, 0x14, 0x08, 0x14, 0x22, 0x22, 0x41};
-static unsigned char helvetica12_89_bits[] = {
-0x41, 0x41, 0x22, 0x22, 0x14, 0x08, 0x08, 0x08, 0x08};
-static unsigned char helvetica12_90_bits[] = {
-0x7f, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x7f};
-static unsigned char helvetica12_91_bits[] = {
-0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03};
-static unsigned char helvetica12_92_bits[] = {
-0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x08, 0x08};
-static unsigned char helvetica12_93_bits[] = {
-0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03};
-static unsigned char helvetica12_94_bits[] = {
-0x04, 0x0a, 0x11};
-static unsigned char helvetica12_95_bits[] = {
-0x7f};
-static unsigned char helvetica12_96_bits[] = {
-0x02, 0x01, 0x03};
-static unsigned char helvetica12_97_bits[] = {
-0x0e, 0x11, 0x10, 0x1e, 0x11, 0x11, 0x2e};
-static unsigned char helvetica12_98_bits[] = {
-0x01, 0x01, 0x0d, 0x13, 0x11, 0x11, 0x11, 0x13, 0x0d};
-static unsigned char helvetica12_99_bits[] = {
-0x0e, 0x11, 0x01, 0x01, 0x01, 0x11, 0x0e};
-static unsigned char helvetica12_100_bits[] = {
-0x10, 0x10, 0x16, 0x19, 0x11, 0x11, 0x11, 0x19, 0x16};
-static unsigned char helvetica12_101_bits[] = {
-0x0e, 0x11, 0x11, 0x1f, 0x01, 0x11, 0x0e};
-static unsigned char helvetica12_102_bits[] = {
-0x0c, 0x02, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica12_103_bits[] = {
-0x16, 0x19, 0x11, 0x11, 0x11, 0x19, 0x16, 0x10, 0x11, 0x0e};
-static unsigned char helvetica12_104_bits[] = {
-0x01, 0x01, 0x0d, 0x13, 0x11, 0x11, 0x11, 0x11, 0x11};
-static unsigned char helvetica12_105_bits[] = {
-0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica12_106_bits[] = {
-0x02, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01};
-static unsigned char helvetica12_107_bits[] = {
-0x01, 0x01, 0x09, 0x05, 0x03, 0x03, 0x05, 0x09, 0x11};
-static unsigned char helvetica12_108_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica12_109_bits[] = {
-0x25, 0x5b, 0x49, 0x49, 0x49, 0x49, 0x49};
-static unsigned char helvetica12_110_bits[] = {
-0x0d, 0x13, 0x11, 0x11, 0x11, 0x11, 0x11};
-static unsigned char helvetica12_111_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica12_112_bits[] = {
-0x0d, 0x13, 0x11, 0x11, 0x11, 0x13, 0x0d, 0x01, 0x01, 0x01};
-static unsigned char helvetica12_113_bits[] = {
-0x16, 0x19, 0x11, 0x11, 0x11, 0x19, 0x16, 0x10, 0x10, 0x10};
-static unsigned char helvetica12_114_bits[] = {
-0x05, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica12_115_bits[] = {
-0x06, 0x09, 0x01, 0x06, 0x08, 0x09, 0x06};
-static unsigned char helvetica12_116_bits[] = {
-0x02, 0x02, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06};
-static unsigned char helvetica12_117_bits[] = {
-0x11, 0x11, 0x11, 0x11, 0x11, 0x19, 0x16};
-static unsigned char helvetica12_118_bits[] = {
-0x11, 0x11, 0x11, 0x0a, 0x0a, 0x04, 0x04};
-static unsigned char helvetica12_119_bits[] = {
-0x11, 0x01, 0x11, 0x01, 0x92, 0x00, 0x92, 0x00, 0xaa, 0x00, 0x44, 0x00, 
-0x44, 0x00};
-static unsigned char helvetica12_120_bits[] = {
-0x21, 0x12, 0x0c, 0x0c, 0x12, 0x21, 0x21};
-static unsigned char helvetica12_121_bits[] = {
-0x11, 0x11, 0x11, 0x09, 0x0a, 0x0a, 0x04, 0x04, 0x02, 0x01};
-static unsigned char helvetica12_122_bits[] = {
-0x0f, 0x08, 0x04, 0x02, 0x02, 0x01, 0x0f};
-static unsigned char helvetica12_123_bits[] = {
-0x0c, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0c};
-static unsigned char helvetica12_124_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica12_125_bits[] = {
-0x03, 0x04, 0x04, 0x04, 0x04, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03};
-static unsigned char helvetica12_126_bits[] = {
-0x26, 0x19};
-static unsigned char helvetica12_127_bits[] = {
-0x00};
-static unsigned char helvetica12_128_bits[] = {
-0x00};
-static unsigned char helvetica12_129_bits[] = {
-0x00};
-static unsigned char helvetica12_130_bits[] = {
-0x00};
-static unsigned char helvetica12_131_bits[] = {
-0x00};
-static unsigned char helvetica12_132_bits[] = {
-0x00};
-static unsigned char helvetica12_133_bits[] = {
-0x00};
-static unsigned char helvetica12_134_bits[] = {
-0x00};
-static unsigned char helvetica12_135_bits[] = {
-0x00};
-static unsigned char helvetica12_136_bits[] = {
-0x00};
-static unsigned char helvetica12_137_bits[] = {
-0x00};
-static unsigned char helvetica12_138_bits[] = {
-0x00};
-static unsigned char helvetica12_139_bits[] = {
-0x00};
-static unsigned char helvetica12_140_bits[] = {
-0x00};
-static unsigned char helvetica12_141_bits[] = {
-0x00};
-static unsigned char helvetica12_142_bits[] = {
-0x00};
-static unsigned char helvetica12_143_bits[] = {
-0x00};
-static unsigned char helvetica12_144_bits[] = {
-0x00};
-static unsigned char helvetica12_145_bits[] = {
-0x00};
-static unsigned char helvetica12_146_bits[] = {
-0x00};
-static unsigned char helvetica12_147_bits[] = {
-0x00};
-static unsigned char helvetica12_148_bits[] = {
-0x00};
-static unsigned char helvetica12_149_bits[] = {
-0x00};
-static unsigned char helvetica12_150_bits[] = {
-0x00};
-static unsigned char helvetica12_151_bits[] = {
-0x00};
-static unsigned char helvetica12_152_bits[] = {
-0x00};
-static unsigned char helvetica12_153_bits[] = {
-0x00};
-static unsigned char helvetica12_154_bits[] = {
-0x00};
-static unsigned char helvetica12_155_bits[] = {
-0x00};
-static unsigned char helvetica12_156_bits[] = {
-0x00};
-static unsigned char helvetica12_157_bits[] = {
-0x00};
-static unsigned char helvetica12_158_bits[] = {
-0x00};
-static unsigned char helvetica12_159_bits[] = {
-0x00};
-static unsigned char helvetica12_160_bits[] = {
-0x00};
-static unsigned char helvetica12_161_bits[] = {
-0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica12_162_bits[] = {
-0x08, 0x0e, 0x15, 0x05, 0x05, 0x05, 0x13, 0x0e, 0x02};
-static unsigned char helvetica12_163_bits[] = {
-0x0c, 0x12, 0x02, 0x02, 0x0f, 0x04, 0x04, 0x12, 0x0d};
-static unsigned char helvetica12_164_bits[] = {
-0x21, 0x1e, 0x12, 0x12, 0x1e, 0x21};
-static unsigned char helvetica12_165_bits[] = {
-0x11, 0x11, 0x0a, 0x04, 0x1f, 0x04, 0x1f, 0x04, 0x04};
-static unsigned char helvetica12_166_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica12_167_bits[] = {
-0x0e, 0x11, 0x01, 0x06, 0x09, 0x11, 0x11, 0x12, 0x0c, 0x10, 0x11, 0x0e};
-static unsigned char helvetica12_168_bits[] = {
-0x05};
-static unsigned char helvetica12_169_bits[] = {
-0x7c, 0x00, 0x82, 0x00, 0x39, 0x01, 0x45, 0x01, 0x05, 0x01, 0x45, 0x01, 
-0x39, 0x01, 0x82, 0x00, 0x7c, 0x00};
-static unsigned char helvetica12_170_bits[] = {
-0x07, 0x04, 0x05, 0x00, 0x07};
-static unsigned char helvetica12_171_bits[] = {
-0x14, 0x0a, 0x05, 0x0a, 0x14};
-static unsigned char helvetica12_172_bits[] = {
-0x3f, 0x20, 0x20, 0x20};
-static unsigned char helvetica12_173_bits[] = {
-0x0f};
-static unsigned char helvetica12_174_bits[] = {
-0x7c, 0x00, 0x82, 0x00, 0x39, 0x01, 0x29, 0x01, 0x19, 0x01, 0x29, 0x01, 
-0x29, 0x01, 0x82, 0x00, 0x7c, 0x00};
-static unsigned char helvetica12_175_bits[] = {
-0x0f};
-static unsigned char helvetica12_176_bits[] = {
-0x06, 0x09, 0x09, 0x06};
-static unsigned char helvetica12_177_bits[] = {
-0x04, 0x04, 0x1f, 0x04, 0x04, 0x00, 0x1f};
-static unsigned char helvetica12_178_bits[] = {
-0x06, 0x09, 0x04, 0x02, 0x0f};
-static unsigned char helvetica12_179_bits[] = {
-0x07, 0x04, 0x02, 0x04, 0x03};
-static unsigned char helvetica12_180_bits[] = {
-0x02, 0x01};
-static unsigned char helvetica12_181_bits[] = {
-0x11, 0x11, 0x11, 0x11, 0x11, 0x19, 0x17, 0x01, 0x01, 0x01};
-static unsigned char helvetica12_182_bits[] = {
-0x3c, 0x16, 0x17, 0x17, 0x17, 0x16, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14};
-static unsigned char helvetica12_183_bits[] = {
-0x01};
-static unsigned char helvetica12_184_bits[] = {
-0x02, 0x04, 0x04, 0x03};
-static unsigned char helvetica12_185_bits[] = {
-0x02, 0x03, 0x02, 0x02, 0x02};
-static unsigned char helvetica12_186_bits[] = {
-0x07, 0x05, 0x07, 0x00, 0x07};
-static unsigned char helvetica12_187_bits[] = {
-0x05, 0x0a, 0x14, 0x0a, 0x05};
-static unsigned char helvetica12_188_bits[] = {
-0x82, 0x00, 0x43, 0x00, 0x22, 0x00, 0x22, 0x00, 0x92, 0x00, 0xc8, 0x00, 
-0xa8, 0x00, 0xe4, 0x01, 0x82, 0x00};
-static unsigned char helvetica12_189_bits[] = {
-0x82, 0x00, 0x43, 0x00, 0x22, 0x00, 0x12, 0x00, 0xd2, 0x00, 0x28, 0x01, 
-0x88, 0x00, 0x44, 0x00, 0xe2, 0x01};
-static unsigned char helvetica12_190_bits[] = {
-0x87, 0x00, 0x44, 0x00, 0x22, 0x00, 0x24, 0x00, 0x93, 0x00, 0xd0, 0x00, 
-0xa8, 0x00, 0xe8, 0x01, 0x84, 0x00};
-static unsigned char helvetica12_191_bits[] = {
-0x04, 0x00, 0x04, 0x04, 0x02, 0x02, 0x11, 0x11, 0x0e};
-static unsigned char helvetica12_192_bits[] = {
-0x04, 0x08, 0x00, 0x08, 0x08, 0x14, 0x22, 0x22, 0x3e, 0x41, 0x41, 0x41};
-static unsigned char helvetica12_193_bits[] = {
-0x10, 0x08, 0x00, 0x08, 0x08, 0x14, 0x22, 0x22, 0x3e, 0x41, 0x41, 0x41};
-static unsigned char helvetica12_194_bits[] = {
-0x08, 0x14, 0x00, 0x08, 0x08, 0x14, 0x22, 0x22, 0x3e, 0x41, 0x41, 0x41};
-static unsigned char helvetica12_195_bits[] = {
-0x28, 0x14, 0x00, 0x08, 0x08, 0x14, 0x22, 0x22, 0x3e, 0x41, 0x41, 0x41};
-static unsigned char helvetica12_196_bits[] = {
-0x14, 0x00, 0x08, 0x08, 0x14, 0x22, 0x22, 0x3e, 0x41, 0x41, 0x41};
-static unsigned char helvetica12_197_bits[] = {
-0x08, 0x14, 0x08, 0x08, 0x08, 0x14, 0x22, 0x22, 0x3e, 0x41, 0x41, 0x41};
-static unsigned char helvetica12_198_bits[] = {
-0xf8, 0x01, 0x14, 0x00, 0x14, 0x00, 0x12, 0x00, 0xf2, 0x01, 0x1e, 0x00, 
-0x11, 0x00, 0x11, 0x00, 0xf1, 0x01};
-static unsigned char helvetica12_199_bits[] = {
-0x3c, 0x42, 0x01, 0x01, 0x01, 0x01, 0x01, 0x42, 0x3c, 0x10, 0x10, 0x0c};
-static unsigned char helvetica12_200_bits[] = {
-0x04, 0x08, 0x00, 0x3f, 0x01, 0x01, 0x01, 0x3f, 0x01, 0x01, 0x01, 0x3f};
-static unsigned char helvetica12_201_bits[] = {
-0x10, 0x08, 0x00, 0x3f, 0x01, 0x01, 0x01, 0x3f, 0x01, 0x01, 0x01, 0x3f};
-static unsigned char helvetica12_202_bits[] = {
-0x08, 0x14, 0x00, 0x3f, 0x01, 0x01, 0x01, 0x3f, 0x01, 0x01, 0x01, 0x3f};
-static unsigned char helvetica12_203_bits[] = {
-0x14, 0x00, 0x3f, 0x01, 0x01, 0x01, 0x3f, 0x01, 0x01, 0x01, 0x3f};
-static unsigned char helvetica12_204_bits[] = {
-0x01, 0x02, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica12_205_bits[] = {
-0x02, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica12_206_bits[] = {
-0x02, 0x05, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica12_207_bits[] = {
-0x05, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica12_208_bits[] = {
-0x3e, 0x42, 0x82, 0x82, 0x8f, 0x82, 0x82, 0x42, 0x3e};
-static unsigned char helvetica12_209_bits[] = {
-0x28, 0x14, 0x00, 0x41, 0x43, 0x45, 0x45, 0x49, 0x51, 0x51, 0x61, 0x41};
-static unsigned char helvetica12_210_bits[] = {
-0x08, 0x10, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char helvetica12_211_bits[] = {
-0x20, 0x10, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char helvetica12_212_bits[] = {
-0x10, 0x28, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char helvetica12_213_bits[] = {
-0x28, 0x14, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char helvetica12_214_bits[] = {
-0x24, 0x00, 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char helvetica12_215_bits[] = {
-0x11, 0x0a, 0x04, 0x0a, 0x11};
-static unsigned char helvetica12_216_bits[] = {
-0x00, 0x02, 0x78, 0x01, 0x84, 0x00, 0x42, 0x01, 0x22, 0x01, 0x22, 0x01, 
-0x12, 0x01, 0x0a, 0x01, 0x84, 0x00, 0x7a, 0x00, 0x01, 0x00};
-static unsigned char helvetica12_217_bits[] = {
-0x04, 0x08, 0x00, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x1e};
-static unsigned char helvetica12_218_bits[] = {
-0x10, 0x08, 0x00, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x1e};
-static unsigned char helvetica12_219_bits[] = {
-0x08, 0x14, 0x00, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x1e};
-static unsigned char helvetica12_220_bits[] = {
-0x12, 0x00, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x1e};
-static unsigned char helvetica12_221_bits[] = {
-0x10, 0x08, 0x00, 0x41, 0x41, 0x22, 0x22, 0x14, 0x08, 0x08, 0x08, 0x08};
-static unsigned char helvetica12_222_bits[] = {
-0x01, 0x01, 0x1f, 0x21, 0x21, 0x21, 0x1f, 0x01, 0x01};
-static unsigned char helvetica12_223_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x0d, 0x11, 0x11, 0x11, 0x0d};
-static unsigned char helvetica12_224_bits[] = {
-0x04, 0x08, 0x00, 0x0e, 0x11, 0x10, 0x1e, 0x11, 0x11, 0x2e};
-static unsigned char helvetica12_225_bits[] = {
-0x08, 0x04, 0x00, 0x0e, 0x11, 0x10, 0x1e, 0x11, 0x11, 0x2e};
-static unsigned char helvetica12_226_bits[] = {
-0x04, 0x0a, 0x00, 0x0e, 0x11, 0x10, 0x1e, 0x11, 0x11, 0x2e};
-static unsigned char helvetica12_227_bits[] = {
-0x14, 0x0a, 0x00, 0x0e, 0x11, 0x10, 0x1e, 0x11, 0x11, 0x2e};
-static unsigned char helvetica12_228_bits[] = {
-0x0a, 0x00, 0x0e, 0x11, 0x10, 0x1e, 0x11, 0x11, 0x2e};
-static unsigned char helvetica12_229_bits[] = {
-0x0c, 0x12, 0x0c, 0x0e, 0x11, 0x10, 0x1e, 0x11, 0x11, 0x2e};
-static unsigned char helvetica12_230_bits[] = {
-0xee, 0x00, 0x11, 0x01, 0x10, 0x01, 0xfe, 0x01, 0x11, 0x00, 0x11, 0x01, 
-0xee, 0x00};
-static unsigned char helvetica12_231_bits[] = {
-0x0e, 0x11, 0x01, 0x01, 0x01, 0x11, 0x0e, 0x04, 0x08, 0x06};
-static unsigned char helvetica12_232_bits[] = {
-0x02, 0x04, 0x00, 0x0e, 0x11, 0x11, 0x1f, 0x01, 0x11, 0x0e};
-static unsigned char helvetica12_233_bits[] = {
-0x08, 0x04, 0x00, 0x0e, 0x11, 0x11, 0x1f, 0x01, 0x11, 0x0e};
-static unsigned char helvetica12_234_bits[] = {
-0x04, 0x0a, 0x00, 0x0e, 0x11, 0x11, 0x1f, 0x01, 0x11, 0x0e};
-static unsigned char helvetica12_235_bits[] = {
-0x0a, 0x00, 0x0e, 0x11, 0x11, 0x1f, 0x01, 0x11, 0x0e};
-static unsigned char helvetica12_236_bits[] = {
-0x01, 0x02, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica12_237_bits[] = {
-0x02, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica12_238_bits[] = {
-0x02, 0x05, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica12_239_bits[] = {
-0x05, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica12_240_bits[] = {
-0x16, 0x0c, 0x0a, 0x10, 0x1e, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica12_241_bits[] = {
-0x14, 0x0a, 0x00, 0x0d, 0x13, 0x11, 0x11, 0x11, 0x11, 0x11};
-static unsigned char helvetica12_242_bits[] = {
-0x02, 0x04, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica12_243_bits[] = {
-0x08, 0x04, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica12_244_bits[] = {
-0x04, 0x0a, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica12_245_bits[] = {
-0x14, 0x0a, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica12_246_bits[] = {
-0x0a, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica12_247_bits[] = {
-0x04, 0x00, 0x1f, 0x00, 0x04};
-static unsigned char helvetica12_248_bits[] = {
-0x5c, 0x22, 0x32, 0x2a, 0x26, 0x22, 0x1d};
-static unsigned char helvetica12_249_bits[] = {
-0x02, 0x04, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x19, 0x16};
-static unsigned char helvetica12_250_bits[] = {
-0x08, 0x04, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x19, 0x16};
-static unsigned char helvetica12_251_bits[] = {
-0x04, 0x0a, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x19, 0x16};
-static unsigned char helvetica12_252_bits[] = {
-0x0a, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x19, 0x16};
-static unsigned char helvetica12_253_bits[] = {
-0x08, 0x04, 0x00, 0x11, 0x11, 0x11, 0x09, 0x0a, 0x0a, 0x04, 0x04, 0x02, 
-0x01};
-static unsigned char helvetica12_254_bits[] = {
-0x01, 0x01, 0x0d, 0x13, 0x11, 0x11, 0x11, 0x13, 0x0d, 0x01, 0x01, 0x01};
-static unsigned char helvetica12_255_bits[] = {
-0x0a, 0x00, 0x11, 0x11, 0x12, 0x0a, 0x0a, 0x0c, 0x04, 0x04, 0x04, 0x03};
-static RotFont helvetica12font[] = {
-{5, 1, 1, helvetica12_0_bits},
-{5, 1, 1, helvetica12_1_bits},
-{5, 1, 1, helvetica12_2_bits},
-{5, 1, 1, helvetica12_3_bits},
-{5, 1, 1, helvetica12_4_bits},
-{5, 1, 1, helvetica12_5_bits},
-{5, 1, 1, helvetica12_6_bits},
-{5, 1, 1, helvetica12_7_bits},
-{5, 1, 1, helvetica12_8_bits},
-{5, 1, 1, helvetica12_9_bits},
-{5, 1, 1, helvetica12_10_bits},
-{5, 1, 1, helvetica12_11_bits},
-{5, 1, 1, helvetica12_12_bits},
-{5, 1, 1, helvetica12_13_bits},
-{5, 1, 1, helvetica12_14_bits},
-{5, 1, 1, helvetica12_15_bits},
-{5, 1, 1, helvetica12_16_bits},
-{5, 1, 1, helvetica12_17_bits},
-{5, 1, 1, helvetica12_18_bits},
-{5, 1, 1, helvetica12_19_bits},
-{5, 1, 1, helvetica12_20_bits},
-{5, 1, 1, helvetica12_21_bits},
-{5, 1, 1, helvetica12_22_bits},
-{5, 1, 1, helvetica12_23_bits},
-{5, 1, 1, helvetica12_24_bits},
-{5, 1, 1, helvetica12_25_bits},
-{5, 1, 1, helvetica12_26_bits},
-{5, 1, 1, helvetica12_27_bits},
-{5, 1, 1, helvetica12_28_bits},
-{5, 1, 1, helvetica12_29_bits},
-{5, 1, 1, helvetica12_30_bits},
-{5, 1, 1, helvetica12_31_bits},
-{6, 1, 1, helvetica12_32_bits},
-{1, 9, 9, helvetica12_33_bits},
-{3, 3, 9, helvetica12_34_bits},
-{6, 8, 8, helvetica12_35_bits},
-{5, 10, 9, helvetica12_36_bits},
-{9, 9, 9, helvetica12_37_bits},
-{7, 9, 9, helvetica12_38_bits},
-{2, 3, 9, helvetica12_39_bits},
-{3, 12, 9, helvetica12_40_bits},
-{3, 12, 9, helvetica12_41_bits},
-{3, 3, 9, helvetica12_42_bits},
-{5, 5, 6, helvetica12_43_bits},
-{2, 3, 1, helvetica12_44_bits},
-{5, 1, 4, helvetica12_45_bits},
-{1, 1, 1, helvetica12_46_bits},
-{4, 9, 9, helvetica12_47_bits},
-{5, 9, 9, helvetica12_48_bits},
-{3, 9, 9, helvetica12_49_bits},
-{5, 9, 9, helvetica12_50_bits},
-{5, 9, 9, helvetica12_51_bits},
-{6, 9, 9, helvetica12_52_bits},
-{5, 9, 9, helvetica12_53_bits},
-{5, 9, 9, helvetica12_54_bits},
-{5, 9, 9, helvetica12_55_bits},
-{5, 9, 9, helvetica12_56_bits},
-{5, 9, 9, helvetica12_57_bits},
-{1, 6, 6, helvetica12_58_bits},
-{2, 8, 6, helvetica12_59_bits},
-{6, 5, 6, helvetica12_60_bits},
-{5, 3, 5, helvetica12_61_bits},
-{6, 5, 6, helvetica12_62_bits},
-{5, 9, 9, helvetica12_63_bits},
-{10, 10, 9, helvetica12_64_bits},
-{7, 9, 9, helvetica12_65_bits},
-{6, 9, 9, helvetica12_66_bits},
-{7, 9, 9, helvetica12_67_bits},
-{7, 9, 9, helvetica12_68_bits},
-{6, 9, 9, helvetica12_69_bits},
-{6, 9, 9, helvetica12_70_bits},
-{7, 9, 9, helvetica12_71_bits},
-{7, 9, 9, helvetica12_72_bits},
-{1, 9, 9, helvetica12_73_bits},
-{5, 9, 9, helvetica12_74_bits},
-{7, 9, 9, helvetica12_75_bits},
-{5, 9, 9, helvetica12_76_bits},
-{9, 9, 9, helvetica12_77_bits},
-{7, 9, 9, helvetica12_78_bits},
-{8, 9, 9, helvetica12_79_bits},
-{6, 9, 9, helvetica12_80_bits},
-{8, 9, 9, helvetica12_81_bits},
-{6, 9, 9, helvetica12_82_bits},
-{6, 9, 9, helvetica12_83_bits},
-{7, 9, 9, helvetica12_84_bits},
-{6, 9, 9, helvetica12_85_bits},
-{7, 9, 9, helvetica12_86_bits},
-{9, 9, 9, helvetica12_87_bits},
-{7, 9, 9, helvetica12_88_bits},
-{7, 9, 9, helvetica12_89_bits},
-{7, 9, 9, helvetica12_90_bits},
-{2, 12, 9, helvetica12_91_bits},
-{4, 9, 9, helvetica12_92_bits},
-{2, 12, 9, helvetica12_93_bits},
-{5, 3, 8, helvetica12_94_bits},
-{7, 1, -1, helvetica12_95_bits},
-{2, 3, 9, helvetica12_96_bits},
-{6, 7, 7, helvetica12_97_bits},
-{5, 9, 9, helvetica12_98_bits},
-{5, 7, 7, helvetica12_99_bits},
-{5, 9, 9, helvetica12_100_bits},
-{5, 7, 7, helvetica12_101_bits},
-{4, 9, 9, helvetica12_102_bits},
-{5, 10, 7, helvetica12_103_bits},
-{5, 9, 9, helvetica12_104_bits},
-{1, 9, 9, helvetica12_105_bits},
-{2, 12, 9, helvetica12_106_bits},
-{5, 9, 9, helvetica12_107_bits},
-{1, 9, 9, helvetica12_108_bits},
-{7, 7, 7, helvetica12_109_bits},
-{5, 7, 7, helvetica12_110_bits},
-{5, 7, 7, helvetica12_111_bits},
-{5, 10, 7, helvetica12_112_bits},
-{5, 10, 7, helvetica12_113_bits},
-{3, 7, 7, helvetica12_114_bits},
-{4, 7, 7, helvetica12_115_bits},
-{3, 9, 9, helvetica12_116_bits},
-{5, 7, 7, helvetica12_117_bits},
-{5, 7, 7, helvetica12_118_bits},
-{9, 7, 7, helvetica12_119_bits},
-{6, 7, 7, helvetica12_120_bits},
-{5, 10, 7, helvetica12_121_bits},
-{4, 7, 7, helvetica12_122_bits},
-{4, 12, 9, helvetica12_123_bits},
-{1, 12, 9, helvetica12_124_bits},
-{4, 12, 9, helvetica12_125_bits},
-{6, 2, 5, helvetica12_126_bits},
-{5, 1, 1, helvetica12_127_bits},
-{5, 1, 1, helvetica12_128_bits},
-{5, 1, 1, helvetica12_129_bits},
-{5, 1, 1, helvetica12_130_bits},
-{5, 1, 1, helvetica12_131_bits},
-{5, 1, 1, helvetica12_132_bits},
-{5, 1, 1, helvetica12_133_bits},
-{5, 1, 1, helvetica12_134_bits},
-{5, 1, 1, helvetica12_135_bits},
-{5, 1, 1, helvetica12_136_bits},
-{5, 1, 1, helvetica12_137_bits},
-{5, 1, 1, helvetica12_138_bits},
-{5, 1, 1, helvetica12_139_bits},
-{5, 1, 1, helvetica12_140_bits},
-{5, 1, 1, helvetica12_141_bits},
-{5, 1, 1, helvetica12_142_bits},
-{5, 1, 1, helvetica12_143_bits},
-{5, 1, 1, helvetica12_144_bits},
-{5, 1, 1, helvetica12_145_bits},
-{5, 1, 1, helvetica12_146_bits},
-{5, 1, 1, helvetica12_147_bits},
-{5, 1, 1, helvetica12_148_bits},
-{5, 1, 1, helvetica12_149_bits},
-{5, 1, 1, helvetica12_150_bits},
-{5, 1, 1, helvetica12_151_bits},
-{5, 1, 1, helvetica12_152_bits},
-{5, 1, 1, helvetica12_153_bits},
-{5, 1, 1, helvetica12_154_bits},
-{5, 1, 1, helvetica12_155_bits},
-{5, 1, 1, helvetica12_156_bits},
-{5, 1, 1, helvetica12_157_bits},
-{5, 1, 1, helvetica12_158_bits},
-{5, 1, 1, helvetica12_159_bits},
-{1, 1, 1, helvetica12_160_bits},
-{1, 10, 7, helvetica12_161_bits},
-{5, 9, 8, helvetica12_162_bits},
-{5, 9, 9, helvetica12_163_bits},
-{6, 6, 7, helvetica12_164_bits},
-{5, 9, 9, helvetica12_165_bits},
-{1, 11, 9, helvetica12_166_bits},
-{5, 12, 9, helvetica12_167_bits},
-{3, 1, 9, helvetica12_168_bits},
-{9, 9, 9, helvetica12_169_bits},
-{3, 5, 9, helvetica12_170_bits},
-{5, 5, 6, helvetica12_171_bits},
-{6, 4, 6, helvetica12_172_bits},
-{4, 1, 4, helvetica12_173_bits},
-{9, 9, 9, helvetica12_174_bits},
-{4, 1, 9, helvetica12_175_bits},
-{4, 4, 8, helvetica12_176_bits},
-{5, 7, 7, helvetica12_177_bits},
-{4, 5, 8, helvetica12_178_bits},
-{3, 5, 8, helvetica12_179_bits},
-{2, 2, 10, helvetica12_180_bits},
-{5, 10, 7, helvetica12_181_bits},
-{6, 12, 9, helvetica12_182_bits},
-{1, 1, 4, helvetica12_183_bits},
-{3, 4, 1, helvetica12_184_bits},
-{2, 5, 8, helvetica12_185_bits},
-{3, 5, 9, helvetica12_186_bits},
-{5, 5, 6, helvetica12_187_bits},
-{9, 9, 9, helvetica12_188_bits},
-{9, 9, 9, helvetica12_189_bits},
-{9, 9, 9, helvetica12_190_bits},
-{5, 9, 6, helvetica12_191_bits},
-{7, 12, 12, helvetica12_192_bits},
-{7, 12, 12, helvetica12_193_bits},
-{7, 12, 12, helvetica12_194_bits},
-{7, 12, 12, helvetica12_195_bits},
-{7, 11, 11, helvetica12_196_bits},
-{7, 12, 12, helvetica12_197_bits},
-{9, 9, 9, helvetica12_198_bits},
-{7, 12, 9, helvetica12_199_bits},
-{6, 12, 12, helvetica12_200_bits},
-{6, 12, 12, helvetica12_201_bits},
-{6, 12, 12, helvetica12_202_bits},
-{6, 11, 11, helvetica12_203_bits},
-{2, 12, 12, helvetica12_204_bits},
-{2, 12, 12, helvetica12_205_bits},
-{3, 12, 12, helvetica12_206_bits},
-{3, 11, 11, helvetica12_207_bits},
-{8, 9, 9, helvetica12_208_bits},
-{7, 12, 12, helvetica12_209_bits},
-{8, 12, 12, helvetica12_210_bits},
-{8, 12, 12, helvetica12_211_bits},
-{8, 12, 12, helvetica12_212_bits},
-{8, 12, 12, helvetica12_213_bits},
-{8, 11, 11, helvetica12_214_bits},
-{5, 5, 6, helvetica12_215_bits},
-{10, 11, 10, helvetica12_216_bits},
-{6, 12, 12, helvetica12_217_bits},
-{6, 12, 12, helvetica12_218_bits},
-{6, 12, 12, helvetica12_219_bits},
-{6, 11, 11, helvetica12_220_bits},
-{7, 12, 12, helvetica12_221_bits},
-{6, 9, 9, helvetica12_222_bits},
-{5, 9, 9, helvetica12_223_bits},
-{6, 10, 10, helvetica12_224_bits},
-{6, 10, 10, helvetica12_225_bits},
-{6, 10, 10, helvetica12_226_bits},
-{6, 10, 10, helvetica12_227_bits},
-{6, 9, 9, helvetica12_228_bits},
-{6, 10, 10, helvetica12_229_bits},
-{9, 7, 7, helvetica12_230_bits},
-{5, 10, 7, helvetica12_231_bits},
-{5, 10, 10, helvetica12_232_bits},
-{5, 10, 10, helvetica12_233_bits},
-{5, 10, 10, helvetica12_234_bits},
-{5, 9, 9, helvetica12_235_bits},
-{2, 10, 10, helvetica12_236_bits},
-{2, 10, 10, helvetica12_237_bits},
-{3, 10, 10, helvetica12_238_bits},
-{3, 9, 9, helvetica12_239_bits},
-{5, 10, 10, helvetica12_240_bits},
-{5, 10, 10, helvetica12_241_bits},
-{5, 10, 10, helvetica12_242_bits},
-{5, 10, 10, helvetica12_243_bits},
-{5, 10, 10, helvetica12_244_bits},
-{5, 10, 10, helvetica12_245_bits},
-{5, 9, 9, helvetica12_246_bits},
-{5, 5, 6, helvetica12_247_bits},
-{7, 7, 7, helvetica12_248_bits},
-{5, 10, 10, helvetica12_249_bits},
-{5, 10, 10, helvetica12_250_bits},
-{5, 10, 10, helvetica12_251_bits},
-{5, 9, 9, helvetica12_252_bits},
-{5, 13, 10, helvetica12_253_bits},
-{5, 12, 9, helvetica12_254_bits},
-{5, 12, 9, helvetica12_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/helvetica14.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/helvetica14.h	(revision 38985)
+++ 	(revision )
@@ -1,845 +1,0 @@
-static unsigned char helvetica14_0_bits[] = {
-0x00};
-static unsigned char helvetica14_1_bits[] = {
-0x00};
-static unsigned char helvetica14_2_bits[] = {
-0x00};
-static unsigned char helvetica14_3_bits[] = {
-0x00};
-static unsigned char helvetica14_4_bits[] = {
-0x00};
-static unsigned char helvetica14_5_bits[] = {
-0x00};
-static unsigned char helvetica14_6_bits[] = {
-0x00};
-static unsigned char helvetica14_7_bits[] = {
-0x00};
-static unsigned char helvetica14_8_bits[] = {
-0x00};
-static unsigned char helvetica14_9_bits[] = {
-0x00};
-static unsigned char helvetica14_10_bits[] = {
-0x00};
-static unsigned char helvetica14_11_bits[] = {
-0x00};
-static unsigned char helvetica14_12_bits[] = {
-0x00};
-static unsigned char helvetica14_13_bits[] = {
-0x00};
-static unsigned char helvetica14_14_bits[] = {
-0x00};
-static unsigned char helvetica14_15_bits[] = {
-0x00};
-static unsigned char helvetica14_16_bits[] = {
-0x00};
-static unsigned char helvetica14_17_bits[] = {
-0x00};
-static unsigned char helvetica14_18_bits[] = {
-0x00};
-static unsigned char helvetica14_19_bits[] = {
-0x00};
-static unsigned char helvetica14_20_bits[] = {
-0x00};
-static unsigned char helvetica14_21_bits[] = {
-0x00};
-static unsigned char helvetica14_22_bits[] = {
-0x00};
-static unsigned char helvetica14_23_bits[] = {
-0x00};
-static unsigned char helvetica14_24_bits[] = {
-0x00};
-static unsigned char helvetica14_25_bits[] = {
-0x00};
-static unsigned char helvetica14_26_bits[] = {
-0x00};
-static unsigned char helvetica14_27_bits[] = {
-0x00};
-static unsigned char helvetica14_28_bits[] = {
-0x00};
-static unsigned char helvetica14_29_bits[] = {
-0x00};
-static unsigned char helvetica14_30_bits[] = {
-0x00};
-static unsigned char helvetica14_31_bits[] = {
-0x00};
-static unsigned char helvetica14_32_bits[] = {
-0x00};
-static unsigned char helvetica14_33_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01};
-static unsigned char helvetica14_34_bits[] = {
-0x05, 0x05, 0x05};
-static unsigned char helvetica14_35_bits[] = {
-0x28, 0x28, 0x28, 0x7e, 0x14, 0x14, 0x3f, 0x0a, 0x0a, 0x0a};
-static unsigned char helvetica14_36_bits[] = {
-0x08, 0x3e, 0x49, 0x49, 0x09, 0x0a, 0x1c, 0x28, 0x48, 0x49, 0x49, 0x3e, 
-0x08, 0x08};
-static unsigned char helvetica14_37_bits[] = {
-0x0e, 0x01, 0x91, 0x00, 0x91, 0x00, 0x4e, 0x00, 0x40, 0x00, 0x20, 0x00, 
-0x10, 0x00, 0x90, 0x03, 0x48, 0x04, 0x48, 0x04, 0x84, 0x03};
-static unsigned char helvetica14_38_bits[] = {
-0x0c, 0x12, 0x12, 0x0c, 0x04, 0x4a, 0x51, 0x21, 0x51, 0x8e};
-static unsigned char helvetica14_39_bits[] = {
-0x03, 0x02, 0x01};
-static unsigned char helvetica14_40_bits[] = {
-0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 
-0x02, 0x04};
-static unsigned char helvetica14_41_bits[] = {
-0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x02, 
-0x02, 0x01};
-static unsigned char helvetica14_42_bits[] = {
-0x04, 0x15, 0x0e, 0x15, 0x04};
-static unsigned char helvetica14_43_bits[] = {
-0x08, 0x08, 0x08, 0x7f, 0x08, 0x08, 0x08};
-static unsigned char helvetica14_44_bits[] = {
-0x02, 0x02, 0x02, 0x01};
-static unsigned char helvetica14_45_bits[] = {
-0x7f};
-static unsigned char helvetica14_46_bits[] = {
-0x01, 0x01};
-static unsigned char helvetica14_47_bits[] = {
-0x08, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_48_bits[] = {
-0x1e, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x1e};
-static unsigned char helvetica14_49_bits[] = {
-0x04, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04};
-static unsigned char helvetica14_50_bits[] = {
-0x1e, 0x21, 0x21, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x01, 0x3f};
-static unsigned char helvetica14_51_bits[] = {
-0x1e, 0x21, 0x21, 0x20, 0x20, 0x1c, 0x20, 0x20, 0x21, 0x21, 0x1e};
-static unsigned char helvetica14_52_bits[] = {
-0x20, 0x30, 0x28, 0x24, 0x22, 0x21, 0x21, 0x7f, 0x20, 0x20, 0x20};
-static unsigned char helvetica14_53_bits[] = {
-0x3f, 0x01, 0x01, 0x01, 0x1f, 0x20, 0x20, 0x20, 0x21, 0x21, 0x1e};
-static unsigned char helvetica14_54_bits[] = {
-0x1e, 0x21, 0x01, 0x01, 0x1d, 0x23, 0x21, 0x21, 0x21, 0x21, 0x1e};
-static unsigned char helvetica14_55_bits[] = {
-0x3f, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02, 0x02};
-static unsigned char helvetica14_56_bits[] = {
-0x1e, 0x21, 0x21, 0x21, 0x21, 0x1e, 0x21, 0x21, 0x21, 0x21, 0x1e};
-static unsigned char helvetica14_57_bits[] = {
-0x1e, 0x21, 0x21, 0x21, 0x21, 0x3e, 0x20, 0x20, 0x21, 0x21, 0x1e};
-static unsigned char helvetica14_58_bits[] = {
-0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01};
-static unsigned char helvetica14_59_bits[] = {
-0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x01};
-static unsigned char helvetica14_60_bits[] = {
-0x30, 0x0c, 0x03, 0x0c, 0x30};
-static unsigned char helvetica14_61_bits[] = {
-0x3f, 0x00, 0x3f};
-static unsigned char helvetica14_62_bits[] = {
-0x03, 0x0c, 0x30, 0x0c, 0x03};
-static unsigned char helvetica14_63_bits[] = {
-0x0c, 0x33, 0x21, 0x21, 0x20, 0x10, 0x08, 0x04, 0x00, 0x04, 0x04};
-static unsigned char helvetica14_64_bits[] = {
-0xf0, 0x00, 0x0c, 0x03, 0x02, 0x04, 0x62, 0x05, 0x91, 0x04, 0x89, 0x04, 
-0x89, 0x04, 0xc9, 0x02, 0xb1, 0x01, 0x02, 0x00, 0x06, 0x01, 0xf8, 0x00};
-static unsigned char helvetica14_65_bits[] = {
-0x10, 0x00, 0x38, 0x00, 0x28, 0x00, 0x28, 0x00, 0x44, 0x00, 0x44, 0x00, 
-0x82, 0x00, 0xfe, 0x00, 0x82, 0x00, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_66_bits[] = {
-0x3f, 0x61, 0x41, 0x41, 0x21, 0x1f, 0x21, 0x41, 0x41, 0x61, 0x3f};
-static unsigned char helvetica14_67_bits[] = {
-0x38, 0xc6, 0x82, 0x01, 0x01, 0x01, 0x01, 0x01, 0x82, 0xc6, 0x38};
-static unsigned char helvetica14_68_bits[] = {
-0x1f, 0x61, 0x41, 0x81, 0x81, 0x81, 0x81, 0x81, 0x41, 0x61, 0x1f};
-static unsigned char helvetica14_69_bits[] = {
-0x7f, 0x01, 0x01, 0x01, 0x01, 0x3f, 0x01, 0x01, 0x01, 0x01, 0x7f};
-static unsigned char helvetica14_70_bits[] = {
-0x7f, 0x01, 0x01, 0x01, 0x01, 0x3f, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_71_bits[] = {
-0x78, 0x00, 0x86, 0x01, 0x02, 0x01, 0x01, 0x00, 0x01, 0x00, 0xe1, 0x01, 
-0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0xc6, 0x01, 0x38, 0x01};
-static unsigned char helvetica14_72_bits[] = {
-0x81, 0x81, 0x81, 0x81, 0x81, 0xff, 0x81, 0x81, 0x81, 0x81, 0x81};
-static unsigned char helvetica14_73_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_74_bits[] = {
-0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x1e};
-static unsigned char helvetica14_75_bits[] = {
-0x41, 0x21, 0x11, 0x09, 0x05, 0x07, 0x09, 0x11, 0x21, 0x41, 0x81};
-static unsigned char helvetica14_76_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x3f};
-static unsigned char helvetica14_77_bits[] = {
-0x01, 0x04, 0x03, 0x06, 0x03, 0x06, 0x05, 0x05, 0x05, 0x05, 0x89, 0x04, 
-0x89, 0x04, 0x51, 0x04, 0x51, 0x04, 0x21, 0x04, 0x21, 0x04};
-static unsigned char helvetica14_78_bits[] = {
-0x83, 0x85, 0x85, 0x89, 0x89, 0x91, 0x91, 0xa1, 0xa1, 0xc1, 0xc1};
-static unsigned char helvetica14_79_bits[] = {
-0x38, 0x00, 0xc6, 0x00, 0x82, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01, 0x82, 0x00, 0xc6, 0x00, 0x38, 0x00};
-static unsigned char helvetica14_80_bits[] = {
-0x3f, 0x61, 0x41, 0x41, 0x61, 0x3f, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_81_bits[] = {
-0x38, 0x00, 0xc6, 0x00, 0x82, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x11, 0x01, 0x21, 0x01, 0xc2, 0x00, 0xc6, 0x00, 0x38, 0x01};
-static unsigned char helvetica14_82_bits[] = {
-0x7f, 0xc1, 0x81, 0x81, 0x41, 0x3f, 0x41, 0x81, 0x81, 0x81, 0x81};
-static unsigned char helvetica14_83_bits[] = {
-0x1c, 0x63, 0x41, 0x01, 0x06, 0x18, 0x60, 0x40, 0x41, 0x63, 0x1c};
-static unsigned char helvetica14_84_bits[] = {
-0xff, 0x01, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00};
-static unsigned char helvetica14_85_bits[] = {
-0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c};
-static unsigned char helvetica14_86_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x82, 0x00, 0x82, 0x00, 0xc6, 0x00, 0x44, 0x00, 
-0x44, 0x00, 0x28, 0x00, 0x28, 0x00, 0x10, 0x00, 0x10, 0x00};
-static unsigned char helvetica14_87_bits[] = {
-0x41, 0x10, 0x41, 0x10, 0xa1, 0x10, 0xa2, 0x08, 0xa2, 0x08, 0xa2, 0x08, 
-0x14, 0x05, 0x14, 0x05, 0x14, 0x05, 0x08, 0x02, 0x08, 0x02};
-static unsigned char helvetica14_88_bits[] = {
-0x01, 0x01, 0x82, 0x00, 0x44, 0x00, 0x28, 0x00, 0x10, 0x00, 0x10, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x82, 0x00, 0x82, 0x00, 0x01, 0x01};
-static unsigned char helvetica14_89_bits[] = {
-0x01, 0x01, 0x83, 0x01, 0x82, 0x00, 0x44, 0x00, 0x44, 0x00, 0x28, 0x00, 
-0x38, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00};
-static unsigned char helvetica14_90_bits[] = {
-0x7f, 0x40, 0x20, 0x10, 0x18, 0x08, 0x04, 0x06, 0x02, 0x01, 0x7f};
-static unsigned char helvetica14_91_bits[] = {
-0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x07};
-static unsigned char helvetica14_92_bits[] = {
-0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08};
-static unsigned char helvetica14_93_bits[] = {
-0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x07};
-static unsigned char helvetica14_94_bits[] = {
-0x04, 0x0a, 0x0a, 0x11, 0x11};
-static unsigned char helvetica14_95_bits[] = {
-0xff};
-static unsigned char helvetica14_96_bits[] = {
-0x02, 0x01, 0x03};
-static unsigned char helvetica14_97_bits[] = {
-0x1e, 0x33, 0x20, 0x3e, 0x23, 0x21, 0x33, 0x6e};
-static unsigned char helvetica14_98_bits[] = {
-0x01, 0x01, 0x01, 0x1d, 0x33, 0x21, 0x21, 0x21, 0x21, 0x33, 0x1d};
-static unsigned char helvetica14_99_bits[] = {
-0x1e, 0x33, 0x01, 0x01, 0x01, 0x21, 0x33, 0x1e};
-static unsigned char helvetica14_100_bits[] = {
-0x20, 0x20, 0x20, 0x2e, 0x33, 0x21, 0x21, 0x21, 0x21, 0x33, 0x2e};
-static unsigned char helvetica14_101_bits[] = {
-0x1e, 0x33, 0x21, 0x3f, 0x01, 0x01, 0x33, 0x1e};
-static unsigned char helvetica14_102_bits[] = {
-0x0c, 0x02, 0x02, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica14_103_bits[] = {
-0x2e, 0x33, 0x21, 0x21, 0x21, 0x21, 0x33, 0x2e, 0x20, 0x33, 0x1e};
-static unsigned char helvetica14_104_bits[] = {
-0x01, 0x01, 0x01, 0x1d, 0x33, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21};
-static unsigned char helvetica14_105_bits[] = {
-0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_106_bits[] = {
-0x04, 0x04, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x03};
-static unsigned char helvetica14_107_bits[] = {
-0x01, 0x01, 0x01, 0x11, 0x09, 0x05, 0x03, 0x05, 0x09, 0x11, 0x21};
-static unsigned char helvetica14_108_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_109_bits[] = {
-0xcd, 0x00, 0x33, 0x01, 0x11, 0x01, 0x11, 0x01, 0x11, 0x01, 0x11, 0x01, 
-0x11, 0x01, 0x11, 0x01};
-static unsigned char helvetica14_110_bits[] = {
-0x1d, 0x33, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21};
-static unsigned char helvetica14_111_bits[] = {
-0x1e, 0x33, 0x21, 0x21, 0x21, 0x21, 0x33, 0x1e};
-static unsigned char helvetica14_112_bits[] = {
-0x1d, 0x33, 0x21, 0x21, 0x21, 0x21, 0x33, 0x1d, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_113_bits[] = {
-0x2e, 0x33, 0x21, 0x21, 0x21, 0x21, 0x33, 0x2e, 0x20, 0x20, 0x20};
-static unsigned char helvetica14_114_bits[] = {
-0x0d, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_115_bits[] = {
-0x0e, 0x11, 0x03, 0x0e, 0x18, 0x10, 0x11, 0x0e};
-static unsigned char helvetica14_116_bits[] = {
-0x02, 0x02, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0c};
-static unsigned char helvetica14_117_bits[] = {
-0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x33, 0x2e};
-static unsigned char helvetica14_118_bits[] = {
-0x41, 0x41, 0x22, 0x22, 0x22, 0x14, 0x14, 0x08};
-static unsigned char helvetica14_119_bits[] = {
-0x11, 0x01, 0x11, 0x01, 0x11, 0x01, 0x92, 0x00, 0x92, 0x00, 0xaa, 0x00, 
-0x44, 0x00, 0x44, 0x00};
-static unsigned char helvetica14_120_bits[] = {
-0x63, 0x22, 0x14, 0x08, 0x08, 0x14, 0x22, 0x63};
-static unsigned char helvetica14_121_bits[] = {
-0x41, 0x43, 0x22, 0x22, 0x24, 0x14, 0x18, 0x08, 0x08, 0x0c, 0x06};
-static unsigned char helvetica14_122_bits[] = {
-0x3f, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x3f};
-static unsigned char helvetica14_123_bits[] = {
-0x18, 0x04, 0x04, 0x04, 0x04, 0x02, 0x01, 0x02, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x18};
-static unsigned char helvetica14_124_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01};
-static unsigned char helvetica14_125_bits[] = {
-0x03, 0x04, 0x04, 0x04, 0x04, 0x08, 0x10, 0x08, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x03};
-static unsigned char helvetica14_126_bits[] = {
-0x26, 0x2d, 0x19};
-static unsigned char helvetica14_127_bits[] = {
-0x00};
-static unsigned char helvetica14_128_bits[] = {
-0x00};
-static unsigned char helvetica14_129_bits[] = {
-0x00};
-static unsigned char helvetica14_130_bits[] = {
-0x00};
-static unsigned char helvetica14_131_bits[] = {
-0x00};
-static unsigned char helvetica14_132_bits[] = {
-0x00};
-static unsigned char helvetica14_133_bits[] = {
-0x00};
-static unsigned char helvetica14_134_bits[] = {
-0x00};
-static unsigned char helvetica14_135_bits[] = {
-0x00};
-static unsigned char helvetica14_136_bits[] = {
-0x00};
-static unsigned char helvetica14_137_bits[] = {
-0x00};
-static unsigned char helvetica14_138_bits[] = {
-0x00};
-static unsigned char helvetica14_139_bits[] = {
-0x00};
-static unsigned char helvetica14_140_bits[] = {
-0x00};
-static unsigned char helvetica14_141_bits[] = {
-0x00};
-static unsigned char helvetica14_142_bits[] = {
-0x00};
-static unsigned char helvetica14_143_bits[] = {
-0x00};
-static unsigned char helvetica14_144_bits[] = {
-0x00};
-static unsigned char helvetica14_145_bits[] = {
-0x00};
-static unsigned char helvetica14_146_bits[] = {
-0x00};
-static unsigned char helvetica14_147_bits[] = {
-0x00};
-static unsigned char helvetica14_148_bits[] = {
-0x00};
-static unsigned char helvetica14_149_bits[] = {
-0x00};
-static unsigned char helvetica14_150_bits[] = {
-0x00};
-static unsigned char helvetica14_151_bits[] = {
-0x00};
-static unsigned char helvetica14_152_bits[] = {
-0x00};
-static unsigned char helvetica14_153_bits[] = {
-0x00};
-static unsigned char helvetica14_154_bits[] = {
-0x00};
-static unsigned char helvetica14_155_bits[] = {
-0x00};
-static unsigned char helvetica14_156_bits[] = {
-0x00};
-static unsigned char helvetica14_157_bits[] = {
-0x00};
-static unsigned char helvetica14_158_bits[] = {
-0x00};
-static unsigned char helvetica14_159_bits[] = {
-0x00};
-static unsigned char helvetica14_160_bits[] = {
-0x00};
-static unsigned char helvetica14_161_bits[] = {
-0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_162_bits[] = {
-0x20, 0x1e, 0x33, 0x09, 0x09, 0x05, 0x25, 0x33, 0x1e, 0x01};
-static unsigned char helvetica14_163_bits[] = {
-0x1c, 0x22, 0x02, 0x02, 0x1f, 0x04, 0x04, 0x04, 0x02, 0x46, 0x3b};
-static unsigned char helvetica14_164_bits[] = {
-0x21, 0x1e, 0x12, 0x12, 0x1e, 0x21};
-static unsigned char helvetica14_165_bits[] = {
-0x41, 0x41, 0x41, 0x22, 0x22, 0x14, 0x7f, 0x08, 0x7f, 0x08, 0x08};
-static unsigned char helvetica14_166_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01};
-static unsigned char helvetica14_167_bits[] = {
-0x0e, 0x1b, 0x11, 0x03, 0x0e, 0x19, 0x11, 0x11, 0x13, 0x0e, 0x18, 0x11, 
-0x1b, 0x0e};
-static unsigned char helvetica14_168_bits[] = {
-0x1b};
-static unsigned char helvetica14_169_bits[] = {
-0x78, 0x00, 0x86, 0x01, 0x3a, 0x01, 0x45, 0x03, 0x45, 0x02, 0x05, 0x02, 
-0x45, 0x02, 0x39, 0x02, 0x02, 0x01, 0x86, 0x01, 0x78, 0x00};
-static unsigned char helvetica14_170_bits[] = {
-0x07, 0x08, 0x0e, 0x09, 0x0b, 0x00, 0x0f};
-static unsigned char helvetica14_171_bits[] = {
-0x24, 0x12, 0x09, 0x12, 0x24};
-static unsigned char helvetica14_172_bits[] = {
-0x7f, 0x40, 0x40, 0x40};
-static unsigned char helvetica14_173_bits[] = {
-0x07};
-static unsigned char helvetica14_174_bits[] = {
-0x78, 0x00, 0x86, 0x01, 0x3a, 0x01, 0x49, 0x02, 0x49, 0x02, 0x39, 0x02, 
-0x49, 0x02, 0x49, 0x02, 0x02, 0x01, 0x86, 0x01, 0x78, 0x00};
-static unsigned char helvetica14_175_bits[] = {
-0x0f};
-static unsigned char helvetica14_176_bits[] = {
-0x06, 0x09, 0x09, 0x06};
-static unsigned char helvetica14_177_bits[] = {
-0x08, 0x08, 0x08, 0x7f, 0x08, 0x08, 0x08, 0x00, 0x7f};
-static unsigned char helvetica14_178_bits[] = {
-0x06, 0x09, 0x08, 0x04, 0x02, 0x0f};
-static unsigned char helvetica14_179_bits[] = {
-0x06, 0x09, 0x04, 0x08, 0x09, 0x06};
-static unsigned char helvetica14_180_bits[] = {
-0x02, 0x01};
-static unsigned char helvetica14_181_bits[] = {
-0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x33, 0x2d, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_182_bits[] = {
-0x7c, 0x2e, 0x2f, 0x2f, 0x2f, 0x2e, 0x2c, 0x28, 0x28, 0x28, 0x28, 0x28, 
-0x28, 0x28};
-static unsigned char helvetica14_183_bits[] = {
-0x03};
-static unsigned char helvetica14_184_bits[] = {
-0x04, 0x09, 0x06};
-static unsigned char helvetica14_185_bits[] = {
-0x02, 0x03, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica14_186_bits[] = {
-0x06, 0x09, 0x09, 0x09, 0x06, 0x00, 0x0f};
-static unsigned char helvetica14_187_bits[] = {
-0x09, 0x12, 0x24, 0x12, 0x09};
-static unsigned char helvetica14_188_bits[] = {
-0x42, 0x00, 0x43, 0x00, 0x22, 0x00, 0x22, 0x00, 0x12, 0x00, 0x12, 0x01, 
-0x90, 0x01, 0x48, 0x01, 0x28, 0x01, 0xe4, 0x03, 0x04, 0x01};
-static unsigned char helvetica14_189_bits[] = {
-0x42, 0x00, 0x43, 0x00, 0x22, 0x00, 0x22, 0x00, 0x12, 0x00, 0xd2, 0x00, 
-0x28, 0x01, 0x08, 0x01, 0x88, 0x00, 0x44, 0x00, 0xe4, 0x01};
-static unsigned char helvetica14_190_bits[] = {
-0x86, 0x00, 0x89, 0x00, 0x44, 0x00, 0x48, 0x00, 0x29, 0x00, 0x26, 0x02, 
-0x20, 0x03, 0x90, 0x02, 0x50, 0x02, 0xc8, 0x07, 0x08, 0x02};
-static unsigned char helvetica14_191_bits[] = {
-0x08, 0x08, 0x00, 0x08, 0x04, 0x02, 0x01, 0x21, 0x21, 0x33, 0x0c};
-static unsigned char helvetica14_192_bits[] = {
-0x08, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x38, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x44, 0x00, 0x82, 0x00, 0xfe, 0x00, 0x82, 0x00, 
-0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_193_bits[] = {
-0x20, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x38, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x44, 0x00, 0x82, 0x00, 0xfe, 0x00, 0x82, 0x00, 
-0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_194_bits[] = {
-0x30, 0x00, 0x48, 0x00, 0x00, 0x00, 0x10, 0x00, 0x38, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x44, 0x00, 0x82, 0x00, 0xfe, 0x00, 0x82, 0x00, 
-0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_195_bits[] = {
-0x58, 0x00, 0x34, 0x00, 0x00, 0x00, 0x10, 0x00, 0x38, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x44, 0x00, 0x82, 0x00, 0xfe, 0x00, 0x82, 0x00, 
-0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_196_bits[] = {
-0x6c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x38, 0x00, 0x28, 0x00, 0x28, 0x00, 
-0x44, 0x00, 0x44, 0x00, 0x82, 0x00, 0xfe, 0x00, 0x82, 0x00, 0x01, 0x01, 
-0x01, 0x01};
-static unsigned char helvetica14_197_bits[] = {
-0x30, 0x00, 0x48, 0x00, 0x48, 0x00, 0x30, 0x00, 0x30, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x44, 0x00, 0x82, 0x00, 0xfe, 0x00, 0x82, 0x00, 
-0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_198_bits[] = {
-0xf8, 0x0f, 0x48, 0x00, 0x48, 0x00, 0x44, 0x00, 0x44, 0x00, 0xc4, 0x0f, 
-0x7e, 0x00, 0x42, 0x00, 0x42, 0x00, 0x41, 0x00, 0xc1, 0x0f};
-static unsigned char helvetica14_199_bits[] = {
-0x38, 0xc6, 0x82, 0x01, 0x01, 0x01, 0x01, 0x01, 0x82, 0xc6, 0x38, 0x10, 
-0x24, 0x18};
-static unsigned char helvetica14_200_bits[] = {
-0x04, 0x08, 0x00, 0x7f, 0x01, 0x01, 0x01, 0x01, 0x3f, 0x01, 0x01, 0x01, 
-0x01, 0x7f};
-static unsigned char helvetica14_201_bits[] = {
-0x10, 0x08, 0x00, 0x7f, 0x01, 0x01, 0x01, 0x01, 0x3f, 0x01, 0x01, 0x01, 
-0x01, 0x7f};
-static unsigned char helvetica14_202_bits[] = {
-0x18, 0x24, 0x00, 0x7f, 0x01, 0x01, 0x01, 0x01, 0x3f, 0x01, 0x01, 0x01, 
-0x01, 0x7f};
-static unsigned char helvetica14_203_bits[] = {
-0x36, 0x00, 0x7f, 0x01, 0x01, 0x01, 0x01, 0x3f, 0x01, 0x01, 0x01, 0x01, 
-0x7f};
-static unsigned char helvetica14_204_bits[] = {
-0x01, 0x02, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 
-0x02, 0x02};
-static unsigned char helvetica14_205_bits[] = {
-0x02, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01};
-static unsigned char helvetica14_206_bits[] = {
-0x06, 0x09, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 
-0x02, 0x02};
-static unsigned char helvetica14_207_bits[] = {
-0x1b, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04};
-static unsigned char helvetica14_208_bits[] = {
-0x3e, 0x00, 0xc2, 0x00, 0x82, 0x00, 0x02, 0x01, 0x02, 0x01, 0x0f, 0x01, 
-0x02, 0x01, 0x02, 0x01, 0x82, 0x00, 0xc2, 0x00, 0x3e, 0x00};
-static unsigned char helvetica14_209_bits[] = {
-0x58, 0x34, 0x00, 0x83, 0x85, 0x85, 0x89, 0x89, 0x91, 0x91, 0xa1, 0xa1, 
-0xc1, 0xc1};
-static unsigned char helvetica14_210_bits[] = {
-0x08, 0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0xc6, 0x00, 0x82, 0x00, 
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x82, 0x00, 
-0xc6, 0x00, 0x38, 0x00};
-static unsigned char helvetica14_211_bits[] = {
-0x20, 0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0xc6, 0x00, 0x82, 0x00, 
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x82, 0x00, 
-0xc6, 0x00, 0x38, 0x00};
-static unsigned char helvetica14_212_bits[] = {
-0x30, 0x00, 0x48, 0x00, 0x00, 0x00, 0x38, 0x00, 0xc6, 0x00, 0x82, 0x00, 
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x82, 0x00, 
-0xc6, 0x00, 0x38, 0x00};
-static unsigned char helvetica14_213_bits[] = {
-0x58, 0x00, 0x34, 0x00, 0x00, 0x00, 0x38, 0x00, 0xc6, 0x00, 0x82, 0x00, 
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x82, 0x00, 
-0xc6, 0x00, 0x38, 0x00};
-static unsigned char helvetica14_214_bits[] = {
-0xcc, 0x00, 0x00, 0x00, 0x38, 0x00, 0xc6, 0x00, 0x82, 0x00, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x82, 0x00, 0xc6, 0x00, 
-0x38, 0x00};
-static unsigned char helvetica14_215_bits[] = {
-0x41, 0x22, 0x14, 0x08, 0x14, 0x22, 0x41};
-static unsigned char helvetica14_216_bits[] = {
-0x70, 0x04, 0x8c, 0x03, 0x04, 0x01, 0x82, 0x02, 0x42, 0x02, 0x22, 0x02, 
-0x12, 0x02, 0x0a, 0x02, 0x04, 0x01, 0x8e, 0x01, 0x71, 0x00};
-static unsigned char helvetica14_217_bits[] = {
-0x08, 0x10, 0x00, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-0x42, 0x3c};
-static unsigned char helvetica14_218_bits[] = {
-0x20, 0x10, 0x00, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-0x42, 0x3c};
-static unsigned char helvetica14_219_bits[] = {
-0x18, 0x24, 0x00, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 
-0x42, 0x3c};
-static unsigned char helvetica14_220_bits[] = {
-0x66, 0x00, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 
-0x3c};
-static unsigned char helvetica14_221_bits[] = {
-0x20, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x01, 0x83, 0x01, 0x82, 0x00, 
-0x44, 0x00, 0x44, 0x00, 0x28, 0x00, 0x38, 0x00, 0x10, 0x00, 0x10, 0x00, 
-0x10, 0x00, 0x10, 0x00};
-static unsigned char helvetica14_222_bits[] = {
-0x01, 0x01, 0x3f, 0x61, 0x41, 0x41, 0x61, 0x3f, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_223_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x0d, 0x09, 0x11, 0x11, 0x11, 0x11, 0x0d};
-static unsigned char helvetica14_224_bits[] = {
-0x04, 0x08, 0x00, 0x1e, 0x33, 0x20, 0x3e, 0x23, 0x21, 0x33, 0x6e};
-static unsigned char helvetica14_225_bits[] = {
-0x08, 0x04, 0x00, 0x1e, 0x33, 0x20, 0x3e, 0x23, 0x21, 0x33, 0x6e};
-static unsigned char helvetica14_226_bits[] = {
-0x0c, 0x12, 0x00, 0x1e, 0x33, 0x20, 0x3e, 0x23, 0x21, 0x33, 0x6e};
-static unsigned char helvetica14_227_bits[] = {
-0x2c, 0x1a, 0x00, 0x1e, 0x33, 0x20, 0x3e, 0x23, 0x21, 0x33, 0x6e};
-static unsigned char helvetica14_228_bits[] = {
-0x12, 0x12, 0x00, 0x1e, 0x33, 0x20, 0x3e, 0x23, 0x21, 0x33, 0x6e};
-static unsigned char helvetica14_229_bits[] = {
-0x0c, 0x12, 0x0c, 0x00, 0x1e, 0x33, 0x20, 0x3e, 0x23, 0x21, 0x33, 0x6e};
-static unsigned char helvetica14_230_bits[] = {
-0xde, 0x03, 0x63, 0x06, 0x20, 0x04, 0xfe, 0x07, 0x23, 0x00, 0x21, 0x00, 
-0x73, 0x06, 0xde, 0x03};
-static unsigned char helvetica14_231_bits[] = {
-0x1e, 0x33, 0x01, 0x01, 0x01, 0x21, 0x33, 0x1e, 0x08, 0x12, 0x0c};
-static unsigned char helvetica14_232_bits[] = {
-0x04, 0x08, 0x00, 0x1e, 0x33, 0x21, 0x3f, 0x01, 0x01, 0x33, 0x1e};
-static unsigned char helvetica14_233_bits[] = {
-0x08, 0x04, 0x00, 0x1e, 0x33, 0x21, 0x3f, 0x01, 0x01, 0x33, 0x1e};
-static unsigned char helvetica14_234_bits[] = {
-0x0c, 0x12, 0x00, 0x1e, 0x33, 0x21, 0x3f, 0x01, 0x01, 0x33, 0x1e};
-static unsigned char helvetica14_235_bits[] = {
-0x12, 0x12, 0x00, 0x1e, 0x33, 0x21, 0x3f, 0x01, 0x01, 0x33, 0x1e};
-static unsigned char helvetica14_236_bits[] = {
-0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_237_bits[] = {
-0x02, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica14_238_bits[] = {
-0x06, 0x09, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica14_239_bits[] = {
-0x05, 0x05, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica14_240_bits[] = {
-0x1b, 0x0e, 0x09, 0x1e, 0x33, 0x21, 0x21, 0x21, 0x21, 0x33, 0x1e};
-static unsigned char helvetica14_241_bits[] = {
-0x16, 0x0d, 0x00, 0x1d, 0x33, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21};
-static unsigned char helvetica14_242_bits[] = {
-0x04, 0x08, 0x00, 0x1e, 0x33, 0x21, 0x21, 0x21, 0x21, 0x33, 0x1e};
-static unsigned char helvetica14_243_bits[] = {
-0x08, 0x04, 0x00, 0x1e, 0x33, 0x21, 0x21, 0x21, 0x21, 0x33, 0x1e};
-static unsigned char helvetica14_244_bits[] = {
-0x0c, 0x12, 0x00, 0x1e, 0x33, 0x21, 0x21, 0x21, 0x21, 0x33, 0x1e};
-static unsigned char helvetica14_245_bits[] = {
-0x16, 0x0d, 0x00, 0x1e, 0x33, 0x21, 0x21, 0x21, 0x21, 0x33, 0x1e};
-static unsigned char helvetica14_246_bits[] = {
-0x12, 0x12, 0x00, 0x1e, 0x33, 0x21, 0x21, 0x21, 0x21, 0x33, 0x1e};
-static unsigned char helvetica14_247_bits[] = {
-0x08, 0x08, 0x00, 0x7f, 0x00, 0x08, 0x08};
-static unsigned char helvetica14_248_bits[] = {
-0xbc, 0x46, 0x62, 0x52, 0x4a, 0x46, 0x62, 0x3d};
-static unsigned char helvetica14_249_bits[] = {
-0x04, 0x08, 0x00, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x33, 0x2e};
-static unsigned char helvetica14_250_bits[] = {
-0x08, 0x04, 0x00, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x33, 0x2e};
-static unsigned char helvetica14_251_bits[] = {
-0x0c, 0x12, 0x00, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x33, 0x2e};
-static unsigned char helvetica14_252_bits[] = {
-0x12, 0x12, 0x00, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x33, 0x2e};
-static unsigned char helvetica14_253_bits[] = {
-0x10, 0x08, 0x00, 0x41, 0x43, 0x22, 0x22, 0x24, 0x14, 0x18, 0x08, 0x08, 
-0x0c, 0x06};
-static unsigned char helvetica14_254_bits[] = {
-0x01, 0x01, 0x01, 0x1d, 0x33, 0x21, 0x21, 0x21, 0x21, 0x33, 0x1d, 0x01, 
-0x01, 0x01};
-static unsigned char helvetica14_255_bits[] = {
-0x24, 0x24, 0x00, 0x41, 0x43, 0x22, 0x22, 0x24, 0x14, 0x18, 0x08, 0x08, 
-0x0c, 0x06};
-static RotFont helvetica14font[] = {
-{5, 1, 1, helvetica14_0_bits},
-{5, 1, 1, helvetica14_1_bits},
-{5, 1, 1, helvetica14_2_bits},
-{5, 1, 1, helvetica14_3_bits},
-{5, 1, 1, helvetica14_4_bits},
-{5, 1, 1, helvetica14_5_bits},
-{5, 1, 1, helvetica14_6_bits},
-{5, 1, 1, helvetica14_7_bits},
-{5, 1, 1, helvetica14_8_bits},
-{5, 1, 1, helvetica14_9_bits},
-{5, 1, 1, helvetica14_10_bits},
-{5, 1, 1, helvetica14_11_bits},
-{5, 1, 1, helvetica14_12_bits},
-{5, 1, 1, helvetica14_13_bits},
-{5, 1, 1, helvetica14_14_bits},
-{5, 1, 1, helvetica14_15_bits},
-{5, 1, 1, helvetica14_16_bits},
-{5, 1, 1, helvetica14_17_bits},
-{5, 1, 1, helvetica14_18_bits},
-{5, 1, 1, helvetica14_19_bits},
-{5, 1, 1, helvetica14_20_bits},
-{5, 1, 1, helvetica14_21_bits},
-{5, 1, 1, helvetica14_22_bits},
-{5, 1, 1, helvetica14_23_bits},
-{5, 1, 1, helvetica14_24_bits},
-{5, 1, 1, helvetica14_25_bits},
-{5, 1, 1, helvetica14_26_bits},
-{5, 1, 1, helvetica14_27_bits},
-{5, 1, 1, helvetica14_28_bits},
-{5, 1, 1, helvetica14_29_bits},
-{5, 1, 1, helvetica14_30_bits},
-{5, 1, 1, helvetica14_31_bits},
-{7, 1, 1, helvetica14_32_bits},
-{1, 11, 11, helvetica14_33_bits},
-{3, 3, 11, helvetica14_34_bits},
-{7, 10, 10, helvetica14_35_bits},
-{7, 14, 12, helvetica14_36_bits},
-{11, 11, 11, helvetica14_37_bits},
-{8, 10, 10, helvetica14_38_bits},
-{2, 3, 11, helvetica14_39_bits},
-{3, 14, 11, helvetica14_40_bits},
-{3, 14, 11, helvetica14_41_bits},
-{5, 5, 11, helvetica14_42_bits},
-{7, 7, 8, helvetica14_43_bits},
-{2, 4, 2, helvetica14_44_bits},
-{7, 1, 5, helvetica14_45_bits},
-{1, 2, 2, helvetica14_46_bits},
-{4, 11, 11, helvetica14_47_bits},
-{6, 11, 11, helvetica14_48_bits},
-{3, 11, 11, helvetica14_49_bits},
-{6, 11, 11, helvetica14_50_bits},
-{6, 11, 11, helvetica14_51_bits},
-{7, 11, 11, helvetica14_52_bits},
-{6, 11, 11, helvetica14_53_bits},
-{6, 11, 11, helvetica14_54_bits},
-{6, 11, 11, helvetica14_55_bits},
-{6, 11, 11, helvetica14_56_bits},
-{6, 11, 11, helvetica14_57_bits},
-{1, 8, 8, helvetica14_58_bits},
-{2, 10, 8, helvetica14_59_bits},
-{6, 5, 7, helvetica14_60_bits},
-{6, 3, 6, helvetica14_61_bits},
-{6, 5, 7, helvetica14_62_bits},
-{6, 11, 11, helvetica14_63_bits},
-{11, 12, 11, helvetica14_64_bits},
-{9, 11, 11, helvetica14_65_bits},
-{7, 11, 11, helvetica14_66_bits},
-{8, 11, 11, helvetica14_67_bits},
-{8, 11, 11, helvetica14_68_bits},
-{7, 11, 11, helvetica14_69_bits},
-{7, 11, 11, helvetica14_70_bits},
-{9, 11, 11, helvetica14_71_bits},
-{8, 11, 11, helvetica14_72_bits},
-{1, 11, 11, helvetica14_73_bits},
-{6, 11, 11, helvetica14_74_bits},
-{8, 11, 11, helvetica14_75_bits},
-{6, 11, 11, helvetica14_76_bits},
-{11, 11, 11, helvetica14_77_bits},
-{8, 11, 11, helvetica14_78_bits},
-{9, 11, 11, helvetica14_79_bits},
-{7, 11, 11, helvetica14_80_bits},
-{9, 11, 11, helvetica14_81_bits},
-{8, 11, 11, helvetica14_82_bits},
-{7, 11, 11, helvetica14_83_bits},
-{9, 11, 11, helvetica14_84_bits},
-{8, 11, 11, helvetica14_85_bits},
-{9, 11, 11, helvetica14_86_bits},
-{13, 11, 11, helvetica14_87_bits},
-{9, 11, 11, helvetica14_88_bits},
-{9, 11, 11, helvetica14_89_bits},
-{7, 11, 11, helvetica14_90_bits},
-{3, 14, 11, helvetica14_91_bits},
-{4, 11, 11, helvetica14_92_bits},
-{3, 14, 11, helvetica14_93_bits},
-{5, 5, 11, helvetica14_94_bits},
-{8, 1, -2, helvetica14_95_bits},
-{2, 3, 11, helvetica14_96_bits},
-{7, 8, 8, helvetica14_97_bits},
-{6, 11, 11, helvetica14_98_bits},
-{6, 8, 8, helvetica14_99_bits},
-{6, 11, 11, helvetica14_100_bits},
-{6, 8, 8, helvetica14_101_bits},
-{4, 11, 11, helvetica14_102_bits},
-{6, 11, 8, helvetica14_103_bits},
-{6, 11, 11, helvetica14_104_bits},
-{1, 11, 11, helvetica14_105_bits},
-{3, 14, 11, helvetica14_106_bits},
-{6, 11, 11, helvetica14_107_bits},
-{1, 11, 11, helvetica14_108_bits},
-{9, 8, 8, helvetica14_109_bits},
-{6, 8, 8, helvetica14_110_bits},
-{6, 8, 8, helvetica14_111_bits},
-{6, 11, 8, helvetica14_112_bits},
-{6, 11, 8, helvetica14_113_bits},
-{4, 8, 8, helvetica14_114_bits},
-{5, 8, 8, helvetica14_115_bits},
-{4, 10, 10, helvetica14_116_bits},
-{6, 8, 8, helvetica14_117_bits},
-{7, 8, 8, helvetica14_118_bits},
-{9, 8, 8, helvetica14_119_bits},
-{7, 8, 8, helvetica14_120_bits},
-{7, 11, 8, helvetica14_121_bits},
-{6, 8, 8, helvetica14_122_bits},
-{5, 14, 11, helvetica14_123_bits},
-{1, 14, 11, helvetica14_124_bits},
-{5, 14, 11, helvetica14_125_bits},
-{6, 3, 6, helvetica14_126_bits},
-{5, 1, 1, helvetica14_127_bits},
-{5, 1, 1, helvetica14_128_bits},
-{5, 1, 1, helvetica14_129_bits},
-{5, 1, 1, helvetica14_130_bits},
-{5, 1, 1, helvetica14_131_bits},
-{5, 1, 1, helvetica14_132_bits},
-{5, 1, 1, helvetica14_133_bits},
-{5, 1, 1, helvetica14_134_bits},
-{5, 1, 1, helvetica14_135_bits},
-{5, 1, 1, helvetica14_136_bits},
-{5, 1, 1, helvetica14_137_bits},
-{5, 1, 1, helvetica14_138_bits},
-{5, 1, 1, helvetica14_139_bits},
-{5, 1, 1, helvetica14_140_bits},
-{5, 1, 1, helvetica14_141_bits},
-{5, 1, 1, helvetica14_142_bits},
-{5, 1, 1, helvetica14_143_bits},
-{5, 1, 1, helvetica14_144_bits},
-{5, 1, 1, helvetica14_145_bits},
-{5, 1, 1, helvetica14_146_bits},
-{5, 1, 1, helvetica14_147_bits},
-{5, 1, 1, helvetica14_148_bits},
-{5, 1, 1, helvetica14_149_bits},
-{5, 1, 1, helvetica14_150_bits},
-{5, 1, 1, helvetica14_151_bits},
-{5, 1, 1, helvetica14_152_bits},
-{5, 1, 1, helvetica14_153_bits},
-{5, 1, 1, helvetica14_154_bits},
-{5, 1, 1, helvetica14_155_bits},
-{5, 1, 1, helvetica14_156_bits},
-{5, 1, 1, helvetica14_157_bits},
-{5, 1, 1, helvetica14_158_bits},
-{5, 1, 1, helvetica14_159_bits},
-{1, 1, 1, helvetica14_160_bits},
-{1, 11, 8, helvetica14_161_bits},
-{6, 10, 9, helvetica14_162_bits},
-{7, 11, 11, helvetica14_163_bits},
-{6, 6, 8, helvetica14_164_bits},
-{7, 11, 11, helvetica14_165_bits},
-{1, 14, 11, helvetica14_166_bits},
-{5, 14, 11, helvetica14_167_bits},
-{5, 1, 10, helvetica14_168_bits},
-{10, 11, 11, helvetica14_169_bits},
-{4, 7, 11, helvetica14_170_bits},
-{6, 5, 7, helvetica14_171_bits},
-{7, 4, 6, helvetica14_172_bits},
-{3, 1, 5, helvetica14_173_bits},
-{10, 11, 11, helvetica14_174_bits},
-{4, 1, 10, helvetica14_175_bits},
-{4, 4, 11, helvetica14_176_bits},
-{7, 9, 9, helvetica14_177_bits},
-{4, 6, 11, helvetica14_178_bits},
-{4, 6, 11, helvetica14_179_bits},
-{2, 2, 11, helvetica14_180_bits},
-{6, 11, 8, helvetica14_181_bits},
-{7, 14, 11, helvetica14_182_bits},
-{2, 1, 5, helvetica14_183_bits},
-{4, 3, 0, helvetica14_184_bits},
-{2, 6, 11, helvetica14_185_bits},
-{4, 7, 11, helvetica14_186_bits},
-{6, 5, 7, helvetica14_187_bits},
-{10, 11, 11, helvetica14_188_bits},
-{9, 11, 11, helvetica14_189_bits},
-{11, 11, 11, helvetica14_190_bits},
-{6, 11, 8, helvetica14_191_bits},
-{9, 14, 14, helvetica14_192_bits},
-{9, 14, 14, helvetica14_193_bits},
-{9, 14, 14, helvetica14_194_bits},
-{9, 14, 14, helvetica14_195_bits},
-{9, 13, 13, helvetica14_196_bits},
-{9, 14, 14, helvetica14_197_bits},
-{12, 11, 11, helvetica14_198_bits},
-{8, 14, 11, helvetica14_199_bits},
-{7, 14, 14, helvetica14_200_bits},
-{7, 14, 14, helvetica14_201_bits},
-{7, 14, 14, helvetica14_202_bits},
-{7, 13, 13, helvetica14_203_bits},
-{2, 14, 14, helvetica14_204_bits},
-{2, 14, 14, helvetica14_205_bits},
-{4, 14, 14, helvetica14_206_bits},
-{5, 13, 13, helvetica14_207_bits},
-{9, 11, 11, helvetica14_208_bits},
-{8, 14, 14, helvetica14_209_bits},
-{9, 14, 14, helvetica14_210_bits},
-{9, 14, 14, helvetica14_211_bits},
-{9, 14, 14, helvetica14_212_bits},
-{9, 14, 14, helvetica14_213_bits},
-{9, 13, 13, helvetica14_214_bits},
-{7, 7, 8, helvetica14_215_bits},
-{11, 11, 11, helvetica14_216_bits},
-{8, 14, 14, helvetica14_217_bits},
-{8, 14, 14, helvetica14_218_bits},
-{8, 14, 14, helvetica14_219_bits},
-{8, 13, 13, helvetica14_220_bits},
-{9, 14, 14, helvetica14_221_bits},
-{7, 11, 11, helvetica14_222_bits},
-{5, 11, 11, helvetica14_223_bits},
-{7, 11, 11, helvetica14_224_bits},
-{7, 11, 11, helvetica14_225_bits},
-{7, 11, 11, helvetica14_226_bits},
-{7, 11, 11, helvetica14_227_bits},
-{7, 11, 11, helvetica14_228_bits},
-{7, 12, 12, helvetica14_229_bits},
-{11, 8, 8, helvetica14_230_bits},
-{6, 11, 8, helvetica14_231_bits},
-{6, 11, 11, helvetica14_232_bits},
-{6, 11, 11, helvetica14_233_bits},
-{6, 11, 11, helvetica14_234_bits},
-{6, 11, 11, helvetica14_235_bits},
-{2, 11, 11, helvetica14_236_bits},
-{2, 11, 11, helvetica14_237_bits},
-{4, 11, 11, helvetica14_238_bits},
-{3, 11, 11, helvetica14_239_bits},
-{6, 11, 11, helvetica14_240_bits},
-{6, 11, 11, helvetica14_241_bits},
-{6, 11, 11, helvetica14_242_bits},
-{6, 11, 11, helvetica14_243_bits},
-{6, 11, 11, helvetica14_244_bits},
-{6, 11, 11, helvetica14_245_bits},
-{6, 11, 11, helvetica14_246_bits},
-{7, 7, 8, helvetica14_247_bits},
-{8, 8, 8, helvetica14_248_bits},
-{6, 11, 11, helvetica14_249_bits},
-{6, 11, 11, helvetica14_250_bits},
-{6, 11, 11, helvetica14_251_bits},
-{6, 11, 11, helvetica14_252_bits},
-{7, 14, 11, helvetica14_253_bits},
-{6, 14, 11, helvetica14_254_bits},
-{7, 14, 11, helvetica14_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/helvetica18.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/helvetica18.h	(revision 38985)
+++ 	(revision )
@@ -1,988 +1,0 @@
-static unsigned char helvetica18_0_bits[] = {
-0x00};
-static unsigned char helvetica18_1_bits[] = {
-0x00};
-static unsigned char helvetica18_2_bits[] = {
-0x00};
-static unsigned char helvetica18_3_bits[] = {
-0x00};
-static unsigned char helvetica18_4_bits[] = {
-0x00};
-static unsigned char helvetica18_5_bits[] = {
-0x00};
-static unsigned char helvetica18_6_bits[] = {
-0x00};
-static unsigned char helvetica18_7_bits[] = {
-0x00};
-static unsigned char helvetica18_8_bits[] = {
-0x00};
-static unsigned char helvetica18_9_bits[] = {
-0x00};
-static unsigned char helvetica18_10_bits[] = {
-0x00};
-static unsigned char helvetica18_11_bits[] = {
-0x00};
-static unsigned char helvetica18_12_bits[] = {
-0x00};
-static unsigned char helvetica18_13_bits[] = {
-0x00};
-static unsigned char helvetica18_14_bits[] = {
-0x00};
-static unsigned char helvetica18_15_bits[] = {
-0x00};
-static unsigned char helvetica18_16_bits[] = {
-0x00};
-static unsigned char helvetica18_17_bits[] = {
-0x00};
-static unsigned char helvetica18_18_bits[] = {
-0x00};
-static unsigned char helvetica18_19_bits[] = {
-0x00};
-static unsigned char helvetica18_20_bits[] = {
-0x00};
-static unsigned char helvetica18_21_bits[] = {
-0x00};
-static unsigned char helvetica18_22_bits[] = {
-0x00};
-static unsigned char helvetica18_23_bits[] = {
-0x00};
-static unsigned char helvetica18_24_bits[] = {
-0x00};
-static unsigned char helvetica18_25_bits[] = {
-0x00};
-static unsigned char helvetica18_26_bits[] = {
-0x00};
-static unsigned char helvetica18_27_bits[] = {
-0x00};
-static unsigned char helvetica18_28_bits[] = {
-0x00};
-static unsigned char helvetica18_29_bits[] = {
-0x00};
-static unsigned char helvetica18_30_bits[] = {
-0x00};
-static unsigned char helvetica18_31_bits[] = {
-0x00};
-static unsigned char helvetica18_32_bits[] = {
-0x00};
-static unsigned char helvetica18_33_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 
-0x03, 0x03};
-static unsigned char helvetica18_34_bits[] = {
-0x1b, 0x1b, 0x1b, 0x09, 0x09};
-static unsigned char helvetica18_35_bits[] = {
-0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0xfe, 0x03, 0xfe, 0x03, 0x48, 0x00, 
-0x48, 0x00, 0x48, 0x00, 0xff, 0x01, 0xff, 0x01, 0x24, 0x00, 0x24, 0x00, 
-0x24, 0x00};
-static unsigned char helvetica18_36_bits[] = {
-0x10, 0x00, 0x7c, 0x00, 0xfe, 0x00, 0xd3, 0x00, 0x13, 0x00, 0x17, 0x00, 
-0x1e, 0x00, 0x7c, 0x00, 0xf0, 0x00, 0x90, 0x01, 0x93, 0x01, 0xd7, 0x01, 
-0xfe, 0x00, 0x7c, 0x00, 0x10, 0x00, 0x10, 0x00};
-static unsigned char helvetica18_37_bits[] = {
-0x1e, 0x06, 0x3f, 0x03, 0x33, 0x03, 0xb3, 0x01, 0xbf, 0x01, 0xde, 0x00, 
-0xc0, 0x00, 0x60, 0x1e, 0x60, 0x3f, 0x30, 0x33, 0x30, 0x33, 0x18, 0x3f, 
-0x18, 0x1e};
-static unsigned char helvetica18_38_bits[] = {
-0x3c, 0x00, 0x7e, 0x00, 0x66, 0x00, 0x66, 0x00, 0x3c, 0x00, 0x3e, 0x00, 
-0x77, 0x03, 0x63, 0x03, 0xc3, 0x03, 0xc3, 0x01, 0xe7, 0x03, 0x7e, 0x07, 
-0x3c, 0x0e};
-static unsigned char helvetica18_39_bits[] = {
-0x03, 0x03, 0x02, 0x02, 0x01};
-static unsigned char helvetica18_40_bits[] = {
-0x08, 0x0c, 0x06, 0x06, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x06, 0x06, 0x0c, 0x08};
-static unsigned char helvetica18_41_bits[] = {
-0x01, 0x03, 0x06, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x06, 0x06, 0x03, 0x01};
-static unsigned char helvetica18_42_bits[] = {
-0x04, 0x04, 0x1f, 0x0e, 0x0e, 0x11};
-static unsigned char helvetica18_43_bits[] = {
-0x18, 0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18, 0x18};
-static unsigned char helvetica18_44_bits[] = {
-0x03, 0x03, 0x02, 0x02, 0x01};
-static unsigned char helvetica18_45_bits[] = {
-0xff, 0xff};
-static unsigned char helvetica18_46_bits[] = {
-0x03, 0x03};
-static unsigned char helvetica18_47_bits[] = {
-0x18, 0x18, 0x08, 0x08, 0x0c, 0x0c, 0x04, 0x04, 0x06, 0x06, 0x02, 0x02, 
-0x03, 0x03};
-static unsigned char helvetica18_48_bits[] = {
-0x3c, 0x7e, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x7e, 
-0x3c};
-static unsigned char helvetica18_49_bits[] = {
-0x18, 0x1f, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 
-0x18};
-static unsigned char helvetica18_50_bits[] = {
-0x3c, 0x7f, 0xc3, 0xc0, 0xe0, 0x70, 0x38, 0x1c, 0x0e, 0x07, 0x03, 0xff, 
-0xff};
-static unsigned char helvetica18_51_bits[] = {
-0x3c, 0x7e, 0xc3, 0xc3, 0x60, 0x38, 0x78, 0xe0, 0xc0, 0xc3, 0xe3, 0x7e, 
-0x3c};
-static unsigned char helvetica18_52_bits[] = {
-0xc0, 0x00, 0xe0, 0x00, 0xf0, 0x00, 0xd8, 0x00, 0xcc, 0x00, 0xcc, 0x00, 
-0xc6, 0x00, 0xc3, 0x00, 0xff, 0x01, 0xff, 0x01, 0xc0, 0x00, 0xc0, 0x00, 
-0xc0, 0x00};
-static unsigned char helvetica18_53_bits[] = {
-0x7f, 0x7f, 0x03, 0x03, 0x3f, 0x7f, 0xe3, 0xc0, 0xc0, 0xc3, 0xe3, 0x7f, 
-0x3e};
-static unsigned char helvetica18_54_bits[] = {
-0x3c, 0xfe, 0xc6, 0x03, 0x03, 0x3b, 0x7f, 0xc3, 0xc3, 0xc3, 0xc7, 0x7e, 
-0x3c};
-static unsigned char helvetica18_55_bits[] = {
-0xff, 0xff, 0xc0, 0x60, 0x30, 0x30, 0x18, 0x18, 0x0c, 0x0c, 0x0c, 0x06, 
-0x06};
-static unsigned char helvetica18_56_bits[] = {
-0x3c, 0x7e, 0xe7, 0xc3, 0xc3, 0x66, 0x7e, 0x66, 0xc3, 0xc3, 0xe7, 0x7e, 
-0x3c};
-static unsigned char helvetica18_57_bits[] = {
-0x3c, 0x7e, 0xe3, 0xc3, 0xc3, 0xc3, 0xfe, 0xdc, 0xc0, 0xc0, 0x63, 0x7f, 
-0x3e};
-static unsigned char helvetica18_58_bits[] = {
-0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03};
-static unsigned char helvetica18_59_bits[] = {
-0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x02, 0x02, 
-0x01};
-static unsigned char helvetica18_60_bits[] = {
-0xc0, 0xf0, 0x3c, 0x0e, 0x03, 0x0e, 0x3c, 0xf0, 0xc0};
-static unsigned char helvetica18_61_bits[] = {
-0x7f, 0x7f, 0x00, 0x00, 0x7f, 0x7f};
-static unsigned char helvetica18_62_bits[] = {
-0x03, 0x0f, 0x3c, 0x70, 0xc0, 0x70, 0x3c, 0x0f, 0x03};
-static unsigned char helvetica18_63_bits[] = {
-0x3e, 0x7f, 0x63, 0x63, 0x70, 0x38, 0x1c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 
-0x0c, 0x0c};
-static unsigned char helvetica18_64_bits[] = {
-0xc0, 0x0f, 0xf0, 0x3f, 0x38, 0x70, 0x0c, 0x60, 0xc6, 0xcd, 0xe6, 0xce, 
-0x63, 0xcc, 0x33, 0xc6, 0x33, 0x66, 0x33, 0x66, 0x33, 0x33, 0xf3, 0x1f, 
-0xe6, 0x0e, 0x0e, 0x00, 0x1c, 0x00, 0xf8, 0x0f, 0xe0, 0x07};
-static unsigned char helvetica18_65_bits[] = {
-0x60, 0x00, 0x60, 0x00, 0xf0, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x98, 0x01, 
-0x0c, 0x03, 0x0c, 0x03, 0xfc, 0x03, 0xfe, 0x07, 0x06, 0x06, 0x06, 0x06, 
-0x03, 0x0c, 0x03, 0x0c};
-static unsigned char helvetica18_66_bits[] = {
-0xff, 0x00, 0xff, 0x01, 0x83, 0x03, 0x03, 0x03, 0x03, 0x03, 0x83, 0x01, 
-0xff, 0x01, 0xff, 0x03, 0x03, 0x07, 0x03, 0x06, 0x03, 0x06, 0x03, 0x07, 
-0xff, 0x03, 0xff, 0x01};
-static unsigned char helvetica18_67_bits[] = {
-0xf0, 0x01, 0xfc, 0x07, 0x0e, 0x0e, 0x06, 0x0c, 0x07, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x07, 0x00, 0x06, 0x0c, 0x0e, 0x0e, 
-0xfc, 0x07, 0xf0, 0x01};
-static unsigned char helvetica18_68_bits[] = {
-0xff, 0x00, 0xff, 0x01, 0x83, 0x03, 0x03, 0x03, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x03, 0x83, 0x03, 
-0xff, 0x01, 0xff, 0x00};
-static unsigned char helvetica18_69_bits[] = {
-0xff, 0x01, 0xff, 0x01, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0xff, 0x00, 0xff, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0xff, 0x01, 0xff, 0x01};
-static unsigned char helvetica18_70_bits[] = {
-0xff, 0x01, 0xff, 0x01, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0xff, 0x00, 0xff, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00};
-static unsigned char helvetica18_71_bits[] = {
-0xf0, 0x01, 0xfc, 0x07, 0x0e, 0x0e, 0x06, 0x0c, 0x07, 0x0c, 0x03, 0x00, 
-0x03, 0x00, 0x83, 0x0f, 0x83, 0x0f, 0x07, 0x0c, 0x06, 0x0c, 0x0e, 0x0e, 
-0xfc, 0x0f, 0xf0, 0x0d};
-static unsigned char helvetica18_72_bits[] = {
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0xff, 0x07, 0xff, 0x07, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06};
-static unsigned char helvetica18_73_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03};
-static unsigned char helvetica18_74_bits[] = {
-0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc3, 0xc3, 0xe7, 
-0x7e, 0x3c};
-static unsigned char helvetica18_75_bits[] = {
-0x03, 0x07, 0x83, 0x03, 0xc3, 0x01, 0xe3, 0x00, 0x73, 0x00, 0x3b, 0x00, 
-0x1f, 0x00, 0x3f, 0x00, 0x73, 0x00, 0xe3, 0x00, 0xc3, 0x01, 0x83, 0x03, 
-0x03, 0x07, 0x03, 0x0e};
-static unsigned char helvetica18_76_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0xff, 0xff};
-static unsigned char helvetica18_77_bits[] = {
-0x03, 0x30, 0x03, 0x30, 0x07, 0x38, 0x07, 0x38, 0x0f, 0x3c, 0x0f, 0x3c, 
-0x1b, 0x36, 0x1b, 0x36, 0x33, 0x33, 0x33, 0x33, 0x23, 0x31, 0xe3, 0x31, 
-0xc3, 0x30, 0xc3, 0x30};
-static unsigned char helvetica18_78_bits[] = {
-0x03, 0x06, 0x07, 0x06, 0x0f, 0x06, 0x0f, 0x06, 0x1b, 0x06, 0x33, 0x06, 
-0x33, 0x06, 0x63, 0x06, 0x63, 0x06, 0xc3, 0x06, 0x83, 0x07, 0x83, 0x07, 
-0x03, 0x07, 0x03, 0x06};
-static unsigned char helvetica18_79_bits[] = {
-0xf0, 0x01, 0xfc, 0x07, 0x0e, 0x0e, 0x06, 0x0c, 0x07, 0x1c, 0x03, 0x18, 
-0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 0x07, 0x1c, 0x06, 0x0c, 0x0e, 0x0e, 
-0xfc, 0x07, 0xf0, 0x01};
-static unsigned char helvetica18_80_bits[] = {
-0xff, 0x00, 0xff, 0x01, 0x83, 0x03, 0x03, 0x03, 0x03, 0x03, 0x83, 0x03, 
-0xff, 0x01, 0xff, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00};
-static unsigned char helvetica18_81_bits[] = {
-0xf0, 0x01, 0xfc, 0x07, 0x0e, 0x0e, 0x06, 0x0c, 0x07, 0x1c, 0x03, 0x18, 
-0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 0x87, 0x1d, 0x86, 0x0d, 0x0e, 0x0f, 
-0xfc, 0x07, 0xf0, 0x0d, 0x00, 0x0c};
-static unsigned char helvetica18_82_bits[] = {
-0xff, 0x00, 0xff, 0x01, 0x83, 0x03, 0x03, 0x03, 0x03, 0x03, 0x83, 0x03, 
-0xff, 0x01, 0xff, 0x00, 0x83, 0x01, 0x83, 0x01, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03};
-static unsigned char helvetica18_83_bits[] = {
-0xf8, 0x00, 0xfe, 0x03, 0x07, 0x07, 0x03, 0x06, 0x07, 0x00, 0x3e, 0x00, 
-0xf8, 0x00, 0xc0, 0x03, 0x00, 0x07, 0x00, 0x06, 0x03, 0x06, 0x07, 0x07, 
-0xfe, 0x03, 0xfc, 0x00};
-static unsigned char helvetica18_84_bits[] = {
-0xff, 0x03, 0xff, 0x03, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 
-0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 
-0x30, 0x00, 0x30, 0x00};
-static unsigned char helvetica18_85_bits[] = {
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x06, 0x03, 
-0xfe, 0x03, 0xf8, 0x00};
-static unsigned char helvetica18_86_bits[] = {
-0x03, 0x0c, 0x03, 0x0c, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x0c, 0x03, 
-0x0c, 0x03, 0x0c, 0x03, 0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 0xf0, 0x00, 
-0xf0, 0x00, 0x60, 0x00};
-static unsigned char helvetica18_87_bits[] = {
-0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0xc3, 0xc3, 0xc6, 0x63, 0x46, 0x62, 
-0x66, 0x66, 0x66, 0x66, 0x6c, 0x36, 0x6c, 0x36, 0x2c, 0x34, 0x38, 0x1c, 
-0x18, 0x18, 0x18, 0x18};
-static unsigned char helvetica18_88_bits[] = {
-0x03, 0x06, 0x07, 0x07, 0x06, 0x03, 0x8e, 0x03, 0x8c, 0x01, 0xd8, 0x00, 
-0x70, 0x00, 0x70, 0x00, 0xd8, 0x00, 0x8c, 0x01, 0x8e, 0x03, 0x06, 0x03, 
-0x07, 0x07, 0x03, 0x06};
-static unsigned char helvetica18_89_bits[] = {
-0x03, 0x0c, 0x03, 0x0c, 0x06, 0x06, 0x06, 0x06, 0x0c, 0x03, 0x0c, 0x03, 
-0x98, 0x01, 0xf0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0x60, 0x00, 0x60, 0x00};
-static unsigned char helvetica18_90_bits[] = {
-0xff, 0x03, 0xff, 0x03, 0x00, 0x03, 0x80, 0x01, 0xc0, 0x00, 0x60, 0x00, 
-0x30, 0x00, 0x38, 0x00, 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x03, 0x00, 
-0xff, 0x03, 0xff, 0x03};
-static unsigned char helvetica18_91_bits[] = {
-0x0f, 0x0f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x0f, 0x0f};
-static unsigned char helvetica18_92_bits[] = {
-0x03, 0x03, 0x02, 0x02, 0x06, 0x06, 0x04, 0x04, 0x0c, 0x0c, 0x08, 0x08, 
-0x18, 0x18};
-static unsigned char helvetica18_93_bits[] = {
-0x0f, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0f};
-static unsigned char helvetica18_94_bits[] = {
-0x08, 0x1c, 0x36, 0x63, 0x41};
-static unsigned char helvetica18_95_bits[] = {
-0xff, 0x03, 0xff, 0x03};
-static unsigned char helvetica18_96_bits[] = {
-0x02, 0x01, 0x01, 0x03, 0x03};
-static unsigned char helvetica18_97_bits[] = {
-0x3e, 0x77, 0x63, 0x70, 0x7e, 0x67, 0x63, 0x63, 0x77, 0x6e};
-static unsigned char helvetica18_98_bits[] = {
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x7b, 0x00, 0xff, 0x00, 
-0xc7, 0x00, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0xc7, 0x00, 
-0xff, 0x00, 0x7b, 0x00};
-static unsigned char helvetica18_99_bits[] = {
-0x7c, 0xfe, 0xc6, 0x03, 0x03, 0x03, 0x03, 0xc6, 0xfe, 0x7c};
-static unsigned char helvetica18_100_bits[] = {
-0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xbc, 0x01, 0xfe, 0x01, 
-0xc6, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0xc6, 0x01, 
-0xfe, 0x01, 0xbc, 0x01};
-static unsigned char helvetica18_101_bits[] = {
-0x3c, 0x7e, 0xc3, 0xc3, 0xff, 0x03, 0x03, 0xc7, 0xfe, 0x3c};
-static unsigned char helvetica18_102_bits[] = {
-0x38, 0x3c, 0x0c, 0x0c, 0x3f, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c};
-static unsigned char helvetica18_103_bits[] = {
-0xbc, 0x01, 0xfe, 0x01, 0x86, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 
-0x83, 0x01, 0xc6, 0x01, 0xfe, 0x01, 0xbc, 0x01, 0x80, 0x01, 0xc6, 0x00, 
-0xfe, 0x00, 0x38, 0x00};
-static unsigned char helvetica18_104_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x73, 0xfb, 0xc7, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 
-0xc3, 0xc3};
-static unsigned char helvetica18_105_bits[] = {
-0x03, 0x03, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03};
-static unsigned char helvetica18_106_bits[] = {
-0x0c, 0x0c, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x07};
-static unsigned char helvetica18_107_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x63, 0x33, 0x1b, 0x0f, 0x1f, 0x1b, 0x33, 0x73, 
-0x63, 0xe3};
-static unsigned char helvetica18_108_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03};
-static unsigned char helvetica18_109_bits[] = {
-0x33, 0x06, 0x7b, 0x0f, 0xe7, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 
-0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c};
-static unsigned char helvetica18_110_bits[] = {
-0x73, 0xfb, 0xc7, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3};
-static unsigned char helvetica18_111_bits[] = {
-0x7c, 0x00, 0xfe, 0x00, 0xc6, 0x00, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 
-0x83, 0x01, 0xc6, 0x00, 0xfe, 0x00, 0x7c, 0x00};
-static unsigned char helvetica18_112_bits[] = {
-0x7b, 0x00, 0xff, 0x00, 0xc7, 0x00, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 
-0x83, 0x01, 0xc7, 0x00, 0xff, 0x00, 0x7b, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00};
-static unsigned char helvetica18_113_bits[] = {
-0xbc, 0x01, 0xfe, 0x01, 0xc6, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 
-0x83, 0x01, 0xc6, 0x01, 0xfe, 0x01, 0xbc, 0x01, 0x80, 0x01, 0x80, 0x01, 
-0x80, 0x01, 0x80, 0x01};
-static unsigned char helvetica18_114_bits[] = {
-0x1b, 0x1b, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char helvetica18_115_bits[] = {
-0x3c, 0x7e, 0x63, 0x03, 0x3f, 0x7c, 0x60, 0x63, 0x3f, 0x1e};
-static unsigned char helvetica18_116_bits[] = {
-0x0c, 0x0c, 0x0c, 0x3f, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x1c, 
-0x18};
-static unsigned char helvetica18_117_bits[] = {
-0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xe3, 0xdf, 0xce};
-static unsigned char helvetica18_118_bits[] = {
-0xc3, 0xc3, 0xc3, 0x66, 0x66, 0x66, 0x24, 0x3c, 0x18, 0x18};
-static unsigned char helvetica18_119_bits[] = {
-0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x66, 0x06, 0x66, 0x06, 0x96, 0x06, 
-0x94, 0x02, 0x9c, 0x03, 0x98, 0x01, 0x98, 0x01};
-static unsigned char helvetica18_120_bits[] = {
-0xc3, 0xe7, 0x66, 0x3c, 0x18, 0x18, 0x3c, 0x66, 0xe7, 0xc3};
-static unsigned char helvetica18_121_bits[] = {
-0xc3, 0xc3, 0xc3, 0x66, 0x66, 0x66, 0x24, 0x3c, 0x18, 0x18, 0x18, 0x18, 
-0x0e, 0x0e};
-static unsigned char helvetica18_122_bits[] = {
-0x7f, 0x7f, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x03, 0x7f, 0x7f};
-static unsigned char helvetica18_123_bits[] = {
-0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x06, 0x03, 0x06, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x18, 0x30};
-static unsigned char helvetica18_124_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char helvetica18_125_bits[] = {
-0x03, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x18, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x06, 0x03};
-static unsigned char helvetica18_126_bits[] = {
-0xcc, 0x7e, 0x33};
-static unsigned char helvetica18_127_bits[] = {
-0x00};
-static unsigned char helvetica18_128_bits[] = {
-0x00};
-static unsigned char helvetica18_129_bits[] = {
-0x00};
-static unsigned char helvetica18_130_bits[] = {
-0x00};
-static unsigned char helvetica18_131_bits[] = {
-0x00};
-static unsigned char helvetica18_132_bits[] = {
-0x00};
-static unsigned char helvetica18_133_bits[] = {
-0x00};
-static unsigned char helvetica18_134_bits[] = {
-0x00};
-static unsigned char helvetica18_135_bits[] = {
-0x00};
-static unsigned char helvetica18_136_bits[] = {
-0x00};
-static unsigned char helvetica18_137_bits[] = {
-0x00};
-static unsigned char helvetica18_138_bits[] = {
-0x00};
-static unsigned char helvetica18_139_bits[] = {
-0x00};
-static unsigned char helvetica18_140_bits[] = {
-0x00};
-static unsigned char helvetica18_141_bits[] = {
-0x00};
-static unsigned char helvetica18_142_bits[] = {
-0x00};
-static unsigned char helvetica18_143_bits[] = {
-0x00};
-static unsigned char helvetica18_144_bits[] = {
-0x00};
-static unsigned char helvetica18_145_bits[] = {
-0x00};
-static unsigned char helvetica18_146_bits[] = {
-0x00};
-static unsigned char helvetica18_147_bits[] = {
-0x00};
-static unsigned char helvetica18_148_bits[] = {
-0x00};
-static unsigned char helvetica18_149_bits[] = {
-0x00};
-static unsigned char helvetica18_150_bits[] = {
-0x00};
-static unsigned char helvetica18_151_bits[] = {
-0x00};
-static unsigned char helvetica18_152_bits[] = {
-0x00};
-static unsigned char helvetica18_153_bits[] = {
-0x00};
-static unsigned char helvetica18_154_bits[] = {
-0x00};
-static unsigned char helvetica18_155_bits[] = {
-0x00};
-static unsigned char helvetica18_156_bits[] = {
-0x00};
-static unsigned char helvetica18_157_bits[] = {
-0x00};
-static unsigned char helvetica18_158_bits[] = {
-0x00};
-static unsigned char helvetica18_159_bits[] = {
-0x00};
-static unsigned char helvetica18_160_bits[] = {
-0x00};
-static unsigned char helvetica18_161_bits[] = {
-0x03, 0x03, 0x00, 0x00, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03};
-static unsigned char helvetica18_162_bits[] = {
-0x20, 0x20, 0x7c, 0xfe, 0xd6, 0x13, 0x13, 0x13, 0x13, 0xd6, 0xfe, 0x7c, 
-0x08, 0x08};
-static unsigned char helvetica18_163_bits[] = {
-0x78, 0x00, 0xfc, 0x00, 0x86, 0x01, 0x86, 0x01, 0x06, 0x00, 0x0c, 0x00, 
-0x7e, 0x00, 0x18, 0x00, 0x18, 0x00, 0x0c, 0x00, 0x06, 0x01, 0xff, 0x01, 
-0xfb, 0x00};
-static unsigned char helvetica18_164_bits[] = {
-0xc3, 0xff, 0x66, 0x66, 0x66, 0xff, 0xc3};
-static unsigned char helvetica18_165_bits[] = {
-0xc3, 0xc3, 0x66, 0x66, 0x66, 0x3c, 0xff, 0x18, 0xff, 0x18, 0x18, 0x18, 
-0x18};
-static unsigned char helvetica18_166_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char helvetica18_167_bits[] = {
-0x3c, 0x7e, 0xc3, 0xc3, 0x0f, 0x3e, 0x76, 0xe3, 0xc3, 0xc7, 0xce, 0x7c, 
-0x70, 0xe0, 0xc3, 0xc3, 0x7e, 0x3c};
-static unsigned char helvetica18_168_bits[] = {
-0x1b, 0x1b};
-static unsigned char helvetica18_169_bits[] = {
-0xf0, 0x01, 0x0c, 0x06, 0x02, 0x08, 0xe2, 0x08, 0x11, 0x11, 0x09, 0x10, 
-0x09, 0x10, 0x09, 0x10, 0x11, 0x11, 0xe2, 0x08, 0x02, 0x08, 0x0c, 0x06, 
-0xf0, 0x01};
-static unsigned char helvetica18_170_bits[] = {
-0x0e, 0x13, 0x1c, 0x12, 0x1b, 0x16, 0x00, 0x1f};
-static unsigned char helvetica18_171_bits[] = {
-0x48, 0x6c, 0x36, 0x1b, 0x1b, 0x36, 0x6c, 0x48};
-static unsigned char helvetica18_172_bits[] = {
-0xff, 0x01, 0xff, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01};
-static unsigned char helvetica18_173_bits[] = {
-0x1f, 0x1f};
-static unsigned char helvetica18_174_bits[] = {
-0xf0, 0x01, 0x0c, 0x06, 0x02, 0x08, 0xf2, 0x09, 0x11, 0x12, 0x11, 0x12, 
-0xf1, 0x11, 0x91, 0x10, 0x11, 0x11, 0x12, 0x0a, 0x02, 0x08, 0x0c, 0x06, 
-0xf0, 0x01};
-static unsigned char helvetica18_175_bits[] = {
-0x1f};
-static unsigned char helvetica18_176_bits[] = {
-0x0e, 0x1b, 0x11, 0x1b, 0x0e};
-static unsigned char helvetica18_177_bits[] = {
-0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18, 0x00, 0xff, 0xff};
-static unsigned char helvetica18_178_bits[] = {
-0x0e, 0x1f, 0x19, 0x18, 0x0c, 0x06, 0x1f, 0x1f};
-static unsigned char helvetica18_179_bits[] = {
-0x0e, 0x1f, 0x19, 0x0c, 0x0c, 0x19, 0x1f, 0x0e};
-static unsigned char helvetica18_180_bits[] = {
-0x0c, 0x06, 0x03};
-static unsigned char helvetica18_181_bits[] = {
-0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xe7, 0xff, 0xdb, 0x03, 0x03, 
-0x03, 0x03};
-static unsigned char helvetica18_182_bits[] = {
-0xfc, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4e, 0x4c, 0x48, 0x48, 0x48, 0x48, 
-0x48, 0x48, 0x48, 0x48, 0x48, 0x48};
-static unsigned char helvetica18_183_bits[] = {
-0x03, 0x03};
-static unsigned char helvetica18_184_bits[] = {
-0x06, 0x0e, 0x18, 0x1b, 0x0f};
-static unsigned char helvetica18_185_bits[] = {
-0x06, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06};
-static unsigned char helvetica18_186_bits[] = {
-0x0e, 0x1b, 0x11, 0x11, 0x1b, 0x0e, 0x00, 0x1f};
-static unsigned char helvetica18_187_bits[] = {
-0x09, 0x1b, 0x36, 0x6c, 0x6c, 0x36, 0x1b, 0x09};
-static unsigned char helvetica18_188_bits[] = {
-0x06, 0x06, 0x07, 0x06, 0x07, 0x03, 0x86, 0x01, 0x86, 0x01, 0xc6, 0x08, 
-0x46, 0x0c, 0x66, 0x0e, 0x30, 0x0f, 0xb0, 0x0d, 0x98, 0x1f, 0x0c, 0x0c, 
-0x0c, 0x0c};
-static unsigned char helvetica18_189_bits[] = {
-0x06, 0x06, 0x07, 0x06, 0x07, 0x03, 0x86, 0x01, 0x86, 0x01, 0xc6, 0x0e, 
-0x46, 0x1f, 0x66, 0x19, 0x30, 0x18, 0x30, 0x0c, 0x18, 0x06, 0x0c, 0x1f, 
-0x0c, 0x1f};
-static unsigned char helvetica18_190_bits[] = {
-0x0e, 0x0c, 0x1f, 0x0c, 0x19, 0x06, 0x0c, 0x03, 0x0c, 0x03, 0x99, 0x11, 
-0x9f, 0x18, 0xce, 0x1c, 0x60, 0x1e, 0x60, 0x1b, 0x30, 0x3f, 0x18, 0x18, 
-0x18, 0x18};
-static unsigned char helvetica18_191_bits[] = {
-0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x18, 0x1c, 0x0e, 0x07, 0x63, 0x63, 
-0x7f, 0x3e};
-static unsigned char helvetica18_192_bits[] = {
-0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0xf0, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x98, 0x01, 0x0c, 0x03, 0x0c, 0x03, 
-0xfc, 0x03, 0xfe, 0x07, 0x06, 0x06, 0x06, 0x06, 0x03, 0x0c, 0x03, 0x0c};
-static unsigned char helvetica18_193_bits[] = {
-0x80, 0x01, 0xc0, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0xf0, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x98, 0x01, 0x0c, 0x03, 0x0c, 0x03, 
-0xfc, 0x03, 0xfe, 0x07, 0x06, 0x06, 0x06, 0x06, 0x03, 0x0c, 0x03, 0x0c};
-static unsigned char helvetica18_194_bits[] = {
-0x60, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0xf0, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x98, 0x01, 0x0c, 0x03, 0x0c, 0x03, 
-0xfc, 0x03, 0xfe, 0x07, 0x06, 0x06, 0x06, 0x06, 0x03, 0x0c, 0x03, 0x0c};
-static unsigned char helvetica18_195_bits[] = {
-0x30, 0x01, 0x68, 0x01, 0xc8, 0x00, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0xf0, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x98, 0x01, 0x0c, 0x03, 0x0c, 0x03, 
-0xfc, 0x03, 0xfe, 0x07, 0x06, 0x06, 0x06, 0x06, 0x03, 0x0c, 0x03, 0x0c};
-static unsigned char helvetica18_196_bits[] = {
-0x98, 0x01, 0x98, 0x01, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0xf0, 0x00, 
-0xf0, 0x00, 0x98, 0x01, 0x98, 0x01, 0x0c, 0x03, 0x0c, 0x03, 0xfc, 0x03, 
-0xfe, 0x07, 0x06, 0x06, 0x06, 0x06, 0x03, 0x0c, 0x03, 0x0c};
-static unsigned char helvetica18_197_bits[] = {
-0xf0, 0x00, 0x98, 0x01, 0x98, 0x01, 0xf0, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0xf0, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x98, 0x01, 0x0c, 0x03, 0x0c, 0x03, 
-0xfc, 0x03, 0xfe, 0x07, 0x06, 0x06, 0x06, 0x06, 0x03, 0x0c, 0x03, 0x0c};
-static unsigned char helvetica18_198_bits[] = {
-0xe0, 0xff, 0xe0, 0xff, 0xb0, 0x01, 0xb0, 0x01, 0x98, 0x01, 0x98, 0x01, 
-0x8c, 0x7f, 0x8c, 0x7f, 0xfc, 0x01, 0xfe, 0x01, 0x86, 0x01, 0x86, 0x01, 
-0x83, 0xff, 0x83, 0xff};
-static unsigned char helvetica18_199_bits[] = {
-0xf0, 0x01, 0xfc, 0x07, 0x0e, 0x0e, 0x06, 0x0c, 0x07, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x07, 0x00, 0x06, 0x0c, 0x0e, 0x0e, 
-0xfc, 0x07, 0xf0, 0x01, 0x70, 0x00, 0xc0, 0x00, 0xd8, 0x00, 0x78, 0x00};
-static unsigned char helvetica18_200_bits[] = {
-0x0c, 0x00, 0x18, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0x01, 0xff, 0x01, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x00, 0xff, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x01, 0xff, 0x01};
-static unsigned char helvetica18_201_bits[] = {
-0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0x01, 0xff, 0x01, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x00, 0xff, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x01, 0xff, 0x01};
-static unsigned char helvetica18_202_bits[] = {
-0x30, 0x00, 0x78, 0x00, 0xcc, 0x00, 0x00, 0x00, 0xff, 0x01, 0xff, 0x01, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x00, 0xff, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x01, 0xff, 0x01};
-static unsigned char helvetica18_203_bits[] = {
-0xcc, 0x00, 0xcc, 0x00, 0x00, 0x00, 0xff, 0x01, 0xff, 0x01, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x00, 0xff, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x01, 0xff, 0x01};
-static unsigned char helvetica18_204_bits[] = {
-0x03, 0x06, 0x0c, 0x00, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c};
-static unsigned char helvetica18_205_bits[] = {
-0x0c, 0x06, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char helvetica18_206_bits[] = {
-0x0c, 0x1e, 0x33, 0x00, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c};
-static unsigned char helvetica18_207_bits[] = {
-0x33, 0x33, 0x00, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0c};
-static unsigned char helvetica18_208_bits[] = {
-0xfe, 0x01, 0xfe, 0x03, 0x06, 0x07, 0x06, 0x06, 0x06, 0x0c, 0x06, 0x0c, 
-0x3f, 0x0c, 0x3f, 0x0c, 0x06, 0x0c, 0x06, 0x0c, 0x06, 0x06, 0x06, 0x07, 
-0xfe, 0x03, 0xfe, 0x01};
-static unsigned char helvetica18_209_bits[] = {
-0x30, 0x01, 0x68, 0x01, 0xc8, 0x00, 0x00, 0x00, 0x07, 0x06, 0x07, 0x06, 
-0x0f, 0x06, 0x1b, 0x06, 0x1b, 0x06, 0x33, 0x06, 0x33, 0x06, 0x63, 0x06, 
-0x63, 0x06, 0xc3, 0x06, 0x83, 0x07, 0x83, 0x07, 0x03, 0x07, 0x03, 0x06};
-static unsigned char helvetica18_210_bits[] = {
-0x30, 0x00, 0x60, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xf0, 0x01, 0xfc, 0x07, 
-0x0e, 0x0e, 0x06, 0x0c, 0x07, 0x1c, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 
-0x03, 0x18, 0x07, 0x1c, 0x06, 0x0c, 0x0e, 0x0e, 0xfc, 0x07, 0xf0, 0x01};
-static unsigned char helvetica18_211_bits[] = {
-0x00, 0x03, 0x80, 0x01, 0xc0, 0x00, 0x00, 0x00, 0xf0, 0x01, 0xfc, 0x07, 
-0x0e, 0x0e, 0x06, 0x0c, 0x07, 0x1c, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 
-0x03, 0x18, 0x07, 0x1c, 0x06, 0x0c, 0x0e, 0x0e, 0xfc, 0x07, 0xf0, 0x01};
-static unsigned char helvetica18_212_bits[] = {
-0xc0, 0x00, 0xe0, 0x01, 0x30, 0x03, 0x00, 0x00, 0xf0, 0x01, 0xfc, 0x07, 
-0x0e, 0x0e, 0x06, 0x0c, 0x07, 0x1c, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 
-0x03, 0x18, 0x07, 0x1c, 0x06, 0x0c, 0x0e, 0x0e, 0xfc, 0x07, 0xf0, 0x01};
-static unsigned char helvetica18_213_bits[] = {
-0x60, 0x02, 0xd0, 0x02, 0x90, 0x01, 0x00, 0x00, 0xf0, 0x01, 0xfc, 0x07, 
-0x0e, 0x0e, 0x06, 0x0c, 0x07, 0x1c, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 
-0x03, 0x18, 0x07, 0x1c, 0x06, 0x0c, 0x0e, 0x0e, 0xfc, 0x07, 0xf0, 0x01};
-static unsigned char helvetica18_214_bits[] = {
-0xb0, 0x01, 0xb0, 0x01, 0x00, 0x00, 0xf0, 0x01, 0xfc, 0x07, 0x0e, 0x0e, 
-0x06, 0x0c, 0x07, 0x1c, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 
-0x07, 0x1c, 0x06, 0x0c, 0x0e, 0x0e, 0xfc, 0x07, 0xf0, 0x01};
-static unsigned char helvetica18_215_bits[] = {
-0x03, 0x03, 0x86, 0x01, 0xcc, 0x00, 0x78, 0x00, 0x30, 0x00, 0x78, 0x00, 
-0xcc, 0x00, 0x86, 0x01, 0x03, 0x03};
-static unsigned char helvetica18_216_bits[] = {
-0xe0, 0x33, 0xf8, 0x3f, 0x1c, 0x1c, 0x0c, 0x1e, 0x0e, 0x3b, 0x86, 0x33, 
-0xc6, 0x31, 0xe6, 0x30, 0x76, 0x30, 0x36, 0x38, 0x1c, 0x18, 0x1e, 0x1c, 
-0xff, 0x0f, 0xe3, 0x03};
-static unsigned char helvetica18_217_bits[] = {
-0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0x00, 0x00, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x06, 0x03, 0xfe, 0x03, 0xf8, 0x00};
-static unsigned char helvetica18_218_bits[] = {
-0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x00, 0x00, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x06, 0x03, 0xfe, 0x03, 0xf8, 0x00};
-static unsigned char helvetica18_219_bits[] = {
-0x60, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x00, 0x00, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x06, 0x03, 0xfe, 0x03, 0xf8, 0x00};
-static unsigned char helvetica18_220_bits[] = {
-0x98, 0x01, 0x98, 0x01, 0x00, 0x00, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x06, 0x03, 0xfe, 0x03, 0xf8, 0x00};
-static unsigned char helvetica18_221_bits[] = {
-0x80, 0x01, 0xc0, 0x00, 0x60, 0x00, 0x00, 0x00, 0x03, 0x0c, 0x03, 0x0c, 
-0x06, 0x06, 0x06, 0x06, 0x0c, 0x03, 0x0c, 0x03, 0x98, 0x01, 0xf0, 0x00, 
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00};
-static unsigned char helvetica18_222_bits[] = {
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x00, 0xff, 0x01, 0x83, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x83, 0x03, 0xff, 0x01, 0xff, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00};
-static unsigned char helvetica18_223_bits[] = {
-0x1c, 0x3e, 0x63, 0x63, 0x63, 0x63, 0x3b, 0x3b, 0x63, 0x63, 0x63, 0x63, 
-0x7b, 0x3b};
-static unsigned char helvetica18_224_bits[] = {
-0x06, 0x0c, 0x18, 0x00, 0x3e, 0x77, 0x63, 0x70, 0x7e, 0x67, 0x63, 0x63, 
-0x77, 0x6e};
-static unsigned char helvetica18_225_bits[] = {
-0x30, 0x18, 0x0c, 0x00, 0x3e, 0x77, 0x63, 0x70, 0x7e, 0x67, 0x63, 0x63, 
-0x77, 0x6e};
-static unsigned char helvetica18_226_bits[] = {
-0x18, 0x3c, 0x66, 0x00, 0x3e, 0x77, 0x63, 0x70, 0x7e, 0x67, 0x63, 0x63, 
-0x77, 0x6e};
-static unsigned char helvetica18_227_bits[] = {
-0x4c, 0x5a, 0x32, 0x00, 0x3e, 0x77, 0x63, 0x70, 0x7e, 0x67, 0x63, 0x63, 
-0x77, 0x6e};
-static unsigned char helvetica18_228_bits[] = {
-0x36, 0x36, 0x00, 0x3e, 0x77, 0x63, 0x70, 0x7e, 0x67, 0x63, 0x63, 0x77, 
-0x6e};
-static unsigned char helvetica18_229_bits[] = {
-0x1c, 0x36, 0x36, 0x1c, 0x3e, 0x77, 0x63, 0x70, 0x7e, 0x67, 0x63, 0x63, 
-0x77, 0x6e};
-static unsigned char helvetica18_230_bits[] = {
-0xbe, 0x07, 0xf7, 0x0f, 0x63, 0x18, 0x70, 0x18, 0xfe, 0x1f, 0x67, 0x00, 
-0x63, 0x00, 0xe3, 0x18, 0xf7, 0x1f, 0xae, 0x07};
-static unsigned char helvetica18_231_bits[] = {
-0x7c, 0xfe, 0xc6, 0x03, 0x03, 0x03, 0x03, 0xc6, 0xfe, 0x7c, 0x1c, 0x30, 
-0x36, 0x1e};
-static unsigned char helvetica18_232_bits[] = {
-0x06, 0x0c, 0x18, 0x00, 0x3c, 0x7e, 0xc3, 0xc3, 0xff, 0x03, 0x03, 0xc7, 
-0xfe, 0x3c};
-static unsigned char helvetica18_233_bits[] = {
-0x60, 0x30, 0x18, 0x00, 0x3c, 0x7e, 0xc3, 0xc3, 0xff, 0x03, 0x03, 0xc7, 
-0xfe, 0x3c};
-static unsigned char helvetica18_234_bits[] = {
-0x18, 0x3c, 0x66, 0x00, 0x3c, 0x7e, 0xc3, 0xc3, 0xff, 0x03, 0x03, 0xc7, 
-0xfe, 0x3c};
-static unsigned char helvetica18_235_bits[] = {
-0x6c, 0x6c, 0x00, 0x3c, 0x7e, 0xc3, 0xc3, 0xff, 0x03, 0x03, 0xc7, 0xfe, 
-0x3c};
-static unsigned char helvetica18_236_bits[] = {
-0x03, 0x06, 0x0c, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x06, 0x06};
-static unsigned char helvetica18_237_bits[] = {
-0x0c, 0x06, 0x03, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x06, 0x06};
-static unsigned char helvetica18_238_bits[] = {
-0x0c, 0x1e, 0x33, 0x00, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c};
-static unsigned char helvetica18_239_bits[] = {
-0x1b, 0x1b, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x06};
-static unsigned char helvetica18_240_bits[] = {
-0x06, 0x00, 0x6c, 0x00, 0x1c, 0x00, 0x32, 0x00, 0x7c, 0x00, 0xfe, 0x00, 
-0xc6, 0x00, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0xc6, 0x00, 
-0xfe, 0x00, 0x7c, 0x00};
-static unsigned char helvetica18_241_bits[] = {
-0x4c, 0x5a, 0x32, 0x00, 0x73, 0xfb, 0xc7, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 
-0xc3, 0xc3};
-static unsigned char helvetica18_242_bits[] = {
-0x0c, 0x00, 0x18, 0x00, 0x30, 0x00, 0x00, 0x00, 0x7c, 0x00, 0xfe, 0x00, 
-0xc6, 0x00, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0xc6, 0x00, 
-0xfe, 0x00, 0x7c, 0x00};
-static unsigned char helvetica18_243_bits[] = {
-0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x00, 0x00, 0x7c, 0x00, 0xfe, 0x00, 
-0xc6, 0x00, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0xc6, 0x00, 
-0xfe, 0x00, 0x7c, 0x00};
-static unsigned char helvetica18_244_bits[] = {
-0x30, 0x00, 0x78, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x7c, 0x00, 0xfe, 0x00, 
-0xc6, 0x00, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0xc6, 0x00, 
-0xfe, 0x00, 0x7c, 0x00};
-static unsigned char helvetica18_245_bits[] = {
-0x98, 0x00, 0xb4, 0x00, 0x64, 0x00, 0x00, 0x00, 0x7c, 0x00, 0xfe, 0x00, 
-0xc6, 0x00, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0xc6, 0x00, 
-0xfe, 0x00, 0x7c, 0x00};
-static unsigned char helvetica18_246_bits[] = {
-0x6c, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0xfe, 0x00, 0xc6, 0x00, 
-0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0xc6, 0x00, 0xfe, 0x00, 
-0x7c, 0x00};
-static unsigned char helvetica18_247_bits[] = {
-0x18, 0x18, 0x00, 0xff, 0xff, 0x00, 0x18, 0x18};
-static unsigned char helvetica18_248_bits[] = {
-0x70, 0x06, 0xfc, 0x03, 0x8c, 0x01, 0xc6, 0x03, 0x66, 0x03, 0x36, 0x03, 
-0x1e, 0x03, 0x8c, 0x01, 0xfe, 0x01, 0x73, 0x00};
-static unsigned char helvetica18_249_bits[] = {
-0x0c, 0x18, 0x30, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xe3, 
-0xdf, 0xce};
-static unsigned char helvetica18_250_bits[] = {
-0x60, 0x30, 0x18, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xe3, 
-0xdf, 0xce};
-static unsigned char helvetica18_251_bits[] = {
-0x18, 0x3c, 0x66, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xe3, 
-0xdf, 0xce};
-static unsigned char helvetica18_252_bits[] = {
-0x66, 0x66, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xe3, 0xdf, 
-0xce};
-static unsigned char helvetica18_253_bits[] = {
-0x60, 0x30, 0x18, 0x00, 0xc3, 0xc3, 0xc3, 0x66, 0x66, 0x66, 0x24, 0x3c, 
-0x18, 0x18, 0x18, 0x18, 0x0e, 0x0e};
-static unsigned char helvetica18_254_bits[] = {
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x7b, 0x00, 0xff, 0x00, 
-0xc7, 0x00, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0xc7, 0x00, 
-0xff, 0x00, 0x7b, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00};
-static unsigned char helvetica18_255_bits[] = {
-0x66, 0x66, 0x00, 0xc3, 0xc3, 0xc3, 0x66, 0x66, 0x66, 0x24, 0x3c, 0x18, 
-0x18, 0x18, 0x18, 0x0e, 0x0e};
-static RotFont helvetica18font[] = {
-{5, 1, 1, helvetica18_0_bits},
-{5, 1, 1, helvetica18_1_bits},
-{5, 1, 1, helvetica18_2_bits},
-{5, 1, 1, helvetica18_3_bits},
-{5, 1, 1, helvetica18_4_bits},
-{5, 1, 1, helvetica18_5_bits},
-{5, 1, 1, helvetica18_6_bits},
-{5, 1, 1, helvetica18_7_bits},
-{5, 1, 1, helvetica18_8_bits},
-{5, 1, 1, helvetica18_9_bits},
-{5, 1, 1, helvetica18_10_bits},
-{5, 1, 1, helvetica18_11_bits},
-{5, 1, 1, helvetica18_12_bits},
-{5, 1, 1, helvetica18_13_bits},
-{5, 1, 1, helvetica18_14_bits},
-{5, 1, 1, helvetica18_15_bits},
-{5, 1, 1, helvetica18_16_bits},
-{5, 1, 1, helvetica18_17_bits},
-{5, 1, 1, helvetica18_18_bits},
-{5, 1, 1, helvetica18_19_bits},
-{5, 1, 1, helvetica18_20_bits},
-{5, 1, 1, helvetica18_21_bits},
-{5, 1, 1, helvetica18_22_bits},
-{5, 1, 1, helvetica18_23_bits},
-{5, 1, 1, helvetica18_24_bits},
-{5, 1, 1, helvetica18_25_bits},
-{5, 1, 1, helvetica18_26_bits},
-{5, 1, 1, helvetica18_27_bits},
-{5, 1, 1, helvetica18_28_bits},
-{5, 1, 1, helvetica18_29_bits},
-{5, 1, 1, helvetica18_30_bits},
-{5, 1, 1, helvetica18_31_bits},
-{9, 1, 1, helvetica18_32_bits},
-{2, 14, 14, helvetica18_33_bits},
-{5, 5, 14, helvetica18_34_bits},
-{10, 13, 13, helvetica18_35_bits},
-{9, 16, 14, helvetica18_36_bits},
-{14, 13, 13, helvetica18_37_bits},
-{12, 13, 13, helvetica18_38_bits},
-{2, 5, 14, helvetica18_39_bits},
-{4, 18, 14, helvetica18_40_bits},
-{4, 18, 14, helvetica18_41_bits},
-{5, 6, 14, helvetica18_42_bits},
-{8, 10, 10, helvetica18_43_bits},
-{2, 5, 2, helvetica18_44_bits},
-{8, 2, 6, helvetica18_45_bits},
-{2, 2, 2, helvetica18_46_bits},
-{5, 14, 14, helvetica18_47_bits},
-{8, 13, 13, helvetica18_48_bits},
-{5, 13, 13, helvetica18_49_bits},
-{8, 13, 13, helvetica18_50_bits},
-{8, 13, 13, helvetica18_51_bits},
-{9, 13, 13, helvetica18_52_bits},
-{8, 13, 13, helvetica18_53_bits},
-{8, 13, 13, helvetica18_54_bits},
-{8, 13, 13, helvetica18_55_bits},
-{8, 13, 13, helvetica18_56_bits},
-{8, 13, 13, helvetica18_57_bits},
-{2, 10, 10, helvetica18_58_bits},
-{2, 13, 10, helvetica18_59_bits},
-{8, 9, 9, helvetica18_60_bits},
-{7, 6, 8, helvetica18_61_bits},
-{8, 9, 9, helvetica18_62_bits},
-{7, 14, 14, helvetica18_63_bits},
-{16, 17, 14, helvetica18_64_bits},
-{12, 14, 14, helvetica18_65_bits},
-{11, 14, 14, helvetica18_66_bits},
-{12, 14, 14, helvetica18_67_bits},
-{11, 14, 14, helvetica18_68_bits},
-{9, 14, 14, helvetica18_69_bits},
-{9, 14, 14, helvetica18_70_bits},
-{12, 14, 14, helvetica18_71_bits},
-{11, 14, 14, helvetica18_72_bits},
-{2, 14, 14, helvetica18_73_bits},
-{8, 14, 14, helvetica18_74_bits},
-{12, 14, 14, helvetica18_75_bits},
-{8, 14, 14, helvetica18_76_bits},
-{14, 14, 14, helvetica18_77_bits},
-{11, 14, 14, helvetica18_78_bits},
-{13, 14, 14, helvetica18_79_bits},
-{10, 14, 14, helvetica18_80_bits},
-{13, 15, 14, helvetica18_81_bits},
-{10, 14, 14, helvetica18_82_bits},
-{11, 14, 14, helvetica18_83_bits},
-{10, 14, 14, helvetica18_84_bits},
-{11, 14, 14, helvetica18_85_bits},
-{12, 14, 14, helvetica18_86_bits},
-{16, 14, 14, helvetica18_87_bits},
-{11, 14, 14, helvetica18_88_bits},
-{12, 14, 14, helvetica18_89_bits},
-{10, 14, 14, helvetica18_90_bits},
-{4, 18, 14, helvetica18_91_bits},
-{5, 14, 14, helvetica18_92_bits},
-{4, 18, 14, helvetica18_93_bits},
-{7, 5, 13, helvetica18_94_bits},
-{10, 2, -2, helvetica18_95_bits},
-{2, 5, 14, helvetica18_96_bits},
-{7, 10, 10, helvetica18_97_bits},
-{9, 14, 14, helvetica18_98_bits},
-{8, 10, 10, helvetica18_99_bits},
-{9, 14, 14, helvetica18_100_bits},
-{8, 10, 10, helvetica18_101_bits},
-{6, 14, 14, helvetica18_102_bits},
-{9, 14, 10, helvetica18_103_bits},
-{8, 14, 14, helvetica18_104_bits},
-{2, 14, 14, helvetica18_105_bits},
-{4, 18, 14, helvetica18_106_bits},
-{8, 14, 14, helvetica18_107_bits},
-{2, 14, 14, helvetica18_108_bits},
-{12, 10, 10, helvetica18_109_bits},
-{8, 10, 10, helvetica18_110_bits},
-{9, 10, 10, helvetica18_111_bits},
-{9, 14, 10, helvetica18_112_bits},
-{9, 14, 10, helvetica18_113_bits},
-{5, 10, 10, helvetica18_114_bits},
-{7, 10, 10, helvetica18_115_bits},
-{6, 13, 13, helvetica18_116_bits},
-{8, 10, 10, helvetica18_117_bits},
-{8, 10, 10, helvetica18_118_bits},
-{12, 10, 10, helvetica18_119_bits},
-{8, 10, 10, helvetica18_120_bits},
-{8, 14, 10, helvetica18_121_bits},
-{7, 10, 10, helvetica18_122_bits},
-{6, 18, 14, helvetica18_123_bits},
-{2, 18, 14, helvetica18_124_bits},
-{6, 18, 14, helvetica18_125_bits},
-{8, 3, 7, helvetica18_126_bits},
-{5, 1, 1, helvetica18_127_bits},
-{5, 1, 1, helvetica18_128_bits},
-{5, 1, 1, helvetica18_129_bits},
-{5, 1, 1, helvetica18_130_bits},
-{5, 1, 1, helvetica18_131_bits},
-{5, 1, 1, helvetica18_132_bits},
-{5, 1, 1, helvetica18_133_bits},
-{5, 1, 1, helvetica18_134_bits},
-{5, 1, 1, helvetica18_135_bits},
-{5, 1, 1, helvetica18_136_bits},
-{5, 1, 1, helvetica18_137_bits},
-{5, 1, 1, helvetica18_138_bits},
-{5, 1, 1, helvetica18_139_bits},
-{5, 1, 1, helvetica18_140_bits},
-{5, 1, 1, helvetica18_141_bits},
-{5, 1, 1, helvetica18_142_bits},
-{5, 1, 1, helvetica18_143_bits},
-{5, 1, 1, helvetica18_144_bits},
-{5, 1, 1, helvetica18_145_bits},
-{5, 1, 1, helvetica18_146_bits},
-{5, 1, 1, helvetica18_147_bits},
-{5, 1, 1, helvetica18_148_bits},
-{5, 1, 1, helvetica18_149_bits},
-{5, 1, 1, helvetica18_150_bits},
-{5, 1, 1, helvetica18_151_bits},
-{5, 1, 1, helvetica18_152_bits},
-{5, 1, 1, helvetica18_153_bits},
-{5, 1, 1, helvetica18_154_bits},
-{5, 1, 1, helvetica18_155_bits},
-{5, 1, 1, helvetica18_156_bits},
-{5, 1, 1, helvetica18_157_bits},
-{5, 1, 1, helvetica18_158_bits},
-{5, 1, 1, helvetica18_159_bits},
-{1, 1, 1, helvetica18_160_bits},
-{2, 14, 10, helvetica18_161_bits},
-{8, 14, 12, helvetica18_162_bits},
-{9, 13, 13, helvetica18_163_bits},
-{8, 7, 10, helvetica18_164_bits},
-{8, 13, 13, helvetica18_165_bits},
-{2, 17, 14, helvetica18_166_bits},
-{8, 18, 14, helvetica18_167_bits},
-{5, 2, 13, helvetica18_168_bits},
-{13, 13, 13, helvetica18_169_bits},
-{5, 8, 14, helvetica18_170_bits},
-{7, 8, 9, helvetica18_171_bits},
-{9, 5, 8, helvetica18_172_bits},
-{5, 2, 6, helvetica18_173_bits},
-{13, 13, 13, helvetica18_174_bits},
-{5, 1, 13, helvetica18_175_bits},
-{5, 5, 13, helvetica18_176_bits},
-{8, 11, 11, helvetica18_177_bits},
-{5, 8, 13, helvetica18_178_bits},
-{5, 8, 13, helvetica18_179_bits},
-{4, 3, 14, helvetica18_180_bits},
-{8, 14, 10, helvetica18_181_bits},
-{8, 18, 14, helvetica18_182_bits},
-{2, 2, 6, helvetica18_183_bits},
-{5, 5, 1, helvetica18_184_bits},
-{3, 8, 13, helvetica18_185_bits},
-{5, 8, 14, helvetica18_186_bits},
-{7, 8, 9, helvetica18_187_bits},
-{13, 13, 13, helvetica18_188_bits},
-{13, 13, 13, helvetica18_189_bits},
-{14, 13, 13, helvetica18_190_bits},
-{7, 14, 10, helvetica18_191_bits},
-{12, 18, 18, helvetica18_192_bits},
-{12, 18, 18, helvetica18_193_bits},
-{12, 18, 18, helvetica18_194_bits},
-{12, 18, 18, helvetica18_195_bits},
-{12, 17, 17, helvetica18_196_bits},
-{12, 18, 18, helvetica18_197_bits},
-{16, 14, 14, helvetica18_198_bits},
-{12, 18, 14, helvetica18_199_bits},
-{9, 18, 18, helvetica18_200_bits},
-{9, 18, 18, helvetica18_201_bits},
-{9, 18, 18, helvetica18_202_bits},
-{9, 17, 17, helvetica18_203_bits},
-{4, 18, 18, helvetica18_204_bits},
-{4, 18, 18, helvetica18_205_bits},
-{6, 18, 18, helvetica18_206_bits},
-{6, 17, 17, helvetica18_207_bits},
-{12, 14, 14, helvetica18_208_bits},
-{11, 18, 18, helvetica18_209_bits},
-{13, 18, 18, helvetica18_210_bits},
-{13, 18, 18, helvetica18_211_bits},
-{13, 18, 18, helvetica18_212_bits},
-{13, 18, 18, helvetica18_213_bits},
-{13, 17, 17, helvetica18_214_bits},
-{10, 9, 9, helvetica18_215_bits},
-{14, 14, 14, helvetica18_216_bits},
-{11, 18, 18, helvetica18_217_bits},
-{11, 18, 18, helvetica18_218_bits},
-{11, 18, 18, helvetica18_219_bits},
-{11, 17, 17, helvetica18_220_bits},
-{12, 18, 18, helvetica18_221_bits},
-{10, 14, 14, helvetica18_222_bits},
-{7, 14, 14, helvetica18_223_bits},
-{7, 14, 14, helvetica18_224_bits},
-{7, 14, 14, helvetica18_225_bits},
-{7, 14, 14, helvetica18_226_bits},
-{7, 14, 14, helvetica18_227_bits},
-{7, 13, 13, helvetica18_228_bits},
-{7, 14, 14, helvetica18_229_bits},
-{13, 10, 10, helvetica18_230_bits},
-{8, 14, 10, helvetica18_231_bits},
-{8, 14, 14, helvetica18_232_bits},
-{8, 14, 14, helvetica18_233_bits},
-{8, 14, 14, helvetica18_234_bits},
-{8, 13, 13, helvetica18_235_bits},
-{4, 14, 14, helvetica18_236_bits},
-{4, 14, 14, helvetica18_237_bits},
-{6, 14, 14, helvetica18_238_bits},
-{5, 13, 13, helvetica18_239_bits},
-{9, 14, 14, helvetica18_240_bits},
-{8, 14, 14, helvetica18_241_bits},
-{9, 14, 14, helvetica18_242_bits},
-{9, 14, 14, helvetica18_243_bits},
-{9, 14, 14, helvetica18_244_bits},
-{9, 14, 14, helvetica18_245_bits},
-{9, 13, 13, helvetica18_246_bits},
-{8, 8, 9, helvetica18_247_bits},
-{11, 10, 10, helvetica18_248_bits},
-{8, 14, 14, helvetica18_249_bits},
-{8, 14, 14, helvetica18_250_bits},
-{8, 14, 14, helvetica18_251_bits},
-{8, 13, 13, helvetica18_252_bits},
-{8, 18, 14, helvetica18_253_bits},
-{9, 18, 14, helvetica18_254_bits},
-{8, 17, 13, helvetica18_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/helvetica24.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/helvetica24.h	(revision 38985)
+++ 	(revision )
@@ -1,1170 +1,0 @@
-static unsigned char helvetica24_0_bits[] = {
-0x00};
-static unsigned char helvetica24_1_bits[] = {
-0x00};
-static unsigned char helvetica24_2_bits[] = {
-0x00};
-static unsigned char helvetica24_3_bits[] = {
-0x00};
-static unsigned char helvetica24_4_bits[] = {
-0x00};
-static unsigned char helvetica24_5_bits[] = {
-0x00};
-static unsigned char helvetica24_6_bits[] = {
-0x00};
-static unsigned char helvetica24_7_bits[] = {
-0x00};
-static unsigned char helvetica24_8_bits[] = {
-0x00};
-static unsigned char helvetica24_9_bits[] = {
-0x00};
-static unsigned char helvetica24_10_bits[] = {
-0x00};
-static unsigned char helvetica24_11_bits[] = {
-0x00};
-static unsigned char helvetica24_12_bits[] = {
-0x00};
-static unsigned char helvetica24_13_bits[] = {
-0x00};
-static unsigned char helvetica24_14_bits[] = {
-0x00};
-static unsigned char helvetica24_15_bits[] = {
-0x00};
-static unsigned char helvetica24_16_bits[] = {
-0x00};
-static unsigned char helvetica24_17_bits[] = {
-0x00};
-static unsigned char helvetica24_18_bits[] = {
-0x00};
-static unsigned char helvetica24_19_bits[] = {
-0x00};
-static unsigned char helvetica24_20_bits[] = {
-0x00};
-static unsigned char helvetica24_21_bits[] = {
-0x00};
-static unsigned char helvetica24_22_bits[] = {
-0x00};
-static unsigned char helvetica24_23_bits[] = {
-0x00};
-static unsigned char helvetica24_24_bits[] = {
-0x00};
-static unsigned char helvetica24_25_bits[] = {
-0x00};
-static unsigned char helvetica24_26_bits[] = {
-0x00};
-static unsigned char helvetica24_27_bits[] = {
-0x00};
-static unsigned char helvetica24_28_bits[] = {
-0x00};
-static unsigned char helvetica24_29_bits[] = {
-0x00};
-static unsigned char helvetica24_30_bits[] = {
-0x00};
-static unsigned char helvetica24_31_bits[] = {
-0x00, 0x00};
-static unsigned char helvetica24_32_bits[] = {
-0x00, 0x00};
-static unsigned char helvetica24_33_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x01, 0x01, 0x00, 0x00, 0x03, 0x03, 0x03};
-static unsigned char helvetica24_34_bits[] = {
-0x33, 0x33, 0x33, 0x33, 0x33, 0x22};
-static unsigned char helvetica24_35_bits[] = {
-0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x98, 0x01, 0xff, 0x07, 0xff, 0x07, 
-0x98, 0x01, 0x98, 0x01, 0xcc, 0x00, 0xcc, 0x00, 0xff, 0x07, 0xff, 0x07, 
-0xcc, 0x00, 0xcc, 0x00, 0x66, 0x00, 0x66, 0x00, 0x66, 0x00};
-static unsigned char helvetica24_36_bits[] = {
-0x60, 0x00, 0x60, 0x00, 0xfc, 0x01, 0xfe, 0x03, 0x67, 0x07, 0x63, 0x06, 
-0x63, 0x00, 0x67, 0x00, 0x6e, 0x00, 0x7c, 0x00, 0xf0, 0x01, 0xe0, 0x03, 
-0x60, 0x07, 0x60, 0x06, 0x63, 0x06, 0x63, 0x06, 0x67, 0x07, 0xfe, 0x03, 
-0xfc, 0x01, 0x60, 0x00, 0x60, 0x00};
-static unsigned char helvetica24_37_bits[] = {
-0x00, 0x60, 0x00, 0x3c, 0x30, 0x00, 0x7e, 0x30, 0x00, 0xc3, 0x18, 0x00, 
-0xc3, 0x18, 0x00, 0xc3, 0x0c, 0x00, 0xc3, 0x0c, 0x00, 0x7e, 0x06, 0x00, 
-0x3c, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0xe3, 0x01, 0x80, 0xf1, 0x03, 
-0x80, 0x19, 0x06, 0xc0, 0x18, 0x06, 0xc0, 0x18, 0x06, 0x60, 0x18, 0x06, 
-0x60, 0xf0, 0x03, 0x20, 0xe0, 0x01};
-static unsigned char helvetica24_38_bits[] = {
-0xf0, 0x00, 0xf8, 0x01, 0x9c, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x03, 
-0x98, 0x01, 0xf0, 0x00, 0x78, 0x00, 0xfc, 0x18, 0xce, 0x19, 0x86, 0x1b, 
-0x03, 0x0f, 0x03, 0x06, 0x03, 0x0f, 0x87, 0x1b, 0xfe, 0x39, 0x78, 0x00};
-static unsigned char helvetica24_39_bits[] = {
-0x03, 0x03, 0x03, 0x02, 0x02, 0x01};
-static unsigned char helvetica24_40_bits[] = {
-0x18, 0x18, 0x0c, 0x0c, 0x06, 0x06, 0x06, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x06, 0x06, 0x06, 0x0c, 0x0c, 0x18, 0x18};
-static unsigned char helvetica24_41_bits[] = {
-0x03, 0x03, 0x06, 0x06, 0x0c, 0x0c, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x18, 
-0x18, 0x18, 0x18, 0x18, 0x18, 0x0c, 0x0c, 0x0c, 0x06, 0x06, 0x03, 0x03};
-static unsigned char helvetica24_42_bits[] = {
-0x08, 0x08, 0x6b, 0x3e, 0x1c, 0x36, 0x22};
-static unsigned char helvetica24_43_bits[] = {
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0xff, 0x0f, 
-0xff, 0x0f, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00};
-static unsigned char helvetica24_44_bits[] = {
-0x03, 0x03, 0x03, 0x02, 0x02, 0x01};
-static unsigned char helvetica24_45_bits[] = {
-0xff, 0x07, 0xff, 0x07};
-static unsigned char helvetica24_46_bits[] = {
-0x03, 0x03, 0x03};
-static unsigned char helvetica24_47_bits[] = {
-0x60, 0x60, 0x60, 0x30, 0x30, 0x30, 0x18, 0x18, 0x18, 0x18, 0x0c, 0x0c, 
-0x0c, 0x06, 0x06, 0x06, 0x03, 0x03, 0x03};
-static unsigned char helvetica24_48_bits[] = {
-0xf8, 0x00, 0xfc, 0x01, 0x8e, 0x03, 0x06, 0x03, 0x06, 0x03, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x06, 0x03, 0x06, 0x03, 0x8e, 0x03, 0xfc, 0x01, 0xf8, 0x00};
-static unsigned char helvetica24_49_bits[] = {
-0x30, 0x30, 0x38, 0x3f, 0x3f, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 
-0x30, 0x30, 0x30, 0x30, 0x30, 0x30};
-static unsigned char helvetica24_50_bits[] = {
-0x78, 0x00, 0xfe, 0x01, 0x86, 0x03, 0x03, 0x03, 0x03, 0x06, 0x03, 0x06, 
-0x00, 0x06, 0x00, 0x03, 0x80, 0x03, 0xc0, 0x01, 0xf0, 0x00, 0x38, 0x00, 
-0x1c, 0x00, 0x0e, 0x00, 0x07, 0x00, 0x03, 0x00, 0xff, 0x07, 0xff, 0x07};
-static unsigned char helvetica24_51_bits[] = {
-0xf8, 0x00, 0xfe, 0x01, 0x86, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x00, 0x03, 0x80, 0x01, 0xf0, 0x00, 0xf0, 0x03, 0x00, 0x03, 0x00, 0x06, 
-0x00, 0x06, 0x03, 0x06, 0x03, 0x03, 0x86, 0x03, 0xfe, 0x01, 0xf8, 0x00};
-static unsigned char helvetica24_52_bits[] = {
-0x80, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xe0, 0x01, 0xf0, 0x01, 0xb0, 0x01, 
-0x98, 0x01, 0x9c, 0x01, 0x8c, 0x01, 0x86, 0x01, 0x87, 0x01, 0x83, 0x01, 
-0xff, 0x07, 0xff, 0x07, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01};
-static unsigned char helvetica24_53_bits[] = {
-0xfe, 0x03, 0xfe, 0x03, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 
-0x76, 0x00, 0xfe, 0x01, 0x8e, 0x03, 0x00, 0x03, 0x00, 0x06, 0x00, 0x06, 
-0x00, 0x06, 0x03, 0x06, 0x03, 0x03, 0x87, 0x03, 0xfe, 0x01, 0x78, 0x00};
-static unsigned char helvetica24_54_bits[] = {
-0xf0, 0x00, 0xfc, 0x03, 0x0e, 0x03, 0x06, 0x06, 0x07, 0x06, 0x03, 0x00, 
-0x03, 0x00, 0xf3, 0x00, 0xfb, 0x01, 0x8f, 0x03, 0x07, 0x03, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x07, 0x06, 0x06, 0x03, 0xfe, 0x03, 0xf8, 0x00};
-static unsigned char helvetica24_55_bits[] = {
-0xff, 0x07, 0xff, 0x07, 0x00, 0x07, 0x00, 0x03, 0x80, 0x01, 0x80, 0x01, 
-0xc0, 0x00, 0xc0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x30, 0x00, 0x30, 0x00, 
-0x38, 0x00, 0x18, 0x00, 0x18, 0x00, 0x1c, 0x00, 0x0c, 0x00, 0x0c, 0x00};
-static unsigned char helvetica24_56_bits[] = {
-0x70, 0x00, 0xfc, 0x01, 0x8c, 0x01, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x8c, 0x01, 0xf8, 0x00, 0xfc, 0x01, 0x06, 0x03, 0x07, 0x07, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x8e, 0x03, 0xfe, 0x03, 0xf8, 0x00};
-static unsigned char helvetica24_57_bits[] = {
-0xf8, 0x00, 0xfe, 0x03, 0x8e, 0x03, 0x07, 0x03, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x07, 0x07, 0x8e, 0x07, 0xfe, 0x06, 0x78, 0x06, 
-0x00, 0x06, 0x00, 0x07, 0x03, 0x03, 0x87, 0x03, 0xfe, 0x01, 0x78, 0x00};
-static unsigned char helvetica24_58_bits[] = {
-0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
-0x03, 0x03};
-static unsigned char helvetica24_59_bits[] = {
-0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
-0x03, 0x03, 0x02, 0x02, 0x01};
-static unsigned char helvetica24_60_bits[] = {
-0x00, 0x0c, 0x00, 0x0f, 0xc0, 0x03, 0xf0, 0x00, 0x3c, 0x00, 0x07, 0x00, 
-0x07, 0x00, 0x3c, 0x00, 0xf0, 0x00, 0xc0, 0x03, 0x00, 0x0f, 0x00, 0x0c};
-static unsigned char helvetica24_61_bits[] = {
-0xff, 0x03, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0xff, 0x03};
-static unsigned char helvetica24_62_bits[] = {
-0x03, 0x00, 0x0f, 0x00, 0x3c, 0x00, 0xf0, 0x00, 0xc0, 0x03, 0x00, 0x0e, 
-0x00, 0x0e, 0xc0, 0x03, 0xf0, 0x00, 0x3c, 0x00, 0x0f, 0x00, 0x03, 0x00};
-static unsigned char helvetica24_63_bits[] = {
-0xf8, 0x00, 0xfe, 0x01, 0x8e, 0x03, 0x07, 0x03, 0x03, 0x03, 0x83, 0x03, 
-0x80, 0x01, 0xc0, 0x01, 0xe0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x30, 0x00, 
-0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 
-0x30, 0x00};
-static unsigned char helvetica24_64_bits[] = {
-0x00, 0xff, 0x00, 0xc0, 0xff, 0x03, 0xf0, 0x80, 0x07, 0x38, 0x00, 0x0e, 
-0x1c, 0x00, 0x18, 0x0c, 0x00, 0x18, 0x06, 0xce, 0x30, 0x06, 0xdf, 0x30, 
-0x83, 0xe3, 0x30, 0xc3, 0x61, 0x30, 0xc3, 0x60, 0x30, 0x63, 0x60, 0x30, 
-0x63, 0x30, 0x38, 0x63, 0x30, 0x18, 0x63, 0x30, 0x1c, 0xe7, 0x38, 0x0e, 
-0xc6, 0xef, 0x07, 0x8e, 0xc7, 0x01, 0x1c, 0x00, 0x00, 0x38, 0x00, 0x00, 
-0xf0, 0xc0, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x3f, 0x00};
-static unsigned char helvetica24_65_bits[] = {
-0xc0, 0x01, 0xc0, 0x01, 0x60, 0x03, 0x60, 0x03, 0x30, 0x02, 0x30, 0x06, 
-0x30, 0x06, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x0c, 0x18, 0xfc, 0x1f, 
-0xfc, 0x1f, 0x06, 0x30, 0x06, 0x30, 0x06, 0x30, 0x03, 0x60, 0x03, 0x60, 
-0x03, 0x60};
-static unsigned char helvetica24_66_bits[] = {
-0xff, 0x03, 0xff, 0x0f, 0x03, 0x0e, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 
-0x03, 0x18, 0x03, 0x0c, 0xff, 0x07, 0xff, 0x0f, 0x03, 0x18, 0x03, 0x30, 
-0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x38, 0x03, 0x1c, 0xff, 0x0f, 
-0xff, 0x03};
-static unsigned char helvetica24_67_bits[] = {
-0xe0, 0x07, 0xf8, 0x1f, 0x3c, 0x3c, 0x0e, 0x70, 0x06, 0x60, 0x07, 0x60, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0xc0, 0x07, 0xc0, 0x06, 0x60, 0x0e, 0x70, 0x3c, 0x3c, 0xf8, 0x1f, 
-0xe0, 0x07};
-static unsigned char helvetica24_68_bits[] = {
-0xff, 0x03, 0xff, 0x0f, 0x03, 0x1e, 0x03, 0x38, 0x03, 0x30, 0x03, 0x70, 
-0x03, 0x60, 0x03, 0x60, 0x03, 0x60, 0x03, 0x60, 0x03, 0x60, 0x03, 0x60, 
-0x03, 0x60, 0x03, 0x70, 0x03, 0x30, 0x03, 0x38, 0x03, 0x1e, 0xff, 0x0f, 
-0xff, 0x03};
-static unsigned char helvetica24_69_bits[] = {
-0xff, 0x0f, 0xff, 0x0f, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0xff, 0x07, 0xff, 0x07, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x0f, 
-0xff, 0x0f};
-static unsigned char helvetica24_70_bits[] = {
-0xff, 0x07, 0xff, 0x07, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x03, 0xff, 0x03, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00};
-static unsigned char helvetica24_71_bits[] = {
-0xe0, 0x07, 0xf8, 0x1f, 0x3c, 0x3c, 0x0e, 0x70, 0x06, 0x60, 0x07, 0x60, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0xfe, 0x03, 0xfe, 0x03, 0xc0, 
-0x03, 0xc0, 0x07, 0xc0, 0x06, 0xe0, 0x0e, 0xf0, 0x3c, 0xfc, 0xf8, 0xdf, 
-0xe0, 0xc7};
-static unsigned char helvetica24_72_bits[] = {
-0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 
-0x03, 0x30, 0x03, 0x30, 0xff, 0x3f, 0xff, 0x3f, 0x03, 0x30, 0x03, 0x30, 
-0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 
-0x03, 0x30};
-static unsigned char helvetica24_73_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char helvetica24_74_bits[] = {
-0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 
-0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x86, 0x01, 0xfe, 0x01, 
-0xfc, 0x00};
-static unsigned char helvetica24_75_bits[] = {
-0x03, 0x1c, 0x03, 0x0e, 0x03, 0x07, 0x83, 0x03, 0xc3, 0x01, 0xe3, 0x00, 
-0x73, 0x00, 0x3b, 0x00, 0x3f, 0x00, 0x7f, 0x00, 0xe7, 0x00, 0xc3, 0x01, 
-0x83, 0x03, 0x03, 0x07, 0x03, 0x0e, 0x03, 0x1c, 0x03, 0x38, 0x03, 0x70, 
-0x03, 0x60};
-static unsigned char helvetica24_76_bits[] = {
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x07, 
-0xff, 0x07};
-static unsigned char helvetica24_77_bits[] = {
-0x03, 0x80, 0x01, 0x07, 0xc0, 0x01, 0x07, 0xc0, 0x01, 0x0f, 0xe0, 0x01, 
-0x0f, 0xe0, 0x01, 0x1b, 0xb0, 0x01, 0x1b, 0xb0, 0x01, 0x1b, 0xb0, 0x01, 
-0x33, 0x98, 0x01, 0x33, 0x98, 0x01, 0x33, 0x98, 0x01, 0x63, 0x8c, 0x01, 
-0x63, 0x8c, 0x01, 0x63, 0x8c, 0x01, 0xc3, 0x86, 0x01, 0xc3, 0x86, 0x01, 
-0xc3, 0x86, 0x01, 0x83, 0x83, 0x01, 0x83, 0x83, 0x01};
-static unsigned char helvetica24_78_bits[] = {
-0x07, 0x30, 0x0f, 0x30, 0x0f, 0x30, 0x1b, 0x30, 0x3b, 0x30, 0x33, 0x30, 
-0x73, 0x30, 0x63, 0x30, 0xe3, 0x30, 0xc3, 0x30, 0xc3, 0x31, 0x83, 0x31, 
-0x83, 0x33, 0x03, 0x33, 0x03, 0x37, 0x03, 0x36, 0x03, 0x3c, 0x03, 0x3c, 
-0x03, 0x38};
-static unsigned char helvetica24_79_bits[] = {
-0xe0, 0x07, 0xf8, 0x1f, 0x3c, 0x3c, 0x0e, 0x70, 0x06, 0x60, 0x07, 0xe0, 
-0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 
-0x03, 0xc0, 0x07, 0xe0, 0x06, 0x60, 0x0e, 0x70, 0x3c, 0x3c, 0xf8, 0x1f, 
-0xe0, 0x07};
-static unsigned char helvetica24_80_bits[] = {
-0xff, 0x07, 0xff, 0x0f, 0x03, 0x0c, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 
-0x03, 0x18, 0x03, 0x0c, 0xff, 0x0f, 0xff, 0x07, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00};
-static unsigned char helvetica24_81_bits[] = {
-0xe0, 0x07, 0xf8, 0x1f, 0x3c, 0x3c, 0x0e, 0x70, 0x06, 0x60, 0x07, 0xe0, 
-0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 
-0x03, 0xc0, 0x07, 0xe0, 0x06, 0x67, 0x0e, 0x7e, 0x3c, 0x38, 0xf8, 0x7f, 
-0xe0, 0xe7};
-static unsigned char helvetica24_82_bits[] = {
-0xff, 0x07, 0xff, 0x0f, 0x03, 0x0c, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 
-0x03, 0x18, 0x03, 0x0c, 0xff, 0x0f, 0xff, 0x07, 0x03, 0x0e, 0x03, 0x0c, 
-0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 
-0x03, 0x18};
-static unsigned char helvetica24_83_bits[] = {
-0xe0, 0x03, 0xf8, 0x0f, 0x1c, 0x1c, 0x0e, 0x18, 0x06, 0x18, 0x06, 0x00, 
-0x0e, 0x00, 0x7c, 0x00, 0xf0, 0x03, 0x80, 0x0f, 0x00, 0x1e, 0x00, 0x38, 
-0x00, 0x30, 0x03, 0x30, 0x03, 0x30, 0x07, 0x38, 0x1e, 0x1c, 0xfc, 0x0f, 
-0xf0, 0x03};
-static unsigned char helvetica24_84_bits[] = {
-0xff, 0x3f, 0xff, 0x3f, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 
-0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 
-0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 
-0xc0, 0x00};
-static unsigned char helvetica24_85_bits[] = {
-0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 
-0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 
-0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x06, 0x18, 0x0e, 0x1c, 0xfc, 0x0f, 
-0xf0, 0x03};
-static unsigned char helvetica24_86_bits[] = {
-0x03, 0x60, 0x03, 0x60, 0x07, 0x70, 0x06, 0x30, 0x0e, 0x38, 0x0c, 0x18, 
-0x0c, 0x18, 0x1c, 0x1c, 0x18, 0x0c, 0x18, 0x0c, 0x38, 0x0e, 0x30, 0x06, 
-0x30, 0x06, 0x70, 0x07, 0x60, 0x03, 0x60, 0x03, 0xc0, 0x01, 0xc0, 0x01, 
-0xc0, 0x01};
-static unsigned char helvetica24_87_bits[] = {
-0x03, 0x06, 0x0c, 0x03, 0x06, 0x0c, 0x03, 0x06, 0x0c, 0x03, 0x0f, 0x0c, 
-0x06, 0x0f, 0x06, 0x86, 0x19, 0x06, 0x86, 0x19, 0x06, 0x86, 0x19, 0x06, 
-0x86, 0x19, 0x06, 0x8c, 0x19, 0x03, 0xcc, 0x30, 0x03, 0xcc, 0x30, 0x03, 
-0xcc, 0x30, 0x03, 0xd8, 0xb0, 0x01, 0xd8, 0xb0, 0x01, 0x78, 0xe0, 0x01, 
-0x70, 0xe0, 0x00, 0x30, 0xc0, 0x00, 0x30, 0xc0, 0x00};
-static unsigned char helvetica24_88_bits[] = {
-0x03, 0x60, 0x07, 0x70, 0x0e, 0x38, 0x0c, 0x18, 0x18, 0x0c, 0x38, 0x0e, 
-0x70, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0xc0, 0x01, 0xe0, 0x03, 0x70, 0x07, 
-0x30, 0x06, 0x38, 0x0e, 0x1c, 0x1c, 0x0c, 0x18, 0x06, 0x30, 0x07, 0x70, 
-0x03, 0x60};
-static unsigned char helvetica24_89_bits[] = {
-0x03, 0x30, 0x07, 0x38, 0x06, 0x18, 0x0e, 0x1c, 0x0c, 0x0c, 0x1c, 0x0e, 
-0x18, 0x06, 0x38, 0x07, 0x30, 0x03, 0xf0, 0x03, 0xe0, 0x01, 0xe0, 0x01, 
-0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 
-0xc0, 0x00};
-static unsigned char helvetica24_90_bits[] = {
-0xff, 0x1f, 0xff, 0x1f, 0x00, 0x1c, 0x00, 0x0e, 0x00, 0x07, 0x80, 0x03, 
-0x80, 0x03, 0xc0, 0x01, 0xe0, 0x00, 0xe0, 0x00, 0x70, 0x00, 0x38, 0x00, 
-0x38, 0x00, 0x1c, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x07, 0x00, 0xff, 0x1f, 
-0xff, 0x1f};
-static unsigned char helvetica24_91_bits[] = {
-0x0f, 0x0f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0f, 0x0f};
-static unsigned char helvetica24_92_bits[] = {
-0x03, 0x03, 0x03, 0x06, 0x06, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x18, 0x18, 
-0x18, 0x30, 0x30, 0x30, 0x60, 0x60, 0x60};
-static unsigned char helvetica24_93_bits[] = {
-0x0f, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0f};
-static unsigned char helvetica24_94_bits[] = {
-0x30, 0x00, 0x30, 0x00, 0x78, 0x00, 0x48, 0x00, 0xcc, 0x00, 0x86, 0x01, 
-0x86, 0x01, 0x03, 0x03, 0x03, 0x03};
-static unsigned char helvetica24_95_bits[] = {
-0xff, 0x3f, 0xff, 0x3f};
-static unsigned char helvetica24_96_bits[] = {
-0x02, 0x01, 0x01, 0x03, 0x03, 0x03};
-static unsigned char helvetica24_97_bits[] = {
-0xf8, 0x00, 0xfc, 0x01, 0x86, 0x03, 0x06, 0x03, 0x00, 0x03, 0xe0, 0x03, 
-0xfc, 0x03, 0x1e, 0x03, 0x07, 0x03, 0x03, 0x03, 0x83, 0x03, 0xc7, 0x03, 
-0x7e, 0x07, 0x3c, 0x06};
-static unsigned char helvetica24_98_bits[] = {
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xf3, 0x00, 
-0xfb, 0x01, 0x8f, 0x03, 0x07, 0x03, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x07, 0x03, 0x8f, 0x03, 0xfb, 0x01, 
-0xf3, 0x00};
-static unsigned char helvetica24_99_bits[] = {
-0xf8, 0x00, 0xfc, 0x01, 0x8e, 0x03, 0x06, 0x03, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x06, 0x03, 0x8e, 0x03, 
-0xfc, 0x01, 0xf8, 0x00};
-static unsigned char helvetica24_100_bits[] = {
-0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x78, 0x06, 
-0xfc, 0x06, 0x8e, 0x07, 0x06, 0x07, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x06, 0x07, 0x8e, 0x07, 0xfc, 0x06, 
-0x78, 0x06};
-static unsigned char helvetica24_101_bits[] = {
-0x70, 0x00, 0xfc, 0x01, 0x8e, 0x03, 0x06, 0x03, 0x03, 0x06, 0x03, 0x06, 
-0xff, 0x07, 0xff, 0x07, 0x03, 0x00, 0x03, 0x00, 0x06, 0x06, 0x0e, 0x07, 
-0xfc, 0x03, 0xf0, 0x00};
-static unsigned char helvetica24_102_bits[] = {
-0x38, 0x3c, 0x0c, 0x0c, 0x0c, 0x3f, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c};
-static unsigned char helvetica24_103_bits[] = {
-0x78, 0x06, 0xfc, 0x06, 0x8e, 0x07, 0x06, 0x07, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x06, 0x07, 0x8e, 0x07, 
-0xfc, 0x06, 0x78, 0x06, 0x00, 0x06, 0x03, 0x06, 0x07, 0x03, 0xfe, 0x03, 
-0xf8, 0x00};
-static unsigned char helvetica24_104_bits[] = {
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x73, 0x00, 
-0xfb, 0x01, 0x8f, 0x01, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03};
-static unsigned char helvetica24_105_bits[] = {
-0x03, 0x03, 0x03, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char helvetica24_106_bits[] = {
-0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x07};
-static unsigned char helvetica24_107_bits[] = {
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x83, 0x01, 
-0xc3, 0x01, 0xe3, 0x00, 0x73, 0x00, 0x3b, 0x00, 0x1f, 0x00, 0x3f, 0x00, 
-0x73, 0x00, 0x63, 0x00, 0xe3, 0x00, 0xc3, 0x01, 0x83, 0x01, 0x83, 0x03, 
-0x03, 0x03};
-static unsigned char helvetica24_108_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char helvetica24_109_bits[] = {
-0x73, 0x3c, 0xff, 0x7e, 0xc7, 0xe3, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 
-0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 
-0x83, 0xc1, 0x83, 0xc1};
-static unsigned char helvetica24_110_bits[] = {
-0x73, 0x00, 0xfb, 0x01, 0x8f, 0x01, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03};
-static unsigned char helvetica24_111_bits[] = {
-0xf8, 0x00, 0xfc, 0x01, 0x8e, 0x03, 0x06, 0x03, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x06, 0x03, 0x8e, 0x03, 
-0xfc, 0x01, 0xf8, 0x00};
-static unsigned char helvetica24_112_bits[] = {
-0xf3, 0x00, 0xfb, 0x01, 0x8f, 0x03, 0x07, 0x03, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x07, 0x03, 0x8f, 0x03, 
-0xfb, 0x01, 0xf3, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00};
-static unsigned char helvetica24_113_bits[] = {
-0x78, 0x06, 0xfc, 0x06, 0x8e, 0x07, 0x06, 0x07, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x06, 0x07, 0x8e, 0x07, 
-0xfc, 0x06, 0x78, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 
-0x00, 0x06};
-static unsigned char helvetica24_114_bits[] = {
-0x33, 0x3b, 0x3f, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03};
-static unsigned char helvetica24_115_bits[] = {
-0x7c, 0x00, 0xfe, 0x01, 0x87, 0x03, 0x03, 0x03, 0x03, 0x00, 0x1f, 0x00, 
-0xfe, 0x00, 0xf0, 0x01, 0x80, 0x03, 0x00, 0x03, 0x03, 0x03, 0x83, 0x03, 
-0xff, 0x01, 0xfc, 0x00};
-static unsigned char helvetica24_116_bits[] = {
-0x0c, 0x0c, 0x0c, 0x0c, 0x3f, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x3c, 0x38};
-static unsigned char helvetica24_117_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x83, 0x03, 0xc6, 0x03, 
-0x7e, 0x03, 0x38, 0x03};
-static unsigned char helvetica24_118_bits[] = {
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x06, 0x03, 0x06, 0x03, 0x8e, 0x03, 
-0x8c, 0x01, 0x8c, 0x01, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x70, 0x00, 
-0x70, 0x00, 0x70, 0x00};
-static unsigned char helvetica24_119_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x86, 0x87, 0x01, 0x86, 0x87, 0x01, 
-0x86, 0x87, 0x01, 0x8c, 0xc4, 0x00, 0xcc, 0xcc, 0x00, 0xcc, 0xcc, 0x00, 
-0xd8, 0x6c, 0x00, 0x58, 0x68, 0x00, 0x78, 0x78, 0x00, 0x70, 0x38, 0x00, 
-0x30, 0x30, 0x00, 0x30, 0x30, 0x00};
-static unsigned char helvetica24_120_bits[] = {
-0x03, 0x03, 0x87, 0x03, 0x86, 0x01, 0xcc, 0x00, 0xfc, 0x00, 0x78, 0x00, 
-0x30, 0x00, 0x78, 0x00, 0x78, 0x00, 0xcc, 0x00, 0xce, 0x01, 0x86, 0x01, 
-0x87, 0x03, 0x03, 0x03};
-static unsigned char helvetica24_121_bits[] = {
-0x03, 0x0c, 0x03, 0x0c, 0x06, 0x0c, 0x0e, 0x06, 0x0c, 0x06, 0x1c, 0x07, 
-0x18, 0x03, 0x18, 0x03, 0xb0, 0x01, 0xb0, 0x01, 0xe0, 0x01, 0xe0, 0x00, 
-0xc0, 0x00, 0xc0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x30, 0x00, 0x3c, 0x00, 
-0x1c, 0x00};
-static unsigned char helvetica24_122_bits[] = {
-0xff, 0x03, 0xff, 0x03, 0x80, 0x01, 0xc0, 0x00, 0xe0, 0x00, 0x70, 0x00, 
-0x30, 0x00, 0x38, 0x00, 0x1c, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x07, 0x00, 
-0xff, 0x03, 0xff, 0x03};
-static unsigned char helvetica24_123_bits[] = {
-0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x06, 0x03, 
-0x03, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x18, 0x30};
-static unsigned char helvetica24_124_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char helvetica24_125_bits[] = {
-0x03, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 
-0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x06, 0x03};
-static unsigned char helvetica24_126_bits[] = {
-0x0e, 0x03, 0x3f, 0x03, 0xf3, 0x03, 0xc3, 0x01};
-static unsigned char helvetica24_127_bits[] = {
-0x00};
-static unsigned char helvetica24_128_bits[] = {
-0x00};
-static unsigned char helvetica24_129_bits[] = {
-0x00};
-static unsigned char helvetica24_130_bits[] = {
-0x00};
-static unsigned char helvetica24_131_bits[] = {
-0x00};
-static unsigned char helvetica24_132_bits[] = {
-0x00};
-static unsigned char helvetica24_133_bits[] = {
-0x00};
-static unsigned char helvetica24_134_bits[] = {
-0x00};
-static unsigned char helvetica24_135_bits[] = {
-0x00};
-static unsigned char helvetica24_136_bits[] = {
-0x00};
-static unsigned char helvetica24_137_bits[] = {
-0x00};
-static unsigned char helvetica24_138_bits[] = {
-0x00};
-static unsigned char helvetica24_139_bits[] = {
-0x00};
-static unsigned char helvetica24_140_bits[] = {
-0x00};
-static unsigned char helvetica24_141_bits[] = {
-0x00};
-static unsigned char helvetica24_142_bits[] = {
-0x00};
-static unsigned char helvetica24_143_bits[] = {
-0x00};
-static unsigned char helvetica24_144_bits[] = {
-0x00};
-static unsigned char helvetica24_145_bits[] = {
-0x00};
-static unsigned char helvetica24_146_bits[] = {
-0x00};
-static unsigned char helvetica24_147_bits[] = {
-0x00};
-static unsigned char helvetica24_148_bits[] = {
-0x00};
-static unsigned char helvetica24_149_bits[] = {
-0x00};
-static unsigned char helvetica24_150_bits[] = {
-0x00};
-static unsigned char helvetica24_151_bits[] = {
-0x00};
-static unsigned char helvetica24_152_bits[] = {
-0x00};
-static unsigned char helvetica24_153_bits[] = {
-0x00};
-static unsigned char helvetica24_154_bits[] = {
-0x00};
-static unsigned char helvetica24_155_bits[] = {
-0x00};
-static unsigned char helvetica24_156_bits[] = {
-0x00};
-static unsigned char helvetica24_157_bits[] = {
-0x00};
-static unsigned char helvetica24_158_bits[] = {
-0x00};
-static unsigned char helvetica24_159_bits[] = {
-0x00};
-static unsigned char helvetica24_160_bits[] = {
-0x00};
-static unsigned char helvetica24_161_bits[] = {
-0x03, 0x03, 0x03, 0x00, 0x00, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char helvetica24_162_bits[] = {
-0x80, 0x01, 0x80, 0x01, 0xf8, 0x00, 0xfc, 0x01, 0xce, 0x03, 0x66, 0x03, 
-0x63, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0x00, 0x1b, 0x00, 0x1b, 0x00, 
-0x1b, 0x03, 0x8e, 0x03, 0xfe, 0x01, 0xfc, 0x00, 0x06, 0x00, 0x06, 0x00};
-static unsigned char helvetica24_163_bits[] = {
-0xf8, 0x01, 0xfc, 0x07, 0x0e, 0x0e, 0x06, 0x0c, 0x06, 0x00, 0x0e, 0x00, 
-0x0c, 0x00, 0x18, 0x00, 0xff, 0x01, 0xff, 0x01, 0x18, 0x00, 0x18, 0x00, 
-0x18, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0xe6, 0x0c, 0xff, 0x0f, 0x0f, 0x07};
-static unsigned char helvetica24_164_bits[] = {
-0x03, 0x06, 0x77, 0x07, 0xfe, 0x03, 0x8c, 0x01, 0x06, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x8c, 0x01, 0xfe, 0x03, 0x77, 0x07, 0x03, 0x06};
-static unsigned char helvetica24_165_bits[] = {
-0x07, 0x38, 0x06, 0x18, 0x0e, 0x1c, 0x0c, 0x0c, 0x1c, 0x0e, 0x18, 0x06, 
-0x38, 0x07, 0x30, 0x03, 0xfc, 0x0f, 0xfc, 0x0f, 0xc0, 0x00, 0xfc, 0x0f, 
-0xfc, 0x0f, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00};
-static unsigned char helvetica24_166_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char helvetica24_167_bits[] = {
-0xf8, 0x00, 0xfc, 0x01, 0x8e, 0x03, 0x06, 0x03, 0x0e, 0x03, 0x1c, 0x00, 
-0x38, 0x00, 0x7e, 0x00, 0xe7, 0x00, 0xc3, 0x01, 0x83, 0x03, 0x03, 0x03, 
-0x06, 0x06, 0x0e, 0x06, 0x1c, 0x06, 0x38, 0x03, 0xf0, 0x01, 0xe0, 0x00, 
-0xc0, 0x01, 0x86, 0x03, 0x06, 0x03, 0x8e, 0x03, 0xfc, 0x01, 0xf8, 0x00};
-static unsigned char helvetica24_168_bits[] = {
-0x33, 0x33};
-static unsigned char helvetica24_169_bits[] = {
-0xe0, 0x0f, 0x00, 0x38, 0x38, 0x00, 0x0c, 0x60, 0x00, 0x06, 0xc0, 0x00, 
-0xc2, 0x87, 0x00, 0x63, 0x8c, 0x01, 0x31, 0x08, 0x01, 0x11, 0x00, 0x01, 
-0x11, 0x00, 0x01, 0x11, 0x00, 0x01, 0x31, 0x08, 0x01, 0x63, 0x8c, 0x01, 
-0xc2, 0x87, 0x00, 0x06, 0xc0, 0x00, 0x0c, 0x60, 0x00, 0x38, 0x38, 0x00, 
-0xe0, 0x0f, 0x00};
-static unsigned char helvetica24_170_bits[] = {
-0x1e, 0x33, 0x33, 0x30, 0x3e, 0x33, 0x33, 0x3b, 0x6e, 0x00, 0x7f, 0x7f};
-static unsigned char helvetica24_171_bits[] = {
-0x98, 0x01, 0xcc, 0x00, 0x66, 0x00, 0x33, 0x00, 0x33, 0x00, 0x66, 0x00, 
-0xcc, 0x00, 0x98, 0x01};
-static unsigned char helvetica24_172_bits[] = {
-0xff, 0x1f, 0xff, 0x1f, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 
-0x00, 0x18, 0x00, 0x18};
-static unsigned char helvetica24_173_bits[] = {
-0x3f, 0x3f};
-static unsigned char helvetica24_174_bits[] = {
-0xe0, 0x0f, 0x00, 0x38, 0x38, 0x00, 0x0c, 0x60, 0x00, 0x06, 0xc0, 0x00, 
-0xc2, 0x87, 0x00, 0x43, 0x88, 0x01, 0x41, 0x08, 0x01, 0x41, 0x08, 0x01, 
-0xc1, 0x07, 0x01, 0x41, 0x02, 0x01, 0x41, 0x04, 0x01, 0x43, 0x84, 0x01, 
-0x42, 0x88, 0x00, 0x06, 0xc0, 0x00, 0x0c, 0x60, 0x00, 0x38, 0x38, 0x00, 
-0xe0, 0x0f, 0x00};
-static unsigned char helvetica24_175_bits[] = {
-0x3f, 0x3f};
-static unsigned char helvetica24_176_bits[] = {
-0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0x66, 0x3c};
-static unsigned char helvetica24_177_bits[] = {
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0xff, 0x0f, 0xff, 0x0f, 
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 0xff, 0x0f, 
-0xff, 0x0f};
-static unsigned char helvetica24_178_bits[] = {
-0x3c, 0x7e, 0x63, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x7f, 0x7f};
-static unsigned char helvetica24_179_bits[] = {
-0x3e, 0x7f, 0x63, 0x60, 0x3c, 0x3c, 0x60, 0x63, 0x7f, 0x3e};
-static unsigned char helvetica24_180_bits[] = {
-0x18, 0x0c, 0x06, 0x03};
-static unsigned char helvetica24_181_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x83, 0x03, 0xc7, 0x03, 
-0x7f, 0x03, 0x3b, 0x03, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00};
-static unsigned char helvetica24_182_bits[] = {
-0xf8, 0x03, 0xfe, 0x03, 0x9e, 0x01, 0x9f, 0x01, 0x9f, 0x01, 0x9f, 0x01, 
-0x9f, 0x01, 0x9f, 0x01, 0x9f, 0x01, 0x9e, 0x01, 0x9e, 0x01, 0x9c, 0x01, 
-0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 
-0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 0x98, 0x01};
-static unsigned char helvetica24_183_bits[] = {
-0x03, 0x03, 0x03};
-static unsigned char helvetica24_184_bits[] = {
-0x06, 0x0e, 0x18, 0x18, 0x1f, 0x0e};
-static unsigned char helvetica24_185_bits[] = {
-0x0c, 0x0c, 0x0f, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c};
-static unsigned char helvetica24_186_bits[] = {
-0x1c, 0x36, 0x63, 0x63, 0x63, 0x63, 0x63, 0x36, 0x1c, 0x00, 0x7f, 0x7f};
-static unsigned char helvetica24_187_bits[] = {
-0x33, 0x00, 0x66, 0x00, 0xcc, 0x00, 0x98, 0x01, 0x98, 0x01, 0xcc, 0x00, 
-0x66, 0x00, 0x33, 0x00};
-static unsigned char helvetica24_188_bits[] = {
-0x0c, 0x18, 0x00, 0x0c, 0x18, 0x00, 0x0f, 0x0c, 0x00, 0x0f, 0x0c, 0x00, 
-0x0c, 0x06, 0x00, 0x0c, 0x06, 0x00, 0x0c, 0x03, 0x00, 0x0c, 0x03, 0x00, 
-0x8c, 0xc1, 0x00, 0x8c, 0xe1, 0x00, 0xc0, 0xf0, 0x00, 0xc0, 0xf0, 0x00, 
-0x60, 0xd8, 0x00, 0x60, 0xcc, 0x00, 0x30, 0xfe, 0x03, 0x30, 0xfe, 0x03, 
-0x18, 0xc0, 0x00, 0x18, 0xc0, 0x00};
-static unsigned char helvetica24_189_bits[] = {
-0x0c, 0x18, 0x00, 0x0c, 0x18, 0x00, 0x0f, 0x0c, 0x00, 0x0f, 0x0c, 0x00, 
-0x0c, 0x06, 0x00, 0x0c, 0x06, 0x00, 0x0c, 0x03, 0x00, 0x0c, 0x03, 0x00, 
-0x8c, 0xe1, 0x01, 0x8c, 0xf1, 0x03, 0xc0, 0x18, 0x03, 0xc0, 0x00, 0x03, 
-0x60, 0x80, 0x01, 0x60, 0xc0, 0x00, 0x30, 0x60, 0x00, 0x30, 0x30, 0x00, 
-0x18, 0xf8, 0x03, 0x18, 0xf8, 0x03};
-static unsigned char helvetica24_190_bits[] = {
-0x3e, 0x30, 0x00, 0x7f, 0x30, 0x00, 0x63, 0x18, 0x00, 0x60, 0x18, 0x00, 
-0x3c, 0x0c, 0x00, 0x3c, 0x0c, 0x00, 0x60, 0x06, 0x00, 0x63, 0x06, 0x00, 
-0x7f, 0x83, 0x01, 0x3e, 0xc3, 0x01, 0x80, 0xe1, 0x01, 0x80, 0xe1, 0x01, 
-0xc0, 0xb0, 0x01, 0xc0, 0x98, 0x01, 0x60, 0xfc, 0x07, 0x60, 0xfc, 0x07, 
-0x30, 0x80, 0x01, 0x30, 0x80, 0x01};
-static unsigned char helvetica24_191_bits[] = {
-0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 
-0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x18, 0x00, 0x1c, 0x00, 0x0e, 0x00, 
-0x06, 0x00, 0x07, 0x03, 0x03, 0x03, 0x83, 0x03, 0xc7, 0x01, 0xfe, 0x01, 
-0x7c, 0x00};
-static unsigned char helvetica24_192_bits[] = {
-0x30, 0x00, 0x60, 0x00, 0xc0, 0x00, 0x80, 0x01, 0x00, 0x00, 0xc0, 0x01, 
-0xc0, 0x01, 0x60, 0x03, 0x60, 0x03, 0x30, 0x02, 0x30, 0x06, 0x30, 0x06, 
-0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x0c, 0x18, 0xfc, 0x1f, 0xfc, 0x1f, 
-0x06, 0x30, 0x06, 0x30, 0x06, 0x30, 0x03, 0x60, 0x03, 0x60, 0x03, 0x60};
-static unsigned char helvetica24_193_bits[] = {
-0x00, 0x06, 0x00, 0x03, 0x80, 0x01, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x01, 
-0xc0, 0x01, 0x60, 0x03, 0x60, 0x03, 0x30, 0x02, 0x30, 0x06, 0x30, 0x06, 
-0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x0c, 0x18, 0xfc, 0x1f, 0xfc, 0x1f, 
-0x06, 0x30, 0x06, 0x30, 0x06, 0x30, 0x03, 0x60, 0x03, 0x60, 0x03, 0x60};
-static unsigned char helvetica24_194_bits[] = {
-0x80, 0x01, 0xc0, 0x03, 0x60, 0x06, 0x30, 0x0c, 0x00, 0x00, 0xc0, 0x01, 
-0xc0, 0x01, 0x60, 0x03, 0x60, 0x03, 0x30, 0x02, 0x30, 0x06, 0x30, 0x06, 
-0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x0c, 0x18, 0xfc, 0x1f, 0xfc, 0x1f, 
-0x06, 0x30, 0x06, 0x30, 0x06, 0x30, 0x03, 0x60, 0x03, 0x60, 0x03, 0x60};
-static unsigned char helvetica24_195_bits[] = {
-0xe0, 0x08, 0xb0, 0x0d, 0x10, 0x07, 0x00, 0x00, 0xc0, 0x01, 0xc0, 0x01, 
-0x60, 0x03, 0x60, 0x03, 0x30, 0x02, 0x30, 0x06, 0x30, 0x06, 0x18, 0x0c, 
-0x18, 0x0c, 0x18, 0x0c, 0x0c, 0x18, 0xfc, 0x1f, 0xfc, 0x1f, 0x06, 0x30, 
-0x06, 0x30, 0x06, 0x30, 0x03, 0x60, 0x03, 0x60, 0x03, 0x60};
-static unsigned char helvetica24_196_bits[] = {
-0x30, 0x06, 0x30, 0x06, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0xc0, 0x01, 
-0x60, 0x03, 0x60, 0x03, 0x30, 0x02, 0x30, 0x06, 0x30, 0x06, 0x18, 0x0c, 
-0x18, 0x0c, 0x18, 0x0c, 0x0c, 0x18, 0xfc, 0x1f, 0xfc, 0x1f, 0x06, 0x30, 
-0x06, 0x30, 0x06, 0x30, 0x03, 0x60, 0x03, 0x60, 0x03, 0x60};
-static unsigned char helvetica24_197_bits[] = {
-0xc0, 0x01, 0x60, 0x03, 0x60, 0x03, 0xc0, 0x01, 0x00, 0x00, 0xc0, 0x01, 
-0xc0, 0x01, 0x60, 0x03, 0x60, 0x03, 0x30, 0x02, 0x30, 0x06, 0x30, 0x06, 
-0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x0c, 0x18, 0xfc, 0x1f, 0xfc, 0x1f, 
-0x06, 0x30, 0x06, 0x30, 0x06, 0x30, 0x03, 0x60, 0x03, 0x60, 0x03, 0x60};
-static unsigned char helvetica24_198_bits[] = {
-0xc0, 0xff, 0x1f, 0xc0, 0xff, 0x1f, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 
-0x30, 0x06, 0x00, 0x30, 0x06, 0x00, 0x30, 0x06, 0x00, 0x18, 0x06, 0x00, 
-0x18, 0xfe, 0x1f, 0x18, 0xfe, 0x1f, 0x0c, 0x06, 0x00, 0xfc, 0x07, 0x00, 
-0xfc, 0x07, 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0x00, 
-0x03, 0x06, 0x00, 0x03, 0xfe, 0x1f, 0x03, 0xfe, 0x1f};
-static unsigned char helvetica24_199_bits[] = {
-0xe0, 0x07, 0xf8, 0x1f, 0x3c, 0x3c, 0x0e, 0x70, 0x06, 0x60, 0x07, 0x60, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0xc0, 0x07, 0xc0, 0x06, 0x60, 0x0e, 0x70, 0x3c, 0x3c, 0xf8, 0x1f, 
-0xe0, 0x07, 0xc0, 0x01, 0x00, 0x03, 0x00, 0x03, 0xe0, 0x03, 0xc0, 0x01};
-static unsigned char helvetica24_200_bits[] = {
-0x0c, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0x00, 0x00, 0xff, 0x0f, 
-0xff, 0x0f, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0xff, 0x07, 0xff, 0x07, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x0f, 0xff, 0x0f};
-static unsigned char helvetica24_201_bits[] = {
-0x80, 0x01, 0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0x0f, 
-0xff, 0x0f, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0xff, 0x07, 0xff, 0x07, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x0f, 0xff, 0x0f};
-static unsigned char helvetica24_202_bits[] = {
-0x60, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x0c, 0x03, 0x00, 0x00, 0xff, 0x0f, 
-0xff, 0x0f, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0xff, 0x07, 0xff, 0x07, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x0f, 0xff, 0x0f};
-static unsigned char helvetica24_203_bits[] = {
-0x98, 0x01, 0x98, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0xff, 0x0f, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0xff, 0x07, 0xff, 0x07, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x0f, 0xff, 0x0f};
-static unsigned char helvetica24_204_bits[] = {
-0x03, 0x06, 0x0c, 0x18, 0x00, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c};
-static unsigned char helvetica24_205_bits[] = {
-0x18, 0x0c, 0x06, 0x03, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06};
-static unsigned char helvetica24_206_bits[] = {
-0x18, 0x3c, 0x66, 0xc3, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 
-0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18};
-static unsigned char helvetica24_207_bits[] = {
-0x33, 0x33, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c};
-static unsigned char helvetica24_208_bits[] = {
-0xfc, 0x0f, 0x00, 0xfc, 0x3f, 0x00, 0x0c, 0x78, 0x00, 0x0c, 0xe0, 0x00, 
-0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x01, 0x0c, 0x80, 0x01, 0x0c, 0x80, 0x01, 
-0xff, 0x80, 0x01, 0xff, 0x80, 0x01, 0x0c, 0x80, 0x01, 0x0c, 0x80, 0x01, 
-0x0c, 0x80, 0x01, 0x0c, 0xc0, 0x01, 0x0c, 0xc0, 0x00, 0x0c, 0xe0, 0x00, 
-0x0c, 0x78, 0x00, 0xfc, 0x3f, 0x00, 0xfc, 0x0f, 0x00};
-static unsigned char helvetica24_209_bits[] = {
-0xe0, 0x08, 0xb0, 0x0d, 0x10, 0x07, 0x00, 0x00, 0x07, 0x30, 0x0f, 0x30, 
-0x0f, 0x30, 0x1b, 0x30, 0x3b, 0x30, 0x33, 0x30, 0x73, 0x30, 0x63, 0x30, 
-0xe3, 0x30, 0xc3, 0x30, 0xc3, 0x31, 0x83, 0x31, 0x83, 0x33, 0x03, 0x33, 
-0x03, 0x37, 0x03, 0x36, 0x03, 0x3c, 0x03, 0x3c, 0x03, 0x38};
-static unsigned char helvetica24_210_bits[] = {
-0x60, 0x00, 0xc0, 0x00, 0x80, 0x01, 0x00, 0x03, 0x00, 0x00, 0xe0, 0x07, 
-0xf8, 0x1f, 0x3c, 0x3c, 0x0e, 0x70, 0x06, 0x60, 0x07, 0xe0, 0x03, 0xc0, 
-0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 
-0x07, 0xe0, 0x06, 0x60, 0x0e, 0x70, 0x3c, 0x3c, 0xf8, 0x1f, 0xe0, 0x07};
-static unsigned char helvetica24_211_bits[] = {
-0x00, 0x0c, 0x00, 0x06, 0x00, 0x03, 0x80, 0x01, 0x00, 0x00, 0xe0, 0x07, 
-0xf8, 0x1f, 0x3c, 0x3c, 0x0e, 0x70, 0x06, 0x60, 0x07, 0xe0, 0x03, 0xc0, 
-0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 
-0x07, 0xe0, 0x06, 0x60, 0x0e, 0x70, 0x3c, 0x3c, 0xf8, 0x1f, 0xe0, 0x07};
-static unsigned char helvetica24_212_bits[] = {
-0x80, 0x01, 0xc0, 0x03, 0x60, 0x06, 0x30, 0x0c, 0x00, 0x00, 0xe0, 0x07, 
-0xf8, 0x1f, 0x3c, 0x3c, 0x0e, 0x70, 0x06, 0x60, 0x07, 0xe0, 0x03, 0xc0, 
-0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 
-0x07, 0xe0, 0x06, 0x60, 0x0e, 0x70, 0x3c, 0x3c, 0xf8, 0x1f, 0xe0, 0x07};
-static unsigned char helvetica24_213_bits[] = {
-0xe0, 0x08, 0xb0, 0x0d, 0x10, 0x07, 0x00, 0x00, 0xe0, 0x07, 0xf8, 0x1f, 
-0x3c, 0x3c, 0x0e, 0x70, 0x06, 0x60, 0x07, 0xe0, 0x03, 0xc0, 0x03, 0xc0, 
-0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x07, 0xe0, 
-0x06, 0x60, 0x0e, 0x70, 0x3c, 0x3c, 0xf8, 0x1f, 0xe0, 0x07};
-static unsigned char helvetica24_214_bits[] = {
-0x60, 0x06, 0x60, 0x06, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0xf8, 0x1f, 
-0x3c, 0x3c, 0x0e, 0x70, 0x06, 0x60, 0x07, 0xe0, 0x03, 0xc0, 0x03, 0xc0, 
-0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x07, 0xe0, 
-0x06, 0x60, 0x0e, 0x70, 0x3c, 0x3c, 0xf8, 0x1f, 0xe0, 0x07};
-static unsigned char helvetica24_215_bits[] = {
-0x03, 0x18, 0x06, 0x0c, 0x0c, 0x06, 0x18, 0x03, 0xb0, 0x01, 0xe0, 0x00, 
-0xe0, 0x00, 0xb0, 0x01, 0x18, 0x03, 0x0c, 0x06, 0x06, 0x0c, 0x03, 0x18};
-static unsigned char helvetica24_216_bits[] = {
-0xc0, 0x0f, 0x02, 0xf0, 0x3f, 0x03, 0x78, 0xf8, 0x01, 0x1c, 0xe0, 0x00, 
-0x0c, 0xe0, 0x00, 0x0e, 0xb0, 0x01, 0x06, 0x98, 0x01, 0x06, 0x8c, 0x01, 
-0x06, 0x86, 0x01, 0x06, 0x83, 0x01, 0x86, 0x81, 0x01, 0xc6, 0x80, 0x01, 
-0x66, 0x80, 0x01, 0x36, 0xc0, 0x01, 0x1c, 0xc0, 0x00, 0x1c, 0xe0, 0x00, 
-0x7e, 0x78, 0x00, 0xf3, 0x3f, 0x00, 0xc1, 0x0f, 0x00};
-static unsigned char helvetica24_217_bits[] = {
-0x30, 0x00, 0x60, 0x00, 0xc0, 0x00, 0x80, 0x01, 0x00, 0x00, 0x03, 0x30, 
-0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 
-0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 
-0x03, 0x30, 0x03, 0x30, 0x06, 0x18, 0x0e, 0x1c, 0xfc, 0x0f, 0xf0, 0x03};
-static unsigned char helvetica24_218_bits[] = {
-0x00, 0x06, 0x00, 0x03, 0x80, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x03, 0x30, 
-0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 
-0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 
-0x03, 0x30, 0x03, 0x30, 0x06, 0x18, 0x0e, 0x1c, 0xfc, 0x0f, 0xf0, 0x03};
-static unsigned char helvetica24_219_bits[] = {
-0xc0, 0x00, 0xe0, 0x01, 0x30, 0x03, 0x18, 0x06, 0x00, 0x00, 0x03, 0x30, 
-0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 
-0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 
-0x03, 0x30, 0x03, 0x30, 0x06, 0x18, 0x0e, 0x1c, 0xfc, 0x0f, 0xf0, 0x03};
-static unsigned char helvetica24_220_bits[] = {
-0x30, 0x03, 0x30, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x03, 0x30, 
-0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 
-0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 
-0x03, 0x30, 0x06, 0x18, 0x0e, 0x1c, 0xfc, 0x0f, 0xf0, 0x03};
-static unsigned char helvetica24_221_bits[] = {
-0x00, 0x06, 0x00, 0x03, 0x80, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x03, 0x30, 
-0x07, 0x38, 0x06, 0x18, 0x0e, 0x1c, 0x0c, 0x0c, 0x1c, 0x0e, 0x18, 0x06, 
-0x38, 0x07, 0x30, 0x03, 0xf0, 0x03, 0xe0, 0x01, 0xe0, 0x01, 0xc0, 0x00, 
-0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00};
-static unsigned char helvetica24_222_bits[] = {
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x07, 0xff, 0x0f, 
-0x03, 0x0c, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 0x03, 0x0c, 
-0xff, 0x0f, 0xff, 0x07, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00};
-static unsigned char helvetica24_223_bits[] = {
-0x38, 0x00, 0xfe, 0x00, 0xc7, 0x00, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 
-0xc3, 0x00, 0xe3, 0x00, 0x73, 0x00, 0xf3, 0x00, 0xc3, 0x01, 0x83, 0x01, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x83, 0x01, 0xc3, 0x01, 0xf3, 0x00, 
-0x73, 0x00};
-static unsigned char helvetica24_224_bits[] = {
-0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xf8, 0x00, 
-0xfc, 0x01, 0x86, 0x03, 0x06, 0x03, 0x00, 0x03, 0xe0, 0x03, 0xfc, 0x03, 
-0x1e, 0x03, 0x07, 0x03, 0x03, 0x03, 0x83, 0x03, 0xc7, 0x03, 0x7e, 0x07, 
-0x3c, 0x06};
-static unsigned char helvetica24_225_bits[] = {
-0x80, 0x01, 0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 
-0xfc, 0x01, 0x86, 0x03, 0x06, 0x03, 0x00, 0x03, 0xe0, 0x03, 0xfc, 0x03, 
-0x1e, 0x03, 0x07, 0x03, 0x03, 0x03, 0x83, 0x03, 0xc7, 0x03, 0x7e, 0x07, 
-0x3c, 0x06};
-static unsigned char helvetica24_226_bits[] = {
-0x60, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x0c, 0x03, 0x00, 0x00, 0xf8, 0x00, 
-0xfc, 0x01, 0x86, 0x03, 0x06, 0x03, 0x00, 0x03, 0xe0, 0x03, 0xfc, 0x03, 
-0x1e, 0x03, 0x07, 0x03, 0x03, 0x03, 0x83, 0x03, 0xc7, 0x03, 0x7e, 0x07, 
-0x3c, 0x06};
-static unsigned char helvetica24_227_bits[] = {
-0x38, 0x02, 0x6c, 0x03, 0xc4, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 
-0xfc, 0x01, 0x86, 0x03, 0x06, 0x03, 0x00, 0x03, 0xe0, 0x03, 0xfc, 0x03, 
-0x1e, 0x03, 0x07, 0x03, 0x03, 0x03, 0x83, 0x03, 0xc7, 0x03, 0x7e, 0x07, 
-0x3c, 0x06};
-static unsigned char helvetica24_228_bits[] = {
-0x98, 0x01, 0x98, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xfc, 0x01, 
-0x86, 0x03, 0x06, 0x03, 0x00, 0x03, 0xe0, 0x03, 0xfc, 0x03, 0x1e, 0x03, 
-0x07, 0x03, 0x03, 0x03, 0x83, 0x03, 0xc7, 0x03, 0x7e, 0x07, 0x3c, 0x06};
-static unsigned char helvetica24_229_bits[] = {
-0x70, 0x00, 0xd8, 0x00, 0x88, 0x00, 0xd8, 0x00, 0x70, 0x00, 0xf8, 0x00, 
-0xfc, 0x01, 0x86, 0x03, 0x06, 0x03, 0x00, 0x03, 0xe0, 0x03, 0xfc, 0x03, 
-0x1e, 0x03, 0x07, 0x03, 0x03, 0x03, 0x83, 0x03, 0xc7, 0x03, 0x7e, 0x07, 
-0x3c, 0x06};
-static unsigned char helvetica24_230_bits[] = {
-0xf8, 0x70, 0x00, 0xfc, 0xfd, 0x01, 0x86, 0x8f, 0x03, 0x06, 0x07, 0x03, 
-0x00, 0x03, 0x06, 0xe0, 0x03, 0x06, 0xfc, 0xff, 0x07, 0x1e, 0xff, 0x07, 
-0x07, 0x03, 0x00, 0x03, 0x03, 0x00, 0x83, 0x07, 0x06, 0xc7, 0x0f, 0x07, 
-0x7e, 0xfc, 0x03, 0x3c, 0xf0, 0x00};
-static unsigned char helvetica24_231_bits[] = {
-0xf8, 0x00, 0xfc, 0x01, 0x8e, 0x03, 0x06, 0x03, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x06, 0x03, 0x8e, 0x03, 
-0xfc, 0x01, 0xf8, 0x00, 0x38, 0x00, 0x60, 0x00, 0x60, 0x00, 0x7c, 0x00, 
-0x38, 0x00};
-static unsigned char helvetica24_232_bits[] = {
-0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x70, 0x00, 
-0xfc, 0x01, 0x8e, 0x03, 0x06, 0x03, 0x03, 0x06, 0x03, 0x06, 0xff, 0x07, 
-0xff, 0x07, 0x03, 0x00, 0x03, 0x00, 0x06, 0x06, 0x0e, 0x07, 0xfc, 0x03, 
-0xf0, 0x00};
-static unsigned char helvetica24_233_bits[] = {
-0x80, 0x01, 0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 
-0xfc, 0x01, 0x8e, 0x03, 0x06, 0x03, 0x03, 0x06, 0x03, 0x06, 0xff, 0x07, 
-0xff, 0x07, 0x03, 0x00, 0x03, 0x00, 0x06, 0x06, 0x0e, 0x07, 0xfc, 0x03, 
-0xf0, 0x00};
-static unsigned char helvetica24_234_bits[] = {
-0x60, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x0c, 0x03, 0x00, 0x00, 0x70, 0x00, 
-0xfc, 0x01, 0x8e, 0x03, 0x06, 0x03, 0x03, 0x06, 0x03, 0x06, 0xff, 0x07, 
-0xff, 0x07, 0x03, 0x00, 0x03, 0x00, 0x06, 0x06, 0x0e, 0x07, 0xfc, 0x03, 
-0xf0, 0x00};
-static unsigned char helvetica24_235_bits[] = {
-0x98, 0x01, 0x98, 0x01, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0xfc, 0x01, 
-0x8e, 0x03, 0x06, 0x03, 0x03, 0x06, 0x03, 0x06, 0xff, 0x07, 0xff, 0x07, 
-0x03, 0x00, 0x03, 0x00, 0x06, 0x06, 0x0e, 0x07, 0xfc, 0x03, 0xf0, 0x00};
-static unsigned char helvetica24_236_bits[] = {
-0x03, 0x06, 0x0c, 0x18, 0x00, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c};
-static unsigned char helvetica24_237_bits[] = {
-0x18, 0x0c, 0x06, 0x03, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06};
-static unsigned char helvetica24_238_bits[] = {
-0x18, 0x3c, 0x66, 0xc3, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 
-0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18};
-static unsigned char helvetica24_239_bits[] = {
-0x33, 0x33, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c};
-static unsigned char helvetica24_240_bits[] = {
-0x07, 0x00, 0x8e, 0x01, 0x78, 0x00, 0x3c, 0x00, 0x63, 0x00, 0xf8, 0x00, 
-0xfc, 0x01, 0x8e, 0x03, 0x06, 0x03, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x06, 0x03, 0x8e, 0x03, 0xfc, 0x01, 
-0xf8, 0x00};
-static unsigned char helvetica24_241_bits[] = {
-0x1c, 0x01, 0xb6, 0x01, 0xe2, 0x00, 0x00, 0x00, 0x73, 0x00, 0xfb, 0x01, 
-0x8f, 0x01, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char helvetica24_242_bits[] = {
-0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xf8, 0x00, 
-0xfc, 0x01, 0x8e, 0x03, 0x06, 0x03, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x06, 0x03, 0x8e, 0x03, 0xfc, 0x01, 
-0xf8, 0x00};
-static unsigned char helvetica24_243_bits[] = {
-0x80, 0x01, 0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 
-0xfc, 0x01, 0x8e, 0x03, 0x06, 0x03, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x06, 0x03, 0x8e, 0x03, 0xfc, 0x01, 
-0xf8, 0x00};
-static unsigned char helvetica24_244_bits[] = {
-0x60, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x0c, 0x03, 0x00, 0x00, 0xf8, 0x00, 
-0xfc, 0x01, 0x8e, 0x03, 0x06, 0x03, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x06, 0x03, 0x8e, 0x03, 0xfc, 0x01, 
-0xf8, 0x00};
-static unsigned char helvetica24_245_bits[] = {
-0x38, 0x02, 0x6c, 0x03, 0xc4, 0x01, 0x00, 0x00, 0xf8, 0x00, 0xfc, 0x01, 
-0x8e, 0x03, 0x06, 0x03, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x06, 0x03, 0x8e, 0x03, 0xfc, 0x01, 0xf8, 0x00};
-static unsigned char helvetica24_246_bits[] = {
-0x8c, 0x01, 0x8c, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xfc, 0x01, 
-0x8e, 0x03, 0x06, 0x03, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x06, 0x03, 0x8e, 0x03, 0xfc, 0x01, 0xf8, 0x00};
-static unsigned char helvetica24_247_bits[] = {
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 
-0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00};
-static unsigned char helvetica24_248_bits[] = {
-0xf0, 0x19, 0xf8, 0x0f, 0x1c, 0x07, 0x0c, 0x06, 0x06, 0x0f, 0x86, 0x0d, 
-0xc6, 0x0c, 0x66, 0x0c, 0x66, 0x0c, 0x36, 0x0c, 0x1c, 0x06, 0x0c, 0x07, 
-0xfe, 0x03, 0xf3, 0x01};
-static unsigned char helvetica24_249_bits[] = {
-0x0c, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0x00, 0x00, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x83, 0x03, 0xc6, 0x03, 0x7e, 0x03, 
-0x38, 0x03};
-static unsigned char helvetica24_250_bits[] = {
-0x80, 0x01, 0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x00, 0x00, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x83, 0x03, 0xc6, 0x03, 0x7e, 0x03, 
-0x38, 0x03};
-static unsigned char helvetica24_251_bits[] = {
-0x30, 0x00, 0x78, 0x00, 0xcc, 0x00, 0x86, 0x01, 0x00, 0x00, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x83, 0x03, 0xc6, 0x03, 0x7e, 0x03, 
-0x38, 0x03};
-static unsigned char helvetica24_252_bits[] = {
-0xcc, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x83, 0x03, 0xc6, 0x03, 0x7e, 0x03, 0x38, 0x03};
-static unsigned char helvetica24_253_bits[] = {
-0x00, 0x03, 0x80, 0x01, 0xc0, 0x00, 0x60, 0x00, 0x00, 0x00, 0x03, 0x0c, 
-0x03, 0x0c, 0x06, 0x0c, 0x0e, 0x06, 0x0c, 0x06, 0x1c, 0x07, 0x18, 0x03, 
-0x18, 0x03, 0xb0, 0x01, 0xb0, 0x01, 0xe0, 0x01, 0xe0, 0x00, 0xc0, 0x00, 
-0xc0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x30, 0x00, 0x3c, 0x00, 0x1c, 0x00};
-static unsigned char helvetica24_254_bits[] = {
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xf3, 0x00, 
-0xfb, 0x01, 0x8f, 0x03, 0x07, 0x03, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x07, 0x03, 0x8f, 0x03, 0xfb, 0x01, 
-0xf3, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00};
-static unsigned char helvetica24_255_bits[] = {
-0x98, 0x01, 0x98, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0c, 0x03, 0x0c, 
-0x06, 0x0c, 0x0e, 0x06, 0x0c, 0x06, 0x1c, 0x07, 0x18, 0x03, 0x18, 0x03, 
-0xb0, 0x01, 0xb0, 0x01, 0xe0, 0x01, 0xe0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 
-0x60, 0x00, 0x60, 0x00, 0x30, 0x00, 0x3c, 0x00, 0x1c, 0x00};
-static RotFont helvetica24font[] = {
-{5, 1, 1, helvetica24_0_bits},
-{5, 1, 1, helvetica24_1_bits},
-{5, 1, 1, helvetica24_2_bits},
-{5, 1, 1, helvetica24_3_bits},
-{5, 1, 1, helvetica24_4_bits},
-{5, 1, 1, helvetica24_5_bits},
-{5, 1, 1, helvetica24_6_bits},
-{5, 1, 1, helvetica24_7_bits},
-{5, 1, 1, helvetica24_8_bits},
-{5, 1, 1, helvetica24_9_bits},
-{5, 1, 1, helvetica24_10_bits},
-{5, 1, 1, helvetica24_11_bits},
-{5, 1, 1, helvetica24_12_bits},
-{5, 1, 1, helvetica24_13_bits},
-{5, 1, 1, helvetica24_14_bits},
-{5, 1, 1, helvetica24_15_bits},
-{5, 1, 1, helvetica24_16_bits},
-{5, 1, 1, helvetica24_17_bits},
-{5, 1, 1, helvetica24_18_bits},
-{5, 1, 1, helvetica24_19_bits},
-{5, 1, 1, helvetica24_20_bits},
-{5, 1, 1, helvetica24_21_bits},
-{5, 1, 1, helvetica24_22_bits},
-{5, 1, 1, helvetica24_23_bits},
-{5, 1, 1, helvetica24_24_bits},
-{5, 1, 1, helvetica24_25_bits},
-{5, 1, 1, helvetica24_26_bits},
-{5, 1, 1, helvetica24_27_bits},
-{5, 1, 1, helvetica24_28_bits},
-{5, 1, 1, helvetica24_29_bits},
-{5, 1, 1, helvetica24_30_bits},
-{5, 1, 1, helvetica24_31_bits},
-{10, 1, 1, helvetica24_32_bits},
-{2, 19, 19, helvetica24_33_bits},
-{6, 6, 19, helvetica24_34_bits},
-{11, 17, 17, helvetica24_35_bits},
-{11, 21, 19, helvetica24_36_bits},
-{19, 18, 18, helvetica24_37_bits},
-{14, 18, 18, helvetica24_38_bits},
-{2, 6, 19, helvetica24_39_bits},
-{5, 24, 19, helvetica24_40_bits},
-{5, 24, 19, helvetica24_41_bits},
-{7, 7, 19, helvetica24_42_bits},
-{12, 12, 13, helvetica24_43_bits},
-{2, 6, 3, helvetica24_44_bits},
-{11, 2, 8, helvetica24_45_bits},
-{2, 3, 3, helvetica24_46_bits},
-{7, 19, 19, helvetica24_47_bits},
-{11, 18, 18, helvetica24_48_bits},
-{6, 18, 18, helvetica24_49_bits},
-{11, 18, 18, helvetica24_50_bits},
-{11, 18, 18, helvetica24_51_bits},
-{11, 18, 18, helvetica24_52_bits},
-{11, 18, 18, helvetica24_53_bits},
-{11, 18, 18, helvetica24_54_bits},
-{11, 18, 18, helvetica24_55_bits},
-{11, 18, 18, helvetica24_56_bits},
-{11, 18, 18, helvetica24_57_bits},
-{2, 14, 14, helvetica24_58_bits},
-{2, 17, 14, helvetica24_59_bits},
-{12, 12, 13, helvetica24_60_bits},
-{10, 6, 11, helvetica24_61_bits},
-{12, 12, 13, helvetica24_62_bits},
-{10, 19, 19, helvetica24_63_bits},
-{22, 23, 19, helvetica24_64_bits},
-{15, 19, 19, helvetica24_65_bits},
-{14, 19, 19, helvetica24_66_bits},
-{16, 19, 19, helvetica24_67_bits},
-{15, 19, 19, helvetica24_68_bits},
-{12, 19, 19, helvetica24_69_bits},
-{11, 19, 19, helvetica24_70_bits},
-{16, 19, 19, helvetica24_71_bits},
-{14, 19, 19, helvetica24_72_bits},
-{2, 19, 19, helvetica24_73_bits},
-{10, 19, 19, helvetica24_74_bits},
-{15, 19, 19, helvetica24_75_bits},
-{11, 19, 19, helvetica24_76_bits},
-{17, 19, 19, helvetica24_77_bits},
-{14, 19, 19, helvetica24_78_bits},
-{16, 19, 19, helvetica24_79_bits},
-{13, 19, 19, helvetica24_80_bits},
-{16, 19, 19, helvetica24_81_bits},
-{13, 19, 19, helvetica24_82_bits},
-{14, 19, 19, helvetica24_83_bits},
-{14, 19, 19, helvetica24_84_bits},
-{14, 19, 19, helvetica24_85_bits},
-{15, 19, 19, helvetica24_86_bits},
-{20, 19, 19, helvetica24_87_bits},
-{15, 19, 19, helvetica24_88_bits},
-{14, 19, 19, helvetica24_89_bits},
-{13, 19, 19, helvetica24_90_bits},
-{4, 24, 19, helvetica24_91_bits},
-{7, 19, 19, helvetica24_92_bits},
-{4, 24, 19, helvetica24_93_bits},
-{10, 9, 19, helvetica24_94_bits},
-{14, 2, -3, helvetica24_95_bits},
-{2, 6, 19, helvetica24_96_bits},
-{11, 14, 14, helvetica24_97_bits},
-{11, 19, 19, helvetica24_98_bits},
-{10, 14, 14, helvetica24_99_bits},
-{11, 19, 19, helvetica24_100_bits},
-{11, 14, 14, helvetica24_101_bits},
-{6, 19, 19, helvetica24_102_bits},
-{11, 19, 14, helvetica24_103_bits},
-{10, 19, 19, helvetica24_104_bits},
-{2, 19, 19, helvetica24_105_bits},
-{4, 24, 19, helvetica24_106_bits},
-{10, 19, 19, helvetica24_107_bits},
-{2, 19, 19, helvetica24_108_bits},
-{16, 14, 14, helvetica24_109_bits},
-{10, 14, 14, helvetica24_110_bits},
-{11, 14, 14, helvetica24_111_bits},
-{11, 19, 14, helvetica24_112_bits},
-{11, 19, 14, helvetica24_113_bits},
-{6, 14, 14, helvetica24_114_bits},
-{10, 14, 14, helvetica24_115_bits},
-{6, 18, 18, helvetica24_116_bits},
-{10, 14, 14, helvetica24_117_bits},
-{11, 14, 14, helvetica24_118_bits},
-{18, 14, 14, helvetica24_119_bits},
-{10, 14, 14, helvetica24_120_bits},
-{12, 19, 14, helvetica24_121_bits},
-{10, 14, 14, helvetica24_122_bits},
-{6, 24, 19, helvetica24_123_bits},
-{2, 24, 19, helvetica24_124_bits},
-{6, 24, 19, helvetica24_125_bits},
-{10, 4, 9, helvetica24_126_bits},
-{5, 1, 1, helvetica24_127_bits},
-{5, 1, 1, helvetica24_128_bits},
-{5, 1, 1, helvetica24_129_bits},
-{5, 1, 1, helvetica24_130_bits},
-{5, 1, 1, helvetica24_131_bits},
-{5, 1, 1, helvetica24_132_bits},
-{5, 1, 1, helvetica24_133_bits},
-{5, 1, 1, helvetica24_134_bits},
-{5, 1, 1, helvetica24_135_bits},
-{5, 1, 1, helvetica24_136_bits},
-{5, 1, 1, helvetica24_137_bits},
-{5, 1, 1, helvetica24_138_bits},
-{5, 1, 1, helvetica24_139_bits},
-{5, 1, 1, helvetica24_140_bits},
-{5, 1, 1, helvetica24_141_bits},
-{5, 1, 1, helvetica24_142_bits},
-{5, 1, 1, helvetica24_143_bits},
-{5, 1, 1, helvetica24_144_bits},
-{5, 1, 1, helvetica24_145_bits},
-{5, 1, 1, helvetica24_146_bits},
-{5, 1, 1, helvetica24_147_bits},
-{5, 1, 1, helvetica24_148_bits},
-{5, 1, 1, helvetica24_149_bits},
-{5, 1, 1, helvetica24_150_bits},
-{5, 1, 1, helvetica24_151_bits},
-{5, 1, 1, helvetica24_152_bits},
-{5, 1, 1, helvetica24_153_bits},
-{5, 1, 1, helvetica24_154_bits},
-{5, 1, 1, helvetica24_155_bits},
-{5, 1, 1, helvetica24_156_bits},
-{5, 1, 1, helvetica24_157_bits},
-{5, 1, 1, helvetica24_158_bits},
-{5, 1, 1, helvetica24_159_bits},
-{1, 1, 1, helvetica24_160_bits},
-{2, 19, 14, helvetica24_161_bits},
-{10, 18, 16, helvetica24_162_bits},
-{12, 18, 18, helvetica24_163_bits},
-{11, 12, 15, helvetica24_164_bits},
-{14, 18, 18, helvetica24_165_bits},
-{2, 23, 19, helvetica24_166_bits},
-{11, 24, 19, helvetica24_167_bits},
-{6, 2, 18, helvetica24_168_bits},
-{17, 17, 17, helvetica24_169_bits},
-{7, 12, 19, helvetica24_170_bits},
-{9, 8, 11, helvetica24_171_bits},
-{13, 8, 11, helvetica24_172_bits},
-{6, 2, 8, helvetica24_173_bits},
-{17, 17, 17, helvetica24_174_bits},
-{6, 2, 18, helvetica24_175_bits},
-{8, 7, 18, helvetica24_176_bits},
-{12, 13, 13, helvetica24_177_bits},
-{7, 10, 18, helvetica24_178_bits},
-{7, 10, 18, helvetica24_179_bits},
-{5, 4, 19, helvetica24_180_bits},
-{10, 19, 14, helvetica24_181_bits},
-{10, 23, 19, helvetica24_182_bits},
-{2, 3, 9, helvetica24_183_bits},
-{5, 6, 1, helvetica24_184_bits},
-{4, 10, 18, helvetica24_185_bits},
-{7, 12, 19, helvetica24_186_bits},
-{9, 8, 11, helvetica24_187_bits},
-{18, 18, 18, helvetica24_188_bits},
-{18, 18, 18, helvetica24_189_bits},
-{19, 18, 18, helvetica24_190_bits},
-{10, 19, 14, helvetica24_191_bits},
-{15, 24, 24, helvetica24_192_bits},
-{15, 24, 24, helvetica24_193_bits},
-{15, 24, 24, helvetica24_194_bits},
-{15, 23, 23, helvetica24_195_bits},
-{15, 23, 23, helvetica24_196_bits},
-{15, 24, 24, helvetica24_197_bits},
-{21, 19, 19, helvetica24_198_bits},
-{16, 24, 19, helvetica24_199_bits},
-{12, 24, 24, helvetica24_200_bits},
-{12, 24, 24, helvetica24_201_bits},
-{12, 24, 24, helvetica24_202_bits},
-{12, 23, 23, helvetica24_203_bits},
-{5, 24, 24, helvetica24_204_bits},
-{5, 24, 24, helvetica24_205_bits},
-{8, 24, 24, helvetica24_206_bits},
-{6, 23, 23, helvetica24_207_bits},
-{17, 19, 19, helvetica24_208_bits},
-{14, 23, 23, helvetica24_209_bits},
-{16, 24, 24, helvetica24_210_bits},
-{16, 24, 24, helvetica24_211_bits},
-{16, 24, 24, helvetica24_212_bits},
-{16, 23, 23, helvetica24_213_bits},
-{16, 23, 23, helvetica24_214_bits},
-{13, 12, 13, helvetica24_215_bits},
-{18, 19, 19, helvetica24_216_bits},
-{14, 24, 24, helvetica24_217_bits},
-{14, 24, 24, helvetica24_218_bits},
-{14, 24, 24, helvetica24_219_bits},
-{14, 23, 23, helvetica24_220_bits},
-{14, 24, 24, helvetica24_221_bits},
-{13, 19, 19, helvetica24_222_bits},
-{10, 19, 19, helvetica24_223_bits},
-{11, 19, 19, helvetica24_224_bits},
-{11, 19, 19, helvetica24_225_bits},
-{11, 19, 19, helvetica24_226_bits},
-{11, 19, 19, helvetica24_227_bits},
-{11, 18, 18, helvetica24_228_bits},
-{11, 19, 19, helvetica24_229_bits},
-{19, 14, 14, helvetica24_230_bits},
-{10, 19, 14, helvetica24_231_bits},
-{11, 19, 19, helvetica24_232_bits},
-{11, 19, 19, helvetica24_233_bits},
-{11, 19, 19, helvetica24_234_bits},
-{11, 18, 18, helvetica24_235_bits},
-{5, 19, 19, helvetica24_236_bits},
-{5, 19, 19, helvetica24_237_bits},
-{8, 19, 19, helvetica24_238_bits},
-{6, 18, 18, helvetica24_239_bits},
-{11, 19, 19, helvetica24_240_bits},
-{10, 18, 18, helvetica24_241_bits},
-{11, 19, 19, helvetica24_242_bits},
-{11, 19, 19, helvetica24_243_bits},
-{11, 19, 19, helvetica24_244_bits},
-{11, 18, 18, helvetica24_245_bits},
-{11, 18, 18, helvetica24_246_bits},
-{12, 12, 13, helvetica24_247_bits},
-{13, 14, 14, helvetica24_248_bits},
-{10, 19, 19, helvetica24_249_bits},
-{10, 19, 19, helvetica24_250_bits},
-{10, 19, 19, helvetica24_251_bits},
-{10, 18, 18, helvetica24_252_bits},
-{12, 24, 19, helvetica24_253_bits},
-{11, 24, 19, helvetica24_254_bits},
-{12, 23, 18, helvetica24_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/helvetica8.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/helvetica8.h	(revision 38985)
+++ 	(revision )
@@ -1,769 +1,0 @@
-static unsigned char helvetica8_0_bits[] = {
-0x00};
-static unsigned char helvetica8_1_bits[] = {
-0x00};
-static unsigned char helvetica8_2_bits[] = {
-0x00};
-static unsigned char helvetica8_3_bits[] = {
-0x00};
-static unsigned char helvetica8_4_bits[] = {
-0x00};
-static unsigned char helvetica8_5_bits[] = {
-0x00};
-static unsigned char helvetica8_6_bits[] = {
-0x00};
-static unsigned char helvetica8_7_bits[] = {
-0x00};
-static unsigned char helvetica8_8_bits[] = {
-0x00};
-static unsigned char helvetica8_9_bits[] = {
-0x00};
-static unsigned char helvetica8_10_bits[] = {
-0x00};
-static unsigned char helvetica8_11_bits[] = {
-0x00};
-static unsigned char helvetica8_12_bits[] = {
-0x00};
-static unsigned char helvetica8_13_bits[] = {
-0x00};
-static unsigned char helvetica8_14_bits[] = {
-0x00};
-static unsigned char helvetica8_15_bits[] = {
-0x00};
-static unsigned char helvetica8_16_bits[] = {
-0x00};
-static unsigned char helvetica8_17_bits[] = {
-0x00};
-static unsigned char helvetica8_18_bits[] = {
-0x00};
-static unsigned char helvetica8_19_bits[] = {
-0x00};
-static unsigned char helvetica8_20_bits[] = {
-0x00};
-static unsigned char helvetica8_21_bits[] = {
-0x00};
-static unsigned char helvetica8_22_bits[] = {
-0x00};
-static unsigned char helvetica8_23_bits[] = {
-0x00};
-static unsigned char helvetica8_24_bits[] = {
-0x00};
-static unsigned char helvetica8_25_bits[] = {
-0x00};
-static unsigned char helvetica8_26_bits[] = {
-0x00};
-static unsigned char helvetica8_27_bits[] = {
-0x00};
-static unsigned char helvetica8_28_bits[] = {
-0x00};
-static unsigned char helvetica8_29_bits[] = {
-0x00};
-static unsigned char helvetica8_30_bits[] = {
-0x00};
-static unsigned char helvetica8_31_bits[] = {
-0x00};
-static unsigned char helvetica8_32_bits[] = {
-0x00};
-static unsigned char helvetica8_33_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x00, 0x01};
-static unsigned char helvetica8_34_bits[] = {
-0x05, 0x05, 0x05};
-static unsigned char helvetica8_35_bits[] = {
-0x0a, 0x1f, 0x0a, 0x1f, 0x0a};
-static unsigned char helvetica8_36_bits[] = {
-0x04, 0x0e, 0x01, 0x06, 0x08, 0x07, 0x02};
-static unsigned char helvetica8_37_bits[] = {
-0x17, 0x15, 0x0b, 0x34, 0x2a, 0x3a};
-static unsigned char helvetica8_38_bits[] = {
-0x02, 0x05, 0x12, 0x15, 0x0d, 0x1a};
-static unsigned char helvetica8_39_bits[] = {
-0x01, 0x01, 0x01};
-static unsigned char helvetica8_40_bits[] = {
-0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02};
-static unsigned char helvetica8_41_bits[] = {
-0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01};
-static unsigned char helvetica8_42_bits[] = {
-0x02, 0x07, 0x02};
-static unsigned char helvetica8_43_bits[] = {
-0x04, 0x04, 0x1f, 0x04, 0x04};
-static unsigned char helvetica8_44_bits[] = {
-0x02, 0x02, 0x01};
-static unsigned char helvetica8_45_bits[] = {
-0x0f};
-static unsigned char helvetica8_46_bits[] = {
-0x01};
-static unsigned char helvetica8_47_bits[] = {
-0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica8_48_bits[] = {
-0x06, 0x09, 0x09, 0x09, 0x09, 0x06};
-static unsigned char helvetica8_49_bits[] = {
-0x02, 0x03, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica8_50_bits[] = {
-0x06, 0x09, 0x08, 0x04, 0x02, 0x0f};
-static unsigned char helvetica8_51_bits[] = {
-0x03, 0x04, 0x03, 0x04, 0x04, 0x03};
-static unsigned char helvetica8_52_bits[] = {
-0x04, 0x04, 0x06, 0x0f, 0x04, 0x04};
-static unsigned char helvetica8_53_bits[] = {
-0x07, 0x01, 0x03, 0x04, 0x04, 0x03};
-static unsigned char helvetica8_54_bits[] = {
-0x0e, 0x01, 0x07, 0x09, 0x09, 0x06};
-static unsigned char helvetica8_55_bits[] = {
-0x0f, 0x08, 0x04, 0x02, 0x02, 0x02};
-static unsigned char helvetica8_56_bits[] = {
-0x06, 0x09, 0x06, 0x09, 0x09, 0x06};
-static unsigned char helvetica8_57_bits[] = {
-0x06, 0x09, 0x09, 0x0e, 0x08, 0x06};
-static unsigned char helvetica8_58_bits[] = {
-0x01, 0x00, 0x00, 0x01};
-static unsigned char helvetica8_59_bits[] = {
-0x02, 0x00, 0x00, 0x02, 0x02, 0x01};
-static unsigned char helvetica8_60_bits[] = {
-0x04, 0x02, 0x01, 0x02, 0x04};
-static unsigned char helvetica8_61_bits[] = {
-0x07, 0x00, 0x07};
-static unsigned char helvetica8_62_bits[] = {
-0x01, 0x02, 0x04, 0x02, 0x01};
-static unsigned char helvetica8_63_bits[] = {
-0x03, 0x04, 0x02, 0x00, 0x02};
-static unsigned char helvetica8_64_bits[] = {
-0x7c, 0x82, 0x99, 0xa5, 0x79, 0x01, 0x1e};
-static unsigned char helvetica8_65_bits[] = {
-0x04, 0x04, 0x0a, 0x0e, 0x11, 0x11};
-static unsigned char helvetica8_66_bits[] = {
-0x07, 0x09, 0x07, 0x09, 0x09, 0x07};
-static unsigned char helvetica8_67_bits[] = {
-0x0e, 0x11, 0x01, 0x01, 0x11, 0x0e};
-static unsigned char helvetica8_68_bits[] = {
-0x0f, 0x11, 0x11, 0x11, 0x11, 0x0f};
-static unsigned char helvetica8_69_bits[] = {
-0x0f, 0x01, 0x07, 0x01, 0x01, 0x0f};
-static unsigned char helvetica8_70_bits[] = {
-0x0f, 0x01, 0x07, 0x01, 0x01, 0x01};
-static unsigned char helvetica8_71_bits[] = {
-0x0e, 0x01, 0x19, 0x11, 0x11, 0x0e};
-static unsigned char helvetica8_72_bits[] = {
-0x11, 0x11, 0x1f, 0x11, 0x11, 0x11};
-static unsigned char helvetica8_73_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica8_74_bits[] = {
-0x04, 0x04, 0x04, 0x04, 0x05, 0x02};
-static unsigned char helvetica8_75_bits[] = {
-0x09, 0x05, 0x03, 0x07, 0x09, 0x09};
-static unsigned char helvetica8_76_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x07};
-static unsigned char helvetica8_77_bits[] = {
-0x11, 0x1b, 0x15, 0x15, 0x15, 0x15};
-static unsigned char helvetica8_78_bits[] = {
-0x11, 0x13, 0x15, 0x15, 0x19, 0x11};
-static unsigned char helvetica8_79_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica8_80_bits[] = {
-0x07, 0x09, 0x09, 0x07, 0x01, 0x01};
-static unsigned char helvetica8_81_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x11, 0x0e, 0x04, 0x08};
-static unsigned char helvetica8_82_bits[] = {
-0x07, 0x09, 0x09, 0x07, 0x09, 0x09};
-static unsigned char helvetica8_83_bits[] = {
-0x0e, 0x01, 0x07, 0x08, 0x08, 0x07};
-static unsigned char helvetica8_84_bits[] = {
-0x07, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica8_85_bits[] = {
-0x11, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica8_86_bits[] = {
-0x09, 0x09, 0x09, 0x09, 0x05, 0x02};
-static unsigned char helvetica8_87_bits[] = {
-0x49, 0x49, 0x49, 0x36, 0x12, 0x12};
-static unsigned char helvetica8_88_bits[] = {
-0x09, 0x09, 0x06, 0x06, 0x09, 0x09};
-static unsigned char helvetica8_89_bits[] = {
-0x13, 0x12, 0x12, 0x0c, 0x04, 0x04};
-static unsigned char helvetica8_90_bits[] = {
-0x0f, 0x08, 0x04, 0x02, 0x01, 0x0f};
-static unsigned char helvetica8_91_bits[] = {
-0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03};
-static unsigned char helvetica8_92_bits[] = {
-0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica8_93_bits[] = {
-0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03};
-static unsigned char helvetica8_94_bits[] = {
-0x04, 0x0a, 0x11};
-static unsigned char helvetica8_95_bits[] = {
-0x1f};
-static unsigned char helvetica8_96_bits[] = {
-0x01, 0x01, 0x01};
-static unsigned char helvetica8_97_bits[] = {
-0x03, 0x04, 0x07, 0x05, 0x0b};
-static unsigned char helvetica8_98_bits[] = {
-0x01, 0x01, 0x07, 0x09, 0x09, 0x09, 0x07};
-static unsigned char helvetica8_99_bits[] = {
-0x06, 0x01, 0x01, 0x01, 0x06};
-static unsigned char helvetica8_100_bits[] = {
-0x08, 0x08, 0x0e, 0x09, 0x09, 0x09, 0x0e};
-static unsigned char helvetica8_101_bits[] = {
-0x02, 0x05, 0x07, 0x01, 0x06};
-static unsigned char helvetica8_102_bits[] = {
-0x04, 0x02, 0x07, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica8_103_bits[] = {
-0x0e, 0x09, 0x09, 0x0e, 0x08, 0x06};
-static unsigned char helvetica8_104_bits[] = {
-0x01, 0x01, 0x07, 0x09, 0x09, 0x09, 0x09};
-static unsigned char helvetica8_105_bits[] = {
-0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica8_106_bits[] = {
-0x02, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01};
-static unsigned char helvetica8_107_bits[] = {
-0x01, 0x01, 0x05, 0x03, 0x03, 0x05, 0x05};
-static unsigned char helvetica8_108_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica8_109_bits[] = {
-0x0f, 0x15, 0x15, 0x15, 0x15};
-static unsigned char helvetica8_110_bits[] = {
-0x07, 0x09, 0x09, 0x09, 0x09};
-static unsigned char helvetica8_111_bits[] = {
-0x06, 0x09, 0x09, 0x09, 0x06};
-static unsigned char helvetica8_112_bits[] = {
-0x07, 0x09, 0x09, 0x09, 0x07, 0x01};
-static unsigned char helvetica8_113_bits[] = {
-0x0e, 0x09, 0x09, 0x09, 0x0e, 0x08};
-static unsigned char helvetica8_114_bits[] = {
-0x05, 0x03, 0x01, 0x01, 0x01};
-static unsigned char helvetica8_115_bits[] = {
-0x06, 0x01, 0x06, 0x04, 0x03};
-static unsigned char helvetica8_116_bits[] = {
-0x02, 0x02, 0x07, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica8_117_bits[] = {
-0x05, 0x05, 0x05, 0x05, 0x06};
-static unsigned char helvetica8_118_bits[] = {
-0x09, 0x09, 0x09, 0x05, 0x02};
-static unsigned char helvetica8_119_bits[] = {
-0x15, 0x15, 0x15, 0x0a, 0x0a};
-static unsigned char helvetica8_120_bits[] = {
-0x09, 0x09, 0x06, 0x09, 0x09};
-static unsigned char helvetica8_121_bits[] = {
-0x09, 0x09, 0x09, 0x06, 0x02, 0x01};
-static unsigned char helvetica8_122_bits[] = {
-0x07, 0x04, 0x02, 0x01, 0x07};
-static unsigned char helvetica8_123_bits[] = {
-0x04, 0x02, 0x02, 0x03, 0x02, 0x02, 0x04};
-static unsigned char helvetica8_124_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica8_125_bits[] = {
-0x01, 0x02, 0x02, 0x06, 0x02, 0x02, 0x01};
-static unsigned char helvetica8_126_bits[] = {
-0x12, 0x0d};
-static unsigned char helvetica8_127_bits[] = {
-0x00};
-static unsigned char helvetica8_128_bits[] = {
-0x00};
-static unsigned char helvetica8_129_bits[] = {
-0x00};
-static unsigned char helvetica8_130_bits[] = {
-0x00};
-static unsigned char helvetica8_131_bits[] = {
-0x00};
-static unsigned char helvetica8_132_bits[] = {
-0x00};
-static unsigned char helvetica8_133_bits[] = {
-0x00};
-static unsigned char helvetica8_134_bits[] = {
-0x00};
-static unsigned char helvetica8_135_bits[] = {
-0x00};
-static unsigned char helvetica8_136_bits[] = {
-0x00};
-static unsigned char helvetica8_137_bits[] = {
-0x00};
-static unsigned char helvetica8_138_bits[] = {
-0x00};
-static unsigned char helvetica8_139_bits[] = {
-0x00};
-static unsigned char helvetica8_140_bits[] = {
-0x00};
-static unsigned char helvetica8_141_bits[] = {
-0x00};
-static unsigned char helvetica8_142_bits[] = {
-0x00};
-static unsigned char helvetica8_143_bits[] = {
-0x00};
-static unsigned char helvetica8_144_bits[] = {
-0x00};
-static unsigned char helvetica8_145_bits[] = {
-0x00};
-static unsigned char helvetica8_146_bits[] = {
-0x00};
-static unsigned char helvetica8_147_bits[] = {
-0x00};
-static unsigned char helvetica8_148_bits[] = {
-0x00};
-static unsigned char helvetica8_149_bits[] = {
-0x00};
-static unsigned char helvetica8_150_bits[] = {
-0x00};
-static unsigned char helvetica8_151_bits[] = {
-0x00};
-static unsigned char helvetica8_152_bits[] = {
-0x00};
-static unsigned char helvetica8_153_bits[] = {
-0x00};
-static unsigned char helvetica8_154_bits[] = {
-0x00};
-static unsigned char helvetica8_155_bits[] = {
-0x00};
-static unsigned char helvetica8_156_bits[] = {
-0x00};
-static unsigned char helvetica8_157_bits[] = {
-0x00};
-static unsigned char helvetica8_158_bits[] = {
-0x00};
-static unsigned char helvetica8_159_bits[] = {
-0x00};
-static unsigned char helvetica8_160_bits[] = {
-0x00};
-static unsigned char helvetica8_161_bits[] = {
-0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica8_162_bits[] = {
-0x02, 0x02, 0x05, 0x01, 0x05, 0x02, 0x02};
-static unsigned char helvetica8_163_bits[] = {
-0x0c, 0x02, 0x07, 0x02, 0x02, 0x0f};
-static unsigned char helvetica8_164_bits[] = {
-0x11, 0x0e, 0x0a, 0x0e, 0x11};
-static unsigned char helvetica8_165_bits[] = {
-0x11, 0x0a, 0x1f, 0x04, 0x04};
-static unsigned char helvetica8_166_bits[] = {
-0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01};
-static unsigned char helvetica8_167_bits[] = {
-0x0e, 0x01, 0x06, 0x09, 0x06, 0x0c, 0x08, 0x07};
-static unsigned char helvetica8_168_bits[] = {
-0x09};
-static unsigned char helvetica8_169_bits[] = {
-0x1e, 0x21, 0x2d, 0x25, 0x2d, 0x21, 0x1e};
-static unsigned char helvetica8_170_bits[] = {
-0x03, 0x04, 0x07, 0x00, 0x07};
-static unsigned char helvetica8_171_bits[] = {
-0x0a, 0x05, 0x0a};
-static unsigned char helvetica8_172_bits[] = {
-0x0f, 0x08, 0x08};
-static unsigned char helvetica8_173_bits[] = {
-0x03};
-static unsigned char helvetica8_174_bits[] = {
-0x1e, 0x21, 0x2d, 0x2d, 0x35, 0x21, 0x1e};
-static unsigned char helvetica8_175_bits[] = {
-0x07};
-static unsigned char helvetica8_176_bits[] = {
-0x02, 0x05, 0x02};
-static unsigned char helvetica8_177_bits[] = {
-0x04, 0x0f, 0x04, 0x00, 0x0f};
-static unsigned char helvetica8_178_bits[] = {
-0x01, 0x02, 0x01, 0x03};
-static unsigned char helvetica8_179_bits[] = {
-0x07, 0x06, 0x04, 0x03};
-static unsigned char helvetica8_180_bits[] = {
-0x02, 0x01};
-static unsigned char helvetica8_181_bits[] = {
-0x05, 0x05, 0x05, 0x07, 0x01, 0x01};
-static unsigned char helvetica8_182_bits[] = {
-0x1e, 0x0b, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x0a};
-static unsigned char helvetica8_183_bits[] = {
-0x01, 0x01};
-static unsigned char helvetica8_184_bits[] = {
-0x02, 0x01};
-static unsigned char helvetica8_185_bits[] = {
-0x02, 0x03, 0x02, 0x02};
-static unsigned char helvetica8_186_bits[] = {
-0x07, 0x05, 0x07, 0x00, 0x07};
-static unsigned char helvetica8_187_bits[] = {
-0x05, 0x0a, 0x05};
-static unsigned char helvetica8_188_bits[] = {
-0x02, 0x23, 0x12, 0x2a, 0x34, 0x7a, 0x20};
-static unsigned char helvetica8_189_bits[] = {
-0x02, 0x23, 0x12, 0x3a, 0x44, 0x22, 0x70};
-static unsigned char helvetica8_190_bits[] = {
-0x07, 0x26, 0x14, 0x2b, 0x34, 0x7a, 0x20};
-static unsigned char helvetica8_191_bits[] = {
-0x04, 0x00, 0x04, 0x02, 0x09, 0x06};
-static unsigned char helvetica8_192_bits[] = {
-0x02, 0x04, 0x00, 0x04, 0x04, 0x0a, 0x0e, 0x11, 0x11};
-static unsigned char helvetica8_193_bits[] = {
-0x08, 0x04, 0x00, 0x04, 0x04, 0x0a, 0x0e, 0x11, 0x11};
-static unsigned char helvetica8_194_bits[] = {
-0x04, 0x0a, 0x00, 0x04, 0x04, 0x0a, 0x0e, 0x11, 0x11};
-static unsigned char helvetica8_195_bits[] = {
-0x14, 0x0a, 0x00, 0x04, 0x04, 0x0a, 0x0e, 0x11, 0x11};
-static unsigned char helvetica8_196_bits[] = {
-0x0a, 0x00, 0x04, 0x04, 0x0a, 0x0e, 0x11, 0x11};
-static unsigned char helvetica8_197_bits[] = {
-0x04, 0x0a, 0x04, 0x04, 0x04, 0x0a, 0x0e, 0x11, 0x11};
-static unsigned char helvetica8_198_bits[] = {
-0x7c, 0x0c, 0x0a, 0x3e, 0x09, 0x79};
-static unsigned char helvetica8_199_bits[] = {
-0x0e, 0x11, 0x11, 0x01, 0x11, 0x0e, 0x02, 0x01};
-static unsigned char helvetica8_200_bits[] = {
-0x02, 0x04, 0x00, 0x0f, 0x01, 0x07, 0x01, 0x01, 0x0f};
-static unsigned char helvetica8_201_bits[] = {
-0x04, 0x02, 0x00, 0x0f, 0x01, 0x07, 0x01, 0x01, 0x0f};
-static unsigned char helvetica8_202_bits[] = {
-0x02, 0x05, 0x00, 0x0f, 0x01, 0x07, 0x01, 0x01, 0x0f};
-static unsigned char helvetica8_203_bits[] = {
-0x05, 0x00, 0x0f, 0x01, 0x07, 0x01, 0x01, 0x0f};
-static unsigned char helvetica8_204_bits[] = {
-0x01, 0x02, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica8_205_bits[] = {
-0x02, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica8_206_bits[] = {
-0x02, 0x05, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica8_207_bits[] = {
-0x05, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica8_208_bits[] = {
-0x0e, 0x12, 0x17, 0x12, 0x12, 0x0e};
-static unsigned char helvetica8_209_bits[] = {
-0x14, 0x0a, 0x00, 0x11, 0x13, 0x15, 0x15, 0x19, 0x11};
-static unsigned char helvetica8_210_bits[] = {
-0x02, 0x04, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica8_211_bits[] = {
-0x08, 0x04, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica8_212_bits[] = {
-0x04, 0x0a, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica8_213_bits[] = {
-0x14, 0x0a, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica8_214_bits[] = {
-0x0a, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica8_215_bits[] = {
-0x09, 0x06, 0x06, 0x09};
-static unsigned char helvetica8_216_bits[] = {
-0x10, 0x1e, 0x11, 0x19, 0x15, 0x13, 0x0f, 0x01};
-static unsigned char helvetica8_217_bits[] = {
-0x02, 0x04, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica8_218_bits[] = {
-0x08, 0x04, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica8_219_bits[] = {
-0x04, 0x0a, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica8_220_bits[] = {
-0x0a, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char helvetica8_221_bits[] = {
-0x10, 0x08, 0x00, 0x13, 0x12, 0x12, 0x0c, 0x04, 0x04};
-static unsigned char helvetica8_222_bits[] = {
-0x01, 0x0f, 0x11, 0x11, 0x0f, 0x01};
-static unsigned char helvetica8_223_bits[] = {
-0x06, 0x09, 0x05, 0x09, 0x09, 0x05, 0x01};
-static unsigned char helvetica8_224_bits[] = {
-0x01, 0x02, 0x00, 0x03, 0x04, 0x07, 0x05, 0x0b};
-static unsigned char helvetica8_225_bits[] = {
-0x04, 0x02, 0x00, 0x03, 0x04, 0x07, 0x05, 0x0b};
-static unsigned char helvetica8_226_bits[] = {
-0x02, 0x05, 0x00, 0x03, 0x04, 0x07, 0x05, 0x0b};
-static unsigned char helvetica8_227_bits[] = {
-0x16, 0x0d, 0x00, 0x06, 0x08, 0x0e, 0x0a, 0x16};
-static unsigned char helvetica8_228_bits[] = {
-0x05, 0x00, 0x03, 0x04, 0x07, 0x05, 0x0b};
-static unsigned char helvetica8_229_bits[] = {
-0x02, 0x05, 0x02, 0x03, 0x04, 0x07, 0x05, 0x0b};
-static unsigned char helvetica8_230_bits[] = {
-0x0b, 0x14, 0x1f, 0x05, 0x1b};
-static unsigned char helvetica8_231_bits[] = {
-0x06, 0x01, 0x01, 0x01, 0x06, 0x02, 0x01};
-static unsigned char helvetica8_232_bits[] = {
-0x02, 0x04, 0x00, 0x02, 0x05, 0x07, 0x01, 0x06};
-static unsigned char helvetica8_233_bits[] = {
-0x04, 0x02, 0x00, 0x02, 0x05, 0x07, 0x01, 0x06};
-static unsigned char helvetica8_234_bits[] = {
-0x02, 0x05, 0x00, 0x02, 0x05, 0x07, 0x01, 0x06};
-static unsigned char helvetica8_235_bits[] = {
-0x05, 0x00, 0x02, 0x05, 0x07, 0x01, 0x06};
-static unsigned char helvetica8_236_bits[] = {
-0x01, 0x02, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica8_237_bits[] = {
-0x02, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char helvetica8_238_bits[] = {
-0x02, 0x05, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica8_239_bits[] = {
-0x05, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char helvetica8_240_bits[] = {
-0x09, 0x06, 0x05, 0x0e, 0x09, 0x09, 0x09, 0x06};
-static unsigned char helvetica8_241_bits[] = {
-0x0a, 0x05, 0x00, 0x07, 0x09, 0x09, 0x09, 0x09};
-static unsigned char helvetica8_242_bits[] = {
-0x02, 0x04, 0x00, 0x06, 0x09, 0x09, 0x09, 0x06};
-static unsigned char helvetica8_243_bits[] = {
-0x08, 0x04, 0x00, 0x06, 0x09, 0x09, 0x09, 0x06};
-static unsigned char helvetica8_244_bits[] = {
-0x02, 0x05, 0x00, 0x06, 0x09, 0x09, 0x09, 0x06};
-static unsigned char helvetica8_245_bits[] = {
-0x0a, 0x05, 0x00, 0x06, 0x09, 0x09, 0x09, 0x06};
-static unsigned char helvetica8_246_bits[] = {
-0x09, 0x00, 0x06, 0x09, 0x09, 0x09, 0x06};
-static unsigned char helvetica8_247_bits[] = {
-0x04, 0x00, 0x0f, 0x00, 0x04};
-static unsigned char helvetica8_248_bits[] = {
-0x40, 0x3c, 0x12, 0x1a, 0x16, 0x0e, 0x01};
-static unsigned char helvetica8_249_bits[] = {
-0x01, 0x02, 0x00, 0x05, 0x05, 0x05, 0x05, 0x06};
-static unsigned char helvetica8_250_bits[] = {
-0x04, 0x02, 0x00, 0x05, 0x05, 0x05, 0x05, 0x06};
-static unsigned char helvetica8_251_bits[] = {
-0x02, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x06};
-static unsigned char helvetica8_252_bits[] = {
-0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x06};
-static unsigned char helvetica8_253_bits[] = {
-0x08, 0x04, 0x00, 0x09, 0x09, 0x09, 0x06, 0x02, 0x01};
-static unsigned char helvetica8_254_bits[] = {
-0x01, 0x07, 0x09, 0x09, 0x09, 0x07, 0x01};
-static unsigned char helvetica8_255_bits[] = {
-0x0a, 0x00, 0x09, 0x09, 0x09, 0x06, 0x02, 0x01};
-static RotFont helvetica8font[] = {
-{5, 1, 1, helvetica8_0_bits},
-{5, 1, 1, helvetica8_1_bits},
-{5, 1, 1, helvetica8_2_bits},
-{5, 1, 1, helvetica8_3_bits},
-{5, 1, 1, helvetica8_4_bits},
-{5, 1, 1, helvetica8_5_bits},
-{5, 1, 1, helvetica8_6_bits},
-{5, 1, 1, helvetica8_7_bits},
-{5, 1, 1, helvetica8_8_bits},
-{5, 1, 1, helvetica8_9_bits},
-{5, 1, 1, helvetica8_10_bits},
-{5, 1, 1, helvetica8_11_bits},
-{5, 1, 1, helvetica8_12_bits},
-{5, 1, 1, helvetica8_13_bits},
-{5, 1, 1, helvetica8_14_bits},
-{5, 1, 1, helvetica8_15_bits},
-{5, 1, 1, helvetica8_16_bits},
-{5, 1, 1, helvetica8_17_bits},
-{5, 1, 1, helvetica8_18_bits},
-{5, 1, 1, helvetica8_19_bits},
-{5, 1, 1, helvetica8_20_bits},
-{5, 1, 1, helvetica8_21_bits},
-{5, 1, 1, helvetica8_22_bits},
-{5, 1, 1, helvetica8_23_bits},
-{5, 1, 1, helvetica8_24_bits},
-{5, 1, 1, helvetica8_25_bits},
-{5, 1, 1, helvetica8_26_bits},
-{5, 1, 1, helvetica8_27_bits},
-{5, 1, 1, helvetica8_28_bits},
-{5, 1, 1, helvetica8_29_bits},
-{5, 1, 1, helvetica8_30_bits},
-{5, 1, 1, helvetica8_31_bits},
-{4, 1, 1, helvetica8_32_bits},
-{1, 6, 6, helvetica8_33_bits},
-{3, 3, 6, helvetica8_34_bits},
-{5, 5, 5, helvetica8_35_bits},
-{4, 7, 6, helvetica8_36_bits},
-{6, 6, 6, helvetica8_37_bits},
-{5, 6, 6, helvetica8_38_bits},
-{1, 3, 6, helvetica8_39_bits},
-{2, 7, 6, helvetica8_40_bits},
-{2, 7, 6, helvetica8_41_bits},
-{3, 3, 5, helvetica8_42_bits},
-{5, 5, 5, helvetica8_43_bits},
-{2, 3, 1, helvetica8_44_bits},
-{4, 1, 3, helvetica8_45_bits},
-{1, 1, 1, helvetica8_46_bits},
-{2, 7, 6, helvetica8_47_bits},
-{4, 6, 6, helvetica8_48_bits},
-{2, 6, 6, helvetica8_49_bits},
-{4, 6, 6, helvetica8_50_bits},
-{3, 6, 6, helvetica8_51_bits},
-{4, 6, 6, helvetica8_52_bits},
-{3, 6, 6, helvetica8_53_bits},
-{4, 6, 6, helvetica8_54_bits},
-{4, 6, 6, helvetica8_55_bits},
-{4, 6, 6, helvetica8_56_bits},
-{4, 6, 6, helvetica8_57_bits},
-{1, 4, 4, helvetica8_58_bits},
-{2, 6, 4, helvetica8_59_bits},
-{3, 5, 5, helvetica8_60_bits},
-{3, 3, 4, helvetica8_61_bits},
-{3, 5, 5, helvetica8_62_bits},
-{3, 5, 5, helvetica8_63_bits},
-{8, 7, 6, helvetica8_64_bits},
-{5, 6, 6, helvetica8_65_bits},
-{4, 6, 6, helvetica8_66_bits},
-{5, 6, 6, helvetica8_67_bits},
-{5, 6, 6, helvetica8_68_bits},
-{4, 6, 6, helvetica8_69_bits},
-{4, 6, 6, helvetica8_70_bits},
-{5, 6, 6, helvetica8_71_bits},
-{5, 6, 6, helvetica8_72_bits},
-{1, 6, 6, helvetica8_73_bits},
-{3, 6, 6, helvetica8_74_bits},
-{4, 6, 6, helvetica8_75_bits},
-{3, 6, 6, helvetica8_76_bits},
-{5, 6, 6, helvetica8_77_bits},
-{5, 6, 6, helvetica8_78_bits},
-{5, 6, 6, helvetica8_79_bits},
-{4, 6, 6, helvetica8_80_bits},
-{5, 8, 6, helvetica8_81_bits},
-{4, 6, 6, helvetica8_82_bits},
-{4, 6, 6, helvetica8_83_bits},
-{3, 6, 6, helvetica8_84_bits},
-{5, 6, 6, helvetica8_85_bits},
-{4, 6, 6, helvetica8_86_bits},
-{7, 6, 6, helvetica8_87_bits},
-{4, 6, 6, helvetica8_88_bits},
-{5, 6, 6, helvetica8_89_bits},
-{4, 6, 6, helvetica8_90_bits},
-{2, 7, 6, helvetica8_91_bits},
-{2, 7, 6, helvetica8_92_bits},
-{2, 7, 6, helvetica8_93_bits},
-{5, 3, 5, helvetica8_94_bits},
-{5, 1, 0, helvetica8_95_bits},
-{1, 3, 6, helvetica8_96_bits},
-{4, 5, 5, helvetica8_97_bits},
-{4, 7, 7, helvetica8_98_bits},
-{3, 5, 5, helvetica8_99_bits},
-{4, 7, 7, helvetica8_100_bits},
-{3, 5, 5, helvetica8_101_bits},
-{3, 7, 7, helvetica8_102_bits},
-{4, 6, 5, helvetica8_103_bits},
-{4, 7, 7, helvetica8_104_bits},
-{1, 7, 7, helvetica8_105_bits},
-{2, 9, 7, helvetica8_106_bits},
-{3, 7, 7, helvetica8_107_bits},
-{1, 7, 7, helvetica8_108_bits},
-{5, 5, 5, helvetica8_109_bits},
-{4, 5, 5, helvetica8_110_bits},
-{4, 5, 5, helvetica8_111_bits},
-{4, 6, 5, helvetica8_112_bits},
-{4, 6, 5, helvetica8_113_bits},
-{3, 5, 5, helvetica8_114_bits},
-{3, 5, 5, helvetica8_115_bits},
-{3, 7, 7, helvetica8_116_bits},
-{3, 5, 5, helvetica8_117_bits},
-{4, 5, 5, helvetica8_118_bits},
-{5, 5, 5, helvetica8_119_bits},
-{4, 5, 5, helvetica8_120_bits},
-{4, 6, 5, helvetica8_121_bits},
-{3, 5, 5, helvetica8_122_bits},
-{3, 7, 6, helvetica8_123_bits},
-{1, 7, 6, helvetica8_124_bits},
-{3, 7, 6, helvetica8_125_bits},
-{5, 2, 4, helvetica8_126_bits},
-{5, 1, 1, helvetica8_127_bits},
-{5, 1, 1, helvetica8_128_bits},
-{5, 1, 1, helvetica8_129_bits},
-{5, 1, 1, helvetica8_130_bits},
-{5, 1, 1, helvetica8_131_bits},
-{5, 1, 1, helvetica8_132_bits},
-{5, 1, 1, helvetica8_133_bits},
-{5, 1, 1, helvetica8_134_bits},
-{5, 1, 1, helvetica8_135_bits},
-{5, 1, 1, helvetica8_136_bits},
-{5, 1, 1, helvetica8_137_bits},
-{5, 1, 1, helvetica8_138_bits},
-{5, 1, 1, helvetica8_139_bits},
-{5, 1, 1, helvetica8_140_bits},
-{5, 1, 1, helvetica8_141_bits},
-{5, 1, 1, helvetica8_142_bits},
-{5, 1, 1, helvetica8_143_bits},
-{5, 1, 1, helvetica8_144_bits},
-{5, 1, 1, helvetica8_145_bits},
-{5, 1, 1, helvetica8_146_bits},
-{5, 1, 1, helvetica8_147_bits},
-{5, 1, 1, helvetica8_148_bits},
-{5, 1, 1, helvetica8_149_bits},
-{5, 1, 1, helvetica8_150_bits},
-{5, 1, 1, helvetica8_151_bits},
-{5, 1, 1, helvetica8_152_bits},
-{5, 1, 1, helvetica8_153_bits},
-{5, 1, 1, helvetica8_154_bits},
-{5, 1, 1, helvetica8_155_bits},
-{5, 1, 1, helvetica8_156_bits},
-{5, 1, 1, helvetica8_157_bits},
-{5, 1, 1, helvetica8_158_bits},
-{5, 1, 1, helvetica8_159_bits},
-{1, 1, 1, helvetica8_160_bits},
-{1, 7, 5, helvetica8_161_bits},
-{3, 7, 6, helvetica8_162_bits},
-{4, 6, 6, helvetica8_163_bits},
-{5, 5, 5, helvetica8_164_bits},
-{5, 5, 5, helvetica8_165_bits},
-{1, 7, 6, helvetica8_166_bits},
-{4, 8, 6, helvetica8_167_bits},
-{4, 1, 6, helvetica8_168_bits},
-{6, 7, 6, helvetica8_169_bits},
-{3, 5, 6, helvetica8_170_bits},
-{4, 3, 4, helvetica8_171_bits},
-{4, 3, 4, helvetica8_172_bits},
-{2, 1, 3, helvetica8_173_bits},
-{6, 7, 6, helvetica8_174_bits},
-{3, 1, 6, helvetica8_175_bits},
-{3, 3, 6, helvetica8_176_bits},
-{4, 5, 5, helvetica8_177_bits},
-{2, 4, 6, helvetica8_178_bits},
-{3, 4, 6, helvetica8_179_bits},
-{2, 2, 6, helvetica8_180_bits},
-{3, 6, 4, helvetica8_181_bits},
-{5, 8, 6, helvetica8_182_bits},
-{1, 2, 3, helvetica8_183_bits},
-{2, 2, 0, helvetica8_184_bits},
-{2, 4, 6, helvetica8_185_bits},
-{3, 5, 6, helvetica8_186_bits},
-{4, 3, 4, helvetica8_187_bits},
-{7, 7, 6, helvetica8_188_bits},
-{7, 7, 6, helvetica8_189_bits},
-{7, 7, 6, helvetica8_190_bits},
-{4, 6, 5, helvetica8_191_bits},
-{5, 9, 9, helvetica8_192_bits},
-{5, 9, 9, helvetica8_193_bits},
-{5, 9, 9, helvetica8_194_bits},
-{5, 9, 9, helvetica8_195_bits},
-{5, 8, 8, helvetica8_196_bits},
-{5, 9, 9, helvetica8_197_bits},
-{7, 6, 6, helvetica8_198_bits},
-{5, 8, 6, helvetica8_199_bits},
-{4, 9, 9, helvetica8_200_bits},
-{4, 9, 9, helvetica8_201_bits},
-{4, 9, 9, helvetica8_202_bits},
-{4, 8, 8, helvetica8_203_bits},
-{2, 9, 9, helvetica8_204_bits},
-{2, 9, 9, helvetica8_205_bits},
-{3, 9, 9, helvetica8_206_bits},
-{3, 8, 8, helvetica8_207_bits},
-{5, 6, 6, helvetica8_208_bits},
-{5, 9, 9, helvetica8_209_bits},
-{5, 9, 9, helvetica8_210_bits},
-{5, 9, 9, helvetica8_211_bits},
-{5, 9, 9, helvetica8_212_bits},
-{5, 9, 9, helvetica8_213_bits},
-{5, 8, 8, helvetica8_214_bits},
-{4, 4, 4, helvetica8_215_bits},
-{5, 8, 7, helvetica8_216_bits},
-{5, 9, 9, helvetica8_217_bits},
-{5, 9, 9, helvetica8_218_bits},
-{5, 9, 9, helvetica8_219_bits},
-{5, 8, 8, helvetica8_220_bits},
-{5, 9, 9, helvetica8_221_bits},
-{5, 6, 6, helvetica8_222_bits},
-{4, 7, 6, helvetica8_223_bits},
-{4, 8, 8, helvetica8_224_bits},
-{4, 8, 8, helvetica8_225_bits},
-{4, 8, 8, helvetica8_226_bits},
-{5, 8, 8, helvetica8_227_bits},
-{4, 7, 7, helvetica8_228_bits},
-{4, 8, 8, helvetica8_229_bits},
-{5, 5, 5, helvetica8_230_bits},
-{3, 7, 5, helvetica8_231_bits},
-{3, 8, 8, helvetica8_232_bits},
-{3, 8, 8, helvetica8_233_bits},
-{3, 8, 8, helvetica8_234_bits},
-{3, 7, 7, helvetica8_235_bits},
-{2, 8, 8, helvetica8_236_bits},
-{2, 8, 8, helvetica8_237_bits},
-{3, 8, 8, helvetica8_238_bits},
-{3, 7, 7, helvetica8_239_bits},
-{4, 8, 8, helvetica8_240_bits},
-{4, 8, 8, helvetica8_241_bits},
-{4, 8, 8, helvetica8_242_bits},
-{4, 8, 8, helvetica8_243_bits},
-{4, 8, 8, helvetica8_244_bits},
-{4, 8, 8, helvetica8_245_bits},
-{4, 7, 7, helvetica8_246_bits},
-{4, 5, 5, helvetica8_247_bits},
-{7, 7, 6, helvetica8_248_bits},
-{3, 8, 8, helvetica8_249_bits},
-{3, 8, 8, helvetica8_250_bits},
-{3, 8, 8, helvetica8_251_bits},
-{3, 7, 7, helvetica8_252_bits},
-{4, 9, 8, helvetica8_253_bits},
-{4, 7, 6, helvetica8_254_bits},
-{4, 8, 7, helvetica8_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/symbol12.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/symbol12.h	(revision 38985)
+++ 	(revision )
@@ -1,815 +1,0 @@
-static unsigned char symbol12_0_bits[] = {
-0x00};
-static unsigned char symbol12_1_bits[] = {
-0x00};
-static unsigned char symbol12_2_bits[] = {
-0x00};
-static unsigned char symbol12_3_bits[] = {
-0x00};
-static unsigned char symbol12_4_bits[] = {
-0x00};
-static unsigned char symbol12_5_bits[] = {
-0x00};
-static unsigned char symbol12_6_bits[] = {
-0x00};
-static unsigned char symbol12_7_bits[] = {
-0x00};
-static unsigned char symbol12_8_bits[] = {
-0x00};
-static unsigned char symbol12_9_bits[] = {
-0x00};
-static unsigned char symbol12_10_bits[] = {
-0x00};
-static unsigned char symbol12_11_bits[] = {
-0x00};
-static unsigned char symbol12_12_bits[] = {
-0x00};
-static unsigned char symbol12_13_bits[] = {
-0x00};
-static unsigned char symbol12_14_bits[] = {
-0x00};
-static unsigned char symbol12_15_bits[] = {
-0x00};
-static unsigned char symbol12_16_bits[] = {
-0x00};
-static unsigned char symbol12_17_bits[] = {
-0x00};
-static unsigned char symbol12_18_bits[] = {
-0x00};
-static unsigned char symbol12_19_bits[] = {
-0x00};
-static unsigned char symbol12_20_bits[] = {
-0x00};
-static unsigned char symbol12_21_bits[] = {
-0x00};
-static unsigned char symbol12_22_bits[] = {
-0x00};
-static unsigned char symbol12_23_bits[] = {
-0x00};
-static unsigned char symbol12_24_bits[] = {
-0x00};
-static unsigned char symbol12_25_bits[] = {
-0x00};
-static unsigned char symbol12_26_bits[] = {
-0x00};
-static unsigned char symbol12_27_bits[] = {
-0x00};
-static unsigned char symbol12_28_bits[] = {
-0x00};
-static unsigned char symbol12_29_bits[] = {
-0x00};
-static unsigned char symbol12_30_bits[] = {
-0x00};
-static unsigned char symbol12_31_bits[] = {
-0x00};
-static unsigned char symbol12_32_bits[] = {
-0x00};
-static unsigned char symbol12_33_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01};
-static unsigned char symbol12_34_bits[] = {
-0x01, 0x01, 0x82, 0x00, 0x82, 0x00, 0x7c, 0x00, 0x44, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x10, 0x00, 0x10, 0x00};
-static unsigned char symbol12_35_bits[] = {
-0x14, 0x14, 0x14, 0x3f, 0x0a, 0x1f, 0x0a, 0x0a, 0x0a};
-static unsigned char symbol12_36_bits[] = {
-0x1f, 0x10, 0x10, 0x10, 0x1f, 0x10, 0x10, 0x10, 0x1f};
-static unsigned char symbol12_37_bits[] = {
-0x9e, 0x00, 0xe9, 0x00, 0x49, 0x00, 0x26, 0x00, 0x10, 0x00, 0xc8, 0x00, 
-0x28, 0x01, 0x24, 0x01, 0xc6, 0x00};
-static unsigned char symbol12_38_bits[] = {
-0x0c, 0x00, 0x12, 0x00, 0x12, 0x00, 0xec, 0x00, 0x4e, 0x00, 0x59, 0x00, 
-0x31, 0x00, 0x31, 0x01, 0xce, 0x00};
-static unsigned char symbol12_39_bits[] = {
-0x07, 0x08, 0x0f, 0x08, 0x08, 0x07};
-static unsigned char symbol12_40_bits[] = {
-0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x04};
-static unsigned char symbol12_41_bits[] = {
-0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01};
-static unsigned char symbol12_42_bits[] = {
-0x04, 0x15, 0x0e, 0x15, 0x04};
-static unsigned char symbol12_43_bits[] = {
-0x04, 0x04, 0x1f, 0x04, 0x04};
-static unsigned char symbol12_44_bits[] = {
-0x02, 0x02, 0x01};
-static unsigned char symbol12_45_bits[] = {
-0x1f};
-static unsigned char symbol12_46_bits[] = {
-0x01};
-static unsigned char symbol12_47_bits[] = {
-0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01};
-static unsigned char symbol12_48_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char symbol12_49_bits[] = {
-0x02, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char symbol12_50_bits[] = {
-0x0e, 0x11, 0x11, 0x10, 0x08, 0x04, 0x02, 0x11, 0x1f};
-static unsigned char symbol12_51_bits[] = {
-0x0e, 0x11, 0x11, 0x10, 0x0c, 0x10, 0x10, 0x11, 0x0e};
-static unsigned char symbol12_52_bits[] = {
-0x18, 0x14, 0x14, 0x12, 0x12, 0x11, 0x3f, 0x10, 0x10};
-static unsigned char symbol12_53_bits[] = {
-0x1e, 0x02, 0x01, 0x0f, 0x18, 0x10, 0x10, 0x11, 0x0f};
-static unsigned char symbol12_54_bits[] = {
-0x1c, 0x02, 0x01, 0x0d, 0x13, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char symbol12_55_bits[] = {
-0x1f, 0x11, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02, 0x02};
-static unsigned char symbol12_56_bits[] = {
-0x0e, 0x11, 0x11, 0x13, 0x0e, 0x19, 0x11, 0x11, 0x0e};
-static unsigned char symbol12_57_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x1e, 0x08, 0x08, 0x04, 0x02};
-static unsigned char symbol12_58_bits[] = {
-0x01, 0x00, 0x00, 0x00, 0x00, 0x01};
-static unsigned char symbol12_59_bits[] = {
-0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x01};
-static unsigned char symbol12_60_bits[] = {
-0x30, 0x0c, 0x03, 0x0c, 0x30};
-static unsigned char symbol12_61_bits[] = {
-0x1f, 0x00, 0x1f};
-static unsigned char symbol12_62_bits[] = {
-0x03, 0x0c, 0x30, 0x0c, 0x03};
-static unsigned char symbol12_63_bits[] = {
-0x0e, 0x11, 0x11, 0x10, 0x08, 0x04, 0x04, 0x00, 0x04};
-static unsigned char symbol12_64_bits[] = {
-0x16, 0x0d, 0x00, 0x1f, 0x00, 0x1f};
-static unsigned char symbol12_65_bits[] = {
-0x10, 0x00, 0x38, 0x00, 0x28, 0x00, 0x28, 0x00, 0x44, 0x00, 0x7c, 0x00, 
-0x44, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char symbol12_66_bits[] = {
-0x3f, 0x62, 0x42, 0x62, 0x3e, 0x62, 0x42, 0x62, 0x3f};
-static unsigned char symbol12_67_bits[] = {
-0xe7, 0x42, 0x24, 0x18, 0x18, 0x24, 0x24, 0x42, 0xe7};
-static unsigned char symbol12_68_bits[] = {
-0x08, 0x08, 0x14, 0x14, 0x22, 0x22, 0x22, 0x41, 0x7f};
-static unsigned char symbol12_69_bits[] = {
-0x7f, 0x42, 0x02, 0x22, 0x3e, 0x22, 0x02, 0x42, 0x7f};
-static unsigned char symbol12_70_bits[] = {
-0x38, 0x00, 0x10, 0x00, 0xfe, 0x00, 0x93, 0x01, 0x11, 0x01, 0x93, 0x01, 
-0xfe, 0x00, 0x10, 0x00, 0x38, 0x00};
-static unsigned char symbol12_71_bits[] = {
-0x7f, 0x42, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char symbol12_72_bits[] = {
-0xe7, 0x42, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0xe7};
-static unsigned char symbol12_73_bits[] = {
-0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char symbol12_74_bits[] = {
-0x20, 0x50, 0x50, 0x66, 0xc5, 0x44, 0x44, 0x64, 0x38};
-static unsigned char symbol12_75_bits[] = {
-0x77, 0x22, 0x12, 0x0a, 0x0e, 0x12, 0x22, 0x42, 0xe7};
-static unsigned char symbol12_76_bits[] = {
-0x10, 0x00, 0x10, 0x00, 0x28, 0x00, 0x28, 0x00, 0x44, 0x00, 0x44, 0x00, 
-0x82, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char symbol12_77_bits[] = {
-0x07, 0x07, 0x06, 0x03, 0x8a, 0x02, 0x8a, 0x02, 0x8a, 0x02, 0x52, 0x02, 
-0x52, 0x02, 0x22, 0x02, 0x27, 0x07};
-static unsigned char symbol12_78_bits[] = {
-0xe7, 0x46, 0x4a, 0x4a, 0x52, 0x52, 0x62, 0x62, 0x47};
-static unsigned char symbol12_79_bits[] = {
-0x3c, 0x66, 0x42, 0x81, 0x81, 0x81, 0x42, 0x66, 0x3c};
-static unsigned char symbol12_80_bits[] = {
-0xff, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0xe7};
-static unsigned char symbol12_81_bits[] = {
-0x3c, 0x66, 0x42, 0xa5, 0xbd, 0xa5, 0x42, 0x66, 0x3c};
-static unsigned char symbol12_82_bits[] = {
-0x1f, 0x32, 0x22, 0x32, 0x1e, 0x02, 0x02, 0x02, 0x07};
-static unsigned char symbol12_83_bits[] = {
-0x3f, 0x21, 0x03, 0x06, 0x0c, 0x04, 0x02, 0x41, 0x7f};
-static unsigned char symbol12_84_bits[] = {
-0x7f, 0x49, 0x49, 0x08, 0x08, 0x08, 0x08, 0x08, 0x1c};
-static unsigned char symbol12_85_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x44, 0x00, 0x28, 0x00, 0x10, 0x00, 0x10, 0x00, 
-0x10, 0x00, 0x10, 0x00, 0x38, 0x00};
-static unsigned char symbol12_86_bits[] = {
-0x1e, 0x01, 0x01, 0x01, 0x03, 0x0e, 0x10, 0x12, 0x0e};
-static unsigned char symbol12_87_bits[] = {
-0x78, 0x00, 0xcc, 0x00, 0x84, 0x00, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
-0x84, 0x00, 0x49, 0x02, 0xcf, 0x03};
-static unsigned char symbol12_88_bits[] = {
-0x7e, 0x42, 0x00, 0x24, 0x3c, 0x24, 0x00, 0x81, 0xff};
-static unsigned char symbol12_89_bits[] = {
-0xbb, 0x01, 0x92, 0x00, 0x92, 0x00, 0xd6, 0x00, 0x7c, 0x00, 0x10, 0x00, 
-0x10, 0x00, 0x10, 0x00, 0x38, 0x00};
-static unsigned char symbol12_90_bits[] = {
-0x3f, 0x21, 0x10, 0x08, 0x04, 0x04, 0x02, 0x21, 0x3f};
-static unsigned char symbol12_91_bits[] = {
-0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x07};
-static unsigned char symbol12_92_bits[] = {
-0x08, 0x08, 0x00, 0x00, 0x41, 0x41};
-static unsigned char symbol12_93_bits[] = {
-0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07};
-static unsigned char symbol12_94_bits[] = {
-0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f};
-static unsigned char symbol12_95_bits[] = {
-0x3f};
-static unsigned char symbol12_96_bits[] = {
-0x7f};
-static unsigned char symbol12_97_bits[] = {
-0x2e, 0x2b, 0x11, 0x11, 0x2b, 0x66};
-static unsigned char symbol12_98_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x0d, 0x11, 0x11, 0x11, 0x13, 0x0d, 0x01, 0x01, 
-0x01};
-static unsigned char symbol12_99_bits[] = {
-0x63, 0x35, 0x14, 0x18, 0x0c, 0x14, 0x16, 0x52, 0x63};
-static unsigned char symbol12_100_bits[] = {
-0x0e, 0x19, 0x01, 0x02, 0x0e, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char symbol12_101_bits[] = {
-0x0e, 0x01, 0x07, 0x01, 0x09, 0x0e};
-static unsigned char symbol12_102_bits[] = {
-0x08, 0x08, 0x1c, 0x2a, 0x49, 0x49, 0x2a, 0x1c, 0x08, 0x08, 0x08};
-static unsigned char symbol12_103_bits[] = {
-0x23, 0x25, 0x24, 0x24, 0x14, 0x18, 0x08, 0x0c, 0x04};
-static unsigned char symbol12_104_bits[] = {
-0x36, 0x4d, 0x44, 0x44, 0x44, 0x44, 0x40, 0x40, 0x40};
-static unsigned char symbol12_105_bits[] = {
-0x03, 0x02, 0x02, 0x02, 0x02, 0x06};
-static unsigned char symbol12_106_bits[] = {
-0x18, 0x2a, 0x49, 0x49, 0x2a, 0x1c, 0x08, 0x08, 0x08};
-static unsigned char symbol12_107_bits[] = {
-0x32, 0x2b, 0x06, 0x0e, 0x1a, 0x32};
-static unsigned char symbol12_108_bits[] = {
-0x06, 0x0a, 0x08, 0x0c, 0x14, 0x12, 0x12, 0x51, 0x61};
-static unsigned char symbol12_109_bits[] = {
-0x11, 0x11, 0x11, 0x11, 0x59, 0x37, 0x01, 0x01, 0x03};
-static unsigned char symbol12_110_bits[] = {
-0x33, 0x22, 0x22, 0x14, 0x14, 0x0c};
-static unsigned char symbol12_111_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char symbol12_112_bits[] = {
-0x7e, 0x25, 0x24, 0x24, 0x64, 0x26};
-static unsigned char symbol12_113_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x1f, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char symbol12_114_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x13, 0x0d, 0x01, 0x01, 0x01};
-static unsigned char symbol12_115_bits[] = {
-0x3e, 0x09, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char symbol12_116_bits[] = {
-0x1e, 0x05, 0x04, 0x04, 0x14, 0x0c};
-static unsigned char symbol12_117_bits[] = {
-0x26, 0x45, 0x44, 0x44, 0x64, 0x38};
-static unsigned char symbol12_118_bits[] = {
-0xfe, 0x45, 0x92, 0x92, 0x92, 0x92, 0x6c};
-static unsigned char symbol12_119_bits[] = {
-0x22, 0x49, 0x49, 0x49, 0x49, 0x36};
-static unsigned char symbol12_120_bits[] = {
-0x02, 0x01, 0x0e, 0x03, 0x01, 0x0f, 0x02, 0x01, 0x01, 0x03, 0x0e, 0x10, 
-0x12, 0x0e};
-static unsigned char symbol12_121_bits[] = {
-0x11, 0x01, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 0xd6, 0x00, 0x7c, 0x00, 
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00};
-static unsigned char symbol12_122_bits[] = {
-0x02, 0x19, 0x0e, 0x02, 0x01, 0x01, 0x01, 0x01, 0x03, 0x0e, 0x10, 0x12, 
-0x0e};
-static unsigned char symbol12_123_bits[] = {
-0x18, 0x04, 0x04, 0x04, 0x02, 0x01, 0x02, 0x04, 0x04, 0x04, 0x04, 0x18};
-static unsigned char symbol12_124_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol12_125_bits[] = {
-0x03, 0x04, 0x04, 0x04, 0x08, 0x10, 0x08, 0x04, 0x04, 0x04, 0x04, 0x03};
-static unsigned char symbol12_126_bits[] = {
-0x46, 0x49, 0x31};
-static unsigned char symbol12_127_bits[] = {
-0x00};
-static unsigned char symbol12_128_bits[] = {
-0x00};
-static unsigned char symbol12_129_bits[] = {
-0x00};
-static unsigned char symbol12_130_bits[] = {
-0x00};
-static unsigned char symbol12_131_bits[] = {
-0x00};
-static unsigned char symbol12_132_bits[] = {
-0x00};
-static unsigned char symbol12_133_bits[] = {
-0x00};
-static unsigned char symbol12_134_bits[] = {
-0x00};
-static unsigned char symbol12_135_bits[] = {
-0x00};
-static unsigned char symbol12_136_bits[] = {
-0x00};
-static unsigned char symbol12_137_bits[] = {
-0x00};
-static unsigned char symbol12_138_bits[] = {
-0x00};
-static unsigned char symbol12_139_bits[] = {
-0x00};
-static unsigned char symbol12_140_bits[] = {
-0x00};
-static unsigned char symbol12_141_bits[] = {
-0x00};
-static unsigned char symbol12_142_bits[] = {
-0x00};
-static unsigned char symbol12_143_bits[] = {
-0x00};
-static unsigned char symbol12_144_bits[] = {
-0x00};
-static unsigned char symbol12_145_bits[] = {
-0x00};
-static unsigned char symbol12_146_bits[] = {
-0x00};
-static unsigned char symbol12_147_bits[] = {
-0x00};
-static unsigned char symbol12_148_bits[] = {
-0x00};
-static unsigned char symbol12_149_bits[] = {
-0x00};
-static unsigned char symbol12_150_bits[] = {
-0x00};
-static unsigned char symbol12_151_bits[] = {
-0x00};
-static unsigned char symbol12_152_bits[] = {
-0x00};
-static unsigned char symbol12_153_bits[] = {
-0x00};
-static unsigned char symbol12_154_bits[] = {
-0x00};
-static unsigned char symbol12_155_bits[] = {
-0x00};
-static unsigned char symbol12_156_bits[] = {
-0x00};
-static unsigned char symbol12_157_bits[] = {
-0x00};
-static unsigned char symbol12_158_bits[] = {
-0x00};
-static unsigned char symbol12_159_bits[] = {
-0x00};
-static unsigned char symbol12_160_bits[] = {
-0x00};
-static unsigned char symbol12_161_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol12_162_bits[] = {
-0x00, 0x00, 0x00};
-static unsigned char symbol12_163_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol12_164_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol12_165_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x00};
-static unsigned char symbol12_166_bits[] = {
-0x14, 0x08, 0x08, 0x08, 0x08, 0x08, 0x1c, 0x04, 0x02, 0x01, 0x30, 0x0c};
-static unsigned char symbol12_167_bits[] = {
-0x03, 0x0c, 0x30, 0x00, 0x3f, 0x10, 0x08};
-static unsigned char symbol12_168_bits[] = {
-0x08, 0x04, 0x04, 0x02, 0x02, 0x01};
-static unsigned char symbol12_169_bits[] = {
-0x01, 0x6e, 0x00, 0x19, 0x01, 0x31};
-static unsigned char symbol12_170_bits[] = {
-0x01, 0x6e, 0x00, 0x30, 0x28, 0x08, 0x3e};
-static unsigned char symbol12_171_bits[] = {
-0x08, 0x00, 0x08, 0x04, 0x04, 0x04, 0x05, 0x03, 0x1c, 0x04};
-static unsigned char symbol12_172_bits[] = {
-0x6b, 0x0f, 0x6b, 0x08, 0x08, 0x04, 0x0e, 0x0f, 0x1f, 0x0e};
-static unsigned char symbol12_173_bits[] = {
-0x04, 0x16, 0x1f, 0x1f, 0x1e, 0x1c, 0x08, 0x08, 0x1c, 0x1e, 0x1f, 0x0b, 
-0x08, 0x08, 0x04, 0x01};
-static unsigned char symbol12_174_bits[] = {
-0x02, 0x02, 0xff, 0x07, 0x02, 0x02, 0x04, 0x01, 0x04, 0x00};
-static unsigned char symbol12_175_bits[] = {
-0x02, 0x00, 0x1f, 0x0f, 0x02, 0x00, 0x04, 0x00, 0x04, 0x0e, 0x15, 0x04, 
-0x04, 0x04, 0x04};
-static unsigned char symbol12_176_bits[] = {
-0x04, 0x04, 0x04, 0x04};
-static unsigned char symbol12_177_bits[] = {
-0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x02};
-static unsigned char symbol12_178_bits[] = {
-0x00, 0x04, 0x1f};
-static unsigned char symbol12_179_bits[] = {
-0x0f, 0x00, 0x04, 0x00, 0x02, 0x04, 0x04};
-static unsigned char symbol12_180_bits[] = {
-0x04, 0x04, 0x04, 0x04, 0x04};
-static unsigned char symbol12_181_bits[] = {
-0x04, 0x04, 0x04, 0x04};
-static unsigned char symbol12_182_bits[] = {
-0x04, 0x15, 0x0e, 0x04, 0x06, 0x09, 0x09, 0x06, 0x04, 0x04};
-static unsigned char symbol12_183_bits[] = {
-0x0f, 0x04, 0x04, 0x00};
-static unsigned char symbol12_184_bits[] = {
-0x1f, 0x14, 0x0a, 0x05, 0x03};
-static unsigned char symbol12_185_bits[] = {
-0x0c, 0x10, 0x0c, 0x03, 0x00, 0x1f, 0x11};
-static unsigned char symbol12_186_bits[] = {
-0x0a, 0x04, 0x0a, 0x11, 0x0e};
-static unsigned char symbol12_187_bits[] = {
-0x11, 0x11, 0x2e, 0x06, 0x09};
-static unsigned char symbol12_188_bits[] = {
-0x10, 0x00};
-static unsigned char symbol12_189_bits[] = {
-0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 
-0x01, 0x00, 0x00, 0x00};
-static unsigned char symbol12_190_bits[] = {
-0x08, 0x1f};
-static unsigned char symbol12_191_bits[] = {
-0x04, 0x1f, 0x02, 0x01, 0x1f, 0x00, 0x1f, 0x00};
-static unsigned char symbol12_192_bits[] = {
-0x1f, 0x26, 0x19, 0x00, 0x26, 0x19, 0x11, 0x01, 0x01};
-static unsigned char symbol12_193_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol12_194_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0xff, 0x01, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 
-0x7f, 0x00, 0x11, 0x01, 0x66, 0x00, 0x2b, 0x01};
-static unsigned char symbol12_195_bits[] = {
-0x32, 0x66, 0x47, 0xfc, 0x86, 0x42, 0x26, 0x30, 0x60, 0xc0, 0x80};
-static unsigned char symbol12_196_bits[] = {
-0x86, 0x01, 0x38, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol12_197_bits[] = {
-0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x64, 0x00, 0x89, 0x01, 0xd5, 0x01, 
-0x26, 0x01, 0x09, 0x00, 0x38, 0x00};
-static unsigned char symbol12_198_bits[] = {
-0xc6, 0x00, 0xc6, 0x00, 0x29, 0x01, 0x11, 0x01, 0x29, 0x01, 0xc6, 0x00, 
-0xc6, 0x00, 0x38, 0x00, 0x38, 0x00};
-static unsigned char symbol12_199_bits[] = {
-0xc6, 0x00, 0x92, 0x00, 0x11, 0x01};
-static unsigned char symbol12_200_bits[] = {
-0x7d, 0x01, 0x11, 0x01, 0x92, 0x00};
-static unsigned char symbol12_201_bits[] = {
-0xc6, 0x00, 0x38, 0x00, 0x38, 0x01};
-static unsigned char symbol12_202_bits[] = {
-0xc6, 0x00, 0xc2, 0x00, 0x21, 0x01, 0x11, 0x01};
-static unsigned char symbol12_203_bits[] = {
-0x09, 0x01, 0x86, 0x00, 0xc6, 0x00, 0x39, 0x00};
-static unsigned char symbol12_204_bits[] = {
-0x3c, 0x42, 0x81, 0x81, 0x81, 0x81};
-static unsigned char symbol12_205_bits[] = {
-0x81, 0x81, 0x81, 0x81, 0x42, 0x3c, 0x3f, 0x40};
-static unsigned char symbol12_206_bits[] = {
-0x00, 0x00, 0x00, 0x3f, 0x3f, 0x00};
-static unsigned char symbol12_207_bits[] = {
-0x00, 0x00, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3c};
-static unsigned char symbol12_208_bits[] = {
-0x22, 0x01, 0x11, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0x01, 0x01, 0x02, 0x00, 
-0xfc, 0x00, 0x01, 0x01, 0x02, 0x00};
-static unsigned char symbol12_209_bits[] = {
-0x00, 0xff, 0x3e, 0x01, 0x3f, 0x01, 0x01, 0x3e, 0x20};
-static unsigned char symbol12_210_bits[] = {
-0x3e, 0x11, 0x3f, 0x09, 0x05, 0x3e, 0x02, 0x00, 0x01};
-static unsigned char symbol12_211_bits[] = {
-0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08};
-static unsigned char symbol12_212_bits[] = {
-0x00, 0x04, 0x00, 0x02, 0x00, 0x07, 0x01, 0x07, 0x81, 0x02, 0x42, 0x04};
-static unsigned char symbol12_213_bits[] = {
-0x24, 0x00, 0x18, 0x00, 0x3c, 0x00, 0x9f, 0x01, 0x9d, 0x01, 0xb7, 0x00, 
-0x3c, 0x00, 0x42, 0x01, 0x95, 0x01, 0xa5, 0x01, 0x42, 0x00};
-static unsigned char symbol12_214_bits[] = {
-0x5f, 0x01, 0x55, 0x01, 0x24, 0x02, 0x24, 0x02, 0x24, 0x02, 0x6e, 0x06};
-static unsigned char symbol12_215_bits[] = {
-0x03};
-static unsigned char symbol12_216_bits[] = {
-0x01, 0x02, 0x00, 0x02};
-static unsigned char symbol12_217_bits[] = {
-0x00, 0x02, 0x00, 0x02, 0x00, 0x02};
-static unsigned char symbol12_218_bits[] = {
-0x00, 0x02, 0x00, 0x02, 0x00, 0x02};
-static unsigned char symbol12_219_bits[] = {
-0x00, 0x02, 0x00, 0x07, 0x01, 0x00, 0x40, 0x00, 0x20, 0x00};
-static unsigned char symbol12_220_bits[] = {
-0x20, 0x06, 0x15, 0x04, 0x14, 0x00, 0x08, 0x03, 0x7f, 0x00};
-static unsigned char symbol12_221_bits[] = {
-0x00, 0x00, 0x0c, 0x0c, 0x12, 0x12, 0x01, 0x01, 0x01, 0x01, 0x12, 0x12};
-static unsigned char symbol12_222_bits[] = {
-0x0c, 0x04, 0x04, 0x01, 0xfe, 0x03, 0x03, 0x06, 0xfe, 0x03};
-static unsigned char symbol12_223_bits[] = {
-0x04, 0x01, 0x04, 0x00, 0x1e, 0x07, 0x03, 0x00, 0x1e, 0x07, 0x04, 0x00};
-static unsigned char symbol12_224_bits[] = {
-0x04, 0x0e, 0x1b, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a};
-static unsigned char symbol12_225_bits[] = {
-0x0a, 0x0a, 0x0a, 0x00, 0x01, 0x0f, 0x03, 0x00, 0x06, 0x0f, 0x03};
-static unsigned char symbol12_226_bits[] = {
-0x00, 0x01, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a};
-static unsigned char symbol12_227_bits[] = {
-0x0a, 0x0a, 0x1b, 0x0e, 0x04, 0x0c, 0x0c, 0x12, 0x21};
-static unsigned char symbol12_228_bits[] = {
-0x21, 0x02, 0x12, 0x00, 0x0c, 0x00, 0x04, 0x00, 0x02, 0x02, 0x01, 0x02};
-static unsigned char symbol12_229_bits[] = {
-0x02, 0x04, 0x04, 0x08, 0x3c, 0x42, 0x9d, 0xa5, 0x9d, 0xa5, 0xa5};
-static unsigned char symbol12_230_bits[] = {
-0x02, 0x0c, 0x0c, 0x02, 0x09, 0x05, 0x05, 0x05, 0x09, 0x02, 0x0c, 0x0f, 
-0x01, 0x04, 0x01, 0x04};
-static unsigned char symbol12_231_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol12_232_bits[] = {
-0x01, 0x0f, 0x08, 0x04, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol12_233_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol12_234_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol12_235_bits[] = {
-0x04, 0x00, 0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01};
-static unsigned char symbol12_236_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol12_237_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol12_238_bits[] = {
-0x01, 0x07, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01};
-static unsigned char symbol12_239_bits[] = {
-0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 
-0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol12_240_bits[] = {
-0x00};
-static unsigned char symbol12_241_bits[] = {
-0x04, 0x04, 0x04, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol12_242_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01};
-static unsigned char symbol12_243_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x02, 0x02, 0x04, 
-0x04, 0x08, 0x08, 0x04};
-static unsigned char symbol12_244_bits[] = {
-0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol12_245_bits[] = {
-0x04, 0x05, 0x03, 0x1c, 0x1a, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01};
-static unsigned char symbol12_246_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol12_247_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol12_248_bits[] = {
-0x00, 0x0b, 0x07, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 
-0x08, 0x08, 0x08, 0x08};
-static unsigned char symbol12_249_bits[] = {
-0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol12_250_bits[] = {
-0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol12_251_bits[] = {
-0x02, 0x02, 0x01, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x04, 0x04};
-static unsigned char symbol12_252_bits[] = {
-0x04, 0x04, 0x04, 0x04, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol12_253_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x04, 0x04, 0x04};
-static unsigned char symbol12_254_bits[] = {
-0x04, 0x04, 0x07, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x04, 0x04};
-static unsigned char symbol12_255_bits[] = {
-0x00};
-static RotFont symbol12font[] = {
-{5, 1, 1, symbol12_0_bits},
-{5, 1, 1, symbol12_1_bits},
-{5, 1, 1, symbol12_2_bits},
-{5, 1, 1, symbol12_3_bits},
-{5, 1, 1, symbol12_4_bits},
-{5, 1, 1, symbol12_5_bits},
-{5, 1, 1, symbol12_6_bits},
-{5, 1, 1, symbol12_7_bits},
-{5, 1, 1, symbol12_8_bits},
-{5, 1, 1, symbol12_9_bits},
-{5, 1, 1, symbol12_10_bits},
-{5, 1, 1, symbol12_11_bits},
-{5, 1, 1, symbol12_12_bits},
-{5, 1, 1, symbol12_13_bits},
-{5, 1, 1, symbol12_14_bits},
-{5, 1, 1, symbol12_15_bits},
-{5, 1, 1, symbol12_16_bits},
-{5, 1, 1, symbol12_17_bits},
-{5, 1, 1, symbol12_18_bits},
-{5, 1, 1, symbol12_19_bits},
-{5, 1, 1, symbol12_20_bits},
-{5, 1, 1, symbol12_21_bits},
-{5, 1, 1, symbol12_22_bits},
-{5, 1, 1, symbol12_23_bits},
-{5, 1, 1, symbol12_24_bits},
-{5, 1, 1, symbol12_25_bits},
-{5, 1, 1, symbol12_26_bits},
-{5, 1, 1, symbol12_27_bits},
-{5, 1, 1, symbol12_28_bits},
-{5, 1, 1, symbol12_29_bits},
-{5, 1, 1, symbol12_30_bits},
-{5, 1, 1, symbol12_31_bits},
-{1, 1, 1, symbol12_32_bits},
-{1, 9, 9, symbol12_33_bits},
-{9, 9, 9, symbol12_34_bits},
-{6, 9, 9, symbol12_35_bits},
-{5, 9, 9, symbol12_36_bits},
-{9, 9, 9, symbol12_37_bits},
-{9, 9, 9, symbol12_38_bits},
-{4, 6, 6, symbol12_39_bits},
-{3, 12, 9, symbol12_40_bits},
-{3, 12, 9, symbol12_41_bits},
-{5, 5, 7, symbol12_42_bits},
-{5, 5, 6, symbol12_43_bits},
-{2, 3, 1, symbol12_44_bits},
-{5, 1, 4, symbol12_45_bits},
-{1, 1, 1, symbol12_46_bits},
-{3, 9, 9, symbol12_47_bits},
-{5, 9, 9, symbol12_48_bits},
-{3, 9, 9, symbol12_49_bits},
-{5, 9, 9, symbol12_50_bits},
-{5, 9, 9, symbol12_51_bits},
-{6, 9, 9, symbol12_52_bits},
-{5, 9, 9, symbol12_53_bits},
-{5, 9, 9, symbol12_54_bits},
-{5, 9, 9, symbol12_55_bits},
-{5, 9, 9, symbol12_56_bits},
-{5, 9, 9, symbol12_57_bits},
-{1, 6, 6, symbol12_58_bits},
-{2, 8, 6, symbol12_59_bits},
-{6, 5, 6, symbol12_60_bits},
-{5, 3, 5, symbol12_61_bits},
-{6, 5, 6, symbol12_62_bits},
-{5, 9, 9, symbol12_63_bits},
-{5, 6, 6, symbol12_64_bits},
-{9, 9, 9, symbol12_65_bits},
-{7, 9, 9, symbol12_66_bits},
-{8, 9, 9, symbol12_67_bits},
-{7, 9, 9, symbol12_68_bits},
-{7, 9, 9, symbol12_69_bits},
-{9, 9, 9, symbol12_70_bits},
-{7, 9, 9, symbol12_71_bits},
-{8, 9, 9, symbol12_72_bits},
-{3, 9, 9, symbol12_73_bits},
-{8, 9, 9, symbol12_74_bits},
-{8, 9, 9, symbol12_75_bits},
-{9, 9, 9, symbol12_76_bits},
-{11, 9, 9, symbol12_77_bits},
-{8, 9, 9, symbol12_78_bits},
-{8, 9, 9, symbol12_79_bits},
-{8, 9, 9, symbol12_80_bits},
-{8, 9, 9, symbol12_81_bits},
-{6, 9, 9, symbol12_82_bits},
-{7, 9, 9, symbol12_83_bits},
-{7, 9, 9, symbol12_84_bits},
-{9, 9, 9, symbol12_85_bits},
-{5, 9, 6, symbol12_86_bits},
-{10, 9, 9, symbol12_87_bits},
-{8, 9, 9, symbol12_88_bits},
-{9, 9, 9, symbol12_89_bits},
-{6, 9, 9, symbol12_90_bits},
-{3, 12, 9, symbol12_91_bits},
-{7, 6, 6, symbol12_92_bits},
-{3, 12, 9, symbol12_93_bits},
-{7, 9, 9, symbol12_94_bits},
-{6, 1, -2, symbol12_95_bits},
-{7, 1, 12, symbol12_96_bits},
-{7, 6, 6, symbol12_97_bits},
-{5, 13, 10, symbol12_98_bits},
-{7, 9, 6, symbol12_99_bits},
-{5, 10, 10, symbol12_100_bits},
-{4, 6, 6, symbol12_101_bits},
-{7, 11, 8, symbol12_102_bits},
-{6, 9, 6, symbol12_103_bits},
-{7, 9, 6, symbol12_104_bits},
-{3, 6, 6, symbol12_105_bits},
-{7, 9, 6, symbol12_106_bits},
-{6, 6, 6, symbol12_107_bits},
-{7, 9, 9, symbol12_108_bits},
-{7, 9, 6, symbol12_109_bits},
-{6, 6, 6, symbol12_110_bits},
-{5, 6, 6, symbol12_111_bits},
-{7, 6, 6, symbol12_112_bits},
-{5, 9, 9, symbol12_113_bits},
-{5, 9, 6, symbol12_114_bits},
-{6, 6, 6, symbol12_115_bits},
-{5, 6, 6, symbol12_116_bits},
-{7, 6, 6, symbol12_117_bits},
-{8, 7, 7, symbol12_118_bits},
-{7, 6, 6, symbol12_119_bits},
-{5, 14, 11, symbol12_120_bits},
-{9, 9, 6, symbol12_121_bits},
-{5, 13, 10, symbol12_122_bits},
-{5, 12, 9, symbol12_123_bits},
-{1, 12, 9, symbol12_124_bits},
-{5, 12, 9, symbol12_125_bits},
-{7, 3, 5, symbol12_126_bits},
-{5, 1, 1, symbol12_127_bits},
-{5, 1, 1, symbol12_128_bits},
-{5, 1, 1, symbol12_129_bits},
-{5, 1, 1, symbol12_130_bits},
-{5, 1, 1, symbol12_131_bits},
-{5, 1, 1, symbol12_132_bits},
-{5, 1, 1, symbol12_133_bits},
-{5, 1, 1, symbol12_134_bits},
-{5, 1, 1, symbol12_135_bits},
-{5, 1, 1, symbol12_136_bits},
-{5, 1, 1, symbol12_137_bits},
-{5, 1, 1, symbol12_138_bits},
-{5, 1, 1, symbol12_139_bits},
-{5, 1, 1, symbol12_140_bits},
-{5, 1, 1, symbol12_141_bits},
-{5, 1, 1, symbol12_142_bits},
-{5, 1, 1, symbol12_143_bits},
-{5, 1, 1, symbol12_144_bits},
-{5, 1, 1, symbol12_145_bits},
-{5, 1, 1, symbol12_146_bits},
-{5, 1, 1, symbol12_147_bits},
-{5, 1, 1, symbol12_148_bits},
-{5, 1, 1, symbol12_149_bits},
-{5, 1, 1, symbol12_150_bits},
-{5, 1, 1, symbol12_151_bits},
-{5, 1, 1, symbol12_152_bits},
-{5, 1, 1, symbol12_153_bits},
-{5, 1, 1, symbol12_154_bits},
-{5, 1, 1, symbol12_155_bits},
-{5, 1, 1, symbol12_156_bits},
-{5, 1, 1, symbol12_157_bits},
-{5, 1, 1, symbol12_158_bits},
-{5, 1, 1, symbol12_159_bits},
-{5, 1, 1, symbol12_160_bits},
-{8, 9, 9, symbol12_161_bits},
-{3, 3, 9, symbol12_162_bits},
-{6, 7, 7, symbol12_163_bits},
-{5, 9, 9, symbol12_164_bits},
-{9, 4, 5, symbol12_165_bits},
-{6, 12, 9, symbol12_166_bits},
-{7, 7, 6, symbol12_167_bits},
-{5, 6, 6, symbol12_168_bits},
-{7, 6, 6, symbol12_169_bits},
-{7, 7, 6, symbol12_170_bits},
-{11, 5, 6, symbol12_171_bits},
-{12, 5, 6, symbol12_172_bits},
-{5, 16, 12, symbol12_173_bits},
-{12, 5, 6, symbol12_174_bits},
-{5, 15, 12, symbol12_175_bits},
-{4, 4, 9, symbol12_176_bits},
-{5, 7, 7, symbol12_177_bits},
-{5, 3, 9, symbol12_178_bits},
-{6, 7, 7, symbol12_179_bits},
-{5, 5, 6, symbol12_180_bits},
-{8, 4, 5, symbol12_181_bits},
-{5, 10, 10, symbol12_182_bits},
-{4, 4, 5, symbol12_183_bits},
-{5, 5, 6, symbol12_184_bits},
-{5, 7, 7, symbol12_185_bits},
-{5, 5, 6, symbol12_186_bits},
-{6, 5, 6, symbol12_187_bits},
-{9, 1, 1, symbol12_188_bits},
-{1, 16, 12, symbol12_189_bits},
-{13, 1, 4, symbol12_190_bits},
-{7, 8, 8, symbol12_191_bits},
-{7, 9, 9, symbol12_192_bits},
-{8, 11, 10, symbol12_193_bits},
-{9, 10, 10, symbol12_194_bits},
-{8, 11, 8, symbol12_195_bits},
-{9, 9, 9, symbol12_196_bits},
-{9, 9, 9, symbol12_197_bits},
-{9, 9, 9, symbol12_198_bits},
-{8, 6, 6, symbol12_199_bits},
-{8, 6, 6, symbol12_200_bits},
-{8, 6, 6, symbol12_201_bits},
-{8, 8, 6, symbol12_202_bits},
-{8, 8, 7, symbol12_203_bits},
-{8, 6, 6, symbol12_204_bits},
-{8, 8, 6, symbol12_205_bits},
-{6, 6, 6, symbol12_206_bits},
-{6, 8, 7, symbol12_207_bits},
-{9, 9, 9, symbol12_208_bits},
-{8, 9, 9, symbol12_209_bits},
-{8, 9, 9, symbol12_210_bits},
-{8, 9, 9, symbol12_211_bits},
-{11, 6, 9, symbol12_212_bits},
-{9, 11, 10, symbol12_213_bits},
-{7, 12, 12, symbol12_214_bits},
-{2, 1, 4, symbol12_215_bits},
-{7, 4, 4, symbol12_216_bits},
-{6, 6, 6, symbol12_217_bits},
-{6, 6, 6, symbol12_218_bits},
-{11, 5, 6, symbol12_219_bits},
-{11, 5, 6, symbol12_220_bits},
-{5, 12, 11, symbol12_221_bits},
-{11, 5, 6, symbol12_222_bits},
-{5, 12, 12, symbol12_223_bits},
-{6, 9, 9, symbol12_224_bits},
-{4, 11, 10, symbol12_225_bits},
-{8, 9, 9, symbol12_226_bits},
-{8, 9, 9, symbol12_227_bits},
-{10, 6, 9, symbol12_228_bits},
-{8, 11, 10, symbol12_229_bits},
-{4, 16, 12, symbol12_230_bits},
-{1, 16, 12, symbol12_231_bits},
-{4, 16, 12, symbol12_232_bits},
-{3, 16, 12, symbol12_233_bits},
-{1, 16, 12, symbol12_234_bits},
-{3, 15, 12, symbol12_235_bits},
-{3, 16, 12, symbol12_236_bits},
-{3, 16, 12, symbol12_237_bits},
-{3, 15, 12, symbol12_238_bits},
-{1, 16, 12, symbol12_239_bits},
-{5, 1, 1, symbol12_240_bits},
-{4, 12, 10, symbol12_241_bits},
-{5, 15, 12, symbol12_242_bits},
-{5, 16, 12, symbol12_243_bits},
-{1, 16, 12, symbol12_244_bits},
-{5, 15, 12, symbol12_245_bits},
-{4, 16, 12, symbol12_246_bits},
-{1, 16, 12, symbol12_247_bits},
-{4, 16, 12, symbol12_248_bits},
-{3, 16, 12, symbol12_249_bits},
-{1, 16, 12, symbol12_250_bits},
-{3, 15, 12, symbol12_251_bits},
-{3, 16, 12, symbol12_252_bits},
-{3, 16, 12, symbol12_253_bits},
-{3, 15, 12, symbol12_254_bits},
-{5, 1, 1, symbol12_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/symbol14.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/symbol14.h	(revision 38985)
+++ 	(revision )
@@ -1,859 +1,0 @@
-static unsigned char symbol14_0_bits[] = {
-0x00};
-static unsigned char symbol14_1_bits[] = {
-0x00};
-static unsigned char symbol14_2_bits[] = {
-0x00};
-static unsigned char symbol14_3_bits[] = {
-0x00};
-static unsigned char symbol14_4_bits[] = {
-0x00};
-static unsigned char symbol14_5_bits[] = {
-0x00};
-static unsigned char symbol14_6_bits[] = {
-0x00};
-static unsigned char symbol14_7_bits[] = {
-0x00};
-static unsigned char symbol14_8_bits[] = {
-0x00};
-static unsigned char symbol14_9_bits[] = {
-0x00};
-static unsigned char symbol14_10_bits[] = {
-0x00};
-static unsigned char symbol14_11_bits[] = {
-0x00};
-static unsigned char symbol14_12_bits[] = {
-0x00};
-static unsigned char symbol14_13_bits[] = {
-0x00};
-static unsigned char symbol14_14_bits[] = {
-0x00};
-static unsigned char symbol14_15_bits[] = {
-0x00};
-static unsigned char symbol14_16_bits[] = {
-0x00};
-static unsigned char symbol14_17_bits[] = {
-0x00};
-static unsigned char symbol14_18_bits[] = {
-0x00};
-static unsigned char symbol14_19_bits[] = {
-0x00};
-static unsigned char symbol14_20_bits[] = {
-0x00};
-static unsigned char symbol14_21_bits[] = {
-0x00};
-static unsigned char symbol14_22_bits[] = {
-0x00};
-static unsigned char symbol14_23_bits[] = {
-0x00};
-static unsigned char symbol14_24_bits[] = {
-0x00};
-static unsigned char symbol14_25_bits[] = {
-0x00};
-static unsigned char symbol14_26_bits[] = {
-0x00};
-static unsigned char symbol14_27_bits[] = {
-0x00};
-static unsigned char symbol14_28_bits[] = {
-0x00};
-static unsigned char symbol14_29_bits[] = {
-0x00};
-static unsigned char symbol14_30_bits[] = {
-0x00};
-static unsigned char symbol14_31_bits[] = {
-0x00};
-static unsigned char symbol14_32_bits[] = {
-0x00};
-static unsigned char symbol14_33_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01};
-static unsigned char symbol14_34_bits[] = {
-0x01, 0x01, 0x82, 0x00, 0x82, 0x00, 0x7c, 0x00, 0x44, 0x00, 0x44, 0x00, 
-0x28, 0x00, 0x28, 0x00, 0x10, 0x00, 0x10, 0x00};
-static unsigned char symbol14_35_bits[] = {
-0x28, 0x28, 0x28, 0x7e, 0x14, 0x14, 0x3f, 0x0a, 0x0a, 0x0a};
-static unsigned char symbol14_36_bits[] = {
-0x3f, 0x20, 0x20, 0x20, 0x3f, 0x20, 0x20, 0x20, 0x20, 0x3f};
-static unsigned char symbol14_37_bits[] = {
-0x9e, 0x01, 0xe9, 0x00, 0x49, 0x00, 0x29, 0x00, 0x36, 0x00, 0xd8, 0x00, 
-0x28, 0x01, 0x24, 0x01, 0x22, 0x01, 0xc3, 0x00};
-static unsigned char symbol14_38_bits[] = {
-0x0c, 0x00, 0x12, 0x00, 0x12, 0x00, 0x0e, 0x00, 0xe4, 0x00, 0x4e, 0x00, 
-0x53, 0x00, 0x21, 0x00, 0x73, 0x01, 0xde, 0x00};
-static unsigned char symbol14_39_bits[] = {
-0x07, 0x08, 0x10, 0x1e, 0x10, 0x08, 0x07};
-static unsigned char symbol14_40_bits[] = {
-0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 
-0x04};
-static unsigned char symbol14_41_bits[] = {
-0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 
-0x01};
-static unsigned char symbol14_42_bits[] = {
-0x04, 0x15, 0x0e, 0x0e, 0x15, 0x04};
-static unsigned char symbol14_43_bits[] = {
-0x08, 0x08, 0x08, 0x7f, 0x08, 0x08, 0x08};
-static unsigned char symbol14_44_bits[] = {
-0x02, 0x02, 0x02, 0x01};
-static unsigned char symbol14_45_bits[] = {
-0x7f};
-static unsigned char symbol14_46_bits[] = {
-0x01, 0x01};
-static unsigned char symbol14_47_bits[] = {
-0x08, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01};
-static unsigned char symbol14_48_bits[] = {
-0x1e, 0x33, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x33, 0x1e};
-static unsigned char symbol14_49_bits[] = {
-0x04, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char symbol14_50_bits[] = {
-0x0e, 0x1b, 0x11, 0x10, 0x18, 0x08, 0x04, 0x02, 0x23, 0x3f};
-static unsigned char symbol14_51_bits[] = {
-0x1e, 0x33, 0x21, 0x30, 0x1c, 0x30, 0x20, 0x20, 0x33, 0x1e};
-static unsigned char symbol14_52_bits[] = {
-0x10, 0x18, 0x18, 0x14, 0x16, 0x12, 0x11, 0x3f, 0x10, 0x10};
-static unsigned char symbol14_53_bits[] = {
-0x1e, 0x02, 0x01, 0x07, 0x0c, 0x18, 0x10, 0x10, 0x09, 0x07};
-static unsigned char symbol14_54_bits[] = {
-0x38, 0x0c, 0x02, 0x02, 0x1f, 0x31, 0x21, 0x21, 0x33, 0x1e};
-static unsigned char symbol14_55_bits[] = {
-0x3f, 0x21, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02};
-static unsigned char symbol14_56_bits[] = {
-0x0e, 0x1b, 0x11, 0x11, 0x0e, 0x11, 0x11, 0x11, 0x1b, 0x0e};
-static unsigned char symbol14_57_bits[] = {
-0x1e, 0x33, 0x21, 0x21, 0x23, 0x1e, 0x18, 0x08, 0x06, 0x03};
-static unsigned char symbol14_58_bits[] = {
-0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01};
-static unsigned char symbol14_59_bits[] = {
-0x02, 0x02, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x01};
-static unsigned char symbol14_60_bits[] = {
-0x40, 0x30, 0x0c, 0x03, 0x0c, 0x30, 0x40};
-static unsigned char symbol14_61_bits[] = {
-0x7f, 0x00, 0x7f};
-static unsigned char symbol14_62_bits[] = {
-0x01, 0x06, 0x18, 0x60, 0x18, 0x06, 0x01};
-static unsigned char symbol14_63_bits[] = {
-0x0e, 0x11, 0x11, 0x10, 0x08, 0x04, 0x04, 0x00, 0x04, 0x04};
-static unsigned char symbol14_64_bits[] = {
-0x4e, 0x39, 0x00, 0x7f, 0x00, 0x00, 0x7f};
-static unsigned char symbol14_65_bits[] = {
-0x10, 0x00, 0x38, 0x00, 0x28, 0x00, 0x28, 0x00, 0x44, 0x00, 0x44, 0x00, 
-0x7c, 0x00, 0xc6, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char symbol14_66_bits[] = {
-0x3f, 0x62, 0x42, 0x62, 0x3e, 0x62, 0x42, 0x42, 0x62, 0x3f};
-static unsigned char symbol14_67_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x44, 0x00, 0x6c, 0x00, 0x38, 0x00, 0x28, 0x00, 
-0x44, 0x00, 0xc6, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char symbol14_68_bits[] = {
-0x08, 0x08, 0x14, 0x14, 0x14, 0x22, 0x22, 0x22, 0x41, 0x7f};
-static unsigned char symbol14_69_bits[] = {
-0x7f, 0x42, 0x02, 0x22, 0x3e, 0x22, 0x02, 0x42, 0x42, 0x7f};
-static unsigned char symbol14_70_bits[] = {
-0x38, 0x00, 0x10, 0x00, 0xfe, 0x00, 0x93, 0x01, 0x11, 0x01, 0x11, 0x01, 
-0x93, 0x01, 0xfe, 0x00, 0x10, 0x00, 0x38, 0x00};
-static unsigned char symbol14_71_bits[] = {
-0x7f, 0x42, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char symbol14_72_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0xfe, 0x00, 0x82, 0x00, 
-0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char symbol14_73_bits[] = {
-0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char symbol14_74_bits[] = {
-0x30, 0x50, 0x50, 0x66, 0xc5, 0x44, 0x44, 0x44, 0x6c, 0x38};
-static unsigned char symbol14_75_bits[] = {
-0x77, 0x22, 0x12, 0x0a, 0x0e, 0x0a, 0x12, 0x22, 0x42, 0xe7};
-static unsigned char symbol14_76_bits[] = {
-0x10, 0x00, 0x10, 0x00, 0x28, 0x00, 0x6c, 0x00, 0x44, 0x00, 0x44, 0x00, 
-0xc6, 0x00, 0x82, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char symbol14_77_bits[] = {
-0x07, 0x07, 0x06, 0x03, 0x8a, 0x02, 0x8a, 0x02, 0xda, 0x02, 0x52, 0x02, 
-0x52, 0x02, 0x72, 0x02, 0x22, 0x02, 0x27, 0x07};
-static unsigned char symbol14_78_bits[] = {
-0xc7, 0x01, 0x86, 0x00, 0x8a, 0x00, 0x9a, 0x00, 0x92, 0x00, 0xb2, 0x00, 
-0xa2, 0x00, 0xe2, 0x00, 0xc2, 0x00, 0x87, 0x00};
-static unsigned char symbol14_79_bits[] = {
-0x3c, 0x66, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 0x66, 0x3c};
-static unsigned char symbol14_80_bits[] = {
-0xff, 0x01, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 
-0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char symbol14_81_bits[] = {
-0x3c, 0x66, 0x42, 0xa5, 0xbd, 0xa5, 0x81, 0x42, 0x66, 0x3c};
-static unsigned char symbol14_82_bits[] = {
-0x1f, 0x32, 0x22, 0x22, 0x32, 0x1e, 0x02, 0x02, 0x02, 0x07};
-static unsigned char symbol14_83_bits[] = {
-0x7f, 0x43, 0x06, 0x0c, 0x18, 0x08, 0x04, 0x02, 0x83, 0xff};
-static unsigned char symbol14_84_bits[] = {
-0x7f, 0x49, 0x49, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x1c};
-static unsigned char symbol14_85_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x44, 0x00, 0x44, 0x00, 0x28, 0x00, 0x10, 0x00, 
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x38, 0x00};
-static unsigned char symbol14_86_bits[] = {
-0x1c, 0x03, 0x01, 0x01, 0x01, 0x06, 0x1c, 0x20, 0x24, 0x1c};
-static unsigned char symbol14_87_bits[] = {
-0x30, 0x00, 0xcc, 0x00, 0x84, 0x00, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 
-0x02, 0x01, 0x84, 0x00, 0x49, 0x02, 0xcf, 0x03};
-static unsigned char symbol14_88_bits[] = {
-0xfe, 0x00, 0x82, 0x00, 0x00, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x44, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xff, 0x01};
-static unsigned char symbol14_89_bits[] = {
-0x73, 0x06, 0x26, 0x03, 0x24, 0x01, 0x24, 0x01, 0xf8, 0x00, 0x20, 0x00, 
-0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x70, 0x00};
-static unsigned char symbol14_90_bits[] = {
-0x7f, 0x41, 0x20, 0x10, 0x08, 0x08, 0x04, 0x02, 0x41, 0x7f};
-static unsigned char symbol14_91_bits[] = {
-0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x07};
-static unsigned char symbol14_92_bits[] = {
-0x18, 0x18, 0x00, 0x00, 0x00, 0xc3, 0xc3};
-static unsigned char symbol14_93_bits[] = {
-0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x07};
-static unsigned char symbol14_94_bits[] = {
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xff, 0x01};
-static unsigned char symbol14_95_bits[] = {
-0x7f};
-static unsigned char symbol14_96_bits[] = {
-0xff};
-static unsigned char symbol14_97_bits[] = {
-0x6e, 0x2b, 0x11, 0x11, 0x11, 0xab, 0x66};
-static unsigned char symbol14_98_bits[] = {
-0x1e, 0x33, 0x21, 0x31, 0x19, 0x31, 0x21, 0x21, 0x21, 0x33, 0x1d, 0x01, 
-0x01, 0x01};
-static unsigned char symbol14_99_bits[] = {
-0xc3, 0x65, 0x24, 0x3c, 0x18, 0x1c, 0x14, 0x26, 0xa2, 0xc3};
-static unsigned char symbol14_100_bits[] = {
-0x0e, 0x19, 0x01, 0x02, 0x0e, 0x19, 0x11, 0x11, 0x11, 0x1b, 0x0e};
-static unsigned char symbol14_101_bits[] = {
-0x1e, 0x13, 0x01, 0x06, 0x01, 0x13, 0x0e};
-static unsigned char symbol14_102_bits[] = {
-0x08, 0x08, 0x08, 0x1c, 0x2a, 0x49, 0x49, 0x49, 0x2a, 0x1c, 0x08, 0x08, 
-0x08};
-static unsigned char symbol14_103_bits[] = {
-0x23, 0x25, 0x24, 0x14, 0x14, 0x18, 0x18, 0x08, 0x0c, 0x0c};
-static unsigned char symbol14_104_bits[] = {
-0x36, 0x4d, 0x44, 0x44, 0x44, 0x44, 0x44, 0x40, 0x40, 0x40};
-static unsigned char symbol14_105_bits[] = {
-0x06, 0x05, 0x04, 0x04, 0x04, 0x14, 0x0c};
-static unsigned char symbol14_106_bits[] = {
-0x18, 0x2a, 0x4b, 0x49, 0x49, 0x2a, 0x1c, 0x08, 0x08, 0x08};
-static unsigned char symbol14_107_bits[] = {
-0x62, 0x53, 0x0a, 0x0e, 0x1a, 0x32, 0x62};
-static unsigned char symbol14_108_bits[] = {
-0x06, 0x0a, 0x08, 0x08, 0x14, 0x14, 0x12, 0x22, 0xa1, 0xc1};
-static unsigned char symbol14_109_bits[] = {
-0x11, 0x11, 0x11, 0x11, 0x11, 0x59, 0x6f, 0x01, 0x03};
-static unsigned char symbol14_110_bits[] = {
-0x63, 0x42, 0x44, 0x44, 0x28, 0x28, 0x10};
-static unsigned char symbol14_111_bits[] = {
-0x1e, 0x33, 0x21, 0x21, 0x21, 0x33, 0x1e};
-static unsigned char symbol14_112_bits[] = {
-0x7e, 0x25, 0x24, 0x24, 0x24, 0xa4, 0x66};
-static unsigned char symbol14_113_bits[] = {
-0x0e, 0x1b, 0x11, 0x11, 0x1f, 0x11, 0x11, 0x11, 0x1b, 0x0e};
-static unsigned char symbol14_114_bits[] = {
-0x1e, 0x33, 0x21, 0x21, 0x21, 0x33, 0x1d, 0x01, 0x01, 0x01};
-static unsigned char symbol14_115_bits[] = {
-0x7e, 0x13, 0x21, 0x21, 0x21, 0x33, 0x1e};
-static unsigned char symbol14_116_bits[] = {
-0x1e, 0x05, 0x04, 0x04, 0x04, 0x14, 0x0c};
-static unsigned char symbol14_117_bits[] = {
-0x26, 0x45, 0x44, 0x44, 0x44, 0x64, 0x38};
-static unsigned char symbol14_118_bits[] = {
-0xfe, 0x03, 0x05, 0x01, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 
-0x26, 0x03, 0xdc, 0x01};
-static unsigned char symbol14_119_bits[] = {
-0xc6, 0x00, 0x11, 0x01, 0x11, 0x01, 0x11, 0x01, 0x11, 0x01, 0x93, 0x01, 
-0xee, 0x00};
-static unsigned char symbol14_120_bits[] = {
-0x04, 0x02, 0x1c, 0x04, 0x02, 0x1e, 0x04, 0x02, 0x01, 0x01, 0x03, 0x1e, 
-0x20, 0x24, 0x1c};
-static unsigned char symbol14_121_bits[] = {
-0x11, 0x01, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 0xd6, 0x00, 0x7c, 0x00, 
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00};
-static unsigned char symbol14_122_bits[] = {
-0x04, 0x22, 0x3c, 0x08, 0x04, 0x02, 0x02, 0x01, 0x01, 0x03, 0x1e, 0x20, 
-0x24, 0x1c};
-static unsigned char symbol14_123_bits[] = {
-0x18, 0x04, 0x04, 0x04, 0x04, 0x02, 0x01, 0x02, 0x04, 0x04, 0x04, 0x04, 
-0x18};
-static unsigned char symbol14_124_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01};
-static unsigned char symbol14_125_bits[] = {
-0x03, 0x04, 0x04, 0x04, 0x04, 0x08, 0x10, 0x08, 0x04, 0x04, 0x04, 0x04, 
-0x03};
-static unsigned char symbol14_126_bits[] = {
-0x46, 0x49, 0x31};
-static unsigned char symbol14_127_bits[] = {
-0x00};
-static unsigned char symbol14_128_bits[] = {
-0x00};
-static unsigned char symbol14_129_bits[] = {
-0x00};
-static unsigned char symbol14_130_bits[] = {
-0x00};
-static unsigned char symbol14_131_bits[] = {
-0x00};
-static unsigned char symbol14_132_bits[] = {
-0x00};
-static unsigned char symbol14_133_bits[] = {
-0x00};
-static unsigned char symbol14_134_bits[] = {
-0x00};
-static unsigned char symbol14_135_bits[] = {
-0x00};
-static unsigned char symbol14_136_bits[] = {
-0x00};
-static unsigned char symbol14_137_bits[] = {
-0x00};
-static unsigned char symbol14_138_bits[] = {
-0x00};
-static unsigned char symbol14_139_bits[] = {
-0x00};
-static unsigned char symbol14_140_bits[] = {
-0x00};
-static unsigned char symbol14_141_bits[] = {
-0x00};
-static unsigned char symbol14_142_bits[] = {
-0x00};
-static unsigned char symbol14_143_bits[] = {
-0x00};
-static unsigned char symbol14_144_bits[] = {
-0x00};
-static unsigned char symbol14_145_bits[] = {
-0x00};
-static unsigned char symbol14_146_bits[] = {
-0x00};
-static unsigned char symbol14_147_bits[] = {
-0x00};
-static unsigned char symbol14_148_bits[] = {
-0x00};
-static unsigned char symbol14_149_bits[] = {
-0x00};
-static unsigned char symbol14_150_bits[] = {
-0x00};
-static unsigned char symbol14_151_bits[] = {
-0x00};
-static unsigned char symbol14_152_bits[] = {
-0x00};
-static unsigned char symbol14_153_bits[] = {
-0x00};
-static unsigned char symbol14_154_bits[] = {
-0x00};
-static unsigned char symbol14_155_bits[] = {
-0x00};
-static unsigned char symbol14_156_bits[] = {
-0x00};
-static unsigned char symbol14_157_bits[] = {
-0x00};
-static unsigned char symbol14_158_bits[] = {
-0x00};
-static unsigned char symbol14_159_bits[] = {
-0x00};
-static unsigned char symbol14_160_bits[] = {
-0x00};
-static unsigned char symbol14_161_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol14_162_bits[] = {
-0x00, 0x00, 0x00};
-static unsigned char symbol14_163_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol14_164_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol14_165_bits[] = {
-0x00, 0x00, 0x63, 0x00, 0xd4, 0x00, 0x08, 0x00};
-static unsigned char symbol14_166_bits[] = {
-0x08, 0x08, 0x08, 0x1c, 0x0c, 0x06, 0x01, 0x40, 0x30, 0x0c, 0x03, 0x0c, 
-0x30};
-static unsigned char symbol14_167_bits[] = {
-0x40, 0x00, 0x7f, 0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x01, 
-0x01, 0x00, 0x00, 0x01};
-static unsigned char symbol14_168_bits[] = {
-0x01, 0x31, 0x01, 0x6e, 0x00, 0x60, 0x50};
-static unsigned char symbol14_169_bits[] = {
-0x10, 0x10, 0x3c, 0x08, 0x08, 0x08, 0x04};
-static unsigned char symbol14_170_bits[] = {
-0x04, 0x00, 0x05, 0x01, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0xd7, 0x01, 
-0xff, 0x01, 0xd7, 0x01};
-static unsigned char symbol14_171_bits[] = {
-0x10, 0x00, 0x10, 0x00, 0x08, 0x1c, 0x3e, 0x1f, 0x3e, 0x1c, 0x08, 0x16, 
-0x7f, 0x1f};
-static unsigned char symbol14_172_bits[] = {
-0x7f, 0x3e, 0x1c, 0x08, 0x10, 0x00, 0x38, 0x00, 0x7c, 0x00, 0xfe, 0x00, 
-0xff, 0x01};
-static unsigned char symbol14_173_bits[] = {
-0x56, 0x00, 0x10, 0x00, 0x10, 0x00, 0x08, 0x02, 0x04, 0x04, 0x02, 0x08, 
-0x7f, 0x1f, 0x02, 0x08, 0x04, 0x04, 0x08, 0x02};
-static unsigned char symbol14_174_bits[] = {
-0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0xff, 0x3f, 0x02, 0x00, 0x04, 0x00, 
-0x08, 0x00};
-static unsigned char symbol14_175_bits[] = {
-0x08, 0x1c, 0x2a, 0x49, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
-0x08, 0x08, 0x08, 0x08, 0x08};
-static unsigned char symbol14_176_bits[] = {
-0x08, 0x08, 0x08, 0x00};
-static unsigned char symbol14_177_bits[] = {
-0x04, 0x00, 0x08, 0x00, 0x10, 0x7f, 0x3f, 0x00, 0x10};
-static unsigned char symbol14_178_bits[] = {
-0x00, 0x08, 0x00};
-static unsigned char symbol14_179_bits[] = {
-0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08};
-static unsigned char symbol14_180_bits[] = {
-0x08, 0x08, 0x08, 0x08, 0x08, 0x49, 0x2a};
-static unsigned char symbol14_181_bits[] = {
-0x1c, 0x08, 0x06, 0x09};
-static unsigned char symbol14_182_bits[] = {
-0x09, 0x06, 0x08, 0x08, 0x08, 0x3f, 0x08, 0x08, 0x08, 0x00, 0x3f};
-static unsigned char symbol14_183_bits[] = {
-0x0c, 0x16, 0x09, 0x01, 0x06};
-static unsigned char symbol14_184_bits[] = {
-0x18, 0x60, 0x18, 0x06, 0x01, 0x00, 0x7f};
-static unsigned char symbol14_185_bits[] = {
-0x41, 0x22, 0x14, 0x08, 0x14, 0x22, 0x41};
-static unsigned char symbol14_186_bits[] = {
-0x6e, 0x11, 0x11, 0x6e, 0x0e};
-static unsigned char symbol14_187_bits[] = {
-0x11, 0x20, 0x20, 0x20, 0x2e};
-static unsigned char symbol14_188_bits[] = {
-0x33, 0x01, 0x21, 0x01};
-static unsigned char symbol14_189_bits[] = {
-0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00};
-static unsigned char symbol14_190_bits[] = {
-0x7f, 0x00};
-static unsigned char symbol14_191_bits[] = {
-0x7f, 0x00, 0x7f, 0x4e, 0x39, 0x00, 0x4e, 0x39, 0x11};
-static unsigned char symbol14_192_bits[] = {
-0x01, 0x11, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol14_193_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol14_194_bits[] = {
-0x01, 0x03, 0x7f, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x02, 0xff, 0x02, 
-0x11, 0x03, 0x66, 0x00, 0x2e, 0x01, 0x31, 0x02, 0xc6, 0x03};
-static unsigned char symbol14_195_bits[] = {
-0xfc, 0x00, 0x42, 0x00, 0x24, 0x00, 0xc0, 0x00, 0x86, 0x01, 0x58, 0x00, 
-0xce, 0x00, 0xb9, 0x01, 0x91, 0x01, 0xd1, 0x00, 0x73, 0x00, 0x56, 0x00};
-static unsigned char symbol14_196_bits[] = {
-0x94, 0x00, 0x90, 0x00, 0x90, 0x00, 0x96, 0x00, 0x0d, 0x01, 0x08, 0x00, 
-0xc4, 0x00, 0xa2, 0x01, 0x11, 0x01};
-static unsigned char symbol14_197_bits[] = {
-0x09, 0x01, 0x2b, 0x01, 0x96, 0x00, 0xd6, 0x00, 0x6d, 0x00, 0x09, 0x00, 
-0x09, 0x00, 0x06, 0x00, 0x38, 0x00};
-static unsigned char symbol14_198_bits[] = {
-0xc6, 0x00, 0xc6, 0x00, 0x29, 0x01, 0x11, 0x01, 0x29, 0x01, 0xc6, 0x00, 
-0xc6, 0x00, 0x38, 0x00, 0x38, 0x00, 0xc6, 0x00, 0x92, 0x00};
-static unsigned char symbol14_199_bits[] = {
-0x11, 0x01, 0x7d, 0x01, 0x11, 0x01, 0x92, 0x00, 0xc6, 0x00, 0x38, 0x00, 
-0xf8, 0x00};
-static unsigned char symbol14_200_bits[] = {
-0x06, 0x03, 0x02, 0x03, 0x81, 0x00, 0x41, 0x00, 0x21, 0x00, 0x11, 0x00, 
-0x09, 0x00};
-static unsigned char symbol14_201_bits[] = {
-0x06, 0x00, 0x06, 0x01, 0xf9, 0x00, 0x78, 0x00, 0x86, 0x01, 0x02, 0x01, 
-0x01, 0x00};
-static unsigned char symbol14_202_bits[] = {
-0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 
-0x01, 0x00, 0x02, 0x01, 0x86, 0x01};
-static unsigned char symbol14_203_bits[] = {
-0x78, 0x00, 0x7f, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 
-0x80, 0x00, 0x7f, 0x00, 0x7f, 0x00};
-static unsigned char symbol14_204_bits[] = {
-0x80, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x80, 0x00, 0x7f, 0x00, 
-0x00, 0x00};
-static unsigned char symbol14_205_bits[] = {
-0xff, 0x01, 0x80, 0x00, 0xfc, 0x01, 0x42, 0x00, 0x41, 0x00, 0x21, 0x00, 
-0x21, 0x00, 0x12, 0x00, 0xfc, 0x01};
-static unsigned char symbol14_206_bits[] = {
-0x08, 0x00, 0x7c, 0x01, 0x02, 0x00, 0x01};
-static unsigned char symbol14_207_bits[] = {
-0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x7c, 0x01};
-static unsigned char symbol14_208_bits[] = {
-0xfc, 0x01, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 
-0xfc, 0x01, 0x00, 0x00, 0xff, 0x01, 0x7c, 0x02};
-static unsigned char symbol14_209_bits[] = {
-0x01, 0x01, 0x01, 0x00, 0x7c, 0x00, 0x7c, 0x00, 0x09, 0x01, 0x09, 0x00, 
-0x7c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x40, 0x00};
-static unsigned char symbol14_210_bits[] = {
-0x20, 0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0xff, 0x03, 
-0xff, 0x01, 0x01, 0x01, 0x82, 0x00, 0x82, 0x00};
-static unsigned char symbol14_211_bits[] = {
-0x44, 0x00, 0x44, 0x00, 0x44, 0x00, 0x28, 0x00, 0x28, 0x00, 0x10, 0x00, 
-0x10, 0x00, 0x78, 0x00, 0x84, 0x00, 0x3e, 0x01};
-static unsigned char symbol14_212_bits[] = {
-0x49, 0x02, 0x49, 0x02, 0x39, 0x02, 0x49, 0x02, 0x9e, 0x01, 0x84, 0x00};
-static unsigned char symbol14_213_bits[] = {
-0x78, 0x00, 0x78, 0x00, 0x84, 0x00, 0x72, 0x01, 0x49, 0x02, 0x09, 0x02, 
-0x09, 0x02, 0x49, 0x02, 0x32, 0x01, 0x84, 0x00, 0x78, 0x00, 0x5f, 0x01};
-static unsigned char symbol14_214_bits[] = {
-0x55, 0x01, 0x64, 0x03, 0xa4, 0x02, 0xa4, 0x02, 0x6e, 0x07, 0xff, 0x03, 
-0x02, 0x01};
-static unsigned char symbol14_215_bits[] = {
-0x00, 0x01};
-static unsigned char symbol14_216_bits[] = {
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01};
-static unsigned char symbol14_217_bits[] = {
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x87};
-static unsigned char symbol14_218_bits[] = {
-0x03, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40};
-static unsigned char symbol14_219_bits[] = {
-0x40, 0x06, 0x25, 0x04, 0x28, 0x08, 0x10, 0x10, 0x01, 0x01, 0xff, 0x01, 
-0x00, 0x01};
-static unsigned char symbol14_220_bits[] = {
-0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x18, 0x18, 0x24, 0x04, 0x42, 0x02, 
-0x81, 0x01};
-static unsigned char symbol14_221_bits[] = {
-0x42, 0x42, 0x24, 0x24, 0x18, 0x18, 0x08, 0x02, 0x04, 0x04, 0x7e, 0x0f, 
-0x03};
-static unsigned char symbol14_222_bits[] = {
-0x18, 0x1e, 0x0f, 0x04, 0x04, 0x08, 0x02, 0x08, 0x00, 0x04, 0x00, 0x1e, 
-0x1f, 0x03};
-static unsigned char symbol14_223_bits[] = {
-0x00, 0x7e, 0x1f, 0x04, 0x00, 0x08, 0x00, 0x08, 0x1c, 0x36, 0x55, 0x14, 
-0x14};
-static unsigned char symbol14_224_bits[] = {
-0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x02, 0x00, 0x04};
-static unsigned char symbol14_225_bits[] = {
-0x0f, 0x0f, 0x00, 0x08, 0x0f, 0x0f, 0x00, 0x04, 0x00, 0x02, 0x04, 0x04, 
-0x04, 0x04, 0x04};
-static unsigned char symbol14_226_bits[] = {
-0x14, 0x00, 0x14, 0x00, 0x55, 0x02, 0x1c, 0x00, 0x08, 0x00, 0x14, 0x02, 
-0x22, 0x01, 0x22, 0x02, 0x14, 0x00, 0x08, 0x00};
-static unsigned char symbol14_227_bits[] = {
-0x04, 0x00, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x00, 
-0x04, 0x00, 0x78, 0x00, 0x84, 0x00, 0x3a, 0x01};
-static unsigned char symbol14_228_bits[] = {
-0x49, 0x02, 0x49, 0x02, 0x39, 0x02, 0x49, 0x02, 0x4a, 0x01, 0x84, 0x00};
-static unsigned char symbol14_229_bits[] = {
-0x78, 0x00, 0x78, 0x00, 0x84, 0x00, 0x32, 0x01, 0x49, 0x00, 0x09, 0x00, 
-0x09, 0x00, 0x49, 0x00, 0x32, 0x01, 0x84, 0x00, 0x78, 0x00, 0x5f, 0x01};
-static unsigned char symbol14_230_bits[] = {
-0x04, 0x01, 0x04, 0x03, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x0f, 0x00, 
-0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00};
-static unsigned char symbol14_231_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 
-0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01};
-static unsigned char symbol14_232_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol14_233_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol14_234_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 
-0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol14_235_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol14_236_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol14_237_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x07, 0x04, 0x02, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol14_238_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x04, 0x04, 0x04};
-static unsigned char symbol14_239_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01};
-static unsigned char symbol14_240_bits[] = {
-0x00};
-static unsigned char symbol14_241_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x02, 0x0c, 0x01};
-static unsigned char symbol14_242_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01};
-static unsigned char symbol14_243_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x02, 0x02, 0x04, 0x04, 
-0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x02};
-static unsigned char symbol14_244_bits[] = {
-0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01};
-static unsigned char symbol14_245_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol14_246_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00};
-static unsigned char symbol14_247_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol14_248_bits[] = {
-0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
-0x08, 0x08, 0x08, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol14_249_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08};
-static unsigned char symbol14_250_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol14_251_bits[] = {
-0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
-0x08, 0x08, 0x08, 0x01, 0x01};
-static unsigned char symbol14_252_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08};
-static unsigned char symbol14_253_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x00};
-static unsigned char symbol14_254_bits[] = {
-0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
-0x08, 0x08, 0x08, 0x01, 0x01};
-static unsigned char symbol14_255_bits[] = {
-0x00};
-static RotFont symbol14font[] = {
-{5, 1, 1, symbol14_0_bits},
-{5, 1, 1, symbol14_1_bits},
-{5, 1, 1, symbol14_2_bits},
-{5, 1, 1, symbol14_3_bits},
-{5, 1, 1, symbol14_4_bits},
-{5, 1, 1, symbol14_5_bits},
-{5, 1, 1, symbol14_6_bits},
-{5, 1, 1, symbol14_7_bits},
-{5, 1, 1, symbol14_8_bits},
-{5, 1, 1, symbol14_9_bits},
-{5, 1, 1, symbol14_10_bits},
-{5, 1, 1, symbol14_11_bits},
-{5, 1, 1, symbol14_12_bits},
-{5, 1, 1, symbol14_13_bits},
-{5, 1, 1, symbol14_14_bits},
-{5, 1, 1, symbol14_15_bits},
-{5, 1, 1, symbol14_16_bits},
-{5, 1, 1, symbol14_17_bits},
-{5, 1, 1, symbol14_18_bits},
-{5, 1, 1, symbol14_19_bits},
-{5, 1, 1, symbol14_20_bits},
-{5, 1, 1, symbol14_21_bits},
-{5, 1, 1, symbol14_22_bits},
-{5, 1, 1, symbol14_23_bits},
-{5, 1, 1, symbol14_24_bits},
-{5, 1, 1, symbol14_25_bits},
-{5, 1, 1, symbol14_26_bits},
-{5, 1, 1, symbol14_27_bits},
-{5, 1, 1, symbol14_28_bits},
-{5, 1, 1, symbol14_29_bits},
-{5, 1, 1, symbol14_30_bits},
-{5, 1, 1, symbol14_31_bits},
-{1, 1, 1, symbol14_32_bits},
-{1, 10, 10, symbol14_33_bits},
-{9, 10, 10, symbol14_34_bits},
-{7, 10, 10, symbol14_35_bits},
-{6, 10, 10, symbol14_36_bits},
-{9, 10, 10, symbol14_37_bits},
-{9, 10, 10, symbol14_38_bits},
-{5, 7, 7, symbol14_39_bits},
-{3, 13, 10, symbol14_40_bits},
-{3, 13, 10, symbol14_41_bits},
-{5, 6, 8, symbol14_42_bits},
-{7, 7, 7, symbol14_43_bits},
-{2, 4, 2, symbol14_44_bits},
-{7, 1, 4, symbol14_45_bits},
-{1, 2, 2, symbol14_46_bits},
-{4, 10, 10, symbol14_47_bits},
-{6, 10, 10, symbol14_48_bits},
-{5, 10, 10, symbol14_49_bits},
-{6, 10, 10, symbol14_50_bits},
-{6, 10, 10, symbol14_51_bits},
-{6, 10, 10, symbol14_52_bits},
-{5, 10, 10, symbol14_53_bits},
-{6, 10, 10, symbol14_54_bits},
-{6, 10, 10, symbol14_55_bits},
-{5, 10, 10, symbol14_56_bits},
-{6, 10, 10, symbol14_57_bits},
-{1, 7, 7, symbol14_58_bits},
-{2, 9, 7, symbol14_59_bits},
-{7, 7, 7, symbol14_60_bits},
-{7, 3, 5, symbol14_61_bits},
-{7, 7, 7, symbol14_62_bits},
-{5, 10, 10, symbol14_63_bits},
-{7, 7, 7, symbol14_64_bits},
-{9, 10, 10, symbol14_65_bits},
-{7, 10, 10, symbol14_66_bits},
-{9, 10, 10, symbol14_67_bits},
-{7, 10, 10, symbol14_68_bits},
-{7, 10, 10, symbol14_69_bits},
-{9, 10, 10, symbol14_70_bits},
-{7, 10, 10, symbol14_71_bits},
-{9, 10, 10, symbol14_72_bits},
-{3, 10, 10, symbol14_73_bits},
-{8, 10, 10, symbol14_74_bits},
-{8, 10, 10, symbol14_75_bits},
-{9, 10, 10, symbol14_76_bits},
-{11, 10, 10, symbol14_77_bits},
-{9, 10, 10, symbol14_78_bits},
-{8, 10, 10, symbol14_79_bits},
-{9, 10, 10, symbol14_80_bits},
-{8, 10, 10, symbol14_81_bits},
-{6, 10, 10, symbol14_82_bits},
-{8, 10, 10, symbol14_83_bits},
-{7, 10, 10, symbol14_84_bits},
-{9, 10, 10, symbol14_85_bits},
-{6, 10, 7, symbol14_86_bits},
-{10, 10, 10, symbol14_87_bits},
-{9, 10, 10, symbol14_88_bits},
-{11, 10, 10, symbol14_89_bits},
-{7, 10, 10, symbol14_90_bits},
-{3, 13, 10, symbol14_91_bits},
-{8, 7, 7, symbol14_92_bits},
-{3, 13, 10, symbol14_93_bits},
-{9, 10, 10, symbol14_94_bits},
-{7, 1, -2, symbol14_95_bits},
-{8, 1, 14, symbol14_96_bits},
-{8, 7, 7, symbol14_97_bits},
-{6, 14, 11, symbol14_98_bits},
-{8, 10, 7, symbol14_99_bits},
-{5, 11, 11, symbol14_100_bits},
-{5, 7, 7, symbol14_101_bits},
-{7, 13, 10, symbol14_102_bits},
-{6, 10, 7, symbol14_103_bits},
-{7, 10, 7, symbol14_104_bits},
-{5, 7, 7, symbol14_105_bits},
-{7, 10, 7, symbol14_106_bits},
-{7, 7, 7, symbol14_107_bits},
-{8, 10, 10, symbol14_108_bits},
-{7, 9, 7, symbol14_109_bits},
-{7, 7, 7, symbol14_110_bits},
-{6, 7, 7, symbol14_111_bits},
-{8, 7, 7, symbol14_112_bits},
-{5, 10, 10, symbol14_113_bits},
-{6, 10, 7, symbol14_114_bits},
-{7, 7, 7, symbol14_115_bits},
-{5, 7, 7, symbol14_116_bits},
-{7, 7, 7, symbol14_117_bits},
-{10, 8, 8, symbol14_118_bits},
-{9, 7, 7, symbol14_119_bits},
-{6, 15, 12, symbol14_120_bits},
-{9, 10, 7, symbol14_121_bits},
-{6, 14, 11, symbol14_122_bits},
-{5, 13, 10, symbol14_123_bits},
-{1, 13, 10, symbol14_124_bits},
-{5, 13, 10, symbol14_125_bits},
-{7, 3, 5, symbol14_126_bits},
-{5, 1, 1, symbol14_127_bits},
-{5, 1, 1, symbol14_128_bits},
-{5, 1, 1, symbol14_129_bits},
-{5, 1, 1, symbol14_130_bits},
-{5, 1, 1, symbol14_131_bits},
-{5, 1, 1, symbol14_132_bits},
-{5, 1, 1, symbol14_133_bits},
-{5, 1, 1, symbol14_134_bits},
-{5, 1, 1, symbol14_135_bits},
-{5, 1, 1, symbol14_136_bits},
-{5, 1, 1, symbol14_137_bits},
-{5, 1, 1, symbol14_138_bits},
-{5, 1, 1, symbol14_139_bits},
-{5, 1, 1, symbol14_140_bits},
-{5, 1, 1, symbol14_141_bits},
-{5, 1, 1, symbol14_142_bits},
-{5, 1, 1, symbol14_143_bits},
-{5, 1, 1, symbol14_144_bits},
-{5, 1, 1, symbol14_145_bits},
-{5, 1, 1, symbol14_146_bits},
-{5, 1, 1, symbol14_147_bits},
-{5, 1, 1, symbol14_148_bits},
-{5, 1, 1, symbol14_149_bits},
-{5, 1, 1, symbol14_150_bits},
-{5, 1, 1, symbol14_151_bits},
-{5, 1, 1, symbol14_152_bits},
-{5, 1, 1, symbol14_153_bits},
-{5, 1, 1, symbol14_154_bits},
-{5, 1, 1, symbol14_155_bits},
-{5, 1, 1, symbol14_156_bits},
-{5, 1, 1, symbol14_157_bits},
-{5, 1, 1, symbol14_158_bits},
-{5, 1, 1, symbol14_159_bits},
-{5, 1, 1, symbol14_160_bits},
-{8, 10, 10, symbol14_161_bits},
-{4, 3, 10, symbol14_162_bits},
-{7, 9, 9, symbol14_163_bits},
-{5, 10, 10, symbol14_164_bits},
-{9, 4, 6, symbol14_165_bits},
-{7, 13, 10, symbol14_166_bits},
-{9, 8, 7, symbol14_167_bits},
-{7, 7, 7, symbol14_168_bits},
-{7, 7, 7, symbol14_169_bits},
-{9, 8, 7, symbol14_170_bits},
-{13, 7, 7, symbol14_171_bits},
-{14, 7, 7, symbol14_172_bits},
-{7, 20, 14, symbol14_173_bits},
-{14, 7, 7, symbol14_174_bits},
-{7, 17, 14, symbol14_175_bits},
-{4, 4, 10, symbol14_176_bits},
-{7, 9, 9, symbol14_177_bits},
-{7, 3, 10, symbol14_178_bits},
-{7, 9, 9, symbol14_179_bits},
-{7, 7, 7, symbol14_180_bits},
-{8, 4, 6, symbol14_181_bits},
-{6, 11, 11, symbol14_182_bits},
-{5, 5, 6, symbol14_183_bits},
-{7, 7, 7, symbol14_184_bits},
-{7, 7, 7, symbol14_185_bits},
-{7, 5, 6, symbol14_186_bits},
-{7, 5, 6, symbol14_187_bits},
-{9, 2, 2, symbol14_188_bits},
-{1, 20, 14, symbol14_189_bits},
-{15, 1, 4, symbol14_190_bits},
-{8, 9, 9, symbol14_191_bits},
-{8, 10, 10, symbol14_192_bits},
-{8, 12, 11, symbol14_193_bits},
-{10, 11, 11, symbol14_194_bits},
-{9, 12, 9, symbol14_195_bits},
-{9, 9, 9, symbol14_196_bits},
-{9, 9, 9, symbol14_197_bits},
-{11, 11, 11, symbol14_198_bits},
-{10, 7, 7, symbol14_199_bits},
-{10, 7, 7, symbol14_200_bits},
-{9, 7, 7, symbol14_201_bits},
-{9, 9, 7, symbol14_202_bits},
-{9, 9, 8, symbol14_203_bits},
-{9, 7, 7, symbol14_204_bits},
-{9, 9, 7, symbol14_205_bits},
-{7, 7, 7, symbol14_206_bits},
-{7, 9, 8, symbol14_207_bits},
-{11, 10, 10, symbol14_208_bits},
-{9, 11, 11, symbol14_209_bits},
-{10, 10, 10, symbol14_210_bits},
-{10, 10, 10, symbol14_211_bits},
-{11, 6, 10, symbol14_212_bits},
-{10, 12, 11, symbol14_213_bits},
-{8, 14, 14, symbol14_214_bits},
-{1, 2, 5, symbol14_215_bits},
-{9, 5, 5, symbol14_216_bits},
-{8, 7, 7, symbol14_217_bits},
-{8, 7, 7, symbol14_218_bits},
-{13, 7, 7, symbol14_219_bits},
-{13, 7, 7, symbol14_220_bits},
-{7, 13, 13, symbol14_221_bits},
-{13, 7, 7, symbol14_222_bits},
-{7, 13, 13, symbol14_223_bits},
-{7, 11, 11, symbol14_224_bits},
-{4, 15, 11, symbol14_225_bits},
-{10, 10, 10, symbol14_226_bits},
-{10, 10, 10, symbol14_227_bits},
-{10, 6, 10, symbol14_228_bits},
-{9, 12, 11, symbol14_229_bits},
-{4, 20, 14, symbol14_230_bits},
-{1, 20, 14, symbol14_231_bits},
-{4, 20, 14, symbol14_232_bits},
-{4, 20, 14, symbol14_233_bits},
-{1, 20, 14, symbol14_234_bits},
-{4, 17, 14, symbol14_235_bits},
-{4, 20, 14, symbol14_236_bits},
-{3, 20, 14, symbol14_237_bits},
-{4, 17, 14, symbol14_238_bits},
-{1, 20, 14, symbol14_239_bits},
-{5, 1, 1, symbol14_240_bits},
-{4, 15, 11, symbol14_241_bits},
-{5, 13, 12, symbol14_242_bits},
-{5, 20, 14, symbol14_243_bits},
-{1, 20, 14, symbol14_244_bits},
-{5, 17, 14, symbol14_245_bits},
-{4, 20, 14, symbol14_246_bits},
-{1, 20, 14, symbol14_247_bits},
-{4, 20, 14, symbol14_248_bits},
-{4, 20, 14, symbol14_249_bits},
-{1, 20, 14, symbol14_250_bits},
-{4, 17, 14, symbol14_251_bits},
-{4, 20, 14, symbol14_252_bits},
-{3, 20, 14, symbol14_253_bits},
-{4, 17, 14, symbol14_254_bits},
-{5, 1, 1, symbol14_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/symbol18.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/symbol18.h	(revision 38985)
+++ 	(revision )
@@ -1,1000 +1,0 @@
-static unsigned char symbol18_0_bits[] = {
-0x00};
-static unsigned char symbol18_1_bits[] = {
-0x00};
-static unsigned char symbol18_2_bits[] = {
-0x00};
-static unsigned char symbol18_3_bits[] = {
-0x00};
-static unsigned char symbol18_4_bits[] = {
-0x00};
-static unsigned char symbol18_5_bits[] = {
-0x00};
-static unsigned char symbol18_6_bits[] = {
-0x00};
-static unsigned char symbol18_7_bits[] = {
-0x00};
-static unsigned char symbol18_8_bits[] = {
-0x00};
-static unsigned char symbol18_9_bits[] = {
-0x00};
-static unsigned char symbol18_10_bits[] = {
-0x00};
-static unsigned char symbol18_11_bits[] = {
-0x00};
-static unsigned char symbol18_12_bits[] = {
-0x00};
-static unsigned char symbol18_13_bits[] = {
-0x00};
-static unsigned char symbol18_14_bits[] = {
-0x00};
-static unsigned char symbol18_15_bits[] = {
-0x00};
-static unsigned char symbol18_16_bits[] = {
-0x00};
-static unsigned char symbol18_17_bits[] = {
-0x00};
-static unsigned char symbol18_18_bits[] = {
-0x00};
-static unsigned char symbol18_19_bits[] = {
-0x00};
-static unsigned char symbol18_20_bits[] = {
-0x00};
-static unsigned char symbol18_21_bits[] = {
-0x00};
-static unsigned char symbol18_22_bits[] = {
-0x00};
-static unsigned char symbol18_23_bits[] = {
-0x00};
-static unsigned char symbol18_24_bits[] = {
-0x00};
-static unsigned char symbol18_25_bits[] = {
-0x00};
-static unsigned char symbol18_26_bits[] = {
-0x00};
-static unsigned char symbol18_27_bits[] = {
-0x00};
-static unsigned char symbol18_28_bits[] = {
-0x00};
-static unsigned char symbol18_29_bits[] = {
-0x00};
-static unsigned char symbol18_30_bits[] = {
-0x00};
-static unsigned char symbol18_31_bits[] = {
-0x00};
-static unsigned char symbol18_32_bits[] = {
-0x00};
-static unsigned char symbol18_33_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x00, 0x00, 0x03, 
-0x03};
-static unsigned char symbol18_34_bits[] = {
-0x03, 0x18, 0x03, 0x18, 0x06, 0x0c, 0x06, 0x0c, 0xfc, 0x07, 0x0c, 0x06, 
-0x18, 0x03, 0x18, 0x03, 0x10, 0x01, 0xb0, 0x01, 0xa0, 0x00, 0xe0, 0x00, 
-0x40, 0x00};
-static unsigned char symbol18_35_bits[] = {
-0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0xfe, 0x03, 0x48, 0x00, 
-0x48, 0x00, 0x48, 0x00, 0xff, 0x01, 0x24, 0x00, 0x24, 0x00, 0x24, 0x00, 
-0x24, 0x00};
-static unsigned char symbol18_36_bits[] = {
-0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 
-0xff};
-static unsigned char symbol18_37_bits[] = {
-0x1c, 0x06, 0xe6, 0x07, 0x23, 0x03, 0xa3, 0x01, 0x97, 0x01, 0xce, 0x00, 
-0x60, 0x00, 0x60, 0x0e, 0x30, 0x13, 0x98, 0x11, 0x98, 0x11, 0x8c, 0x0b, 
-0x0c, 0x07};
-static unsigned char symbol18_38_bits[] = {
-0x38, 0x00, 0x6c, 0x00, 0x44, 0x00, 0x64, 0x00, 0x3c, 0x00, 0x9c, 0x07, 
-0x3e, 0x03, 0x77, 0x01, 0xe3, 0x01, 0xc3, 0x00, 0xc3, 0x09, 0xe6, 0x0f, 
-0x3c, 0x07};
-static unsigned char symbol18_39_bits[] = {
-0x0f, 0x1c, 0x38, 0x30, 0x3e, 0x30, 0x38, 0x1c, 0x0f};
-static unsigned char symbol18_40_bits[] = {
-0x08, 0x0c, 0x06, 0x06, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x06, 0x06, 0x0c, 0x08};
-static unsigned char symbol18_41_bits[] = {
-0x01, 0x03, 0x06, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x06, 0x06, 0x03, 0x01};
-static unsigned char symbol18_42_bits[] = {
-0x08, 0x6b, 0x3e, 0x1c, 0x3e, 0x6b, 0x08};
-static unsigned char symbol18_43_bits[] = {
-0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18};
-static unsigned char symbol18_44_bits[] = {
-0x06, 0x06, 0x04, 0x06, 0x03};
-static unsigned char symbol18_45_bits[] = {
-0x7f, 0x7f};
-static unsigned char symbol18_46_bits[] = {
-0x03, 0x03};
-static unsigned char symbol18_47_bits[] = {
-0x18, 0x18, 0x18, 0x0c, 0x0c, 0x0c, 0x06, 0x06, 0x06, 0x06, 0x03, 0x03, 
-0x03};
-static unsigned char symbol18_48_bits[] = {
-0x3c, 0x66, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x66, 
-0x3c};
-static unsigned char symbol18_49_bits[] = {
-0x08, 0x0c, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x3f};
-static unsigned char symbol18_50_bits[] = {
-0x3c, 0x7e, 0x73, 0x61, 0x60, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x43, 0x7f, 
-0x7f};
-static unsigned char symbol18_51_bits[] = {
-0x3e, 0x73, 0x61, 0x60, 0x30, 0x1c, 0x38, 0x70, 0x60, 0x60, 0x60, 0x33, 
-0x1f};
-static unsigned char symbol18_52_bits[] = {
-0x60, 0x70, 0x70, 0x78, 0x6c, 0x6c, 0x66, 0x63, 0x63, 0xff, 0x60, 0x60, 
-0x60};
-static unsigned char symbol18_53_bits[] = {
-0x7e, 0x3e, 0x03, 0x03, 0x0f, 0x3c, 0x30, 0x70, 0x60, 0x60, 0x30, 0x3b, 
-0x0f};
-static unsigned char symbol18_54_bits[] = {
-0x70, 0x1c, 0x0c, 0x06, 0x06, 0x3f, 0x63, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 
-0x3c};
-static unsigned char symbol18_55_bits[] = {
-0xfe, 0xff, 0x61, 0x60, 0x30, 0x30, 0x30, 0x18, 0x18, 0x18, 0x0c, 0x0c, 
-0x0c};
-static unsigned char symbol18_56_bits[] = {
-0x3c, 0x66, 0x46, 0x46, 0x6e, 0x3c, 0x7c, 0xe6, 0xc3, 0xc3, 0xc3, 0x66, 
-0x3c};
-static unsigned char symbol18_57_bits[] = {
-0x3c, 0x76, 0xe3, 0xc3, 0xc3, 0xc3, 0xc7, 0xfe, 0x5c, 0x60, 0x30, 0x1c, 
-0x07};
-static unsigned char symbol18_58_bits[] = {
-0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03};
-static unsigned char symbol18_59_bits[] = {
-0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x04, 0x06, 0x03};
-static unsigned char symbol18_60_bits[] = {
-0xc0, 0x01, 0xf0, 0x00, 0x3c, 0x00, 0x0f, 0x00, 0x03, 0x00, 0x0f, 0x00, 
-0x3c, 0x00, 0xf0, 0x00, 0xc0, 0x01};
-static unsigned char symbol18_61_bits[] = {
-0xff, 0xff, 0x00, 0x00, 0xff, 0xff};
-static unsigned char symbol18_62_bits[] = {
-0x07, 0x00, 0x1e, 0x00, 0x78, 0x00, 0xe0, 0x01, 0x80, 0x01, 0xe0, 0x01, 
-0x78, 0x00, 0x1e, 0x00, 0x07, 0x00};
-static unsigned char symbol18_63_bits[] = {
-0x1e, 0x3b, 0x33, 0x33, 0x30, 0x30, 0x18, 0x0c, 0x04, 0x04, 0x00, 0x06, 
-0x06};
-static unsigned char symbol18_64_bits[] = {
-0xce, 0xff, 0x73, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff};
-static unsigned char symbol18_65_bits[] = {
-0x20, 0x00, 0x70, 0x00, 0x70, 0x00, 0xd0, 0x00, 0xd8, 0x00, 0xc8, 0x00, 
-0x88, 0x01, 0x8c, 0x01, 0xfc, 0x03, 0x04, 0x03, 0x06, 0x03, 0x06, 0x07, 
-0x8f, 0x0f};
-static unsigned char symbol18_66_bits[] = {
-0x3f, 0x00, 0x66, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0x66, 0x00, 
-0x7e, 0x00, 0xc6, 0x00, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 0xc6, 0x01, 
-0xff, 0x00};
-static unsigned char symbol18_67_bits[] = {
-0x0f, 0x0e, 0x0e, 0x06, 0x1c, 0x03, 0x18, 0x03, 0xb8, 0x01, 0xf0, 0x00, 
-0x60, 0x00, 0xf0, 0x00, 0xd8, 0x01, 0x8c, 0x01, 0x8c, 0x03, 0x06, 0x07, 
-0x07, 0x0f};
-static unsigned char symbol18_68_bits[] = {
-0x20, 0x00, 0x60, 0x00, 0x70, 0x00, 0xd0, 0x00, 0xc8, 0x00, 0xc8, 0x00, 
-0x88, 0x01, 0x84, 0x01, 0x84, 0x03, 0x02, 0x03, 0x02, 0x03, 0x01, 0x06, 
-0xff, 0x07};
-static unsigned char symbol18_69_bits[] = {
-0xff, 0x01, 0x86, 0x01, 0x06, 0x01, 0x06, 0x00, 0x06, 0x00, 0x86, 0x00, 
-0xfe, 0x00, 0x86, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x01, 0x86, 0x01, 
-0xff, 0x01};
-static unsigned char symbol18_70_bits[] = {
-0xf0, 0x00, 0x60, 0x00, 0xf8, 0x01, 0x66, 0x06, 0x63, 0x0c, 0x63, 0x0c, 
-0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x66, 0x06, 0xf8, 0x01, 0x60, 0x00, 
-0xf0, 0x00};
-static unsigned char symbol18_71_bits[] = {
-0xff, 0x03, 0x0e, 0x03, 0x0c, 0x02, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 
-0x1e, 0x00};
-static unsigned char symbol18_72_bits[] = {
-0x8f, 0x07, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0xfe, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x8f, 0x07};
-static unsigned char symbol18_73_bits[] = {
-0x0f, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x0f};
-static unsigned char symbol18_74_bits[] = {
-0x60, 0x00, 0xd0, 0x00, 0x90, 0x01, 0xa0, 0x01, 0xc6, 0x01, 0x8f, 0x01, 
-0x8d, 0x03, 0x8c, 0x05, 0x8c, 0x01, 0x8c, 0x01, 0x8c, 0x01, 0xdc, 0x00, 
-0x78, 0x00};
-static unsigned char symbol18_75_bits[] = {
-0xcf, 0x03, 0x86, 0x01, 0xc6, 0x00, 0x66, 0x00, 0x36, 0x00, 0x1e, 0x00, 
-0x1e, 0x00, 0x36, 0x00, 0x66, 0x00, 0xc6, 0x00, 0xc6, 0x01, 0x86, 0x03, 
-0x8f, 0x07};
-static unsigned char symbol18_76_bits[] = {
-0x60, 0x00, 0x60, 0x00, 0xf0, 0x00, 0xd0, 0x00, 0xd0, 0x00, 0x98, 0x01, 
-0x88, 0x01, 0x88, 0x01, 0x0c, 0x03, 0x04, 0x03, 0x04, 0x06, 0x06, 0x06, 
-0x0f, 0x0f};
-static unsigned char symbol18_77_bits[] = {
-0x07, 0x38, 0x0e, 0x1c, 0x0e, 0x1c, 0x1a, 0x1e, 0x1a, 0x1a, 0x1a, 0x1b, 
-0x32, 0x19, 0x32, 0x19, 0xb2, 0x19, 0xe2, 0x18, 0xe2, 0x18, 0xc2, 0x18, 
-0x47, 0x3c};
-static unsigned char symbol18_78_bits[] = {
-0x07, 0x07, 0x0e, 0x02, 0x0e, 0x02, 0x1a, 0x02, 0x32, 0x02, 0x32, 0x02, 
-0x62, 0x02, 0xc2, 0x02, 0xc2, 0x03, 0x82, 0x03, 0x02, 0x03, 0x02, 0x03, 
-0x07, 0x02};
-static unsigned char symbol18_79_bits[] = {
-0x70, 0x00, 0x8c, 0x01, 0x06, 0x03, 0x07, 0x07, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x07, 0x07, 0x06, 0x03, 0x8c, 0x01, 
-0x70, 0x00};
-static unsigned char symbol18_80_bits[] = {
-0xff, 0x07, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x8f, 0x07};
-static unsigned char symbol18_81_bits[] = {
-0x70, 0x00, 0x8c, 0x01, 0x06, 0x03, 0x07, 0x07, 0x03, 0x06, 0x8b, 0x06, 
-0xfb, 0x06, 0x8b, 0x06, 0x03, 0x06, 0x07, 0x07, 0x06, 0x03, 0x8c, 0x01, 
-0x70, 0x00};
-static unsigned char symbol18_82_bits[] = {
-0x7f, 0xe6, 0xc6, 0xc6, 0xc6, 0xe6, 0x7e, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x0f};
-static unsigned char symbol18_83_bits[] = {
-0xff, 0x01, 0x83, 0x01, 0x06, 0x01, 0x0c, 0x00, 0x18, 0x00, 0x30, 0x00, 
-0x30, 0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x02, 0x02, 0x03, 0xff, 0x01, 
-0xff, 0x01};
-static unsigned char symbol18_84_bits[] = {
-0xff, 0x03, 0x33, 0x03, 0x31, 0x02, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 
-0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 
-0x78, 0x00};
-static unsigned char symbol18_85_bits[] = {
-0x1f, 0x0f, 0x0e, 0x06, 0x0c, 0x03, 0x18, 0x03, 0xb8, 0x01, 0xf0, 0x00, 
-0xf0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0xf0, 0x00};
-static unsigned char symbol18_86_bits[] = {
-0x3c, 0x3e, 0x03, 0x01, 0x01, 0x01, 0x03, 0x1e, 0x3c, 0x20, 0x20, 0x3c, 
-0x1c};
-static unsigned char symbol18_87_bits[] = {
-0xe0, 0x00, 0x18, 0x03, 0x0c, 0x06, 0x0e, 0x0e, 0x06, 0x0c, 0x06, 0x0c, 
-0x06, 0x0c, 0x06, 0x0c, 0x0c, 0x06, 0x18, 0x03, 0x11, 0x11, 0x1f, 0x1f, 
-0x1f, 0x1f};
-static unsigned char symbol18_88_bits[] = {
-0xfe, 0x01, 0xfe, 0x01, 0x02, 0x01, 0x00, 0x00, 0x84, 0x00, 0xfc, 0x00, 
-0xfc, 0x00, 0x84, 0x00, 0x00, 0x00, 0x01, 0x02, 0x01, 0x02, 0xff, 0x03, 
-0xff, 0x03};
-static unsigned char symbol18_89_bits[] = {
-0xe3, 0x31, 0xc6, 0x18, 0xc6, 0x18, 0xc6, 0x18, 0xc6, 0x18, 0xcc, 0x0c, 
-0xf8, 0x07, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 
-0xe0, 0x01};
-static unsigned char symbol18_90_bits[] = {
-0xff, 0x01, 0xc3, 0x01, 0xc1, 0x00, 0xe0, 0x00, 0x60, 0x00, 0x70, 0x00, 
-0x38, 0x00, 0x18, 0x00, 0x1c, 0x00, 0x0e, 0x00, 0x06, 0x01, 0x87, 0x01, 
-0xff, 0x01};
-static unsigned char symbol18_91_bits[] = {
-0x0f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x0f};
-static unsigned char symbol18_92_bits[] = {
-0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol18_93_bits[] = {
-0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0f};
-static unsigned char symbol18_94_bits[] = {
-0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 
-0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0xff, 0x03, 
-0xff, 0x03};
-static unsigned char symbol18_95_bits[] = {
-0xff, 0x01, 0xff, 0x01};
-static unsigned char symbol18_96_bits[] = {
-0xff, 0x03};
-static unsigned char symbol18_97_bits[] = {
-0x3c, 0x03, 0xa6, 0x01, 0xc3, 0x00, 0xc3, 0x00, 0xc3, 0x00, 0xc3, 0x00, 
-0xc3, 0x00, 0xa6, 0x04, 0x1c, 0x03};
-static unsigned char symbol18_98_bits[] = {
-0x3c, 0x62, 0x63, 0x63, 0x63, 0x33, 0x63, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 
-0x67, 0x3b, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol18_99_bits[] = {
-0x06, 0x03, 0x8f, 0x03, 0x89, 0x01, 0xc8, 0x00, 0xe8, 0x00, 0x70, 0x00, 
-0x30, 0x00, 0x38, 0x00, 0x58, 0x00, 0x4c, 0x00, 0x46, 0x02, 0xc7, 0x03, 
-0x83, 0x01};
-static unsigned char symbol18_100_bits[] = {
-0x1c, 0x32, 0x02, 0x06, 0x0c, 0x1c, 0x36, 0x63, 0x63, 0x63, 0x63, 0x63, 
-0x36, 0x1c};
-static unsigned char symbol18_101_bits[] = {
-0x1e, 0x37, 0x33, 0x03, 0x0e, 0x03, 0x03, 0x27, 0x1e};
-static unsigned char symbol18_102_bits[] = {
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x7c, 0x00, 0xd6, 0x00, 0x93, 0x01, 
-0x93, 0x01, 0x93, 0x01, 0x93, 0x01, 0x93, 0x01, 0xd6, 0x00, 0x7c, 0x00, 
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00};
-static unsigned char symbol18_103_bits[] = {
-0xc3, 0xc7, 0xc5, 0x64, 0x64, 0x68, 0x28, 0x38, 0x30, 0x18, 0x18, 0x18, 
-0x18};
-static unsigned char symbol18_104_bits[] = {
-0xe6, 0x00, 0x97, 0x01, 0x8d, 0x01, 0x8c, 0x01, 0x8c, 0x01, 0x8c, 0x01, 
-0x8c, 0x01, 0x8c, 0x01, 0x8c, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 
-0x80, 0x01};
-static unsigned char symbol18_105_bits[] = {
-0x06, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x16, 0x0e};
-static unsigned char symbol18_106_bits[] = {
-0x66, 0x00, 0xf3, 0x00, 0x93, 0x01, 0x93, 0x01, 0x93, 0x01, 0x93, 0x01, 
-0x92, 0x00, 0xd6, 0x00, 0x7c, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 
-0x10, 0x00};
-static unsigned char symbol18_107_bits[] = {
-0xc6, 0x01, 0xa7, 0x01, 0x16, 0x00, 0x1e, 0x00, 0x3e, 0x00, 0x76, 0x00, 
-0xe6, 0x00, 0xc6, 0x01, 0x86, 0x01};
-static unsigned char symbol18_108_bits[] = {
-0x0c, 0x00, 0x1e, 0x00, 0x12, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 
-0x38, 0x00, 0x38, 0x00, 0x2c, 0x00, 0x2c, 0x00, 0x66, 0x00, 0x46, 0x02, 
-0xc3, 0x03, 0x83, 0x01};
-static unsigned char symbol18_109_bits[] = {
-0x42, 0x00, 0x63, 0x00, 0x63, 0x00, 0x63, 0x00, 0x63, 0x00, 0x63, 0x00, 
-0x63, 0x01, 0xdf, 0x01, 0xde, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00};
-static unsigned char symbol18_110_bits[] = {
-0xc3, 0xc3, 0x86, 0x46, 0x4c, 0x2c, 0x38, 0x18, 0x10};
-static unsigned char symbol18_111_bits[] = {
-0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c};
-static unsigned char symbol18_112_bits[] = {
-0xfe, 0x01, 0xff, 0x01, 0x49, 0x00, 0x48, 0x00, 0x48, 0x00, 0x48, 0x00, 
-0x4c, 0x01, 0xce, 0x01, 0xc6, 0x00};
-static unsigned char symbol18_113_bits[] = {
-0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 
-0x3c};
-static unsigned char symbol18_114_bits[] = {
-0x3c, 0x62, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x67, 0x3b, 0x03, 0x03, 0x03, 
-0x03};
-static unsigned char symbol18_115_bits[] = {
-0xf8, 0x03, 0xfe, 0x03, 0x66, 0x00, 0xc3, 0x00, 0xc3, 0x00, 0xc3, 0x00, 
-0xc3, 0x00, 0x66, 0x00, 0x3c, 0x00};
-static unsigned char symbol18_116_bits[] = {
-0x7e, 0x7f, 0x09, 0x08, 0x08, 0x08, 0x48, 0x78, 0x38};
-static unsigned char symbol18_117_bits[] = {
-0xc6, 0x00, 0x8f, 0x01, 0x8d, 0x01, 0x8c, 0x01, 0x8c, 0x01, 0x8c, 0x01, 
-0x8c, 0x01, 0xdc, 0x00, 0x78, 0x00};
-static unsigned char symbol18_118_bits[] = {
-0xfc, 0x07, 0xfe, 0x07, 0x99, 0x01, 0x0c, 0x03, 0x04, 0x02, 0x66, 0x06, 
-0x66, 0x06, 0x66, 0x06, 0x66, 0x06, 0x6c, 0x03, 0x9c, 0x03};
-static unsigned char symbol18_119_bits[] = {
-0xcc, 0x00, 0x86, 0x01, 0x02, 0x01, 0x33, 0x03, 0x33, 0x03, 0x33, 0x03, 
-0x33, 0x03, 0xb6, 0x01, 0xce, 0x01};
-static unsigned char symbol18_120_bits[] = {
-0x06, 0x71, 0x3f, 0x04, 0x02, 0x02, 0x3e, 0x1e, 0x03, 0x01, 0x01, 0x01, 
-0x03, 0x3f, 0x7e, 0x40, 0x40, 0x78, 0x38};
-static unsigned char symbol18_121_bits[] = {
-0x47, 0x1c, 0x4e, 0x0e, 0x4c, 0x06, 0x4c, 0x06, 0x4c, 0x06, 0x4c, 0x06, 
-0x58, 0x03, 0x58, 0x03, 0xf0, 0x01, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 
-0x40, 0x00};
-static unsigned char symbol18_122_bits[] = {
-0x06, 0x61, 0x79, 0x1e, 0x06, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x03, 0x3f, 0x7e, 0x40, 0x40, 0x78, 0x38};
-static unsigned char symbol18_123_bits[] = {
-0x70, 0x18, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x06, 0x03, 0x06, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x18, 0x70};
-static unsigned char symbol18_124_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol18_125_bits[] = {
-0x07, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x30, 0x60, 0x30, 0x18, 0x18, 
-0x18, 0x18, 0x18, 0x0c, 0x07};
-static unsigned char symbol18_126_bits[] = {
-0xce, 0xff, 0x73};
-static unsigned char symbol18_127_bits[] = {
-0x00};
-static unsigned char symbol18_128_bits[] = {
-0x00};
-static unsigned char symbol18_129_bits[] = {
-0x00};
-static unsigned char symbol18_130_bits[] = {
-0x00};
-static unsigned char symbol18_131_bits[] = {
-0x00};
-static unsigned char symbol18_132_bits[] = {
-0x00};
-static unsigned char symbol18_133_bits[] = {
-0x00};
-static unsigned char symbol18_134_bits[] = {
-0x00};
-static unsigned char symbol18_135_bits[] = {
-0x00};
-static unsigned char symbol18_136_bits[] = {
-0x00};
-static unsigned char symbol18_137_bits[] = {
-0x00};
-static unsigned char symbol18_138_bits[] = {
-0x00};
-static unsigned char symbol18_139_bits[] = {
-0x00};
-static unsigned char symbol18_140_bits[] = {
-0x00};
-static unsigned char symbol18_141_bits[] = {
-0x00};
-static unsigned char symbol18_142_bits[] = {
-0x00};
-static unsigned char symbol18_143_bits[] = {
-0x00};
-static unsigned char symbol18_144_bits[] = {
-0x00};
-static unsigned char symbol18_145_bits[] = {
-0x00};
-static unsigned char symbol18_146_bits[] = {
-0x00};
-static unsigned char symbol18_147_bits[] = {
-0x00};
-static unsigned char symbol18_148_bits[] = {
-0x00};
-static unsigned char symbol18_149_bits[] = {
-0x00};
-static unsigned char symbol18_150_bits[] = {
-0x00};
-static unsigned char symbol18_151_bits[] = {
-0x00};
-static unsigned char symbol18_152_bits[] = {
-0x00};
-static unsigned char symbol18_153_bits[] = {
-0x00};
-static unsigned char symbol18_154_bits[] = {
-0x00};
-static unsigned char symbol18_155_bits[] = {
-0x00};
-static unsigned char symbol18_156_bits[] = {
-0x00};
-static unsigned char symbol18_157_bits[] = {
-0x00};
-static unsigned char symbol18_158_bits[] = {
-0x00};
-static unsigned char symbol18_159_bits[] = {
-0x00};
-static unsigned char symbol18_160_bits[] = {
-0x00};
-static unsigned char symbol18_161_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00};
-static unsigned char symbol18_162_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol18_163_bits[] = {
-0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x04, 0x00, 0x06, 0x00, 0x06, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol18_164_bits[] = {
-0x00, 0x30, 0x00, 0x78, 0x00, 0x0c, 0x0e, 0x06, 0x03, 0x01, 0xc0, 0x01, 
-0xf0};
-static unsigned char symbol18_165_bits[] = {
-0x00, 0x0c, 0x00, 0x0f, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x0c};
-static unsigned char symbol18_166_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 
-0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x03, 0x01, 
-0x9e, 0x01, 0xf3, 0x00, 0x61, 0x00, 0xf3, 0x00, 0x9e, 0x01};
-static unsigned char symbol18_167_bits[] = {
-0xc0, 0x01, 0xa0, 0x01, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0xfe, 0x00, 
-0x18, 0x00, 0x18, 0x00, 0x18, 0x00};
-static unsigned char symbol18_168_bits[] = {
-0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 
-0x0b, 0x00, 0x07, 0x00, 0x30, 0x00};
-static unsigned char symbol18_169_bits[] = {
-0x78, 0x00, 0x78, 0x00, 0x78, 0x00, 0xb6, 0x01, 0xff, 0x01, 0xff, 0x01, 
-0xb6, 0x01, 0x30, 0x00, 0x10, 0x00};
-static unsigned char symbol18_170_bits[] = {
-0x38, 0x00, 0x7c, 0x00, 0xfe, 0x00, 0xff, 0x01, 0xfe, 0x00, 0x7c, 0x00, 
-0x38, 0x00, 0x10, 0x00, 0xc6, 0x00};
-static unsigned char symbol18_171_bits[] = {
-0xef, 0x01, 0x01, 0x01, 0xff, 0x01, 0xfe, 0x00, 0x00, 0x00, 0x7c, 0x00, 
-0x38, 0x00, 0x00, 0x00, 0x30, 0x00, 0x78, 0x00, 0x00, 0x00, 0xfe, 0x01};
-static unsigned char symbol18_172_bits[] = {
-0xff, 0x03, 0x03, 0x03, 0xb6, 0x01, 0x30, 0x00, 0x00, 0x00, 0x18, 0x00, 
-0x00, 0x0c, 0x00, 0x00, 0x06, 0x00, 0x00, 0xff, 0x03, 0x01, 0xff, 0x03};
-static unsigned char symbol18_173_bits[] = {
-0x01, 0x06, 0xc0, 0x00, 0x0c, 0x60, 0x00, 0x18, 0x30, 0x00, 0x18, 0x00, 
-0x00, 0x0c, 0x00, 0x00, 0x06, 0x00, 0x00, 0xff, 0xff, 0x03, 0xff, 0xff, 
-0x03};
-static unsigned char symbol18_174_bits[] = {
-0x06, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x3c, 0x02, 
-0xdb, 0x99, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00};
-static unsigned char symbol18_175_bits[] = {
-0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x60, 
-0x00, 0x00, 0xc0, 0x00, 0x00, 0x80, 0x01, 0xff, 0xff, 0x03};
-static unsigned char symbol18_176_bits[] = {
-0x1f, 0x1f, 0x03, 0x00, 0x00, 0x01};
-static unsigned char symbol18_177_bits[] = {
-0x00, 0xc0, 0x00, 0x00, 0x60, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18};
-static unsigned char symbol18_178_bits[] = {
-0x18, 0x18, 0x18, 0x18, 0x18};
-static unsigned char symbol18_179_bits[] = {
-0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x01, 0xdb, 0x00, 0x3c, 0x00, 
-0x0e, 0x01, 0x11, 0x01, 0x1b, 0x00, 0x18, 0x00, 0x18, 0x01, 0xff, 0x00};
-static unsigned char symbol18_180_bits[] = {
-0x18, 0x00, 0x00, 0x03, 0xff, 0x00, 0xee, 0x02, 0x33, 0x01, 0x07, 0x00, 
-0x1e, 0x00, 0x78, 0x00, 0xe0, 0x01};
-static unsigned char symbol18_181_bits[] = {
-0x80, 0x01, 0xe0, 0x01, 0x78, 0x00, 0x1e, 0x00, 0x07, 0x00};
-static unsigned char symbol18_182_bits[] = {
-0x00, 0x00, 0x7f, 0x01, 0x7f, 0x01, 0x07, 0x03, 0x4e, 0x01, 0x4c, 0x00, 
-0x78, 0x00};
-static unsigned char symbol18_183_bits[] = {
-0x10, 0x00, 0x18, 0x00, 0x0c, 0x00};
-static unsigned char symbol18_184_bits[] = {
-0xce, 0x01, 0x87, 0x03, 0x9e, 0x07, 0xf3, 0x00};
-static unsigned char symbol18_185_bits[] = {
-0x61, 0x00, 0xf3, 0x00, 0x9e, 0x07, 0x1e, 0x33, 0x61};
-static unsigned char symbol18_186_bits[] = {
-0x60, 0x60, 0x60, 0x7c, 0x66, 0x63, 0x63, 0x63};
-static unsigned char symbol18_187_bits[] = {
-0x23, 0x37, 0x1e, 0x0e, 0x1f, 0x1f, 0x1f};
-static unsigned char symbol18_188_bits[] = {
-0x1f, 0x0e, 0x18, 0x18};
-static unsigned char symbol18_189_bits[] = {
-0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x03, 
-0x03, 0x00, 0x00, 0x03, 0x03, 0x00, 0x03, 0x03, 0x00, 0x03, 0x03, 0x02, 
-0x03};
-static unsigned char symbol18_190_bits[] = {
-0x73, 0x00, 0x06, 0xff, 0x73, 0x03};
-static unsigned char symbol18_191_bits[] = {
-0x30, 0x01, 0x30, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 
-0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01};
-static unsigned char symbol18_192_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0xff, 0x07, 0x07, 0x07, 0xff, 0x07, 0x80, 0x01, 
-0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x84, 0x01, 
-0x86, 0x01};
-static unsigned char symbol18_193_bits[] = {
-0xff, 0x01, 0xff, 0x01, 0x06, 0x00, 0x04, 0x00, 0x43, 0x00, 0xc7, 0x03, 
-0x8e, 0x03, 0x1c, 0x03, 0x9c, 0x01, 0xbe, 0x00, 0xf3, 0x00, 0xe3, 0x00, 
-0xc7, 0x00, 0xce, 0x01, 0x8c, 0x03};
-static unsigned char symbol18_194_bits[] = {
-0x0e, 0x03, 0x0f, 0x02, 0xf8, 0x03, 0xfc, 0x03, 0x06, 0x01, 0x82, 0x00, 
-0x42, 0x00, 0x44, 0x00, 0xc8, 0x00, 0xc0, 0x01, 0x80, 0x03, 0x00, 0x03, 
-0x00, 0x03, 0x0e, 0x03};
-static unsigned char symbol18_195_bits[] = {
-0x1f, 0x01, 0xf8, 0x00, 0x70, 0x00, 0x9e, 0x03, 0x7f, 0x07, 0x71, 0x0e, 
-0x61, 0x0c, 0x63, 0x06, 0x6e, 0x01, 0x6c, 0x02, 0x64, 0x06, 0x60, 0x06, 
-0x60, 0x06, 0x60, 0x06, 0x60, 0x06};
-static unsigned char symbol18_196_bits[] = {
-0x36, 0x0e, 0x1d, 0x0c, 0x30, 0x00, 0x18, 0x00, 0x8c, 0x07, 0xe6, 0x0c, 
-0x33, 0x0c, 0x1b, 0x0c, 0x6b, 0x0c, 0x6f, 0x06, 0x26, 0x07, 0xee, 0x03, 
-0xcd, 0x01};
-static unsigned char symbol18_197_bits[] = {
-0x19, 0x00, 0x19, 0x00, 0x1b, 0x00, 0x0e, 0x00, 0xf8, 0x01, 0x9c, 0x03, 
-0x06, 0x06, 0x9b, 0x0d, 0xbb, 0x0d, 0xf1, 0x08, 0x61, 0x08, 0xf1, 0x08, 
-0xdb, 0x0d};
-static unsigned char symbol18_198_bits[] = {
-0x9b, 0x0d, 0x06, 0x06, 0x9c, 0x03, 0xf8, 0x01, 0xf8, 0x01, 0x9c, 0x03, 
-0x66, 0x06, 0x63, 0x0c, 0x63, 0x0c, 0xfd, 0x0b, 0xfd, 0x0b, 0x61, 0x08, 
-0x63, 0x0c};
-static unsigned char symbol18_199_bits[] = {
-0x63, 0x0c, 0x06, 0x06, 0x9c, 0x03, 0xf8, 0x01, 0xf8, 0x0d, 0x9c, 0x0f, 
-0x06, 0x06, 0x03, 0x0f, 0x83, 0x0d};
-static unsigned char symbol18_200_bits[] = {
-0xc1, 0x08, 0x61, 0x08, 0x31, 0x08, 0x1b, 0x0c, 0x0f, 0x0c, 0x06, 0x06, 
-0x9f, 0x03, 0xfb, 0x01, 0xf8, 0x01};
-static unsigned char symbol18_201_bits[] = {
-0x9c, 0x03, 0x06, 0x06, 0x07, 0x0e, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 
-0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c};
-static unsigned char symbol18_202_bits[] = {
-0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x07, 0x0e, 0x06, 0x06, 
-0x9c, 0x03, 0xf8, 0x01, 0xff, 0x01, 0xff, 0x07, 0x00, 0x06, 0x00, 0x0c};
-static unsigned char symbol18_203_bits[] = {
-0x00, 0x0c, 0x00, 0x0c, 0x00, 0x06, 0xff, 0x07, 0xff, 0x01, 0xff, 0x01, 
-0xff, 0x07, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x06, 
-0xff, 0x07};
-static unsigned char symbol18_204_bits[] = {
-0xff, 0x01, 0x00, 0x00, 0xff, 0x0f, 0xff, 0x0f, 0x00, 0x06, 0x00, 0x03, 
-0xf8, 0x0f, 0xfe, 0x0f, 0x86, 0x01};
-static unsigned char symbol18_205_bits[] = {
-0xc3, 0x00, 0xc3, 0x00, 0x63, 0x00, 0x66, 0x00, 0xfe, 0x0f, 0xf8, 0x0f, 
-0x18, 0x00, 0x0c, 0x00, 0xf8, 0x0f, 0xfe, 0x0f, 0x06, 0x00, 0x03, 0x00};
-static unsigned char symbol18_206_bits[] = {
-0x03, 0x00, 0x03, 0x00, 0x06, 0x00, 0xfe, 0x01, 0xf8, 0x01, 0xf8, 0x01, 
-0xfe, 0x01, 0x06, 0x00, 0x03, 0x00};
-static unsigned char symbol18_207_bits[] = {
-0x03, 0x00, 0x03, 0x00, 0x06, 0x00, 0xfe, 0x03, 0xf8, 0x03, 0x00, 0x00, 
-0xff, 0x03, 0xff, 0x03, 0xf8, 0x01, 0xfe, 0x01, 0x07, 0x00};
-static unsigned char symbol18_208_bits[] = {
-0x03, 0x00, 0xff, 0x01, 0x03, 0x00, 0x07, 0x00, 0xfe, 0x01, 0xf8, 0x01, 
-0x00, 0x01, 0xf8, 0x03, 0xfe, 0x03, 0x47, 0x00, 0x23, 0x00, 0xff, 0x01, 
-0x13, 0x00};
-static unsigned char symbol18_209_bits[] = {
-0x0f, 0x00, 0xfe, 0x03, 0xfc, 0x03, 0x02, 0x00, 0x00, 0x08, 0x00, 0x0c, 
-0x00, 0x06, 0x00, 0x03, 0x80, 0x01, 0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 
-0x18, 0x00};
-static unsigned char symbol18_210_bits[] = {
-0x0c, 0x00, 0x06, 0x00, 0x03, 0x00, 0xff, 0x1f, 0xff, 0x0f, 0x07, 0x04, 
-0x06, 0x06, 0x06, 0x02, 0x0e, 0x03, 0x0c, 0x01, 0x0c, 0x01, 0x9c, 0x01, 
-0x98, 0x00};
-static unsigned char symbol18_211_bits[] = {
-0xd8, 0x00, 0x70, 0x00, 0x70, 0x00, 0x20, 0x00, 0xf8, 0x03, 0x1c, 0x07, 
-0x06, 0x0c, 0xfb, 0x18, 0xb3, 0x19, 0xb3, 0x19, 0xb3, 0x19, 0xf3, 0x18, 
-0xb3, 0x19};
-static unsigned char symbol18_212_bits[] = {
-0x3b, 0x1b, 0x06, 0x0c, 0x1c, 0x07, 0xf8, 0x03, 0xf8, 0x03, 0x1c, 0x07, 
-0x06, 0x0c, 0xe3, 0x19};
-static unsigned char symbol18_213_bits[] = {
-0xb3, 0x19, 0x33, 0x19, 0x33, 0x18, 0x33, 0x18, 0x33, 0x19, 0xe3, 0x18, 
-0x06, 0x0c, 0x1c, 0x07, 0xf8, 0x03, 0xff, 0x38, 0xd5, 0x18, 0xc4, 0x18, 
-0x44, 0x15, 0x44, 0x15, 0x44, 0x15, 0x44, 0x12};
-static unsigned char symbol18_214_bits[] = {
-0xee, 0x02, 0xff, 0x03, 0x0e, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x3f, 0x03};
-static unsigned char symbol18_215_bits[] = {
-0x00, 0x02};
-static unsigned char symbol18_216_bits[] = {
-0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01};
-static unsigned char symbol18_217_bits[] = {
-0x0c, 0x01, 0x8e, 0x00, 0x9b, 0x00, 0x98, 0x00, 0x98, 0x00, 0xb0, 0x00, 
-0xb0, 0x00, 0x60, 0x00, 0x60, 0x00};
-static unsigned char symbol18_218_bits[] = {
-0x60, 0x00, 0x03, 0x03, 0xff, 0x03, 0xff, 0x03, 0x00, 0x02, 0x00, 0x02, 
-0x00, 0x02, 0x00, 0x02, 0x30, 0x00};
-static unsigned char symbol18_219_bits[] = {
-0x30, 0x00, 0x00, 0x00, 0xcc, 0x00, 0xcc, 0x00, 0x02, 0x01, 0x86, 0x01, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x01, 0x86, 0x01, 
-0xcc, 0x00, 0x00};
-static unsigned char symbol18_220_bits[] = {
-0x00, 0x78, 0x00, 0x30, 0x00, 0x30, 0x00, 0x10, 0x20, 0x00, 0x18, 0x60, 
-0x00, 0xfc, 0xff, 0x00, 0xfe, 0xff};
-static unsigned char symbol18_221_bits[] = {
-0x01, 0x01, 0x80, 0x01, 0xfe, 0x01, 0x01, 0x00, 0xff, 0x00, 0x18, 0x00, 
-0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x18, 0x00, 0xfc, 0x01, 0xfe, 0x01, 
-0x07, 0x00, 0xfe, 0x01, 0xfc, 0x01, 0x18, 0x00, 0x10, 0x00};
-static unsigned char symbol18_222_bits[] = {
-0x10, 0x00, 0x38, 0x00, 0x6c, 0x00, 0xee, 0x00, 0xef, 0x01, 0x6c, 0x00, 
-0x6c, 0x00, 0x6c, 0x00, 0x6c, 0x00};
-static unsigned char symbol18_223_bits[] = {
-0x6c, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x6c, 0x00, 
-0x6c, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x01, 0xff, 0x01, 
-0x00, 0x00, 0xff, 0x01, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol18_224_bits[] = {
-0x6c, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x6c, 0x00, 
-0x6c, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x6c, 0x00, 
-0xef, 0x01, 0xee, 0x00};
-static unsigned char symbol18_225_bits[] = {
-0x0c, 0x00, 0x18, 0x00, 0x10, 0x00, 0x10, 0x00, 0x18, 0x00, 0x0c, 0x00, 
-0x0c, 0x00, 0x06, 0x00, 0x06};
-static unsigned char symbol18_226_bits[] = {
-0x00, 0x03, 0x01, 0x03, 0x01, 0x06, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x0c, 
-0x00, 0x18, 0x00, 0x10, 0x00, 0x18, 0x18, 0x0c, 0x0c, 0x06, 0x06, 0x03, 
-0x03, 0x01};
-static unsigned char symbol18_227_bits[] = {
-0x03, 0x03, 0x06, 0x06, 0x0c, 0x0c, 0x18, 0x18, 0xf8, 0x03, 0x1c, 0x07, 
-0x06, 0x0c, 0xf3, 0x18, 0xb3, 0x19, 0xb3, 0x19, 0xf3, 0x18, 0xb3, 0x19, 
-0xb3, 0x19};
-static unsigned char symbol18_228_bits[] = {
-0xb3, 0x19, 0x06, 0x0c, 0x1c, 0x07, 0xf8, 0x03, 0xf8, 0x03, 0x1c, 0x07, 
-0x06, 0x0c, 0xe3, 0x18};
-static unsigned char symbol18_229_bits[] = {
-0x33, 0x09, 0x33, 0x08, 0x33, 0x08, 0x33, 0x08, 0x33, 0x09, 0xe3, 0x08, 
-0x06, 0x0c, 0x1c, 0x07, 0xf8, 0x03, 0xdf, 0x08, 0xc4, 0x08, 0xc4, 0x08, 
-0x44, 0x05, 0x44, 0x05, 0x44, 0x05, 0x44, 0x02};
-static unsigned char symbol18_230_bits[] = {
-0x04, 0x12, 0x3f, 0x07, 0x07, 0x06, 0x0e, 0x04, 0x1c, 0x00, 0x38, 0x00, 
-0x30, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x30, 0x00, 0x18, 0x00, 
-0x0c};
-static unsigned char symbol18_231_bits[] = {
-0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03};
-static unsigned char symbol18_232_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03};
-static unsigned char symbol18_233_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x07};
-static unsigned char symbol18_234_bits[] = {
-0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03};
-static unsigned char symbol18_235_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol18_236_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03};
-static unsigned char symbol18_237_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1f, 0x1c, 0x06, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03};
-static unsigned char symbol18_238_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x18, 0x18, 0x18, 
-0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0c, 0x07, 0x07};
-static unsigned char symbol18_239_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03};
-static unsigned char symbol18_240_bits[] = {
-0x00};
-static unsigned char symbol18_241_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x06, 0x1c, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol18_242_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x03, 0x03, 0x06, 0x06};
-static unsigned char symbol18_243_bits[] = {
-0x0c, 0x0c, 0x18, 0x18, 0x10, 0x18, 0x18, 0x0c, 0x0c, 0x06, 0x06, 0x03, 
-0x03, 0x38, 0x38, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c};
-static unsigned char symbol18_244_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x02, 
-0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03};
-static unsigned char symbol18_245_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol18_246_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
-0x20};
-static unsigned char symbol18_247_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x02, 0x01, 0x03, 
-0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00};
-static unsigned char symbol18_248_bits[] = {
-0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03};
-static unsigned char symbol18_249_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x10, 0x10, 
-0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 
-0x10};
-static unsigned char symbol18_250_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x03, 0x01, 0x03, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00};
-static unsigned char symbol18_251_bits[] = {
-0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol18_252_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 
-0x18};
-static unsigned char symbol18_253_bits[] = {
-0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x07, 0x0c, 
-0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 
-0x18};
-static unsigned char symbol18_254_bits[] = {
-0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x06};
-static unsigned char symbol18_255_bits[] = {
-0x00};
-static RotFont symbol18font[] = {
-{5, 1, 1, symbol18_0_bits},
-{5, 1, 1, symbol18_1_bits},
-{5, 1, 1, symbol18_2_bits},
-{5, 1, 1, symbol18_3_bits},
-{5, 1, 1, symbol18_4_bits},
-{5, 1, 1, symbol18_5_bits},
-{5, 1, 1, symbol18_6_bits},
-{5, 1, 1, symbol18_7_bits},
-{5, 1, 1, symbol18_8_bits},
-{5, 1, 1, symbol18_9_bits},
-{5, 1, 1, symbol18_10_bits},
-{5, 1, 1, symbol18_11_bits},
-{5, 1, 1, symbol18_12_bits},
-{5, 1, 1, symbol18_13_bits},
-{5, 1, 1, symbol18_14_bits},
-{5, 1, 1, symbol18_15_bits},
-{5, 1, 1, symbol18_16_bits},
-{5, 1, 1, symbol18_17_bits},
-{5, 1, 1, symbol18_18_bits},
-{5, 1, 1, symbol18_19_bits},
-{5, 1, 1, symbol18_20_bits},
-{5, 1, 1, symbol18_21_bits},
-{5, 1, 1, symbol18_22_bits},
-{5, 1, 1, symbol18_23_bits},
-{5, 1, 1, symbol18_24_bits},
-{5, 1, 1, symbol18_25_bits},
-{5, 1, 1, symbol18_26_bits},
-{5, 1, 1, symbol18_27_bits},
-{5, 1, 1, symbol18_28_bits},
-{5, 1, 1, symbol18_29_bits},
-{5, 1, 1, symbol18_30_bits},
-{5, 1, 1, symbol18_31_bits},
-{1, 1, 1, symbol18_32_bits},
-{2, 13, 13, symbol18_33_bits},
-{13, 13, 13, symbol18_34_bits},
-{10, 13, 13, symbol18_35_bits},
-{8, 13, 13, symbol18_36_bits},
-{13, 13, 13, symbol18_37_bits},
-{12, 13, 13, symbol18_38_bits},
-{6, 9, 9, symbol18_39_bits},
-{4, 17, 13, symbol18_40_bits},
-{4, 17, 13, symbol18_41_bits},
-{7, 7, 10, symbol18_42_bits},
-{8, 8, 9, symbol18_43_bits},
-{3, 5, 2, symbol18_44_bits},
-{7, 2, 6, symbol18_45_bits},
-{2, 2, 2, symbol18_46_bits},
-{5, 13, 13, symbol18_47_bits},
-{8, 13, 13, symbol18_48_bits},
-{6, 13, 13, symbol18_49_bits},
-{7, 13, 13, symbol18_50_bits},
-{7, 13, 13, symbol18_51_bits},
-{8, 13, 13, symbol18_52_bits},
-{7, 13, 13, symbol18_53_bits},
-{8, 13, 13, symbol18_54_bits},
-{8, 13, 13, symbol18_55_bits},
-{8, 13, 13, symbol18_56_bits},
-{8, 13, 13, symbol18_57_bits},
-{2, 9, 9, symbol18_58_bits},
-{3, 12, 9, symbol18_59_bits},
-{9, 9, 9, symbol18_60_bits},
-{8, 6, 8, symbol18_61_bits},
-{9, 9, 9, symbol18_62_bits},
-{6, 13, 13, symbol18_63_bits},
-{8, 9, 9, symbol18_64_bits},
-{12, 13, 13, symbol18_65_bits},
-{9, 13, 13, symbol18_66_bits},
-{12, 13, 13, symbol18_67_bits},
-{11, 13, 13, symbol18_68_bits},
-{9, 13, 13, symbol18_69_bits},
-{12, 13, 13, symbol18_70_bits},
-{10, 13, 13, symbol18_71_bits},
-{11, 13, 13, symbol18_72_bits},
-{4, 13, 13, symbol18_73_bits},
-{11, 13, 13, symbol18_74_bits},
-{11, 13, 13, symbol18_75_bits},
-{12, 13, 13, symbol18_76_bits},
-{14, 13, 13, symbol18_77_bits},
-{11, 13, 13, symbol18_78_bits},
-{11, 13, 13, symbol18_79_bits},
-{11, 13, 13, symbol18_80_bits},
-{11, 13, 13, symbol18_81_bits},
-{8, 13, 13, symbol18_82_bits},
-{10, 13, 13, symbol18_83_bits},
-{10, 13, 13, symbol18_84_bits},
-{12, 13, 13, symbol18_85_bits},
-{6, 13, 9, symbol18_86_bits},
-{13, 13, 13, symbol18_87_bits},
-{10, 13, 13, symbol18_88_bits},
-{14, 13, 13, symbol18_89_bits},
-{9, 13, 13, symbol18_90_bits},
-{4, 17, 13, symbol18_91_bits},
-{10, 9, 9, symbol18_92_bits},
-{4, 17, 13, symbol18_93_bits},
-{10, 13, 13, symbol18_94_bits},
-{9, 2, -2, symbol18_95_bits},
-{10, 1, 17, symbol18_96_bits},
-{11, 9, 9, symbol18_97_bits},
-{8, 18, 14, symbol18_98_bits},
-{10, 13, 9, symbol18_99_bits},
-{7, 14, 14, symbol18_100_bits},
-{6, 9, 9, symbol18_101_bits},
-{9, 16, 12, symbol18_102_bits},
-{8, 13, 9, symbol18_103_bits},
-{9, 13, 9, symbol18_104_bits},
-{5, 9, 9, symbol18_105_bits},
-{9, 13, 9, symbol18_106_bits},
-{9, 9, 9, symbol18_107_bits},
-{10, 14, 14, symbol18_108_bits},
-{9, 13, 9, symbol18_109_bits},
-{8, 9, 9, symbol18_110_bits},
-{8, 9, 9, symbol18_111_bits},
-{9, 9, 9, symbol18_112_bits},
-{8, 13, 13, symbol18_113_bits},
-{8, 13, 9, symbol18_114_bits},
-{10, 9, 9, symbol18_115_bits},
-{7, 9, 9, symbol18_116_bits},
-{9, 9, 9, symbol18_117_bits},
-{11, 11, 11, symbol18_118_bits},
-{10, 9, 9, symbol18_119_bits},
-{7, 19, 15, symbol18_120_bits},
-{13, 13, 9, symbol18_121_bits},
-{7, 19, 15, symbol18_122_bits},
-{7, 17, 13, symbol18_123_bits},
-{2, 17, 13, symbol18_124_bits},
-{7, 17, 13, symbol18_125_bits},
-{8, 3, 7, symbol18_126_bits},
-{5, 1, 1, symbol18_127_bits},
-{5, 1, 1, symbol18_128_bits},
-{5, 1, 1, symbol18_129_bits},
-{5, 1, 1, symbol18_130_bits},
-{5, 1, 1, symbol18_131_bits},
-{5, 1, 1, symbol18_132_bits},
-{5, 1, 1, symbol18_133_bits},
-{5, 1, 1, symbol18_134_bits},
-{5, 1, 1, symbol18_135_bits},
-{5, 1, 1, symbol18_136_bits},
-{5, 1, 1, symbol18_137_bits},
-{5, 1, 1, symbol18_138_bits},
-{5, 1, 1, symbol18_139_bits},
-{5, 1, 1, symbol18_140_bits},
-{5, 1, 1, symbol18_141_bits},
-{5, 1, 1, symbol18_142_bits},
-{5, 1, 1, symbol18_143_bits},
-{5, 1, 1, symbol18_144_bits},
-{5, 1, 1, symbol18_145_bits},
-{5, 1, 1, symbol18_146_bits},
-{5, 1, 1, symbol18_147_bits},
-{5, 1, 1, symbol18_148_bits},
-{5, 1, 1, symbol18_149_bits},
-{5, 1, 1, symbol18_150_bits},
-{5, 1, 1, symbol18_151_bits},
-{5, 1, 1, symbol18_152_bits},
-{5, 1, 1, symbol18_153_bits},
-{5, 1, 1, symbol18_154_bits},
-{5, 1, 1, symbol18_155_bits},
-{5, 1, 1, symbol18_156_bits},
-{5, 1, 1, symbol18_157_bits},
-{5, 1, 1, symbol18_158_bits},
-{5, 1, 1, symbol18_159_bits},
-{5, 1, 1, symbol18_160_bits},
-{11, 13, 13, symbol18_161_bits},
-{4, 5, 14, symbol18_162_bits},
-{9, 12, 12, symbol18_163_bits},
-{8, 13, 13, symbol18_164_bits},
-{12, 5, 8, symbol18_165_bits},
-{9, 17, 13, symbol18_166_bits},
-{10, 9, 9, symbol18_167_bits},
-{9, 9, 9, symbol18_168_bits},
-{9, 9, 9, symbol18_169_bits},
-{10, 9, 9, symbol18_170_bits},
-{17, 8, 9, symbol18_171_bits},
-{18, 8, 9, symbol18_172_bits},
-{8, 25, 18, symbol18_173_bits},
-{18, 8, 9, symbol18_174_bits},
-{8, 22, 18, symbol18_175_bits},
-{5, 6, 13, symbol18_176_bits},
-{8, 11, 11, symbol18_177_bits},
-{8, 5, 14, symbol18_178_bits},
-{9, 12, 12, symbol18_179_bits},
-{10, 9, 9, symbol18_180_bits},
-{11, 5, 8, symbol18_181_bits},
-{7, 14, 14, symbol18_182_bits},
-{5, 6, 8, symbol18_183_bits},
-{8, 8, 9, symbol18_184_bits},
-{8, 9, 9, symbol18_185_bits},
-{8, 8, 9, symbol18_186_bits},
-{8, 7, 9, symbol18_187_bits},
-{14, 2, 2, symbol18_188_bits},
-{2, 25, 18, symbol18_189_bits},
-{19, 2, 6, symbol18_190_bits},
-{9, 12, 12, symbol18_191_bits},
-{11, 13, 13, symbol18_192_bits},
-{10, 15, 14, symbol18_193_bits},
-{13, 14, 14, symbol18_194_bits},
-{12, 15, 11, symbol18_195_bits},
-{12, 13, 13, symbol18_196_bits},
-{12, 13, 13, symbol18_197_bits},
-{12, 13, 13, symbol18_198_bits},
-{12, 9, 9, symbol18_199_bits},
-{12, 9, 9, symbol18_200_bits},
-{12, 9, 9, symbol18_201_bits},
-{12, 12, 9, symbol18_202_bits},
-{12, 13, 11, symbol18_203_bits},
-{12, 9, 9, symbol18_204_bits},
-{12, 12, 9, symbol18_205_bits},
-{9, 9, 9, symbol18_206_bits},
-{10, 11, 10, symbol18_207_bits},
-{13, 13, 13, symbol18_208_bits},
-{12, 13, 13, symbol18_209_bits},
-{13, 13, 13, symbol18_210_bits},
-{13, 13, 13, symbol18_211_bits},
-{14, 8, 13, symbol18_212_bits},
-{14, 16, 14, symbol18_213_bits},
-{10, 17, 17, symbol18_214_bits},
-{2, 2, 6, symbol18_215_bits},
-{11, 6, 6, symbol18_216_bits},
-{10, 9, 9, symbol18_217_bits},
-{10, 9, 9, symbol18_218_bits},
-{18, 9, 9, symbol18_219_bits},
-{16, 9, 9, symbol18_220_bits},
-{9, 17, 17, symbol18_221_bits},
-{16, 9, 9, symbol18_222_bits},
-{9, 17, 17, symbol18_223_bits},
-{9, 14, 14, symbol18_224_bits},
-{5, 17, 14, symbol18_225_bits},
-{13, 13, 13, symbol18_226_bits},
-{13, 13, 13, symbol18_227_bits},
-{13, 8, 13, symbol18_228_bits},
-{12, 16, 14, symbol18_229_bits},
-{6, 25, 18, symbol18_230_bits},
-{2, 25, 18, symbol18_231_bits},
-{6, 25, 18, symbol18_232_bits},
-{5, 25, 18, symbol18_233_bits},
-{2, 25, 18, symbol18_234_bits},
-{5, 22, 18, symbol18_235_bits},
-{5, 25, 18, symbol18_236_bits},
-{5, 25, 18, symbol18_237_bits},
-{5, 22, 18, symbol18_238_bits},
-{2, 25, 18, symbol18_239_bits},
-{5, 1, 1, symbol18_240_bits},
-{5, 17, 14, symbol18_241_bits},
-{6, 22, 18, symbol18_242_bits},
-{7, 25, 18, symbol18_243_bits},
-{2, 25, 18, symbol18_244_bits},
-{7, 22, 18, symbol18_245_bits},
-{6, 25, 18, symbol18_246_bits},
-{2, 25, 18, symbol18_247_bits},
-{6, 25, 18, symbol18_248_bits},
-{5, 25, 18, symbol18_249_bits},
-{2, 25, 18, symbol18_250_bits},
-{5, 22, 18, symbol18_251_bits},
-{5, 25, 18, symbol18_252_bits},
-{5, 25, 18, symbol18_253_bits},
-{5, 22, 18, symbol18_254_bits},
-{5, 1, 1, symbol18_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/symbol24.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/symbol24.h	(revision 38985)
+++ 	(revision )
@@ -1,1127 +1,0 @@
-static unsigned char symbol24_0_bits[] = {
-0x00};
-static unsigned char symbol24_1_bits[] = {
-0x00};
-static unsigned char symbol24_2_bits[] = {
-0x00};
-static unsigned char symbol24_3_bits[] = {
-0x00};
-static unsigned char symbol24_4_bits[] = {
-0x00};
-static unsigned char symbol24_5_bits[] = {
-0x00};
-static unsigned char symbol24_6_bits[] = {
-0x00};
-static unsigned char symbol24_7_bits[] = {
-0x00};
-static unsigned char symbol24_8_bits[] = {
-0x00};
-static unsigned char symbol24_9_bits[] = {
-0x00};
-static unsigned char symbol24_10_bits[] = {
-0x00};
-static unsigned char symbol24_11_bits[] = {
-0x00};
-static unsigned char symbol24_12_bits[] = {
-0x00};
-static unsigned char symbol24_13_bits[] = {
-0x00};
-static unsigned char symbol24_14_bits[] = {
-0x00};
-static unsigned char symbol24_15_bits[] = {
-0x00};
-static unsigned char symbol24_16_bits[] = {
-0x00};
-static unsigned char symbol24_17_bits[] = {
-0x00};
-static unsigned char symbol24_18_bits[] = {
-0x00};
-static unsigned char symbol24_19_bits[] = {
-0x00};
-static unsigned char symbol24_20_bits[] = {
-0x00};
-static unsigned char symbol24_21_bits[] = {
-0x00};
-static unsigned char symbol24_22_bits[] = {
-0x00};
-static unsigned char symbol24_23_bits[] = {
-0x00};
-static unsigned char symbol24_24_bits[] = {
-0x00};
-static unsigned char symbol24_25_bits[] = {
-0x00};
-static unsigned char symbol24_26_bits[] = {
-0x00};
-static unsigned char symbol24_27_bits[] = {
-0x00};
-static unsigned char symbol24_28_bits[] = {
-0x00};
-static unsigned char symbol24_29_bits[] = {
-0x00};
-static unsigned char symbol24_30_bits[] = {
-0x00};
-static unsigned char symbol24_31_bits[] = {
-0x00};
-static unsigned char symbol24_32_bits[] = {
-0x00};
-static unsigned char symbol24_33_bits[] = {
-0x02, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x02, 0x02, 0x02, 0x02, 
-0x00, 0x00, 0x00, 0x03, 0x03};
-static unsigned char symbol24_34_bits[] = {
-0x03, 0x60, 0x03, 0x60, 0x06, 0x30, 0x06, 0x30, 0xfc, 0x1f, 0xfc, 0x1f, 
-0x0c, 0x18, 0x18, 0x0c, 0x18, 0x0c, 0x30, 0x06, 0x30, 0x06, 0x30, 0x06, 
-0x60, 0x03, 0x60, 0x03, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01};
-static unsigned char symbol24_35_bits[] = {
-0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 
-0xfe, 0x07, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0xff, 0x03, 0x44, 0x00, 
-0x44, 0x00, 0x44, 0x00, 0x44, 0x00, 0x44, 0x00, 0x44, 0x00};
-static unsigned char symbol24_36_bits[] = {
-0xff, 0x07, 0xff, 0x07, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 
-0x00, 0x06, 0xff, 0x07, 0xff, 0x07, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 
-0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0xff, 0x07, 0xff, 0x07};
-static unsigned char symbol24_37_bits[] = {
-0xf8, 0x60, 0x00, 0x9c, 0x7f, 0x00, 0x8e, 0x30, 0x00, 0x86, 0x18, 0x00, 
-0xc7, 0x18, 0x00, 0x43, 0x0c, 0x00, 0x63, 0x06, 0x00, 0x33, 0x06, 0x00, 
-0x1e, 0xe3, 0x01, 0x80, 0x71, 0x03, 0x80, 0x39, 0x02, 0xc0, 0x1c, 0x02, 
-0x60, 0x0c, 0x03, 0x60, 0x0c, 0x01, 0x30, 0x8c, 0x01, 0x18, 0xcc, 0x00, 
-0x18, 0x78, 0x00};
-static unsigned char symbol24_38_bits[] = {
-0xe0, 0x01, 0x30, 0x03, 0x18, 0x02, 0x18, 0x02, 0x18, 0x03, 0xb8, 0x01, 
-0xf0, 0x7c, 0x78, 0x38, 0x7c, 0x18, 0xe6, 0x0c, 0xc3, 0x05, 0x83, 0x07, 
-0x03, 0x03, 0x83, 0x07, 0xc7, 0x4e, 0x7e, 0x7c, 0x3c, 0x38};
-static unsigned char symbol24_39_bits[] = {
-0x0f, 0x3c, 0x70, 0xe0, 0xc0, 0xc0, 0xfe, 0xc0, 0xc0, 0xe0, 0x70, 0x3c, 
-0x0f};
-static unsigned char symbol24_40_bits[] = {
-0x30, 0x18, 0x0c, 0x04, 0x06, 0x06, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x02, 0x06, 0x06, 0x04, 0x0c, 0x18, 0x30};
-static unsigned char symbol24_41_bits[] = {
-0x03, 0x06, 0x0c, 0x08, 0x18, 0x18, 0x10, 0x30, 0x30, 0x30, 0x30, 0x30, 
-0x30, 0x30, 0x30, 0x10, 0x18, 0x18, 0x08, 0x0c, 0x06, 0x03};
-static unsigned char symbol24_42_bits[] = {
-0x18, 0x18, 0xc3, 0xe7, 0x18, 0x18, 0xe7, 0xc3, 0x18, 0x18};
-static unsigned char symbol24_43_bits[] = {
-0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0xff, 0x03, 0xff, 0x03, 
-0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00};
-static unsigned char symbol24_44_bits[] = {
-0x06, 0x06, 0x04, 0x06, 0x03, 0x01};
-static unsigned char symbol24_45_bits[] = {
-0xff, 0x07, 0xff, 0x07};
-static unsigned char symbol24_46_bits[] = {
-0x03, 0x03, 0x03};
-static unsigned char symbol24_47_bits[] = {
-0x60, 0x60, 0x60, 0x30, 0x30, 0x30, 0x18, 0x18, 0x0c, 0x0c, 0x0c, 0x06, 
-0x06, 0x06, 0x03, 0x03, 0x03};
-static unsigned char symbol24_48_bits[] = {
-0x78, 0x00, 0xcc, 0x00, 0x86, 0x01, 0x86, 0x01, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x86, 0x01, 0x86, 0x01, 0xcc, 0x00, 0x78, 0x00};
-static unsigned char symbol24_49_bits[] = {
-0x0c, 0x0e, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x3f};
-static unsigned char symbol24_50_bits[] = {
-0x38, 0x00, 0xfe, 0x00, 0xe6, 0x00, 0xc1, 0x01, 0x81, 0x01, 0x80, 0x01, 
-0x80, 0x01, 0xc0, 0x01, 0xc0, 0x00, 0xe0, 0x00, 0x30, 0x00, 0x30, 0x00, 
-0x18, 0x00, 0x0c, 0x00, 0x06, 0x02, 0xff, 0x03, 0xff, 0x01};
-static unsigned char symbol24_51_bits[] = {
-0x38, 0x00, 0x7e, 0x00, 0xe2, 0x00, 0xc1, 0x00, 0xc1, 0x00, 0x60, 0x00, 
-0x30, 0x00, 0x78, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0x80, 0x01, 0x80, 0x01, 
-0x80, 0x01, 0xc0, 0x00, 0xe3, 0x00, 0x7f, 0x00, 0x1e, 0x00};
-static unsigned char symbol24_52_bits[] = {
-0xc0, 0x00, 0xe0, 0x00, 0xe0, 0x00, 0xf0, 0x00, 0xd0, 0x00, 0xd8, 0x00, 
-0xc8, 0x00, 0xcc, 0x00, 0xc4, 0x00, 0xc6, 0x00, 0xc2, 0x00, 0xff, 0x03, 
-0xff, 0x03, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00};
-static unsigned char symbol24_53_bits[] = {
-0xfc, 0x01, 0xfc, 0x00, 0x06, 0x00, 0x02, 0x00, 0x03, 0x00, 0x0f, 0x00, 
-0x3f, 0x00, 0x78, 0x00, 0xe0, 0x00, 0xc0, 0x01, 0x80, 0x01, 0x80, 0x01, 
-0x80, 0x01, 0x80, 0x01, 0xc3, 0x00, 0x7f, 0x00, 0x3e, 0x00};
-static unsigned char symbol24_54_bits[] = {
-0xc0, 0x03, 0x70, 0x00, 0x1c, 0x00, 0x0e, 0x00, 0x06, 0x00, 0x07, 0x00, 
-0xf3, 0x00, 0xcf, 0x01, 0x87, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x07, 0x03, 0x86, 0x03, 0xce, 0x01, 0xf8, 0x00};
-static unsigned char symbol24_55_bits[] = {
-0xfe, 0x03, 0xff, 0x03, 0x03, 0x03, 0x81, 0x01, 0x80, 0x01, 0xc0, 0x00, 
-0xc0, 0x00, 0xc0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x30, 0x00, 
-0x30, 0x00, 0x30, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00};
-static unsigned char symbol24_56_bits[] = {
-0x78, 0x00, 0xcc, 0x00, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 0xce, 0x00, 
-0x7c, 0x00, 0x38, 0x00, 0xfc, 0x00, 0xc6, 0x01, 0x83, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x83, 0x03, 0xc6, 0x01, 0x7c, 0x00};
-static unsigned char symbol24_57_bits[] = {
-0x78, 0x00, 0xce, 0x01, 0x86, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x86, 0x03, 0xce, 0x03, 0x78, 0x03, 0x80, 0x01, 
-0xc0, 0x01, 0xe0, 0x00, 0x70, 0x00, 0x3c, 0x00, 0x0f, 0x00};
-static unsigned char symbol24_58_bits[] = {
-0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03};
-static unsigned char symbol24_59_bits[] = {
-0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x04, 
-0x06, 0x03, 0x01};
-static unsigned char symbol24_60_bits[] = {
-0x00, 0x0e, 0x80, 0x07, 0xe0, 0x01, 0x78, 0x00, 0x1e, 0x00, 0x07, 0x00, 
-0x07, 0x00, 0x1e, 0x00, 0x78, 0x00, 0xe0, 0x01, 0x80, 0x07, 0x00, 0x0e};
-static unsigned char symbol24_61_bits[] = {
-0xff, 0x03, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0xff, 0x03};
-static unsigned char symbol24_62_bits[] = {
-0x07, 0x00, 0x1e, 0x00, 0x78, 0x00, 0xe0, 0x01, 0x80, 0x07, 0x00, 0x0e, 
-0x00, 0x0e, 0x80, 0x07, 0xe0, 0x01, 0x78, 0x00, 0x1e, 0x00, 0x07, 0x00};
-static unsigned char symbol24_63_bits[] = {
-0x3e, 0x63, 0xc1, 0xc3, 0xe3, 0x60, 0x70, 0x30, 0x18, 0x18, 0x08, 0x08, 
-0x08, 0x00, 0x00, 0x0c, 0x0c};
-static unsigned char symbol24_64_bits[] = {
-0x1c, 0x04, 0x3e, 0x06, 0xe3, 0x03, 0xc1, 0x01, 0x00, 0x00, 0x00, 0x00, 
-0xff, 0x07, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0xff, 0x07};
-static unsigned char symbol24_65_bits[] = {
-0x00, 0x01, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x02, 0x00, 
-0xc0, 0x06, 0x00, 0x40, 0x06, 0x00, 0x40, 0x0c, 0x00, 0x60, 0x0c, 0x00, 
-0x20, 0x0c, 0x00, 0x30, 0x18, 0x00, 0x10, 0x18, 0x00, 0xf0, 0x3f, 0x00, 
-0x18, 0x30, 0x00, 0x08, 0x30, 0x00, 0x0c, 0x60, 0x00, 0x0c, 0x60, 0x00, 
-0x1f, 0xf0, 0x01};
-static unsigned char symbol24_66_bits[] = {
-0xff, 0x03, 0x0c, 0x07, 0x0c, 0x0e, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x06, 0xfc, 0x03, 0x0c, 0x0e, 0x0c, 0x1c, 0x0c, 0x18, 
-0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x1c, 0x0c, 0x0e, 0xff, 0x03};
-static unsigned char symbol24_67_bits[] = {
-0x1f, 0xf8, 0x01, 0x0e, 0x70, 0x00, 0x1c, 0x30, 0x00, 0x38, 0x18, 0x00, 
-0x30, 0x0c, 0x00, 0x60, 0x06, 0x00, 0xe0, 0x03, 0x00, 0xc0, 0x01, 0x00, 
-0x80, 0x01, 0x00, 0xc0, 0x03, 0x00, 0x60, 0x07, 0x00, 0x30, 0x0e, 0x00, 
-0x10, 0x1c, 0x00, 0x18, 0x18, 0x00, 0x0c, 0x38, 0x00, 0x0e, 0x70, 0x00, 
-0x1f, 0xf8, 0x01};
-static unsigned char symbol24_68_bits[] = {
-0xc0, 0x00, 0xc0, 0x00, 0xe0, 0x01, 0x20, 0x01, 0x20, 0x03, 0x30, 0x03, 
-0x10, 0x06, 0x10, 0x06, 0x18, 0x0c, 0x08, 0x0c, 0x0c, 0x18, 0x04, 0x18, 
-0x04, 0x30, 0x06, 0x30, 0x02, 0x60, 0x03, 0x60, 0xff, 0xff};
-static unsigned char symbol24_69_bits[] = {
-0xff, 0x0f, 0x0c, 0x0c, 0x0c, 0x08, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x04, 0x0c, 0x04, 0xfc, 0x07, 0x0c, 0x04, 0x0c, 0x04, 0x0c, 0x00, 
-0x0c, 0x00, 0x0c, 0x10, 0x0c, 0x10, 0x0c, 0x18, 0xff, 0x1f};
-static unsigned char symbol24_70_bits[] = {
-0xe0, 0x07, 0x80, 0x01, 0x80, 0x01, 0xf0, 0x0f, 0x9c, 0x39, 0x86, 0x61, 
-0x87, 0xe1, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x87, 0xe1, 0x86, 0x61, 
-0x9c, 0x39, 0xf0, 0x0f, 0x80, 0x01, 0x80, 0x01, 0xe0, 0x07};
-static unsigned char symbol24_71_bits[] = {
-0xff, 0x1f, 0x0c, 0x18, 0x0c, 0x10, 0x0c, 0x10, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x3f, 0x00};
-static unsigned char symbol24_72_bits[] = {
-0x3f, 0xfc, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 
-0x0c, 0x30, 0x0c, 0x30, 0xfc, 0x3f, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 
-0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x3f, 0xfc};
-static unsigned char symbol24_73_bits[] = {
-0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x3f};
-static unsigned char symbol24_74_bits[] = {
-0xc0, 0x03, 0x60, 0x07, 0x20, 0x06, 0x60, 0x06, 0xc0, 0x0c, 0x8e, 0x0d, 
-0x1f, 0x0f, 0x19, 0x3c, 0x18, 0x0c, 0x18, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x06, 0x1c, 0x06, 0x38, 0x03, 0xf0, 0x01};
-static unsigned char symbol24_75_bits[] = {
-0x3f, 0x3e, 0x0c, 0x0c, 0x0c, 0x06, 0x0c, 0x03, 0x8c, 0x01, 0xcc, 0x00, 
-0x6c, 0x00, 0x7c, 0x00, 0xfc, 0x00, 0xcc, 0x01, 0x8c, 0x01, 0x8c, 0x03, 
-0x0c, 0x07, 0x0c, 0x0e, 0x0c, 0x1c, 0x0c, 0x38, 0x3f, 0x7c};
-static unsigned char symbol24_76_bits[] = {
-0xc0, 0x00, 0xc0, 0x00, 0xe0, 0x01, 0x20, 0x01, 0x20, 0x03, 0x20, 0x03, 
-0x30, 0x03, 0x10, 0x06, 0x10, 0x06, 0x18, 0x06, 0x08, 0x0c, 0x08, 0x0c, 
-0x0c, 0x0c, 0x04, 0x18, 0x04, 0x18, 0x06, 0x38, 0x1f, 0x7c};
-static unsigned char symbol24_77_bits[] = {
-0x0f, 0x80, 0x0f, 0x1c, 0x80, 0x03, 0x1c, 0xc0, 0x03, 0x3c, 0x40, 0x03, 
-0x34, 0x40, 0x03, 0x74, 0x60, 0x03, 0x64, 0x20, 0x03, 0xe4, 0x30, 0x03, 
-0xc4, 0x10, 0x03, 0xc4, 0x11, 0x03, 0x84, 0x19, 0x03, 0x84, 0x0b, 0x03, 
-0x04, 0x0b, 0x03, 0x04, 0x0f, 0x03, 0x04, 0x06, 0x03, 0x04, 0x06, 0x03, 
-0x1f, 0xc0, 0x0f};
-static unsigned char symbol24_78_bits[] = {
-0x0f, 0xf8, 0x1c, 0x20, 0x1c, 0x20, 0x34, 0x20, 0x74, 0x20, 0x64, 0x20, 
-0xc4, 0x20, 0xc4, 0x20, 0x84, 0x21, 0x84, 0x23, 0x04, 0x23, 0x04, 0x26, 
-0x04, 0x26, 0x04, 0x2c, 0x04, 0x3c, 0x04, 0x38, 0x1f, 0x30};
-static unsigned char symbol24_79_bits[] = {
-0xe0, 0x07, 0x38, 0x1c, 0x0c, 0x30, 0x06, 0x60, 0x06, 0x60, 0x03, 0xc0, 
-0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 
-0x06, 0x60, 0x06, 0x60, 0x0c, 0x30, 0x38, 0x1c, 0xe0, 0x07};
-static unsigned char symbol24_80_bits[] = {
-0xff, 0xff, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 
-0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 
-0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x3f, 0xfc};
-static unsigned char symbol24_81_bits[] = {
-0xe0, 0x07, 0x38, 0x1c, 0x0c, 0x30, 0x06, 0x60, 0x06, 0x60, 0x13, 0xc8, 
-0x13, 0xc8, 0xf3, 0xcf, 0xf3, 0xcf, 0x13, 0xc8, 0x13, 0xc8, 0x03, 0xc0, 
-0x02, 0x40, 0x06, 0x60, 0x0c, 0x30, 0x38, 0x1c, 0xe0, 0x07};
-static unsigned char symbol24_82_bits[] = {
-0xff, 0x01, 0x0c, 0x07, 0x0c, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x06, 0x0c, 0x07, 0xfc, 0x01, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x3f, 0x00};
-static unsigned char symbol24_83_bits[] = {
-0xff, 0x0f, 0x07, 0x0c, 0x0e, 0x08, 0x1c, 0x00, 0x38, 0x00, 0x70, 0x00, 
-0xe0, 0x00, 0xc0, 0x01, 0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 
-0x0c, 0x08, 0x06, 0x08, 0x03, 0x0c, 0xff, 0x0f, 0xff, 0x0f};
-static unsigned char symbol24_84_bits[] = {
-0xff, 0x3f, 0xc3, 0x30, 0xc1, 0x20, 0xc1, 0x20, 0xc0, 0x00, 0xc0, 0x00, 
-0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 
-0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xf0, 0x03};
-static unsigned char symbol24_85_bits[] = {
-0x1f, 0xf8, 0x0e, 0x70, 0x0c, 0x30, 0x18, 0x18, 0x38, 0x08, 0x30, 0x0c, 
-0x70, 0x06, 0x60, 0x06, 0xc0, 0x03, 0xc0, 0x03, 0x80, 0x01, 0x80, 0x01, 
-0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xe0, 0x07};
-static unsigned char symbol24_86_bits[] = {
-0xf8, 0x01, 0xfc, 0x01, 0x06, 0x00, 0x06, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x06, 0x00, 0xfe, 0x00, 
-0xf8, 0x01, 0x00, 0x01, 0x00, 0x01, 0x80, 0x01, 0xf0, 0x00, 0x70, 0x00};
-static unsigned char symbol24_87_bits[] = {
-0xe0, 0x07, 0x38, 0x1c, 0x0c, 0x30, 0x06, 0x60, 0x06, 0x60, 0x03, 0xc0, 
-0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x07, 0xe0, 0x06, 0x60, 0x0c, 0x30, 
-0x18, 0x18, 0x31, 0x8c, 0x21, 0x84, 0x3f, 0xfc, 0x3f, 0xfc};
-static unsigned char symbol24_88_bits[] = {
-0xfe, 0x1f, 0xfe, 0x1f, 0x06, 0x18, 0x02, 0x10, 0x00, 0x00, 0x08, 0x04, 
-0x08, 0x04, 0xf8, 0x07, 0xf8, 0x07, 0x08, 0x04, 0x08, 0x04, 0x00, 0x00, 
-0x01, 0x20, 0x01, 0x20, 0x03, 0x30, 0xff, 0x3f, 0xff, 0x3f};
-static unsigned char symbol24_89_bits[] = {
-0xc7, 0x8f, 0x03, 0x0e, 0xc3, 0x01, 0x0c, 0xc3, 0x00, 0x0c, 0xc3, 0x00, 
-0x1c, 0xe3, 0x00, 0x1c, 0xe3, 0x00, 0x18, 0x63, 0x00, 0x38, 0x73, 0x00, 
-0xe0, 0x1f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 
-0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 
-0xc0, 0x0f, 0x00};
-static unsigned char symbol24_90_bits[] = {
-0xff, 0x0f, 0x03, 0x0e, 0x01, 0x06, 0x00, 0x07, 0x80, 0x03, 0x80, 0x01, 
-0xc0, 0x01, 0xe0, 0x00, 0x60, 0x00, 0x70, 0x00, 0x38, 0x00, 0x1c, 0x00, 
-0x1c, 0x00, 0x0e, 0x00, 0x06, 0x08, 0x07, 0x0c, 0xff, 0x0f};
-static unsigned char symbol24_91_bits[] = {
-0x1f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1f};
-static unsigned char symbol24_92_bits[] = {
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c};
-static unsigned char symbol24_93_bits[] = {
-0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 
-0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f};
-static unsigned char symbol24_94_bits[] = {
-0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 
-0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 
-0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xff, 0x3f, 0xff, 0x3f};
-static unsigned char symbol24_95_bits[] = {
-0xff, 0x1f, 0xff, 0x1f};
-static unsigned char symbol24_96_bits[] = {
-0xff, 0x1f, 0xff, 0x1f};
-static unsigned char symbol24_97_bits[] = {
-0xf8, 0x18, 0x8e, 0x1d, 0x06, 0x0d, 0x07, 0x0f, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x07, 0x07, 0x06, 0x27, 0x8e, 0x3f, 
-0xf8, 0x1c};
-static unsigned char symbol24_98_bits[] = {
-0x7c, 0x00, 0xe6, 0x00, 0xc3, 0x01, 0x83, 0x01, 0x83, 0x01, 0xc3, 0x01, 
-0xc3, 0x00, 0x73, 0x00, 0xf3, 0x00, 0xc3, 0x01, 0x83, 0x01, 0x83, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x83, 0x03, 0x87, 0x01, 0xcf, 0x01, 
-0xfb, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00};
-static unsigned char symbol24_99_bits[] = {
-0x0e, 0x06, 0x1f, 0x06, 0x1b, 0x03, 0x11, 0x03, 0x90, 0x01, 0x90, 0x01, 
-0xd0, 0x00, 0xe0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x70, 0x00, 0x70, 0x00, 
-0x98, 0x00, 0x98, 0x00, 0x8c, 0x08, 0x8c, 0x0d, 0x86, 0x0f, 0x06, 0x07};
-static unsigned char symbol24_100_bits[] = {
-0xf8, 0x00, 0xcc, 0x01, 0x84, 0x01, 0x0c, 0x00, 0x1c, 0x00, 0x38, 0x00, 
-0x70, 0x00, 0xfc, 0x00, 0xce, 0x01, 0x86, 0x01, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x86, 0x01, 0xce, 0x01, 0x78, 0x00};
-static unsigned char symbol24_101_bits[] = {
-0x7c, 0x00, 0xce, 0x00, 0xc7, 0x00, 0xc3, 0x00, 0x07, 0x00, 0x06, 0x00, 
-0x3c, 0x00, 0x06, 0x00, 0x07, 0x00, 0x03, 0x00, 0x07, 0x01, 0x8e, 0x01, 
-0xfc, 0x00};
-static unsigned char symbol24_102_bits[] = {
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0xf8, 0x01, 0x6c, 0x03, 
-0x66, 0x06, 0x67, 0x0e, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 
-0x63, 0x0c, 0x67, 0x0e, 0x66, 0x06, 0x6c, 0x03, 0xf8, 0x01, 0x60, 0x00, 
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00};
-static unsigned char symbol24_103_bits[] = {
-0x0e, 0x06, 0x1f, 0x06, 0x19, 0x06, 0x19, 0x03, 0x18, 0x03, 0x30, 0x03, 
-0xb0, 0x01, 0xb0, 0x01, 0xa0, 0x01, 0xe0, 0x00, 0xe0, 0x00, 0xc0, 0x00, 
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00};
-static unsigned char symbol24_104_bits[] = {
-0x8e, 0x03, 0xdf, 0x07, 0x79, 0x0c, 0x38, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 
-0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 
-0x18, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c};
-static unsigned char symbol24_105_bits[] = {
-0x0c, 0x0e, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x4c, 0x7c, 
-0x38};
-static unsigned char symbol24_106_bits[] = {
-0xcc, 0x01, 0xce, 0x03, 0x66, 0x06, 0x63, 0x0e, 0x63, 0x0c, 0x63, 0x0c, 
-0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x67, 0x0e, 0x66, 0x06, 0x6c, 0x03, 
-0xf8, 0x01, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00};
-static unsigned char symbol24_107_bits[] = {
-0x0c, 0x0e, 0x0e, 0x0f, 0x8f, 0x0d, 0xcc, 0x00, 0x6c, 0x00, 0x3c, 0x00, 
-0x3c, 0x00, 0x7c, 0x00, 0xec, 0x00, 0xcc, 0x01, 0x8c, 0x03, 0x0c, 0x07, 
-0x8c, 0x0f};
-static unsigned char symbol24_108_bits[] = {
-0x0e, 0x00, 0x1f, 0x00, 0x11, 0x00, 0x10, 0x00, 0x10, 0x00, 0x30, 0x00, 
-0x30, 0x00, 0x30, 0x00, 0x38, 0x00, 0x78, 0x00, 0x58, 0x00, 0x4c, 0x00, 
-0x4c, 0x00, 0xcc, 0x00, 0x86, 0x00, 0x86, 0x00, 0x86, 0x09, 0x83, 0x0f, 
-0x03, 0x07};
-static unsigned char symbol24_109_bits[] = {
-0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 
-0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0xc7, 0x09, 0xff, 0x0f, 
-0x7b, 0x06, 0x03, 0x00, 0x03, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00};
-static unsigned char symbol24_110_bits[] = {
-0x03, 0x07, 0x03, 0x07, 0x03, 0x06, 0x06, 0x02, 0x06, 0x03, 0x06, 0x01, 
-0x8c, 0x01, 0x8c, 0x00, 0xcc, 0x00, 0x58, 0x00, 0x58, 0x00, 0x70, 0x00, 
-0x30, 0x00};
-static unsigned char symbol24_111_bits[] = {
-0xf8, 0x00, 0x8e, 0x03, 0x06, 0x03, 0x07, 0x07, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x07, 0x07, 0x06, 0x03, 0x8e, 0x03, 
-0xf8, 0x00};
-static unsigned char symbol24_112_bits[] = {
-0xfe, 0x1f, 0xff, 0x1f, 0x19, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 0x03, 
-0x18, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 0x13, 0x1c, 0x1f, 
-0x0c, 0x0f};
-static unsigned char symbol24_113_bits[] = {
-0x78, 0x00, 0xcc, 0x00, 0x86, 0x01, 0x86, 0x01, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x86, 0x01, 0x86, 0x01, 0xcc, 0x00, 0x78, 0x00};
-static unsigned char symbol24_114_bits[] = {
-0x7c, 0x00, 0xc6, 0x01, 0x83, 0x01, 0x83, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x83, 0x03, 0x83, 0x01, 0xc7, 0x01, 
-0x7b, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00};
-static unsigned char symbol24_115_bits[] = {
-0xf8, 0x3f, 0x8e, 0x3f, 0x06, 0x03, 0x07, 0x07, 0x03, 0x06, 0x03, 0x06, 
-0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x07, 0x07, 0x06, 0x03, 0x8e, 0x03, 
-0xf8, 0x00};
-static unsigned char symbol24_116_bits[] = {
-0xfc, 0x03, 0xfe, 0x03, 0x33, 0x00, 0x31, 0x00, 0x30, 0x00, 0x30, 0x00, 
-0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x01, 0xf0, 0x01, 
-0xe0, 0x00};
-static unsigned char symbol24_117_bits[] = {
-0x0c, 0x07, 0x1e, 0x0c, 0x1b, 0x18, 0x19, 0x18, 0x18, 0x18, 0x18, 0x18, 
-0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0c, 0x30, 0x0c, 0x70, 0x07, 
-0xe0, 0x03};
-static unsigned char symbol24_118_bits[] = {
-0xfe, 0xff, 0xff, 0xff, 0x19, 0x18, 0x0c, 0x30, 0x8c, 0x31, 0x86, 0x61, 
-0x86, 0x61, 0x86, 0x61, 0x86, 0x61, 0x86, 0x61, 0x86, 0x61, 0x8c, 0x31, 
-0xdc, 0x3b, 0x78, 0x1e};
-static unsigned char symbol24_119_bits[] = {
-0x18, 0x06, 0x0c, 0x0c, 0x06, 0x18, 0xc6, 0x18, 0xc3, 0x30, 0xc3, 0x30, 
-0xc3, 0x30, 0xc3, 0x30, 0xc3, 0x30, 0xc3, 0x30, 0xc6, 0x18, 0xee, 0x1d, 
-0x3c, 0x0f};
-static unsigned char symbol24_120_bits[] = {
-0x0c, 0x00, 0xc6, 0x01, 0xe6, 0x01, 0xfc, 0x00, 0x0c, 0x00, 0x04, 0x00, 
-0xec, 0x01, 0xf8, 0x01, 0x0c, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x00, 
-0x01, 0x00, 0x01, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x3e, 0x00, 0xfc, 0x01, 
-0xf0, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0xf0, 0x01, 0xf0, 0x00};
-static unsigned char symbol24_121_bits[] = {
-0x83, 0xc1, 0x8e, 0x71, 0x8c, 0x31, 0x9c, 0x39, 0x9c, 0x39, 0x9c, 0x39, 
-0x9c, 0x39, 0x9c, 0x39, 0x9c, 0x39, 0x98, 0x19, 0x98, 0x19, 0xb0, 0x0d, 
-0xe0, 0x07, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01};
-static unsigned char symbol24_122_bits[] = {
-0x0c, 0x00, 0xc6, 0x01, 0xe6, 0x01, 0xfc, 0x00, 0x18, 0x00, 0x0c, 0x00, 
-0x04, 0x00, 0x06, 0x00, 0x02, 0x00, 0x03, 0x00, 0x01, 0x00, 0x01, 0x00, 
-0x01, 0x00, 0x01, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x3e, 0x00, 0xfc, 0x01, 
-0xf0, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0xf0, 0x01, 0xf0, 0x00};
-static unsigned char symbol24_123_bits[] = {
-0xe0, 0x30, 0x18, 0x18, 0x18, 0x18, 0x18, 0x08, 0x0c, 0x04, 0x03, 0x04, 
-0x0c, 0x08, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x30, 0xe0};
-static unsigned char symbol24_124_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol24_125_bits[] = {
-0x07, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x10, 0x30, 0x20, 0xc0, 0x20, 
-0x30, 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0c, 0x07};
-static unsigned char symbol24_126_bits[] = {
-0x1c, 0x04, 0x3e, 0x06, 0xe3, 0x03, 0xc1, 0x01};
-static unsigned char symbol24_127_bits[] = {
-0x00};
-static unsigned char symbol24_128_bits[] = {
-0x00};
-static unsigned char symbol24_129_bits[] = {
-0x00};
-static unsigned char symbol24_130_bits[] = {
-0x00};
-static unsigned char symbol24_131_bits[] = {
-0x00};
-static unsigned char symbol24_132_bits[] = {
-0x00};
-static unsigned char symbol24_133_bits[] = {
-0x00};
-static unsigned char symbol24_134_bits[] = {
-0x00};
-static unsigned char symbol24_135_bits[] = {
-0x00};
-static unsigned char symbol24_136_bits[] = {
-0x00};
-static unsigned char symbol24_137_bits[] = {
-0x00};
-static unsigned char symbol24_138_bits[] = {
-0x00};
-static unsigned char symbol24_139_bits[] = {
-0x00};
-static unsigned char symbol24_140_bits[] = {
-0x00};
-static unsigned char symbol24_141_bits[] = {
-0x00};
-static unsigned char symbol24_142_bits[] = {
-0x00};
-static unsigned char symbol24_143_bits[] = {
-0x00};
-static unsigned char symbol24_144_bits[] = {
-0x00};
-static unsigned char symbol24_145_bits[] = {
-0x00};
-static unsigned char symbol24_146_bits[] = {
-0x00};
-static unsigned char symbol24_147_bits[] = {
-0x00};
-static unsigned char symbol24_148_bits[] = {
-0x00};
-static unsigned char symbol24_149_bits[] = {
-0x00};
-static unsigned char symbol24_150_bits[] = {
-0x00};
-static unsigned char symbol24_151_bits[] = {
-0x00};
-static unsigned char symbol24_152_bits[] = {
-0x00};
-static unsigned char symbol24_153_bits[] = {
-0x00};
-static unsigned char symbol24_154_bits[] = {
-0x00};
-static unsigned char symbol24_155_bits[] = {
-0x00};
-static unsigned char symbol24_156_bits[] = {
-0x00};
-static unsigned char symbol24_157_bits[] = {
-0x00};
-static unsigned char symbol24_158_bits[] = {
-0x00};
-static unsigned char symbol24_159_bits[] = {
-0x00};
-static unsigned char symbol24_160_bits[] = {
-0x00};
-static unsigned char symbol24_161_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol24_162_bits[] = {
-0x07, 0x0e, 0x0e, 0x1b, 0x1c, 0x1d};
-static unsigned char symbol24_163_bits[] = {
-0xd8, 0x0c, 0x70, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0x60, 0x00, 0xf8, 0x01, 0x18, 0x0c};
-static unsigned char symbol24_164_bits[] = {
-0x0e, 0x06, 0x03, 0x01, 0x00, 0x0e, 0x80, 0x07, 0xe0, 0x01, 0x78, 0x00, 
-0x1e, 0x00, 0x07, 0x00, 0x07};
-static unsigned char symbol24_165_bits[] = {
-0x00, 0x1e, 0x00, 0x78, 0x00, 0x40, 0x03, 0x00, 0x0f, 0x00, 0x0c, 0x00, 
-0x00, 0x7f};
-static unsigned char symbol24_166_bits[] = {
-0x0f, 0x1f, 0x0f, 0x00, 0xc0, 0x00, 0x60, 0x10, 0x30, 0x18, 0x18, 0x18, 
-0x0c, 0x0c, 0x06, 0x06, 0x06, 0x03, 0x03, 0x03, 0x1c, 0x1c, 0x7e, 0x1e, 
-0xe3, 0x03, 0xc3, 0x01, 0x63, 0x03, 0x3e, 0x1e, 0x1c, 0x1c, 0x00, 0x0f, 
-0x80, 0x19, 0x80, 0x19, 0xc0, 0x00, 0xc0, 0x00};
-static unsigned char symbol24_167_bits[] = {
-0xc0, 0x00, 0xf8, 0x07, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x60, 0x00, 
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x30, 0x00, 
-0x30, 0x00};
-static unsigned char symbol24_168_bits[] = {
-0x33, 0x00, 0x33, 0x00, 0x1b, 0x00, 0x0e, 0x00, 0xe0, 0x01, 0xf0, 0x03, 
-0xf0, 0x03, 0xf0, 0x03, 0xf0, 0x03, 0xee, 0x01, 0xdf, 0x02, 0xff, 0x03, 
-0xff, 0x03};
-static unsigned char symbol24_169_bits[] = {
-0xdf, 0x0e, 0xce, 0x0c, 0xc0, 0x00, 0xe0, 0x01, 0x30, 0x00, 0x30, 0x00, 
-0x78, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0xfe, 0x01, 0xff, 0x03, 0xfe, 0x01, 
-0xfc, 0x00};
-static unsigned char symbol24_170_bits[] = {
-0xfc, 0x00, 0x78, 0x00, 0x30, 0x00, 0x30, 0x00, 0x0e, 0x07, 0x9f, 0x0f, 
-0x9f, 0x0f, 0xff, 0x0f, 0xff, 0x0f, 0xff, 0x0f, 0xfe, 0x07, 0xfe, 0x07, 
-0xfc, 0x03};
-static unsigned char symbol24_171_bits[] = {
-0xf8, 0x01, 0xf0, 0x00, 0xf0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0xf0, 0x00, 0xf8, 0x01, 0xfc, 0x03, 0xfe, 0x07, 0xfe, 0x07, 0xff, 0x0f, 
-0xff, 0x0f, 0x6f, 0x0f, 0x66, 0x06, 0x60, 0x00, 0xf0, 0x00, 0x60, 0x00};
-static unsigned char symbol24_172_bits[] = {
-0x06, 0x30, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x30, 0x06, 0x00, 
-0x60, 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0x00, 0x60, 0x0c, 0x00, 
-0x30, 0x18, 0x00, 0x00, 0x30, 0x00, 0x0c, 0x00, 0x00, 0x06, 0x60, 0x00, 
-0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0c, 0x00};
-static unsigned char symbol24_173_bits[] = {
-0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff, 0x0f, 0xff, 0x01, 0xff, 0x0f, 
-0xff, 0x01, 0x06, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x18, 0x00, 
-0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 
-0xf0, 0x00, 0xf8, 0x01, 0x6c, 0x03, 0x66, 0x06, 0x63, 0x0c, 0x60, 0x00, 
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0x60, 0x00};
-static unsigned char symbol24_174_bits[] = {
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 
-0x0c, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00};
-static unsigned char symbol24_175_bits[] = {
-0x60, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xff, 0x0f, 0xff, 0x01, 0xff, 0x0f, 
-0xff, 0x01, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 
-0x30, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x60, 0x00, 
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00};
-static unsigned char symbol24_176_bits[] = {
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60};
-static unsigned char symbol24_177_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x03, 0x0c, 0x02, 0x06, 0x00, 0x03, 0x00, 0x01, 0x00, 
-0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol24_178_bits[] = {
-0x36, 0x01, 0x41, 0x01, 0x36, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00};
-static unsigned char symbol24_179_bits[] = {
-0x30, 0x00, 0xff, 0x03, 0xff, 0x03, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 
-0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0xff, 0x03, 0x98, 0x01, 
-0xdc, 0x01, 0xee, 0x00, 0x66, 0x00};
-static unsigned char symbol24_180_bits[] = {
-0x33, 0x00, 0x11, 0x00, 0x07, 0x00, 0x1e, 0x00, 0x78, 0x00, 0xe0, 0x01, 
-0x80, 0x07, 0x00, 0x06, 0x00, 0x06, 0x80, 0x07};
-static unsigned char symbol24_181_bits[] = {
-0xe0, 0x01, 0x7c, 0x00, 0x0f, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff, 0x0f, 
-0xff, 0x0f};
-static unsigned char symbol24_182_bits[] = {
-0x03, 0x02, 0x06, 0x03, 0x8c, 0x01, 0xd8, 0x00, 0x70, 0x00, 0x70, 0x00, 
-0xd8, 0x00, 0x8c, 0x01, 0x06, 0x03, 0x03, 0x02, 0x1c, 0x00, 0x3e, 0x02, 
-0x63, 0x03, 0xc3, 0x01, 0xe3, 0x03, 0x3e, 0x02, 0x1c, 0x00, 0x7c, 0x00, 
-0xc6, 0x00};
-static unsigned char symbol24_183_bits[] = {
-0x83, 0x01, 0x80, 0x01, 0x00, 0x03, 0x00, 0x03};
-static unsigned char symbol24_184_bits[] = {
-0x00, 0x03, 0x00, 0x03, 0x78, 0x03, 0xce, 0x03, 0x86, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x83, 0x01};
-static unsigned char symbol24_185_bits[] = {
-0x83, 0x01, 0x83, 0x01, 0xc3, 0x00, 0xe6, 0x00, 0x3c, 0x00, 0x3c, 0x02, 
-0xff, 0x03, 0xff, 0x03, 0x7e, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 
-0xff, 0x03};
-static unsigned char symbol24_186_bits[] = {
-0xff, 0x03, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x80, 0x01, 0x80, 0x01, 
-0xc0, 0x00, 0xc0, 0x00};
-static unsigned char symbol24_187_bits[] = {
-0xff, 0x03, 0xff, 0x03, 0x30, 0x00, 0xff, 0x03, 0xff, 0x03, 0x0c, 0x00, 
-0x0c, 0x00, 0x06, 0x00};
-static unsigned char symbol24_188_bits[] = {
-0x06, 0x00, 0x03, 0x07, 0xff, 0x03, 0x00, 0x00, 0x03};
-static unsigned char symbol24_189_bits[] = {
-0x03, 0x03, 0x03, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x02, 
-0x02, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x02, 0x02, 0x03, 0x03, 0x01, 
-0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol24_190_bits[] = {
-0x03, 0x03, 0x03, 0x01, 0x03, 0x03, 0x03, 0x01};
-static unsigned char symbol24_191_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0xff, 0x3f, 0xff, 0x01, 0xff, 0x3f};
-static unsigned char symbol24_192_bits[] = {
-0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 
-0x06, 0x00, 0xff, 0x0f, 0xff, 0x0f, 0x06, 0x00};
-static unsigned char symbol24_193_bits[] = {
-0x04, 0x00, 0x81, 0x01, 0xc3, 0x00, 0xc7, 0x0f, 0x8e, 0x0f, 0x1c, 0x06, 
-0x38, 0x03, 0x3c, 0x01, 0x76, 0x01, 0xe3, 0x01, 0xc3, 0x01, 0xc7, 0x01, 
-0x8f, 0x03, 0x0e, 0x07, 0x0c, 0x0e, 0x0e, 0x0c, 0x07, 0x08, 0xf0, 0x01, 
-0xfc, 0x3f};
-static unsigned char symbol24_194_bits[] = {
-0x0e, 0x1f, 0x00, 0x0c, 0x02, 0x00, 0x02, 0x03, 0x00, 0x03, 0x0c, 0x01, 
-0x38, 0x0e, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x38, 0x00, 0x38, 0x00, 0x00, 
-0x0c, 0x30, 0x00, 0x30, 0x7b, 0x00, 0xf0, 0x0f, 0x00, 0x03, 0x78, 0x00, 
-0x00, 0xfc, 0x00, 0x00, 0xc6, 0x01, 0x00, 0x83, 0x01, 0x00, 0x81, 0x01, 
-0x00, 0x83, 0x01, 0x00, 0x87, 0x01};
-static unsigned char symbol24_195_bits[] = {
-0x00, 0x0e, 0x1d, 0x00, 0x9c, 0x0d, 0x00, 0x18, 0x19, 0x00, 0x88, 0x19, 
-0x00, 0x00, 0x19, 0x00, 0x80, 0x39, 0x00, 0x00, 0x31, 0x00, 0x80, 0x31, 
-0x00, 0x18, 0x61, 0x01, 0xfc, 0x60, 0x01, 0x72, 0xe0, 0x00, 0x60, 0x00, 
-0x30, 0x00, 0x18, 0x3c};
-static unsigned char symbol24_196_bits[] = {
-0x0c, 0x7f, 0x8c, 0x61, 0xc6, 0x60, 0x66, 0x60, 0x36, 0x60, 0x16, 0x30, 
-0x9e, 0x39, 0xce, 0x19, 0x4e, 0x0c, 0x5e, 0x0e, 0xda, 0x07, 0xbb, 0x01, 
-0x31, 0x00, 0x31, 0x00, 0x31, 0x00, 0x1b, 0x00, 0x0e, 0x00};
-static unsigned char symbol24_197_bits[] = {
-0xe0, 0x07, 0x78, 0x1e, 0x1c, 0x38, 0x06, 0x60, 0x16, 0x68, 0x33, 0xcc, 
-0x63, 0xc6, 0xc3, 0xc3, 0x83, 0xc1, 0xc3, 0xc3, 0x63, 0xc6, 0x33, 0xcc, 
-0x16, 0x68, 0x06, 0x60, 0x1c, 0x38, 0x78, 0x1e, 0xe0, 0x07};
-static unsigned char symbol24_198_bits[] = {
-0xe0, 0x07, 0x00, 0x1e, 0x1c, 0x00, 0x86, 0x61, 0x02, 0x61, 0x83, 0x01, 
-0x83, 0xc1, 0x03, 0xdf, 0xfb, 0x03, 0x83, 0xc1, 0x03, 0xc1, 0x83, 0x01, 
-0x86, 0x61, 0x02, 0x60, 0x1c, 0x00, 0x78, 0x1e, 0x00, 0x07, 0xc0, 0x03, 
-0x03, 0xf0, 0x03, 0x01, 0x38, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x0c, 0x00, 
-0x00, 0x06, 0x00};
-static unsigned char symbol24_199_bits[] = {
-0x01, 0x06, 0x8c, 0x01, 0x06, 0x86, 0x01, 0x06, 0x83, 0x01, 0x86, 0x81, 
-0x01, 0xc6, 0x80, 0x01, 0x66, 0x80, 0x01, 0x3c, 0xc0, 0x00, 0x1c, 0xc0, 
-0x00, 0x3c};
-static unsigned char symbol24_200_bits[] = {
-0x70, 0x00, 0xf6, 0x3f, 0x00, 0xc3, 0x0f, 0x00, 0xe0, 0x07, 0xf8, 0x1f, 
-0x1c, 0x38, 0x06, 0x60, 0x06, 0x60, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 
-0x03, 0xc0};
-static unsigned char symbol24_201_bits[] = {
-0x03, 0x40, 0x03, 0x40, 0x03, 0x40, 0x03, 0x40, 0x03, 0x40, 0x03, 0x40, 
-0x03, 0x40, 0x03, 0x40, 0x03, 0x40, 0x03, 0x40, 0x03, 0x40, 0x03, 0x40};
-static unsigned char symbol24_202_bits[] = {
-0x06, 0x60, 0x06, 0x60, 0x1c, 0x38, 0xf8, 0x1f, 0xe0, 0x07, 0xff, 0x07, 
-0xff, 0x1f, 0x00, 0x38, 0x00, 0x30, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 
-0x00, 0x60, 0x00, 0x30, 0x00, 0x38};
-static unsigned char symbol24_203_bits[] = {
-0xff, 0x1f, 0xff, 0x07, 0xff, 0x07, 0xff, 0x1f, 0x00, 0x38, 0x00, 0x30, 
-0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x30, 0x00, 0x38, 
-0xff, 0x1f, 0xff, 0x07, 0x00, 0x00, 0xff, 0x7f};
-static unsigned char symbol24_204_bits[] = {
-0xff, 0x7f, 0x00, 0x30, 0x00, 0x30, 0xf0, 0x7f, 0xfc, 0x7f, 0x0e, 0x0c, 
-0x06, 0x0c, 0x03, 0x06, 0x03, 0x06, 0x03, 0x03, 0x03, 0x03, 0x86, 0x01};
-static unsigned char symbol24_205_bits[] = {
-0x8e, 0x01, 0xfc, 0x7f, 0xf0, 0x7f, 0x60, 0x00, 0x60, 0x00, 0xf0, 0x7f, 
-0xfc, 0x7f, 0x0e, 0x00, 0x06, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x06, 0x00, 0x0e, 0x00};
-static unsigned char symbol24_206_bits[] = {
-0xfc, 0x0f, 0xf0, 0x0f, 0xf0, 0x0f, 0xfc, 0x0f, 0x0e, 0x00, 0x06, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x06, 0x00, 0x0e, 0x00, 
-0xfc, 0x0f};
-static unsigned char symbol24_207_bits[] = {
-0xf0, 0x0f, 0x00, 0x00, 0xff, 0x0f, 0xff, 0x0f, 0xf8, 0x0f, 0xfe, 0x0f, 
-0x06, 0x00, 0x03, 0x00, 0x03, 0x00, 0xff, 0x0f, 0xff, 0x0f, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x06, 0x00, 0xfe, 0x0f, 0xf8, 0x0f};
-static unsigned char symbol24_208_bits[] = {
-0x00, 0x03, 0x00, 0x03, 0xf8, 0x01, 0xfe, 0x0f, 0x00, 0x01, 0x83, 0x01, 
-0xc3, 0x00, 0x01, 0x0f, 0xff, 0x01, 0x63, 0x00, 0x01, 0x00, 0x33, 0x00, 
-0x36, 0x00, 0x00, 0x0f, 0xf8, 0x01, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol24_209_bits[] = {
-0x00, 0x00, 0x0c, 0x00, 0x00, 0x06, 0x00, 0x00, 0x03, 0x00, 0x80, 0x01, 
-0x00, 0xc0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x30, 0x00, 0x00, 0x18, 0x00, 
-0x00, 0x0c, 0x00, 0x00, 0xfe, 0xff, 0x01, 0xff, 0xff, 0x01, 0xff, 0xff};
-static unsigned char symbol24_210_bits[] = {
-0x03, 0xc0, 0x03, 0x40, 0x06, 0x60, 0x06, 0x20, 0x0c, 0x30, 0x0c, 0x10, 
-0x0c, 0x18, 0x18, 0x08, 0x18, 0x0c, 0x30, 0x04, 0x30, 0x04, 0x60, 0x06, 
-0x60, 0x02, 0xc0, 0x03, 0xc0, 0x03, 0x80, 0x01, 0x80, 0x01};
-static unsigned char symbol24_211_bits[] = {
-0xe0, 0x07, 0x78, 0x1e, 0x1c, 0x38, 0x06, 0x60, 0xf6, 0x67, 0x63, 0xce, 
-0x63, 0xcc, 0x63, 0xce, 0xe3, 0xc7, 0x63, 0xc3, 0x63, 0xc6, 0x63, 0xcc, 
-0xf6, 0x7c, 0x06, 0x60, 0x1c, 0x38, 0x78, 0x1e, 0xe0, 0x07};
-static unsigned char symbol24_212_bits[] = {
-0xe0, 0x07, 0x08, 0x1e, 0x1c, 0x08, 0x06, 0x60, 0x06, 0x63, 0x63, 0x06, 
-0x33, 0xc4, 0x03, 0xc0, 0x33, 0x00, 0x33, 0xc0, 0x03, 0xc4, 0x63, 0x06, 
-0xc6, 0x63, 0x06, 0x60, 0x1c, 0x08};
-static unsigned char symbol24_213_bits[] = {
-0x78, 0x1e, 0x00, 0x07, 0xff, 0x01, 0x0e, 0x99, 0x00, 0x06, 0x18, 0x00, 
-0x07, 0x18, 0x00, 0x07, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 
-0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x3c, 0x01, 0x0f, 0xff, 0x01, 
-0x01, 0x0c, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x0c, 0x00, 
-0x00, 0x0c, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x0c, 0x00, 
-0x00, 0x0c, 0x00};
-static unsigned char symbol24_214_bits[] = {
-0x00, 0x0c, 0x60, 0x00, 0x0c, 0x20, 0x00, 0x0c, 0x60, 0x00, 0x0c, 0x20, 
-0x00, 0x0c, 0x60, 0x00, 0x0c, 0x20, 0x00, 0x0c, 0x60, 0x00, 0x0c, 0x20, 
-0x00, 0x0c, 0x60, 0x00, 0x0c, 0x20, 0x00, 0x3f, 0xf8, 0x01, 0x00, 0x20, 
-0x00, 0x20, 0x00, 0x20, 0x00, 0x30, 0x00, 0x30, 0x00, 0x10};
-static unsigned char symbol24_215_bits[] = {
-0x00, 0x00, 0x00};
-static unsigned char symbol24_216_bits[] = {
-0x10, 0x00, 0x18, 0x0c, 0x18, 0x0e, 0x08, 0x1b, 0x08, 0x18, 0x08, 0x30, 
-0x0c, 0x30, 0x0c, 0x60};
-static unsigned char symbol24_217_bits[] = {
-0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x06, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0xff, 0x1f, 0xff, 0x1f, 0x00, 0x00};
-static unsigned char symbol24_218_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 
-0xe0, 0x00, 0xb0, 0x01, 0xb0, 0x01, 0x18, 0x03, 0x18, 0x03, 0x0c, 0x06};
-static unsigned char symbol24_219_bits[] = {
-0x0c, 0x06, 0x06, 0x0c, 0x06, 0x0c, 0x03, 0x18, 0x03, 0x18, 0x03, 0x18, 
-0x03, 0x18, 0x06, 0x0c, 0x06, 0x0c, 0x0c, 0x06, 0x0c, 0x06, 0x18, 0x03, 
-0x18, 0x03, 0x30, 0x01, 0xb0, 0x01, 0xe0, 0x00, 0x60, 0x00, 0x60, 0x00};
-static unsigned char symbol24_220_bits[] = {
-0x03, 0x30, 0x00, 0x06, 0x18, 0x00, 0x0c, 0xfc, 0x7f, 0x1f, 0xfe, 0x7f, 
-0x3f, 0x07, 0x00, 0x70, 0x07, 0x00, 0x70, 0xfe, 0x7f, 0x3f, 0xfc, 0x7f, 
-0x1f, 0x18, 0x00, 0x0c, 0x30, 0x00, 0x06, 0x60, 0x00, 0x03, 0x60, 0x00};
-static unsigned char symbol24_221_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x0c, 0xff, 0x0f, 0xfe, 0x0f, 
-0x7f, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x0e, 0xff, 0x0f, 0xfc, 0x0f, 
-0x7f, 0x08, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 
-0xf0, 0x00, 0xf8, 0x01, 0x9c, 0x03, 0x9e, 0x07, 0x9b, 0x0d};
-static unsigned char symbol24_222_bits[] = {
-0x98, 0x01, 0x18, 0x01, 0x98, 0x01, 0x98, 0x01, 0x18, 0x01, 0x98, 0x01, 
-0x98, 0x01, 0x18, 0x01, 0x98, 0x01, 0x98, 0x01, 0x18, 0x01, 0x98, 0x01, 
-0x98, 0x01, 0x18, 0x01, 0x98, 0x01, 0x98, 0x01, 0x18, 0x01, 0x00, 0x00};
-static unsigned char symbol24_223_bits[] = {
-0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0c, 0x0f, 0xff, 0x0f, 0xff, 0x0f, 
-0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x0f, 0xff, 0x0f, 0xff, 0x0f, 
-0x1f, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x06, 0x00, 0x00, 0x03, 0x98, 0x01, 
-0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 0x98, 0x01};
-static unsigned char symbol24_224_bits[] = {
-0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 
-0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 0x9b, 0x01, 
-0x9e, 0x03, 0x9c, 0x03, 0xf8, 0x01, 0xf0, 0x00, 0x60, 0x00, 0x30, 0x00};
-static unsigned char symbol24_225_bits[] = {
-0x30, 0x00, 0x78, 0x00, 0x4c, 0x00, 0x4c, 0x00, 0x06, 0x01, 0x06, 0x01, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x06, 0x01};
-static unsigned char symbol24_226_bits[] = {
-0x86, 0x01, 0xcc, 0x00, 0xcc, 0x00, 0x78, 0x00, 0x30, 0x00, 0x30, 0x00, 
-0x60, 0x60, 0x30, 0x30, 0x18, 0x18, 0x0c, 0x0c, 0x06, 0x06, 0x03, 0x03, 
-0x06, 0x06, 0x0c, 0x0c, 0x18, 0x18, 0x30, 0x30, 0x60, 0x60};
-static unsigned char symbol24_227_bits[] = {
-0xe0, 0x07, 0x78, 0x1e, 0x1c, 0x38, 0x06, 0x60, 0xe6, 0x67, 0x63, 0xcc, 
-0x63, 0xcc, 0x63, 0xcc, 0xe3, 0xc7, 0x63, 0xc6, 0x63, 0xcc, 0x63, 0xcc, 
-0x66, 0x4c, 0x06, 0x60, 0x1c, 0x38, 0x78, 0x1e, 0xe0, 0x07};
-static unsigned char symbol24_228_bits[] = {
-0xe0, 0x07, 0x00, 0x1e, 0x1c, 0x00, 0x06, 0x60, 0x02, 0x63, 0xe3, 0x03, 
-0x73, 0xc6, 0x03, 0xc0, 0x33, 0x00, 0x33, 0xc0, 0x03, 0xc6, 0xe3, 0x03, 
-0xc6, 0x63, 0x02, 0x60, 0x1c, 0x00};
-static unsigned char symbol24_229_bits[] = {
-0x78, 0x1e, 0xe0, 0x07, 0x7f, 0x03, 0x03, 0x18, 0x03, 0x03, 0x18, 0x07, 
-0x03, 0x18, 0x87, 0x03, 0x18, 0x0f, 0x03, 0x18, 0x4b, 0x03, 0x18, 0x3b, 
-0x03, 0x18, 0x33, 0x03, 0x18, 0x33, 0x03, 0x18, 0x33, 0x03, 0xff, 0x1f, 
-0x07, 0x18, 0x0e, 0x10};
-static unsigned char symbol24_230_bits[] = {
-0x1c, 0x00, 0x38, 0x00, 0x70, 0x00, 0xe0, 0x00, 0xc0, 0x01, 0x80, 0x01, 
-0x00, 0x01, 0x80, 0x01, 0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 
-0x0c, 0x00, 0x06, 0x00, 0x03, 0x00, 0xff, 0x01, 0xff, 0x01, 0x80, 0x01, 
-0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x18, 0x00, 0x0c, 0x00, 
-0x0c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x03, 0x00, 
-0x03, 0x00};
-static unsigned char symbol24_231_bits[] = {
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00};
-static unsigned char symbol24_232_bits[] = {
-0x03, 0x00, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 
-0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 
-0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00};
-static unsigned char symbol24_233_bits[] = {
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x06, 0x00, 
-0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x18, 0x00, 
-0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0x40};
-static unsigned char symbol24_234_bits[] = {
-0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol24_235_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol24_236_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol24_237_bits[] = {
-0x03, 0x03, 0x1f, 0x18, 0x0c, 0x06, 0x06, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol24_238_bits[] = {
-0x03, 0x03, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 
-0x18, 0x18, 0x08, 0x0c, 0x06, 0x03, 0x06, 0x0c, 0x18, 0x18, 0x18, 0x18, 
-0x18, 0x18, 0x18, 0x18, 0x18};
-static unsigned char symbol24_239_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02};
-static unsigned char symbol24_240_bits[] = {
-0x00};
-static unsigned char symbol24_241_bits[] = {
-0x0c, 0x78, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol24_242_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x00, 0x03, 0x03, 0x06, 0x06, 0x0c, 0x0c, 0x18, 0x18, 0x30, 0x30, 0x60, 
-0x60, 0x30, 0x30, 0x18};
-static unsigned char symbol24_243_bits[] = {
-0x18, 0x0c, 0x0c, 0x06, 0x06, 0x03, 0x03, 0xe0, 0xf0, 0xd8, 0x18, 0x18, 
-0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 
-0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18};
-static unsigned char symbol24_244_bits[] = {
-0x00, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol24_245_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03};
-static unsigned char symbol24_246_bits[] = {
-0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x00, 0xc0, 0x00, 
-0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 
-0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x40, 0x00, 0x33, 0x01, 0x0e, 0x01, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x01, 0x00};
-static unsigned char symbol24_247_bits[] = {
-0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 
-0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 
-0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00};
-static unsigned char symbol24_248_bits[] = {
-0x01, 0x00, 0x01, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 
-0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 
-0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x00, 
-0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 
-0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 
-0x01, 0x00, 0x01, 0x00};
-static unsigned char symbol24_249_bits[] = {
-0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x40, 
-0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x60, 0x00, 0x60, 0x00, 0x30, 
-0x00, 0x30, 0x00, 0x18, 0x00, 0x0c, 0x00};
-static unsigned char symbol24_250_bits[] = {
-0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol24_251_bits[] = {
-0x60, 0x60, 0x60, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol24_252_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 
-0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 
-0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60};
-static unsigned char symbol24_253_bits[] = {
-0x00, 0x00, 0x00, 0x1f, 0x0f, 0x18, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol24_254_bits[] = {
-0x60, 0x60, 0x60, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x02, 0x06, 0x0c, 0x18, 0x0c, 0x06, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char symbol24_255_bits[] = {
-0x00};
-static RotFont symbol24font[] = {
-{5, 1, 1, symbol24_0_bits},
-{5, 1, 1, symbol24_1_bits},
-{5, 1, 1, symbol24_2_bits},
-{5, 1, 1, symbol24_3_bits},
-{5, 1, 1, symbol24_4_bits},
-{5, 1, 1, symbol24_5_bits},
-{5, 1, 1, symbol24_6_bits},
-{5, 1, 1, symbol24_7_bits},
-{5, 1, 1, symbol24_8_bits},
-{5, 1, 1, symbol24_9_bits},
-{5, 1, 1, symbol24_10_bits},
-{5, 1, 1, symbol24_11_bits},
-{5, 1, 1, symbol24_12_bits},
-{5, 1, 1, symbol24_13_bits},
-{5, 1, 1, symbol24_14_bits},
-{5, 1, 1, symbol24_15_bits},
-{5, 1, 1, symbol24_16_bits},
-{5, 1, 1, symbol24_17_bits},
-{5, 1, 1, symbol24_18_bits},
-{5, 1, 1, symbol24_19_bits},
-{5, 1, 1, symbol24_20_bits},
-{5, 1, 1, symbol24_21_bits},
-{5, 1, 1, symbol24_22_bits},
-{5, 1, 1, symbol24_23_bits},
-{5, 1, 1, symbol24_24_bits},
-{5, 1, 1, symbol24_25_bits},
-{5, 1, 1, symbol24_26_bits},
-{5, 1, 1, symbol24_27_bits},
-{5, 1, 1, symbol24_28_bits},
-{5, 1, 1, symbol24_29_bits},
-{5, 1, 1, symbol24_30_bits},
-{5, 1, 1, symbol24_31_bits},
-{1, 1, 1, symbol24_32_bits},
-{3, 17, 17, symbol24_33_bits},
-{15, 17, 17, symbol24_34_bits},
-{11, 17, 17, symbol24_35_bits},
-{11, 17, 17, symbol24_36_bits},
-{18, 17, 17, symbol24_37_bits},
-{15, 17, 17, symbol24_38_bits},
-{8, 13, 13, symbol24_39_bits},
-{6, 22, 17, symbol24_40_bits},
-{6, 22, 17, symbol24_41_bits},
-{8, 10, 17, symbol24_42_bits},
-{10, 10, 12, symbol24_43_bits},
-{3, 6, 2, symbol24_44_bits},
-{11, 2, 8, symbol24_45_bits},
-{2, 3, 3, symbol24_46_bits},
-{7, 17, 17, symbol24_47_bits},
-{10, 17, 17, symbol24_48_bits},
-{6, 17, 17, symbol24_49_bits},
-{10, 17, 17, symbol24_50_bits},
-{9, 17, 17, symbol24_51_bits},
-{10, 17, 17, symbol24_52_bits},
-{9, 17, 17, symbol24_53_bits},
-{10, 17, 17, symbol24_54_bits},
-{10, 17, 17, symbol24_55_bits},
-{10, 17, 17, symbol24_56_bits},
-{10, 17, 17, symbol24_57_bits},
-{2, 11, 11, symbol24_58_bits},
-{3, 15, 11, symbol24_59_bits},
-{12, 12, 13, symbol24_60_bits},
-{10, 6, 10, symbol24_61_bits},
-{12, 12, 13, symbol24_62_bits},
-{8, 17, 17, symbol24_63_bits},
-{11, 12, 13, symbol24_64_bits},
-{17, 17, 17, symbol24_65_bits},
-{13, 17, 17, symbol24_66_bits},
-{17, 17, 17, symbol24_67_bits},
-{16, 17, 17, symbol24_68_bits},
-{13, 17, 17, symbol24_69_bits},
-{16, 17, 17, symbol24_70_bits},
-{13, 17, 17, symbol24_71_bits},
-{16, 17, 17, symbol24_72_bits},
-{6, 17, 17, symbol24_73_bits},
-{14, 17, 17, symbol24_74_bits},
-{15, 17, 17, symbol24_75_bits},
-{15, 17, 17, symbol24_76_bits},
-{20, 17, 17, symbol24_77_bits},
-{16, 17, 17, symbol24_78_bits},
-{16, 17, 17, symbol24_79_bits},
-{16, 17, 17, symbol24_80_bits},
-{16, 17, 17, symbol24_81_bits},
-{12, 17, 17, symbol24_82_bits},
-{12, 17, 17, symbol24_83_bits},
-{14, 17, 17, symbol24_84_bits},
-{16, 17, 17, symbol24_85_bits},
-{9, 18, 13, symbol24_86_bits},
-{16, 17, 17, symbol24_87_bits},
-{14, 17, 17, symbol24_88_bits},
-{18, 17, 17, symbol24_89_bits},
-{12, 17, 17, symbol24_90_bits},
-{5, 22, 17, symbol24_91_bits},
-{12, 10, 10, symbol24_92_bits},
-{5, 22, 17, symbol24_93_bits},
-{14, 17, 17, symbol24_94_bits},
-{13, 2, -3, symbol24_95_bits},
-{13, 2, 23, symbol24_96_bits},
-{14, 13, 13, symbol24_97_bits},
-{10, 24, 19, symbol24_98_bits},
-{12, 18, 13, symbol24_99_bits},
-{10, 18, 18, symbol24_100_bits},
-{9, 13, 13, symbol24_101_bits},
-{12, 22, 17, symbol24_102_bits},
-{11, 18, 13, symbol24_103_bits},
-{12, 18, 13, symbol24_104_bits},
-{7, 13, 13, symbol24_105_bits},
-{12, 18, 13, symbol24_106_bits},
-{12, 13, 13, symbol24_107_bits},
-{12, 19, 19, symbol24_108_bits},
-{12, 18, 13, symbol24_109_bits},
-{11, 13, 13, symbol24_110_bits},
-{11, 13, 13, symbol24_111_bits},
-{13, 13, 13, symbol24_112_bits},
-{10, 17, 17, symbol24_113_bits},
-{10, 18, 13, symbol24_114_bits},
-{14, 13, 13, symbol24_115_bits},
-{10, 13, 13, symbol24_116_bits},
-{13, 13, 13, symbol24_117_bits},
-{16, 14, 14, symbol24_118_bits},
-{14, 13, 13, symbol24_119_bits},
-{10, 24, 19, symbol24_120_bits},
-{16, 18, 13, symbol24_121_bits},
-{10, 24, 19, symbol24_122_bits},
-{8, 22, 17, symbol24_123_bits},
-{2, 22, 17, symbol24_124_bits},
-{8, 22, 17, symbol24_125_bits},
-{11, 4, 9, symbol24_126_bits},
-{5, 1, 1, symbol24_127_bits},
-{5, 1, 1, symbol24_128_bits},
-{5, 1, 1, symbol24_129_bits},
-{5, 1, 1, symbol24_130_bits},
-{5, 1, 1, symbol24_131_bits},
-{5, 1, 1, symbol24_132_bits},
-{5, 1, 1, symbol24_133_bits},
-{5, 1, 1, symbol24_134_bits},
-{5, 1, 1, symbol24_135_bits},
-{5, 1, 1, symbol24_136_bits},
-{5, 1, 1, symbol24_137_bits},
-{5, 1, 1, symbol24_138_bits},
-{5, 1, 1, symbol24_139_bits},
-{5, 1, 1, symbol24_140_bits},
-{5, 1, 1, symbol24_141_bits},
-{5, 1, 1, symbol24_142_bits},
-{5, 1, 1, symbol24_143_bits},
-{5, 1, 1, symbol24_144_bits},
-{5, 1, 1, symbol24_145_bits},
-{5, 1, 1, symbol24_146_bits},
-{5, 1, 1, symbol24_147_bits},
-{5, 1, 1, symbol24_148_bits},
-{5, 1, 1, symbol24_149_bits},
-{5, 1, 1, symbol24_150_bits},
-{5, 1, 1, symbol24_151_bits},
-{5, 1, 1, symbol24_152_bits},
-{5, 1, 1, symbol24_153_bits},
-{5, 1, 1, symbol24_154_bits},
-{5, 1, 1, symbol24_155_bits},
-{5, 1, 1, symbol24_156_bits},
-{5, 1, 1, symbol24_157_bits},
-{5, 1, 1, symbol24_158_bits},
-{5, 1, 1, symbol24_159_bits},
-{5, 1, 1, symbol24_160_bits},
-{13, 17, 17, symbol24_161_bits},
-{5, 6, 18, symbol24_162_bits},
-{12, 15, 15, symbol24_163_bits},
-{8, 17, 17, symbol24_164_bits},
-{15, 7, 11, symbol24_165_bits},
-{13, 22, 17, symbol24_166_bits},
-{14, 13, 13, symbol24_167_bits},
-{10, 13, 13, symbol24_168_bits},
-{12, 13, 13, symbol24_169_bits},
-{12, 13, 13, symbol24_170_bits},
-{24, 12, 13, symbol24_171_bits},
-{25, 12, 13, symbol24_172_bits},
-{12, 31, 23, symbol24_173_bits},
-{25, 12, 13, symbol24_174_bits},
-{12, 29, 24, symbol24_175_bits},
-{7, 7, 17, symbol24_176_bits},
-{10, 14, 14, symbol24_177_bits},
-{9, 6, 18, symbol24_178_bits},
-{12, 15, 15, symbol24_179_bits},
-{11, 10, 12, symbol24_180_bits},
-{14, 7, 11, symbol24_181_bits},
-{10, 19, 19, symbol24_182_bits},
-{8, 8, 11, symbol24_183_bits},
-{10, 8, 11, symbol24_184_bits},
-{10, 13, 13, symbol24_185_bits},
-{11, 8, 11, symbol24_186_bits},
-{11, 8, 11, symbol24_187_bits},
-{18, 3, 3, symbol24_188_bits},
-{2, 32, 24, symbol24_189_bits},
-{25, 2, 8, symbol24_190_bits},
-{14, 16, 16, symbol24_191_bits},
-{12, 16, 16, symbol24_192_bits},
-{14, 19, 18, symbol24_193_bits},
-{17, 18, 18, symbol24_194_bits},
-{15, 20, 15, symbol24_195_bits},
-{16, 17, 17, symbol24_196_bits},
-{16, 17, 17, symbol24_197_bits},
-{18, 17, 17, symbol24_198_bits},
-{16, 13, 13, symbol24_199_bits},
-{16, 13, 13, symbol24_200_bits},
-{15, 12, 12, symbol24_201_bits},
-{15, 15, 12, symbol24_202_bits},
-{15, 16, 14, symbol24_203_bits},
-{15, 12, 12, symbol24_204_bits},
-{15, 15, 12, symbol24_205_bits},
-{12, 13, 13, symbol24_206_bits},
-{12, 17, 15, symbol24_207_bits},
-{17, 16, 16, symbol24_208_bits},
-{16, 18, 18, symbol24_209_bits},
-{16, 17, 17, symbol24_210_bits},
-{16, 17, 17, symbol24_211_bits},
-{20, 10, 17, symbol24_212_bits},
-{17, 21, 18, symbol24_213_bits},
-{14, 23, 23, symbol24_214_bits},
-{2, 3, 9, symbol24_215_bits},
-{15, 8, 8, symbol24_216_bits},
-{13, 12, 12, symbol24_217_bits},
-{13, 12, 12, symbol24_218_bits},
-{23, 12, 12, symbol24_219_bits},
-{23, 12, 12, symbol24_220_bits},
-{12, 23, 23, symbol24_221_bits},
-{23, 12, 12, symbol24_222_bits},
-{12, 23, 23, symbol24_223_bits},
-{10, 18, 18, symbol24_224_bits},
-{7, 22, 17, symbol24_225_bits},
-{16, 17, 17, symbol24_226_bits},
-{16, 17, 17, symbol24_227_bits},
-{18, 10, 17, symbol24_228_bits},
-{14, 20, 18, symbol24_229_bits},
-{9, 31, 23, symbol24_230_bits},
-{2, 32, 24, symbol24_231_bits},
-{9, 32, 24, symbol24_232_bits},
-{7, 31, 23, symbol24_233_bits},
-{2, 32, 24, symbol24_234_bits},
-{7, 29, 24, symbol24_235_bits},
-{7, 31, 23, symbol24_236_bits},
-{5, 32, 24, symbol24_237_bits},
-{7, 29, 24, symbol24_238_bits},
-{2, 32, 24, symbol24_239_bits},
-{5, 1, 1, symbol24_240_bits},
-{7, 22, 17, symbol24_241_bits},
-{8, 28, 23, symbol24_242_bits},
-{8, 31, 23, symbol24_243_bits},
-{2, 32, 24, symbol24_244_bits},
-{8, 26, 24, symbol24_245_bits},
-{9, 31, 23, symbol24_246_bits},
-{2, 32, 24, symbol24_247_bits},
-{9, 32, 24, symbol24_248_bits},
-{7, 31, 23, symbol24_249_bits},
-{2, 32, 24, symbol24_250_bits},
-{7, 29, 24, symbol24_251_bits},
-{7, 31, 23, symbol24_252_bits},
-{5, 32, 24, symbol24_253_bits},
-{7, 29, 24, symbol24_254_bits},
-{5, 1, 1, symbol24_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/symbol8.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/symbol8.h	(revision 38985)
+++ 	(revision )
@@ -1,769 +1,0 @@
-static unsigned char symbol8_0_bits[] = {
-0x00};
-static unsigned char symbol8_1_bits[] = {
-0x00};
-static unsigned char symbol8_2_bits[] = {
-0x00};
-static unsigned char symbol8_3_bits[] = {
-0x00};
-static unsigned char symbol8_4_bits[] = {
-0x00};
-static unsigned char symbol8_5_bits[] = {
-0x00};
-static unsigned char symbol8_6_bits[] = {
-0x00};
-static unsigned char symbol8_7_bits[] = {
-0x00};
-static unsigned char symbol8_8_bits[] = {
-0x00};
-static unsigned char symbol8_9_bits[] = {
-0x00};
-static unsigned char symbol8_10_bits[] = {
-0x00};
-static unsigned char symbol8_11_bits[] = {
-0x00};
-static unsigned char symbol8_12_bits[] = {
-0x00};
-static unsigned char symbol8_13_bits[] = {
-0x00};
-static unsigned char symbol8_14_bits[] = {
-0x00};
-static unsigned char symbol8_15_bits[] = {
-0x00};
-static unsigned char symbol8_16_bits[] = {
-0x00};
-static unsigned char symbol8_17_bits[] = {
-0x00};
-static unsigned char symbol8_18_bits[] = {
-0x00};
-static unsigned char symbol8_19_bits[] = {
-0x00};
-static unsigned char symbol8_20_bits[] = {
-0x00};
-static unsigned char symbol8_21_bits[] = {
-0x00};
-static unsigned char symbol8_22_bits[] = {
-0x00};
-static unsigned char symbol8_23_bits[] = {
-0x00};
-static unsigned char symbol8_24_bits[] = {
-0x00};
-static unsigned char symbol8_25_bits[] = {
-0x00};
-static unsigned char symbol8_26_bits[] = {
-0x00};
-static unsigned char symbol8_27_bits[] = {
-0x00};
-static unsigned char symbol8_28_bits[] = {
-0x00};
-static unsigned char symbol8_29_bits[] = {
-0x00};
-static unsigned char symbol8_30_bits[] = {
-0x00};
-static unsigned char symbol8_31_bits[] = {
-0x00};
-static unsigned char symbol8_32_bits[] = {
-0x00};
-static unsigned char symbol8_33_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x00, 0x01};
-static unsigned char symbol8_34_bits[] = {
-0x11, 0x11, 0x0e, 0x0a, 0x04, 0x04};
-static unsigned char symbol8_35_bits[] = {
-0x0a, 0x1f, 0x0a, 0x0a, 0x1f, 0x0a};
-static unsigned char symbol8_36_bits[] = {
-0x0f, 0x08, 0x08, 0x0e, 0x08, 0x0f};
-static unsigned char symbol8_37_bits[] = {
-0x13, 0x0b, 0x04, 0x1a, 0x19};
-static unsigned char symbol8_38_bits[] = {
-0x06, 0x0a, 0x04, 0x1f, 0x05, 0x1a};
-static unsigned char symbol8_39_bits[] = {
-0x03, 0x06, 0x04, 0x03};
-static unsigned char symbol8_40_bits[] = {
-0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02};
-static unsigned char symbol8_41_bits[] = {
-0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01};
-static unsigned char symbol8_42_bits[] = {
-0x02, 0x07, 0x05};
-static unsigned char symbol8_43_bits[] = {
-0x04, 0x04, 0x1f, 0x04, 0x04};
-static unsigned char symbol8_44_bits[] = {
-0x02, 0x02, 0x01};
-static unsigned char symbol8_45_bits[] = {
-0x1f};
-static unsigned char symbol8_46_bits[] = {
-0x01};
-static unsigned char symbol8_47_bits[] = {
-0x02, 0x02, 0x02, 0x01, 0x01, 0x01};
-static unsigned char symbol8_48_bits[] = {
-0x02, 0x05, 0x05, 0x05, 0x05, 0x02};
-static unsigned char symbol8_49_bits[] = {
-0x02, 0x03, 0x02, 0x02, 0x02, 0x07};
-static unsigned char symbol8_50_bits[] = {
-0x02, 0x05, 0x04, 0x02, 0x01, 0x07};
-static unsigned char symbol8_51_bits[] = {
-0x02, 0x05, 0x04, 0x06, 0x04, 0x03};
-static unsigned char symbol8_52_bits[] = {
-0x04, 0x06, 0x05, 0x0f, 0x04, 0x04};
-static unsigned char symbol8_53_bits[] = {
-0x07, 0x01, 0x03, 0x04, 0x04, 0x03};
-static unsigned char symbol8_54_bits[] = {
-0x06, 0x01, 0x03, 0x05, 0x05, 0x02};
-static unsigned char symbol8_55_bits[] = {
-0x07, 0x05, 0x04, 0x02, 0x02, 0x02};
-static unsigned char symbol8_56_bits[] = {
-0x02, 0x05, 0x02, 0x05, 0x05, 0x02};
-static unsigned char symbol8_57_bits[] = {
-0x02, 0x05, 0x05, 0x07, 0x04, 0x03};
-static unsigned char symbol8_58_bits[] = {
-0x01, 0x00, 0x00, 0x01};
-static unsigned char symbol8_59_bits[] = {
-0x02, 0x00, 0x00, 0x02, 0x02, 0x01};
-static unsigned char symbol8_60_bits[] = {
-0x18, 0x06, 0x03, 0x06, 0x18};
-static unsigned char symbol8_61_bits[] = {
-0x0f, 0x00, 0x0f};
-static unsigned char symbol8_62_bits[] = {
-0x03, 0x0c, 0x18, 0x0c, 0x03};
-static unsigned char symbol8_63_bits[] = {
-0x02, 0x05, 0x04, 0x02, 0x00, 0x02};
-static unsigned char symbol8_64_bits[] = {
-0x0a, 0x05, 0x00, 0x0f, 0x00, 0x0f};
-static unsigned char symbol8_65_bits[] = {
-0x04, 0x0e, 0x0a, 0x0e, 0x0a, 0x1b};
-static unsigned char symbol8_66_bits[] = {
-0x07, 0x0a, 0x06, 0x0a, 0x0a, 0x07};
-static unsigned char symbol8_67_bits[] = {
-0x11, 0x0a, 0x04, 0x04, 0x0a, 0x11};
-static unsigned char symbol8_68_bits[] = {
-0x04, 0x0a, 0x0a, 0x11, 0x11, 0x1f};
-static unsigned char symbol8_69_bits[] = {
-0x0f, 0x02, 0x0e, 0x02, 0x02, 0x0f};
-static unsigned char symbol8_70_bits[] = {
-0x0e, 0x04, 0x15, 0x15, 0x04, 0x0e};
-static unsigned char symbol8_71_bits[] = {
-0x0f, 0x0a, 0x02, 0x02, 0x02, 0x03};
-static unsigned char symbol8_72_bits[] = {
-0x1b, 0x12, 0x1e, 0x12, 0x12, 0x1b};
-static unsigned char symbol8_73_bits[] = {
-0x03, 0x02, 0x02, 0x02, 0x02, 0x03};
-static unsigned char symbol8_74_bits[] = {
-0x06, 0x0a, 0x1c, 0x0b, 0x0a, 0x06};
-static unsigned char symbol8_75_bits[] = {
-0x1b, 0x0a, 0x06, 0x06, 0x0a, 0x1b};
-static unsigned char symbol8_76_bits[] = {
-0x04, 0x0c, 0x12, 0x12, 0x12, 0x33};
-static unsigned char symbol8_77_bits[] = {
-0x63, 0x22, 0x36, 0x2a, 0x2a, 0x6b};
-static unsigned char symbol8_78_bits[] = {
-0x1b, 0x12, 0x16, 0x1e, 0x1a, 0x13};
-static unsigned char symbol8_79_bits[] = {
-0x0e, 0x1b, 0x11, 0x11, 0x1b, 0x0e};
-static unsigned char symbol8_80_bits[] = {
-0x3f, 0x12, 0x12, 0x12, 0x12, 0x1b};
-static unsigned char symbol8_81_bits[] = {
-0x0e, 0x1b, 0x15, 0x15, 0x1b, 0x0e};
-static unsigned char symbol8_82_bits[] = {
-0x07, 0x0a, 0x0a, 0x06, 0x02, 0x07};
-static unsigned char symbol8_83_bits[] = {
-0x0f, 0x09, 0x02, 0x02, 0x09, 0x0f};
-static unsigned char symbol8_84_bits[] = {
-0x0f, 0x0a, 0x02, 0x02, 0x02, 0x06};
-static unsigned char symbol8_85_bits[] = {
-0x1b, 0x12, 0x0a, 0x04, 0x04, 0x0e};
-static unsigned char symbol8_86_bits[] = {
-0x06, 0x01, 0x01, 0x02, 0x04, 0x02};
-static unsigned char symbol8_87_bits[] = {
-0x04, 0x0a, 0x11, 0x11, 0x0a, 0x1b};
-static unsigned char symbol8_88_bits[] = {
-0x0e, 0x00, 0x0e, 0x00, 0x11, 0x1f};
-static unsigned char symbol8_89_bits[] = {
-0x6b, 0x2a, 0x2a, 0x3e, 0x08, 0x1c};
-static unsigned char symbol8_90_bits[] = {
-0x0f, 0x09, 0x04, 0x02, 0x09, 0x0f};
-static unsigned char symbol8_91_bits[] = {
-0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03};
-static unsigned char symbol8_92_bits[] = {
-0x02, 0x00, 0x00, 0x09};
-static unsigned char symbol8_93_bits[] = {
-0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03};
-static unsigned char symbol8_94_bits[] = {
-0x02, 0x02, 0x02, 0x02, 0x02, 0x0f};
-static unsigned char symbol8_95_bits[] = {
-0x0f};
-static unsigned char symbol8_96_bits[] = {
-0x1f};
-static unsigned char symbol8_97_bits[] = {
-0x0a, 0x0d, 0x05, 0x0a};
-static unsigned char symbol8_98_bits[] = {
-0x02, 0x05, 0x05, 0x03, 0x05, 0x05, 0x03, 0x01, 0x01};
-static unsigned char symbol8_99_bits[] = {
-0x0d, 0x05, 0x02, 0x02, 0x05, 0x0d};
-static unsigned char symbol8_100_bits[] = {
-0x02, 0x05, 0x01, 0x02, 0x05, 0x05, 0x03};
-static unsigned char symbol8_101_bits[] = {
-0x06, 0x07, 0x01, 0x06};
-static unsigned char symbol8_102_bits[] = {
-0x02, 0x02, 0x06, 0x0b, 0x0b, 0x06, 0x02, 0x02};
-static unsigned char symbol8_103_bits[] = {
-0x0a, 0x0b, 0x06, 0x04, 0x02, 0x02};
-static unsigned char symbol8_104_bits[] = {
-0x06, 0x0b, 0x0a, 0x0a, 0x08, 0x08};
-static unsigned char symbol8_105_bits[] = {
-0x03, 0x02, 0x02, 0x02};
-static unsigned char symbol8_106_bits[] = {
-0x05, 0x0b, 0x0b, 0x06, 0x02, 0x02};
-static unsigned char symbol8_107_bits[] = {
-0x0a, 0x0f, 0x06, 0x0a};
-static unsigned char symbol8_108_bits[] = {
-0x01, 0x03, 0x02, 0x04, 0x06, 0x09, 0x19};
-static unsigned char symbol8_109_bits[] = {
-0x05, 0x05, 0x05, 0x0b, 0x01, 0x03};
-static unsigned char symbol8_110_bits[] = {
-0x09, 0x09, 0x07, 0x02};
-static unsigned char symbol8_111_bits[] = {
-0x02, 0x05, 0x05, 0x02};
-static unsigned char symbol8_112_bits[] = {
-0x0f, 0x0a, 0x0a, 0x0b};
-static unsigned char symbol8_113_bits[] = {
-0x02, 0x05, 0x07, 0x05, 0x05, 0x02};
-static unsigned char symbol8_114_bits[] = {
-0x02, 0x05, 0x05, 0x03, 0x01, 0x01};
-static unsigned char symbol8_115_bits[] = {
-0x0e, 0x05, 0x05, 0x02};
-static unsigned char symbol8_116_bits[] = {
-0x07, 0x02, 0x02, 0x06};
-static unsigned char symbol8_117_bits[] = {
-0x0a, 0x0b, 0x0a, 0x06};
-static unsigned char symbol8_118_bits[] = {
-0x1f, 0x15, 0x15, 0x15, 0x1a};
-static unsigned char symbol8_119_bits[] = {
-0x11, 0x15, 0x15, 0x1a};
-static unsigned char symbol8_120_bits[] = {
-0x01, 0x07, 0x02, 0x06, 0x01, 0x01, 0x02, 0x04, 0x06};
-static unsigned char symbol8_121_bits[] = {
-0x15, 0x15, 0x15, 0x0e, 0x04, 0x04};
-static unsigned char symbol8_122_bits[] = {
-0x01, 0x07, 0x02, 0x01, 0x01, 0x01, 0x02, 0x04, 0x06};
-static unsigned char symbol8_123_bits[] = {
-0x04, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02, 0x02, 0x04};
-static unsigned char symbol8_124_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol8_125_bits[] = {
-0x01, 0x02, 0x02, 0x02, 0x04, 0x02, 0x02, 0x02, 0x01};
-static unsigned char symbol8_126_bits[] = {
-0x0a, 0x05};
-static unsigned char symbol8_127_bits[] = {
-0x00};
-static unsigned char symbol8_128_bits[] = {
-0x00};
-static unsigned char symbol8_129_bits[] = {
-0x00};
-static unsigned char symbol8_130_bits[] = {
-0x00};
-static unsigned char symbol8_131_bits[] = {
-0x00};
-static unsigned char symbol8_132_bits[] = {
-0x00};
-static unsigned char symbol8_133_bits[] = {
-0x00};
-static unsigned char symbol8_134_bits[] = {
-0x00};
-static unsigned char symbol8_135_bits[] = {
-0x00};
-static unsigned char symbol8_136_bits[] = {
-0x00};
-static unsigned char symbol8_137_bits[] = {
-0x00};
-static unsigned char symbol8_138_bits[] = {
-0x00};
-static unsigned char symbol8_139_bits[] = {
-0x00};
-static unsigned char symbol8_140_bits[] = {
-0x00};
-static unsigned char symbol8_141_bits[] = {
-0x00};
-static unsigned char symbol8_142_bits[] = {
-0x00};
-static unsigned char symbol8_143_bits[] = {
-0x00};
-static unsigned char symbol8_144_bits[] = {
-0x00};
-static unsigned char symbol8_145_bits[] = {
-0x00};
-static unsigned char symbol8_146_bits[] = {
-0x00};
-static unsigned char symbol8_147_bits[] = {
-0x00};
-static unsigned char symbol8_148_bits[] = {
-0x00};
-static unsigned char symbol8_149_bits[] = {
-0x00};
-static unsigned char symbol8_150_bits[] = {
-0x00};
-static unsigned char symbol8_151_bits[] = {
-0x00};
-static unsigned char symbol8_152_bits[] = {
-0x00};
-static unsigned char symbol8_153_bits[] = {
-0x00};
-static unsigned char symbol8_154_bits[] = {
-0x00};
-static unsigned char symbol8_155_bits[] = {
-0x00};
-static unsigned char symbol8_156_bits[] = {
-0x00};
-static unsigned char symbol8_157_bits[] = {
-0x00};
-static unsigned char symbol8_158_bits[] = {
-0x00};
-static unsigned char symbol8_159_bits[] = {
-0x00};
-static unsigned char symbol8_160_bits[] = {
-0x00};
-static unsigned char symbol8_161_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol8_162_bits[] = {
-0x00, 0x00, 0x00};
-static unsigned char symbol8_163_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol8_164_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol8_165_bits[] = {
-0x00, 0x00, 0x00};
-static unsigned char symbol8_166_bits[] = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol8_167_bits[] = {
-0x00, 0x09, 0x05, 0x02, 0x02, 0x02};
-static unsigned char symbol8_168_bits[] = {
-0x02, 0x02, 0x02, 0x01, 0x0c, 0x02};
-static unsigned char symbol8_169_bits[] = {
-0x01, 0x0e, 0x00, 0x0f, 0x08, 0x04};
-static unsigned char symbol8_170_bits[] = {
-0x04, 0x02, 0x02, 0x02, 0x01, 0x0a};
-static unsigned char symbol8_171_bits[] = {
-0x15, 0x0a, 0x0c, 0x02, 0x07};
-static unsigned char symbol8_172_bits[] = {
-0x02, 0x02, 0x02, 0x02, 0x01};
-static unsigned char symbol8_173_bits[] = {
-0x06, 0x06, 0x0f, 0x0f, 0x02, 0x02, 0x04, 0x0e, 0x1f, 0x0f, 0x06};
-static unsigned char symbol8_174_bits[] = {
-0x02, 0x12, 0x1b, 0x1f, 0x0f};
-static unsigned char symbol8_175_bits[] = {
-0x06, 0x02, 0x04, 0x06, 0x0f, 0x0f, 0x0a, 0x02, 0x04, 0x02};
-static unsigned char symbol8_176_bits[] = {
-0x07, 0x02, 0x04};
-static unsigned char symbol8_177_bits[] = {
-0x04, 0x02, 0x1f, 0x02, 0x04, 0x04};
-static unsigned char symbol8_178_bits[] = {
-0x0e, 0x05, 0x04};
-static unsigned char symbol8_179_bits[] = {
-0x04, 0x04, 0x04, 0x04, 0x04, 0x04};
-static unsigned char symbol8_180_bits[] = {
-0x04, 0x00, 0x00, 0x0f};
-static unsigned char symbol8_181_bits[] = {
-0x00, 0x00, 0x04};
-static unsigned char symbol8_182_bits[] = {
-0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05};
-static unsigned char symbol8_183_bits[] = {
-0x06, 0x04, 0x02};
-static unsigned char symbol8_184_bits[] = {
-0x05, 0x02, 0x04, 0x04, 0x0f};
-static unsigned char symbol8_185_bits[] = {
-0x04, 0x04, 0x0f, 0x0a, 0x0a, 0x05, 0x03};
-static unsigned char symbol8_186_bits[] = {
-0x04, 0x08, 0x07, 0x00, 0x0f};
-static unsigned char symbol8_187_bits[] = {
-0x09, 0x06, 0x06, 0x09, 0x0a};
-static unsigned char symbol8_188_bits[] = {
-0x05};
-static unsigned char symbol8_189_bits[] = {
-0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00};
-static unsigned char symbol8_190_bits[] = {
-0x06};
-static unsigned char symbol8_191_bits[] = {
-0x00, 0x0f, 0x00, 0x06, 0x04};
-static unsigned char symbol8_192_bits[] = {
-0x04, 0x0f, 0x04, 0x0f, 0x02, 0x02};
-static unsigned char symbol8_193_bits[] = {
-0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x0a, 0x05};
-static unsigned char symbol8_194_bits[] = {
-0x00, 0x0a, 0x05, 0x15, 0x01, 0x01, 0x01};
-static unsigned char symbol8_195_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol8_196_bits[] = {
-0x01, 0x1f, 0x10, 0x10, 0x12, 0x1f};
-static unsigned char symbol8_197_bits[] = {
-0x02, 0x1b, 0x12, 0x16, 0x1e, 0x1b};
-static unsigned char symbol8_198_bits[] = {
-0x13, 0x1e, 0x11, 0x09, 0x08, 0x10, 0x13, 0x1e};
-static unsigned char symbol8_199_bits[] = {
-0x1a, 0x05, 0x05, 0x1c};
-static unsigned char symbol8_200_bits[] = {
-0x14, 0x16, 0x13, 0x02};
-static unsigned char symbol8_201_bits[] = {
-0x19, 0x15, 0x13, 0x0e};
-static unsigned char symbol8_202_bits[] = {
-0x03, 0x02, 0x0e, 0x1b, 0x15, 0x15};
-static unsigned char symbol8_203_bits[] = {
-0x1b, 0x0e, 0x0e, 0x15, 0x1f, 0x15};
-static unsigned char symbol8_204_bits[] = {
-0x15, 0x0e, 0x10, 0x0e};
-static unsigned char symbol8_205_bits[] = {
-0x19, 0x15, 0x15, 0x13, 0x0e, 0x01};
-static unsigned char symbol8_206_bits[] = {
-0x0e, 0x01, 0x01, 0x01};
-static unsigned char symbol8_207_bits[] = {
-0x01, 0x01, 0x01, 0x0e, 0x0f, 0x00};
-static unsigned char symbol8_208_bits[] = {
-0x10, 0x0f, 0x0f, 0x10, 0x10};
-static unsigned char symbol8_209_bits[] = {
-0x0f, 0x00, 0x1f, 0x10, 0x1e, 0x09};
-static unsigned char symbol8_210_bits[] = {
-0x05, 0x1e, 0x02, 0x1e, 0x01, 0x01, 0x1e};
-static unsigned char symbol8_211_bits[] = {
-0x1e, 0x01, 0x01, 0x1e, 0x00, 0x1f, 0x0e};
-static unsigned char symbol8_212_bits[] = {
-0x0f, 0x01, 0x0e, 0x04};
-static unsigned char symbol8_213_bits[] = {
-0x0e, 0x0f, 0x03, 0x0e, 0x02, 0x10, 0x08, 0x04};
-static unsigned char symbol8_214_bits[] = {
-0x02, 0x1f, 0x1f, 0x11, 0x11, 0x0a, 0x0e, 0x04};
-static unsigned char symbol8_215_bits[] = {
-0x00};
-static unsigned char symbol8_216_bits[] = {
-0x13, 0x1d, 0x0d};
-static unsigned char symbol8_217_bits[] = {
-0x05, 0x03, 0x0e, 0x0e};
-static unsigned char symbol8_218_bits[] = {
-0x01, 0x0d, 0x05, 0x0d};
-static unsigned char symbol8_219_bits[] = {
-0x11, 0x0e, 0x3f, 0x5a};
-static unsigned char symbol8_220_bits[] = {
-0x5a, 0x5a, 0x3f, 0x12};
-static unsigned char symbol8_221_bits[] = {
-0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x00, 0x00};
-static unsigned char symbol8_222_bits[] = {
-0x08, 0x08, 0x05, 0x05};
-static unsigned char symbol8_223_bits[] = {
-0x02, 0x02, 0x01, 0x0f, 0x00, 0x00, 0x04, 0x0a};
-static unsigned char symbol8_224_bits[] = {
-0x09, 0x09, 0x09, 0x09, 0x05, 0x02};
-static unsigned char symbol8_225_bits[] = {
-0x00, 0x02, 0x03, 0x00, 0x00, 0x03, 0x02, 0x00};
-static unsigned char symbol8_226_bits[] = {
-0x02, 0x06, 0x0f, 0x06, 0x06, 0x06, 0x06};
-static unsigned char symbol8_227_bits[] = {
-0x06, 0x10, 0x1f, 0x1f, 0x10, 0x06, 0x06};
-static unsigned char symbol8_228_bits[] = {
-0x06, 0x06, 0x06, 0x0f};
-static unsigned char symbol8_229_bits[] = {
-0x06, 0x02, 0x04, 0x0a, 0x13, 0x13, 0x0a, 0x04};
-static unsigned char symbol8_230_bits[] = {
-0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x01, 0x01};
-static unsigned char symbol8_231_bits[] = {
-0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00};
-static unsigned char symbol8_232_bits[] = {
-0x03, 0x02, 0x02, 0x02, 0x03, 0x01, 0x02, 0x02, 0x00, 0x02, 0x01};
-static unsigned char symbol8_233_bits[] = {
-0x07, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol8_234_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol8_235_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol8_236_bits[] = {
-0x02, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol8_237_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol8_238_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol8_239_bits[] = {
-0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol8_240_bits[] = {
-0x00};
-static unsigned char symbol8_241_bits[] = {
-0x01, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02};
-static unsigned char symbol8_242_bits[] = {
-0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol8_243_bits[] = {
-0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol8_244_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol8_245_bits[] = {
-0x01, 0x01, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char symbol8_246_bits[] = {
-0x02, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol8_247_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol8_248_bits[] = {
-0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static unsigned char symbol8_249_bits[] = {
-0x03, 0x03, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char symbol8_250_bits[] = {
-0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol8_251_bits[] = {
-0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char symbol8_252_bits[] = {
-0x02, 0x01, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char symbol8_253_bits[] = {
-0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char symbol8_254_bits[] = {
-0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char symbol8_255_bits[] = {
-0x00};
-static RotFont symbol8font[] = {
-{5, 1, 1, symbol8_0_bits},
-{5, 1, 1, symbol8_1_bits},
-{5, 1, 1, symbol8_2_bits},
-{5, 1, 1, symbol8_3_bits},
-{5, 1, 1, symbol8_4_bits},
-{5, 1, 1, symbol8_5_bits},
-{5, 1, 1, symbol8_6_bits},
-{5, 1, 1, symbol8_7_bits},
-{5, 1, 1, symbol8_8_bits},
-{5, 1, 1, symbol8_9_bits},
-{5, 1, 1, symbol8_10_bits},
-{5, 1, 1, symbol8_11_bits},
-{5, 1, 1, symbol8_12_bits},
-{5, 1, 1, symbol8_13_bits},
-{5, 1, 1, symbol8_14_bits},
-{5, 1, 1, symbol8_15_bits},
-{5, 1, 1, symbol8_16_bits},
-{5, 1, 1, symbol8_17_bits},
-{5, 1, 1, symbol8_18_bits},
-{5, 1, 1, symbol8_19_bits},
-{5, 1, 1, symbol8_20_bits},
-{5, 1, 1, symbol8_21_bits},
-{5, 1, 1, symbol8_22_bits},
-{5, 1, 1, symbol8_23_bits},
-{5, 1, 1, symbol8_24_bits},
-{5, 1, 1, symbol8_25_bits},
-{5, 1, 1, symbol8_26_bits},
-{5, 1, 1, symbol8_27_bits},
-{5, 1, 1, symbol8_28_bits},
-{5, 1, 1, symbol8_29_bits},
-{5, 1, 1, symbol8_30_bits},
-{5, 1, 1, symbol8_31_bits},
-{1, 1, 1, symbol8_32_bits},
-{1, 6, 6, symbol8_33_bits},
-{5, 6, 6, symbol8_34_bits},
-{5, 6, 6, symbol8_35_bits},
-{4, 6, 6, symbol8_36_bits},
-{5, 5, 5, symbol8_37_bits},
-{5, 6, 6, symbol8_38_bits},
-{3, 4, 4, symbol8_39_bits},
-{2, 8, 6, symbol8_40_bits},
-{2, 8, 6, symbol8_41_bits},
-{3, 3, 5, symbol8_42_bits},
-{5, 5, 5, symbol8_43_bits},
-{2, 3, 1, symbol8_44_bits},
-{5, 1, 3, symbol8_45_bits},
-{1, 1, 1, symbol8_46_bits},
-{2, 6, 6, symbol8_47_bits},
-{3, 6, 6, symbol8_48_bits},
-{3, 6, 6, symbol8_49_bits},
-{3, 6, 6, symbol8_50_bits},
-{3, 6, 6, symbol8_51_bits},
-{4, 6, 6, symbol8_52_bits},
-{3, 6, 6, symbol8_53_bits},
-{3, 6, 6, symbol8_54_bits},
-{3, 6, 6, symbol8_55_bits},
-{3, 6, 6, symbol8_56_bits},
-{3, 6, 6, symbol8_57_bits},
-{1, 4, 4, symbol8_58_bits},
-{2, 6, 4, symbol8_59_bits},
-{5, 5, 5, symbol8_60_bits},
-{4, 3, 4, symbol8_61_bits},
-{5, 5, 5, symbol8_62_bits},
-{3, 6, 6, symbol8_63_bits},
-{4, 6, 6, symbol8_64_bits},
-{5, 6, 6, symbol8_65_bits},
-{4, 6, 6, symbol8_66_bits},
-{5, 6, 6, symbol8_67_bits},
-{5, 6, 6, symbol8_68_bits},
-{4, 6, 6, symbol8_69_bits},
-{5, 6, 6, symbol8_70_bits},
-{4, 6, 6, symbol8_71_bits},
-{5, 6, 6, symbol8_72_bits},
-{2, 6, 6, symbol8_73_bits},
-{5, 6, 6, symbol8_74_bits},
-{5, 6, 6, symbol8_75_bits},
-{6, 6, 6, symbol8_76_bits},
-{7, 6, 6, symbol8_77_bits},
-{5, 6, 6, symbol8_78_bits},
-{5, 6, 6, symbol8_79_bits},
-{6, 6, 6, symbol8_80_bits},
-{5, 6, 6, symbol8_81_bits},
-{4, 6, 6, symbol8_82_bits},
-{4, 6, 6, symbol8_83_bits},
-{4, 6, 6, symbol8_84_bits},
-{5, 6, 6, symbol8_85_bits},
-{3, 6, 4, symbol8_86_bits},
-{5, 6, 6, symbol8_87_bits},
-{5, 6, 6, symbol8_88_bits},
-{7, 6, 6, symbol8_89_bits},
-{4, 6, 6, symbol8_90_bits},
-{2, 8, 6, symbol8_91_bits},
-{4, 4, 4, symbol8_92_bits},
-{2, 8, 6, symbol8_93_bits},
-{4, 6, 6, symbol8_94_bits},
-{4, 1, -1, symbol8_95_bits},
-{5, 1, 8, symbol8_96_bits},
-{4, 4, 4, symbol8_97_bits},
-{3, 9, 7, symbol8_98_bits},
-{4, 6, 4, symbol8_99_bits},
-{3, 7, 7, symbol8_100_bits},
-{3, 4, 4, symbol8_101_bits},
-{4, 8, 6, symbol8_102_bits},
-{4, 6, 4, symbol8_103_bits},
-{4, 6, 4, symbol8_104_bits},
-{2, 4, 4, symbol8_105_bits},
-{4, 6, 4, symbol8_106_bits},
-{4, 4, 4, symbol8_107_bits},
-{5, 7, 7, symbol8_108_bits},
-{4, 6, 4, symbol8_109_bits},
-{4, 4, 4, symbol8_110_bits},
-{3, 4, 4, symbol8_111_bits},
-{4, 4, 4, symbol8_112_bits},
-{3, 6, 6, symbol8_113_bits},
-{3, 6, 4, symbol8_114_bits},
-{4, 4, 4, symbol8_115_bits},
-{3, 4, 4, symbol8_116_bits},
-{4, 4, 4, symbol8_117_bits},
-{5, 5, 5, symbol8_118_bits},
-{5, 4, 4, symbol8_119_bits},
-{3, 9, 7, symbol8_120_bits},
-{5, 6, 4, symbol8_121_bits},
-{3, 9, 7, symbol8_122_bits},
-{3, 9, 7, symbol8_123_bits},
-{1, 8, 6, symbol8_124_bits},
-{3, 9, 7, symbol8_125_bits},
-{4, 2, 3, symbol8_126_bits},
-{5, 1, 1, symbol8_127_bits},
-{5, 1, 1, symbol8_128_bits},
-{5, 1, 1, symbol8_129_bits},
-{5, 1, 1, symbol8_130_bits},
-{5, 1, 1, symbol8_131_bits},
-{5, 1, 1, symbol8_132_bits},
-{5, 1, 1, symbol8_133_bits},
-{5, 1, 1, symbol8_134_bits},
-{5, 1, 1, symbol8_135_bits},
-{5, 1, 1, symbol8_136_bits},
-{5, 1, 1, symbol8_137_bits},
-{5, 1, 1, symbol8_138_bits},
-{5, 1, 1, symbol8_139_bits},
-{5, 1, 1, symbol8_140_bits},
-{5, 1, 1, symbol8_141_bits},
-{5, 1, 1, symbol8_142_bits},
-{5, 1, 1, symbol8_143_bits},
-{5, 1, 1, symbol8_144_bits},
-{5, 1, 1, symbol8_145_bits},
-{5, 1, 1, symbol8_146_bits},
-{5, 1, 1, symbol8_147_bits},
-{5, 1, 1, symbol8_148_bits},
-{5, 1, 1, symbol8_149_bits},
-{5, 1, 1, symbol8_150_bits},
-{5, 1, 1, symbol8_151_bits},
-{5, 1, 1, symbol8_152_bits},
-{5, 1, 1, symbol8_153_bits},
-{5, 1, 1, symbol8_154_bits},
-{5, 1, 1, symbol8_155_bits},
-{5, 1, 1, symbol8_156_bits},
-{5, 1, 1, symbol8_157_bits},
-{5, 1, 1, symbol8_158_bits},
-{5, 1, 1, symbol8_159_bits},
-{5, 1, 1, symbol8_160_bits},
-{5, 6, 6, symbol8_161_bits},
-{2, 3, 7, symbol8_162_bits},
-{4, 6, 6, symbol8_163_bits},
-{4, 7, 7, symbol8_164_bits},
-{5, 3, 4, symbol8_165_bits},
-{4, 8, 6, symbol8_166_bits},
-{4, 6, 5, symbol8_167_bits},
-{5, 6, 5, symbol8_168_bits},
-{5, 6, 5, symbol8_169_bits},
-{4, 6, 6, symbol8_170_bits},
-{8, 5, 5, symbol8_171_bits},
-{8, 5, 5, symbol8_172_bits},
-{5, 11, 8, symbol8_173_bits},
-{8, 5, 5, symbol8_174_bits},
-{5, 10, 8, symbol8_175_bits},
-{3, 3, 6, symbol8_176_bits},
-{5, 6, 6, symbol8_177_bits},
-{4, 3, 7, symbol8_178_bits},
-{4, 6, 6, symbol8_179_bits},
-{4, 4, 4, symbol8_180_bits},
-{5, 3, 4, symbol8_181_bits},
-{3, 7, 7, symbol8_182_bits},
-{3, 3, 4, symbol8_183_bits},
-{4, 5, 5, symbol8_184_bits},
-{4, 7, 5, symbol8_185_bits},
-{4, 5, 5, symbol8_186_bits},
-{4, 5, 5, symbol8_187_bits},
-{5, 1, 1, symbol8_188_bits},
-{1, 11, 8, symbol8_189_bits},
-{8, 1, 3, symbol8_190_bits},
-{5, 5, 5, symbol8_191_bits},
-{5, 6, 6, symbol8_192_bits},
-{5, 7, 7, symbol8_193_bits},
-{6, 7, 7, symbol8_194_bits},
-{5, 7, 5, symbol8_195_bits},
-{5, 6, 6, symbol8_196_bits},
-{5, 6, 6, symbol8_197_bits},
-{5, 8, 7, symbol8_198_bits},
-{5, 4, 4, symbol8_199_bits},
-{5, 4, 4, symbol8_200_bits},
-{5, 4, 4, symbol8_201_bits},
-{5, 6, 4, symbol8_202_bits},
-{5, 6, 5, symbol8_203_bits},
-{5, 4, 4, symbol8_204_bits},
-{5, 6, 4, symbol8_205_bits},
-{4, 4, 4, symbol8_206_bits},
-{4, 6, 5, symbol8_207_bits},
-{5, 5, 5, symbol8_208_bits},
-{5, 6, 6, symbol8_209_bits},
-{5, 7, 6, symbol8_210_bits},
-{5, 7, 6, symbol8_211_bits},
-{8, 4, 6, symbol8_212_bits},
-{6, 8, 7, symbol8_213_bits},
-{5, 8, 8, symbol8_214_bits},
-{1, 1, 3, symbol8_215_bits},
-{5, 3, 3, symbol8_216_bits},
-{4, 4, 4, symbol8_217_bits},
-{4, 4, 4, symbol8_218_bits},
-{8, 4, 4, symbol8_219_bits},
-{7, 4, 4, symbol8_220_bits},
-{4, 8, 8, symbol8_221_bits},
-{7, 4, 4, symbol8_222_bits},
-{4, 8, 8, symbol8_223_bits},
-{5, 6, 6, symbol8_224_bits},
-{2, 8, 6, symbol8_225_bits},
-{5, 7, 6, symbol8_226_bits},
-{5, 7, 6, symbol8_227_bits},
-{6, 4, 6, symbol8_228_bits},
-{5, 8, 7, symbol8_229_bits},
-{2, 11, 8, symbol8_230_bits},
-{1, 11, 8, symbol8_231_bits},
-{2, 11, 8, symbol8_232_bits},
-{3, 11, 8, symbol8_233_bits},
-{1, 11, 8, symbol8_234_bits},
-{2, 11, 8, symbol8_235_bits},
-{2, 11, 8, symbol8_236_bits},
-{2, 11, 8, symbol8_237_bits},
-{2, 11, 8, symbol8_238_bits},
-{1, 11, 8, symbol8_239_bits},
-{5, 1, 1, symbol8_240_bits},
-{2, 8, 6, symbol8_241_bits},
-{3, 11, 8, symbol8_242_bits},
-{3, 11, 8, symbol8_243_bits},
-{1, 11, 8, symbol8_244_bits},
-{3, 11, 8, symbol8_245_bits},
-{2, 11, 8, symbol8_246_bits},
-{1, 11, 8, symbol8_247_bits},
-{2, 11, 8, symbol8_248_bits},
-{2, 11, 8, symbol8_249_bits},
-{1, 11, 8, symbol8_250_bits},
-{2, 11, 8, symbol8_251_bits},
-{2, 11, 8, symbol8_252_bits},
-{2, 11, 8, symbol8_253_bits},
-{2, 11, 8, symbol8_254_bits},
-{5, 1, 1, symbol8_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/times12.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/times12.h	(revision 38985)
+++ 	(revision )
@@ -1,792 +1,0 @@
-static unsigned char times12_0_bits[] = {
-0x00};
-static unsigned char times12_1_bits[] = {
-0x00};
-static unsigned char times12_2_bits[] = {
-0x00};
-static unsigned char times12_3_bits[] = {
-0x00};
-static unsigned char times12_4_bits[] = {
-0x00};
-static unsigned char times12_5_bits[] = {
-0x00};
-static unsigned char times12_6_bits[] = {
-0x00};
-static unsigned char times12_7_bits[] = {
-0x00};
-static unsigned char times12_8_bits[] = {
-0x00};
-static unsigned char times12_9_bits[] = {
-0x00};
-static unsigned char times12_10_bits[] = {
-0x00};
-static unsigned char times12_11_bits[] = {
-0x00};
-static unsigned char times12_12_bits[] = {
-0x00};
-static unsigned char times12_13_bits[] = {
-0x00};
-static unsigned char times12_14_bits[] = {
-0x00};
-static unsigned char times12_15_bits[] = {
-0x00};
-static unsigned char times12_16_bits[] = {
-0x00};
-static unsigned char times12_17_bits[] = {
-0x00};
-static unsigned char times12_18_bits[] = {
-0x00};
-static unsigned char times12_19_bits[] = {
-0x00};
-static unsigned char times12_20_bits[] = {
-0x00};
-static unsigned char times12_21_bits[] = {
-0x00};
-static unsigned char times12_22_bits[] = {
-0x00};
-static unsigned char times12_23_bits[] = {
-0x00};
-static unsigned char times12_24_bits[] = {
-0x00};
-static unsigned char times12_25_bits[] = {
-0x00};
-static unsigned char times12_26_bits[] = {
-0x00};
-static unsigned char times12_27_bits[] = {
-0x00};
-static unsigned char times12_28_bits[] = {
-0x00};
-static unsigned char times12_29_bits[] = {
-0x00};
-static unsigned char times12_30_bits[] = {
-0x00};
-static unsigned char times12_31_bits[] = {
-0x00};
-static unsigned char times12_32_bits[] = {
-0x00};
-static unsigned char times12_33_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01};
-static unsigned char times12_34_bits[] = {
-0x05, 0x05, 0x05};
-static unsigned char times12_35_bits[] = {
-0x0a, 0x0a, 0x1f, 0x0a, 0x0a, 0x1f, 0x0a, 0x0a};
-static unsigned char times12_36_bits[] = {
-0x04, 0x0e, 0x15, 0x05, 0x06, 0x0c, 0x14, 0x14, 0x15, 0x0e, 0x04};
-static unsigned char times12_37_bits[] = {
-0xc6, 0x79, 0x29, 0x16, 0x08, 0x6c, 0x94, 0x92, 0x62};
-static unsigned char times12_38_bits[] = {
-0x18, 0x00, 0x24, 0x00, 0x24, 0x00, 0xd8, 0x01, 0x9e, 0x00, 0x73, 0x00, 
-0x21, 0x00, 0x73, 0x01, 0xde, 0x00};
-static unsigned char times12_39_bits[] = {
-0x03, 0x02, 0x01};
-static unsigned char times12_40_bits[] = {
-0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x04};
-static unsigned char times12_41_bits[] = {
-0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01};
-static unsigned char times12_42_bits[] = {
-0x04, 0x15, 0x0e, 0x15, 0x04};
-static unsigned char times12_43_bits[] = {
-0x04, 0x04, 0x1f, 0x04, 0x04};
-static unsigned char times12_44_bits[] = {
-0x02, 0x02, 0x01};
-static unsigned char times12_45_bits[] = {
-0x1f};
-static unsigned char times12_46_bits[] = {
-0x01};
-static unsigned char times12_47_bits[] = {
-0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01};
-static unsigned char times12_48_bits[] = {
-0x0e, 0x1b, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1b, 0x0e};
-static unsigned char times12_49_bits[] = {
-0x04, 0x06, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x0e};
-static unsigned char times12_50_bits[] = {
-0x0e, 0x11, 0x10, 0x10, 0x08, 0x04, 0x02, 0x11, 0x1f};
-static unsigned char times12_51_bits[] = {
-0x0e, 0x11, 0x10, 0x08, 0x0e, 0x10, 0x10, 0x11, 0x0e};
-static unsigned char times12_52_bits[] = {
-0x08, 0x0c, 0x0c, 0x0a, 0x0a, 0x09, 0x1f, 0x08, 0x08};
-static unsigned char times12_53_bits[] = {
-0x1c, 0x02, 0x02, 0x0e, 0x18, 0x10, 0x10, 0x19, 0x0e};
-static unsigned char times12_54_bits[] = {
-0x18, 0x06, 0x02, 0x0f, 0x19, 0x11, 0x11, 0x13, 0x0e};
-static unsigned char times12_55_bits[] = {
-0x1f, 0x11, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02, 0x02};
-static unsigned char times12_56_bits[] = {
-0x0e, 0x11, 0x11, 0x13, 0x0e, 0x19, 0x11, 0x11, 0x0e};
-static unsigned char times12_57_bits[] = {
-0x0e, 0x19, 0x11, 0x11, 0x13, 0x1e, 0x08, 0x0c, 0x03};
-static unsigned char times12_58_bits[] = {
-0x01, 0x00, 0x00, 0x00, 0x00, 0x01};
-static unsigned char times12_59_bits[] = {
-0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x01};
-static unsigned char times12_60_bits[] = {
-0x30, 0x0c, 0x03, 0x0c, 0x30};
-static unsigned char times12_61_bits[] = {
-0x1f, 0x00, 0x1f};
-static unsigned char times12_62_bits[] = {
-0x03, 0x0c, 0x30, 0x0c, 0x03};
-static unsigned char times12_63_bits[] = {
-0x06, 0x09, 0x08, 0x04, 0x02, 0x02, 0x02, 0x00, 0x02};
-static unsigned char times12_64_bits[] = {
-0xf0, 0x00, 0x0c, 0x01, 0x06, 0x02, 0xb2, 0x02, 0x49, 0x02, 0x45, 0x02, 
-0x25, 0x01, 0x25, 0x01, 0xd9, 0x00, 0x02, 0x00, 0x7c, 0x00};
-static unsigned char times12_65_bits[] = {
-0x10, 0x00, 0x10, 0x00, 0x28, 0x00, 0x28, 0x00, 0x44, 0x00, 0x7c, 0x00, 
-0x44, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char times12_66_bits[] = {
-0x3f, 0x62, 0x42, 0x62, 0x3e, 0x42, 0x42, 0x62, 0x3f};
-static unsigned char times12_67_bits[] = {
-0x5c, 0x66, 0x42, 0x01, 0x01, 0x01, 0x42, 0x66, 0x3c};
-static unsigned char times12_68_bits[] = {
-0x3f, 0x62, 0x42, 0x82, 0x82, 0x82, 0x42, 0x62, 0x3f};
-static unsigned char times12_69_bits[] = {
-0x7f, 0x42, 0x02, 0x22, 0x3e, 0x22, 0x02, 0x42, 0x7f};
-static unsigned char times12_70_bits[] = {
-0x7f, 0x42, 0x02, 0x22, 0x3e, 0x22, 0x02, 0x02, 0x0f};
-static unsigned char times12_71_bits[] = {
-0x5c, 0x66, 0x42, 0x01, 0xe1, 0x41, 0x42, 0x66, 0x3c};
-static unsigned char times12_72_bits[] = {
-0xe7, 0x42, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0xe7};
-static unsigned char times12_73_bits[] = {
-0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times12_74_bits[] = {
-0x0e, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x03};
-static unsigned char times12_75_bits[] = {
-0x77, 0x22, 0x12, 0x0a, 0x0e, 0x1a, 0x32, 0x62, 0xe7};
-static unsigned char times12_76_bits[] = {
-0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x22, 0x3f};
-static unsigned char times12_77_bits[] = {
-0x03, 0x06, 0x06, 0x03, 0x06, 0x03, 0x8a, 0x02, 0x8a, 0x02, 0x52, 0x02, 
-0x52, 0x02, 0x22, 0x02, 0x27, 0x07};
-static unsigned char times12_78_bits[] = {
-0xc3, 0x01, 0x86, 0x00, 0x86, 0x00, 0x8a, 0x00, 0x92, 0x00, 0x92, 0x00, 
-0xa2, 0x00, 0xc2, 0x00, 0x87, 0x00};
-static unsigned char times12_79_bits[] = {
-0x3c, 0x66, 0x42, 0x81, 0x81, 0x81, 0x42, 0x66, 0x3c};
-static unsigned char times12_80_bits[] = {
-0x3f, 0x62, 0x42, 0x62, 0x3e, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times12_81_bits[] = {
-0x3c, 0x66, 0x42, 0x81, 0x81, 0x81, 0x42, 0x66, 0x3c, 0x30, 0xc0};
-static unsigned char times12_82_bits[] = {
-0x3f, 0x62, 0x42, 0x62, 0x3e, 0x12, 0x22, 0x42, 0xc7};
-static unsigned char times12_83_bits[] = {
-0x2e, 0x31, 0x21, 0x06, 0x1c, 0x30, 0x21, 0x33, 0x1d};
-static unsigned char times12_84_bits[] = {
-0x7f, 0x49, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x1c};
-static unsigned char times12_85_bits[] = {
-0xe7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x66, 0x3c};
-static unsigned char times12_86_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x44, 0x00, 0x44, 0x00, 0x28, 0x00, 0x28, 0x00, 
-0x38, 0x00, 0x10, 0x00, 0x10, 0x00};
-static unsigned char times12_87_bits[] = {
-0x77, 0x0e, 0x22, 0x04, 0x66, 0x04, 0x44, 0x02, 0xec, 0x02, 0xa8, 0x02, 
-0x98, 0x01, 0x10, 0x01, 0x10, 0x01};
-static unsigned char times12_88_bits[] = {
-0xe7, 0x42, 0x24, 0x1c, 0x18, 0x34, 0x24, 0x42, 0xe7};
-static unsigned char times12_89_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x44, 0x00, 0x48, 0x00, 0x38, 0x00, 0x10, 0x00, 
-0x10, 0x00, 0x10, 0x00, 0x38, 0x00};
-static unsigned char times12_90_bits[] = {
-0x7f, 0x61, 0x30, 0x18, 0x0c, 0x06, 0x03, 0x41, 0x7f};
-static unsigned char times12_91_bits[] = {
-0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x07};
-static unsigned char times12_92_bits[] = {
-0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x04};
-static unsigned char times12_93_bits[] = {
-0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07};
-static unsigned char times12_94_bits[] = {
-0x04, 0x0a, 0x0a, 0x11, 0x11};
-static unsigned char times12_95_bits[] = {
-0x3f};
-static unsigned char times12_96_bits[] = {
-0x02, 0x01, 0x03};
-static unsigned char times12_97_bits[] = {
-0x06, 0x09, 0x0e, 0x09, 0x09, 0x16};
-static unsigned char times12_98_bits[] = {
-0x03, 0x02, 0x02, 0x0e, 0x12, 0x12, 0x12, 0x12, 0x0e};
-static unsigned char times12_99_bits[] = {
-0x06, 0x09, 0x01, 0x01, 0x09, 0x06};
-static unsigned char times12_100_bits[] = {
-0x0c, 0x08, 0x08, 0x0e, 0x09, 0x09, 0x09, 0x09, 0x16};
-static unsigned char times12_101_bits[] = {
-0x06, 0x09, 0x0f, 0x01, 0x13, 0x0e};
-static unsigned char times12_102_bits[] = {
-0x04, 0x02, 0x02, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02};
-static unsigned char times12_103_bits[] = {
-0x1e, 0x09, 0x09, 0x07, 0x02, 0x0e, 0x11, 0x11, 0x0e};
-static unsigned char times12_104_bits[] = {
-0x03, 0x02, 0x02, 0x0e, 0x12, 0x12, 0x12, 0x12, 0x37};
-static unsigned char times12_105_bits[] = {
-0x02, 0x00, 0x00, 0x03, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times12_106_bits[] = {
-0x02, 0x00, 0x00, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01};
-static unsigned char times12_107_bits[] = {
-0x03, 0x02, 0x02, 0x12, 0x0a, 0x06, 0x0a, 0x12, 0x32};
-static unsigned char times12_108_bits[] = {
-0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times12_109_bits[] = {
-0x6d, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 0xb7, 0x01};
-static unsigned char times12_110_bits[] = {
-0x0d, 0x12, 0x12, 0x12, 0x12, 0x37};
-static unsigned char times12_111_bits[] = {
-0x06, 0x09, 0x09, 0x09, 0x09, 0x06};
-static unsigned char times12_112_bits[] = {
-0x0f, 0x12, 0x12, 0x12, 0x12, 0x0e, 0x02, 0x02, 0x07};
-static unsigned char times12_113_bits[] = {
-0x0e, 0x09, 0x09, 0x09, 0x09, 0x0e, 0x08, 0x08, 0x1c};
-static unsigned char times12_114_bits[] = {
-0x0d, 0x06, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times12_115_bits[] = {
-0x0e, 0x09, 0x03, 0x0c, 0x09, 0x07};
-static unsigned char times12_116_bits[] = {
-0x02, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x0c};
-static unsigned char times12_117_bits[] = {
-0x1b, 0x12, 0x12, 0x12, 0x12, 0x2c};
-static unsigned char times12_118_bits[] = {
-0x33, 0x12, 0x1a, 0x0a, 0x0c, 0x04};
-static unsigned char times12_119_bits[] = {
-0xb7, 0x01, 0x92, 0x00, 0xd6, 0x00, 0x54, 0x00, 0x2c, 0x00, 0x24, 0x00};
-static unsigned char times12_120_bits[] = {
-0x1b, 0x0a, 0x04, 0x04, 0x0a, 0x1b};
-static unsigned char times12_121_bits[] = {
-0x33, 0x12, 0x1a, 0x0a, 0x0c, 0x04, 0x04, 0x02, 0x03};
-static unsigned char times12_122_bits[] = {
-0x0f, 0x09, 0x04, 0x02, 0x09, 0x0f};
-static unsigned char times12_123_bits[] = {
-0x0c, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0c};
-static unsigned char times12_124_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char times12_125_bits[] = {
-0x03, 0x04, 0x04, 0x04, 0x04, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03};
-static unsigned char times12_126_bits[] = {
-0x26, 0x19};
-static unsigned char times12_127_bits[] = {
-0x00};
-static unsigned char times12_128_bits[] = {
-0x00};
-static unsigned char times12_129_bits[] = {
-0x00};
-static unsigned char times12_130_bits[] = {
-0x00};
-static unsigned char times12_131_bits[] = {
-0x00};
-static unsigned char times12_132_bits[] = {
-0x00};
-static unsigned char times12_133_bits[] = {
-0x00};
-static unsigned char times12_134_bits[] = {
-0x00};
-static unsigned char times12_135_bits[] = {
-0x00};
-static unsigned char times12_136_bits[] = {
-0x00};
-static unsigned char times12_137_bits[] = {
-0x00};
-static unsigned char times12_138_bits[] = {
-0x00};
-static unsigned char times12_139_bits[] = {
-0x00};
-static unsigned char times12_140_bits[] = {
-0x00};
-static unsigned char times12_141_bits[] = {
-0x00};
-static unsigned char times12_142_bits[] = {
-0x00};
-static unsigned char times12_143_bits[] = {
-0x00};
-static unsigned char times12_144_bits[] = {
-0x00};
-static unsigned char times12_145_bits[] = {
-0x00};
-static unsigned char times12_146_bits[] = {
-0x00};
-static unsigned char times12_147_bits[] = {
-0x00};
-static unsigned char times12_148_bits[] = {
-0x00};
-static unsigned char times12_149_bits[] = {
-0x00};
-static unsigned char times12_150_bits[] = {
-0x00};
-static unsigned char times12_151_bits[] = {
-0x00};
-static unsigned char times12_152_bits[] = {
-0x00};
-static unsigned char times12_153_bits[] = {
-0x00};
-static unsigned char times12_154_bits[] = {
-0x00};
-static unsigned char times12_155_bits[] = {
-0x00};
-static unsigned char times12_156_bits[] = {
-0x00};
-static unsigned char times12_157_bits[] = {
-0x00};
-static unsigned char times12_158_bits[] = {
-0x00};
-static unsigned char times12_159_bits[] = {
-0x00};
-static unsigned char times12_160_bits[] = {
-0x00};
-static unsigned char times12_161_bits[] = {
-0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char times12_162_bits[] = {
-0x10, 0x0e, 0x19, 0x05, 0x05, 0x13, 0x0e, 0x01};
-static unsigned char times12_163_bits[] = {
-0x0c, 0x12, 0x02, 0x02, 0x0f, 0x02, 0x02, 0x17, 0x1b};
-static unsigned char times12_164_bits[] = {
-0x21, 0x1e, 0x12, 0x12, 0x12, 0x1e, 0x21};
-static unsigned char times12_165_bits[] = {
-0x11, 0x11, 0x0a, 0x0a, 0x1f, 0x04, 0x1f, 0x04, 0x0e};
-static unsigned char times12_166_bits[] = {
-0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01};
-static unsigned char times12_167_bits[] = {
-0x0e, 0x09, 0x03, 0x06, 0x0d, 0x09, 0x09, 0x0b, 0x06, 0x0c, 0x09, 0x07};
-static unsigned char times12_168_bits[] = {
-0x05};
-static unsigned char times12_169_bits[] = {
-0x38, 0x00, 0xc6, 0x00, 0xba, 0x00, 0x25, 0x01, 0x05, 0x01, 0x25, 0x01, 
-0xba, 0x00, 0xc6, 0x00, 0x38, 0x00};
-static unsigned char times12_170_bits[] = {
-0x03, 0x04, 0x07, 0x05, 0x00, 0x07};
-static unsigned char times12_171_bits[] = {
-0x14, 0x0a, 0x05, 0x0a, 0x14};
-static unsigned char times12_172_bits[] = {
-0x3f, 0x20, 0x20, 0x20};
-static unsigned char times12_173_bits[] = {
-0x0f};
-static unsigned char times12_174_bits[] = {
-0x38, 0x00, 0xc6, 0x00, 0xba, 0x00, 0x49, 0x01, 0x39, 0x01, 0x29, 0x01, 
-0xab, 0x00, 0xc6, 0x00, 0x3c, 0x00};
-static unsigned char times12_175_bits[] = {
-0x0f};
-static unsigned char times12_176_bits[] = {
-0x06, 0x09, 0x09, 0x06};
-static unsigned char times12_177_bits[] = {
-0x04, 0x04, 0x1f, 0x04, 0x04, 0x00, 0x1f};
-static unsigned char times12_178_bits[] = {
-0x06, 0x09, 0x04, 0x02, 0x0f};
-static unsigned char times12_179_bits[] = {
-0x07, 0x04, 0x02, 0x04, 0x03};
-static unsigned char times12_180_bits[] = {
-0x02, 0x01};
-static unsigned char times12_181_bits[] = {
-0x1b, 0x12, 0x12, 0x12, 0x12, 0x2e, 0x02, 0x02, 0x06};
-static unsigned char times12_182_bits[] = {
-0x3e, 0x17, 0x17, 0x17, 0x17, 0x16, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14};
-static unsigned char times12_183_bits[] = {
-0x01};
-static unsigned char times12_184_bits[] = {
-0x02, 0x04, 0x07};
-static unsigned char times12_185_bits[] = {
-0x02, 0x03, 0x02, 0x02, 0x07};
-static unsigned char times12_186_bits[] = {
-0x02, 0x05, 0x05, 0x02, 0x00, 0x07};
-static unsigned char times12_187_bits[] = {
-0x05, 0x0a, 0x14, 0x0a, 0x05};
-static unsigned char times12_188_bits[] = {
-0x42, 0x00, 0x23, 0x00, 0x22, 0x00, 0x12, 0x00, 0x97, 0x00, 0xc8, 0x00, 
-0xa8, 0x00, 0xe4, 0x01, 0x84, 0x00};
-static unsigned char times12_189_bits[] = {
-0x42, 0x00, 0x23, 0x00, 0x22, 0x00, 0x12, 0x00, 0xd7, 0x00, 0x28, 0x01, 
-0x88, 0x00, 0x44, 0x00, 0xe4, 0x01};
-static unsigned char times12_190_bits[] = {
-0x47, 0x00, 0x24, 0x00, 0x22, 0x00, 0x14, 0x00, 0x93, 0x00, 0xc8, 0x00, 
-0xa8, 0x00, 0xe4, 0x01, 0x84, 0x00};
-static unsigned char times12_191_bits[] = {
-0x04, 0x00, 0x04, 0x04, 0x04, 0x02, 0x01, 0x09, 0x06};
-static unsigned char times12_192_bits[] = {
-0x08, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x44, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char times12_193_bits[] = {
-0x20, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x44, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char times12_194_bits[] = {
-0x10, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x44, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char times12_195_bits[] = {
-0x50, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x44, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char times12_196_bits[] = {
-0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x28, 0x00, 0x28, 0x00, 
-0x44, 0x00, 0x7c, 0x00, 0x44, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char times12_197_bits[] = {
-0x10, 0x00, 0x28, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x44, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char times12_198_bits[] = {
-0xfc, 0x03, 0x18, 0x02, 0x14, 0x00, 0x14, 0x01, 0xf2, 0x01, 0x1e, 0x01, 
-0x12, 0x00, 0x11, 0x02, 0xf3, 0x03};
-static unsigned char times12_199_bits[] = {
-0x5c, 0x66, 0x42, 0x01, 0x01, 0x01, 0x42, 0x66, 0x3c, 0x08, 0x10, 0x1c};
-static unsigned char times12_200_bits[] = {
-0x04, 0x08, 0x00, 0x7f, 0x42, 0x02, 0x22, 0x3e, 0x22, 0x02, 0x42, 0x7f};
-static unsigned char times12_201_bits[] = {
-0x10, 0x08, 0x00, 0x7f, 0x42, 0x02, 0x22, 0x3e, 0x22, 0x02, 0x42, 0x7f};
-static unsigned char times12_202_bits[] = {
-0x08, 0x14, 0x00, 0x7f, 0x42, 0x02, 0x22, 0x3e, 0x22, 0x02, 0x42, 0x7f};
-static unsigned char times12_203_bits[] = {
-0x14, 0x00, 0x7f, 0x42, 0x02, 0x22, 0x3e, 0x22, 0x02, 0x42, 0x7f};
-static unsigned char times12_204_bits[] = {
-0x01, 0x02, 0x00, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times12_205_bits[] = {
-0x04, 0x02, 0x00, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times12_206_bits[] = {
-0x02, 0x05, 0x00, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times12_207_bits[] = {
-0x05, 0x00, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times12_208_bits[] = {
-0x3f, 0x62, 0x42, 0x82, 0x87, 0x82, 0x42, 0x62, 0x3f};
-static unsigned char times12_209_bits[] = {
-0x50, 0x00, 0x28, 0x00, 0x00, 0x00, 0xc3, 0x01, 0x86, 0x00, 0x86, 0x00, 
-0x8a, 0x00, 0x92, 0x00, 0x92, 0x00, 0xa2, 0x00, 0xc2, 0x00, 0x87, 0x00};
-static unsigned char times12_210_bits[] = {
-0x04, 0x08, 0x00, 0x3c, 0x66, 0x42, 0x81, 0x81, 0x81, 0x42, 0x66, 0x3c};
-static unsigned char times12_211_bits[] = {
-0x20, 0x10, 0x00, 0x3c, 0x66, 0x42, 0x81, 0x81, 0x81, 0x42, 0x66, 0x3c};
-static unsigned char times12_212_bits[] = {
-0x08, 0x14, 0x00, 0x3c, 0x66, 0x42, 0x81, 0x81, 0x81, 0x42, 0x66, 0x3c};
-static unsigned char times12_213_bits[] = {
-0x28, 0x14, 0x00, 0x3c, 0x66, 0x42, 0x81, 0x81, 0x81, 0x42, 0x66, 0x3c};
-static unsigned char times12_214_bits[] = {
-0x24, 0x00, 0x3c, 0x66, 0x42, 0x81, 0x81, 0x81, 0x42, 0x66, 0x3c};
-static unsigned char times12_215_bits[] = {
-0x11, 0x0a, 0x04, 0x0a, 0x11};
-static unsigned char times12_216_bits[] = {
-0x00, 0x01, 0xbc, 0x00, 0x66, 0x00, 0x62, 0x00, 0x91, 0x00, 0x91, 0x00, 
-0x89, 0x00, 0x46, 0x00, 0x66, 0x00, 0x3d, 0x00};
-static unsigned char times12_217_bits[] = {
-0x08, 0x10, 0x00, 0xe7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x66, 0x3c};
-static unsigned char times12_218_bits[] = {
-0x20, 0x10, 0x00, 0xe7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x66, 0x3c};
-static unsigned char times12_219_bits[] = {
-0x08, 0x14, 0x00, 0xe7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x66, 0x3c};
-static unsigned char times12_220_bits[] = {
-0x24, 0x00, 0xe7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x66, 0x3c};
-static unsigned char times12_221_bits[] = {
-0x20, 0x00, 0x10, 0x00, 0x00, 0x00, 0xc7, 0x01, 0x82, 0x00, 0x44, 0x00, 
-0x48, 0x00, 0x38, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x38, 0x00};
-static unsigned char times12_222_bits[] = {
-0x07, 0x02, 0x3e, 0x62, 0x42, 0x62, 0x3e, 0x02, 0x07};
-static unsigned char times12_223_bits[] = {
-0x0c, 0x12, 0x12, 0x0a, 0x0e, 0x12, 0x22, 0x22, 0x1b};
-static unsigned char times12_224_bits[] = {
-0x02, 0x04, 0x00, 0x06, 0x09, 0x0e, 0x09, 0x09, 0x16};
-static unsigned char times12_225_bits[] = {
-0x08, 0x04, 0x00, 0x06, 0x09, 0x0e, 0x09, 0x09, 0x16};
-static unsigned char times12_226_bits[] = {
-0x04, 0x0a, 0x00, 0x06, 0x09, 0x0e, 0x09, 0x09, 0x16};
-static unsigned char times12_227_bits[] = {
-0x0a, 0x05, 0x00, 0x06, 0x09, 0x0e, 0x09, 0x09, 0x16};
-static unsigned char times12_228_bits[] = {
-0x0a, 0x00, 0x06, 0x09, 0x0e, 0x09, 0x09, 0x16};
-static unsigned char times12_229_bits[] = {
-0x04, 0x0a, 0x04, 0x06, 0x09, 0x0e, 0x09, 0x09, 0x16};
-static unsigned char times12_230_bits[] = {
-0x36, 0x49, 0x7e, 0x09, 0x99, 0x76};
-static unsigned char times12_231_bits[] = {
-0x06, 0x09, 0x01, 0x01, 0x09, 0x06, 0x02, 0x04, 0x07};
-static unsigned char times12_232_bits[] = {
-0x02, 0x04, 0x00, 0x06, 0x09, 0x0f, 0x01, 0x13, 0x0e};
-static unsigned char times12_233_bits[] = {
-0x04, 0x02, 0x00, 0x06, 0x09, 0x0f, 0x01, 0x13, 0x0e};
-static unsigned char times12_234_bits[] = {
-0x04, 0x0a, 0x00, 0x06, 0x09, 0x0f, 0x01, 0x13, 0x0e};
-static unsigned char times12_235_bits[] = {
-0x0a, 0x00, 0x06, 0x09, 0x0f, 0x01, 0x13, 0x0e};
-static unsigned char times12_236_bits[] = {
-0x01, 0x02, 0x00, 0x03, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times12_237_bits[] = {
-0x02, 0x01, 0x00, 0x03, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times12_238_bits[] = {
-0x02, 0x05, 0x00, 0x03, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times12_239_bits[] = {
-0x05, 0x00, 0x03, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times12_240_bits[] = {
-0x02, 0x0e, 0x05, 0x0e, 0x09, 0x09, 0x09, 0x09, 0x06};
-static unsigned char times12_241_bits[] = {
-0x14, 0x0a, 0x00, 0x0d, 0x12, 0x12, 0x12, 0x12, 0x37};
-static unsigned char times12_242_bits[] = {
-0x02, 0x04, 0x00, 0x06, 0x09, 0x09, 0x09, 0x09, 0x06};
-static unsigned char times12_243_bits[] = {
-0x04, 0x02, 0x00, 0x06, 0x09, 0x09, 0x09, 0x09, 0x06};
-static unsigned char times12_244_bits[] = {
-0x04, 0x0a, 0x00, 0x06, 0x09, 0x09, 0x09, 0x09, 0x06};
-static unsigned char times12_245_bits[] = {
-0x0a, 0x05, 0x00, 0x06, 0x09, 0x09, 0x09, 0x09, 0x06};
-static unsigned char times12_246_bits[] = {
-0x05, 0x00, 0x06, 0x09, 0x09, 0x09, 0x09, 0x06};
-static unsigned char times12_247_bits[] = {
-0x04, 0x00, 0x1f, 0x00, 0x04};
-static unsigned char times12_248_bits[] = {
-0x2c, 0x12, 0x12, 0x12, 0x12, 0x0e, 0x01};
-static unsigned char times12_249_bits[] = {
-0x04, 0x08, 0x00, 0x1b, 0x12, 0x12, 0x12, 0x12, 0x2c};
-static unsigned char times12_250_bits[] = {
-0x08, 0x04, 0x00, 0x1b, 0x12, 0x12, 0x12, 0x12, 0x2c};
-static unsigned char times12_251_bits[] = {
-0x04, 0x0a, 0x00, 0x1b, 0x12, 0x12, 0x12, 0x12, 0x2c};
-static unsigned char times12_252_bits[] = {
-0x0a, 0x00, 0x1b, 0x12, 0x12, 0x12, 0x12, 0x2c};
-static unsigned char times12_253_bits[] = {
-0x10, 0x08, 0x00, 0x33, 0x12, 0x1a, 0x0a, 0x0c, 0x04, 0x04, 0x02, 0x03};
-static unsigned char times12_254_bits[] = {
-0x03, 0x02, 0x02, 0x0e, 0x12, 0x12, 0x12, 0x12, 0x0e, 0x02, 0x02, 0x07};
-static unsigned char times12_255_bits[] = {
-0x12, 0x00, 0x33, 0x12, 0x1a, 0x0a, 0x0c, 0x04, 0x04, 0x02, 0x03};
-static RotFont times12font[] = {
-{5, 1, 1, times12_0_bits},
-{5, 1, 1, times12_1_bits},
-{5, 1, 1, times12_2_bits},
-{5, 1, 1, times12_3_bits},
-{5, 1, 1, times12_4_bits},
-{5, 1, 1, times12_5_bits},
-{5, 1, 1, times12_6_bits},
-{5, 1, 1, times12_7_bits},
-{5, 1, 1, times12_8_bits},
-{5, 1, 1, times12_9_bits},
-{5, 1, 1, times12_10_bits},
-{5, 1, 1, times12_11_bits},
-{5, 1, 1, times12_12_bits},
-{5, 1, 1, times12_13_bits},
-{5, 1, 1, times12_14_bits},
-{5, 1, 1, times12_15_bits},
-{5, 1, 1, times12_16_bits},
-{5, 1, 1, times12_17_bits},
-{5, 1, 1, times12_18_bits},
-{5, 1, 1, times12_19_bits},
-{5, 1, 1, times12_20_bits},
-{5, 1, 1, times12_21_bits},
-{5, 1, 1, times12_22_bits},
-{5, 1, 1, times12_23_bits},
-{5, 1, 1, times12_24_bits},
-{5, 1, 1, times12_25_bits},
-{5, 1, 1, times12_26_bits},
-{5, 1, 1, times12_27_bits},
-{5, 1, 1, times12_28_bits},
-{5, 1, 1, times12_29_bits},
-{5, 1, 1, times12_30_bits},
-{5, 1, 1, times12_31_bits},
-{5, 1, 1, times12_32_bits},
-{1, 9, 9, times12_33_bits},
-{3, 3, 9, times12_34_bits},
-{5, 8, 8, times12_35_bits},
-{5, 11, 10, times12_36_bits},
-{8, 9, 9, times12_37_bits},
-{9, 9, 9, times12_38_bits},
-{2, 3, 9, times12_39_bits},
-{3, 12, 9, times12_40_bits},
-{3, 12, 9, times12_41_bits},
-{5, 5, 9, times12_42_bits},
-{5, 5, 6, times12_43_bits},
-{2, 3, 1, times12_44_bits},
-{5, 1, 4, times12_45_bits},
-{1, 1, 1, times12_46_bits},
-{3, 9, 9, times12_47_bits},
-{5, 9, 9, times12_48_bits},
-{4, 9, 9, times12_49_bits},
-{5, 9, 9, times12_50_bits},
-{5, 9, 9, times12_51_bits},
-{5, 9, 9, times12_52_bits},
-{5, 9, 9, times12_53_bits},
-{5, 9, 9, times12_54_bits},
-{5, 9, 9, times12_55_bits},
-{5, 9, 9, times12_56_bits},
-{5, 9, 9, times12_57_bits},
-{1, 6, 6, times12_58_bits},
-{2, 8, 6, times12_59_bits},
-{6, 5, 6, times12_60_bits},
-{5, 3, 5, times12_61_bits},
-{6, 5, 6, times12_62_bits},
-{4, 9, 9, times12_63_bits},
-{10, 11, 9, times12_64_bits},
-{9, 9, 9, times12_65_bits},
-{7, 9, 9, times12_66_bits},
-{7, 9, 9, times12_67_bits},
-{8, 9, 9, times12_68_bits},
-{7, 9, 9, times12_69_bits},
-{7, 9, 9, times12_70_bits},
-{8, 9, 9, times12_71_bits},
-{8, 9, 9, times12_72_bits},
-{3, 9, 9, times12_73_bits},
-{4, 9, 9, times12_74_bits},
-{8, 9, 9, times12_75_bits},
-{6, 9, 9, times12_76_bits},
-{11, 9, 9, times12_77_bits},
-{9, 9, 9, times12_78_bits},
-{8, 9, 9, times12_79_bits},
-{7, 9, 9, times12_80_bits},
-{8, 11, 9, times12_81_bits},
-{8, 9, 9, times12_82_bits},
-{6, 9, 9, times12_83_bits},
-{7, 9, 9, times12_84_bits},
-{8, 9, 9, times12_85_bits},
-{9, 9, 9, times12_86_bits},
-{12, 9, 9, times12_87_bits},
-{8, 9, 9, times12_88_bits},
-{9, 9, 9, times12_89_bits},
-{7, 9, 9, times12_90_bits},
-{3, 12, 9, times12_91_bits},
-{3, 9, 9, times12_92_bits},
-{3, 12, 9, times12_93_bits},
-{5, 5, 9, times12_94_bits},
-{6, 1, -2, times12_95_bits},
-{2, 3, 9, times12_96_bits},
-{5, 6, 6, times12_97_bits},
-{5, 9, 9, times12_98_bits},
-{4, 6, 6, times12_99_bits},
-{5, 9, 9, times12_100_bits},
-{5, 6, 6, times12_101_bits},
-{3, 9, 9, times12_102_bits},
-{5, 9, 6, times12_103_bits},
-{6, 9, 9, times12_104_bits},
-{3, 9, 9, times12_105_bits},
-{2, 12, 9, times12_106_bits},
-{6, 9, 9, times12_107_bits},
-{3, 9, 9, times12_108_bits},
-{9, 6, 6, times12_109_bits},
-{6, 6, 6, times12_110_bits},
-{4, 6, 6, times12_111_bits},
-{5, 9, 6, times12_112_bits},
-{5, 9, 6, times12_113_bits},
-{4, 6, 6, times12_114_bits},
-{4, 6, 6, times12_115_bits},
-{4, 7, 7, times12_116_bits},
-{6, 6, 6, times12_117_bits},
-{6, 6, 6, times12_118_bits},
-{9, 6, 6, times12_119_bits},
-{5, 6, 6, times12_120_bits},
-{6, 9, 6, times12_121_bits},
-{4, 6, 6, times12_122_bits},
-{4, 12, 9, times12_123_bits},
-{1, 9, 9, times12_124_bits},
-{4, 12, 9, times12_125_bits},
-{6, 2, 5, times12_126_bits},
-{5, 1, 1, times12_127_bits},
-{5, 1, 1, times12_128_bits},
-{5, 1, 1, times12_129_bits},
-{5, 1, 1, times12_130_bits},
-{5, 1, 1, times12_131_bits},
-{5, 1, 1, times12_132_bits},
-{5, 1, 1, times12_133_bits},
-{5, 1, 1, times12_134_bits},
-{5, 1, 1, times12_135_bits},
-{5, 1, 1, times12_136_bits},
-{5, 1, 1, times12_137_bits},
-{5, 1, 1, times12_138_bits},
-{5, 1, 1, times12_139_bits},
-{5, 1, 1, times12_140_bits},
-{5, 1, 1, times12_141_bits},
-{5, 1, 1, times12_142_bits},
-{5, 1, 1, times12_143_bits},
-{5, 1, 1, times12_144_bits},
-{5, 1, 1, times12_145_bits},
-{5, 1, 1, times12_146_bits},
-{5, 1, 1, times12_147_bits},
-{5, 1, 1, times12_148_bits},
-{5, 1, 1, times12_149_bits},
-{5, 1, 1, times12_150_bits},
-{5, 1, 1, times12_151_bits},
-{5, 1, 1, times12_152_bits},
-{5, 1, 1, times12_153_bits},
-{5, 1, 1, times12_154_bits},
-{5, 1, 1, times12_155_bits},
-{5, 1, 1, times12_156_bits},
-{5, 1, 1, times12_157_bits},
-{5, 1, 1, times12_158_bits},
-{5, 1, 1, times12_159_bits},
-{1, 1, 1, times12_160_bits},
-{1, 9, 6, times12_161_bits},
-{5, 8, 7, times12_162_bits},
-{5, 9, 9, times12_163_bits},
-{6, 7, 8, times12_164_bits},
-{5, 9, 9, times12_165_bits},
-{1, 9, 9, times12_166_bits},
-{4, 12, 9, times12_167_bits},
-{3, 1, 8, times12_168_bits},
-{9, 9, 9, times12_169_bits},
-{3, 6, 9, times12_170_bits},
-{5, 5, 5, times12_171_bits},
-{6, 4, 5, times12_172_bits},
-{4, 1, 4, times12_173_bits},
-{9, 9, 9, times12_174_bits},
-{4, 1, 8, times12_175_bits},
-{4, 4, 9, times12_176_bits},
-{5, 7, 7, times12_177_bits},
-{4, 5, 9, times12_178_bits},
-{3, 5, 9, times12_179_bits},
-{2, 2, 9, times12_180_bits},
-{6, 9, 6, times12_181_bits},
-{6, 12, 9, times12_182_bits},
-{1, 1, 4, times12_183_bits},
-{3, 3, 0, times12_184_bits},
-{3, 5, 9, times12_185_bits},
-{3, 6, 9, times12_186_bits},
-{5, 5, 5, times12_187_bits},
-{9, 9, 9, times12_188_bits},
-{9, 9, 9, times12_189_bits},
-{9, 9, 9, times12_190_bits},
-{4, 9, 6, times12_191_bits},
-{9, 12, 12, times12_192_bits},
-{9, 12, 12, times12_193_bits},
-{9, 12, 12, times12_194_bits},
-{9, 12, 12, times12_195_bits},
-{9, 11, 11, times12_196_bits},
-{9, 12, 12, times12_197_bits},
-{10, 9, 9, times12_198_bits},
-{7, 12, 9, times12_199_bits},
-{7, 12, 12, times12_200_bits},
-{7, 12, 12, times12_201_bits},
-{7, 12, 12, times12_202_bits},
-{7, 11, 11, times12_203_bits},
-{3, 12, 12, times12_204_bits},
-{3, 12, 12, times12_205_bits},
-{3, 12, 12, times12_206_bits},
-{3, 11, 11, times12_207_bits},
-{8, 9, 9, times12_208_bits},
-{9, 12, 12, times12_209_bits},
-{8, 12, 12, times12_210_bits},
-{8, 12, 12, times12_211_bits},
-{8, 12, 12, times12_212_bits},
-{8, 12, 12, times12_213_bits},
-{8, 11, 11, times12_214_bits},
-{5, 5, 6, times12_215_bits},
-{9, 10, 10, times12_216_bits},
-{8, 12, 12, times12_217_bits},
-{8, 12, 12, times12_218_bits},
-{8, 12, 12, times12_219_bits},
-{8, 11, 11, times12_220_bits},
-{9, 12, 12, times12_221_bits},
-{7, 9, 9, times12_222_bits},
-{6, 9, 9, times12_223_bits},
-{5, 9, 9, times12_224_bits},
-{5, 9, 9, times12_225_bits},
-{5, 9, 9, times12_226_bits},
-{5, 9, 9, times12_227_bits},
-{5, 8, 8, times12_228_bits},
-{5, 9, 9, times12_229_bits},
-{8, 6, 6, times12_230_bits},
-{4, 9, 6, times12_231_bits},
-{5, 9, 9, times12_232_bits},
-{5, 9, 9, times12_233_bits},
-{5, 9, 9, times12_234_bits},
-{5, 8, 8, times12_235_bits},
-{3, 9, 9, times12_236_bits},
-{3, 9, 9, times12_237_bits},
-{3, 9, 9, times12_238_bits},
-{3, 8, 8, times12_239_bits},
-{4, 9, 9, times12_240_bits},
-{6, 9, 9, times12_241_bits},
-{4, 9, 9, times12_242_bits},
-{4, 9, 9, times12_243_bits},
-{4, 9, 9, times12_244_bits},
-{4, 9, 9, times12_245_bits},
-{4, 8, 8, times12_246_bits},
-{5, 5, 6, times12_247_bits},
-{6, 7, 6, times12_248_bits},
-{6, 9, 9, times12_249_bits},
-{6, 9, 9, times12_250_bits},
-{6, 9, 9, times12_251_bits},
-{6, 8, 8, times12_252_bits},
-{6, 12, 9, times12_253_bits},
-{5, 12, 9, times12_254_bits},
-{6, 11, 8, times12_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/times14.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/times14.h	(revision 38985)
+++ 	(revision )
@@ -1,840 +1,0 @@
-static unsigned char times14_0_bits[] = {
-0x00};
-static unsigned char times14_1_bits[] = {
-0x00};
-static unsigned char times14_2_bits[] = {
-0x00};
-static unsigned char times14_3_bits[] = {
-0x00};
-static unsigned char times14_4_bits[] = {
-0x00};
-static unsigned char times14_5_bits[] = {
-0x00};
-static unsigned char times14_6_bits[] = {
-0x00};
-static unsigned char times14_7_bits[] = {
-0x00};
-static unsigned char times14_8_bits[] = {
-0x00};
-static unsigned char times14_9_bits[] = {
-0x00};
-static unsigned char times14_10_bits[] = {
-0x00};
-static unsigned char times14_11_bits[] = {
-0x00};
-static unsigned char times14_12_bits[] = {
-0x00};
-static unsigned char times14_13_bits[] = {
-0x00};
-static unsigned char times14_14_bits[] = {
-0x00};
-static unsigned char times14_15_bits[] = {
-0x00};
-static unsigned char times14_16_bits[] = {
-0x00};
-static unsigned char times14_17_bits[] = {
-0x00};
-static unsigned char times14_18_bits[] = {
-0x00};
-static unsigned char times14_19_bits[] = {
-0x00};
-static unsigned char times14_20_bits[] = {
-0x00};
-static unsigned char times14_21_bits[] = {
-0x00};
-static unsigned char times14_22_bits[] = {
-0x00};
-static unsigned char times14_23_bits[] = {
-0x00};
-static unsigned char times14_24_bits[] = {
-0x00};
-static unsigned char times14_25_bits[] = {
-0x00};
-static unsigned char times14_26_bits[] = {
-0x00};
-static unsigned char times14_27_bits[] = {
-0x00};
-static unsigned char times14_28_bits[] = {
-0x00};
-static unsigned char times14_29_bits[] = {
-0x00};
-static unsigned char times14_30_bits[] = {
-0x00};
-static unsigned char times14_31_bits[] = {
-0x00};
-static unsigned char times14_32_bits[] = {
-0x00};
-static unsigned char times14_33_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01};
-static unsigned char times14_34_bits[] = {
-0x05, 0x05, 0x05};
-static unsigned char times14_35_bits[] = {
-0x28, 0x28, 0x7e, 0x14, 0x14, 0x14, 0x3f, 0x0a, 0x0a, 0x0a};
-static unsigned char times14_36_bits[] = {
-0x04, 0x1e, 0x15, 0x05, 0x05, 0x0e, 0x14, 0x14, 0x14, 0x15, 0x0f, 0x04};
-static unsigned char times14_37_bits[] = {
-0x8e, 0x01, 0xfb, 0x00, 0x49, 0x00, 0x29, 0x00, 0x16, 0x00, 0xd0, 0x00, 
-0x68, 0x01, 0x24, 0x01, 0x22, 0x01, 0xc2, 0x00};
-static unsigned char times14_38_bits[] = {
-0x18, 0x00, 0x24, 0x00, 0x24, 0x00, 0x1c, 0x00, 0xc8, 0x01, 0x9e, 0x00, 
-0x53, 0x00, 0x21, 0x00, 0x73, 0x02, 0xce, 0x01};
-static unsigned char times14_39_bits[] = {
-0x03, 0x02, 0x01};
-static unsigned char times14_40_bits[] = {
-0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x04, 
-0x04};
-static unsigned char times14_41_bits[] = {
-0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 
-0x01};
-static unsigned char times14_42_bits[] = {
-0x04, 0x15, 0x0e, 0x0e, 0x15, 0x04};
-static unsigned char times14_43_bits[] = {
-0x08, 0x08, 0x08, 0x7f, 0x08, 0x08, 0x08};
-static unsigned char times14_44_bits[] = {
-0x03, 0x02, 0x01};
-static unsigned char times14_45_bits[] = {
-0x3f};
-static unsigned char times14_46_bits[] = {
-0x03};
-static unsigned char times14_47_bits[] = {
-0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01};
-static unsigned char times14_48_bits[] = {
-0x1e, 0x33, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x33, 0x1e};
-static unsigned char times14_49_bits[] = {
-0x04, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char times14_50_bits[] = {
-0x0e, 0x1b, 0x11, 0x10, 0x18, 0x08, 0x04, 0x02, 0x11, 0x1f};
-static unsigned char times14_51_bits[] = {
-0x1e, 0x31, 0x20, 0x10, 0x0c, 0x1c, 0x20, 0x20, 0x33, 0x1e};
-static unsigned char times14_52_bits[] = {
-0x10, 0x18, 0x18, 0x14, 0x16, 0x12, 0x11, 0x3f, 0x10, 0x10};
-static unsigned char times14_53_bits[] = {
-0x1e, 0x02, 0x01, 0x07, 0x0c, 0x18, 0x10, 0x10, 0x09, 0x07};
-static unsigned char times14_54_bits[] = {
-0x30, 0x08, 0x04, 0x02, 0x1e, 0x33, 0x21, 0x21, 0x33, 0x1e};
-static unsigned char times14_55_bits[] = {
-0x3f, 0x21, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02};
-static unsigned char times14_56_bits[] = {
-0x0e, 0x19, 0x11, 0x13, 0x0e, 0x19, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char times14_57_bits[] = {
-0x1e, 0x33, 0x21, 0x21, 0x33, 0x1e, 0x10, 0x08, 0x04, 0x03};
-static unsigned char times14_58_bits[] = {
-0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03};
-static unsigned char times14_59_bits[] = {
-0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x01};
-static unsigned char times14_60_bits[] = {
-0x60, 0x18, 0x06, 0x03, 0x06, 0x18, 0x60};
-static unsigned char times14_61_bits[] = {
-0x7f, 0x00, 0x7f};
-static unsigned char times14_62_bits[] = {
-0x03, 0x0c, 0x30, 0x60, 0x30, 0x0c, 0x03};
-static unsigned char times14_63_bits[] = {
-0x0e, 0x11, 0x11, 0x10, 0x08, 0x04, 0x04, 0x00, 0x04, 0x04};
-static unsigned char times14_64_bits[] = {
-0xf0, 0x01, 0x0c, 0x06, 0x06, 0x04, 0x62, 0x09, 0x91, 0x08, 0x89, 0x08, 
-0x89, 0x08, 0xc9, 0x04, 0xb3, 0x03, 0x02, 0x00, 0x0c, 0x03, 0xf0, 0x00};
-static unsigned char times14_65_bits[] = {
-0x10, 0x00, 0x10, 0x00, 0x28, 0x00, 0x28, 0x00, 0x44, 0x00, 0x44, 0x00, 
-0x7c, 0x00, 0x82, 0x00, 0x82, 0x00, 0xc7, 0x01};
-static unsigned char times14_66_bits[] = {
-0x3f, 0x62, 0x42, 0x62, 0x3e, 0x62, 0x42, 0x42, 0x62, 0x3f};
-static unsigned char times14_67_bits[] = {
-0xbc, 0xc6, 0x82, 0x81, 0x01, 0x01, 0x01, 0x83, 0x46, 0x3c};
-static unsigned char times14_68_bits[] = {
-0x7f, 0x00, 0xc4, 0x00, 0x84, 0x00, 0x04, 0x01, 0x04, 0x01, 0x04, 0x01, 
-0x04, 0x01, 0x84, 0x00, 0xc4, 0x00, 0x7f, 0x00};
-static unsigned char times14_69_bits[] = {
-0x7f, 0x42, 0x02, 0x22, 0x3e, 0x22, 0x02, 0x42, 0x42, 0x7f};
-static unsigned char times14_70_bits[] = {
-0x7f, 0x42, 0x02, 0x22, 0x3e, 0x22, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times14_71_bits[] = {
-0xbc, 0x00, 0xc6, 0x00, 0x82, 0x00, 0x81, 0x00, 0x01, 0x00, 0xe1, 0x01, 
-0x81, 0x00, 0x83, 0x00, 0xc6, 0x00, 0x7c, 0x00};
-static unsigned char times14_72_bits[] = {
-0xe7, 0x42, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x42, 0xe7};
-static unsigned char times14_73_bits[] = {
-0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times14_74_bits[] = {
-0x0e, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x03};
-static unsigned char times14_75_bits[] = {
-0x77, 0x22, 0x12, 0x0a, 0x0e, 0x0a, 0x12, 0x22, 0x62, 0xe7};
-static unsigned char times14_76_bits[] = {
-0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x42, 0x7f};
-static unsigned char times14_77_bits[] = {
-0x07, 0x07, 0x06, 0x03, 0x8a, 0x02, 0x8a, 0x02, 0xda, 0x02, 0x52, 0x02, 
-0x52, 0x02, 0x72, 0x02, 0x22, 0x02, 0x27, 0x07};
-static unsigned char times14_78_bits[] = {
-0xc7, 0x01, 0x86, 0x00, 0x8a, 0x00, 0x9a, 0x00, 0x92, 0x00, 0xb2, 0x00, 
-0xa2, 0x00, 0xa2, 0x00, 0xc2, 0x00, 0xc7, 0x00};
-static unsigned char times14_79_bits[] = {
-0x3c, 0x66, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 0x66, 0x3c};
-static unsigned char times14_80_bits[] = {
-0x1f, 0x32, 0x22, 0x22, 0x32, 0x1e, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times14_81_bits[] = {
-0x3c, 0x66, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 0x66, 0x3c, 0x10, 0x60, 
-0xc0};
-static unsigned char times14_82_bits[] = {
-0x3f, 0x00, 0x64, 0x00, 0x44, 0x00, 0x44, 0x00, 0x64, 0x00, 0x3c, 0x00, 
-0x24, 0x00, 0x44, 0x00, 0xc4, 0x00, 0x8f, 0x01};
-static unsigned char times14_83_bits[] = {
-0x2e, 0x33, 0x21, 0x03, 0x0e, 0x18, 0x20, 0x21, 0x33, 0x1d};
-static unsigned char times14_84_bits[] = {
-0x7f, 0x49, 0x49, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x1c};
-static unsigned char times14_85_bits[] = {
-0xe7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x66, 0x3c};
-static unsigned char times14_86_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0xc6, 0x00, 0x44, 0x00, 0x44, 0x00, 0x6c, 0x00, 
-0x28, 0x00, 0x38, 0x00, 0x10, 0x00, 0x10, 0x00};
-static unsigned char times14_87_bits[] = {
-0xe7, 0x1c, 0x42, 0x08, 0x46, 0x0c, 0x44, 0x04, 0xa4, 0x04, 0xac, 0x06, 
-0xa8, 0x02, 0x18, 0x03, 0x10, 0x01, 0x10, 0x01};
-static unsigned char times14_88_bits[] = {
-0xce, 0x01, 0x84, 0x00, 0x48, 0x00, 0x48, 0x00, 0x30, 0x00, 0x30, 0x00, 
-0x48, 0x00, 0x84, 0x00, 0x86, 0x01, 0xcf, 0x03};
-static unsigned char times14_89_bits[] = {
-0xc7, 0x01, 0x82, 0x00, 0x44, 0x00, 0x44, 0x00, 0x28, 0x00, 0x10, 0x00, 
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x38, 0x00};
-static unsigned char times14_90_bits[] = {
-0xfe, 0xc2, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x83, 0xff};
-static unsigned char times14_91_bits[] = {
-0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x07};
-static unsigned char times14_92_bits[] = {
-0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x04, 0x08, 0x08};
-static unsigned char times14_93_bits[] = {
-0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x07};
-static unsigned char times14_94_bits[] = {
-0x04, 0x0a, 0x0a, 0x11, 0x11};
-static unsigned char times14_95_bits[] = {
-0x7f};
-static unsigned char times14_96_bits[] = {
-0x02, 0x01, 0x03};
-static unsigned char times14_97_bits[] = {
-0x0e, 0x13, 0x18, 0x16, 0x11, 0x13, 0x2e};
-static unsigned char times14_98_bits[] = {
-0x03, 0x02, 0x02, 0x1a, 0x36, 0x22, 0x22, 0x22, 0x32, 0x1e};
-static unsigned char times14_99_bits[] = {
-0x1e, 0x33, 0x01, 0x01, 0x01, 0x23, 0x1e};
-static unsigned char times14_100_bits[] = {
-0x18, 0x10, 0x10, 0x1e, 0x13, 0x11, 0x11, 0x11, 0x1b, 0x2e};
-static unsigned char times14_101_bits[] = {
-0x0e, 0x11, 0x1f, 0x01, 0x01, 0x23, 0x1e};
-static unsigned char times14_102_bits[] = {
-0x1c, 0x06, 0x02, 0x1f, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0f};
-static unsigned char times14_103_bits[] = {
-0x1e, 0x0b, 0x11, 0x13, 0x0e, 0x02, 0x1e, 0x21, 0x33, 0x0e};
-static unsigned char times14_104_bits[] = {
-0x03, 0x02, 0x02, 0x1a, 0x36, 0x22, 0x22, 0x22, 0x22, 0x77};
-static unsigned char times14_105_bits[] = {
-0x02, 0x02, 0x00, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times14_106_bits[] = {
-0x04, 0x04, 0x00, 0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 
-0x03};
-static unsigned char times14_107_bits[] = {
-0x03, 0x02, 0x02, 0x32, 0x12, 0x0e, 0x0a, 0x12, 0x32, 0x67};
-static unsigned char times14_108_bits[] = {
-0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times14_109_bits[] = {
-0xdb, 0x01, 0x76, 0x03, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 
-0x77, 0x07};
-static unsigned char times14_110_bits[] = {
-0x1b, 0x36, 0x22, 0x22, 0x22, 0x22, 0x77};
-static unsigned char times14_111_bits[] = {
-0x0e, 0x1b, 0x11, 0x11, 0x11, 0x1b, 0x0e};
-static unsigned char times14_112_bits[] = {
-0x1b, 0x36, 0x22, 0x22, 0x22, 0x36, 0x1a, 0x02, 0x02, 0x07};
-static unsigned char times14_113_bits[] = {
-0x1e, 0x13, 0x11, 0x11, 0x11, 0x1b, 0x16, 0x10, 0x10, 0x38};
-static unsigned char times14_114_bits[] = {
-0x1d, 0x06, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times14_115_bits[] = {
-0x0e, 0x09, 0x03, 0x06, 0x0c, 0x09, 0x07};
-static unsigned char times14_116_bits[] = {
-0x02, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0c};
-static unsigned char times14_117_bits[] = {
-0x33, 0x22, 0x22, 0x22, 0x22, 0x36, 0x6c};
-static unsigned char times14_118_bits[] = {
-0x77, 0x22, 0x22, 0x14, 0x14, 0x08, 0x08};
-static unsigned char times14_119_bits[] = {
-0x77, 0x07, 0x22, 0x02, 0x22, 0x02, 0x24, 0x01, 0xdc, 0x01, 0x88, 0x00, 
-0x88, 0x00};
-static unsigned char times14_120_bits[] = {
-0x77, 0x22, 0x1c, 0x08, 0x1c, 0x22, 0x77};
-static unsigned char times14_121_bits[] = {
-0x77, 0x22, 0x22, 0x14, 0x14, 0x08, 0x0c, 0x04, 0x05, 0x03};
-static unsigned char times14_122_bits[] = {
-0x3f, 0x11, 0x18, 0x0c, 0x06, 0x23, 0x3f};
-static unsigned char times14_123_bits[] = {
-0x18, 0x04, 0x04, 0x04, 0x04, 0x02, 0x01, 0x02, 0x04, 0x04, 0x04, 0x04, 
-0x18};
-static unsigned char times14_124_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char times14_125_bits[] = {
-0x03, 0x04, 0x04, 0x04, 0x04, 0x08, 0x10, 0x08, 0x04, 0x04, 0x04, 0x04, 
-0x03};
-static unsigned char times14_126_bits[] = {
-0x46, 0x39};
-static unsigned char times14_127_bits[] = {
-0x00};
-static unsigned char times14_128_bits[] = {
-0x00};
-static unsigned char times14_129_bits[] = {
-0x00};
-static unsigned char times14_130_bits[] = {
-0x00};
-static unsigned char times14_131_bits[] = {
-0x00};
-static unsigned char times14_132_bits[] = {
-0x00};
-static unsigned char times14_133_bits[] = {
-0x00};
-static unsigned char times14_134_bits[] = {
-0x00};
-static unsigned char times14_135_bits[] = {
-0x00};
-static unsigned char times14_136_bits[] = {
-0x00};
-static unsigned char times14_137_bits[] = {
-0x00};
-static unsigned char times14_138_bits[] = {
-0x00};
-static unsigned char times14_139_bits[] = {
-0x00};
-static unsigned char times14_140_bits[] = {
-0x00};
-static unsigned char times14_141_bits[] = {
-0x00};
-static unsigned char times14_142_bits[] = {
-0x00};
-static unsigned char times14_143_bits[] = {
-0x00};
-static unsigned char times14_144_bits[] = {
-0x00};
-static unsigned char times14_145_bits[] = {
-0x00};
-static unsigned char times14_146_bits[] = {
-0x00};
-static unsigned char times14_147_bits[] = {
-0x00};
-static unsigned char times14_148_bits[] = {
-0x00};
-static unsigned char times14_149_bits[] = {
-0x00};
-static unsigned char times14_150_bits[] = {
-0x00};
-static unsigned char times14_151_bits[] = {
-0x00};
-static unsigned char times14_152_bits[] = {
-0x00};
-static unsigned char times14_153_bits[] = {
-0x00};
-static unsigned char times14_154_bits[] = {
-0x00};
-static unsigned char times14_155_bits[] = {
-0x00};
-static unsigned char times14_156_bits[] = {
-0x00};
-static unsigned char times14_157_bits[] = {
-0x00};
-static unsigned char times14_158_bits[] = {
-0x00};
-static unsigned char times14_159_bits[] = {
-0x00};
-static unsigned char times14_160_bits[] = {
-0x00};
-static unsigned char times14_161_bits[] = {
-0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char times14_162_bits[] = {
-0x20, 0x3e, 0x33, 0x09, 0x09, 0x05, 0x27, 0x1e, 0x01};
-static unsigned char times14_163_bits[] = {
-0x38, 0x2c, 0x04, 0x04, 0x1f, 0x04, 0x04, 0x04, 0x47, 0x3d};
-static unsigned char times14_164_bits[] = {
-0x11, 0x0e, 0x11, 0x11, 0x11, 0x0e, 0x11};
-static unsigned char times14_165_bits[] = {
-0x77, 0x22, 0x36, 0x14, 0x3e, 0x08, 0x3e, 0x08, 0x08, 0x1c};
-static unsigned char times14_166_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01};
-static unsigned char times14_167_bits[] = {
-0x1c, 0x1a, 0x02, 0x06, 0x0e, 0x19, 0x11, 0x13, 0x0e, 0x0c, 0x08, 0x0b, 
-0x07};
-static unsigned char times14_168_bits[] = {
-0x05, 0x05};
-static unsigned char times14_169_bits[] = {
-0x78, 0x00, 0x86, 0x01, 0x72, 0x01, 0x49, 0x02, 0x09, 0x02, 0x09, 0x02, 
-0x49, 0x02, 0x32, 0x01, 0x86, 0x01, 0x78, 0x00};
-static unsigned char times14_170_bits[] = {
-0x07, 0x04, 0x05, 0x07, 0x00, 0x07};
-static unsigned char times14_171_bits[] = {
-0x24, 0x12, 0x09, 0x09, 0x12, 0x24};
-static unsigned char times14_172_bits[] = {
-0x7f, 0x40, 0x40, 0x40};
-static unsigned char times14_173_bits[] = {
-0x07};
-static unsigned char times14_174_bits[] = {
-0x78, 0x00, 0x86, 0x01, 0x3a, 0x01, 0x49, 0x02, 0x39, 0x02, 0x29, 0x02, 
-0x49, 0x02, 0x4a, 0x01, 0x86, 0x01, 0x78, 0x00};
-static unsigned char times14_175_bits[] = {
-0x0f};
-static unsigned char times14_176_bits[] = {
-0x06, 0x09, 0x09, 0x06};
-static unsigned char times14_177_bits[] = {
-0x08, 0x08, 0x7f, 0x08, 0x08, 0x00, 0x7f};
-static unsigned char times14_178_bits[] = {
-0x06, 0x09, 0x08, 0x04, 0x02, 0x0f};
-static unsigned char times14_179_bits[] = {
-0x06, 0x09, 0x04, 0x08, 0x09, 0x06};
-static unsigned char times14_180_bits[] = {
-0x04, 0x06, 0x01};
-static unsigned char times14_181_bits[] = {
-0x33, 0x22, 0x22, 0x22, 0x22, 0x36, 0x6e, 0x02, 0x02, 0x06};
-static unsigned char times14_182_bits[] = {
-0x7c, 0x2e, 0x2f, 0x2f, 0x2f, 0x2e, 0x2c, 0x28, 0x28, 0x28, 0x28, 0x28, 
-0x28};
-static unsigned char times14_183_bits[] = {
-0x01, 0x01};
-static unsigned char times14_184_bits[] = {
-0x02, 0x04, 0x03};
-static unsigned char times14_185_bits[] = {
-0x02, 0x03, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times14_186_bits[] = {
-0x06, 0x09, 0x09, 0x06, 0x00, 0x0f};
-static unsigned char times14_187_bits[] = {
-0x09, 0x12, 0x24, 0x24, 0x12, 0x09};
-static unsigned char times14_188_bits[] = {
-0x82, 0x00, 0x43, 0x00, 0x42, 0x00, 0x22, 0x00, 0x22, 0x01, 0x97, 0x01, 
-0x50, 0x01, 0x28, 0x01, 0xe8, 0x03, 0x04, 0x01};
-static unsigned char times14_189_bits[] = {
-0x82, 0x00, 0x43, 0x00, 0x42, 0x00, 0x22, 0x00, 0xa2, 0x01, 0x57, 0x02, 
-0x10, 0x02, 0x08, 0x01, 0x88, 0x00, 0xc4, 0x03};
-static unsigned char times14_190_bits[] = {
-0x86, 0x00, 0x49, 0x00, 0x44, 0x00, 0x28, 0x00, 0x29, 0x01, 0x96, 0x01, 
-0x50, 0x01, 0x28, 0x01, 0xe8, 0x03, 0x04, 0x01};
-static unsigned char times14_191_bits[] = {
-0x04, 0x04, 0x00, 0x04, 0x04, 0x02, 0x01, 0x11, 0x11, 0x0e};
-static unsigned char times14_192_bits[] = {
-0x08, 0x00, 0x18, 0x00, 0x20, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 
-0x28, 0x00, 0x28, 0x00, 0x44, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x82, 0x00, 
-0x82, 0x00, 0xc7, 0x01};
-static unsigned char times14_193_bits[] = {
-0x20, 0x00, 0x30, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 
-0x28, 0x00, 0x28, 0x00, 0x44, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x82, 0x00, 
-0x82, 0x00, 0xc7, 0x01};
-static unsigned char times14_194_bits[] = {
-0x10, 0x00, 0x38, 0x00, 0x44, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 
-0x28, 0x00, 0x28, 0x00, 0x44, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x82, 0x00, 
-0x82, 0x00, 0xc7, 0x01};
-static unsigned char times14_195_bits[] = {
-0x48, 0x00, 0x54, 0x00, 0x24, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 
-0x28, 0x00, 0x28, 0x00, 0x44, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x82, 0x00, 
-0x82, 0x00, 0xc7, 0x01};
-static unsigned char times14_196_bits[] = {
-0x24, 0x00, 0x24, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x28, 0x00, 
-0x28, 0x00, 0x44, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x82, 0x00, 0x82, 0x00, 
-0xc7, 0x01};
-static unsigned char times14_197_bits[] = {
-0x18, 0x00, 0x24, 0x00, 0x18, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 
-0x28, 0x00, 0x28, 0x00, 0x44, 0x00, 0x44, 0x00, 0x7c, 0x00, 0x82, 0x00, 
-0x82, 0x00, 0xc7, 0x01};
-static unsigned char times14_198_bits[] = {
-0xf8, 0x07, 0x30, 0x04, 0x28, 0x00, 0x28, 0x02, 0xe4, 0x03, 0x24, 0x02, 
-0x3c, 0x00, 0x22, 0x04, 0x22, 0x04, 0xf7, 0x07};
-static unsigned char times14_199_bits[] = {
-0xbc, 0xc6, 0x82, 0x81, 0x01, 0x01, 0x01, 0x83, 0x46, 0x3c, 0x10, 0x20, 
-0x18};
-static unsigned char times14_200_bits[] = {
-0x04, 0x0c, 0x10, 0x00, 0x7f, 0x42, 0x02, 0x22, 0x3e, 0x22, 0x02, 0x42, 
-0x42, 0x7f};
-static unsigned char times14_201_bits[] = {
-0x20, 0x30, 0x08, 0x00, 0x7f, 0x42, 0x02, 0x22, 0x3e, 0x22, 0x02, 0x42, 
-0x42, 0x7f};
-static unsigned char times14_202_bits[] = {
-0x08, 0x1c, 0x22, 0x00, 0x7f, 0x42, 0x02, 0x22, 0x3e, 0x22, 0x02, 0x42, 
-0x42, 0x7f};
-static unsigned char times14_203_bits[] = {
-0x24, 0x24, 0x00, 0x7f, 0x42, 0x02, 0x22, 0x3e, 0x22, 0x02, 0x42, 0x42, 
-0x7f};
-static unsigned char times14_204_bits[] = {
-0x01, 0x03, 0x04, 0x00, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 
-0x02, 0x07};
-static unsigned char times14_205_bits[] = {
-0x04, 0x06, 0x01, 0x00, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 
-0x02, 0x07};
-static unsigned char times14_206_bits[] = {
-0x04, 0x0e, 0x11, 0x00, 0x0e, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
-0x04, 0x0e};
-static unsigned char times14_207_bits[] = {
-0x05, 0x05, 0x00, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 
-0x07};
-static unsigned char times14_208_bits[] = {
-0x7f, 0x00, 0xc4, 0x00, 0x84, 0x00, 0x04, 0x01, 0x1f, 0x01, 0x04, 0x01, 
-0x04, 0x01, 0x84, 0x00, 0xc4, 0x00, 0x7f, 0x00};
-static unsigned char times14_209_bits[] = {
-0x48, 0x00, 0x54, 0x00, 0x24, 0x00, 0x00, 0x00, 0xc7, 0x01, 0x86, 0x00, 
-0x8a, 0x00, 0x9a, 0x00, 0x92, 0x00, 0xb2, 0x00, 0xa2, 0x00, 0xa2, 0x00, 
-0xc2, 0x00, 0xc7, 0x00};
-static unsigned char times14_210_bits[] = {
-0x04, 0x0c, 0x10, 0x00, 0x3c, 0x66, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 
-0x66, 0x3c};
-static unsigned char times14_211_bits[] = {
-0x20, 0x30, 0x08, 0x00, 0x3c, 0x66, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 
-0x66, 0x3c};
-static unsigned char times14_212_bits[] = {
-0x08, 0x1c, 0x22, 0x00, 0x3c, 0x66, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 
-0x66, 0x3c};
-static unsigned char times14_213_bits[] = {
-0x24, 0x2a, 0x12, 0x00, 0x3c, 0x66, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 
-0x66, 0x3c};
-static unsigned char times14_214_bits[] = {
-0x24, 0x24, 0x00, 0x3c, 0x66, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 0x66, 
-0x3c};
-static unsigned char times14_215_bits[] = {
-0x41, 0x22, 0x14, 0x08, 0x14, 0x22, 0x41};
-static unsigned char times14_216_bits[] = {
-0x00, 0x01, 0xf8, 0x00, 0x8c, 0x00, 0xc4, 0x00, 0x22, 0x01, 0x32, 0x01, 
-0x12, 0x01, 0x0a, 0x01, 0x8c, 0x00, 0xc6, 0x00, 0x7a, 0x00, 0x01, 0x00};
-static unsigned char times14_217_bits[] = {
-0x04, 0x0c, 0x10, 0x00, 0xe7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 
-0x66, 0x3c};
-static unsigned char times14_218_bits[] = {
-0x20, 0x30, 0x08, 0x00, 0xe7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 
-0x66, 0x3c};
-static unsigned char times14_219_bits[] = {
-0x08, 0x1c, 0x22, 0x00, 0xe7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 
-0x66, 0x3c};
-static unsigned char times14_220_bits[] = {
-0x24, 0x24, 0x00, 0xe7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x66, 
-0x3c};
-static unsigned char times14_221_bits[] = {
-0x40, 0x00, 0x60, 0x00, 0x10, 0x00, 0x00, 0x00, 0xc7, 0x01, 0x82, 0x00, 
-0x44, 0x00, 0x44, 0x00, 0x28, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 
-0x10, 0x00, 0x38, 0x00};
-static unsigned char times14_222_bits[] = {
-0x07, 0x02, 0x1e, 0x32, 0x22, 0x22, 0x32, 0x1e, 0x02, 0x07};
-static unsigned char times14_223_bits[] = {
-0x1c, 0x36, 0x22, 0x12, 0x0e, 0x1a, 0x32, 0x22, 0x2a, 0x1b};
-static unsigned char times14_224_bits[] = {
-0x02, 0x06, 0x08, 0x00, 0x0e, 0x13, 0x18, 0x16, 0x11, 0x13, 0x2e};
-static unsigned char times14_225_bits[] = {
-0x10, 0x18, 0x04, 0x00, 0x0e, 0x13, 0x18, 0x16, 0x11, 0x13, 0x2e};
-static unsigned char times14_226_bits[] = {
-0x04, 0x0e, 0x11, 0x00, 0x0e, 0x13, 0x18, 0x16, 0x11, 0x13, 0x2e};
-static unsigned char times14_227_bits[] = {
-0x12, 0x15, 0x09, 0x00, 0x0e, 0x13, 0x18, 0x16, 0x11, 0x13, 0x2e};
-static unsigned char times14_228_bits[] = {
-0x0a, 0x0a, 0x00, 0x0e, 0x13, 0x18, 0x16, 0x11, 0x13, 0x2e};
-static unsigned char times14_229_bits[] = {
-0x0c, 0x12, 0x0c, 0x00, 0x0e, 0x13, 0x18, 0x16, 0x11, 0x13, 0x2e};
-static unsigned char times14_230_bits[] = {
-0xfe, 0x00, 0x93, 0x01, 0xf8, 0x00, 0x16, 0x00, 0x11, 0x00, 0x33, 0x01, 
-0xee, 0x00};
-static unsigned char times14_231_bits[] = {
-0x0e, 0x13, 0x01, 0x01, 0x01, 0x23, 0x1e, 0x04, 0x08, 0x06};
-static unsigned char times14_232_bits[] = {
-0x02, 0x06, 0x08, 0x00, 0x0e, 0x11, 0x1f, 0x01, 0x01, 0x23, 0x1e};
-static unsigned char times14_233_bits[] = {
-0x10, 0x18, 0x04, 0x00, 0x0e, 0x11, 0x1f, 0x01, 0x01, 0x23, 0x1e};
-static unsigned char times14_234_bits[] = {
-0x04, 0x0e, 0x11, 0x00, 0x0e, 0x11, 0x1f, 0x01, 0x01, 0x23, 0x1e};
-static unsigned char times14_235_bits[] = {
-0x0a, 0x0a, 0x00, 0x0e, 0x11, 0x1f, 0x01, 0x01, 0x23, 0x1e};
-static unsigned char times14_236_bits[] = {
-0x01, 0x03, 0x04, 0x00, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times14_237_bits[] = {
-0x04, 0x06, 0x01, 0x00, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times14_238_bits[] = {
-0x04, 0x0e, 0x11, 0x00, 0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x0e};
-static unsigned char times14_239_bits[] = {
-0x05, 0x05, 0x00, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times14_240_bits[] = {
-0x1b, 0x06, 0x09, 0x1e, 0x1b, 0x11, 0x11, 0x11, 0x1b, 0x0e};
-static unsigned char times14_241_bits[] = {
-0x24, 0x2a, 0x12, 0x00, 0x1b, 0x36, 0x22, 0x22, 0x22, 0x22, 0x77};
-static unsigned char times14_242_bits[] = {
-0x02, 0x06, 0x08, 0x00, 0x0e, 0x1b, 0x11, 0x11, 0x11, 0x1b, 0x0e};
-static unsigned char times14_243_bits[] = {
-0x08, 0x0c, 0x02, 0x00, 0x0e, 0x1b, 0x11, 0x11, 0x11, 0x1b, 0x0e};
-static unsigned char times14_244_bits[] = {
-0x04, 0x0e, 0x11, 0x00, 0x0e, 0x1b, 0x11, 0x11, 0x11, 0x1b, 0x0e};
-static unsigned char times14_245_bits[] = {
-0x12, 0x15, 0x09, 0x00, 0x0e, 0x1b, 0x11, 0x11, 0x11, 0x1b, 0x0e};
-static unsigned char times14_246_bits[] = {
-0x0a, 0x0a, 0x00, 0x0e, 0x1b, 0x11, 0x11, 0x11, 0x1b, 0x0e};
-static unsigned char times14_247_bits[] = {
-0x08, 0x08, 0x00, 0x7f, 0x00, 0x08, 0x08};
-static unsigned char times14_248_bits[] = {
-0x40, 0x3c, 0x36, 0x22, 0x22, 0x22, 0x36, 0x1e, 0x01};
-static unsigned char times14_249_bits[] = {
-0x04, 0x0c, 0x10, 0x00, 0x33, 0x22, 0x22, 0x22, 0x22, 0x36, 0x6c};
-static unsigned char times14_250_bits[] = {
-0x10, 0x18, 0x04, 0x00, 0x33, 0x22, 0x22, 0x22, 0x22, 0x36, 0x6c};
-static unsigned char times14_251_bits[] = {
-0x08, 0x1c, 0x22, 0x00, 0x33, 0x22, 0x22, 0x22, 0x22, 0x36, 0x6c};
-static unsigned char times14_252_bits[] = {
-0x14, 0x14, 0x00, 0x33, 0x22, 0x22, 0x22, 0x22, 0x36, 0x6c};
-static unsigned char times14_253_bits[] = {
-0x20, 0x30, 0x08, 0x00, 0x77, 0x22, 0x22, 0x14, 0x14, 0x08, 0x0c, 0x04, 
-0x05, 0x03};
-static unsigned char times14_254_bits[] = {
-0x03, 0x02, 0x02, 0x1a, 0x36, 0x22, 0x22, 0x22, 0x36, 0x1a, 0x02, 0x02, 
-0x07};
-static unsigned char times14_255_bits[] = {
-0x14, 0x14, 0x00, 0x77, 0x22, 0x22, 0x14, 0x14, 0x08, 0x0c, 0x04, 0x05, 
-0x03};
-static RotFont times14font[] = {
-{5, 1, 1, times14_0_bits},
-{5, 1, 1, times14_1_bits},
-{5, 1, 1, times14_2_bits},
-{5, 1, 1, times14_3_bits},
-{5, 1, 1, times14_4_bits},
-{5, 1, 1, times14_5_bits},
-{5, 1, 1, times14_6_bits},
-{5, 1, 1, times14_7_bits},
-{5, 1, 1, times14_8_bits},
-{5, 1, 1, times14_9_bits},
-{5, 1, 1, times14_10_bits},
-{5, 1, 1, times14_11_bits},
-{5, 1, 1, times14_12_bits},
-{5, 1, 1, times14_13_bits},
-{5, 1, 1, times14_14_bits},
-{5, 1, 1, times14_15_bits},
-{5, 1, 1, times14_16_bits},
-{5, 1, 1, times14_17_bits},
-{5, 1, 1, times14_18_bits},
-{5, 1, 1, times14_19_bits},
-{5, 1, 1, times14_20_bits},
-{5, 1, 1, times14_21_bits},
-{5, 1, 1, times14_22_bits},
-{5, 1, 1, times14_23_bits},
-{5, 1, 1, times14_24_bits},
-{5, 1, 1, times14_25_bits},
-{5, 1, 1, times14_26_bits},
-{5, 1, 1, times14_27_bits},
-{5, 1, 1, times14_28_bits},
-{5, 1, 1, times14_29_bits},
-{5, 1, 1, times14_30_bits},
-{5, 1, 1, times14_31_bits},
-{6, 1, 1, times14_32_bits},
-{1, 10, 10, times14_33_bits},
-{3, 3, 10, times14_34_bits},
-{7, 10, 10, times14_35_bits},
-{5, 12, 11, times14_36_bits},
-{9, 10, 10, times14_37_bits},
-{10, 10, 10, times14_38_bits},
-{2, 3, 10, times14_39_bits},
-{3, 13, 10, times14_40_bits},
-{3, 13, 10, times14_41_bits},
-{5, 6, 10, times14_42_bits},
-{7, 7, 7, times14_43_bits},
-{2, 3, 1, times14_44_bits},
-{6, 1, 4, times14_45_bits},
-{2, 1, 1, times14_46_bits},
-{4, 12, 10, times14_47_bits},
-{6, 10, 10, times14_48_bits},
-{5, 10, 10, times14_49_bits},
-{5, 10, 10, times14_50_bits},
-{6, 10, 10, times14_51_bits},
-{6, 10, 10, times14_52_bits},
-{5, 10, 10, times14_53_bits},
-{6, 10, 10, times14_54_bits},
-{6, 10, 10, times14_55_bits},
-{5, 10, 10, times14_56_bits},
-{6, 10, 10, times14_57_bits},
-{2, 7, 7, times14_58_bits},
-{2, 9, 7, times14_59_bits},
-{7, 7, 7, times14_60_bits},
-{7, 3, 5, times14_61_bits},
-{7, 7, 7, times14_62_bits},
-{5, 10, 10, times14_63_bits},
-{12, 12, 10, times14_64_bits},
-{9, 10, 10, times14_65_bits},
-{7, 10, 10, times14_66_bits},
-{8, 10, 10, times14_67_bits},
-{9, 10, 10, times14_68_bits},
-{7, 10, 10, times14_69_bits},
-{7, 10, 10, times14_70_bits},
-{9, 10, 10, times14_71_bits},
-{8, 10, 10, times14_72_bits},
-{3, 10, 10, times14_73_bits},
-{4, 10, 10, times14_74_bits},
-{8, 10, 10, times14_75_bits},
-{7, 10, 10, times14_76_bits},
-{11, 10, 10, times14_77_bits},
-{9, 10, 10, times14_78_bits},
-{8, 10, 10, times14_79_bits},
-{6, 10, 10, times14_80_bits},
-{8, 13, 10, times14_81_bits},
-{9, 10, 10, times14_82_bits},
-{6, 10, 10, times14_83_bits},
-{7, 10, 10, times14_84_bits},
-{8, 10, 10, times14_85_bits},
-{9, 10, 10, times14_86_bits},
-{13, 10, 10, times14_87_bits},
-{10, 10, 10, times14_88_bits},
-{9, 10, 10, times14_89_bits},
-{8, 10, 10, times14_90_bits},
-{3, 13, 10, times14_91_bits},
-{4, 10, 10, times14_92_bits},
-{3, 13, 10, times14_93_bits},
-{5, 5, 10, times14_94_bits},
-{7, 1, -2, times14_95_bits},
-{2, 3, 10, times14_96_bits},
-{6, 7, 7, times14_97_bits},
-{6, 10, 10, times14_98_bits},
-{6, 7, 7, times14_99_bits},
-{6, 10, 10, times14_100_bits},
-{6, 7, 7, times14_101_bits},
-{5, 10, 10, times14_102_bits},
-{6, 10, 7, times14_103_bits},
-{7, 10, 10, times14_104_bits},
-{3, 10, 10, times14_105_bits},
-{3, 13, 10, times14_106_bits},
-{7, 10, 10, times14_107_bits},
-{3, 10, 10, times14_108_bits},
-{11, 7, 7, times14_109_bits},
-{7, 7, 7, times14_110_bits},
-{5, 7, 7, times14_111_bits},
-{6, 10, 7, times14_112_bits},
-{6, 10, 7, times14_113_bits},
-{5, 7, 7, times14_114_bits},
-{4, 7, 7, times14_115_bits},
-{4, 8, 8, times14_116_bits},
-{7, 7, 7, times14_117_bits},
-{7, 7, 7, times14_118_bits},
-{11, 7, 7, times14_119_bits},
-{7, 7, 7, times14_120_bits},
-{7, 10, 7, times14_121_bits},
-{6, 7, 7, times14_122_bits},
-{5, 13, 10, times14_123_bits},
-{1, 10, 10, times14_124_bits},
-{5, 13, 10, times14_125_bits},
-{7, 2, 5, times14_126_bits},
-{5, 1, 1, times14_127_bits},
-{5, 1, 1, times14_128_bits},
-{5, 1, 1, times14_129_bits},
-{5, 1, 1, times14_130_bits},
-{5, 1, 1, times14_131_bits},
-{5, 1, 1, times14_132_bits},
-{5, 1, 1, times14_133_bits},
-{5, 1, 1, times14_134_bits},
-{5, 1, 1, times14_135_bits},
-{5, 1, 1, times14_136_bits},
-{5, 1, 1, times14_137_bits},
-{5, 1, 1, times14_138_bits},
-{5, 1, 1, times14_139_bits},
-{5, 1, 1, times14_140_bits},
-{5, 1, 1, times14_141_bits},
-{5, 1, 1, times14_142_bits},
-{5, 1, 1, times14_143_bits},
-{5, 1, 1, times14_144_bits},
-{5, 1, 1, times14_145_bits},
-{5, 1, 1, times14_146_bits},
-{5, 1, 1, times14_147_bits},
-{5, 1, 1, times14_148_bits},
-{5, 1, 1, times14_149_bits},
-{5, 1, 1, times14_150_bits},
-{5, 1, 1, times14_151_bits},
-{5, 1, 1, times14_152_bits},
-{5, 1, 1, times14_153_bits},
-{5, 1, 1, times14_154_bits},
-{5, 1, 1, times14_155_bits},
-{5, 1, 1, times14_156_bits},
-{5, 1, 1, times14_157_bits},
-{5, 1, 1, times14_158_bits},
-{5, 1, 1, times14_159_bits},
-{1, 1, 1, times14_160_bits},
-{1, 10, 7, times14_161_bits},
-{6, 9, 8, times14_162_bits},
-{7, 10, 10, times14_163_bits},
-{5, 7, 8, times14_164_bits},
-{7, 10, 10, times14_165_bits},
-{1, 10, 10, times14_166_bits},
-{5, 13, 10, times14_167_bits},
-{3, 2, 10, times14_168_bits},
-{10, 10, 10, times14_169_bits},
-{3, 6, 10, times14_170_bits},
-{6, 6, 6, times14_171_bits},
-{7, 4, 6, times14_172_bits},
-{3, 1, 4, times14_173_bits},
-{10, 10, 10, times14_174_bits},
-{4, 1, 9, times14_175_bits},
-{4, 4, 10, times14_176_bits},
-{7, 7, 7, times14_177_bits},
-{4, 6, 10, times14_178_bits},
-{4, 6, 10, times14_179_bits},
-{3, 3, 11, times14_180_bits},
-{7, 10, 7, times14_181_bits},
-{7, 13, 10, times14_182_bits},
-{1, 2, 5, times14_183_bits},
-{3, 3, 0, times14_184_bits},
-{3, 6, 10, times14_185_bits},
-{4, 6, 10, times14_186_bits},
-{6, 6, 6, times14_187_bits},
-{10, 10, 10, times14_188_bits},
-{10, 10, 10, times14_189_bits},
-{10, 10, 10, times14_190_bits},
-{5, 10, 7, times14_191_bits},
-{9, 14, 14, times14_192_bits},
-{9, 14, 14, times14_193_bits},
-{9, 14, 14, times14_194_bits},
-{9, 14, 14, times14_195_bits},
-{9, 13, 13, times14_196_bits},
-{9, 14, 14, times14_197_bits},
-{11, 10, 10, times14_198_bits},
-{8, 13, 10, times14_199_bits},
-{7, 14, 14, times14_200_bits},
-{7, 14, 14, times14_201_bits},
-{7, 14, 14, times14_202_bits},
-{7, 13, 13, times14_203_bits},
-{3, 14, 14, times14_204_bits},
-{3, 14, 14, times14_205_bits},
-{5, 14, 14, times14_206_bits},
-{3, 13, 13, times14_207_bits},
-{9, 10, 10, times14_208_bits},
-{9, 14, 14, times14_209_bits},
-{8, 14, 14, times14_210_bits},
-{8, 14, 14, times14_211_bits},
-{8, 14, 14, times14_212_bits},
-{8, 14, 14, times14_213_bits},
-{8, 13, 13, times14_214_bits},
-{7, 7, 7, times14_215_bits},
-{9, 12, 11, times14_216_bits},
-{8, 14, 14, times14_217_bits},
-{8, 14, 14, times14_218_bits},
-{8, 14, 14, times14_219_bits},
-{8, 13, 13, times14_220_bits},
-{9, 14, 14, times14_221_bits},
-{6, 10, 10, times14_222_bits},
-{6, 10, 10, times14_223_bits},
-{6, 11, 11, times14_224_bits},
-{6, 11, 11, times14_225_bits},
-{6, 11, 11, times14_226_bits},
-{6, 11, 11, times14_227_bits},
-{6, 10, 10, times14_228_bits},
-{6, 11, 11, times14_229_bits},
-{9, 7, 7, times14_230_bits},
-{6, 10, 7, times14_231_bits},
-{6, 11, 11, times14_232_bits},
-{6, 11, 11, times14_233_bits},
-{6, 11, 11, times14_234_bits},
-{6, 10, 10, times14_235_bits},
-{3, 11, 11, times14_236_bits},
-{3, 11, 11, times14_237_bits},
-{5, 11, 11, times14_238_bits},
-{3, 10, 10, times14_239_bits},
-{5, 10, 10, times14_240_bits},
-{7, 11, 11, times14_241_bits},
-{5, 11, 11, times14_242_bits},
-{5, 11, 11, times14_243_bits},
-{5, 11, 11, times14_244_bits},
-{5, 11, 11, times14_245_bits},
-{5, 10, 10, times14_246_bits},
-{7, 7, 7, times14_247_bits},
-{7, 9, 8, times14_248_bits},
-{7, 11, 11, times14_249_bits},
-{7, 11, 11, times14_250_bits},
-{7, 11, 11, times14_251_bits},
-{7, 10, 10, times14_252_bits},
-{7, 14, 11, times14_253_bits},
-{6, 13, 10, times14_254_bits},
-{7, 13, 10, times14_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/times18.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/times18.h	(revision 38985)
+++ 	(revision )
@@ -1,980 +1,0 @@
-static unsigned char times18_0_bits[] = {
-0x00};
-static unsigned char times18_1_bits[] = {
-0x00};
-static unsigned char times18_2_bits[] = {
-0x00};
-static unsigned char times18_3_bits[] = {
-0x00};
-static unsigned char times18_4_bits[] = {
-0x00};
-static unsigned char times18_5_bits[] = {
-0x00};
-static unsigned char times18_6_bits[] = {
-0x00};
-static unsigned char times18_7_bits[] = {
-0x00};
-static unsigned char times18_8_bits[] = {
-0x00};
-static unsigned char times18_9_bits[] = {
-0x00};
-static unsigned char times18_10_bits[] = {
-0x00};
-static unsigned char times18_11_bits[] = {
-0x00};
-static unsigned char times18_12_bits[] = {
-0x00};
-static unsigned char times18_13_bits[] = {
-0x00};
-static unsigned char times18_14_bits[] = {
-0x00};
-static unsigned char times18_15_bits[] = {
-0x00};
-static unsigned char times18_16_bits[] = {
-0x00};
-static unsigned char times18_17_bits[] = {
-0x00};
-static unsigned char times18_18_bits[] = {
-0x00};
-static unsigned char times18_19_bits[] = {
-0x00};
-static unsigned char times18_20_bits[] = {
-0x00};
-static unsigned char times18_21_bits[] = {
-0x00};
-static unsigned char times18_22_bits[] = {
-0x00};
-static unsigned char times18_23_bits[] = {
-0x00};
-static unsigned char times18_24_bits[] = {
-0x00};
-static unsigned char times18_25_bits[] = {
-0x00};
-static unsigned char times18_26_bits[] = {
-0x00};
-static unsigned char times18_27_bits[] = {
-0x00};
-static unsigned char times18_28_bits[] = {
-0x00};
-static unsigned char times18_29_bits[] = {
-0x00};
-static unsigned char times18_30_bits[] = {
-0x00};
-static unsigned char times18_31_bits[] = {
-0x00};
-static unsigned char times18_32_bits[] = {
-0x00};
-static unsigned char times18_33_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x00, 0x00, 0x03, 
-0x03};
-static unsigned char times18_34_bits[] = {
-0x33, 0x33, 0x33, 0x11};
-static unsigned char times18_35_bits[] = {
-0xb0, 0x01, 0xb0, 0x01, 0xb0, 0x01, 0xb0, 0x01, 0xfe, 0x07, 0xd8, 0x00, 
-0xd8, 0x00, 0xd8, 0x00, 0xff, 0x03, 0x6c, 0x00, 0x6c, 0x00, 0x6c, 0x00, 
-0x6c, 0x00};
-static unsigned char times18_36_bits[] = {
-0x08, 0x3e, 0x6b, 0x4b, 0x0b, 0x0f, 0x1e, 0x3c, 0x38, 0x68, 0x68, 0x69, 
-0x6b, 0x3e, 0x08, 0x08};
-static unsigned char times18_37_bits[] = {
-0x1c, 0x0c, 0xf6, 0x07, 0x23, 0x02, 0x23, 0x01, 0xb3, 0x01, 0xdf, 0x00, 
-0x4e, 0x0e, 0x60, 0x1b, 0xb0, 0x11, 0x90, 0x11, 0x98, 0x19, 0x8c, 0x0f, 
-0x04, 0x07};
-static unsigned char times18_38_bits[] = {
-0x38, 0x00, 0x4c, 0x00, 0x4c, 0x00, 0x4c, 0x00, 0x2c, 0x00, 0x98, 0x07, 
-0x1c, 0x03, 0xb6, 0x01, 0xf3, 0x00, 0xe3, 0x00, 0xe3, 0x01, 0xb7, 0x0f, 
-0x1e, 0x07};
-static unsigned char times18_39_bits[] = {
-0x03, 0x07, 0x04, 0x02};
-static unsigned char times18_40_bits[] = {
-0x18, 0x0c, 0x06, 0x06, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x02, 0x06, 0x06, 0x0c, 0x18};
-static unsigned char times18_41_bits[] = {
-0x03, 0x06, 0x0c, 0x0c, 0x08, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 
-0x08, 0x0c, 0x0c, 0x06, 0x03};
-static unsigned char times18_42_bits[] = {
-0x08, 0x08, 0x6b, 0x2a, 0x1c, 0x6b, 0x49, 0x08};
-static unsigned char times18_43_bits[] = {
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xff, 0x01, 0x10, 0x00, 
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00};
-static unsigned char times18_44_bits[] = {
-0x06, 0x06, 0x04, 0x06, 0x03};
-static unsigned char times18_45_bits[] = {
-0xff};
-static unsigned char times18_46_bits[] = {
-0x03, 0x03};
-static unsigned char times18_47_bits[] = {
-0x10, 0x10, 0x18, 0x08, 0x08, 0x0c, 0x04, 0x04, 0x06, 0x02, 0x02, 0x03, 
-0x01, 0x01, 0x01};
-static unsigned char times18_48_bits[] = {
-0x3c, 0x66, 0x42, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x42, 0x66, 
-0x3c};
-static unsigned char times18_49_bits[] = {
-0x0c, 0x0e, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x1e, 
-0x3f};
-static unsigned char times18_50_bits[] = {
-0x3c, 0x7e, 0x73, 0x61, 0x60, 0x60, 0x30, 0x30, 0x18, 0x0c, 0x46, 0x7f, 
-0x7f};
-static unsigned char times18_51_bits[] = {
-0x3e, 0x73, 0x61, 0x60, 0x30, 0x1c, 0x3c, 0x70, 0x60, 0x60, 0x60, 0x33, 
-0x1f};
-static unsigned char times18_52_bits[] = {
-0x60, 0x70, 0x70, 0x68, 0x64, 0x66, 0x62, 0x61, 0xff, 0xff, 0x60, 0x60, 
-0x60};
-static unsigned char times18_53_bits[] = {
-0x7e, 0x3e, 0x03, 0x03, 0x0f, 0x3c, 0x30, 0x70, 0x60, 0x60, 0x30, 0x3b, 
-0x0f};
-static unsigned char times18_54_bits[] = {
-0xe0, 0x38, 0x0c, 0x06, 0x06, 0x3f, 0x63, 0xc3, 0xc3, 0xc3, 0xc7, 0x6e, 
-0x3c};
-static unsigned char times18_55_bits[] = {
-0x7f, 0x7f, 0x21, 0x30, 0x10, 0x18, 0x18, 0x08, 0x0c, 0x0c, 0x04, 0x06, 
-0x06};
-static unsigned char times18_56_bits[] = {
-0x3c, 0x66, 0x46, 0x46, 0x2e, 0x3c, 0x3c, 0x76, 0xe3, 0xc3, 0xc3, 0x66, 
-0x3c};
-static unsigned char times18_57_bits[] = {
-0x3c, 0x76, 0x63, 0xc3, 0xc3, 0xc3, 0xc7, 0xfe, 0x60, 0x60, 0x30, 0x1c, 
-0x07};
-static unsigned char times18_58_bits[] = {
-0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03};
-static unsigned char times18_59_bits[] = {
-0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x04, 0x06, 0x03};
-static unsigned char times18_60_bits[] = {
-0x80, 0x01, 0xe0, 0x00, 0x38, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x0e, 0x00, 
-0x38, 0x00, 0xe0, 0x00, 0x80, 0x01};
-static unsigned char times18_61_bits[] = {
-0xff, 0x00, 0xff};
-static unsigned char times18_62_bits[] = {
-0x03, 0x00, 0x0e, 0x00, 0x38, 0x00, 0xe0, 0x00, 0x80, 0x01, 0xe0, 0x00, 
-0x38, 0x00, 0x0e, 0x00, 0x03, 0x00};
-static unsigned char times18_63_bits[] = {
-0x1e, 0x31, 0x23, 0x33, 0x30, 0x18, 0x18, 0x0c, 0x04, 0x04, 0x00, 0x0c, 
-0x0c};
-static unsigned char times18_64_bits[] = {
-0xe0, 0x07, 0x70, 0x0c, 0x1c, 0x18, 0x0c, 0x10, 0xc6, 0x37, 0xe6, 0x27, 
-0x63, 0x26, 0x33, 0x26, 0x33, 0x33, 0x33, 0x13, 0xb3, 0x1b, 0xe6, 0x0e, 
-0x06, 0x00, 0x0c, 0x00, 0x38, 0x0c, 0xe0, 0x07};
-static unsigned char times18_65_bits[] = {
-0x40, 0x00, 0xe0, 0x00, 0xe0, 0x00, 0xa0, 0x00, 0xb0, 0x01, 0x90, 0x01, 
-0x98, 0x03, 0x08, 0x03, 0xf8, 0x03, 0x0c, 0x07, 0x04, 0x06, 0x06, 0x0e, 
-0x0f, 0x1f};
-static unsigned char times18_66_bits[] = {
-0xff, 0x00, 0xc6, 0x01, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 0xc6, 0x00, 
-0xfe, 0x01, 0x86, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x86, 0x01, 
-0xff, 0x00};
-static unsigned char times18_67_bits[] = {
-0xf0, 0x04, 0x0c, 0x07, 0x06, 0x06, 0x06, 0x04, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x06, 0x00, 0x06, 0x06, 0x1c, 0x03, 
-0xf0, 0x00};
-static unsigned char times18_68_bits[] = {
-0xff, 0x00, 0xc6, 0x01, 0x06, 0x03, 0x06, 0x03, 0x06, 0x06, 0x06, 0x06, 
-0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x03, 0x06, 0x03, 0xc6, 0x01, 
-0xff, 0x00};
-static unsigned char times18_69_bits[] = {
-0xff, 0x01, 0x86, 0x01, 0x06, 0x01, 0x06, 0x00, 0x06, 0x00, 0x86, 0x00, 
-0xfe, 0x00, 0x86, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x01, 0x86, 0x01, 
-0xff, 0x01};
-static unsigned char times18_70_bits[] = {
-0xff, 0x01, 0x86, 0x01, 0x06, 0x01, 0x06, 0x00, 0x06, 0x00, 0x86, 0x00, 
-0xfe, 0x00, 0x86, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 
-0x0f, 0x00};
-static unsigned char times18_71_bits[] = {
-0xf0, 0x04, 0x0c, 0x07, 0x06, 0x06, 0x06, 0x04, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x0f, 0x03, 0x06, 0x03, 0x06, 0x06, 0x06, 0x06, 0x06, 0x9c, 0x03, 
-0xf0, 0x00};
-static unsigned char times18_72_bits[] = {
-0x8f, 0x07, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0xfe, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x8f, 0x07};
-static unsigned char times18_73_bits[] = {
-0x0f, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x0f};
-static unsigned char times18_74_bits[] = {
-0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1b, 
-0x0f};
-static unsigned char times18_75_bits[] = {
-0xcf, 0x03, 0x86, 0x01, 0xc6, 0x00, 0x66, 0x00, 0x36, 0x00, 0x1e, 0x00, 
-0x1e, 0x00, 0x36, 0x00, 0x66, 0x00, 0xc6, 0x00, 0xc6, 0x01, 0x86, 0x03, 
-0x0f, 0x07};
-static unsigned char times18_76_bits[] = {
-0x0f, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 
-0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x02, 0x06, 0x03, 
-0xff, 0x03};
-static unsigned char times18_77_bits[] = {
-0x07, 0x38, 0x0e, 0x1c, 0x0e, 0x1c, 0x1e, 0x1e, 0x1a, 0x1a, 0x1a, 0x1b, 
-0x3a, 0x1b, 0x32, 0x19, 0xb2, 0x19, 0xe2, 0x18, 0xe2, 0x18, 0x42, 0x18, 
-0x47, 0x3c};
-static unsigned char times18_78_bits[] = {
-0x07, 0x07, 0x06, 0x02, 0x0e, 0x02, 0x1e, 0x02, 0x1a, 0x02, 0x32, 0x02, 
-0x72, 0x02, 0xe2, 0x02, 0xc2, 0x02, 0x82, 0x03, 0x82, 0x03, 0x02, 0x03, 
-0x07, 0x02};
-static unsigned char times18_79_bits[] = {
-0xf0, 0x00, 0x0c, 0x03, 0x06, 0x06, 0x06, 0x06, 0x03, 0x0c, 0x03, 0x0c, 
-0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x06, 0x06, 0x06, 0x06, 0x0c, 0x03, 
-0xf0, 0x00};
-static unsigned char times18_80_bits[] = {
-0xff, 0x00, 0xc6, 0x01, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 0xc6, 0x00, 
-0x7e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 
-0x0f, 0x00};
-static unsigned char times18_81_bits[] = {
-0xf0, 0x00, 0x0c, 0x03, 0x06, 0x06, 0x06, 0x06, 0x03, 0x0c, 0x03, 0x0c, 
-0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x06, 0x06, 0x06, 0x06, 0x0c, 0x03, 
-0xf0, 0x00, 0x60, 0x00, 0xc0, 0x00, 0x80, 0x03, 0x00, 0x0f};
-static unsigned char times18_82_bits[] = {
-0xff, 0x00, 0xc6, 0x01, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 0xc6, 0x00, 
-0x7e, 0x00, 0x66, 0x00, 0xc6, 0x00, 0x86, 0x01, 0x86, 0x01, 0x06, 0x03, 
-0x0f, 0x07};
-static unsigned char times18_83_bits[] = {
-0x5c, 0x66, 0x43, 0x03, 0x07, 0x1e, 0x3c, 0x70, 0xe0, 0xc0, 0xc1, 0x63, 
-0x3d};
-static unsigned char times18_84_bits[] = {
-0xff, 0x03, 0x33, 0x03, 0x31, 0x02, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 
-0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 
-0x78, 0x00};
-static unsigned char times18_85_bits[] = {
-0x0f, 0x07, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 
-0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x0e, 0x03, 0x9c, 0x01, 
-0xf8, 0x00};
-static unsigned char times18_86_bits[] = {
-0x1f, 0x1e, 0x0e, 0x0c, 0x0c, 0x04, 0x1c, 0x04, 0x18, 0x06, 0x18, 0x02, 
-0x38, 0x02, 0x30, 0x03, 0x70, 0x01, 0x60, 0x01, 0xe0, 0x01, 0xc0, 0x00, 
-0xc0, 0x00};
-static unsigned char times18_87_bits[] = {
-0x9f, 0xc7, 0x03, 0x0c, 0x83, 0x01, 0x0c, 0x83, 0x00, 0x18, 0x83, 0x00, 
-0x18, 0xc6, 0x00, 0x18, 0x46, 0x00, 0x38, 0x47, 0x00, 0x30, 0x65, 0x00, 
-0x30, 0x2d, 0x00, 0xb0, 0x2c, 0x00, 0xe0, 0x3c, 0x00, 0x60, 0x18, 0x00, 
-0x60, 0x18, 0x00};
-static unsigned char times18_88_bits[] = {
-0x0f, 0x0e, 0x0e, 0x06, 0x1c, 0x03, 0x98, 0x01, 0xb0, 0x00, 0x70, 0x00, 
-0x60, 0x00, 0xf0, 0x00, 0xd8, 0x00, 0x88, 0x01, 0x8c, 0x03, 0x06, 0x07, 
-0x0f, 0x0f};
-static unsigned char times18_89_bits[] = {
-0x0f, 0x0f, 0x0e, 0x06, 0x0c, 0x03, 0x18, 0x01, 0x98, 0x00, 0xf0, 0x00, 
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0xf0, 0x00};
-static unsigned char times18_90_bits[] = {
-0xfe, 0x03, 0x86, 0x03, 0x82, 0x01, 0xc0, 0x01, 0xe0, 0x00, 0x60, 0x00, 
-0x70, 0x00, 0x38, 0x00, 0x1c, 0x00, 0x0c, 0x00, 0x0e, 0x02, 0x07, 0x03, 
-0xff, 0x03};
-static unsigned char times18_91_bits[] = {
-0x0f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x0f};
-static unsigned char times18_92_bits[] = {
-0x01, 0x01, 0x03, 0x02, 0x06, 0x06, 0x04, 0x0c, 0x0c, 0x08, 0x18, 0x10, 
-0x10};
-static unsigned char times18_93_bits[] = {
-0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0f};
-static unsigned char times18_94_bits[] = {
-0x08, 0x1c, 0x14, 0x36, 0x22, 0x63, 0x41};
-static unsigned char times18_95_bits[] = {
-0xff, 0x01};
-static unsigned char times18_96_bits[] = {
-0x02, 0x01, 0x07, 0x06};
-static unsigned char times18_97_bits[] = {
-0x1e, 0x33, 0x33, 0x38, 0x36, 0x33, 0x33, 0x3f, 0x66};
-static unsigned char times18_98_bits[] = {
-0x07, 0x06, 0x06, 0x06, 0x76, 0xee, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x6e, 
-0x3c};
-static unsigned char times18_99_bits[] = {
-0x3c, 0x66, 0x63, 0x03, 0x03, 0x03, 0x03, 0x46, 0x3c};
-static unsigned char times18_100_bits[] = {
-0x70, 0x60, 0x60, 0x60, 0x7c, 0x66, 0x63, 0x63, 0x63, 0x63, 0x63, 0x66, 
-0xfc};
-static unsigned char times18_101_bits[] = {
-0x3c, 0x66, 0xc3, 0xff, 0x03, 0x03, 0x87, 0x6e, 0x3c};
-static unsigned char times18_102_bits[] = {
-0x38, 0x2c, 0x04, 0x06, 0x1f, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x0f};
-static unsigned char times18_103_bits[] = {
-0x7c, 0x33, 0x23, 0x23, 0x33, 0x1e, 0x02, 0x3e, 0xfe, 0xc1, 0x83, 0x47, 
-0x3e};
-static unsigned char times18_104_bits[] = {
-0x07, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x66, 0x00, 0xf6, 0x00, 
-0xce, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 
-0xcf, 0x01};
-static unsigned char times18_105_bits[] = {
-0x06, 0x06, 0x00, 0x00, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x0f};
-static unsigned char times18_106_bits[] = {
-0x0c, 0x0c, 0x00, 0x00, 0x0e, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x07, 0x03};
-static unsigned char times18_107_bits[] = {
-0x07, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0xe6, 0x00, 0x46, 0x00, 
-0x26, 0x00, 0x16, 0x00, 0x1e, 0x00, 0x36, 0x00, 0x66, 0x00, 0xc6, 0x00, 
-0xc7, 0x01};
-static unsigned char times18_108_bits[] = {
-0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x0f};
-static unsigned char times18_109_bits[] = {
-0x67, 0x0c, 0xf6, 0x1e, 0xce, 0x19, 0xc6, 0x18, 0xc6, 0x18, 0xc6, 0x18, 
-0xc6, 0x18, 0xc6, 0x18, 0xef, 0x3d};
-static unsigned char times18_110_bits[] = {
-0x67, 0x00, 0xf6, 0x00, 0xce, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 
-0xc6, 0x00, 0xc6, 0x00, 0xcf, 0x01};
-static unsigned char times18_111_bits[] = {
-0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c};
-static unsigned char times18_112_bits[] = {
-0x77, 0xee, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x6e, 0x36, 0x06, 0x06, 0x06, 
-0x0f};
-static unsigned char times18_113_bits[] = {
-0x7c, 0x66, 0x63, 0x63, 0x63, 0x63, 0x63, 0x66, 0x7c, 0x60, 0x60, 0x60, 
-0xf0};
-static unsigned char times18_114_bits[] = {
-0x37, 0x36, 0x0e, 0x06, 0x06, 0x06, 0x06, 0x06, 0x0f};
-static unsigned char times18_115_bits[] = {
-0x16, 0x1b, 0x13, 0x07, 0x0e, 0x1c, 0x19, 0x1b, 0x0d};
-static unsigned char times18_116_bits[] = {
-0x04, 0x06, 0x1f, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x2e, 0x1c};
-static unsigned char times18_117_bits[] = {
-0xe7, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 
-0xc6, 0x00, 0xee, 0x00, 0xdc, 0x01};
-static unsigned char times18_118_bits[] = {
-0xcf, 0x01, 0xc6, 0x00, 0x46, 0x00, 0x4c, 0x00, 0x6c, 0x00, 0x28, 0x00, 
-0x38, 0x00, 0x10, 0x00, 0x10, 0x00};
-static unsigned char times18_119_bits[] = {
-0xe7, 0x1c, 0x66, 0x0c, 0x46, 0x06, 0x6c, 0x06, 0xec, 0x06, 0xb8, 0x02, 
-0xb8, 0x03, 0x10, 0x01, 0x10, 0x01};
-static unsigned char times18_120_bits[] = {
-0xc7, 0x01, 0xc6, 0x00, 0x6c, 0x00, 0x38, 0x00, 0x30, 0x00, 0x38, 0x00, 
-0x6c, 0x00, 0xc6, 0x00, 0xc7, 0x01};
-static unsigned char times18_121_bits[] = {
-0xcf, 0x01, 0x86, 0x00, 0xce, 0x00, 0x4c, 0x00, 0x6c, 0x00, 0x38, 0x00, 
-0x38, 0x00, 0x30, 0x00, 0x18, 0x00, 0x18, 0x00, 0x08, 0x00, 0x0f, 0x00, 
-0x07, 0x00};
-static unsigned char times18_122_bits[] = {
-0x7f, 0x73, 0x31, 0x18, 0x0c, 0x0c, 0x46, 0x67, 0x7f};
-static unsigned char times18_123_bits[] = {
-0x70, 0x18, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x06, 0x03, 0x06, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x18, 0x70};
-static unsigned char times18_124_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-0x01};
-static unsigned char times18_125_bits[] = {
-0x07, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x30, 0x60, 0x30, 0x18, 0x18, 
-0x18, 0x18, 0x18, 0x0c, 0x07};
-static unsigned char times18_126_bits[] = {
-0x9e, 0x01, 0xf3, 0x00};
-static unsigned char times18_127_bits[] = {
-0x00};
-static unsigned char times18_128_bits[] = {
-0x00};
-static unsigned char times18_129_bits[] = {
-0x00};
-static unsigned char times18_130_bits[] = {
-0x00};
-static unsigned char times18_131_bits[] = {
-0x00};
-static unsigned char times18_132_bits[] = {
-0x00};
-static unsigned char times18_133_bits[] = {
-0x00};
-static unsigned char times18_134_bits[] = {
-0x00};
-static unsigned char times18_135_bits[] = {
-0x00};
-static unsigned char times18_136_bits[] = {
-0x00};
-static unsigned char times18_137_bits[] = {
-0x00};
-static unsigned char times18_138_bits[] = {
-0x00};
-static unsigned char times18_139_bits[] = {
-0x00};
-static unsigned char times18_140_bits[] = {
-0x00};
-static unsigned char times18_141_bits[] = {
-0x00};
-static unsigned char times18_142_bits[] = {
-0x00};
-static unsigned char times18_143_bits[] = {
-0x00};
-static unsigned char times18_144_bits[] = {
-0x00};
-static unsigned char times18_145_bits[] = {
-0x00};
-static unsigned char times18_146_bits[] = {
-0x00};
-static unsigned char times18_147_bits[] = {
-0x00};
-static unsigned char times18_148_bits[] = {
-0x00};
-static unsigned char times18_149_bits[] = {
-0x00};
-static unsigned char times18_150_bits[] = {
-0x00};
-static unsigned char times18_151_bits[] = {
-0x00};
-static unsigned char times18_152_bits[] = {
-0x00};
-static unsigned char times18_153_bits[] = {
-0x00};
-static unsigned char times18_154_bits[] = {
-0x00};
-static unsigned char times18_155_bits[] = {
-0x00};
-static unsigned char times18_156_bits[] = {
-0x00};
-static unsigned char times18_157_bits[] = {
-0x00};
-static unsigned char times18_158_bits[] = {
-0x00};
-static unsigned char times18_159_bits[] = {
-0x00};
-static unsigned char times18_160_bits[] = {
-0x00};
-static unsigned char times18_161_bits[] = {
-0x03, 0x03, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03};
-static unsigned char times18_162_bits[] = {
-0x60, 0x20, 0x7c, 0xd6, 0xd3, 0x13, 0x1b, 0x0b, 0x0b, 0x4e, 0x3e, 0x02, 
-0x03};
-static unsigned char times18_163_bits[] = {
-0xf0, 0x00, 0x98, 0x01, 0x98, 0x01, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 
-0x7e, 0x00, 0x18, 0x00, 0x18, 0x00, 0x08, 0x00, 0x1e, 0x02, 0xfd, 0x03, 
-0xe7, 0x01};
-static unsigned char times18_164_bits[] = {
-0xbb, 0x01, 0xef, 0x01, 0xc6, 0x00, 0x82, 0x00, 0xc6, 0x00, 0xef, 0x01, 
-0xbb, 0x01};
-static unsigned char times18_165_bits[] = {
-0xef, 0x46, 0x46, 0x6e, 0x2c, 0x2c, 0x7e, 0x18, 0x7e, 0x18, 0x18, 0x18, 
-0x7e};
-static unsigned char times18_166_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 
-0x01};
-static unsigned char times18_167_bits[] = {
-0x3c, 0x66, 0x66, 0x0e, 0x1c, 0x3e, 0x71, 0xe3, 0xc7, 0x8e, 0x7c, 0x38, 
-0x70, 0x66, 0x66, 0x3c};
-static unsigned char times18_168_bits[] = {
-0x1b, 0x1b};
-static unsigned char times18_169_bits[] = {
-0xf0, 0x01, 0x0c, 0x06, 0x02, 0x08, 0xe2, 0x09, 0x11, 0x11, 0x09, 0x10, 
-0x09, 0x10, 0x09, 0x10, 0x11, 0x11, 0xe2, 0x08, 0x02, 0x08, 0x0c, 0x06, 
-0xf0, 0x01};
-static unsigned char times18_170_bits[] = {
-0x06, 0x09, 0x08, 0x0e, 0x09, 0x17, 0x00, 0x1f};
-static unsigned char times18_171_bits[] = {
-0x88, 0xcc, 0x66, 0x33, 0x66, 0xcc, 0x88};
-static unsigned char times18_172_bits[] = {
-0xff, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01};
-static unsigned char times18_173_bits[] = {
-0x1f, 0x1f};
-static unsigned char times18_174_bits[] = {
-0xf0, 0x01, 0x0c, 0x06, 0x02, 0x08, 0xfa, 0x08, 0x11, 0x11, 0x11, 0x11, 
-0xf1, 0x10, 0x91, 0x10, 0x11, 0x11, 0x3a, 0x0b, 0x02, 0x08, 0x0c, 0x06, 
-0xf0, 0x01};
-static unsigned char times18_175_bits[] = {
-0x1f};
-static unsigned char times18_176_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char times18_177_bits[] = {
-0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xff, 0x01, 0x10, 0x00, 
-0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0xff, 0x01};
-static unsigned char times18_178_bits[] = {
-0x0e, 0x19, 0x18, 0x08, 0x04, 0x04, 0x02, 0x1f};
-static unsigned char times18_179_bits[] = {
-0x0e, 0x11, 0x18, 0x0e, 0x18, 0x10, 0x11, 0x0e};
-static unsigned char times18_180_bits[] = {
-0x0c, 0x06, 0x01};
-static unsigned char times18_181_bits[] = {
-0xe7, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 
-0xc6, 0x00, 0xee, 0x00, 0xde, 0x01, 0x02, 0x00, 0x02, 0x00, 0x06, 0x00, 
-0x06, 0x00};
-static unsigned char times18_182_bits[] = {
-0x7c, 0x2e, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2e, 0x28, 0x28, 0x28, 0x28, 
-0x28, 0x28, 0x28, 0x28, 0x28};
-static unsigned char times18_183_bits[] = {
-0x03, 0x03};
-static unsigned char times18_184_bits[] = {
-0x04, 0x04, 0x08, 0x0d, 0x06};
-static unsigned char times18_185_bits[] = {
-0x02, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times18_186_bits[] = {
-0x0e, 0x1b, 0x11, 0x11, 0x1b, 0x0e, 0x00, 0x1f};
-static unsigned char times18_187_bits[] = {
-0x11, 0x33, 0x66, 0xcc, 0x66, 0x33, 0x11};
-static unsigned char times18_188_bits[] = {
-0x02, 0x01, 0x83, 0x01, 0x82, 0x00, 0xc2, 0x00, 0x62, 0x00, 0x22, 0x02, 
-0x32, 0x03, 0x97, 0x02, 0xd8, 0x02, 0x4c, 0x02, 0xe4, 0x07, 0x06, 0x02, 
-0x02, 0x02};
-static unsigned char times18_189_bits[] = {
-0x02, 0x01, 0x83, 0x01, 0x82, 0x00, 0xc2, 0x00, 0x62, 0x00, 0xa2, 0x03, 
-0x72, 0x06, 0x17, 0x06, 0x18, 0x02, 0x0c, 0x01, 0x04, 0x01, 0x86, 0x00, 
-0xc2, 0x07};
-static unsigned char times18_190_bits[] = {
-0x0e, 0x04, 0x11, 0x06, 0x18, 0x02, 0x0e, 0x03, 0x98, 0x01, 0x90, 0x08, 
-0xd1, 0x0c, 0x4e, 0x0a, 0x60, 0x0b, 0x30, 0x09, 0x90, 0x1f, 0x18, 0x08, 
-0x08, 0x08};
-static unsigned char times18_191_bits[] = {
-0x0c, 0x0c, 0x00, 0x08, 0x08, 0x0c, 0x06, 0x06, 0x03, 0x33, 0x31, 0x23, 
-0x1e};
-static unsigned char times18_192_bits[] = {
-0x30, 0x00, 0x60, 0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x00, 0xe0, 0x00, 
-0xe0, 0x00, 0xa0, 0x00, 0xb0, 0x01, 0x90, 0x01, 0x98, 0x03, 0x08, 0x03, 
-0xf8, 0x03, 0x0c, 0x07, 0x04, 0x06, 0x06, 0x0e, 0x0f, 0x1f};
-static unsigned char times18_193_bits[] = {
-0x00, 0x03, 0x80, 0x01, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0xe0, 0x00, 
-0xe0, 0x00, 0xa0, 0x00, 0xb0, 0x01, 0x90, 0x01, 0x98, 0x03, 0x08, 0x03, 
-0xf8, 0x03, 0x0c, 0x07, 0x04, 0x06, 0x06, 0x0e, 0x0f, 0x1f};
-static unsigned char times18_194_bits[] = {
-0x40, 0x00, 0xe0, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0xe0, 0x00, 
-0xe0, 0x00, 0xa0, 0x00, 0xb0, 0x01, 0x90, 0x01, 0x98, 0x03, 0x08, 0x03, 
-0xf8, 0x03, 0x0c, 0x07, 0x04, 0x06, 0x06, 0x0e, 0x0f, 0x1f};
-static unsigned char times18_195_bits[] = {
-0xe0, 0x02, 0xd0, 0x01, 0x00, 0x00, 0x40, 0x00, 0xe0, 0x00, 0xe0, 0x00, 
-0xa0, 0x00, 0xb0, 0x01, 0x90, 0x01, 0x98, 0x03, 0x08, 0x03, 0xf8, 0x03, 
-0x0c, 0x07, 0x04, 0x06, 0x06, 0x0e, 0x0f, 0x1f};
-static unsigned char times18_196_bits[] = {
-0xb0, 0x01, 0xb0, 0x01, 0x00, 0x00, 0x40, 0x00, 0xe0, 0x00, 0xe0, 0x00, 
-0xa0, 0x00, 0xb0, 0x01, 0x90, 0x01, 0x98, 0x03, 0x08, 0x03, 0xf8, 0x03, 
-0x0c, 0x07, 0x04, 0x06, 0x06, 0x0e, 0x0f, 0x1f};
-static unsigned char times18_197_bits[] = {
-0xc0, 0x00, 0x20, 0x01, 0x20, 0x01, 0xc0, 0x00, 0x40, 0x00, 0xe0, 0x00, 
-0xe0, 0x00, 0xa0, 0x00, 0xb0, 0x01, 0x90, 0x01, 0x98, 0x03, 0x08, 0x03, 
-0xf8, 0x03, 0x0c, 0x07, 0x04, 0x06, 0x06, 0x0e, 0x0f, 0x1f};
-static unsigned char times18_198_bits[] = {
-0xf0, 0x3f, 0xe0, 0x31, 0xa0, 0x21, 0xa0, 0x01, 0xb0, 0x01, 0x90, 0x11, 
-0x98, 0x1f, 0xf8, 0x11, 0x88, 0x01, 0x8c, 0x01, 0x84, 0x41, 0x86, 0x61, 
-0xef, 0x7f};
-static unsigned char times18_199_bits[] = {
-0xf0, 0x04, 0x0c, 0x07, 0x06, 0x06, 0x06, 0x04, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x06, 0x00, 0x06, 0x06, 0x1c, 0x03, 
-0xf0, 0x00, 0x20, 0x00, 0x40, 0x00, 0x68, 0x00, 0x30, 0x00};
-static unsigned char times18_200_bits[] = {
-0x0c, 0x00, 0x18, 0x00, 0x20, 0x00, 0x00, 0x00, 0xff, 0x01, 0x86, 0x01, 
-0x06, 0x01, 0x06, 0x00, 0x06, 0x00, 0x86, 0x00, 0xfe, 0x00, 0x86, 0x00, 
-0x06, 0x00, 0x06, 0x00, 0x06, 0x01, 0x86, 0x01, 0xff, 0x01};
-static unsigned char times18_201_bits[] = {
-0x60, 0x00, 0x30, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0x01, 0x86, 0x01, 
-0x06, 0x01, 0x06, 0x00, 0x06, 0x00, 0x86, 0x00, 0xfe, 0x00, 0x86, 0x00, 
-0x06, 0x00, 0x06, 0x00, 0x06, 0x01, 0x86, 0x01, 0xff, 0x01};
-static unsigned char times18_202_bits[] = {
-0x10, 0x00, 0x38, 0x00, 0x44, 0x00, 0x00, 0x00, 0xff, 0x01, 0x86, 0x01, 
-0x06, 0x01, 0x06, 0x00, 0x06, 0x00, 0x86, 0x00, 0xfe, 0x00, 0x86, 0x00, 
-0x06, 0x00, 0x06, 0x00, 0x06, 0x01, 0x86, 0x01, 0xff, 0x01};
-static unsigned char times18_203_bits[] = {
-0xcc, 0x00, 0xcc, 0x00, 0x00, 0x00, 0xff, 0x01, 0x86, 0x01, 0x06, 0x01, 
-0x06, 0x00, 0x06, 0x00, 0x86, 0x00, 0xfe, 0x00, 0x86, 0x00, 0x06, 0x00, 
-0x06, 0x00, 0x06, 0x01, 0x86, 0x01, 0xff, 0x01};
-static unsigned char times18_204_bits[] = {
-0x03, 0x06, 0x08, 0x00, 0x0f, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x06, 0x06, 0x06, 0x06, 0x0f};
-static unsigned char times18_205_bits[] = {
-0x0c, 0x06, 0x01, 0x00, 0x0f, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x06, 0x06, 0x06, 0x06, 0x0f};
-static unsigned char times18_206_bits[] = {
-0x04, 0x0e, 0x11, 0x00, 0x0f, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x06, 0x06, 0x06, 0x06, 0x0f};
-static unsigned char times18_207_bits[] = {
-0x33, 0x33, 0x00, 0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x1e};
-static unsigned char times18_208_bits[] = {
-0xfe, 0x01, 0x8c, 0x03, 0x0c, 0x06, 0x0c, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x06, 0x0c, 0x06, 0x8c, 0x03, 
-0xfe, 0x01};
-static unsigned char times18_209_bits[] = {
-0x70, 0x01, 0xe8, 0x00, 0x00, 0x00, 0x07, 0x07, 0x06, 0x02, 0x0e, 0x02, 
-0x1e, 0x02, 0x1a, 0x02, 0x32, 0x02, 0x72, 0x02, 0xe2, 0x02, 0xc2, 0x02, 
-0x82, 0x03, 0x82, 0x03, 0x02, 0x03, 0x07, 0x02};
-static unsigned char times18_210_bits[] = {
-0x18, 0x00, 0x30, 0x00, 0x40, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x0c, 0x03, 
-0x06, 0x06, 0x06, 0x06, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 
-0x03, 0x0c, 0x06, 0x06, 0x06, 0x06, 0x0c, 0x03, 0xf0, 0x00};
-static unsigned char times18_211_bits[] = {
-0x00, 0x03, 0x80, 0x01, 0x40, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x0c, 0x03, 
-0x06, 0x06, 0x06, 0x06, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 
-0x03, 0x0c, 0x06, 0x06, 0x06, 0x06, 0x0c, 0x03, 0xf0, 0x00};
-static unsigned char times18_212_bits[] = {
-0x40, 0x00, 0xe0, 0x00, 0x10, 0x01, 0x00, 0x00, 0xf0, 0x00, 0x0c, 0x03, 
-0x06, 0x06, 0x06, 0x06, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 
-0x03, 0x0c, 0x06, 0x06, 0x06, 0x06, 0x0c, 0x03, 0xf0, 0x00};
-static unsigned char times18_213_bits[] = {
-0x70, 0x01, 0xe8, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x0c, 0x03, 0x06, 0x06, 
-0x06, 0x06, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 
-0x06, 0x06, 0x06, 0x06, 0x0c, 0x03, 0xf0, 0x00};
-static unsigned char times18_214_bits[] = {
-0x98, 0x01, 0x98, 0x01, 0x00, 0x00, 0xf0, 0x00, 0x0c, 0x03, 0x06, 0x06, 
-0x06, 0x06, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 
-0x06, 0x06, 0x06, 0x06, 0x0c, 0x03, 0xf0, 0x00};
-static unsigned char times18_215_bits[] = {
-0xc3, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0xc3};
-static unsigned char times18_216_bits[] = {
-0x00, 0x0c, 0xf0, 0x06, 0x0c, 0x03, 0x06, 0x07, 0x86, 0x05, 0xc3, 0x0c, 
-0xc3, 0x0c, 0x63, 0x0c, 0x33, 0x0c, 0x33, 0x0c, 0x1a, 0x06, 0x0e, 0x06, 
-0x0c, 0x03, 0xf6, 0x00, 0x03, 0x00};
-static unsigned char times18_217_bits[] = {
-0x18, 0x00, 0x30, 0x00, 0x40, 0x00, 0x00, 0x00, 0x0f, 0x07, 0x06, 0x02, 
-0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 
-0x06, 0x02, 0x06, 0x02, 0x0e, 0x03, 0x9c, 0x01, 0xf8, 0x00};
-static unsigned char times18_218_bits[] = {
-0x80, 0x01, 0xc0, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0f, 0x07, 0x06, 0x02, 
-0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 
-0x06, 0x02, 0x06, 0x02, 0x0e, 0x03, 0x9c, 0x01, 0xf8, 0x00};
-static unsigned char times18_219_bits[] = {
-0x20, 0x00, 0x70, 0x00, 0x88, 0x00, 0x00, 0x00, 0x0f, 0x07, 0x06, 0x02, 
-0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 
-0x06, 0x02, 0x06, 0x02, 0x0e, 0x03, 0x9c, 0x01, 0xf8, 0x00};
-static unsigned char times18_220_bits[] = {
-0x98, 0x01, 0x98, 0x01, 0x00, 0x00, 0x0f, 0x07, 0x06, 0x02, 0x06, 0x02, 
-0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 
-0x06, 0x02, 0x0e, 0x03, 0x9c, 0x01, 0xf8, 0x00};
-static unsigned char times18_221_bits[] = {
-0x80, 0x01, 0xc0, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0e, 0x06, 
-0x0c, 0x03, 0x18, 0x01, 0x98, 0x00, 0xf0, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0xf0, 0x00};
-static unsigned char times18_222_bits[] = {
-0x0f, 0x00, 0x06, 0x00, 0x06, 0x00, 0xfe, 0x00, 0xc6, 0x01, 0x86, 0x01, 
-0x86, 0x01, 0x86, 0x01, 0xc6, 0x00, 0x7e, 0x00, 0x06, 0x00, 0x06, 0x00, 
-0x0f, 0x00};
-static unsigned char times18_223_bits[] = {
-0x38, 0x6c, 0xc4, 0xc6, 0xc6, 0x66, 0x3e, 0x66, 0xc6, 0xc6, 0xd6, 0xd6, 
-0x77};
-static unsigned char times18_224_bits[] = {
-0x03, 0x06, 0x08, 0x00, 0x1e, 0x13, 0x33, 0x38, 0x36, 0x33, 0x33, 0x3f, 
-0x66};
-static unsigned char times18_225_bits[] = {
-0x30, 0x18, 0x04, 0x00, 0x1e, 0x13, 0x33, 0x38, 0x36, 0x33, 0x33, 0x3f, 
-0x66};
-static unsigned char times18_226_bits[] = {
-0x08, 0x1c, 0x22, 0x00, 0x1e, 0x13, 0x33, 0x38, 0x36, 0x33, 0x33, 0x3f, 
-0x66};
-static unsigned char times18_227_bits[] = {
-0x2c, 0x1a, 0x00, 0x1e, 0x13, 0x33, 0x38, 0x36, 0x33, 0x33, 0x3f, 0x66};
-static unsigned char times18_228_bits[] = {
-0x36, 0x36, 0x00, 0x1e, 0x13, 0x33, 0x38, 0x36, 0x33, 0x33, 0x3f, 0x66};
-static unsigned char times18_229_bits[] = {
-0x0c, 0x12, 0x12, 0x0c, 0x1e, 0x13, 0x33, 0x38, 0x36, 0x33, 0x33, 0x3f, 
-0x66};
-static unsigned char times18_230_bits[] = {
-0xde, 0x03, 0x73, 0x06, 0x33, 0x04, 0xf8, 0x07, 0x36, 0x00, 0x33, 0x00, 
-0x33, 0x00, 0x7f, 0x06, 0xc6, 0x03};
-static unsigned char times18_231_bits[] = {
-0x3c, 0x66, 0x03, 0x03, 0x03, 0x03, 0x03, 0x66, 0x3c, 0x08, 0x10, 0x1a, 
-0x0c};
-static unsigned char times18_232_bits[] = {
-0x06, 0x0c, 0x10, 0x00, 0x3c, 0x66, 0x43, 0x7f, 0x03, 0x03, 0x03, 0x66, 
-0x3c};
-static unsigned char times18_233_bits[] = {
-0x60, 0x30, 0x08, 0x00, 0x3c, 0x66, 0x43, 0x7f, 0x03, 0x03, 0x03, 0x66, 
-0x3c};
-static unsigned char times18_234_bits[] = {
-0x08, 0x1c, 0x22, 0x00, 0x3c, 0x66, 0x43, 0x7f, 0x03, 0x03, 0x03, 0x66, 
-0x3c};
-static unsigned char times18_235_bits[] = {
-0x36, 0x36, 0x00, 0x3c, 0x66, 0x43, 0x7f, 0x03, 0x03, 0x03, 0x66, 0x3c};
-static unsigned char times18_236_bits[] = {
-0x03, 0x06, 0x08, 0x00, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x0f};
-static unsigned char times18_237_bits[] = {
-0x0c, 0x06, 0x01, 0x00, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x0f};
-static unsigned char times18_238_bits[] = {
-0x04, 0x0e, 0x11, 0x00, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x0f};
-static unsigned char times18_239_bits[] = {
-0x1b, 0x1b, 0x00, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x0f};
-static unsigned char times18_240_bits[] = {
-0x06, 0x6c, 0x1c, 0x32, 0x7c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 
-0x3c};
-static unsigned char times18_241_bits[] = {
-0x5c, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x67, 0x00, 0xf6, 0x00, 0xce, 0x00, 
-0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xcf, 0x01};
-static unsigned char times18_242_bits[] = {
-0x06, 0x0c, 0x10, 0x00, 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 
-0x3c};
-static unsigned char times18_243_bits[] = {
-0x60, 0x30, 0x08, 0x00, 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 
-0x3c};
-static unsigned char times18_244_bits[] = {
-0x08, 0x1c, 0x22, 0x00, 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 
-0x3c};
-static unsigned char times18_245_bits[] = {
-0x58, 0x34, 0x00, 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c};
-static unsigned char times18_246_bits[] = {
-0x36, 0x36, 0x00, 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c};
-static unsigned char times18_247_bits[] = {
-0x18, 0x18, 0x00, 0xff, 0x00, 0x18, 0x18};
-static unsigned char times18_248_bits[] = {
-0x80, 0xfc, 0x66, 0xf3, 0xd3, 0xdb, 0xcb, 0xcf, 0x66, 0x3e, 0x03};
-static unsigned char times18_249_bits[] = {
-0x0c, 0x00, 0x18, 0x00, 0x20, 0x00, 0x00, 0x00, 0xe7, 0x00, 0xc6, 0x00, 
-0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xee, 0x00, 
-0xdc, 0x01};
-static unsigned char times18_250_bits[] = {
-0x60, 0x00, 0x30, 0x00, 0x08, 0x00, 0x00, 0x00, 0xe7, 0x00, 0xc6, 0x00, 
-0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xee, 0x00, 
-0xdc, 0x01};
-static unsigned char times18_251_bits[] = {
-0x10, 0x00, 0x38, 0x00, 0x44, 0x00, 0x00, 0x00, 0xe7, 0x00, 0xc6, 0x00, 
-0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xee, 0x00, 
-0xdc, 0x01};
-static unsigned char times18_252_bits[] = {
-0x6c, 0x00, 0x6c, 0x00, 0x00, 0x00, 0xe7, 0x00, 0xc6, 0x00, 0xc6, 0x00, 
-0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0xee, 0x00, 0xdc, 0x01};
-static unsigned char times18_253_bits[] = {
-0xc0, 0x60, 0x10, 0x00, 0xcf, 0xc6, 0x4e, 0x4c, 0x6c, 0x38, 0x38, 0x30, 
-0x10, 0x18, 0x08, 0x0f, 0x07};
-static unsigned char times18_254_bits[] = {
-0x07, 0x06, 0x06, 0x06, 0x76, 0xee, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x6e, 
-0x3e, 0x06, 0x06, 0x06, 0x0f};
-static unsigned char times18_255_bits[] = {
-0x6c, 0x6c, 0x00, 0xcf, 0xc6, 0x4e, 0x4c, 0x6c, 0x38, 0x38, 0x30, 0x10, 
-0x18, 0x08, 0x0f, 0x07};
-static RotFont times18font[] = {
-{5, 1, 1, times18_0_bits},
-{5, 1, 1, times18_1_bits},
-{5, 1, 1, times18_2_bits},
-{5, 1, 1, times18_3_bits},
-{5, 1, 1, times18_4_bits},
-{5, 1, 1, times18_5_bits},
-{5, 1, 1, times18_6_bits},
-{5, 1, 1, times18_7_bits},
-{5, 1, 1, times18_8_bits},
-{5, 1, 1, times18_9_bits},
-{5, 1, 1, times18_10_bits},
-{5, 1, 1, times18_11_bits},
-{5, 1, 1, times18_12_bits},
-{5, 1, 1, times18_13_bits},
-{5, 1, 1, times18_14_bits},
-{5, 1, 1, times18_15_bits},
-{5, 1, 1, times18_16_bits},
-{5, 1, 1, times18_17_bits},
-{5, 1, 1, times18_18_bits},
-{5, 1, 1, times18_19_bits},
-{5, 1, 1, times18_20_bits},
-{5, 1, 1, times18_21_bits},
-{5, 1, 1, times18_22_bits},
-{5, 1, 1, times18_23_bits},
-{5, 1, 1, times18_24_bits},
-{5, 1, 1, times18_25_bits},
-{5, 1, 1, times18_26_bits},
-{5, 1, 1, times18_27_bits},
-{5, 1, 1, times18_28_bits},
-{5, 1, 1, times18_29_bits},
-{5, 1, 1, times18_30_bits},
-{5, 1, 1, times18_31_bits},
-{8, 1, 1, times18_32_bits},
-{2, 13, 13, times18_33_bits},
-{6, 4, 13, times18_34_bits},
-{11, 13, 13, times18_35_bits},
-{7, 16, 14, times18_36_bits},
-{13, 13, 13, times18_37_bits},
-{12, 13, 13, times18_38_bits},
-{3, 4, 13, times18_39_bits},
-{5, 17, 13, times18_40_bits},
-{5, 17, 13, times18_41_bits},
-{7, 8, 14, times18_42_bits},
-{9, 9, 9, times18_43_bits},
-{3, 5, 2, times18_44_bits},
-{8, 1, 5, times18_45_bits},
-{2, 2, 2, times18_46_bits},
-{5, 15, 13, times18_47_bits},
-{8, 13, 13, times18_48_bits},
-{6, 13, 13, times18_49_bits},
-{7, 13, 13, times18_50_bits},
-{7, 13, 13, times18_51_bits},
-{8, 13, 13, times18_52_bits},
-{7, 13, 13, times18_53_bits},
-{8, 13, 13, times18_54_bits},
-{7, 13, 13, times18_55_bits},
-{8, 13, 13, times18_56_bits},
-{8, 13, 13, times18_57_bits},
-{2, 9, 9, times18_58_bits},
-{3, 12, 9, times18_59_bits},
-{9, 9, 9, times18_60_bits},
-{8, 3, 6, times18_61_bits},
-{9, 9, 9, times18_62_bits},
-{6, 13, 13, times18_63_bits},
-{14, 16, 13, times18_64_bits},
-{13, 13, 13, times18_65_bits},
-{10, 13, 13, times18_66_bits},
-{11, 13, 13, times18_67_bits},
-{11, 13, 13, times18_68_bits},
-{9, 13, 13, times18_69_bits},
-{9, 13, 13, times18_70_bits},
-{12, 13, 13, times18_71_bits},
-{11, 13, 13, times18_72_bits},
-{4, 13, 13, times18_73_bits},
-{6, 13, 13, times18_74_bits},
-{11, 13, 13, times18_75_bits},
-{10, 13, 13, times18_76_bits},
-{14, 13, 13, times18_77_bits},
-{11, 13, 13, times18_78_bits},
-{12, 13, 13, times18_79_bits},
-{9, 13, 13, times18_80_bits},
-{12, 17, 13, times18_81_bits},
-{11, 13, 13, times18_82_bits},
-{8, 13, 13, times18_83_bits},
-{10, 13, 13, times18_84_bits},
-{11, 13, 13, times18_85_bits},
-{13, 13, 13, times18_86_bits},
-{18, 13, 13, times18_87_bits},
-{12, 13, 13, times18_88_bits},
-{12, 13, 13, times18_89_bits},
-{10, 13, 13, times18_90_bits},
-{4, 16, 13, times18_91_bits},
-{5, 13, 13, times18_92_bits},
-{4, 16, 13, times18_93_bits},
-{7, 7, 13, times18_94_bits},
-{9, 1, -3, times18_95_bits},
-{3, 4, 13, times18_96_bits},
-{7, 9, 9, times18_97_bits},
-{8, 13, 13, times18_98_bits},
-{7, 9, 9, times18_99_bits},
-{8, 13, 13, times18_100_bits},
-{8, 9, 9, times18_101_bits},
-{6, 13, 13, times18_102_bits},
-{8, 13, 9, times18_103_bits},
-{9, 13, 13, times18_104_bits},
-{4, 13, 13, times18_105_bits},
-{4, 17, 13, times18_106_bits},
-{9, 13, 13, times18_107_bits},
-{4, 13, 13, times18_108_bits},
-{14, 9, 9, times18_109_bits},
-{9, 9, 9, times18_110_bits},
-{8, 9, 9, times18_111_bits},
-{8, 13, 9, times18_112_bits},
-{8, 13, 9, times18_113_bits},
-{6, 9, 9, times18_114_bits},
-{5, 9, 9, times18_115_bits},
-{6, 11, 11, times18_116_bits},
-{9, 9, 9, times18_117_bits},
-{9, 9, 9, times18_118_bits},
-{13, 9, 9, times18_119_bits},
-{9, 9, 9, times18_120_bits},
-{9, 13, 9, times18_121_bits},
-{7, 9, 9, times18_122_bits},
-{7, 17, 13, times18_123_bits},
-{1, 13, 13, times18_124_bits},
-{7, 17, 13, times18_125_bits},
-{9, 2, 6, times18_126_bits},
-{5, 1, 1, times18_127_bits},
-{5, 1, 1, times18_128_bits},
-{5, 1, 1, times18_129_bits},
-{5, 1, 1, times18_130_bits},
-{5, 1, 1, times18_131_bits},
-{5, 1, 1, times18_132_bits},
-{5, 1, 1, times18_133_bits},
-{5, 1, 1, times18_134_bits},
-{5, 1, 1, times18_135_bits},
-{5, 1, 1, times18_136_bits},
-{5, 1, 1, times18_137_bits},
-{5, 1, 1, times18_138_bits},
-{5, 1, 1, times18_139_bits},
-{5, 1, 1, times18_140_bits},
-{5, 1, 1, times18_141_bits},
-{5, 1, 1, times18_142_bits},
-{5, 1, 1, times18_143_bits},
-{5, 1, 1, times18_144_bits},
-{5, 1, 1, times18_145_bits},
-{5, 1, 1, times18_146_bits},
-{5, 1, 1, times18_147_bits},
-{5, 1, 1, times18_148_bits},
-{5, 1, 1, times18_149_bits},
-{5, 1, 1, times18_150_bits},
-{5, 1, 1, times18_151_bits},
-{5, 1, 1, times18_152_bits},
-{5, 1, 1, times18_153_bits},
-{5, 1, 1, times18_154_bits},
-{5, 1, 1, times18_155_bits},
-{5, 1, 1, times18_156_bits},
-{5, 1, 1, times18_157_bits},
-{5, 1, 1, times18_158_bits},
-{5, 1, 1, times18_159_bits},
-{1, 1, 1, times18_160_bits},
-{2, 13, 9, times18_161_bits},
-{8, 13, 11, times18_162_bits},
-{10, 13, 13, times18_163_bits},
-{9, 7, 10, times18_164_bits},
-{8, 13, 13, times18_165_bits},
-{1, 13, 13, times18_166_bits},
-{8, 16, 13, times18_167_bits},
-{5, 2, 12, times18_168_bits},
-{13, 13, 13, times18_169_bits},
-{5, 8, 13, times18_170_bits},
-{8, 7, 8, times18_171_bits},
-{9, 5, 6, times18_172_bits},
-{5, 2, 6, times18_173_bits},
-{13, 13, 13, times18_174_bits},
-{5, 1, 12, times18_175_bits},
-{5, 5, 13, times18_176_bits},
-{9, 10, 10, times18_177_bits},
-{5, 8, 13, times18_178_bits},
-{5, 8, 13, times18_179_bits},
-{4, 3, 13, times18_180_bits},
-{9, 13, 9, times18_181_bits},
-{7, 17, 13, times18_182_bits},
-{2, 2, 6, times18_183_bits},
-{4, 5, 1, times18_184_bits},
-{3, 8, 13, times18_185_bits},
-{5, 8, 13, times18_186_bits},
-{8, 7, 8, times18_187_bits},
-{11, 13, 13, times18_188_bits},
-{11, 13, 13, times18_189_bits},
-{13, 13, 13, times18_190_bits},
-{6, 13, 9, times18_191_bits},
-{13, 17, 17, times18_192_bits},
-{13, 17, 17, times18_193_bits},
-{13, 17, 17, times18_194_bits},
-{13, 16, 16, times18_195_bits},
-{13, 16, 16, times18_196_bits},
-{13, 17, 17, times18_197_bits},
-{15, 13, 13, times18_198_bits},
-{11, 17, 13, times18_199_bits},
-{9, 17, 17, times18_200_bits},
-{9, 17, 17, times18_201_bits},
-{9, 17, 17, times18_202_bits},
-{9, 16, 16, times18_203_bits},
-{4, 17, 17, times18_204_bits},
-{4, 17, 17, times18_205_bits},
-{5, 17, 17, times18_206_bits},
-{6, 16, 16, times18_207_bits},
-{12, 13, 13, times18_208_bits},
-{11, 16, 16, times18_209_bits},
-{12, 17, 17, times18_210_bits},
-{12, 17, 17, times18_211_bits},
-{12, 17, 17, times18_212_bits},
-{12, 16, 16, times18_213_bits},
-{12, 16, 16, times18_214_bits},
-{8, 7, 8, times18_215_bits},
-{12, 15, 14, times18_216_bits},
-{11, 17, 17, times18_217_bits},
-{11, 17, 17, times18_218_bits},
-{11, 17, 17, times18_219_bits},
-{11, 16, 16, times18_220_bits},
-{12, 17, 17, times18_221_bits},
-{9, 13, 13, times18_222_bits},
-{8, 13, 13, times18_223_bits},
-{7, 13, 13, times18_224_bits},
-{7, 13, 13, times18_225_bits},
-{7, 13, 13, times18_226_bits},
-{7, 12, 12, times18_227_bits},
-{7, 12, 12, times18_228_bits},
-{7, 13, 13, times18_229_bits},
-{11, 9, 9, times18_230_bits},
-{7, 13, 9, times18_231_bits},
-{7, 13, 13, times18_232_bits},
-{7, 13, 13, times18_233_bits},
-{7, 13, 13, times18_234_bits},
-{7, 12, 12, times18_235_bits},
-{4, 13, 13, times18_236_bits},
-{4, 13, 13, times18_237_bits},
-{5, 13, 13, times18_238_bits},
-{5, 12, 12, times18_239_bits},
-{8, 13, 13, times18_240_bits},
-{9, 12, 12, times18_241_bits},
-{8, 13, 13, times18_242_bits},
-{8, 13, 13, times18_243_bits},
-{8, 13, 13, times18_244_bits},
-{8, 12, 12, times18_245_bits},
-{8, 12, 12, times18_246_bits},
-{8, 7, 8, times18_247_bits},
-{8, 11, 10, times18_248_bits},
-{9, 13, 13, times18_249_bits},
-{9, 13, 13, times18_250_bits},
-{9, 13, 13, times18_251_bits},
-{9, 12, 12, times18_252_bits},
-{8, 17, 13, times18_253_bits},
-{8, 17, 13, times18_254_bits},
-{8, 16, 12, times18_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/times24.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/times24.h	(revision 38985)
+++ 	(revision )
@@ -1,1110 +1,0 @@
-static unsigned char times24_0_bits[] = {
-0x00};
-static unsigned char times24_1_bits[] = {
-0x00};
-static unsigned char times24_2_bits[] = {
-0x00};
-static unsigned char times24_3_bits[] = {
-0x00};
-static unsigned char times24_4_bits[] = {
-0x00};
-static unsigned char times24_5_bits[] = {
-0x00};
-static unsigned char times24_6_bits[] = {
-0x00};
-static unsigned char times24_7_bits[] = {
-0x00};
-static unsigned char times24_8_bits[] = {
-0x00};
-static unsigned char times24_9_bits[] = {
-0x00};
-static unsigned char times24_10_bits[] = {
-0x00};
-static unsigned char times24_11_bits[] = {
-0x00};
-static unsigned char times24_12_bits[] = {
-0x00};
-static unsigned char times24_13_bits[] = {
-0x00};
-static unsigned char times24_14_bits[] = {
-0x00};
-static unsigned char times24_15_bits[] = {
-0x00};
-static unsigned char times24_16_bits[] = {
-0x00};
-static unsigned char times24_17_bits[] = {
-0x00};
-static unsigned char times24_18_bits[] = {
-0x00};
-static unsigned char times24_19_bits[] = {
-0x00};
-static unsigned char times24_20_bits[] = {
-0x00};
-static unsigned char times24_21_bits[] = {
-0x00};
-static unsigned char times24_22_bits[] = {
-0x00};
-static unsigned char times24_23_bits[] = {
-0x00};
-static unsigned char times24_24_bits[] = {
-0x00};
-static unsigned char times24_25_bits[] = {
-0x00};
-static unsigned char times24_26_bits[] = {
-0x00};
-static unsigned char times24_27_bits[] = {
-0x00};
-static unsigned char times24_28_bits[] = {
-0x00};
-static unsigned char times24_29_bits[] = {
-0x00};
-static unsigned char times24_30_bits[] = {
-0x00};
-static unsigned char times24_31_bits[] = {
-0x00};
-static unsigned char times24_32_bits[] = {
-0x00};
-static unsigned char times24_33_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x00, 0x00, 0x00, 0x03, 0x03};
-static unsigned char times24_34_bits[] = {
-0x33, 0x33, 0x33, 0x33, 0x11};
-static unsigned char times24_35_bits[] = {
-0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0xfe, 0x07, 
-0xfe, 0x07, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0xff, 0x03, 0xff, 0x03, 
-0x44, 0x00, 0x44, 0x00, 0x44, 0x00, 0x44, 0x00, 0x44, 0x00};
-static unsigned char times24_36_bits[] = {
-0x20, 0x00, 0x20, 0x00, 0xf8, 0x01, 0x2c, 0x07, 0x26, 0x06, 0x26, 0x04, 
-0x26, 0x00, 0x2e, 0x00, 0x3c, 0x00, 0x78, 0x00, 0xe0, 0x01, 0xe0, 0x03, 
-0x20, 0x07, 0x20, 0x06, 0x21, 0x06, 0x21, 0x06, 0x23, 0x03, 0xa7, 0x03, 
-0xfc, 0x00, 0x20, 0x00, 0x20, 0x00};
-static unsigned char times24_37_bits[] = {
-0x78, 0x30, 0x00, 0xcc, 0x3f, 0x00, 0x86, 0x18, 0x00, 0x83, 0x08, 0x00, 
-0x83, 0x0c, 0x00, 0x43, 0x06, 0x00, 0x27, 0x02, 0x00, 0x1e, 0x03, 0x00, 
-0x80, 0xf1, 0x00, 0x80, 0x98, 0x01, 0xc0, 0x0c, 0x01, 0x60, 0x06, 0x01, 
-0x20, 0x06, 0x01, 0x30, 0x86, 0x00, 0x18, 0x4e, 0x00, 0x0c, 0x3c, 0x00};
-static unsigned char times24_38_bits[] = {
-0xe0, 0x01, 0x30, 0x03, 0x18, 0x02, 0x18, 0x02, 0x18, 0x03, 0xb8, 0x01, 
-0xf0, 0x00, 0x70, 0x7c, 0x78, 0x18, 0xec, 0x08, 0xc6, 0x04, 0x83, 0x05, 
-0x83, 0x03, 0x03, 0x03, 0x87, 0x87, 0xfe, 0x7e, 0x3c, 0x3c};
-static unsigned char times24_39_bits[] = {
-0x03, 0x07, 0x04, 0x06, 0x03};
-static unsigned char times24_40_bits[] = {
-0x20, 0x10, 0x08, 0x0c, 0x04, 0x06, 0x06, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x06, 0x06, 0x04, 0x0c, 0x08, 0x10, 0x20};
-static unsigned char times24_41_bits[] = {
-0x01, 0x02, 0x04, 0x0c, 0x08, 0x18, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 
-0x30, 0x30, 0x30, 0x18, 0x18, 0x08, 0x0c, 0x04, 0x02, 0x01};
-static unsigned char times24_42_bits[] = {
-0x10, 0x00, 0x38, 0x00, 0x93, 0x01, 0xd7, 0x01, 0x38, 0x00, 0xd7, 0x01, 
-0x93, 0x01, 0x38, 0x00, 0x10, 0x00};
-static unsigned char times24_43_bits[] = {
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0xff, 0x0f, 
-0xff, 0x0f, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00};
-static unsigned char times24_44_bits[] = {
-0x03, 0x07, 0x04, 0x06, 0x03};
-static unsigned char times24_45_bits[] = {
-0xff, 0x0f, 0xff, 0x0f};
-static unsigned char times24_46_bits[] = {
-0x03, 0x03};
-static unsigned char times24_47_bits[] = {
-0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x20, 0x30, 0x30, 0x10, 0x18, 0x18, 0x08, 
-0x0c, 0x0c, 0x04, 0x06, 0x06, 0x03, 0x03, 0x03};
-static unsigned char times24_48_bits[] = {
-0x78, 0x00, 0xcc, 0x00, 0x86, 0x01, 0x86, 0x01, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x87, 0x03, 0x86, 0x01, 0x86, 0x01, 0xcc, 0x00, 0x78, 0x00};
-static unsigned char times24_49_bits[] = {
-0x10, 0x18, 0x1e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 
-0x18, 0x18, 0x18, 0x18, 0xff};
-static unsigned char times24_50_bits[] = {
-0x38, 0x00, 0xfe, 0x00, 0xc2, 0x01, 0x81, 0x01, 0x81, 0x01, 0x80, 0x01, 
-0x80, 0x01, 0xc0, 0x00, 0xc0, 0x00, 0x60, 0x00, 0x20, 0x00, 0x30, 0x00, 
-0x18, 0x00, 0x0c, 0x00, 0x06, 0x02, 0xff, 0x03, 0xff, 0x01};
-static unsigned char times24_51_bits[] = {
-0x38, 0x00, 0x7e, 0x00, 0xe2, 0x00, 0xc1, 0x00, 0xc1, 0x00, 0x60, 0x00, 
-0x30, 0x00, 0x78, 0x00, 0xe0, 0x00, 0xc0, 0x01, 0x80, 0x01, 0x80, 0x01, 
-0x80, 0x01, 0x80, 0x00, 0xc3, 0x00, 0x67, 0x00, 0x1e, 0x00};
-static unsigned char times24_52_bits[] = {
-0xc0, 0x00, 0xe0, 0x00, 0xe0, 0x00, 0xd0, 0x00, 0xd8, 0x00, 0xc8, 0x00, 
-0xcc, 0x00, 0xc4, 0x00, 0xc6, 0x00, 0xc2, 0x00, 0xc3, 0x00, 0xff, 0x03, 
-0xff, 0x03, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00};
-static unsigned char times24_53_bits[] = {
-0xf8, 0x03, 0xf8, 0x01, 0x04, 0x00, 0x04, 0x00, 0x06, 0x00, 0x1e, 0x00, 
-0x7e, 0x00, 0xf0, 0x01, 0xc0, 0x01, 0x80, 0x03, 0x00, 0x03, 0x00, 0x03, 
-0x00, 0x03, 0x00, 0x03, 0x83, 0x01, 0xc7, 0x01, 0x7e, 0x00};
-static unsigned char times24_54_bits[] = {
-0xc0, 0x03, 0x70, 0x00, 0x18, 0x00, 0x0c, 0x00, 0x0e, 0x00, 0x06, 0x00, 
-0x77, 0x00, 0xcf, 0x01, 0x83, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x07, 0x03, 0x86, 0x01, 0xde, 0x01, 0x78, 0x00};
-static unsigned char times24_55_bits[] = {
-0xfe, 0x03, 0xff, 0x03, 0x03, 0x03, 0x81, 0x01, 0x80, 0x01, 0x80, 0x00, 
-0xc0, 0x00, 0xc0, 0x00, 0x40, 0x00, 0x60, 0x00, 0x60, 0x00, 0x20, 0x00, 
-0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x18, 0x00, 0x18, 0x00};
-static unsigned char times24_56_bits[] = {
-0x78, 0x00, 0xcc, 0x00, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 0xcc, 0x00, 
-0x78, 0x00, 0x78, 0x00, 0xec, 0x00, 0x86, 0x01, 0x82, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x87, 0x01, 0xce, 0x01, 0x78, 0x00};
-static unsigned char times24_57_bits[] = {
-0x78, 0x00, 0xee, 0x01, 0x86, 0x01, 0x83, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x86, 0x03, 0xce, 0x03, 0xb8, 0x01, 0x80, 0x01, 
-0xc0, 0x01, 0xc0, 0x00, 0x60, 0x00, 0x38, 0x00, 0x0f, 0x00};
-static unsigned char times24_58_bits[] = {
-0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03};
-static unsigned char times24_59_bits[] = {
-0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x04, 
-0x06, 0x03};
-static unsigned char times24_60_bits[] = {
-0x00, 0x06, 0x80, 0x03, 0xe0, 0x00, 0x38, 0x00, 0x0e, 0x00, 0x03, 0x00, 
-0x0e, 0x00, 0x38, 0x00, 0xe0, 0x00, 0x80, 0x03, 0x00, 0x06};
-static unsigned char times24_61_bits[] = {
-0xff, 0x0f, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0xff, 0x0f};
-static unsigned char times24_62_bits[] = {
-0x03, 0x00, 0x0e, 0x00, 0x38, 0x00, 0xe0, 0x00, 0x80, 0x03, 0x00, 0x06, 
-0x80, 0x03, 0xe0, 0x00, 0x38, 0x00, 0x0e, 0x00, 0x03, 0x00};
-static unsigned char times24_63_bits[] = {
-0x3e, 0x63, 0xc1, 0xc3, 0xc3, 0xe0, 0x70, 0x30, 0x18, 0x18, 0x08, 0x08, 
-0x08, 0x00, 0x00, 0x0c, 0x0c};
-static unsigned char times24_64_bits[] = {
-0xc0, 0x1f, 0x00, 0xf0, 0x70, 0x00, 0x38, 0xc0, 0x00, 0x1c, 0x80, 0x01, 
-0x0e, 0x00, 0x01, 0x06, 0x37, 0x03, 0x87, 0x3f, 0x02, 0xc3, 0x31, 0x02, 
-0xc3, 0x30, 0x02, 0x63, 0x30, 0x02, 0x63, 0x18, 0x02, 0x63, 0x18, 0x03, 
-0x63, 0x18, 0x01, 0x63, 0x9c, 0x01, 0xc6, 0xde, 0x00, 0x86, 0x7b, 0x00, 
-0x0c, 0x00, 0x00, 0x18, 0x00, 0x00, 0x70, 0x30, 0x00, 0xc0, 0x0f, 0x00};
-static unsigned char times24_65_bits[] = {
-0x00, 0x01, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x06, 0x00, 
-0x40, 0x06, 0x00, 0x40, 0x0c, 0x00, 0x60, 0x0c, 0x00, 0x20, 0x0c, 0x00, 
-0x20, 0x18, 0x00, 0x30, 0x18, 0x00, 0xf0, 0x1f, 0x00, 0x10, 0x30, 0x00, 
-0x18, 0x30, 0x00, 0x08, 0x30, 0x00, 0x08, 0x60, 0x00, 0x0c, 0x60, 0x00, 
-0x3f, 0xf8, 0x01};
-static unsigned char times24_66_bits[] = {
-0xff, 0x03, 0x0c, 0x0e, 0x0c, 0x0c, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 
-0x0c, 0x0c, 0x0c, 0x02, 0xfc, 0x07, 0x0c, 0x1c, 0x0c, 0x18, 0x0c, 0x30, 
-0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x18, 0x0c, 0x1e, 0xff, 0x07};
-static unsigned char times24_67_bits[] = {
-0xe0, 0x27, 0x38, 0x3c, 0x1c, 0x30, 0x06, 0x20, 0x06, 0x20, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x06, 0x00, 0x06, 0x20, 0x1c, 0x10, 0x78, 0x1c, 0xe0, 0x07};
-static unsigned char times24_68_bits[] = {
-0xff, 0x03, 0x0c, 0x0e, 0x0c, 0x1c, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x60, 
-0x0c, 0x60, 0x0c, 0x60, 0x0c, 0x60, 0x0c, 0x60, 0x0c, 0x60, 0x0c, 0x60, 
-0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x1c, 0x0c, 0x0e, 0xff, 0x03};
-static unsigned char times24_69_bits[] = {
-0xff, 0x0f, 0x0c, 0x0c, 0x0c, 0x08, 0x0c, 0x08, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x02, 0x0c, 0x02, 0xfc, 0x03, 0x0c, 0x02, 0x0c, 0x02, 0x0c, 0x00, 
-0x0c, 0x00, 0x0c, 0x10, 0x0c, 0x10, 0x0c, 0x18, 0xff, 0x1f};
-static unsigned char times24_70_bits[] = {
-0xff, 0x0f, 0x0c, 0x0c, 0x0c, 0x08, 0x0c, 0x08, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x04, 0x0c, 0x04, 0xfc, 0x07, 0x0c, 0x04, 0x0c, 0x04, 0x0c, 0x00, 
-0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x3f, 0x00};
-static unsigned char times24_71_bits[] = {
-0xe0, 0x27, 0x38, 0x3c, 0x1c, 0x30, 0x06, 0x20, 0x06, 0x20, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0xfc, 0x03, 0x30, 0x03, 0x30, 
-0x06, 0x30, 0x06, 0x30, 0x1c, 0x38, 0x78, 0x1c, 0xe0, 0x07};
-static unsigned char times24_72_bits[] = {
-0x3f, 0xf8, 0x01, 0x0c, 0x60, 0x00, 0x0c, 0x60, 0x00, 0x0c, 0x60, 0x00, 
-0x0c, 0x60, 0x00, 0x0c, 0x60, 0x00, 0x0c, 0x60, 0x00, 0x0c, 0x60, 0x00, 
-0xfc, 0x7f, 0x00, 0x0c, 0x60, 0x00, 0x0c, 0x60, 0x00, 0x0c, 0x60, 0x00, 
-0x0c, 0x60, 0x00, 0x0c, 0x60, 0x00, 0x0c, 0x60, 0x00, 0x0c, 0x60, 0x00, 
-0x3f, 0xf8, 0x01};
-static unsigned char times24_73_bits[] = {
-0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x3f};
-static unsigned char times24_74_bits[] = {
-0xf8, 0x01, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0x60, 0x00, 0x60, 0x00, 0x63, 0x00, 0x33, 0x00, 0x1e, 0x00};
-static unsigned char times24_75_bits[] = {
-0x3f, 0x7e, 0x0c, 0x18, 0x0c, 0x0c, 0x0c, 0x06, 0x0c, 0x03, 0x8c, 0x01, 
-0xcc, 0x00, 0x7c, 0x00, 0xfc, 0x00, 0xcc, 0x01, 0x8c, 0x03, 0x0c, 0x07, 
-0x0c, 0x0e, 0x0c, 0x1c, 0x0c, 0x38, 0x0c, 0x70, 0x3f, 0xf8};
-static unsigned char times24_76_bits[] = {
-0x3f, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x00, 0x0c, 0x10, 0x0c, 0x10, 0x0c, 0x18, 0xff, 0x1f};
-static unsigned char times24_77_bits[] = {
-0x0f, 0x00, 0x1f, 0x0c, 0x00, 0x07, 0x1c, 0x80, 0x06, 0x1c, 0x80, 0x06, 
-0x34, 0x40, 0x06, 0x34, 0x40, 0x06, 0x64, 0x40, 0x06, 0x64, 0x20, 0x06, 
-0xc4, 0x20, 0x06, 0xc4, 0x10, 0x06, 0x84, 0x11, 0x06, 0x84, 0x11, 0x06, 
-0x04, 0x0b, 0x06, 0x04, 0x0b, 0x06, 0x04, 0x06, 0x06, 0x04, 0x06, 0x06, 
-0x1f, 0x84, 0x1f};
-static unsigned char times24_78_bits[] = {
-0x0f, 0xf8, 0x0c, 0x20, 0x1c, 0x20, 0x1c, 0x20, 0x34, 0x20, 0x64, 0x20, 
-0x64, 0x20, 0xc4, 0x20, 0x84, 0x21, 0x84, 0x21, 0x04, 0x23, 0x04, 0x26, 
-0x04, 0x26, 0x04, 0x2c, 0x04, 0x38, 0x04, 0x38, 0x1f, 0x30};
-static unsigned char times24_79_bits[] = {
-0xe0, 0x07, 0x38, 0x1c, 0x1c, 0x38, 0x06, 0x60, 0x06, 0x60, 0x03, 0xc0, 
-0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 
-0x06, 0x60, 0x06, 0x60, 0x1c, 0x38, 0x38, 0x1c, 0xe0, 0x07};
-static unsigned char times24_80_bits[] = {
-0xff, 0x03, 0x0c, 0x0e, 0x0c, 0x0c, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 
-0x0c, 0x0c, 0x0c, 0x0e, 0xfc, 0x03, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x3f, 0x00};
-static unsigned char times24_81_bits[] = {
-0xe0, 0x07, 0x38, 0x1c, 0x1c, 0x38, 0x06, 0x60, 0x06, 0x60, 0x03, 0xc0, 
-0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 
-0x06, 0x60, 0x06, 0x60, 0x1c, 0x38, 0x38, 0x1c, 0xe0, 0x07, 0x80, 0x03, 
-0x00, 0x07, 0x00, 0x0e, 0x00, 0x1c, 0x00, 0xf0};
-static unsigned char times24_82_bits[] = {
-0xff, 0x03, 0x0c, 0x0e, 0x0c, 0x0c, 0x0c, 0x1c, 0x0c, 0x18, 0x0c, 0x1c, 
-0x0c, 0x0c, 0x0c, 0x0e, 0xfc, 0x03, 0xcc, 0x01, 0x8c, 0x03, 0x0c, 0x03, 
-0x0c, 0x06, 0x0c, 0x0e, 0x0c, 0x1c, 0x0c, 0x38, 0x3f, 0x78};
-static unsigned char times24_83_bits[] = {
-0x78, 0x02, 0xc6, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x02, 0x07, 0x00, 
-0x1e, 0x00, 0x78, 0x00, 0xf0, 0x01, 0xc0, 0x03, 0x00, 0x07, 0x00, 0x06, 
-0x01, 0x06, 0x01, 0x06, 0x03, 0x03, 0x8f, 0x01, 0x79, 0x00};
-static unsigned char times24_84_bits[] = {
-0xff, 0x3f, 0xc3, 0x30, 0xc1, 0x20, 0xc1, 0x20, 0xc0, 0x00, 0xc0, 0x00, 
-0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 
-0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xf0, 0x03};
-static unsigned char times24_85_bits[] = {
-0x3f, 0xf8, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 
-0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 
-0x0c, 0x20, 0x0c, 0x10, 0x18, 0x10, 0x38, 0x0c, 0xe0, 0x07};
-static unsigned char times24_86_bits[] = {
-0x3f, 0xf8, 0x01, 0x0c, 0x60, 0x00, 0x0c, 0x20, 0x00, 0x18, 0x30, 0x00, 
-0x18, 0x10, 0x00, 0x18, 0x10, 0x00, 0x30, 0x18, 0x00, 0x30, 0x08, 0x00, 
-0x60, 0x0c, 0x00, 0x60, 0x04, 0x00, 0x60, 0x04, 0x00, 0xc0, 0x06, 0x00, 
-0xc0, 0x02, 0x00, 0xc0, 0x03, 0x00, 0x80, 0x01, 0x00, 0x80, 0x01, 0x00, 
-0x80, 0x01, 0x00};
-static unsigned char times24_87_bits[] = {
-0x3f, 0x7e, 0x7e, 0x0c, 0x18, 0x18, 0x0c, 0x18, 0x08, 0x18, 0x18, 0x08, 
-0x18, 0x18, 0x0c, 0x18, 0x34, 0x04, 0x30, 0x34, 0x04, 0x30, 0x34, 0x06, 
-0x60, 0x32, 0x06, 0x60, 0x32, 0x02, 0x60, 0x62, 0x02, 0xc0, 0x62, 0x03, 
-0xc0, 0x62, 0x01, 0xc0, 0xe1, 0x01, 0x80, 0xc1, 0x01, 0x80, 0xc1, 0x00, 
-0x80, 0xc1, 0x00};
-static unsigned char times24_88_bits[] = {
-0x7e, 0xf0, 0x01, 0x38, 0x60, 0x00, 0x70, 0x30, 0x00, 0x60, 0x10, 0x00, 
-0xc0, 0x08, 0x00, 0xc0, 0x05, 0x00, 0x80, 0x03, 0x00, 0x00, 0x03, 0x00, 
-0x00, 0x07, 0x00, 0x80, 0x0e, 0x00, 0x40, 0x1c, 0x00, 0x60, 0x18, 0x00, 
-0x20, 0x30, 0x00, 0x10, 0x70, 0x00, 0x18, 0xe0, 0x00, 0x0c, 0xc0, 0x01, 
-0x3f, 0xf0, 0x03};
-static unsigned char times24_89_bits[] = {
-0x3f, 0xfc, 0x0c, 0x30, 0x1c, 0x10, 0x18, 0x18, 0x38, 0x08, 0x30, 0x0c, 
-0x60, 0x04, 0x60, 0x06, 0xc0, 0x02, 0xc0, 0x03, 0x80, 0x01, 0x80, 0x01, 
-0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xe0, 0x07};
-static unsigned char times24_90_bits[] = {
-0xff, 0x0f, 0x03, 0x0e, 0x01, 0x07, 0x01, 0x03, 0x80, 0x03, 0xc0, 0x01, 
-0xc0, 0x00, 0xe0, 0x00, 0x60, 0x00, 0x70, 0x00, 0x38, 0x00, 0x18, 0x00, 
-0x1c, 0x00, 0x0c, 0x10, 0x0e, 0x10, 0x07, 0x18, 0xff, 0x1f};
-static unsigned char times24_91_bits[] = {
-0x1f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1f};
-static unsigned char times24_92_bits[] = {
-0x03, 0x03, 0x02, 0x06, 0x06, 0x04, 0x0c, 0x0c, 0x08, 0x18, 0x18, 0x10, 
-0x30, 0x30, 0x20, 0x60, 0x60};
-static unsigned char times24_93_bits[] = {
-0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 
-0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f};
-static unsigned char times24_94_bits[] = {
-0x10, 0x00, 0x38, 0x00, 0x28, 0x00, 0x6c, 0x00, 0x44, 0x00, 0xc6, 0x00, 
-0x82, 0x00, 0x83, 0x01, 0x01, 0x01};
-static unsigned char times24_95_bits[] = {
-0xff, 0x1f, 0xff, 0x1f};
-static unsigned char times24_96_bits[] = {
-0x06, 0x03, 0x01, 0x07, 0x06};
-static unsigned char times24_97_bits[] = {
-0x7c, 0x00, 0xe6, 0x00, 0xc6, 0x00, 0xc0, 0x00, 0xf0, 0x00, 0xdc, 0x00, 
-0xc6, 0x00, 0xc3, 0x00, 0xc3, 0x00, 0xe3, 0x00, 0xdf, 0x00, 0x8e, 0x01};
-static unsigned char times24_98_bits[] = {
-0x07, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x76, 0x00, 
-0xce, 0x01, 0x86, 0x01, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x86, 0x01, 0xce, 0x01, 0x7a, 0x00};
-static unsigned char times24_99_bits[] = {
-0xf8, 0x00, 0xc6, 0x01, 0x82, 0x01, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0e, 0x01, 0xfe, 0x00, 0x78, 0x00};
-static unsigned char times24_100_bits[] = {
-0xc0, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xb8, 0x01, 
-0xce, 0x01, 0x86, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 
-0x83, 0x01, 0x83, 0x01, 0x86, 0x01, 0xce, 0x01, 0x78, 0x03};
-static unsigned char times24_101_bits[] = {
-0x78, 0x00, 0xc6, 0x00, 0x82, 0x01, 0x83, 0x01, 0xff, 0x01, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0e, 0x01, 0xfe, 0x00, 0x78, 0x00};
-static unsigned char times24_102_bits[] = {
-0x70, 0x68, 0x0c, 0x0c, 0x0c, 0x7f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x1e};
-static unsigned char times24_103_bits[] = {
-0xf8, 0x03, 0xcc, 0x00, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 
-0xcc, 0x00, 0x7c, 0x00, 0x0c, 0x00, 0x06, 0x00, 0xfe, 0x00, 0xfc, 0x03, 
-0x06, 0x06, 0x03, 0x04, 0x03, 0x06, 0x8f, 0x03, 0xfc, 0x00};
-static unsigned char times24_104_bits[] = {
-0x07, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0xe6, 0x00, 
-0xf6, 0x01, 0x8e, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x8f, 0x07};
-static unsigned char times24_105_bits[] = {
-0x06, 0x06, 0x00, 0x00, 0x00, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x06, 0x06, 0x06, 0x06, 0x0f};
-static unsigned char times24_106_bits[] = {
-0x0c, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03};
-static unsigned char times24_107_bits[] = {
-0x07, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0xe6, 0x03, 
-0xc6, 0x00, 0x66, 0x00, 0x26, 0x00, 0x16, 0x00, 0x1e, 0x00, 0x36, 0x00, 
-0x76, 0x00, 0xe6, 0x00, 0xc6, 0x01, 0x86, 0x03, 0xcf, 0x07};
-static unsigned char times24_108_bits[] = {
-0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x06, 0x06, 0x06, 0x06, 0x0f};
-static unsigned char times24_109_bits[] = {
-0xe7, 0x70, 0x00, 0xf6, 0xf9, 0x00, 0x8e, 0xc7, 0x01, 0x06, 0x83, 0x01, 
-0x06, 0x83, 0x01, 0x06, 0x83, 0x01, 0x06, 0x83, 0x01, 0x06, 0x83, 0x01, 
-0x06, 0x83, 0x01, 0x06, 0x83, 0x01, 0x06, 0x83, 0x01, 0x8f, 0xc7, 0x03};
-static unsigned char times24_110_bits[] = {
-0xe7, 0x00, 0xf6, 0x01, 0x8e, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x8f, 0x07};
-static unsigned char times24_111_bits[] = {
-0x78, 0x00, 0xce, 0x01, 0x86, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x86, 0x01, 0xce, 0x01, 0x78, 0x00};
-static unsigned char times24_112_bits[] = {
-0x77, 0x00, 0xce, 0x01, 0x86, 0x01, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x86, 0x01, 0xce, 0x01, 0x76, 0x00, 
-0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0f, 0x00};
-static unsigned char times24_113_bits[] = {
-0xb8, 0x01, 0xce, 0x01, 0x86, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 
-0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x86, 0x01, 0xce, 0x01, 0xb8, 0x01, 
-0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xc0, 0x03};
-static unsigned char times24_114_bits[] = {
-0x67, 0x76, 0x6e, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x0f};
-static unsigned char times24_115_bits[] = {
-0x7c, 0x66, 0x43, 0x07, 0x0e, 0x3e, 0x78, 0xe0, 0xc0, 0xc1, 0x63, 0x1f};
-static unsigned char times24_116_bits[] = {
-0x08, 0x0c, 0x0e, 0x7f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x4c, 0x38};
-static unsigned char times24_117_bits[] = {
-0x87, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x8e, 0x03, 0x7c, 0x03, 0x38, 0x07};
-static unsigned char times24_118_bits[] = {
-0x8f, 0x07, 0x06, 0x03, 0x06, 0x01, 0x0c, 0x01, 0x0c, 0x01, 0x8c, 0x00, 
-0x98, 0x00, 0x98, 0x00, 0x58, 0x00, 0x70, 0x00, 0x70, 0x00, 0x20, 0x00};
-static unsigned char times24_119_bits[] = {
-0x8f, 0xe7, 0x01, 0x06, 0xc3, 0x00, 0x06, 0x43, 0x00, 0x0c, 0x43, 0x00, 
-0x0c, 0x43, 0x00, 0x8c, 0x26, 0x00, 0x98, 0x26, 0x00, 0x58, 0x26, 0x00, 
-0x58, 0x14, 0x00, 0x70, 0x1c, 0x00, 0x70, 0x1c, 0x00, 0x20, 0x08, 0x00};
-static unsigned char times24_120_bits[] = {
-0x8f, 0x07, 0x06, 0x03, 0x8c, 0x01, 0x9c, 0x00, 0x58, 0x00, 0x30, 0x00, 
-0x70, 0x00, 0xd8, 0x00, 0xcc, 0x01, 0x84, 0x01, 0x06, 0x03, 0x8f, 0x07};
-static unsigned char times24_121_bits[] = {
-0x8f, 0x07, 0x06, 0x03, 0x06, 0x01, 0x0c, 0x01, 0x0c, 0x01, 0x8c, 0x00, 
-0x98, 0x00, 0x98, 0x00, 0x58, 0x00, 0x70, 0x00, 0x70, 0x00, 0x20, 0x00, 
-0x30, 0x00, 0x10, 0x00, 0x18, 0x00, 0x0f, 0x00, 0x07, 0x00};
-static unsigned char times24_122_bits[] = {
-0xff, 0xc3, 0x61, 0x70, 0x38, 0x18, 0x1c, 0x0c, 0x0e, 0x86, 0xc3, 0xff};
-static unsigned char times24_123_bits[] = {
-0xe0, 0x30, 0x18, 0x18, 0x18, 0x18, 0x18, 0x08, 0x0c, 0x04, 0x03, 0x04, 
-0x0c, 0x08, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x30, 0xe0};
-static unsigned char times24_124_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char times24_125_bits[] = {
-0x07, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x10, 0x30, 0x20, 0xc0, 0x20, 
-0x30, 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0c, 0x07};
-static unsigned char times24_126_bits[] = {
-0x1c, 0x04, 0x3e, 0x06, 0xe3, 0x03, 0xc1, 0x01};
-static unsigned char times24_127_bits[] = {
-0x00};
-static unsigned char times24_128_bits[] = {
-0x00};
-static unsigned char times24_129_bits[] = {
-0x00};
-static unsigned char times24_130_bits[] = {
-0x00};
-static unsigned char times24_131_bits[] = {
-0x00};
-static unsigned char times24_132_bits[] = {
-0x00};
-static unsigned char times24_133_bits[] = {
-0x00};
-static unsigned char times24_134_bits[] = {
-0x00};
-static unsigned char times24_135_bits[] = {
-0x00};
-static unsigned char times24_136_bits[] = {
-0x00};
-static unsigned char times24_137_bits[] = {
-0x00};
-static unsigned char times24_138_bits[] = {
-0x00};
-static unsigned char times24_139_bits[] = {
-0x00};
-static unsigned char times24_140_bits[] = {
-0x00};
-static unsigned char times24_141_bits[] = {
-0x00};
-static unsigned char times24_142_bits[] = {
-0x00};
-static unsigned char times24_143_bits[] = {
-0x00};
-static unsigned char times24_144_bits[] = {
-0x00};
-static unsigned char times24_145_bits[] = {
-0x00};
-static unsigned char times24_146_bits[] = {
-0x00};
-static unsigned char times24_147_bits[] = {
-0x00};
-static unsigned char times24_148_bits[] = {
-0x00};
-static unsigned char times24_149_bits[] = {
-0x00};
-static unsigned char times24_150_bits[] = {
-0x00};
-static unsigned char times24_151_bits[] = {
-0x00};
-static unsigned char times24_152_bits[] = {
-0x00};
-static unsigned char times24_153_bits[] = {
-0x00};
-static unsigned char times24_154_bits[] = {
-0x00};
-static unsigned char times24_155_bits[] = {
-0x00};
-static unsigned char times24_156_bits[] = {
-0x00};
-static unsigned char times24_157_bits[] = {
-0x00};
-static unsigned char times24_158_bits[] = {
-0x00};
-static unsigned char times24_159_bits[] = {
-0x00};
-static unsigned char times24_160_bits[] = {
-0x00};
-static unsigned char times24_161_bits[] = {
-0x03, 0x03, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char times24_162_bits[] = {
-0x80, 0x00, 0x80, 0x00, 0xf8, 0x00, 0xc6, 0x01, 0xc2, 0x01, 0x23, 0x00, 
-0x23, 0x00, 0x13, 0x00, 0x13, 0x00, 0x13, 0x00, 0x0b, 0x00, 0x0e, 0x01, 
-0xfe, 0x00, 0x7c, 0x00, 0x02, 0x00, 0x02, 0x00};
-static unsigned char times24_163_bits[] = {
-0xf0, 0x00, 0x98, 0x01, 0x8c, 0x01, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x00, 0x3f, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x00, 0x0c, 0x00, 0x1e, 0x02, 0x7d, 0x03, 0xe7, 0x01};
-static unsigned char times24_164_bits[] = {
-0x03, 0x06, 0x77, 0x07, 0xfe, 0x03, 0x8c, 0x01, 0x06, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x8c, 0x01, 0xfe, 0x03, 0x77, 0x07, 0x03, 0x06};
-static unsigned char times24_165_bits[] = {
-0x1f, 0x3e, 0x0e, 0x0c, 0x0c, 0x04, 0x18, 0x06, 0x18, 0x02, 0x30, 0x03, 
-0x30, 0x01, 0xe0, 0x01, 0xc0, 0x00, 0xf8, 0x07, 0xc0, 0x00, 0xf8, 0x07, 
-0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xf0, 0x03};
-static unsigned char times24_166_bits[] = {
-0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x03};
-static unsigned char times24_167_bits[] = {
-0x38, 0x64, 0x62, 0x06, 0x0e, 0x1c, 0x3c, 0x72, 0xe1, 0xc1, 0xc3, 0x47, 
-0x2e, 0x1c, 0x38, 0x70, 0x60, 0x46, 0x26, 0x1c};
-static unsigned char times24_168_bits[] = {
-0x33, 0x33};
-static unsigned char times24_169_bits[] = {
-0xe0, 0x0f, 0x00, 0x38, 0x38, 0x00, 0x0c, 0x60, 0x00, 0x86, 0xc7, 0x00, 
-0xe2, 0x8c, 0x00, 0x23, 0x98, 0x01, 0x31, 0x00, 0x01, 0x11, 0x00, 0x01, 
-0x11, 0x00, 0x01, 0x11, 0x00, 0x01, 0x31, 0x00, 0x01, 0x23, 0x98, 0x01, 
-0xe2, 0x8e, 0x00, 0x86, 0xc3, 0x00, 0x0c, 0x60, 0x00, 0x38, 0x38, 0x00, 
-0xe0, 0x0f, 0x00};
-static unsigned char times24_170_bits[] = {
-0x1e, 0x33, 0x30, 0x3e, 0x33, 0x33, 0x6e, 0x00, 0x7e};
-static unsigned char times24_171_bits[] = {
-0x10, 0x01, 0x98, 0x01, 0xcc, 0x00, 0x66, 0x00, 0x33, 0x00, 0x33, 0x00, 
-0x66, 0x00, 0xcc, 0x00, 0x98, 0x01, 0x10, 0x01};
-static unsigned char times24_172_bits[] = {
-0xff, 0x0f, 0xff, 0x0f, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 
-0x00, 0x0c};
-static unsigned char times24_173_bits[] = {
-0x7f, 0x7f};
-static unsigned char times24_174_bits[] = {
-0xe0, 0x0f, 0x00, 0x38, 0x38, 0x00, 0x0c, 0x60, 0x00, 0xe6, 0xc7, 0x00, 
-0x42, 0x8c, 0x00, 0x43, 0x88, 0x01, 0x41, 0x08, 0x01, 0x41, 0x0c, 0x01, 
-0xc1, 0x07, 0x01, 0x41, 0x02, 0x01, 0x41, 0x04, 0x01, 0x43, 0x8c, 0x01, 
-0xe2, 0x98, 0x00, 0x06, 0xc0, 0x00, 0x0c, 0x60, 0x00, 0x38, 0x38, 0x00, 
-0xe0, 0x0f, 0x00};
-static unsigned char times24_175_bits[] = {
-0x3f, 0x3f};
-static unsigned char times24_176_bits[] = {
-0x1c, 0x22, 0x41, 0x41, 0x41, 0x22, 0x1c};
-static unsigned char times24_177_bits[] = {
-0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0xff, 0x0f, 
-0xff, 0x0f, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
-0x00, 0x00, 0xff, 0x0f, 0xff, 0x0f};
-static unsigned char times24_178_bits[] = {
-0x1c, 0x32, 0x31, 0x30, 0x10, 0x08, 0x0c, 0x04, 0x22, 0x3f};
-static unsigned char times24_179_bits[] = {
-0x1c, 0x32, 0x31, 0x10, 0x0c, 0x10, 0x30, 0x31, 0x11, 0x0e};
-static unsigned char times24_180_bits[] = {
-0x18, 0x1c, 0x06, 0x01};
-static unsigned char times24_181_bits[] = {
-0x87, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x8e, 0x03, 0x7e, 0x03, 0x3a, 0x07, 
-0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x07, 0x00, 0x02, 0x00};
-static unsigned char times24_182_bits[] = {
-0xf8, 0x01, 0x9c, 0x00, 0x9e, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0x9f, 0x00, 
-0x9f, 0x00, 0x9e, 0x00, 0x9e, 0x00, 0x9c, 0x00, 0x98, 0x00, 0x90, 0x00, 
-0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 
-0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00};
-static unsigned char times24_183_bits[] = {
-0x03, 0x03};
-static unsigned char times24_184_bits[] = {
-0x08, 0x0c, 0x3c, 0x30, 0x33, 0x1e};
-static unsigned char times24_185_bits[] = {
-0x04, 0x06, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1f};
-static unsigned char times24_186_bits[] = {
-0x1e, 0x33, 0x33, 0x33, 0x33, 0x33, 0x1e, 0x00, 0x3f};
-static unsigned char times24_187_bits[] = {
-0x11, 0x00, 0x33, 0x00, 0x66, 0x00, 0xcc, 0x00, 0x98, 0x01, 0x98, 0x01, 
-0xcc, 0x00, 0x66, 0x00, 0x33, 0x00, 0x11, 0x00};
-static unsigned char times24_188_bits[] = {
-0x04, 0x10, 0x06, 0x18, 0x05, 0x0c, 0x04, 0x04, 0x04, 0x06, 0x04, 0x02, 
-0x04, 0x03, 0x84, 0x21, 0x84, 0x30, 0xdf, 0x38, 0x40, 0x28, 0x60, 0x24, 
-0x30, 0x26, 0x10, 0x22, 0x18, 0xff, 0x08, 0x20, 0x0c, 0x20};
-static unsigned char times24_189_bits[] = {
-0x04, 0x10, 0x06, 0x18, 0x05, 0x0c, 0x04, 0x04, 0x04, 0x06, 0x04, 0x02, 
-0x04, 0x03, 0x84, 0x39, 0x84, 0x64, 0xdf, 0x62, 0x40, 0x60, 0x60, 0x20, 
-0x30, 0x10, 0x10, 0x18, 0x18, 0x08, 0x08, 0x44, 0x0c, 0x7e};
-static unsigned char times24_190_bits[] = {
-0x1c, 0x20, 0x00, 0x32, 0x30, 0x00, 0x31, 0x18, 0x00, 0x10, 0x08, 0x00, 
-0x0c, 0x0c, 0x00, 0x10, 0x04, 0x00, 0x30, 0x06, 0x00, 0x31, 0x43, 0x00, 
-0x11, 0x61, 0x00, 0x8e, 0x71, 0x00, 0x80, 0x50, 0x00, 0xc0, 0x48, 0x00, 
-0x60, 0x4c, 0x00, 0x20, 0x44, 0x00, 0x30, 0xfe, 0x01, 0x10, 0x40, 0x00, 
-0x18, 0x40, 0x00};
-static unsigned char times24_191_bits[] = {
-0x30, 0x30, 0x00, 0x00, 0x10, 0x10, 0x18, 0x18, 0x1c, 0x0c, 0x0e, 0x07, 
-0xc3, 0xc3, 0x83, 0xc6, 0x7c};
-static unsigned char times24_192_bits[] = {
-0xc0, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x04, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 
-0x80, 0x06, 0x00, 0x40, 0x06, 0x00, 0x40, 0x0c, 0x00, 0x60, 0x0c, 0x00, 
-0x20, 0x0c, 0x00, 0x20, 0x18, 0x00, 0x30, 0x18, 0x00, 0xf0, 0x1f, 0x00, 
-0x10, 0x30, 0x00, 0x18, 0x30, 0x00, 0x08, 0x30, 0x00, 0x08, 0x60, 0x00, 
-0x0c, 0x60, 0x00, 0x3f, 0xf8, 0x01};
-static unsigned char times24_193_bits[] = {
-0x00, 0x0c, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x03, 0x00, 0x80, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 
-0x80, 0x06, 0x00, 0x40, 0x06, 0x00, 0x40, 0x0c, 0x00, 0x60, 0x0c, 0x00, 
-0x20, 0x0c, 0x00, 0x20, 0x18, 0x00, 0x30, 0x18, 0x00, 0xf0, 0x1f, 0x00, 
-0x10, 0x30, 0x00, 0x18, 0x30, 0x00, 0x08, 0x30, 0x00, 0x08, 0x60, 0x00, 
-0x0c, 0x60, 0x00, 0x3f, 0xf8, 0x01};
-static unsigned char times24_194_bits[] = {
-0x80, 0x01, 0x00, 0xc0, 0x03, 0x00, 0x60, 0x06, 0x00, 0x10, 0x08, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 
-0x80, 0x06, 0x00, 0x40, 0x06, 0x00, 0x40, 0x0c, 0x00, 0x60, 0x0c, 0x00, 
-0x20, 0x0c, 0x00, 0x20, 0x18, 0x00, 0x30, 0x18, 0x00, 0xf0, 0x1f, 0x00, 
-0x10, 0x30, 0x00, 0x18, 0x30, 0x00, 0x08, 0x30, 0x00, 0x08, 0x60, 0x00, 
-0x0c, 0x60, 0x00, 0x3f, 0xf8, 0x01};
-static unsigned char times24_195_bits[] = {
-0xc0, 0x09, 0x00, 0x20, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x01, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x06, 0x00, 
-0x40, 0x06, 0x00, 0x40, 0x0c, 0x00, 0x60, 0x0c, 0x00, 0x20, 0x0c, 0x00, 
-0x20, 0x18, 0x00, 0x30, 0x18, 0x00, 0xf0, 0x1f, 0x00, 0x10, 0x30, 0x00, 
-0x18, 0x30, 0x00, 0x08, 0x30, 0x00, 0x08, 0x60, 0x00, 0x0c, 0xe0, 0x00, 
-0x3f, 0xf8, 0x01};
-static unsigned char times24_196_bits[] = {
-0x60, 0x0c, 0x00, 0x60, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x01, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x06, 0x00, 
-0x40, 0x06, 0x00, 0x40, 0x0c, 0x00, 0x60, 0x0c, 0x00, 0x20, 0x0c, 0x00, 
-0x20, 0x18, 0x00, 0x30, 0x18, 0x00, 0xf0, 0x1f, 0x00, 0x10, 0x30, 0x00, 
-0x18, 0x30, 0x00, 0x08, 0x30, 0x00, 0x08, 0x60, 0x00, 0x0c, 0x60, 0x00, 
-0x3f, 0xf8, 0x01};
-static unsigned char times24_197_bits[] = {
-0x80, 0x03, 0x00, 0x40, 0x04, 0x00, 0x40, 0x04, 0x00, 0x80, 0x03, 0x00, 
-0x00, 0x01, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x06, 0x00, 
-0x40, 0x06, 0x00, 0x40, 0x0c, 0x00, 0x60, 0x0c, 0x00, 0x20, 0x0c, 0x00, 
-0x20, 0x18, 0x00, 0x30, 0x18, 0x00, 0xf0, 0x1f, 0x00, 0x10, 0x30, 0x00, 
-0x18, 0x30, 0x00, 0x08, 0x30, 0x00, 0x08, 0x60, 0x00, 0x0c, 0x60, 0x00, 
-0x3f, 0xf8, 0x01};
-static unsigned char times24_198_bits[] = {
-0xc0, 0xff, 0x07, 0x80, 0x07, 0x06, 0x80, 0x06, 0x04, 0x80, 0x06, 0x04, 
-0x40, 0x06, 0x00, 0x40, 0x06, 0x00, 0x60, 0x06, 0x01, 0x20, 0x06, 0x01, 
-0x20, 0xfe, 0x01, 0x30, 0x06, 0x01, 0xf0, 0x07, 0x01, 0x10, 0x06, 0x00, 
-0x18, 0x06, 0x00, 0x08, 0x06, 0x08, 0x08, 0x06, 0x08, 0x0c, 0x06, 0x0c, 
-0x9f, 0xff, 0x0f};
-static unsigned char times24_199_bits[] = {
-0xe0, 0x27, 0x38, 0x3c, 0x1c, 0x30, 0x06, 0x20, 0x06, 0x20, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x06, 0x00, 0x06, 0x20, 0x1c, 0x10, 0x78, 0x1c, 0xe0, 0x07, 0x80, 0x00, 
-0xc0, 0x00, 0xc0, 0x03, 0x00, 0x03, 0x30, 0x03, 0xe0, 0x01};
-static unsigned char times24_200_bits[] = {
-0x18, 0x00, 0x38, 0x00, 0x60, 0x00, 0x80, 0x00, 0x00, 0x00, 0xff, 0x0f, 
-0x0c, 0x0c, 0x0c, 0x08, 0x0c, 0x08, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x02, 
-0x0c, 0x02, 0xfc, 0x03, 0x0c, 0x02, 0x0c, 0x02, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x10, 0x0c, 0x10, 0x0c, 0x18, 0xff, 0x1f};
-static unsigned char times24_201_bits[] = {
-0x00, 0x03, 0x80, 0x03, 0xc0, 0x00, 0x20, 0x00, 0x00, 0x00, 0xff, 0x0f, 
-0x0c, 0x0c, 0x0c, 0x08, 0x0c, 0x08, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x02, 
-0x0c, 0x02, 0xfc, 0x03, 0x0c, 0x02, 0x0c, 0x02, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x10, 0x0c, 0x10, 0x0c, 0x18, 0xff, 0x1f};
-static unsigned char times24_202_bits[] = {
-0xc0, 0x00, 0xe0, 0x01, 0x30, 0x03, 0x08, 0x04, 0x00, 0x00, 0xff, 0x0f, 
-0x0c, 0x0c, 0x0c, 0x08, 0x0c, 0x08, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x02, 
-0x0c, 0x02, 0xfc, 0x03, 0x0c, 0x02, 0x0c, 0x02, 0x0c, 0x00, 0x0c, 0x00, 
-0x0c, 0x10, 0x0c, 0x10, 0x0c, 0x18, 0xff, 0x1f};
-static unsigned char times24_203_bits[] = {
-0x98, 0x01, 0x98, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x0c, 0x0c, 
-0x0c, 0x08, 0x0c, 0x08, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x02, 0x0c, 0x02, 
-0xfc, 0x03, 0x0c, 0x02, 0x0c, 0x02, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x10, 
-0x0c, 0x10, 0x0c, 0x18, 0xff, 0x1f};
-static unsigned char times24_204_bits[] = {
-0x03, 0x07, 0x0c, 0x10, 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x3f};
-static unsigned char times24_205_bits[] = {
-0x30, 0x38, 0x0c, 0x02, 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x3f};
-static unsigned char times24_206_bits[] = {
-0x18, 0x3c, 0x66, 0x81, 0x00, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 
-0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e};
-static unsigned char times24_207_bits[] = {
-0x33, 0x33, 0x00, 0x00, 0x3f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x3f};
-static unsigned char times24_208_bits[] = {
-0xfe, 0x07, 0x18, 0x1c, 0x18, 0x38, 0x18, 0x60, 0x18, 0x60, 0x18, 0xc0, 
-0x18, 0xc0, 0x18, 0xc0, 0xff, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 
-0x18, 0x60, 0x18, 0x60, 0x18, 0x38, 0x18, 0x1c, 0xfe, 0x07};
-static unsigned char times24_209_bits[] = {
-0xc0, 0x09, 0x20, 0x07, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x0c, 0x20, 
-0x1c, 0x20, 0x1c, 0x20, 0x34, 0x20, 0x64, 0x20, 0x64, 0x20, 0xc4, 0x20, 
-0x84, 0x21, 0x84, 0x21, 0x04, 0x23, 0x04, 0x26, 0x04, 0x26, 0x04, 0x2c, 
-0x04, 0x38, 0x04, 0x38, 0x1f, 0x30};
-static unsigned char times24_210_bits[] = {
-0x60, 0x00, 0xe0, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x00, 0xe0, 0x07, 
-0x38, 0x1c, 0x1c, 0x38, 0x06, 0x60, 0x06, 0x60, 0x03, 0xc0, 0x03, 0xc0, 
-0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x06, 0x60, 
-0x06, 0x60, 0x1c, 0x38, 0x38, 0x1c, 0xe0, 0x07};
-static unsigned char times24_211_bits[] = {
-0x00, 0x0c, 0x00, 0x0e, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0xe0, 0x07, 
-0x38, 0x1c, 0x1c, 0x38, 0x06, 0x60, 0x06, 0x60, 0x03, 0xc0, 0x03, 0xc0, 
-0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x06, 0x60, 
-0x06, 0x60, 0x1c, 0x38, 0x38, 0x1c, 0xe0, 0x07};
-static unsigned char times24_212_bits[] = {
-0x80, 0x01, 0xc0, 0x03, 0x60, 0x06, 0x10, 0x08, 0x00, 0x00, 0xe0, 0x07, 
-0x38, 0x1c, 0x1c, 0x38, 0x06, 0x60, 0x06, 0x60, 0x03, 0xc0, 0x03, 0xc0, 
-0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x06, 0x60, 
-0x06, 0x60, 0x1c, 0x38, 0x38, 0x1c, 0xe0, 0x07};
-static unsigned char times24_213_bits[] = {
-0xc0, 0x09, 0x20, 0x07, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x38, 0x1c, 
-0x1c, 0x38, 0x06, 0x60, 0x06, 0x60, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 
-0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x06, 0x60, 0x06, 0x60, 
-0x1c, 0x38, 0x38, 0x1c, 0xe0, 0x07};
-static unsigned char times24_214_bits[] = {
-0x60, 0x06, 0x60, 0x06, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x38, 0x1c, 
-0x1c, 0x38, 0x06, 0x60, 0x06, 0x60, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 
-0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x06, 0x60, 0x06, 0x60, 
-0x1c, 0x38, 0x38, 0x1c, 0xe0, 0x07};
-static unsigned char times24_215_bits[] = {
-0x01, 0x02, 0x03, 0x03, 0x86, 0x01, 0xcc, 0x00, 0x78, 0x00, 0x30, 0x00, 
-0x78, 0x00, 0xcc, 0x00, 0x86, 0x01, 0x03, 0x03, 0x01, 0x02};
-static unsigned char times24_216_bits[] = {
-0x00, 0x20, 0xe0, 0x27, 0x38, 0x1c, 0x1c, 0x38, 0x06, 0x64, 0x06, 0x62, 
-0x03, 0xc2, 0x03, 0xc1, 0x03, 0xc1, 0x83, 0xc0, 0x83, 0xc0, 0x43, 0xc0, 
-0x43, 0xc0, 0x26, 0x60, 0x16, 0x60, 0x1c, 0x38, 0x38, 0x1c, 0xe4, 0x07, 
-0x04, 0x00};
-static unsigned char times24_217_bits[] = {
-0x60, 0x00, 0xe0, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x00, 0x3f, 0xf8, 
-0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 
-0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 
-0x0c, 0x10, 0x18, 0x10, 0x38, 0x0c, 0xe0, 0x07};
-static unsigned char times24_218_bits[] = {
-0x00, 0x0c, 0x00, 0x0e, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xf8, 
-0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 
-0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 
-0x0c, 0x10, 0x18, 0x10, 0x38, 0x0c, 0xe0, 0x07};
-static unsigned char times24_219_bits[] = {
-0x80, 0x01, 0xc0, 0x03, 0x60, 0x06, 0x10, 0x08, 0x00, 0x00, 0x3f, 0xf8, 
-0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 
-0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 
-0x0c, 0x10, 0x18, 0x10, 0x38, 0x0c, 0xe0, 0x07};
-static unsigned char times24_220_bits[] = {
-0x60, 0x0c, 0x60, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf8, 0x0c, 0x20, 
-0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 
-0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x20, 0x0c, 0x10, 
-0x18, 0x10, 0x38, 0x0c, 0xe0, 0x07};
-static unsigned char times24_221_bits[] = {
-0x00, 0x0c, 0x00, 0x0e, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xfc, 
-0x0c, 0x30, 0x1c, 0x10, 0x18, 0x18, 0x38, 0x08, 0x30, 0x0c, 0x60, 0x04, 
-0x60, 0x06, 0xc0, 0x02, 0xc0, 0x03, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 
-0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xe0, 0x07};
-static unsigned char times24_222_bits[] = {
-0x3f, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0xfc, 0x03, 0x0c, 0x0e, 
-0x0c, 0x0c, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x0c, 0x0c, 0x0e, 
-0xfc, 0x03, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x3f, 0x00};
-static unsigned char times24_223_bits[] = {
-0x78, 0x00, 0xcc, 0x00, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 
-0xc6, 0x00, 0x36, 0x00, 0xe6, 0x00, 0xc6, 0x01, 0x86, 0x01, 0x86, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x36, 0x03, 0x36, 0x01, 0xe7, 0x00};
-static unsigned char times24_224_bits[] = {
-0x06, 0x00, 0x0e, 0x00, 0x18, 0x00, 0x20, 0x00, 0x00, 0x00, 0x7c, 0x00, 
-0xe6, 0x00, 0xc6, 0x00, 0xc0, 0x00, 0xf0, 0x00, 0xdc, 0x00, 0xc6, 0x00, 
-0xc3, 0x00, 0xc3, 0x00, 0xe3, 0x00, 0xdf, 0x00, 0x8e, 0x01};
-static unsigned char times24_225_bits[] = {
-0xc0, 0x00, 0xe0, 0x00, 0x30, 0x00, 0x08, 0x00, 0x00, 0x00, 0x7c, 0x00, 
-0xe6, 0x00, 0xc6, 0x00, 0xc0, 0x00, 0xf0, 0x00, 0xdc, 0x00, 0xc6, 0x00, 
-0xc3, 0x00, 0xc3, 0x00, 0xe3, 0x00, 0xdf, 0x00, 0x8e, 0x01};
-static unsigned char times24_226_bits[] = {
-0x18, 0x00, 0x3c, 0x00, 0x24, 0x00, 0x42, 0x00, 0x00, 0x00, 0x7c, 0x00, 
-0xe6, 0x00, 0xc6, 0x00, 0xc0, 0x00, 0xf0, 0x00, 0xdc, 0x00, 0xc6, 0x00, 
-0xc3, 0x00, 0xc3, 0x00, 0xe3, 0x00, 0xdf, 0x00, 0x8e, 0x01};
-static unsigned char times24_227_bits[] = {
-0x5c, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0xe6, 0x00, 
-0xc6, 0x00, 0xc0, 0x00, 0xf0, 0x00, 0xdc, 0x00, 0xc6, 0x00, 0xc3, 0x00, 
-0xc3, 0x00, 0xe3, 0x00, 0xdf, 0x00, 0x8e, 0x01};
-static unsigned char times24_228_bits[] = {
-0x66, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0xe6, 0x00, 
-0xc6, 0x00, 0xc0, 0x00, 0xf0, 0x00, 0xdc, 0x00, 0xc6, 0x00, 0xc3, 0x00, 
-0xc3, 0x00, 0xe3, 0x00, 0xdf, 0x00, 0x8e, 0x01};
-static unsigned char times24_229_bits[] = {
-0x38, 0x00, 0x44, 0x00, 0x44, 0x00, 0x38, 0x00, 0x00, 0x00, 0x7c, 0x00, 
-0xe6, 0x00, 0xc6, 0x00, 0xc0, 0x00, 0xf0, 0x00, 0xdc, 0x00, 0xc6, 0x00, 
-0xc3, 0x00, 0xc3, 0x00, 0xe3, 0x00, 0xdf, 0x00, 0x8e, 0x01};
-static unsigned char times24_230_bits[] = {
-0x3c, 0x0f, 0xe6, 0x19, 0xc6, 0x30, 0xc0, 0x30, 0xf0, 0x3f, 0xdc, 0x00, 
-0xc6, 0x00, 0xc3, 0x00, 0xc3, 0x00, 0xe3, 0x21, 0xdf, 0x1f, 0x0e, 0x0f};
-static unsigned char times24_231_bits[] = {
-0xf8, 0x00, 0xc6, 0x01, 0x82, 0x01, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0e, 0x01, 0xfe, 0x00, 0x78, 0x00, 
-0x10, 0x00, 0x18, 0x00, 0x78, 0x00, 0x60, 0x00, 0x66, 0x00, 0x3c, 0x00};
-static unsigned char times24_232_bits[] = {
-0x06, 0x00, 0x0e, 0x00, 0x18, 0x00, 0x20, 0x00, 0x00, 0x00, 0x78, 0x00, 
-0xc6, 0x00, 0x82, 0x01, 0x83, 0x01, 0xff, 0x01, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x07, 0x00, 0x0e, 0x01, 0xfe, 0x00, 0x78, 0x00};
-static unsigned char times24_233_bits[] = {
-0xc0, 0x00, 0xe0, 0x00, 0x30, 0x00, 0x08, 0x00, 0x00, 0x00, 0x78, 0x00, 
-0xc6, 0x00, 0x82, 0x01, 0x83, 0x01, 0xff, 0x01, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x07, 0x00, 0x0e, 0x01, 0xfe, 0x00, 0x78, 0x00};
-static unsigned char times24_234_bits[] = {
-0x30, 0x00, 0x78, 0x00, 0x48, 0x00, 0x84, 0x00, 0x00, 0x00, 0x78, 0x00, 
-0xc6, 0x00, 0x82, 0x01, 0x83, 0x01, 0xff, 0x01, 0x03, 0x00, 0x03, 0x00, 
-0x03, 0x00, 0x07, 0x00, 0x0e, 0x01, 0xfe, 0x00, 0x78, 0x00};
-static unsigned char times24_235_bits[] = {
-0xcc, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0xc6, 0x00, 
-0x82, 0x01, 0x83, 0x01, 0xff, 0x01, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 
-0x07, 0x00, 0x0e, 0x01, 0xfe, 0x00, 0x78, 0x00};
-static unsigned char times24_236_bits[] = {
-0x03, 0x07, 0x0c, 0x10, 0x00, 0x0e, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x1e};
-static unsigned char times24_237_bits[] = {
-0x18, 0x1c, 0x06, 0x01, 0x00, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
-0x06, 0x06, 0x06, 0x06, 0x0f};
-static unsigned char times24_238_bits[] = {
-0x0c, 0x1e, 0x12, 0x21, 0x00, 0x0e, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x0c, 0x1e};
-static unsigned char times24_239_bits[] = {
-0x33, 0x33, 0x00, 0x00, 0x0e, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 
-0x0c, 0x0c, 0x0c, 0x1e};
-static unsigned char times24_240_bits[] = {
-0x03, 0x00, 0x8e, 0x01, 0x78, 0x00, 0x3c, 0x00, 0x63, 0x00, 0xf8, 0x00, 
-0xce, 0x01, 0x86, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x86, 0x01, 0xce, 0x01, 0x78, 0x00};
-static unsigned char times24_241_bits[] = {
-0x38, 0x01, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x00, 0xf6, 0x01, 
-0x8e, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x8f, 0x07};
-static unsigned char times24_242_bits[] = {
-0x0c, 0x00, 0x1c, 0x00, 0x30, 0x00, 0x40, 0x00, 0x00, 0x00, 0x78, 0x00, 
-0xce, 0x01, 0x86, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x86, 0x01, 0xce, 0x01, 0x78, 0x00};
-static unsigned char times24_243_bits[] = {
-0x80, 0x01, 0xc0, 0x01, 0x60, 0x00, 0x10, 0x00, 0x00, 0x00, 0x78, 0x00, 
-0xce, 0x01, 0x86, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x86, 0x01, 0xce, 0x01, 0x78, 0x00};
-static unsigned char times24_244_bits[] = {
-0x30, 0x00, 0x78, 0x00, 0x48, 0x00, 0x84, 0x00, 0x00, 0x00, 0x78, 0x00, 
-0xce, 0x01, 0x86, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x03, 0x03, 0x86, 0x01, 0xce, 0x01, 0x78, 0x00};
-static unsigned char times24_245_bits[] = {
-0x38, 0x01, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0xce, 0x01, 
-0x86, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x86, 0x01, 0xce, 0x01, 0x78, 0x00};
-static unsigned char times24_246_bits[] = {
-0xcc, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0xce, 0x01, 
-0x86, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
-0x03, 0x03, 0x86, 0x01, 0xce, 0x01, 0x78, 0x00};
-static unsigned char times24_247_bits[] = {
-0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0xff, 0x0f, 
-0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00};
-static unsigned char times24_248_bits[] = {
-0x00, 0x03, 0x78, 0x03, 0xce, 0x01, 0xc6, 0x01, 0x63, 0x03, 0x23, 0x03, 
-0x33, 0x03, 0x13, 0x03, 0x1b, 0x03, 0x0b, 0x03, 0x8e, 0x01, 0xce, 0x01, 
-0x7b, 0x00, 0x03, 0x00};
-static unsigned char times24_249_bits[] = {
-0x0c, 0x00, 0x1c, 0x00, 0x30, 0x00, 0x40, 0x00, 0x00, 0x00, 0x87, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x8e, 0x03, 0x7c, 0x03, 0x38, 0x07};
-static unsigned char times24_250_bits[] = {
-0x80, 0x01, 0xc0, 0x01, 0x60, 0x00, 0x10, 0x00, 0x00, 0x00, 0x87, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x8e, 0x03, 0x7c, 0x03, 0x38, 0x07};
-static unsigned char times24_251_bits[] = {
-0x30, 0x00, 0x78, 0x00, 0x48, 0x00, 0x84, 0x00, 0x00, 0x00, 0x87, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x8e, 0x03, 0x7c, 0x03, 0x38, 0x07};
-static unsigned char times24_252_bits[] = {
-0xcc, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x8e, 0x03, 0x7c, 0x03, 0x38, 0x07};
-static unsigned char times24_253_bits[] = {
-0x80, 0x01, 0xc0, 0x01, 0x60, 0x00, 0x10, 0x00, 0x00, 0x00, 0x8f, 0x07, 
-0x06, 0x03, 0x06, 0x01, 0x0c, 0x01, 0x0c, 0x01, 0x8c, 0x00, 0x98, 0x00, 
-0x98, 0x00, 0x58, 0x00, 0x70, 0x00, 0x70, 0x00, 0x20, 0x00, 0x30, 0x00, 
-0x10, 0x00, 0x18, 0x00, 0x0f, 0x00, 0x07, 0x00};
-static unsigned char times24_254_bits[] = {
-0x07, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x76, 0x00, 
-0xce, 0x01, 0x86, 0x01, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 
-0x06, 0x03, 0x06, 0x03, 0x86, 0x01, 0xce, 0x01, 0x76, 0x00, 0x06, 0x00, 
-0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0f, 0x00};
-static unsigned char times24_255_bits[] = {
-0xcc, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0x07, 0x06, 0x03, 
-0x06, 0x01, 0x0c, 0x01, 0x0c, 0x01, 0x8c, 0x00, 0x98, 0x00, 0x98, 0x00, 
-0x58, 0x00, 0x70, 0x00, 0x70, 0x00, 0x20, 0x00, 0x30, 0x00, 0x10, 0x00, 
-0x18, 0x00, 0x0f, 0x00, 0x07, 0x00};
-static RotFont times24font[] = {
-{5, 1, 1, times24_0_bits},
-{5, 1, 1, times24_1_bits},
-{5, 1, 1, times24_2_bits},
-{5, 1, 1, times24_3_bits},
-{5, 1, 1, times24_4_bits},
-{5, 1, 1, times24_5_bits},
-{5, 1, 1, times24_6_bits},
-{5, 1, 1, times24_7_bits},
-{5, 1, 1, times24_8_bits},
-{5, 1, 1, times24_9_bits},
-{5, 1, 1, times24_10_bits},
-{5, 1, 1, times24_11_bits},
-{5, 1, 1, times24_12_bits},
-{5, 1, 1, times24_13_bits},
-{5, 1, 1, times24_14_bits},
-{5, 1, 1, times24_15_bits},
-{5, 1, 1, times24_16_bits},
-{5, 1, 1, times24_17_bits},
-{5, 1, 1, times24_18_bits},
-{5, 1, 1, times24_19_bits},
-{5, 1, 1, times24_20_bits},
-{5, 1, 1, times24_21_bits},
-{5, 1, 1, times24_22_bits},
-{5, 1, 1, times24_23_bits},
-{5, 1, 1, times24_24_bits},
-{5, 1, 1, times24_25_bits},
-{5, 1, 1, times24_26_bits},
-{5, 1, 1, times24_27_bits},
-{5, 1, 1, times24_28_bits},
-{5, 1, 1, times24_29_bits},
-{5, 1, 1, times24_30_bits},
-{5, 1, 1, times24_31_bits},
-{10, 1, 1, times24_32_bits},
-{2, 17, 17, times24_33_bits},
-{6, 5, 17, times24_34_bits},
-{11, 17, 17, times24_35_bits},
-{11, 21, 19, times24_36_bits},
-{17, 16, 16, times24_37_bits},
-{16, 17, 17, times24_38_bits},
-{3, 5, 17, times24_39_bits},
-{6, 22, 17, times24_40_bits},
-{6, 22, 17, times24_41_bits},
-{9, 9, 17, times24_42_bits},
-{12, 12, 13, times24_43_bits},
-{3, 5, 2, times24_44_bits},
-{12, 2, 8, times24_45_bits},
-{2, 2, 2, times24_46_bits},
-{8, 20, 17, times24_47_bits},
-{10, 17, 17, times24_48_bits},
-{8, 17, 17, times24_49_bits},
-{10, 17, 17, times24_50_bits},
-{9, 17, 17, times24_51_bits},
-{10, 17, 17, times24_52_bits},
-{10, 17, 17, times24_53_bits},
-{10, 17, 17, times24_54_bits},
-{10, 17, 17, times24_55_bits},
-{10, 17, 17, times24_56_bits},
-{10, 17, 17, times24_57_bits},
-{2, 11, 11, times24_58_bits},
-{3, 14, 11, times24_59_bits},
-{11, 11, 12, times24_60_bits},
-{12, 6, 10, times24_61_bits},
-{11, 11, 12, times24_62_bits},
-{8, 17, 17, times24_63_bits},
-{18, 20, 17, times24_64_bits},
-{17, 17, 17, times24_65_bits},
-{14, 17, 17, times24_66_bits},
-{14, 17, 17, times24_67_bits},
-{15, 17, 17, times24_68_bits},
-{13, 17, 17, times24_69_bits},
-{12, 17, 17, times24_70_bits},
-{16, 17, 17, times24_71_bits},
-{17, 17, 17, times24_72_bits},
-{6, 17, 17, times24_73_bits},
-{9, 17, 17, times24_74_bits},
-{16, 17, 17, times24_75_bits},
-{13, 17, 17, times24_76_bits},
-{21, 17, 17, times24_77_bits},
-{16, 17, 17, times24_78_bits},
-{16, 17, 17, times24_79_bits},
-{13, 17, 17, times24_80_bits},
-{16, 22, 17, times24_81_bits},
-{15, 17, 17, times24_82_bits},
-{11, 17, 17, times24_83_bits},
-{14, 17, 17, times24_84_bits},
-{16, 17, 17, times24_85_bits},
-{17, 17, 17, times24_86_bits},
-{23, 17, 17, times24_87_bits},
-{18, 17, 17, times24_88_bits},
-{16, 17, 17, times24_89_bits},
-{13, 17, 17, times24_90_bits},
-{5, 21, 17, times24_91_bits},
-{7, 17, 17, times24_92_bits},
-{5, 21, 17, times24_93_bits},
-{9, 9, 17, times24_94_bits},
-{13, 2, -3, times24_95_bits},
-{3, 5, 17, times24_96_bits},
-{9, 12, 12, times24_97_bits},
-{10, 17, 17, times24_98_bits},
-{9, 12, 12, times24_99_bits},
-{10, 17, 17, times24_100_bits},
-{9, 12, 12, times24_101_bits},
-{7, 17, 17, times24_102_bits},
-{11, 17, 12, times24_103_bits},
-{11, 17, 17, times24_104_bits},
-{4, 17, 17, times24_105_bits},
-{4, 22, 17, times24_106_bits},
-{11, 17, 17, times24_107_bits},
-{4, 17, 17, times24_108_bits},
-{18, 12, 12, times24_109_bits},
-{11, 12, 12, times24_110_bits},
-{10, 12, 12, times24_111_bits},
-{10, 17, 12, times24_112_bits},
-{10, 17, 12, times24_113_bits},
-{7, 12, 12, times24_114_bits},
-{8, 12, 12, times24_115_bits},
-{7, 15, 15, times24_116_bits},
-{11, 12, 12, times24_117_bits},
-{11, 12, 12, times24_118_bits},
-{17, 12, 12, times24_119_bits},
-{11, 12, 12, times24_120_bits},
-{11, 17, 12, times24_121_bits},
-{8, 12, 12, times24_122_bits},
-{8, 22, 17, times24_123_bits},
-{2, 17, 17, times24_124_bits},
-{8, 22, 17, times24_125_bits},
-{11, 4, 9, times24_126_bits},
-{5, 1, 1, times24_127_bits},
-{5, 1, 1, times24_128_bits},
-{5, 1, 1, times24_129_bits},
-{5, 1, 1, times24_130_bits},
-{5, 1, 1, times24_131_bits},
-{5, 1, 1, times24_132_bits},
-{5, 1, 1, times24_133_bits},
-{5, 1, 1, times24_134_bits},
-{5, 1, 1, times24_135_bits},
-{5, 1, 1, times24_136_bits},
-{5, 1, 1, times24_137_bits},
-{5, 1, 1, times24_138_bits},
-{5, 1, 1, times24_139_bits},
-{5, 1, 1, times24_140_bits},
-{5, 1, 1, times24_141_bits},
-{5, 1, 1, times24_142_bits},
-{5, 1, 1, times24_143_bits},
-{5, 1, 1, times24_144_bits},
-{5, 1, 1, times24_145_bits},
-{5, 1, 1, times24_146_bits},
-{5, 1, 1, times24_147_bits},
-{5, 1, 1, times24_148_bits},
-{5, 1, 1, times24_149_bits},
-{5, 1, 1, times24_150_bits},
-{5, 1, 1, times24_151_bits},
-{5, 1, 1, times24_152_bits},
-{5, 1, 1, times24_153_bits},
-{5, 1, 1, times24_154_bits},
-{5, 1, 1, times24_155_bits},
-{5, 1, 1, times24_156_bits},
-{5, 1, 1, times24_157_bits},
-{5, 1, 1, times24_158_bits},
-{5, 1, 1, times24_159_bits},
-{1, 1, 1, times24_160_bits},
-{2, 17, 12, times24_161_bits},
-{9, 16, 14, times24_162_bits},
-{10, 17, 17, times24_163_bits},
-{11, 12, 15, times24_164_bits},
-{14, 17, 17, times24_165_bits},
-{2, 17, 17, times24_166_bits},
-{8, 20, 18, times24_167_bits},
-{6, 2, 16, times24_168_bits},
-{17, 17, 17, times24_169_bits},
-{7, 9, 17, times24_170_bits},
-{9, 10, 11, times24_171_bits},
-{12, 7, 10, times24_172_bits},
-{7, 2, 7, times24_173_bits},
-{17, 17, 17, times24_174_bits},
-{6, 2, 16, times24_175_bits},
-{7, 7, 17, times24_176_bits},
-{12, 15, 15, times24_177_bits},
-{6, 10, 17, times24_178_bits},
-{6, 10, 17, times24_179_bits},
-{5, 4, 17, times24_180_bits},
-{11, 17, 12, times24_181_bits},
-{9, 22, 17, times24_182_bits},
-{2, 2, 8, times24_183_bits},
-{6, 6, 0, times24_184_bits},
-{5, 10, 17, times24_185_bits},
-{6, 9, 17, times24_186_bits},
-{9, 10, 11, times24_187_bits},
-{16, 17, 17, times24_188_bits},
-{15, 17, 17, times24_189_bits},
-{17, 17, 17, times24_190_bits},
-{8, 17, 12, times24_191_bits},
-{17, 22, 22, times24_192_bits},
-{17, 22, 22, times24_193_bits},
-{17, 22, 22, times24_194_bits},
-{17, 21, 21, times24_195_bits},
-{17, 21, 21, times24_196_bits},
-{17, 21, 21, times24_197_bits},
-{20, 17, 17, times24_198_bits},
-{14, 23, 17, times24_199_bits},
-{13, 22, 22, times24_200_bits},
-{13, 22, 22, times24_201_bits},
-{13, 22, 22, times24_202_bits},
-{13, 21, 21, times24_203_bits},
-{6, 22, 22, times24_204_bits},
-{6, 22, 22, times24_205_bits},
-{8, 22, 22, times24_206_bits},
-{6, 21, 21, times24_207_bits},
-{16, 17, 17, times24_208_bits},
-{16, 21, 21, times24_209_bits},
-{16, 22, 22, times24_210_bits},
-{16, 22, 22, times24_211_bits},
-{16, 22, 22, times24_212_bits},
-{16, 21, 21, times24_213_bits},
-{16, 21, 21, times24_214_bits},
-{10, 11, 12, times24_215_bits},
-{16, 19, 18, times24_216_bits},
-{16, 22, 22, times24_217_bits},
-{16, 22, 22, times24_218_bits},
-{16, 22, 22, times24_219_bits},
-{16, 21, 21, times24_220_bits},
-{16, 22, 22, times24_221_bits},
-{13, 17, 17, times24_222_bits},
-{10, 17, 17, times24_223_bits},
-{9, 17, 17, times24_224_bits},
-{9, 17, 17, times24_225_bits},
-{9, 17, 17, times24_226_bits},
-{9, 16, 16, times24_227_bits},
-{9, 16, 16, times24_228_bits},
-{9, 17, 17, times24_229_bits},
-{14, 12, 12, times24_230_bits},
-{9, 18, 12, times24_231_bits},
-{9, 17, 17, times24_232_bits},
-{9, 17, 17, times24_233_bits},
-{9, 17, 17, times24_234_bits},
-{9, 16, 16, times24_235_bits},
-{5, 17, 17, times24_236_bits},
-{5, 17, 17, times24_237_bits},
-{6, 17, 17, times24_238_bits},
-{6, 16, 16, times24_239_bits},
-{10, 17, 17, times24_240_bits},
-{11, 16, 16, times24_241_bits},
-{10, 17, 17, times24_242_bits},
-{10, 17, 17, times24_243_bits},
-{10, 17, 17, times24_244_bits},
-{10, 16, 16, times24_245_bits},
-{10, 16, 16, times24_246_bits},
-{12, 10, 12, times24_247_bits},
-{10, 14, 13, times24_248_bits},
-{11, 17, 17, times24_249_bits},
-{11, 17, 17, times24_250_bits},
-{11, 17, 17, times24_251_bits},
-{11, 16, 16, times24_252_bits},
-{11, 22, 17, times24_253_bits},
-{10, 22, 17, times24_254_bits},
-{11, 21, 16, times24_255_bits}};
Index: unk/Ohana/src/libkapa/rotfont/times8.h
===================================================================
--- /trunk/Ohana/src/libkapa/rotfont/times8.h	(revision 38985)
+++ 	(revision )
@@ -1,769 +1,0 @@
-static unsigned char times8_0_bits[] = {
-0x00};
-static unsigned char times8_1_bits[] = {
-0x00};
-static unsigned char times8_2_bits[] = {
-0x00};
-static unsigned char times8_3_bits[] = {
-0x00};
-static unsigned char times8_4_bits[] = {
-0x00};
-static unsigned char times8_5_bits[] = {
-0x00};
-static unsigned char times8_6_bits[] = {
-0x00};
-static unsigned char times8_7_bits[] = {
-0x00};
-static unsigned char times8_8_bits[] = {
-0x00};
-static unsigned char times8_9_bits[] = {
-0x00};
-static unsigned char times8_10_bits[] = {
-0x00};
-static unsigned char times8_11_bits[] = {
-0x00};
-static unsigned char times8_12_bits[] = {
-0x00};
-static unsigned char times8_13_bits[] = {
-0x00};
-static unsigned char times8_14_bits[] = {
-0x00};
-static unsigned char times8_15_bits[] = {
-0x00};
-static unsigned char times8_16_bits[] = {
-0x00};
-static unsigned char times8_17_bits[] = {
-0x00};
-static unsigned char times8_18_bits[] = {
-0x00};
-static unsigned char times8_19_bits[] = {
-0x00};
-static unsigned char times8_20_bits[] = {
-0x00};
-static unsigned char times8_21_bits[] = {
-0x00};
-static unsigned char times8_22_bits[] = {
-0x00};
-static unsigned char times8_23_bits[] = {
-0x00};
-static unsigned char times8_24_bits[] = {
-0x00};
-static unsigned char times8_25_bits[] = {
-0x00};
-static unsigned char times8_26_bits[] = {
-0x00};
-static unsigned char times8_27_bits[] = {
-0x00};
-static unsigned char times8_28_bits[] = {
-0x00};
-static unsigned char times8_29_bits[] = {
-0x00};
-static unsigned char times8_30_bits[] = {
-0x00};
-static unsigned char times8_31_bits[] = {
-0x00};
-static unsigned char times8_32_bits[] = {
-0x00};
-static unsigned char times8_33_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x00, 0x01};
-static unsigned char times8_34_bits[] = {
-0x05, 0x05};
-static unsigned char times8_35_bits[] = {
-0x0a, 0x0f, 0x0a, 0x0f, 0x0a};
-static unsigned char times8_36_bits[] = {
-0x02, 0x06, 0x01, 0x06, 0x05, 0x03, 0x02};
-static unsigned char times8_37_bits[] = {
-0x13, 0x0b, 0x04, 0x1a, 0x19};
-static unsigned char times8_38_bits[] = {
-0x04, 0x0a, 0x06, 0x15, 0x09, 0x1e};
-static unsigned char times8_39_bits[] = {
-0x01, 0x01};
-static unsigned char times8_40_bits[] = {
-0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02};
-static unsigned char times8_41_bits[] = {
-0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01};
-static unsigned char times8_42_bits[] = {
-0x05, 0x02, 0x05};
-static unsigned char times8_43_bits[] = {
-0x04, 0x04, 0x0f, 0x04, 0x04};
-static unsigned char times8_44_bits[] = {
-0x02, 0x01};
-static unsigned char times8_45_bits[] = {
-0x0f};
-static unsigned char times8_46_bits[] = {
-0x01};
-static unsigned char times8_47_bits[] = {
-0x04, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01};
-static unsigned char times8_48_bits[] = {
-0x02, 0x05, 0x05, 0x05, 0x02};
-static unsigned char times8_49_bits[] = {
-0x02, 0x03, 0x02, 0x02, 0x07};
-static unsigned char times8_50_bits[] = {
-0x03, 0x04, 0x02, 0x01, 0x07};
-static unsigned char times8_51_bits[] = {
-0x03, 0x04, 0x02, 0x04, 0x03};
-static unsigned char times8_52_bits[] = {
-0x04, 0x06, 0x05, 0x0f, 0x04};
-static unsigned char times8_53_bits[] = {
-0x07, 0x01, 0x06, 0x04, 0x03};
-static unsigned char times8_54_bits[] = {
-0x06, 0x01, 0x03, 0x05, 0x02};
-static unsigned char times8_55_bits[] = {
-0x07, 0x04, 0x02, 0x01, 0x01};
-static unsigned char times8_56_bits[] = {
-0x02, 0x05, 0x02, 0x05, 0x02};
-static unsigned char times8_57_bits[] = {
-0x02, 0x05, 0x06, 0x04, 0x03};
-static unsigned char times8_58_bits[] = {
-0x01, 0x00, 0x01};
-static unsigned char times8_59_bits[] = {
-0x02, 0x00, 0x02, 0x01};
-static unsigned char times8_60_bits[] = {
-0x04, 0x02, 0x01, 0x02, 0x04};
-static unsigned char times8_61_bits[] = {
-0x0f, 0x00, 0x0f};
-static unsigned char times8_62_bits[] = {
-0x01, 0x02, 0x04, 0x02, 0x01};
-static unsigned char times8_63_bits[] = {
-0x03, 0x04, 0x02, 0x00, 0x02};
-static unsigned char times8_64_bits[] = {
-0x1e, 0x21, 0x39, 0x25, 0x3d, 0x01, 0x1e};
-static unsigned char times8_65_bits[] = {
-0x04, 0x0a, 0x0e, 0x0a, 0x1b};
-static unsigned char times8_66_bits[] = {
-0x07, 0x0a, 0x06, 0x0a, 0x07};
-static unsigned char times8_67_bits[] = {
-0x0e, 0x11, 0x01, 0x11, 0x0e};
-static unsigned char times8_68_bits[] = {
-0x0f, 0x12, 0x12, 0x12, 0x0f};
-static unsigned char times8_69_bits[] = {
-0x0f, 0x02, 0x06, 0x02, 0x0f};
-static unsigned char times8_70_bits[] = {
-0x0f, 0x02, 0x0e, 0x02, 0x03};
-static unsigned char times8_71_bits[] = {
-0x0e, 0x01, 0x1d, 0x11, 0x0e};
-static unsigned char times8_72_bits[] = {
-0x33, 0x12, 0x1e, 0x12, 0x33};
-static unsigned char times8_73_bits[] = {
-0x07, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times8_74_bits[] = {
-0x03, 0x02, 0x02, 0x02, 0x01};
-static unsigned char times8_75_bits[] = {
-0x13, 0x0a, 0x06, 0x0a, 0x1b};
-static unsigned char times8_76_bits[] = {
-0x07, 0x02, 0x02, 0x0a, 0x0f};
-static unsigned char times8_77_bits[] = {
-0x77, 0x36, 0x2a, 0x2a, 0x63};
-static unsigned char times8_78_bits[] = {
-0x33, 0x16, 0x16, 0x1a, 0x13};
-static unsigned char times8_79_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char times8_80_bits[] = {
-0x0f, 0x12, 0x0e, 0x02, 0x03};
-static unsigned char times8_81_bits[] = {
-0x0e, 0x11, 0x11, 0x11, 0x0e, 0x04, 0x08};
-static unsigned char times8_82_bits[] = {
-0x07, 0x0a, 0x06, 0x0a, 0x1b};
-static unsigned char times8_83_bits[] = {
-0x0e, 0x01, 0x06, 0x08, 0x07};
-static unsigned char times8_84_bits[] = {
-0x1f, 0x15, 0x04, 0x04, 0x0e};
-static unsigned char times8_85_bits[] = {
-0x33, 0x12, 0x12, 0x12, 0x0c};
-static unsigned char times8_86_bits[] = {
-0x1b, 0x0a, 0x0a, 0x04, 0x04};
-static unsigned char times8_87_bits[] = {
-0xcb, 0x4a, 0x52, 0x5a, 0x34};
-static unsigned char times8_88_bits[] = {
-0x33, 0x0c, 0x0c, 0x12, 0x33};
-static unsigned char times8_89_bits[] = {
-0x1b, 0x0a, 0x04, 0x04, 0x0e};
-static unsigned char times8_90_bits[] = {
-0x0f, 0x05, 0x02, 0x09, 0x0f};
-static unsigned char times8_91_bits[] = {
-0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03};
-static unsigned char times8_92_bits[] = {
-0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04};
-static unsigned char times8_93_bits[] = {
-0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03};
-static unsigned char times8_94_bits[] = {
-0x02, 0x05};
-static unsigned char times8_95_bits[] = {
-0x0f};
-static unsigned char times8_96_bits[] = {
-0x01, 0x01};
-static unsigned char times8_97_bits[] = {
-0x01, 0x02, 0x03, 0x03};
-static unsigned char times8_98_bits[] = {
-0x01, 0x03, 0x05, 0x05, 0x03};
-static unsigned char times8_99_bits[] = {
-0x02, 0x01, 0x01, 0x02};
-static unsigned char times8_100_bits[] = {
-0x04, 0x06, 0x05, 0x05, 0x06};
-static unsigned char times8_101_bits[] = {
-0x02, 0x07, 0x01, 0x02};
-static unsigned char times8_102_bits[] = {
-0x04, 0x02, 0x07, 0x02, 0x02};
-static unsigned char times8_103_bits[] = {
-0x0e, 0x05, 0x02, 0x05, 0x02};
-static unsigned char times8_104_bits[] = {
-0x01, 0x03, 0x05, 0x05, 0x05};
-static unsigned char times8_105_bits[] = {
-0x01, 0x00, 0x01, 0x01, 0x01, 0x01};
-static unsigned char times8_106_bits[] = {
-0x02, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01};
-static unsigned char times8_107_bits[] = {
-0x01, 0x05, 0x03, 0x03, 0x05};
-static unsigned char times8_108_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char times8_109_bits[] = {
-0x0b, 0x15, 0x15, 0x15};
-static unsigned char times8_110_bits[] = {
-0x03, 0x05, 0x05, 0x05};
-static unsigned char times8_111_bits[] = {
-0x02, 0x05, 0x05, 0x02};
-static unsigned char times8_112_bits[] = {
-0x03, 0x05, 0x05, 0x03, 0x01, 0x01};
-static unsigned char times8_113_bits[] = {
-0x06, 0x05, 0x05, 0x06, 0x04, 0x04};
-static unsigned char times8_114_bits[] = {
-0x05, 0x03, 0x01, 0x01};
-static unsigned char times8_115_bits[] = {
-0x03, 0x01, 0x02, 0x03};
-static unsigned char times8_116_bits[] = {
-0x01, 0x03, 0x01, 0x01, 0x02};
-static unsigned char times8_117_bits[] = {
-0x05, 0x05, 0x05, 0x06};
-static unsigned char times8_118_bits[] = {
-0x05, 0x05, 0x05, 0x02};
-static unsigned char times8_119_bits[] = {
-0x15, 0x15, 0x15, 0x0a};
-static unsigned char times8_120_bits[] = {
-0x09, 0x06, 0x06, 0x09};
-static unsigned char times8_121_bits[] = {
-0x05, 0x05, 0x05, 0x02, 0x02, 0x01};
-static unsigned char times8_122_bits[] = {
-0x07, 0x02, 0x01, 0x07};
-static unsigned char times8_123_bits[] = {
-0x04, 0x02, 0x02, 0x03, 0x02, 0x02, 0x04};
-static unsigned char times8_124_bits[] = {
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char times8_125_bits[] = {
-0x01, 0x02, 0x02, 0x06, 0x02, 0x02, 0x01};
-static unsigned char times8_126_bits[] = {
-0x16, 0x0d};
-static unsigned char times8_127_bits[] = {
-0x00};
-static unsigned char times8_128_bits[] = {
-0x00};
-static unsigned char times8_129_bits[] = {
-0x00};
-static unsigned char times8_130_bits[] = {
-0x00};
-static unsigned char times8_131_bits[] = {
-0x00};
-static unsigned char times8_132_bits[] = {
-0x00};
-static unsigned char times8_133_bits[] = {
-0x00};
-static unsigned char times8_134_bits[] = {
-0x00};
-static unsigned char times8_135_bits[] = {
-0x00};
-static unsigned char times8_136_bits[] = {
-0x00};
-static unsigned char times8_137_bits[] = {
-0x00};
-static unsigned char times8_138_bits[] = {
-0x00};
-static unsigned char times8_139_bits[] = {
-0x00};
-static unsigned char times8_140_bits[] = {
-0x00};
-static unsigned char times8_141_bits[] = {
-0x00};
-static unsigned char times8_142_bits[] = {
-0x00};
-static unsigned char times8_143_bits[] = {
-0x00};
-static unsigned char times8_144_bits[] = {
-0x00};
-static unsigned char times8_145_bits[] = {
-0x00};
-static unsigned char times8_146_bits[] = {
-0x00};
-static unsigned char times8_147_bits[] = {
-0x00};
-static unsigned char times8_148_bits[] = {
-0x00};
-static unsigned char times8_149_bits[] = {
-0x00};
-static unsigned char times8_150_bits[] = {
-0x00};
-static unsigned char times8_151_bits[] = {
-0x00};
-static unsigned char times8_152_bits[] = {
-0x00};
-static unsigned char times8_153_bits[] = {
-0x00};
-static unsigned char times8_154_bits[] = {
-0x00};
-static unsigned char times8_155_bits[] = {
-0x00};
-static unsigned char times8_156_bits[] = {
-0x00};
-static unsigned char times8_157_bits[] = {
-0x00};
-static unsigned char times8_158_bits[] = {
-0x00};
-static unsigned char times8_159_bits[] = {
-0x00};
-static unsigned char times8_160_bits[] = {
-0x00};
-static unsigned char times8_161_bits[] = {
-0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01};
-static unsigned char times8_162_bits[] = {
-0x02, 0x06, 0x01, 0x01, 0x06, 0x02};
-static unsigned char times8_163_bits[] = {
-0x04, 0x02, 0x07, 0x02, 0x0f};
-static unsigned char times8_164_bits[] = {
-0x09, 0x06, 0x06, 0x09};
-static unsigned char times8_165_bits[] = {
-0x11, 0x0a, 0x1f, 0x04, 0x04};
-static unsigned char times8_166_bits[] = {
-0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01};
-static unsigned char times8_167_bits[] = {
-0x06, 0x01, 0x03, 0x05, 0x06, 0x04, 0x03};
-static unsigned char times8_168_bits[] = {
-0x09};
-static unsigned char times8_169_bits[] = {
-0x1e, 0x21, 0x29, 0x25, 0x29, 0x21, 0x1e};
-static unsigned char times8_170_bits[] = {
-0x01, 0x02, 0x03, 0x00, 0x03};
-static unsigned char times8_171_bits[] = {
-0x0a, 0x05, 0x05, 0x0a};
-static unsigned char times8_172_bits[] = {
-0x0f, 0x08, 0x08};
-static unsigned char times8_173_bits[] = {
-0x03};
-static unsigned char times8_174_bits[] = {
-0x1e, 0x2d, 0x35, 0x2d, 0x35, 0x21, 0x1e};
-static unsigned char times8_175_bits[] = {
-0x07};
-static unsigned char times8_176_bits[] = {
-0x02, 0x05, 0x02};
-static unsigned char times8_177_bits[] = {
-0x02, 0x07, 0x02, 0x00, 0x07};
-static unsigned char times8_178_bits[] = {
-0x01, 0x02, 0x01, 0x03};
-static unsigned char times8_179_bits[] = {
-0x01, 0x02, 0x01, 0x02, 0x01};
-static unsigned char times8_180_bits[] = {
-0x02, 0x01};
-static unsigned char times8_181_bits[] = {
-0x05, 0x05, 0x05, 0x0b, 0x01};
-static unsigned char times8_182_bits[] = {
-0x1f, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x0a};
-static unsigned char times8_183_bits[] = {
-0x01};
-static unsigned char times8_184_bits[] = {
-0x02, 0x01};
-static unsigned char times8_185_bits[] = {
-0x03, 0x02, 0x02, 0x07};
-static unsigned char times8_186_bits[] = {
-0x02, 0x05, 0x02, 0x00, 0x07};
-static unsigned char times8_187_bits[] = {
-0x05, 0x0a, 0x0a, 0x05};
-static unsigned char times8_188_bits[] = {
-0x22, 0x12, 0x0a, 0x24, 0x32, 0x39, 0x20};
-static unsigned char times8_189_bits[] = {
-0x22, 0x12, 0x0a, 0x14, 0x22, 0x11, 0x30};
-static unsigned char times8_190_bits[] = {
-0x01, 0x22, 0x11, 0x2a, 0x35, 0x3a, 0x20};
-static unsigned char times8_191_bits[] = {
-0x02, 0x00, 0x02, 0x01, 0x01, 0x02};
-static unsigned char times8_192_bits[] = {
-0x02, 0x04, 0x00, 0x04, 0x04, 0x0a, 0x0e, 0x1b};
-static unsigned char times8_193_bits[] = {
-0x08, 0x04, 0x00, 0x04, 0x04, 0x0a, 0x0e, 0x1b};
-static unsigned char times8_194_bits[] = {
-0x04, 0x0a, 0x00, 0x04, 0x04, 0x0a, 0x0e, 0x1b};
-static unsigned char times8_195_bits[] = {
-0x14, 0x0a, 0x00, 0x04, 0x04, 0x0a, 0x0e, 0x1b};
-static unsigned char times8_196_bits[] = {
-0x0a, 0x00, 0x04, 0x04, 0x0a, 0x0e, 0x1b};
-static unsigned char times8_197_bits[] = {
-0x04, 0x0a, 0x04, 0x04, 0x04, 0x0a, 0x0e, 0x1b};
-static unsigned char times8_198_bits[] = {
-0x3c, 0x0a, 0x3e, 0x0a, 0x3b};
-static unsigned char times8_199_bits[] = {
-0x0e, 0x11, 0x01, 0x11, 0x0e, 0x04, 0x02};
-static unsigned char times8_200_bits[] = {
-0x02, 0x04, 0x00, 0x0f, 0x02, 0x06, 0x02, 0x0f};
-static unsigned char times8_201_bits[] = {
-0x08, 0x04, 0x00, 0x0f, 0x02, 0x06, 0x02, 0x0f};
-static unsigned char times8_202_bits[] = {
-0x04, 0x0a, 0x00, 0x0f, 0x02, 0x06, 0x02, 0x0f};
-static unsigned char times8_203_bits[] = {
-0x0a, 0x00, 0x0f, 0x02, 0x06, 0x02, 0x0f};
-static unsigned char times8_204_bits[] = {
-0x01, 0x02, 0x00, 0x07, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times8_205_bits[] = {
-0x04, 0x02, 0x00, 0x07, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times8_206_bits[] = {
-0x02, 0x05, 0x00, 0x07, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times8_207_bits[] = {
-0x05, 0x00, 0x07, 0x02, 0x02, 0x02, 0x07};
-static unsigned char times8_208_bits[] = {
-0x0f, 0x12, 0x17, 0x12, 0x0f};
-static unsigned char times8_209_bits[] = {
-0x14, 0x0a, 0x00, 0x33, 0x16, 0x1a, 0x12, 0x13};
-static unsigned char times8_210_bits[] = {
-0x02, 0x04, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char times8_211_bits[] = {
-0x08, 0x04, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char times8_212_bits[] = {
-0x04, 0x0a, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char times8_213_bits[] = {
-0x14, 0x0a, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char times8_214_bits[] = {
-0x0a, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x0e};
-static unsigned char times8_215_bits[] = {
-0x09, 0x06, 0x06, 0x09};
-static unsigned char times8_216_bits[] = {
-0x10, 0x0e, 0x19, 0x15, 0x13, 0x0e, 0x01};
-static unsigned char times8_217_bits[] = {
-0x04, 0x08, 0x00, 0x33, 0x12, 0x12, 0x12, 0x0c};
-static unsigned char times8_218_bits[] = {
-0x10, 0x08, 0x00, 0x33, 0x12, 0x12, 0x12, 0x0c};
-static unsigned char times8_219_bits[] = {
-0x08, 0x14, 0x00, 0x33, 0x12, 0x12, 0x12, 0x0c};
-static unsigned char times8_220_bits[] = {
-0x14, 0x00, 0x33, 0x12, 0x12, 0x12, 0x0c};
-static unsigned char times8_221_bits[] = {
-0x08, 0x04, 0x00, 0x1b, 0x0a, 0x0a, 0x04, 0x04};
-static unsigned char times8_222_bits[] = {
-0x03, 0x06, 0x0a, 0x06, 0x03};
-static unsigned char times8_223_bits[] = {
-0x06, 0x09, 0x05, 0x09, 0x05, 0x01};
-static unsigned char times8_224_bits[] = {
-0x01, 0x02, 0x00, 0x01, 0x02, 0x03, 0x03};
-static unsigned char times8_225_bits[] = {
-0x02, 0x01, 0x00, 0x01, 0x02, 0x03, 0x03};
-static unsigned char times8_226_bits[] = {
-0x02, 0x05, 0x00, 0x01, 0x02, 0x03, 0x03};
-static unsigned char times8_227_bits[] = {
-0x0a, 0x05, 0x00, 0x01, 0x02, 0x03, 0x03};
-static unsigned char times8_228_bits[] = {
-0x05, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03};
-static unsigned char times8_229_bits[] = {
-0x02, 0x05, 0x02, 0x01, 0x02, 0x03, 0x03};
-static unsigned char times8_230_bits[] = {
-0x09, 0x1e, 0x07, 0x0b};
-static unsigned char times8_231_bits[] = {
-0x02, 0x01, 0x01, 0x02, 0x01};
-static unsigned char times8_232_bits[] = {
-0x01, 0x02, 0x00, 0x02, 0x07, 0x01, 0x02};
-static unsigned char times8_233_bits[] = {
-0x04, 0x02, 0x00, 0x02, 0x07, 0x01, 0x02};
-static unsigned char times8_234_bits[] = {
-0x02, 0x05, 0x00, 0x02, 0x07, 0x01, 0x02};
-static unsigned char times8_235_bits[] = {
-0x05, 0x00, 0x00, 0x02, 0x07, 0x01, 0x02};
-static unsigned char times8_236_bits[] = {
-0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01};
-static unsigned char times8_237_bits[] = {
-0x02, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01};
-static unsigned char times8_238_bits[] = {
-0x02, 0x05, 0x00, 0x02, 0x02, 0x02, 0x02};
-static unsigned char times8_239_bits[] = {
-0x05, 0x00, 0x02, 0x02, 0x02, 0x02};
-static unsigned char times8_240_bits[] = {
-0x05, 0x02, 0x05, 0x0a, 0x0a, 0x04};
-static unsigned char times8_241_bits[] = {
-0x0a, 0x05, 0x00, 0x03, 0x05, 0x05, 0x05};
-static unsigned char times8_242_bits[] = {
-0x01, 0x02, 0x00, 0x02, 0x05, 0x05, 0x02};
-static unsigned char times8_243_bits[] = {
-0x04, 0x02, 0x00, 0x02, 0x05, 0x05, 0x02};
-static unsigned char times8_244_bits[] = {
-0x02, 0x05, 0x00, 0x02, 0x05, 0x05, 0x02};
-static unsigned char times8_245_bits[] = {
-0x0a, 0x05, 0x00, 0x02, 0x05, 0x05, 0x02};
-static unsigned char times8_246_bits[] = {
-0x05, 0x00, 0x00, 0x02, 0x05, 0x05, 0x02};
-static unsigned char times8_247_bits[] = {
-0x02, 0x00, 0x07, 0x00, 0x02};
-static unsigned char times8_248_bits[] = {
-0x04, 0x06, 0x05, 0x05, 0x03, 0x01};
-static unsigned char times8_249_bits[] = {
-0x01, 0x02, 0x00, 0x05, 0x05, 0x05, 0x06};
-static unsigned char times8_250_bits[] = {
-0x04, 0x02, 0x00, 0x05, 0x05, 0x05, 0x06};
-static unsigned char times8_251_bits[] = {
-0x02, 0x05, 0x00, 0x05, 0x05, 0x05, 0x06};
-static unsigned char times8_252_bits[] = {
-0x05, 0x00, 0x05, 0x05, 0x05, 0x06};
-static unsigned char times8_253_bits[] = {
-0x04, 0x02, 0x00, 0x05, 0x05, 0x05, 0x02, 0x02, 0x01};
-static unsigned char times8_254_bits[] = {
-0x03, 0x06, 0x0a, 0x0a, 0x06, 0x02, 0x03};
-static unsigned char times8_255_bits[] = {
-0x05, 0x00, 0x05, 0x05, 0x05, 0x02, 0x02, 0x01};
-static RotFont times8font[] = {
-{5, 1, 1, times8_0_bits},
-{5, 1, 1, times8_1_bits},
-{5, 1, 1, times8_2_bits},
-{5, 1, 1, times8_3_bits},
-{5, 1, 1, times8_4_bits},
-{5, 1, 1, times8_5_bits},
-{5, 1, 1, times8_6_bits},
-{5, 1, 1, times8_7_bits},
-{5, 1, 1, times8_8_bits},
-{5, 1, 1, times8_9_bits},
-{5, 1, 1, times8_10_bits},
-{5, 1, 1, times8_11_bits},
-{5, 1, 1, times8_12_bits},
-{5, 1, 1, times8_13_bits},
-{5, 1, 1, times8_14_bits},
-{5, 1, 1, times8_15_bits},
-{5, 1, 1, times8_16_bits},
-{5, 1, 1, times8_17_bits},
-{5, 1, 1, times8_18_bits},
-{5, 1, 1, times8_19_bits},
-{5, 1, 1, times8_20_bits},
-{5, 1, 1, times8_21_bits},
-{5, 1, 1, times8_22_bits},
-{5, 1, 1, times8_23_bits},
-{5, 1, 1, times8_24_bits},
-{5, 1, 1, times8_25_bits},
-{5, 1, 1, times8_26_bits},
-{5, 1, 1, times8_27_bits},
-{5, 1, 1, times8_28_bits},
-{5, 1, 1, times8_29_bits},
-{5, 1, 1, times8_30_bits},
-{5, 1, 1, times8_31_bits},
-{4, 1, 1, times8_32_bits},
-{1, 6, 6, times8_33_bits},
-{3, 2, 5, times8_34_bits},
-{4, 5, 5, times8_35_bits},
-{3, 7, 6, times8_36_bits},
-{5, 5, 5, times8_37_bits},
-{5, 6, 6, times8_38_bits},
-{1, 2, 6, times8_39_bits},
-{2, 7, 6, times8_40_bits},
-{2, 7, 6, times8_41_bits},
-{3, 3, 5, times8_42_bits},
-{4, 5, 5, times8_43_bits},
-{2, 2, 1, times8_44_bits},
-{4, 1, 3, times8_45_bits},
-{1, 1, 1, times8_46_bits},
-{3, 7, 6, times8_47_bits},
-{3, 5, 5, times8_48_bits},
-{3, 5, 5, times8_49_bits},
-{3, 5, 5, times8_50_bits},
-{3, 5, 5, times8_51_bits},
-{4, 5, 5, times8_52_bits},
-{3, 5, 5, times8_53_bits},
-{3, 5, 5, times8_54_bits},
-{3, 5, 5, times8_55_bits},
-{3, 5, 5, times8_56_bits},
-{3, 5, 5, times8_57_bits},
-{1, 3, 3, times8_58_bits},
-{2, 4, 3, times8_59_bits},
-{3, 5, 5, times8_60_bits},
-{4, 3, 4, times8_61_bits},
-{3, 5, 5, times8_62_bits},
-{3, 5, 5, times8_63_bits},
-{6, 7, 6, times8_64_bits},
-{5, 5, 5, times8_65_bits},
-{4, 5, 5, times8_66_bits},
-{5, 5, 5, times8_67_bits},
-{5, 5, 5, times8_68_bits},
-{4, 5, 5, times8_69_bits},
-{4, 5, 5, times8_70_bits},
-{5, 5, 5, times8_71_bits},
-{6, 5, 5, times8_72_bits},
-{3, 5, 5, times8_73_bits},
-{2, 5, 5, times8_74_bits},
-{5, 5, 5, times8_75_bits},
-{4, 5, 5, times8_76_bits},
-{7, 5, 5, times8_77_bits},
-{6, 5, 5, times8_78_bits},
-{5, 5, 5, times8_79_bits},
-{5, 5, 5, times8_80_bits},
-{5, 7, 5, times8_81_bits},
-{5, 5, 5, times8_82_bits},
-{4, 5, 5, times8_83_bits},
-{5, 5, 5, times8_84_bits},
-{6, 5, 5, times8_85_bits},
-{5, 5, 5, times8_86_bits},
-{8, 5, 5, times8_87_bits},
-{6, 5, 5, times8_88_bits},
-{5, 5, 5, times8_89_bits},
-{4, 5, 5, times8_90_bits},
-{2, 7, 6, times8_91_bits},
-{3, 7, 6, times8_92_bits},
-{2, 7, 6, times8_93_bits},
-{3, 2, 6, times8_94_bits},
-{4, 1, 0, times8_95_bits},
-{1, 2, 6, times8_96_bits},
-{2, 4, 4, times8_97_bits},
-{3, 5, 5, times8_98_bits},
-{2, 4, 4, times8_99_bits},
-{3, 5, 5, times8_100_bits},
-{3, 4, 4, times8_101_bits},
-{3, 5, 5, times8_102_bits},
-{4, 5, 4, times8_103_bits},
-{3, 5, 5, times8_104_bits},
-{1, 6, 6, times8_105_bits},
-{2, 8, 6, times8_106_bits},
-{3, 5, 5, times8_107_bits},
-{1, 5, 5, times8_108_bits},
-{5, 4, 4, times8_109_bits},
-{3, 4, 4, times8_110_bits},
-{3, 4, 4, times8_111_bits},
-{3, 6, 4, times8_112_bits},
-{3, 6, 4, times8_113_bits},
-{3, 4, 4, times8_114_bits},
-{2, 4, 4, times8_115_bits},
-{2, 5, 5, times8_116_bits},
-{3, 4, 4, times8_117_bits},
-{3, 4, 4, times8_118_bits},
-{5, 4, 4, times8_119_bits},
-{4, 4, 4, times8_120_bits},
-{3, 6, 4, times8_121_bits},
-{3, 4, 4, times8_122_bits},
-{3, 7, 6, times8_123_bits},
-{1, 7, 6, times8_124_bits},
-{3, 7, 6, times8_125_bits},
-{5, 2, 4, times8_126_bits},
-{5, 1, 1, times8_127_bits},
-{5, 1, 1, times8_128_bits},
-{5, 1, 1, times8_129_bits},
-{5, 1, 1, times8_130_bits},
-{5, 1, 1, times8_131_bits},
-{5, 1, 1, times8_132_bits},
-{5, 1, 1, times8_133_bits},
-{5, 1, 1, times8_134_bits},
-{5, 1, 1, times8_135_bits},
-{5, 1, 1, times8_136_bits},
-{5, 1, 1, times8_137_bits},
-{5, 1, 1, times8_138_bits},
-{5, 1, 1, times8_139_bits},
-{5, 1, 1, times8_140_bits},
-{5, 1, 1, times8_141_bits},
-{5, 1, 1, times8_142_bits},
-{5, 1, 1, times8_143_bits},
-{5, 1, 1, times8_144_bits},
-{5, 1, 1, times8_145_bits},
-{5, 1, 1, times8_146_bits},
-{5, 1, 1, times8_147_bits},
-{5, 1, 1, times8_148_bits},
-{5, 1, 1, times8_149_bits},
-{5, 1, 1, times8_150_bits},
-{5, 1, 1, times8_151_bits},
-{5, 1, 1, times8_152_bits},
-{5, 1, 1, times8_153_bits},
-{5, 1, 1, times8_154_bits},
-{5, 1, 1, times8_155_bits},
-{5, 1, 1, times8_156_bits},
-{5, 1, 1, times8_157_bits},
-{5, 1, 1, times8_158_bits},
-{5, 1, 1, times8_159_bits},
-{1, 1, 1, times8_160_bits},
-{1, 7, 5, times8_161_bits},
-{3, 6, 5, times8_162_bits},
-{4, 5, 5, times8_163_bits},
-{4, 4, 4, times8_164_bits},
-{5, 5, 5, times8_165_bits},
-{1, 7, 6, times8_166_bits},
-{3, 7, 6, times8_167_bits},
-{4, 1, 7, times8_168_bits},
-{6, 7, 6, times8_169_bits},
-{2, 5, 6, times8_170_bits},
-{4, 4, 4, times8_171_bits},
-{4, 3, 4, times8_172_bits},
-{2, 1, 3, times8_173_bits},
-{6, 7, 6, times8_174_bits},
-{3, 1, 7, times8_175_bits},
-{3, 3, 5, times8_176_bits},
-{3, 5, 5, times8_177_bits},
-{2, 4, 6, times8_178_bits},
-{2, 5, 6, times8_179_bits},
-{2, 2, 7, times8_180_bits},
-{4, 5, 4, times8_181_bits},
-{5, 7, 6, times8_182_bits},
-{1, 1, 3, times8_183_bits},
-{2, 2, 0, times8_184_bits},
-{3, 4, 6, times8_185_bits},
-{3, 5, 6, times8_186_bits},
-{4, 4, 4, times8_187_bits},
-{6, 7, 6, times8_188_bits},
-{6, 7, 6, times8_189_bits},
-{6, 7, 6, times8_190_bits},
-{2, 6, 5, times8_191_bits},
-{5, 8, 8, times8_192_bits},
-{5, 8, 8, times8_193_bits},
-{5, 8, 8, times8_194_bits},
-{5, 8, 8, times8_195_bits},
-{5, 7, 7, times8_196_bits},
-{5, 8, 8, times8_197_bits},
-{6, 5, 5, times8_198_bits},
-{5, 7, 5, times8_199_bits},
-{4, 8, 8, times8_200_bits},
-{4, 8, 8, times8_201_bits},
-{4, 8, 8, times8_202_bits},
-{4, 7, 7, times8_203_bits},
-{3, 8, 8, times8_204_bits},
-{3, 8, 8, times8_205_bits},
-{3, 8, 8, times8_206_bits},
-{3, 7, 7, times8_207_bits},
-{5, 5, 5, times8_208_bits},
-{6, 8, 8, times8_209_bits},
-{5, 8, 8, times8_210_bits},
-{5, 8, 8, times8_211_bits},
-{5, 8, 8, times8_212_bits},
-{5, 8, 8, times8_213_bits},
-{5, 7, 7, times8_214_bits},
-{4, 4, 4, times8_215_bits},
-{5, 7, 6, times8_216_bits},
-{6, 8, 8, times8_217_bits},
-{6, 8, 8, times8_218_bits},
-{6, 8, 8, times8_219_bits},
-{6, 7, 7, times8_220_bits},
-{5, 8, 8, times8_221_bits},
-{4, 5, 5, times8_222_bits},
-{4, 6, 5, times8_223_bits},
-{2, 7, 7, times8_224_bits},
-{2, 7, 7, times8_225_bits},
-{3, 7, 7, times8_226_bits},
-{4, 7, 7, times8_227_bits},
-{3, 7, 7, times8_228_bits},
-{3, 7, 7, times8_229_bits},
-{5, 4, 4, times8_230_bits},
-{2, 5, 4, times8_231_bits},
-{3, 7, 7, times8_232_bits},
-{3, 7, 7, times8_233_bits},
-{3, 7, 7, times8_234_bits},
-{3, 7, 7, times8_235_bits},
-{2, 7, 7, times8_236_bits},
-{2, 7, 7, times8_237_bits},
-{3, 7, 7, times8_238_bits},
-{3, 6, 6, times8_239_bits},
-{4, 6, 6, times8_240_bits},
-{4, 7, 7, times8_241_bits},
-{3, 7, 7, times8_242_bits},
-{3, 7, 7, times8_243_bits},
-{3, 7, 7, times8_244_bits},
-{4, 7, 7, times8_245_bits},
-{3, 7, 7, times8_246_bits},
-{3, 5, 5, times8_247_bits},
-{3, 6, 5, times8_248_bits},
-{3, 7, 7, times8_249_bits},
-{3, 7, 7, times8_250_bits},
-{3, 7, 7, times8_251_bits},
-{3, 6, 6, times8_252_bits},
-{3, 9, 7, times8_253_bits},
-{4, 7, 5, times8_254_bits},
-{3, 8, 6, times8_255_bits}};
Index: /trunk/Ohana/src/libkapa/src/DrawRotString.c
===================================================================
--- /trunk/Ohana/src/libkapa/src/DrawRotString.c	(revision 38985)
+++ /trunk/Ohana/src/libkapa/src/DrawRotString.c	(revision 38986)
@@ -22,4 +22,13 @@
     return (TRUE);
 }
+
+/* position can be one of 9 values center the text in the following way 
+   0 1 2
+   3 4 5
+   6 7 8
+
+   e.g., 4 has the center of the string at the x,y position
+         0 has the lower-right corner at the position (left & up justified)
+*/
 
 int DrawRotText (int x, int y, char *string, int pos, double angle) {
Index: /trunk/Ohana/src/libkapa/src/KapaWindow.c
===================================================================
--- /trunk/Ohana/src/libkapa/src/KapaWindow.c	(revision 38985)
+++ /trunk/Ohana/src/libkapa/src/KapaWindow.c	(revision 38986)
@@ -161,4 +161,12 @@
 		  data[0].labelPadYm, data[0].labelPadYp);
 
+  KiiSendMessage (fd, "%lf %lf %lf %lf", 
+		  data[0].fLabelRangeXm, data[0].fLabelRangeXp, 
+		  data[0].fLabelRangeYm, data[0].fLabelRangeYp);
+
+  KiiSendMessage (fd, "%lf %lf %lf %lf", 
+		  data[0].fMinorXm, data[0].fMinorXp, 
+		  data[0].fMinorYm, data[0].fMinorYp);
+
   KiiSendMessage (fd, "%g %g %g %g ", 
 		  data[0].coords.pc1_1, data[0].coords.pc2_2,
@@ -203,4 +211,12 @@
 		  &data[0].labelPadXm, &data[0].labelPadXp, 
 		  &data[0].labelPadYm, &data[0].labelPadYp);
+
+  KiiScanMessage (fd, "%lf %lf %lf %lf", 
+		  &data[0].fLabelRangeXm, &data[0].fLabelRangeXp, 
+		  &data[0].fLabelRangeYm, &data[0].fLabelRangeYp);
+
+  KiiScanMessage (fd, "%lf %lf %lf %lf", 
+		  &data[0].fMinorXm, &data[0].fMinorXp, 
+		  &data[0].fMinorYm, &data[0].fMinorYp);
 
   KiiScanMessage (fd, "%f %f %f %f", 
Index: /trunk/Ohana/src/libkapa/src/PSRotFont.c
===================================================================
--- /trunk/Ohana/src/libkapa/src/PSRotFont.c	(revision 38985)
+++ /trunk/Ohana/src/libkapa/src/PSRotFont.c	(revision 38986)
@@ -9,5 +9,5 @@
   int i, N, code, protect;
   int dX, dY, Xoff, Yoff, X, Y, Nseg, NSEG, YoffBase;
-  double cs, sn, fscale, currentscale;
+  double cs, sn, currentscale;
   int basesize, currentsize;
   RotFont *currentfont;
@@ -23,11 +23,5 @@
   
   /* compute string length */
-  /* PS fonts are somewhat different scales from bitmap font equivalents */
-  fscale = 1.0;
-  if (!strcmp (currentname, "times")) fscale = 1.07;
-  if (!strcmp (currentname, "courier")) fscale = 1.5;
-  if (!strcmp (currentname, "helvetica")) fscale = 0.9;
-  if (!strcmp (currentname, "symbol")) fscale = 1.2;
-  dX = fscale*RotStrlen (string);
+  dX = PSRotStrlen (string);
   dY = currentfont[65].ascent;
   
@@ -201,4 +195,50 @@
 }
 
+# define NROT 256
+int PSRotStrlen (char *c) {
+
+  int i, N, dX, code;
+  double currentscale, scale; 
+
+  RotFont *currentfont = GetRotFontData (&currentscale);
+  scale = currentscale;
+
+  /* find string length */
+  dX = 0;
+
+  code = FALSE;
+  for (i = 0; i < strlen (c); i++) {
+    N = (int)(c[i]);
+    /* skip non-printing characters */
+    if ((N < 0) || (N >= NROT)) continue;
+
+    /* check for special characters */
+    if (!code) {
+      if (N == 94) { /* super-script */
+	scale *= 0.8;
+	continue;
+      }
+      if (N == 95) { /* sub-script */
+	scale *= 0.8;
+	continue;
+      }
+      if (N == 124) { /* normal-script */
+	scale = currentscale;
+	continue;
+      }
+      if (N == 92) { /* backslash */
+	code = TRUE;
+	continue;
+      } 
+      if (N == 38) { /* font-code */
+	i++;
+	continue;
+      }
+    }
+    code = FALSE;
+    dX += scale*currentfont[N].dXps + 1;
+  }
+  return (dX);
+}
 
 
Index: /trunk/Ohana/src/libohana/include/ohana_allocate.h
===================================================================
--- /trunk/Ohana/src/libohana/include/ohana_allocate.h	(revision 38985)
+++ /trunk/Ohana/src/libohana/include/ohana_allocate.h	(revision 38986)
@@ -50,4 +50,7 @@
     PTR = (TYPE *) ohana_malloc (__FILE__, __LINE__, __func__, (SIZE), sizeof(TYPE)); \
   }
+
+# define ALLOCATE_PTR(PTR,TYPE,SIZE) \
+  TYPE *PTR = (TYPE *) ohana_malloc (__FILE__, __LINE__, __func__, (SIZE), sizeof(TYPE));
 
 # define ALLOCATE_ZERO(PTR,TYPE,SIZE) { \
@@ -107,3 +110,5 @@
 # endif /* OHANA_MEMORY */
 
+void  ohana_memdump_file (FILE *f, int mode);
+
 # endif /* OHANA_ALLOCATE */
Index: /trunk/Ohana/src/libohana/include/ohana_sort.h
===================================================================
--- /trunk/Ohana/src/libohana/include/ohana_sort.h	(revision 38985)
+++ /trunk/Ohana/src/libohana/include/ohana_sort.h	(revision 38986)
@@ -67,12 +67,18 @@
 void dsort (double *value, int N);
 void fsort (float *value, int N);
+void isort (int *value, int N);
+
+void dsortpair (double *X, double *Y, int N);
 void fsortpair (float *X, float *Y, int N);
-void dsortpair (double *X, double *Y, int N);
 void isortpair (int *X, int *Y, int N);
+
 void llsortpair (off_t *X, off_t *Y, off_t N);
+
+void dsortthree (double *X, double *Y, double *Z, int N);
 void fsortthree (float *X, float *Y, float *Z, int N);
-void dsortthree (double *X, double *Y, double *Z, int N);
+
+void dsortfour (double *X, double *Y, double *Z, double *W, int N);
 void fsortfour (float *X, float *Y, float *Z, float *W, int N);
-void dsortfour (double *X, double *Y, double *Z, double *W, int N);
+void isortfour (int *X, int *Y, int *Z, int *W, int N);
 
 #endif
Index: /trunk/Ohana/src/libohana/src/ohana_allocate.c
===================================================================
--- /trunk/Ohana/src/libohana/src/ohana_allocate.c	(revision 38985)
+++ /trunk/Ohana/src/libohana/src/ohana_allocate.c	(revision 38986)
@@ -265,8 +265,8 @@
 }
 
-int ohana_memcheck_func (int allmemory) {
+int ohana_memcheck_func (int VERBOSE) {
 
   if (!lastBlock) {
-    fprintf (stderr, "no memory allocated\n");
+    if (VERBOSE) fprintf (stderr, "no memory allocated\n");
   }
 
@@ -308,5 +308,9 @@
     thisBlock = thisBlock->prevBlock;
   }
-  fprintf (stderr, "%zd memory blocks allocated (%zd bytes total), %zd good, %zd bad\n", Ntotal, Nbytes, Ngood, Nbad);
+
+  if (Ntotal || VERBOSE) {
+    fprintf (stderr, "%zd memory blocks allocated (%zd bytes total), %zd good, %zd bad\n", Ntotal, Nbytes, Ngood, Nbad);
+  }
+
   if (Nbad) status = FALSE;
 
@@ -356,5 +360,9 @@
     thisBlock = thisBlock->prevBlock;
   }
-  fprintf (stderr, "%zd memory blocks freed     (%zd bytes total), %zd good, %zd bad\n", Ntotal_free, Nbytes_free, Ngood_free, Nbad_free);
+
+  if (Ntotal_free || VERBOSE) {
+    fprintf (stderr, "%zd memory blocks freed     (%zd bytes total), %zd good, %zd bad\n", Ntotal_free, Nbytes_free, Ngood_free, Nbad_free);
+  }
+
   if (Nbad_free) status = FALSE;
 
@@ -405,5 +413,9 @@
     thisBlock = thisBlock->prevBlock;
   }
-  fprintf (stderr, "%zd memory blocks dropped   (%zd bytes total), %zd good, %zd bad\n", Ntotal_drop, Nbytes_drop, Ngood_drop, Nbad_drop);
+
+  if (Ntotal_drop || VERBOSE) {
+    fprintf (stderr, "%zd memory blocks dropped   (%zd bytes total), %zd good, %zd bad\n", Ntotal_drop, Nbytes_drop, Ngood_drop, Nbad_drop);
+  }
+
   if (Nbad_drop) status = FALSE;
 # endif
@@ -412,8 +424,8 @@
 }
 
-void ohana_memdump_func (int allmemory) {
+void ohana_memdump_file (FILE *f, int VERBOSE) {
 
   if (!lastBlock) {
-    fprintf (stderr, "no memory allocated\n");
+    if (VERBOSE) fprintf (f, "no memory allocated\n");
     return;
   }
@@ -424,5 +436,5 @@
   size_t Nbytes = 0;
 
-  fprintf (stderr, " entry | bytes | cumulative | STATUS | file | line | function\n");
+  fprintf (f, " entry | bytes | cumulative | STATUS | file | line | function\n");
 
   while (thisBlock) {
@@ -444,7 +456,7 @@
     if (Ntotal < 100) {
       if (good) {
-	fprintf (stderr, "  %zd  %zd  %zd  GOOD  %s %d, func: %s\n", Ntotal, thisBlock->size, Nbytes, thisBlock->file, thisBlock->line, thisBlock->func);
+	fprintf (f, "  %zd  %zd  %zd  GOOD  %s %d, func: %s\n", Ntotal, thisBlock->size, Nbytes, thisBlock->file, thisBlock->line, thisBlock->func);
       } else {
-	fprintf (stderr, "  %zd  %zd  %zd  BAD   %s %d, func: %s\n", Ntotal, thisBlock->size, Nbytes, thisBlock->file, thisBlock->line, thisBlock->func);
+	fprintf (f, "  %zd  %zd  %zd  BAD   %s %d, func: %s\n", Ntotal, thisBlock->size, Nbytes, thisBlock->file, thisBlock->line, thisBlock->func);
       }
     }
@@ -452,6 +464,14 @@
     thisBlock = thisBlock->prevBlock;
   }
-  fprintf (stderr, "%zd memory blocks allocated (%zd bytes total)\n", Ntotal, Nbytes);
-
+
+  if (Ntotal || VERBOSE) {
+    fprintf (f, "%zd memory blocks allocated (%zd bytes total)\n", Ntotal, Nbytes);
+  }
+
+  return;
+}
+
+void ohana_memdump_func (int VERBOSE) {
+  ohana_memdump_file (stderr, VERBOSE);
   return;
 }
Index: /trunk/Ohana/src/libohana/src/sorts.c
===================================================================
--- /trunk/Ohana/src/libohana/src/sorts.c	(revision 38985)
+++ /trunk/Ohana/src/libohana/src/sorts.c	(revision 38986)
@@ -27,7 +27,19 @@
 }
 
-void fsortpair (float *X, float *Y, int N) {
+void isort (int *value, int N) {
 
-# define SWAPFUNC(A,B){ float tmp; \
+# define SWAPFUNC(A,B){ int tmp = value[A]; value[A] = value[B]; value[B] = tmp; }
+# define COMPARE(A,B)(value[A] < value[B])
+
+  OHANA_SORT (N, COMPARE, SWAPFUNC);
+
+# undef SWAPFUNC
+# undef COMPARE
+
+}
+
+void dsortpair (double *X, double *Y, int N) {
+
+# define SWAPFUNC(A,B){ double tmp; \
   tmp = X[A]; X[A] = X[B]; X[B] = tmp; \
   tmp = Y[A]; Y[A] = Y[B]; Y[B] = tmp; \
@@ -42,7 +54,7 @@
 }
 
-void dsortpair (double *X, double *Y, int N) {
+void fsortpair (float *X, float *Y, int N) {
 
-# define SWAPFUNC(A,B){ double tmp; \
+# define SWAPFUNC(A,B){ float tmp; \
   tmp = X[A]; X[A] = X[B]; X[B] = tmp; \
   tmp = Y[A]; Y[A] = Y[B]; Y[B] = tmp; \
@@ -89,4 +101,20 @@
 }
 
+void dsortthree (double *X, double *Y, double *Z, int N) {
+
+# define SWAPFUNC(A,B){ double tmp; \
+  tmp = X[A]; X[A] = X[B]; X[B] = tmp; \
+  tmp = Y[A]; Y[A] = Y[B]; Y[B] = tmp; \
+  tmp = Z[A]; Z[A] = Z[B]; Z[B] = tmp; \
+}
+# define COMPARE(A,B)(X[A] < X[B])
+
+  OHANA_SORT (N, COMPARE, SWAPFUNC);
+
+# undef SWAPFUNC
+# undef COMPARE
+
+}
+
 void fsortthree (float *X, float *Y, float *Z, int N) {
 
@@ -105,5 +133,5 @@
 }
 
-void dsortthree (double *X, double *Y, double *Z, int N) {
+void dsortfour (double *X, double *Y, double *Z, double *W, int N) {
 
 # define SWAPFUNC(A,B){ double tmp; \
@@ -111,4 +139,5 @@
   tmp = Y[A]; Y[A] = Y[B]; Y[B] = tmp; \
   tmp = Z[A]; Z[A] = Z[B]; Z[B] = tmp; \
+  tmp = W[A]; W[A] = W[B]; W[B] = tmp; \
 }
 # define COMPARE(A,B)(X[A] < X[B])
@@ -138,7 +167,7 @@
 }
 
-void dsortfour (double *X, double *Y, double *Z, double *W, int N) {
+void isortfour (int *X, int *Y, int *Z, int *W, int N) {
 
-# define SWAPFUNC(A,B){ double tmp; \
+# define SWAPFUNC(A,B){ int tmp; \
   tmp = X[A]; X[A] = X[B]; X[B] = tmp; \
   tmp = Y[A]; Y[A] = Y[B]; Y[B] = tmp; \
@@ -154,2 +183,3 @@
 
 }
+
Index: /trunk/Ohana/src/markrock/src/markrock.c
===================================================================
--- /trunk/Ohana/src/markrock/src/markrock.c	(revision 38985)
+++ /trunk/Ohana/src/markrock/src/markrock.c	(revision 38986)
@@ -60,6 +60,9 @@
 
   /* rocks2 = find_slow_rocks (&catalog, &catstats, &Nrocks2);  */
-  dvo_catalog_save (&catalog, VERBOSE);
-  dvo_catalog_unlock (&catalog);
+  SetProtect (TRUE);
+  if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+  if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+  SetProtect (FALSE);
+    
   dvo_catalog_free (&catalog);
 
Index: /trunk/Ohana/src/markstar/src/markstar.c
===================================================================
--- /trunk/Ohana/src/markstar/src/markstar.c	(revision 38985)
+++ /trunk/Ohana/src/markstar/src/markstar.c	(revision 38986)
@@ -68,6 +68,9 @@
   /* find_ghosts (&catalog, &catstats, argv[1], image, Nimage); */
 
-  dvo_catalog_save (&catalog, VERBOSE);
-  dvo_catalog_unlock (&catalog);
+  SetProtect (TRUE);
+  if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+  if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+  SetProtect (FALSE);
+
   dvo_catalog_free (&catalog);
 
Index: /trunk/Ohana/src/opihi/cmd.astro/fitplx.c
===================================================================
--- /trunk/Ohana/src/opihi/cmd.astro/fitplx.c	(revision 38985)
+++ /trunk/Ohana/src/opihi/cmd.astro/fitplx.c	(revision 38986)
@@ -7,4 +7,16 @@
 
 typedef struct {
+  double *X;
+  double *Y;
+  double *t;
+  double *pX;
+  double *pY;
+  double *dX;
+  double *dY;
+  int *index;
+  int Npts;
+} PlxFitData;
+
+typedef struct {
   double Ro, dRo;
   double Do, dDo;
@@ -17,5 +29,17 @@
   double chisq;
   int Nfit;
+  int getChisq;
 } PlxFit;
+
+int VectorRobustStats (Vector *vector, double *median, double *sigma);
+double VectorFractionInterpolate (double *values, float fraction, int Npts);
+
+int PlxSetMeanEpoch (double *R, double *D, double *T, double *Rmean, double *Dmean, double *Tmean, int *mask, int Ntotal);
+int PlxSetEpochPosition (PlxFitData *fitdata, double *R, double *D, double *dR, double *dD, double *T, int *mask, int Ntotal, Coords *coords, double Tmean);
+int PlxOutlierClip (PlxFitData *fitdata, int *mask, int Noutlier, float dPsigMax, Vector *dPvec, int VERBOSE);
+
+int PlxFitDataAlloc (PlxFitData *data, int N);
+void PlxFitDataFree (PlxFitData *data);
+int PlxBootstrapResample (PlxFitData *src, PlxFitData *tgt);
 
 int FitPMandPar (PlxFit *fit, double *X, double *dX, double *Y, double *dY, double *T, double *pR, double *pD, int Npts, int VERBOSE);
@@ -47,7 +71,33 @@
   }
 
+  int Noutlier = 0;
+  float dPsigMax = FLT_MAX;
+  if ((N = get_argument (argc, argv, "-outlier-tests"))) {
+    remove_argument (N, &argc, argv);
+    Noutlier = atoi(argv[N]);
+    remove_argument (N, &argc, argv);
+    dPsigMax = atof(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+
+  int Nresample = 0;
+  if ((N = get_argument (argc, argv, "-bootstrap-resample"))) {
+    remove_argument (N, &argc, argv);
+    Nresample = atoi(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+
+  Vector *dPvec = NULL;
+  if ((N = get_argument (argc, argv, "-dPsig"))) {
+    if (!Noutlier) { gprint (GP_ERR, "-dPsig requires -outlier-tests to be non-zero\n"); return FALSE; }
+    remove_argument (N, &argc, argv);
+    if (!(dPvec = SelectVector (argv[N], ANYVECTOR, TRUE))) return FALSE;
+    remove_argument (N, &argc, argv);
+  }
+
   if (argc != 6) {
-    gprint (GP_ERR, "USAGE: fitplx (ra) (dR) (dec) (dD) (mjd) [-mask mask]\n");
-    // what about the errors?
+    gprint (GP_ERR, "USAGE: fitplx (ra) (dR) (dec) (dD) (mjd) [-mask mask] [-v] [-vv]\n");
+    gprint (GP_ERR, "  -outlier-tests Nsamples dPsigMax : run Nsample bootstrap-resamples to define the path deviations and reject based on dPsigMax\n");
+    gprint (GP_ERR, "  -dPsig vec : save path deviations in vec\n");
     return (FALSE);
   }
@@ -77,28 +127,11 @@
   }
 
-  N = tvec->Nelements; // XXX check other lengths
-
-  // find mean values to remove
-  double Npts = 0;
-  double Tmean = 0;
-  double Rmean = 0;
-  double Dmean = 0;
-  double Tmin = +1000000;
-  double Tmax = -1000000;
-  for (i = 0; i < N; i++) {
-    if (mask && !mask[i]) continue;
-    Rmean += R[i];
-    Dmean += D[i];
-    Tmean += T[i];
-    Tmin = MIN(Tmin, T[i]);
-    Tmax = MAX(Tmax, T[i]);
-    Npts += 1.0;
-  }
-  Rmean /= Npts;
-  Dmean /= Npts;
-  Tmean /= Npts;
-
-  float Trange = Tmax - Tmin;
-  // fprintf (stderr, "R,D : %f,%f, T: %f, Trange: %f, Tmin: %f, Tmax: %f\n", Rmean, Dmean, Tmean, Trange, Tmin, Tmax);
+  // Ntotal : all points supplied by user
+  // Nsubset : unmasked points
+  int Ntotal = tvec->Nelements; // XXX check other lengths
+  if (dPvec) ResetVector (dPvec, OPIHI_FLT, Ntotal);
+
+  double Rmean, Dmean, Tmean;
+  PlxSetMeanEpoch (R, D, T, &Rmean, &Dmean, &Tmean, mask, Ntotal);
 
   /* project coordinates to a plane centered on the object with units of arcsec */
@@ -109,42 +142,101 @@
   coords.cdelt1 = coords.cdelt2 = 1.0 / 3600.0;
 
-  double *X, *Y, *t, *pX, *pY, *dX, *dY;
-  ALLOCATE (X, double, N);
-  ALLOCATE (Y, double, N);
-  ALLOCATE (dX, double, N);
-  ALLOCATE (dY, double, N);
-  ALLOCATE (t, double, N);
-  ALLOCATE (pX, double, N);
-  ALLOCATE (pY, double, N);
-
-  float pXmin = +2.0;
-  float pXmax = -2.0;
-  float pYmin = +2.0;
-  float pYmax = -2.0;
-
-  int n = 0;
-  for (i = 0; i < N; i++) {
-    if (mask && !mask[i]) continue;
-    RD_to_XY (&X[n], &Y[n], R[i], D[i], &coords);
-    dX[n] = dR[i];
-    dY[n] = dD[i];
-    t[n] = (T[i] - Tmean) / 365.25;
-    ParFactor (&pX[n], &pY[n], R[i], D[i], T[i]);
-    pXmin = MIN (pXmin, pX[n]);
-    pXmax = MAX (pXmax, pX[n]);
-    pYmin = MIN (pYmin, pY[n]);
-    pYmax = MAX (pYmax, pY[n]);
-    n++;
-  }
-  float dXRange = pXmax - pXmin;
-  float dYRange = pYmax - pYmin;
-  float parRange = hypot (dXRange, dYRange);
-	
-  // fprintf (stderr, "par factor range: %f\n", parRange);
-
-  PlxFit fit;
-  if (!FitPMandPar (&fit, X, dX, Y, dY, t, pX, pY, n, VERBOSE)) {
+  PlxFitData fitdata;
+  PlxFitDataAlloc (&fitdata, Ntotal);
+  PlxSetEpochPosition (&fitdata, R, D, dR, dD, T, mask, Ntotal, &coords, Tmean);
+
+  PlxFit fit; memset (&fit, 0, sizeof(PlxFit));
+
+  // determine dPsig for detections based on Noutlier attempts
+  if (Noutlier) {
+    int clipRetry = TRUE;
+    for (i = 0; clipRetry && (i < 3); i++) {
+      clipRetry = !PlxOutlierClip (&fitdata, mask, Noutlier, dPsigMax, dPvec, VERBOSE);
+
+      // using the new mask values, reset fitdata
+      PlxSetMeanEpoch (R, D, T, &Rmean, &Dmean, &Tmean, mask, Ntotal);
+      PlxSetEpochPosition (&fitdata, R, D, dR, dD, T, mask, Ntotal, &coords, Tmean);
+      if (VERBOSE) fprintf (stderr, "keep %d of %d\n", fitdata.Npts, Ntotal);
+    }
+  }
+
+  for (i = 0; (VERBOSE == 2) && (i < fitdata.Npts); i++) {
+    int n = fitdata.index[i];
+    int maskValue = mask ? mask[n] : 0;
+    fprintf (stderr, "%f %f : %f %d : %f %f %f\n", R[n], D[n], T[n], maskValue, fitdata.t[i], fitdata.X[i], fitdata.Y[i]);
+  }
+
+  fit.getChisq = TRUE;
+  if (!FitPMandPar (&fit, 
+		    fitdata.X, fitdata.dX, 
+		    fitdata.Y, fitdata.dY, 
+		    fitdata.t, fitdata.pX, fitdata.pY, fitdata.Npts, VERBOSE)) {
     return FALSE;
   }
+
+  if (Nresample){
+    PlxFitData sample;
+    PlxFitDataAlloc (&sample, fitdata.Npts);
+
+    PlxFit *testfit = NULL;
+    ALLOCATE (testfit, PlxFit, Nresample);
+
+    int Ngood = 0;
+    for (i = 0; i < Nresample; i++) {
+      PlxBootstrapResample (&fitdata, &sample);
+      
+      if (i % 100000 == 99999) fprintf (stderr, ".");
+
+      // fit the sample
+      testfit[Ngood].getChisq = FALSE;
+      if (!FitPMandPar (&testfit[Ngood], 
+			sample.X, sample.dX, 
+			sample.Y, sample.dY, sample.t, 
+			sample.pX, sample.pY, sample.Npts, VERBOSE)) continue;
+      Ngood ++;
+    }
+
+    Vector *pvec, *uRvec, *uDvec, *Rvec, *Dvec;
+
+    // save the Nresample histograms
+    if ((pvec  = SelectVector ("plxVector", ANYVECTOR, TRUE)) == NULL) ESCAPE ("missing vector %s\n", "plxVector");
+    if ((uRvec = SelectVector ("uRVector",  ANYVECTOR, TRUE)) == NULL) ESCAPE ("missing vector %s\n", "uDVector");
+    if ((uDvec = SelectVector ("uDVector",  ANYVECTOR, TRUE)) == NULL) ESCAPE ("missing vector %s\n", "uRVector");
+    if ((Rvec  = SelectVector ("RoVector",  ANYVECTOR, TRUE)) == NULL) ESCAPE ("missing vector %s\n", "RoVector");
+    if ((Dvec  = SelectVector ("DoVector",  ANYVECTOR, TRUE)) == NULL) ESCAPE ("missing vector %s\n", "DoVector");
+    
+    ResetVector ( pvec, OPIHI_FLT, Ngood);
+    ResetVector (uRvec, OPIHI_FLT, Ngood);
+    ResetVector (uDvec, OPIHI_FLT, Ngood);
+    ResetVector ( Rvec, OPIHI_FLT, Ngood);
+    ResetVector ( Dvec, OPIHI_FLT, Ngood);
+    
+    for (i = 0; i < Ngood; i++) {
+      pvec->elements.Flt[i]  = testfit[i].p;
+      uRvec->elements.Flt[i] = testfit[i].uR;
+      uDvec->elements.Flt[i] = testfit[i].uD;
+      Rvec->elements.Flt[i]  = testfit[i].Ro;
+      Dvec->elements.Flt[i]  = testfit[i].Do;
+    }
+
+    // now calculate median and sigma for each vector
+    VectorRobustStats (pvec,  &fit.p,  &fit.dp);
+    VectorRobustStats (uRvec, &fit.uR, &fit.duR);
+    VectorRobustStats (uDvec, &fit.uD, &fit.duD);
+    VectorRobustStats (Rvec,  &fit.Ro, &fit.dRo);
+    VectorRobustStats (Dvec,  &fit.Do, &fit.dDo);
+  }
+
+  // fprintf (stderr, "%f +/- %f | %f %f\n", fit.p, fit.dp, fit.uR, fit.uD);
+
+/*
+  FILE *f = fopen ("test.pf.dat", "w");
+  for (i = 0; i < Ntotal; i++) {
+    double Xf = fit.Ro + fit.uR*fitdata.t[i] + fit.p*fitdata.pX[i];
+    double Yf = fit.Do + fit.uD*fitdata.t[i] + fit.p*fitdata.pY[i];
+    fprintf (f, "%f : %f %f : %f %f : %f : %f %f : %f %f\n", T[i], R[i], D[i], Xf, Yf, fitdata.t[i], fitdata.X[i], fitdata.Y[i], fitdata.pX[i], fitdata.pY[i]);
+  }
+  fclose (f);
+*/
 
   // fprintf (stderr, "Roff, Doff: %f, %f; dRo, dDo: %f, %f\n", fit.Ro, fit.Do, fit.dRo, fit.dDo);
@@ -152,5 +244,5 @@
   XY_to_RD (&Rmean, &Dmean, fit.Ro, fit.Do, &coords);
   if (VERBOSE) {
-    fprintf (stderr, "Ro, Do: %f, %f +/- %f, %f\n", Rmean, Dmean, fit.dRo, fit.dDo);
+    fprintf (stderr, "Ro, Do: %f, %f +/- %f, %f (%f, %f)\n", Rmean, Dmean, fit.dRo, fit.dDo, fit.Ro, fit.Do);
     fprintf (stderr, "uR, uD: %f, %f; duR, duD: %f, %f\n", fit.uR, fit.uD, fit.duR, fit.duD);
     fprintf (stderr, "par: %f +/- %f\n", fit.p, fit.dp);
@@ -164,12 +256,10 @@
   set_variable ("uR",   fit.uR);
   set_variable ("uD",   fit.uD);
-  set_variable ("duR",   fit.duR);
-  set_variable ("duD",   fit.duD);
+  set_variable ("duR",  fit.duR);
+  set_variable ("duD",  fit.duD);
   set_variable ("plx",  fit.p);
   set_variable ("dplx", fit.dp);
   
   set_variable ("Tmean",  Tmean);
-  set_variable ("Trange", Trange);
-  set_variable ("Prange", parRange);
 
   set_variable ("chisq", fit.chisq);
@@ -293,19 +383,21 @@
   fit[0].dp  = sqrt(A[4][4]);
   
-  // add up the chi square for the fit
-  chisq = 0.0;
-  for (i = 0; i < Npts; i++) {
-    Xf = fit[0].Ro + fit[0].uR*T[i] + fit[0].p*pR[i];
-    Yf = fit[0].Do + fit[0].uD*T[i] + fit[0].p*pD[i];
-    wx = (fabs(dX[i]) < 0.0001) ? 1.0 : 1.0 / SQ(dX[i]);
-    wy = (fabs(dY[i]) < 0.0001) ? 1.0 : 1.0 / SQ(dY[i]);
-    chisq += SQ(X[i] - Xf) * wx;
-    chisq += SQ(Y[i] - Yf) * wy;
-    // if (VERBOSE) fprintf (stderr, "chisq contrib : %f %f : %f %f : %f %f : %f %f : %f\n", Xf, Yf, X[i] - Xf, Y[i] - Yf, dX[i], dY[i], (X[i] - Xf) / dX[i], (Y[i] - Yf) / dY[i], chisq);
-  }
+  // (optionally) add up the chi square for the fit
+  if (fit->getChisq) {
+    chisq = 0.0;
+    for (i = 0; i < Npts; i++) {
+      Xf = fit[0].Ro + fit[0].uR*T[i] + fit[0].p*pR[i];
+      Yf = fit[0].Do + fit[0].uD*T[i] + fit[0].p*pD[i];
+      wx = (fabs(dX[i]) < 0.0001) ? 1.0 : 1.0 / SQ(dX[i]);
+      wy = (fabs(dY[i]) < 0.0001) ? 1.0 : 1.0 / SQ(dY[i]);
+      chisq += SQ(X[i] - Xf) * wx;
+      chisq += SQ(Y[i] - Yf) * wy;
+      // if (VERBOSE) fprintf (stderr, "chisq contrib : %f %f : %f %f : %f %f : %f %f : %f\n", Xf, Yf, X[i] - Xf, Y[i] - Yf, dX[i], dY[i], (X[i] - Xf) / dX[i], (Y[i] - Yf) / dY[i], chisq);
+    }
+    // the reduced chisq is divided by (Ndof = 2*Npts - 5)
+    fit[0].chisq = chisq / (2.0*Npts - 5.0);
+  }
+  
   fit[0].Nfit = Npts;
-
-  // the reduced chisq is divided by (Ndof = 2*Npts - 5)
-  fit[0].chisq = chisq / (2.0*Npts - 5.0);
   return (TRUE);
 }
@@ -349,2 +441,289 @@
   return TRUE;
 }
+
+// allocate arrays but not the container
+int PlxFitDataAlloc (PlxFitData *data, int N) {
+
+  data->Npts = N;
+  ALLOCATE (data->X, double, N);
+  ALLOCATE (data->Y, double, N);
+  ALLOCATE (data->dX, double, N);
+  ALLOCATE (data->dY, double, N);
+  ALLOCATE (data->t, double, N);
+  ALLOCATE (data->pX, double, N);
+  ALLOCATE (data->pY, double, N);
+  ALLOCATE (data->index, int, N);
+  return TRUE;
+}
+
+void PlxFitDataFree (PlxFitData *data) {
+  FREE (data->X);
+  FREE (data->Y);
+  FREE (data->dX);
+  FREE (data->dY);
+  FREE (data->t);
+  FREE (data->pX);
+  FREE (data->pY);
+  FREE (data->index);
+}
+
+int PlxBootstrapResample (PlxFitData *src, PlxFitData *tgt) {
+  int i;
+  tgt->Npts = src->Npts;
+  for (i = 0; i < src->Npts; i++) {
+    int N = tgt->Npts * drand48();
+    // int N = i;
+    tgt->X [i] = src->X [N];
+    tgt->Y [i] = src->Y [N];
+    tgt->dX[i] = src->dX[N];
+    tgt->dY[i] = src->dY[N];
+    tgt->t [i] = src->t [N];
+    tgt->pX[i] = src->pX[N];
+    tgt->pY[i] = src->pY[N];
+  }
+  return TRUE;
+}
+
+int PlxSetMeanEpoch (double *R, double *D, double *T, double *Rmean, double *Dmean, double *Tmean, int *mask, int Ntotal) {
+
+  int i;
+
+  // find mean values to remove
+  double Nmean = 0;
+  *Tmean = 0;
+  *Rmean = 0;
+  *Dmean = 0;
+  double Tmin = +1000000;
+  double Tmax = -1000000;
+  for (i = 0; i < Ntotal; i++) {
+    if (mask && !mask[i]) continue;
+    *Rmean += R[i];
+    *Dmean += D[i];
+    *Tmean += T[i];
+    Tmin = MIN(Tmin, T[i]);
+    Tmax = MAX(Tmax, T[i]);
+    Nmean += 1.0;
+  }
+  *Rmean /= Nmean;
+  *Dmean /= Nmean;
+  *Tmean /= Nmean;
+  
+  double Trange = Tmax - Tmin;
+
+  // fprintf (stderr, "R,D : %f,%f, T: %f, Trange: %f, Tmin: %f, Tmax: %f\n", *Rmean, *Dmean, *Tmean, Trange, Tmin, Tmax);
+
+  set_variable ("Trange", Trange);
+  return TRUE;
+}
+
+// generate the fit values (projected X,Y; parallax factors; 
+int PlxSetEpochPosition (PlxFitData *fitdata, double *R, double *D, double *dR, double *dD, double *T, int *mask, int Ntotal, Coords *coords, double Tmean) {
+
+  int i;
+
+  float pXmin = +2.0;
+  float pXmax = -2.0;
+  float pYmin = +2.0;
+  float pYmax = -2.0;
+
+  int Nsubset = 0;
+  for (i = 0; i < Ntotal; i++) {
+    if (mask && !mask[i]) continue;
+    RD_to_XY (&fitdata->X[Nsubset], &fitdata->Y[Nsubset], R[i], D[i], coords);
+    fitdata->dX[Nsubset] = dR[i];
+    fitdata->dY[Nsubset] = dD[i];
+    fitdata->t[Nsubset] = (T[i] - Tmean) / 365.25;
+    ParFactor (&fitdata->pX[Nsubset], &fitdata->pY[Nsubset], R[i], D[i], T[i]);
+    pXmin = MIN (pXmin, fitdata->pX[Nsubset]);
+    pXmax = MAX (pXmax, fitdata->pX[Nsubset]);
+    pYmin = MIN (pYmin, fitdata->pY[Nsubset]);
+    pYmax = MAX (pYmax, fitdata->pY[Nsubset]);
+    fitdata->index[Nsubset] = i;
+    Nsubset++;
+  }
+  fitdata->Npts = Nsubset;
+  float dXRange = pXmax - pXmin;
+  float dYRange = pYmax - pYmin;
+  float parRange = hypot (dXRange, dYRange);
+
+  set_variable ("Prange", parRange);
+  // fprintf (stderr, "par factor range: %f\n", parRange);
+
+  return TRUE;
+}
+
+/* Outlier clipping based on bootstrap-resampling tests of the plx path
+ * generate Noutlier resampled datasets
+ * fit the Noutlier plx paths
+ * determine and save the distribution of dXsig and dYsig for each point
+ * sort the resulting distributions and find dPsig (median point) for each measurement
+ * find the 90% point of dPsig : if > dPsigMax, only clip the 10% most deviant points
+ * set the dPvec values if desired
+ * -- mask is modified, dPvec values are set
+ * -- fitdata is unchanged
+ */
+
+# define MAX_REJECT 0.1
+
+int PlxOutlierClip (PlxFitData *fitdata, int *mask, int Noutlier, float dPsigMax, Vector *dPvec, int VERBOSE) {
+
+  int i, n;
+
+  PlxFit testfit;
+  testfit.getChisq = FALSE;
+
+  PlxFitData sample;
+  PlxFitDataAlloc (&sample, fitdata->Npts);
+
+  double **dXsig, **dYsig;
+  ALLOCATE (dXsig, double *, fitdata->Npts);
+  ALLOCATE (dYsig, double *, fitdata->Npts);
+  for (i = 0; i < fitdata->Npts; i++) {
+    ALLOCATE (dXsig[i], double, Noutlier);
+    ALLOCATE (dYsig[i], double, Noutlier);
+  }
+
+  int Nsamples = 0;
+  for (n = 0; n < Noutlier; n++) {
+    // bootstrap resample (fitdata -> sample)
+    PlxBootstrapResample (fitdata, &sample);
+      
+    if (n % 100000 == 99999) fprintf (stderr, ".");
+
+    // fit the sample
+    if (!FitPMandPar (&testfit, 
+		      sample.X, sample.dX, 
+		      sample.Y, sample.dY, sample.t, 
+		      sample.pX, sample.pY, sample.Npts, VERBOSE)) continue;
+
+    // fprintf (stderr, "%f +/- %f | %f %f\n", testfit.p, testfit.dp, testfit.uR, testfit.uD);
+
+    // find the distances to the path
+    for (i = 0; i < fitdata->Npts; i++) {
+      double Xf = testfit.Ro + testfit.uR*fitdata->t[i] + testfit.p*fitdata->pX[i];
+      double Yf = testfit.Do + testfit.uD*fitdata->t[i] + testfit.p*fitdata->pY[i];
+      dXsig[i][Nsamples] = fabs(fitdata->X[i] - Xf) / fitdata->dX[i];
+      dYsig[i][Nsamples] = fabs(fitdata->Y[i] - Yf) / fitdata->dY[i];
+      // fprintf (stderr, "%f : %f %f : %f %f : %f %f : %f %f %f\n", T[i], Xf, Yf, fitdata->X[i], fitdata->Y[i], fitdata->dX[i], fitdata->dY[i], fitdata->t[i], fitdata->pX[i], fitdata->pY[i]);
+    }
+    Nsamples ++;
+  }
+
+  double *dPsig;
+  ALLOCATE (dPsig, double, fitdata->Npts);
+    
+  for (i = 0; i < fitdata->Npts; i++) {
+    dsort (dXsig[i], Nsamples);
+    dsort (dYsig[i], Nsamples);
+
+    // choose the median values
+    double dXsigMedian, dYsigMedian;
+    if (Nsamples % 2) {
+      int Ncenter = Nsamples / 2;
+      dXsigMedian = dXsig[i][Ncenter];
+      dYsigMedian = dYsig[i][Ncenter];
+    } else {
+      int Ncenter = Nsamples / 2 - 1;
+      dXsigMedian = 0.5*(dXsig[i][Ncenter] + dXsig[i][Ncenter + 1]);
+      dYsigMedian = 0.5*(dYsig[i][Ncenter] + dYsig[i][Ncenter + 1]);
+    }
+    // XXX replace with hypotenuse?
+    dPsig[i] = 0.5*(dXsigMedian + dYsigMedian);
+    // fprintf (stderr, "%d %10.6f %10.6f %10.6f  %f %f : %f\n", i, R[i], D[i], T[i], dXsig[i][Ncenter], dYsig[i][Ncenter], dPsig[i]);
+  }
+
+  // make a copy of dPsig[] and check if > 10% are > dPsigMax
+  double *dPsigSort;
+  ALLOCATE (dPsigSort, double, fitdata->Npts);
+  for (i = 0; i < fitdata->Npts; i++) {
+    dPsigSort[i] = dPsig[i];
+  }
+  dsort (dPsigSort, fitdata->Npts);
+  int Nmax = (1.0 - MAX_REJECT)*fitdata->Npts;
+
+  int completeClip = TRUE;
+  if (dPsigSort[Nmax] > dPsigMax) {
+    if (VERBOSE) fprintf (stderr, "too many outliers: %f at 90\n", dPsigSort[Nmax]);
+    dPsigMax = dPsigSort[Nmax];
+    completeClip = FALSE;
+  }
+
+  for (i = 0; i < fitdata->Npts; i++) {
+    if (dPsig[i] < dPsigMax) continue;
+    int n = fitdata->index[i];
+    // fprintf (stderr, "clip %d: %f : %f\n", i, fitdata->t[i], dPsig[i]);
+    mask[n] = 0; // mask these points
+  }
+
+  // only set dPvec if we have completed the clipping?
+  if (dPvec) {
+    for (i = 0; i < dPvec->Nelements; i++) {
+      dPvec->elements.Flt[i] = NAN;
+    }
+    for (i = 0; i < fitdata->Npts; i++) {
+      int n = fitdata->index[i];
+      dPvec->elements.Flt[n] = dPsig[i];
+    }
+  }
+
+  free (dPsig);
+  free (dPsigSort);
+  
+  for (i = 0; i < fitdata->Npts; i++) {
+    free (dXsig[i]);
+    free (dYsig[i]);
+  }
+  free (dXsig);
+  free (dYsig);
+
+  return completeClip;
+}
+
+int VectorRobustStats (Vector *vector, double *median, double *sigma) {
+
+  // warn if vector->Nelements > 1000? 10000?)
+  // warn if vector is not float
+
+  // we need to copy the vector to avoid changing the sort order
+  double *values = NULL;
+  ALLOCATE (values, double, vector->Nelements);
+
+  int i;
+  int Npts = 0;
+  for (i = 0; i < vector->Nelements; i++) {
+    if (!isfinite(vector->elements.Flt[i])) continue;
+    values[Npts] = vector->elements.Flt[i];
+    Npts++;
+  }
+
+  dsort (values, Npts);
+
+  if (Npts % 2) {
+    int Ncenter = Npts / 2;
+    *median = values[Ncenter];
+  } else {
+    int Ncenter = Npts / 2 - 1;
+    *median = 0.5*(values[Ncenter] + values[Ncenter + 1]);
+  }
+
+  double Slo = VectorFractionInterpolate (values, 0.158655, Npts);
+  double Shi = VectorFractionInterpolate (values, 0.841345, Npts);
+
+  *sigma = (Shi - Slo) / 2.0;
+
+  return TRUE;
+}
+
+double VectorFractionInterpolate (double *values, float fraction, int Npts) {
+
+  float F = fraction * Npts;
+  int   N = fraction * Npts;
+
+  if (N < 0        ) return NAN;
+  if (N >= Npts - 2) return NAN;
+
+  // interpolate between N,N+1
+    
+  double S = (F - N) * (values[N+1] - values[N]) + values[N];
+  return S;
+}
Index: /trunk/Ohana/src/opihi/cmd.basic/date.c
===================================================================
--- /trunk/Ohana/src/opihi/cmd.basic/date.c	(revision 38985)
+++ /trunk/Ohana/src/opihi/cmd.basic/date.c	(revision 38986)
@@ -3,5 +3,6 @@
 int date (int argc, char **argv) {
   
-  int N, SECONDS, REFTIME;
+  int N, SECONDS;
+  double REFTIME;
   struct timeval now;
   char *tstring = NULL;
@@ -16,8 +17,8 @@
   }
 
-  REFTIME = 0;
+  REFTIME = 0.0;
   if ((N = get_argument (argc, argv, "-reftime"))) {
     remove_argument (N, &argc, argv);
-    REFTIME = atoi (argv[N]);
+    REFTIME = atof (argv[N]);
     remove_argument (N, &argc, argv);
   } 
@@ -37,8 +38,9 @@
   gettimeofday (&now, NULL);
   if (SECONDS) {
+    double nowSec = now.tv_sec + 1e-6*now.tv_usec;
     if (varName) {
-      set_int_variable (varName, now.tv_sec - REFTIME);
+      set_variable (varName, nowSec - REFTIME);
     } else {
-      gprint (GP_ERR, "%d\n", (int) now.tv_sec - REFTIME);
+      gprint (GP_ERR, "%.12g\n", nowSec - REFTIME);
     }
   } else {
Index: /trunk/Ohana/src/opihi/cmd.data/box.c
===================================================================
--- /trunk/Ohana/src/opihi/cmd.data/box.c	(revision 38985)
+++ /trunk/Ohana/src/opihi/cmd.data/box.c	(revision 38986)
@@ -48,5 +48,5 @@
     if (strlen (graphmode.ticks) != 4) { goto usage; }
     for (i = 0; i < strlen (graphmode.ticks); i++) {
-      if ((graphmode.ticks[i] != '0') && (graphmode.ticks[i] != '1') && (graphmode.ticks[i] != '2')) { goto usage; }
+      if ((graphmode.ticks[i] != '0') && (graphmode.ticks[i] != '1') && (graphmode.ticks[i] != '2') && (graphmode.ticks[i] != '3')) { goto usage; }
     }
   }
@@ -139,4 +139,62 @@
     remove_argument (N, &argc, argv);
     graphmode.padYp = atof(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+
+  if ((N = get_argument (argc, argv, "-fminor"))) {
+    remove_argument (N, &argc, argv);
+    graphmode.fMinorXm = atof(argv[N]);
+    graphmode.fMinorXp = atof(argv[N]);
+    graphmode.fMinorYm = atof(argv[N]);
+    graphmode.fMinorYp = atof(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+  if ((N = get_argument (argc, argv, "-xfminor"))) {
+    remove_argument (N, &argc, argv);
+    graphmode.fMinorXm = atof(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+  if ((N = get_argument (argc, argv, "+xfminor"))) {
+    remove_argument (N, &argc, argv);
+    graphmode.fMinorXp = atof(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+  if ((N = get_argument (argc, argv, "-yfminor"))) {
+    remove_argument (N, &argc, argv);
+    graphmode.fMinorYm = atof(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+  if ((N = get_argument (argc, argv, "+yfminor"))) {
+    remove_argument (N, &argc, argv);
+    graphmode.fMinorYp = atof(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+
+  if ((N = get_argument (argc, argv, "-flabel"))) {
+    remove_argument (N, &argc, argv);
+    graphmode.fLabelRangeXm = atof(argv[N]);
+    graphmode.fLabelRangeXp = atof(argv[N]);
+    graphmode.fLabelRangeYm = atof(argv[N]);
+    graphmode.fLabelRangeYp = atof(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+  if ((N = get_argument (argc, argv, "-xflabel"))) {
+    remove_argument (N, &argc, argv);
+    graphmode.fLabelRangeXm = atof(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+  if ((N = get_argument (argc, argv, "+xflabel"))) {
+    remove_argument (N, &argc, argv);
+    graphmode.fLabelRangeXp = atof(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+  if ((N = get_argument (argc, argv, "-yflabel"))) {
+    remove_argument (N, &argc, argv);
+    graphmode.fLabelRangeYm = atof(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+  if ((N = get_argument (argc, argv, "+yflabel"))) {
+    remove_argument (N, &argc, argv);
+    graphmode.fLabelRangeYp = atof(argv[N]);
     remove_argument (N, &argc, argv);
   }
@@ -174,4 +232,12 @@
   gprint (GP_ERR, "         alternatively, set each axis independently with:\n");
   gprint (GP_ERR, "        -xpad, -ypad, +xpad, +ypad\n");
+  gprint (GP_ERR, "  \n");
+  gprint (GP_ERR, "  -fminor : set the number of minor ticks per major (all axes)\n");
+  gprint (GP_ERR, "         alternatively, set each axis independently with:\n");
+  gprint (GP_ERR, "        -xfminor, -yfminor, +xfminor, +yfminor\n");
+  gprint (GP_ERR, "  \n");
+  gprint (GP_ERR, "  -flabel : set the fraction of axis over which major ticks have labels (all axes)\n");
+  gprint (GP_ERR, "         alternatively, set each axis independently with:\n");
+  gprint (GP_ERR, "        -xflabel, -yflabel, +xflabel, +yflabel\n");
 
   return (FALSE);
Index: /trunk/Ohana/src/opihi/cmd.data/device.c
===================================================================
--- /trunk/Ohana/src/opihi/cmd.data/device.c	(revision 38985)
+++ /trunk/Ohana/src/opihi/cmd.data/device.c	(revision 38986)
@@ -6,4 +6,10 @@
   char *name;;
   /* set / get current graphics device */
+
+  int QUIET = FALSE;
+  if ((N = get_argument (argc, argv, "-q"))) {
+    remove_argument (N, &argc, argv);
+    QUIET = TRUE;
+  }
 
   name = NULL;
@@ -23,5 +29,5 @@
     if (!GetGraph (NULL, &kapa, name)) return (FALSE);
   }
-  gprint (GP_ERR, "kapa %s\n", name); 
+  if (!QUIET) gprint (GP_ERR, "kapa %s\n", name); 
 
   return (TRUE);
Index: /trunk/Ohana/src/opihi/cmd.data/read_vectors.c
===================================================================
--- /trunk/Ohana/src/opihi/cmd.data/read_vectors.c	(revision 38985)
+++ /trunk/Ohana/src/opihi/cmd.data/read_vectors.c	(revision 38986)
@@ -511,5 +511,6 @@
     if (!gfits_fread_ftable_data (f, &table, padIfShort)) ESCAPE ("error reading table for extension %d\n", Nextend);
   } else {
-    if (!gfits_fread_ftable_range (f, padIfShort, &table, start, Nrows)) ESCAPE ("error reading table for extension %d\n", Nextend);
+    // arg3 (FALSE) : seek to this segment start
+    if (!gfits_fread_ftable_range (f, padIfShort, FALSE, &table, start, Nrows)) ESCAPE ("error reading table for extension %d\n", Nextend);
   }
 
Index: /trunk/Ohana/src/opihi/cmd.data/uniq.c
===================================================================
--- /trunk/Ohana/src/opihi/cmd.data/uniq.c	(revision 38985)
+++ /trunk/Ohana/src/opihi/cmd.data/uniq.c	(revision 38986)
@@ -1,11 +1,24 @@
 # include "data.h"
+// NOTE: if there are only a few uniq values, the old algorithm is not bad.  
+// for 10000 uniq values, 30M points take ~20sec in the new algorithm, 
+// 3M points takess 45 sec in the old method.
 
 int uniq (int argc, char **argv) {
   
-  int Nnew, i, j, found;
+  int Nnew, i, N;
   Vector *ivec, *ovec;
 
+  Vector *cvec = NULL;
+  if ((N = get_argument (argc, argv, "-c"))) {
+    remove_argument (N, &argc, argv);
+    if ((cvec = SelectVector (argv[N], ANYVECTOR, TRUE)) == NULL) {
+      gprint (GP_ERR, "invalid vector %s\n", argv[N]);
+      return FALSE;
+    }
+    remove_argument (N, &argc, argv);
+  }
+
   if (argc != 3) {
-    gprint (GP_ERR, "USAGE: uniq (in) (out)\n");
+    gprint (GP_ERR, "USAGE: uniq (in) (out) -c count\n");
     return (FALSE);
   }
@@ -16,37 +29,69 @@
   /* allocate the maximum possible needed */
   ResetVector (ovec, ivec->type, ivec->Nelements);
+  if (cvec) {
+    ResetVector (cvec, OPIHI_INT, ivec->Nelements);
+  }
 
   Nnew = 0;
 
   if (ivec->type == OPIHI_FLT) {
-    opihi_flt *v1 = ivec[0].elements.Flt;
-    for (i = 0; i < ivec[0].Nelements; i++, v1++) {
-      opihi_flt *v2 = ovec[0].elements.Flt;
-      found = FALSE;
-      for (j = 0; !found && (j < Nnew); j++, v2++) {
-	if (*v1 == *v2) found = TRUE;
+    // copy the input data to a temporary array to avoid damaging it with sort
+    opihi_flt *indata = NULL;
+    ALLOCATE (indata, opihi_flt, ivec[0].Nelements);
+    memcpy (indata, ivec->elements.Flt, ivec[0].Nelements*sizeof(opihi_flt));
+
+    dsort (indata, ivec->Nelements);
+
+    Nnew = 0;
+    opihi_flt *vtgt = ovec[0].elements.Flt;
+
+    opihi_flt *vsrc = indata;
+
+    for (i = 0; i < ivec->Nelements; Nnew++) {
+      vtgt[Nnew] = *vsrc;
+      int Ndup = 0;
+      opihi_flt lastValue = *vsrc;
+      while ((i < ivec->Nelements) && (*vsrc == lastValue)) {
+	i++;
+	vsrc ++;
+	Ndup ++;
       }
-      if (!found) {
-	ovec[0].elements.Flt[Nnew] = *v1;
-	Nnew ++;
+      if (cvec) {
+	cvec->elements.Int[Nnew] = Ndup;
       }
     }
+    free (indata);
   } else {
-    opihi_int *v1 = ivec[0].elements.Int;
-    for (i = 0; i < ivec[0].Nelements; i++, v1++) {
-      opihi_int *v2 = ovec[0].elements.Int;
-      found = FALSE;
-      for (j = 0; !found && (j < Nnew); j++, v2++) {
-	if (*v1 == *v2) found = TRUE;
+    // copy the input data to a temporary array to avoid damaging it with sort
+    opihi_int *indata = NULL;
+    ALLOCATE (indata, opihi_int, ivec[0].Nelements);
+    memcpy (indata, ivec->elements.Int, ivec[0].Nelements*sizeof(opihi_int));
+
+    isort (indata, ivec->Nelements);
+
+    Nnew = 0;
+    opihi_int *vtgt = ovec[0].elements.Int;
+
+    opihi_int *vsrc = indata;
+
+    for (i = 0; i < ivec->Nelements; Nnew++) {
+      vtgt[Nnew] = *vsrc;
+      int Ndup = 0;
+      opihi_int lastValue = *vsrc;
+      while ((i < ivec->Nelements) && (*vsrc == lastValue)) {
+	i++;
+	vsrc ++;
+	Ndup ++;
       }
-      if (!found) {
-	ovec[0].elements.Int[Nnew] = *v1;
-	Nnew ++;
+      if (cvec) {
+	cvec->elements.Int[Nnew] = Ndup;
       }
     }
+    free (indata);
   }
 
   // free up extra memory
   ResetVector (ovec, ivec->type, Nnew);
+  if (cvec) ResetVector (cvec, OPIHI_INT, Nnew);
 
   return (TRUE);
Index: /trunk/Ohana/src/opihi/dvo/mextract.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/mextract.c	(revision 38985)
+++ /trunk/Ohana/src/opihi/dvo/mextract.c	(revision 38986)
@@ -213,5 +213,5 @@
   }
 
-  // int needLensing = dbFieldNeedLensing (fields, Nfields);
+  int needLensing = dbFieldNeedLensing (fields, Nfields);
   int needStarpar = dbFieldNeedStarpar (fields, Nfields, FALSE);
 
@@ -234,5 +234,5 @@
     catalog.filename = HOST_ID ? hostfile : skylist[0].filename[i];
     catalog.catflags = DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE | DVO_LOAD_SECFILT;
-    // catalog.catflags |= needLensing ? DVO_LOAD_LENSING : DVO_SKIP_LENSING;
+    catalog.catflags |= needLensing ? DVO_LOAD_LENSING : DVO_SKIP_LENSING;
     catalog.catflags |= needStarpar ? DVO_LOAD_STARPAR : DVO_SKIP_STARPAR;
     catalog.Nsecfilt = Nsecfilt;
@@ -274,6 +274,6 @@
 	StarPar *starpar = needStarpar ? &catalog.starpar[Nstarpar] : NULL;
 
-	// int Nlensing = average->lensobjOffset;
-	// Lensobj *lensobj = needLensobj ? &catalog.lensobj[m] : NULL;
+	int Nlensing = average->lensingOffset;
+	Lensing *lensing = needLensing ? &catalog.lensing[Nlensing] : NULL;
 
 	int Nsec = j*Nsecfilt;
@@ -281,5 +281,5 @@
 
 	for (n = 0; n < Nfields; n++) {
-	  values[n] = dbExtractMeasures (average, secfilt, &catalog.measure[m], NULL, starpar, &fields[n]);
+	  values[n] = dbExtractMeasures (average, secfilt, &catalog.measure[m], lensing, starpar, &fields[n]);
 	}
 	// fprintf (stderr, "object: ave: %f, cat: %f, averef %d\n", fields[n].name, values[2], values[3], catalog.measure[m].averef);
Index: /trunk/Ohana/src/opihi/lib.data/gaussian.c
===================================================================
--- /trunk/Ohana/src/opihi/lib.data/gaussian.c	(revision 38985)
+++ /trunk/Ohana/src/opihi/lib.data/gaussian.c	(revision 38986)
@@ -20,5 +20,4 @@
  
   int i;
-  long A, B;
   double val, x, dx, dx1, dx2, dx3, df;
   double mean, sigma;
@@ -27,7 +26,6 @@
   if (Ngaussint == Nbin) return;
 
-  A = time(NULL);
-  for (B = 0; A == time(NULL); B++);
-  srand48(B);
+  long A = time(NULL);
+  srand48(A);
  
   Ngaussint = Nbin;
Index: /trunk/Ohana/src/opihi/lib.shell/ConfigInit.c
===================================================================
--- /trunk/Ohana/src/opihi/lib.shell/ConfigInit.c	(revision 38985)
+++ /trunk/Ohana/src/opihi/lib.shell/ConfigInit.c	(revision 38986)
@@ -38,4 +38,9 @@
   }
 
+  // XXX this is a bit dangerous : answer may have an arbitrary
+  // length, but we do not know the available space in 'ptr'
+  // we really should be passing in the buffer size and limiting the copy
+
+
   if (!strcmp (mode, "%s"))  strcpy ((char *) ptr, answer);
   if (!strcmp (mode, "%d"))  *(int *) ptr       = atoi (answer);
Index: /trunk/Ohana/src/opihi/lib.shell/SocketOps.c
===================================================================
--- /trunk/Ohana/src/opihi/lib.shell/SocketOps.c	(revision 38985)
+++ /trunk/Ohana/src/opihi/lib.shell/SocketOps.c	(revision 38986)
@@ -23,5 +23,9 @@
   status = gethostname (myHostname, HOST_NAME_MAX);
 
-  fprintf (stderr, "target host: %s, real host: %s\n", hostname, myHostname);
+  if (strcmp (hostname, myHostname)) {
+    fprintf (stderr, "target host: %s, real host: %s\n", hostname, myHostname);
+    fprintf (stderr, "please run on the correct host\n");
+    exit (2);
+  }
 
   GetPortRange (&start, &stop, portinfo);
@@ -197,4 +201,9 @@
 
   host = gethostbyname (hostname);
+  if (!host) {
+    gprint (GP_ERR, "cannot connect to pantasks server %s\n", hostname);
+    exit (3);
+  }
+
   bzero (hostip, 80);
   for (i = 0; i < host[0].h_length; i++) {
Index: /trunk/Ohana/src/opihi/lib.shell/gprint.c
===================================================================
--- /trunk/Ohana/src/opihi/lib.shell/gprint.c	(revision 38985)
+++ /trunk/Ohana/src/opihi/lib.shell/gprint.c	(revision 38986)
@@ -255,5 +255,5 @@
   if (file == NULL) {
     // XXX this is a problem: we are leaving open the old file
-    fprintf (stderr, "cannot open file %s\n", stream[0].name);
+    fprintf (stderr, "gprint cannot open file %s\n", stream[0].name);
     free (stream[0].name);
     file = (dest == GP_LOG) ? stdout : stderr;
Index: /trunk/Ohana/src/opihi/pantasks/CheckJobs.c
===================================================================
--- /trunk/Ohana/src/opihi/pantasks/CheckJobs.c	(revision 38985)
+++ /trunk/Ohana/src/opihi/pantasks/CheckJobs.c	(revision 38986)
@@ -1,3 +1,4 @@
 # include "pantasks.h"
+static int Ncheck = 0;
 
 float CheckJobs () {
@@ -12,6 +13,5 @@
   float time_running, next_timeout;
 
-  // int Ncheck;
-  // Ncheck = 0;
+  Ncheck ++;
 
   // actual maximum delay is controlled in job_threads.c
@@ -21,5 +21,4 @@
   /** test all jobs: ready to test?  finished? **/
   while ((job = NextJob ()) != NULL) {
-    // Ncheck ++;
 
     task = job[0].task;
@@ -220,5 +219,5 @@
     SetTaskTimer (&job[0].last);
   }
-  // fprintf (stderr, "check %d jobs\n", Ncheck);
+
   JobTaskUnlock();
   return (next_timeout);
Index: /trunk/Ohana/src/opihi/pantasks/CheckTasks.c
===================================================================
--- /trunk/Ohana/src/opihi/pantasks/CheckTasks.c	(revision 38985)
+++ /trunk/Ohana/src/opihi/pantasks/CheckTasks.c	(revision 38986)
@@ -1,3 +1,4 @@
 # include "pantasks.h"
+static int Ncheck = 0; 
 
 float CheckTasks () {
@@ -7,4 +8,6 @@
   int status;
   float time_running, next_timeout, fuzz;
+
+  Ncheck ++;
 
   // actual maximum delay is controlled in job_threads.c
Index: /trunk/Ohana/src/opihi/pantasks/TaskOps.c
===================================================================
--- /trunk/Ohana/src/opihi/pantasks/TaskOps.c	(revision 38985)
+++ /trunk/Ohana/src/opihi/pantasks/TaskOps.c	(revision 38986)
@@ -22,5 +22,7 @@
 void FreeTasks () {
   int i;
-  for (i = 0; i < Ntasks; i++) {
+  int ntasks = Ntasks;
+  Ntasks = 0;
+  for (i = 0; i < ntasks; i++) {
     FreeTask (tasks[i]);
   }
Index: /trunk/Ohana/src/opihi/pantasks/pantasks_server.c.in
===================================================================
--- /trunk/Ohana/src/opihi/pantasks/pantasks_server.c.in	(revision 38985)
+++ /trunk/Ohana/src/opihi/pantasks/pantasks_server.c.in	(revision 38986)
@@ -19,5 +19,5 @@
   
   char hostname[256], portinfo[256];
-  char log_stdout[1024], log_stderr[1024];
+  char log_stdout[1024], log_stderr[1024], tmpname[1024];
   pthread_t JobsAndTasksThread;
   pthread_t clientsThread;
@@ -34,6 +34,7 @@
   stdin = freopen ("/dev/zero", "r", stdin);
 
-  // this block redirects the actual stderr, stdout steams to the output files
-  if (VarConfig ("PANTASKS_SERVER_STDOUT", "%s", log_stdout) != NULL) {
+  // this block redirects the actual stderr, stdout streams to the output files
+  if (VarConfig ("PANTASKS_SERVER_STDOUT", "%s", tmpname) != NULL) {
+    strcpy (log_stdout, tmpname);
     if (strcmp (log_stdout, "stdout")) {
       stdout = freopen (log_stdout, "a", stdout);
@@ -44,5 +45,6 @@
     }
   }
-  if (VarConfig ("PANTASKS_SERVER_STDERR", "%s", log_stderr) != NULL) {
+  if (VarConfig ("PANTASKS_SERVER_STDERR", "%s", tmpname) != NULL) {
+    strcpy (log_stderr, tmpname);
     if (strcmp (log_stderr, "stderr")) {
       stderr = freopen (log_stderr, "a", stderr);
Index: /trunk/Ohana/src/opihi/pantasks/test/local.sh
===================================================================
--- /trunk/Ohana/src/opihi/pantasks/test/local.sh	(revision 38985)
+++ /trunk/Ohana/src/opihi/pantasks/test/local.sh	(revision 38986)
@@ -1,4 +1,5 @@
 
 ## a basic test of memory allocation
+if (not($?VERBOSE)) set VERBOSE = 0
 
 exec rm -f tmp.txt
@@ -38,4 +39,5 @@
  $startmem = $word:1
 end
+
 macro memcheck
  list word -x "ps -p $PID -o rss"
Index: /trunk/Ohana/src/photdbc/Makefile
===================================================================
--- /trunk/Ohana/src/photdbc/Makefile	(revision 38985)
+++ /trunk/Ohana/src/photdbc/Makefile	(revision 38986)
@@ -1,5 +1,5 @@
-default: photdbc photdbc_client dvodist
+default: photdbc photdbc_client dvocompress dvocompress_client dvodist
 help:
-	@echo "make options: photdbc photdbc_client dvodist"
+	@echo "make options: photdbc photdbc_client dvocompress dvocompress_client dvodist"
 
 include ../../Makefile.System
@@ -20,11 +20,16 @@
 photdbc_client: $(BIN)/photdbc_client.$(ARCH)
 
+dvocompress: $(BIN)/dvocompress.$(ARCH)
+dvocompress_client: $(BIN)/dvocompress_client.$(ARCH)
+
+
 dvodist: $(BIN)/dvodist.$(ARCH)
 
-install: $(DESTBIN)/photdbc $(DESTBIN)/photdbc_client $(DESTBIN)/dvodist
+install: $(DESTBIN)/photdbc $(DESTBIN)/photdbc_client $(DESTBIN)/dvocompress $(DESTBIN)/dvocompress_client $(DESTBIN)/dvodist
 
 PHOTDBC = \
 $(SRC)/photdbc.$(ARCH).o	   \
 $(SRC)/photdbc_catalogs.$(ARCH).o  \
+$(SRC)/SetSignals.$(ARCH).o 	   \
 $(SRC)/initialize.$(ARCH).o	   \
 $(SRC)/ConfigInit.$(ARCH).o	   \
@@ -39,4 +44,5 @@
 $(SRC)/photdbc_client.$(ARCH).o	   \
 $(SRC)/photdbc_catalogs.$(ARCH).o  \
+$(SRC)/SetSignals.$(ARCH).o 	   \
 $(SRC)/initialize.$(ARCH).o	   \
 $(SRC)/ConfigInit.$(ARCH).o	   \
@@ -45,4 +51,18 @@
 $(SRC)/join_stars.$(ARCH).o        \
 $(SRC)/make_subcatalog.$(ARCH).o        
+
+DVOCOMPRESS =                         \
+$(SRC)/dvocompress.$(ARCH).o	      \
+$(SRC)/dvocompress_catalogs.$(ARCH).o \
+$(SRC)/SetSignals.$(ARCH).o 	      \
+$(SRC)/args_dvocompress.$(ARCH).o     \
+$(SRC)/Shutdown.$(ARCH).o 
+
+DVOCOMPRESS_CLIENT = 	              \
+$(SRC)/dvocompress_client.$(ARCH).o   \
+$(SRC)/dvocompress_catalogs.$(ARCH).o \
+$(SRC)/SetSignals.$(ARCH).o 	      \
+$(SRC)/args_dvocompress.$(ARCH).o     \
+$(SRC)/Shutdown.$(ARCH).o
 
 DVODIST = \
@@ -89,4 +109,10 @@
 $(BIN)/photdbc_client.$(ARCH): $(PHOTDBC_CLIENT)
 
+$(DVOCOMPRESS): $(INC)/dvocompress.h
+$(BIN)/dvocompress.$(ARCH): $(DVOCOMPRESS)
+
+$(DVOCOMPRESS_CLIENT): $(INC)/dvocompress.h
+$(BIN)/dvocompress_client.$(ARCH): $(DVOCOMPRESS_CLIENT)
+
 $(DVODIST): $(INC)/dvodist.h
 $(BIN)/dvodist.$(ARCH): $(DVODIST)
Index: /trunk/Ohana/src/photdbc/include/dvocompress.h
===================================================================
--- /trunk/Ohana/src/photdbc/include/dvocompress.h	(revision 38986)
+++ /trunk/Ohana/src/photdbc/include/dvocompress.h	(revision 38986)
@@ -0,0 +1,33 @@
+# include <ohana.h>
+# include <dvo.h>
+# include <signal.h>
+
+int    PARALLEL;
+int    PARALLEL_MANUAL;
+int    PARALLEL_SERIAL;
+
+int          HOST_ID;
+char        *HOSTDIR;
+
+# define DVO_MAX_PATH 1024
+
+/* global variables */
+int    VERBOSE;
+char  *UPDATE_CATFORMAT;  /* internal, elixir, loneos, panstarrs */
+char  *UPDATE_CATCOMPRESS;  /* ?? */
+int    SKIP_COMPRESSED;
+
+SkyRegion REGION;
+
+int           args (int *argc, char **argv); 
+int           args_client (int *argc, char **argv); 
+
+int Shutdown (char *format, ...) OHANA_FORMAT(printf, 1, 2);
+void check_permissions (char *basefile);
+void TrapSignal (int sig);
+void SetProtect (int mode);
+int SetSignals (void);
+void usage();
+
+int dvocompress_catalogs (char *catdir, SkyList *skylist, int hostID);
+int dvocompress_parallel (char *catdir, SkyList *skylist);
Index: /trunk/Ohana/src/photdbc/src/Shutdown_dvodist.c
===================================================================
--- /trunk/Ohana/src/photdbc/src/Shutdown_dvodist.c	(revision 38985)
+++ /trunk/Ohana/src/photdbc/src/Shutdown_dvodist.c	(revision 38986)
@@ -43,7 +43,4 @@
   va_end (argp);
 
-  // XXX this is in SetSignals.c, which includes photdbc.h
-  SetProtect (TRUE);
-  gfits_db_close (&db);
   fprintf (stderr, "ERROR: dvodist halted\n");
   exit (1);
Index: /trunk/Ohana/src/photdbc/src/args_dvocompress.c
===================================================================
--- /trunk/Ohana/src/photdbc/src/args_dvocompress.c	(revision 38986)
+++ /trunk/Ohana/src/photdbc/src/args_dvocompress.c	(revision 38986)
@@ -0,0 +1,220 @@
+# include "dvocompress.h"
+
+int args (int *argc, char **argv) {
+
+  int N;
+
+  if (get_argument (*argc, argv, "-h")) usage();
+  if (get_argument (*argc, argv, "--h")) usage();
+  if (get_argument (*argc, argv, "-help")) usage();
+  if (get_argument (*argc, argv, "--help")) usage();
+
+  VERBOSE = FALSE;
+  if ((N = get_argument (*argc, argv, "-v"))) {
+    VERBOSE = TRUE;
+    remove_argument (N, argc, argv);
+  }
+
+  // override input catalog format (PS1_V1, PS1_REF, etc)
+  UPDATE_CATFORMAT = NULL;
+  if ((N = get_argument (*argc, argv, "-set-format"))) {
+    remove_argument (N, argc, argv);
+    UPDATE_CATFORMAT = strcreate (argv[N]);
+    remove_argument (N, argc, argv);
+  }
+
+  // override input catalog format (PS1_V1, PS1_REF, etc)
+  UPDATE_CATCOMPRESS = NULL;
+  if ((N = get_argument (*argc, argv, "-set-compress"))) {
+    remove_argument (N, argc, argv);
+    UPDATE_CATCOMPRESS = strcreate (argv[N]);
+    remove_argument (N, argc, argv);
+  }
+
+  SKIP_COMPRESSED = FALSE;
+  if ((N = get_argument (*argc, argv, "-skip-compressed"))) {
+    remove_argument (N, argc, argv);
+    SKIP_COMPRESSED = TRUE;
+  }
+
+  if (!UPDATE_CATFORMAT && !UPDATE_CATCOMPRESS) {
+    fprintf (stderr, "neither -set-compress nor -set-format are specified : this is a NOP\n");
+    exit (2);
+  }
+
+  /* specify portion of the sky */
+  REGION.Rmin = 0;
+  REGION.Rmax = 360;
+  REGION.Dmin = -90;
+  REGION.Dmax = +90;
+  if ((N = get_argument (*argc, argv, "-region"))) {
+    remove_argument (N, argc, argv);
+    REGION.Rmin = atof (argv[N]);
+    remove_argument (N, argc, argv);
+    REGION.Rmax = atof (argv[N]);
+    remove_argument (N, argc, argv);
+    REGION.Dmin = atof (argv[N]);
+    remove_argument (N, argc, argv);
+    REGION.Dmax = atof (argv[N]);
+    remove_argument (N, argc, argv);
+
+    if (REGION.Rmin == REGION.Rmax) {
+      fprintf (stderr, "ERROR: selected region is ill-defined: Rmin == Rmax\n");
+      exit (2);
+    }
+    if (REGION.Dmin == REGION.Dmax) {
+      fprintf (stderr, "ERROR: selected region is ill-defined: Dmin == Dmax\n");
+      exit (2);
+    }
+  }
+
+  // XXX for the moment, make this selection manual.  it needs to be automatic 
+  // based on the state of the SkyTable
+  PARALLEL = FALSE;
+  if ((N = get_argument (*argc, argv, "-parallel"))) {
+    PARALLEL = TRUE;
+    remove_argument (N, argc, argv);
+  }
+  // this is a test mode : rather than launching the remote jobs and waiting for completion,
+  // relphot will simply list the remote command and wait for the user to signal completion
+  PARALLEL_MANUAL = FALSE;
+  if ((N = get_argument (*argc, argv, "-parallel-manual"))) {
+    PARALLEL = TRUE; // -parallel-manual implies -parallel
+    PARALLEL_MANUAL = TRUE;
+    remove_argument (N, argc, argv);
+  }
+  // this is a test mode : rather than launching the relphot_client jobs remotely, they are 
+  // run in serial via 'system'
+  PARALLEL_SERIAL = FALSE;
+  if ((N = get_argument (*argc, argv, "-parallel-serial"))) {
+    if (PARALLEL_MANUAL) {
+      fprintf (stderr, "ERROR: cannot mix -parallel-manual and -parallel-serial\n");
+      exit (1);
+    }
+    PARALLEL = TRUE; // -parallel-serial implies -parallel
+    PARALLEL_SERIAL = TRUE;
+    remove_argument (N, argc, argv);
+  }
+
+  if (*argc != 2) usage();
+
+  return (TRUE);
+}
+
+int args_client (int *argc, char **argv) {
+
+  int N;
+
+  PARALLEL = FALSE;
+  PARALLEL_MANUAL = FALSE;
+  PARALLEL_SERIAL = FALSE;
+
+  if (get_argument (*argc, argv, "-h")) usage();
+  if (get_argument (*argc, argv, "--h")) usage();
+  if (get_argument (*argc, argv, "-help")) usage();
+  if (get_argument (*argc, argv, "--help")) usage();
+
+  HOST_ID = 0;
+  if ((N = get_argument (*argc, argv, "-hostID"))) {
+    remove_argument (N, argc, argv);
+    HOST_ID = atoi (argv[N]);
+    remove_argument (N, argc, argv);
+  }
+  if (!HOST_ID) usage();
+
+  HOSTDIR = NULL;
+  if ((N = get_argument (*argc, argv, "-hostdir"))) {
+    remove_argument (N, argc, argv);
+    HOSTDIR = strcreate (argv[N]);
+    remove_argument (N, argc, argv);
+  }
+  if (!HOSTDIR) usage();
+
+  VERBOSE = FALSE;
+  if ((N = get_argument (*argc, argv, "-v"))) {
+    VERBOSE = TRUE;
+    remove_argument (N, argc, argv);
+  }
+  if ((N = get_argument (*argc, argv, "-vv"))) {
+    VERBOSE = 2;
+    remove_argument (N, argc, argv);
+  }
+
+  // override input catalog format (PS1_V1, PS1_REF, etc)
+  UPDATE_CATFORMAT = NULL;
+  if ((N = get_argument (*argc, argv, "-set-format"))) {
+    remove_argument (N, argc, argv);
+    UPDATE_CATFORMAT = strcreate (argv[N]);
+    remove_argument (N, argc, argv);
+  }
+
+  // override input catalog format (PS1_V1, PS1_REF, etc)
+  UPDATE_CATCOMPRESS = NULL;
+  if ((N = get_argument (*argc, argv, "-set-compress"))) {
+    remove_argument (N, argc, argv);
+    UPDATE_CATCOMPRESS = strcreate (argv[N]);
+    remove_argument (N, argc, argv);
+  }
+
+  SKIP_COMPRESSED = FALSE;
+  if ((N = get_argument (*argc, argv, "-skip-compressed"))) {
+    remove_argument (N, argc, argv);
+    SKIP_COMPRESSED = TRUE;
+  }
+
+  if (!UPDATE_CATFORMAT && !UPDATE_CATCOMPRESS) {
+    fprintf (stderr, "neither -set-compress nor -set-format are specified : this is a NOP\n");
+    exit (2);
+  }
+
+  /* specify portion of the sky */
+  REGION.Rmin = 0;
+  REGION.Rmax = 360;
+  REGION.Dmin = -90;
+  REGION.Dmax = +90;
+  if ((N = get_argument (*argc, argv, "-region"))) {
+    remove_argument (N, argc, argv);
+    REGION.Rmin = atof (argv[N]);
+    remove_argument (N, argc, argv);
+    REGION.Rmax = atof (argv[N]);
+    remove_argument (N, argc, argv);
+    REGION.Dmin = atof (argv[N]);
+    remove_argument (N, argc, argv);
+    REGION.Dmax = atof (argv[N]);
+    remove_argument (N, argc, argv);
+
+    if (REGION.Rmin == REGION.Rmax) {
+      fprintf (stderr, "ERROR: selected region is ill-defined: Rmin == Rmax\n");
+      exit (2);
+    }
+    if (REGION.Dmin == REGION.Dmax) {
+      fprintf (stderr, "ERROR: selected region is ill-defined: Dmin == Dmax\n");
+      exit (2);
+    }
+  }
+
+  if (*argc != 2) usage();
+
+  return (TRUE);
+}
+
+void usage() {
+
+  fprintf (stderr, "USAGE: dvocompress (catdir) [-set-compress name] [-set-format name]\n\n");
+  fprintf (stderr, " this program takes an existing DVO database and re-writes the tables in the specified compression / formation\n");
+
+  fprintf (stderr, " dvocompress (catdir)\n\n");
+
+  fprintf (stderr, " parallel options:\n");
+  fprintf (stderr, "  -parallel:\n");
+  fprintf (stderr, "  -parallel-manual\n");
+  fprintf (stderr, "  -parallel-serial\n\n");
+  fprintf (stderr, " -region Rmin Rmax Dmin Dmax : limit operation to the specified region \n");
+  
+  fprintf (stderr, " option options:\n");
+  fprintf (stderr, " -v : verbose mode\n");
+  fprintf (stderr, " -set-compress (catcompress) : NONE, GZIP_1, GZIP_2, RICE_1, AUTO\n");
+  fprintf (stderr, " -set-format (catmode)\n");
+
+  exit (2);
+}
Index: /trunk/Ohana/src/photdbc/src/copy_images.c
===================================================================
--- /trunk/Ohana/src/photdbc/src/copy_images.c	(revision 38985)
+++ /trunk/Ohana/src/photdbc/src/copy_images.c	(revision 38986)
@@ -59,5 +59,5 @@
   char mapfile[DVO_MAX_PATH];
   snprintf (mapfile, DVO_MAX_PATH, "%s/AstroMap.fits", CATDIR);
-  AstromOffsetTable *table_src = AstromOffsetMapLoad (mapfile, VERBOSE);
+  AstromOffsetTable *table_src = AstromOffsetMapLoad (mapfile, 100000, VERBOSE);
 
   // assign images.coords.offsetMap -> table->map[i]
Index: /trunk/Ohana/src/photdbc/src/dvocompress.c
===================================================================
--- /trunk/Ohana/src/photdbc/src/dvocompress.c	(revision 38986)
+++ /trunk/Ohana/src/photdbc/src/dvocompress.c	(revision 38986)
@@ -0,0 +1,27 @@
+# include "dvocompress.h"
+
+int main (int argc, char **argv) {
+
+  SetSignals ();
+  args (&argc, argv);
+
+  char *CATDIR = argv[1];
+
+  // the output catalog needs to inherit the SKY_DEPTH of the input catalog
+  SkyTable *sky = SkyTableLoadOptimal (CATDIR, NULL, NULL, FALSE, 0, VERBOSE);
+  if (!sky) {
+    fprintf (stderr, "ERROR loading sky table from %s\n", CATDIR);
+    exit (2);
+  }
+
+  SkyTableSetFilenames (sky, CATDIR, "cpt");
+  SkyList *skylist = SkyListByPatch (sky, -1, &REGION);
+  if (!skylist) {
+    fprintf (stderr, "ERROR setting up skylist for %s\n", CATDIR);
+    exit (2);
+  }
+
+  // hostID is 0 for master program
+  dvocompress_catalogs (CATDIR, skylist, 0);
+  exit (0);
+}
Index: /trunk/Ohana/src/photdbc/src/dvocompress_catalogs.c
===================================================================
--- /trunk/Ohana/src/photdbc/src/dvocompress_catalogs.c	(revision 38986)
+++ /trunk/Ohana/src/photdbc/src/dvocompress_catalogs.c	(revision 38986)
@@ -0,0 +1,189 @@
+# include "dvocompress.h"
+# define DEBUG 1
+
+int dvocompress_catalogs (char *catdir, SkyList *skylist, int hostID) {
+
+  int i;
+  Catalog catalog;
+
+  if (PARALLEL && !hostID) {
+    dvocompress_parallel (catdir, skylist);
+    return FALSE;
+  }
+
+  for (i = 0; i < skylist[0].Nregions; i++) {
+
+    // does this host ID match the desired location for the table?
+    if (!HostTableTestHost(skylist[0].regions[i], hostID)) continue;
+
+    // set the parameters which guide catalog open/load/create
+    char hostfile[DVO_MAX_PATH];
+    snprintf (hostfile, DVO_MAX_PATH, "%s/%s.cpt", HOSTDIR, skylist[0].regions[i]->name);
+
+    dvo_catalog_init (&catalog, TRUE);
+    catalog.filename  = hostID ? hostfile : skylist[0].filename[i];
+
+    // read all catalog types
+    catalog.catflags = 
+      DVO_LOAD_AVERAGE | 
+      DVO_LOAD_MEASURE | 
+      DVO_LOAD_SECFILT | 
+      DVO_LOAD_MISSING | 
+      DVO_LOAD_LENSING | 
+      DVO_LOAD_LENSOBJ | 
+      DVO_LOAD_STARPAR | 
+      DVO_LOAD_GALPHOT;
+
+    // XXX this is fairly ad-hoc : I'd like to be able to check that the operation below
+    // is a NOOP, but I don't want to put in all the full logic at the moment.  instead,
+    // since I know I just want to compress previously uncompressed catalogs, I'm just
+    // going to get the cpt header and check for ZTABLE.  Too bad my APIs force me to read
+    // the header in full here and then again in dvo_catalog_open.
+
+    if (SKIP_COMPRESSED) {
+      FILE *f = fopen (catalog.filename, "r");
+      if (!f) { fprintf (stderr, "cannot open %s, skipping\n", catalog.filename); continue; }
+
+      Header header;
+      if (!gfits_fread_Xheader (f, &header, 0)) { 
+	fprintf (stderr, "cannot read header for %s, skipping\n", catalog.filename);
+	fclose (f);
+	continue;
+      }
+
+      int isZtable;
+      int ztableStatus = gfits_scan_alt (&header, "ZTABLE", "%t", 1, &isZtable);
+
+      fclose (f);
+      gfits_free_header (&header);
+
+      if (ztableStatus && isZtable) {
+	fprintf (stderr, "%s is compressed, skipping\n", catalog.filename);
+	continue;
+      }
+    }
+
+    // XXX for a test, do nothing
+    fprintf (stderr, "%s is not compressed, compressing\n", catalog.filename);
+
+    // ohana_memcheck_func (TRUE);
+
+    // an error exit status here is a significant error
+    if (!dvo_catalog_open (&catalog, skylist[0].regions[i], (VERBOSE > 1), "w")) {
+      fprintf (stderr, "ERROR: failure to open/create catalog file %s\n", catalog.filename);
+      exit (2);
+    }
+
+    // ohana_memcheck_func (TRUE);
+
+    // skip empty input catalogs
+    if (!catalog.Naverage_disk) {
+      dvo_catalog_unlock (&catalog);
+      dvo_catalog_free (&catalog);
+      continue;
+    }
+
+    if (VERBOSE) fprintf (stderr, "%s\n", skylist[0].regions[i][0].name);
+
+    if (UPDATE_CATFORMAT) {
+      catalog.catformat = dvo_catalog_catformat (UPDATE_CATFORMAT);
+    } 
+    if (UPDATE_CATCOMPRESS) {
+      catalog.catcompress = dvo_catalog_catcompress (UPDATE_CATCOMPRESS);
+    } 
+
+    // ohana_memcheck_func (TRUE);
+
+    if (!dvo_catalog_backup (&catalog, ".z", TRUE)) {
+      fprintf (stderr, "ERROR: failed to make backup for catalog %s\n", catalog.filename);
+      exit (1);
+    }
+
+    // ohana_memcheck_func (TRUE);
+
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, (VERBOSE > 1))) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
+
+    // ohana_memcheck_func (TRUE);
+
+    if (!dvo_catalog_unlink_backup (&catalog, ".z", TRUE)) {
+      fprintf (stderr, "WARNING: failed to remove backup for catalog %s\n", catalog.filename);
+    }
+
+    dvo_catalog_free (&catalog);
+  }
+
+  return TRUE;
+}
+
+int dvocompress_parallel (char *catdir, SkyList *skylist) {
+
+  // launch the photdbo_client jobs to the parallel hosts
+
+  // ensure that the paths are absolute path names
+  char *catdir_abs = abspath (catdir, DVO_MAX_PATH);
+
+  // load the list of hosts
+  HostTable *table = HostTableLoad (catdir, skylist->hosts);
+  if (!table) {
+    fprintf (stderr, "ERROR: failure reading Host Table %s for database %s\n", skylist->hosts, catdir);
+    exit (1);
+  }    
+
+  int i;
+  for (i = 0; i < table->Nhosts; i++) {
+
+    // ensure that the paths are absolute path names
+    char *tmppath = abspath (table->hosts[i].pathname, DVO_MAX_PATH);
+    free (table->hosts[i].pathname);
+    table->hosts[i].pathname = tmppath;
+
+    // options / arguments that can affect relastro_client -update-objects:
+    char *command = NULL;
+    strextend (&command, "dvocompress_client %s -hostID %d -hostdir %s -region %f %f %f %f", 
+	       catdir_abs, table->hosts[i].hostID, table->hosts[i].pathname, 
+	       REGION.Rmin, REGION.Rmax, REGION.Dmin, REGION.Dmax
+      );
+
+    if (VERBOSE)            { strextend (&command, "-v"); }
+    if (VERBOSE > 1)        { strextend (&command, "-vv"); }
+    if (UPDATE_CATCOMPRESS) { strextend (&command, "-set-compress %s", UPDATE_CATCOMPRESS); }
+    if (UPDATE_CATFORMAT)   { strextend (&command, "-set-format %s", UPDATE_CATFORMAT); }
+    if (SKIP_COMPRESSED)    { strextend (&command, "-skip-compressed"); }
+
+    fprintf (stderr, "command: %s\n", command);
+
+    if (PARALLEL_MANUAL) continue;
+
+    if (PARALLEL_SERIAL) {
+      int status = system (command);
+      if (status) {
+	fprintf (stderr, "ERROR running dvocompress_client\n");
+	exit (2);
+      }
+    } else {
+      // launch the job on the remote machine (no handshake)
+      int errorInfo = 0;
+      int pid = rconnect ("ssh", table->hosts[i].hostname, command, table->hosts[i].stdio, &errorInfo, FALSE);
+      if (!pid) {
+	if (DEBUG) fprintf (stderr, "failure to start %s (error %d)\n", table->hosts[i].hostname, errorInfo);
+	exit (1);
+      }
+      table->hosts[i].pid = pid; // save for future reference
+    }
+  }
+
+  if (PARALLEL_MANUAL) {
+    fprintf (stderr, "run the dvocompress_client commands above.  when these are done, hit return\n");
+    getchar();
+  }
+  if (!PARALLEL_MANUAL && !PARALLEL_SERIAL) {
+    HostTableWaitJobsGetIO (table, __FILE__, __LINE__, (VERBOSE > 1));
+  }
+
+  free (catdir_abs);
+
+  return TRUE;
+}      
Index: /trunk/Ohana/src/photdbc/src/dvocompress_client.c
===================================================================
--- /trunk/Ohana/src/photdbc/src/dvocompress_client.c	(revision 38986)
+++ /trunk/Ohana/src/photdbc/src/dvocompress_client.c	(revision 38986)
@@ -0,0 +1,27 @@
+# include "dvocompress.h"
+
+int main (int argc, char **argv) {
+
+  SetSignals ();
+  args_client (&argc, argv);
+
+  char *CATDIR = argv[1];
+
+  // load the current sky table (layout of all SkyRegions) 
+  SkyTable *sky = SkyTableLoadOptimal (CATDIR, NULL, NULL, FALSE, -1, VERBOSE);
+  if (!sky) {
+    fprintf (stderr, "ERROR loading sky table from %s\n", CATDIR);
+    exit (2);
+  }
+
+  SkyTableSetFilenames (sky, CATDIR, "cpt");
+  SkyList *skylist = SkyListByPatch (sky, -1, &REGION);
+  if (!skylist) {
+    fprintf (stderr, "ERROR setting up skylist for %s\n", CATDIR);
+    exit (2);
+  }
+  
+  // hostID is 0 for master program
+  dvocompress_catalogs (CATDIR, skylist, HOST_ID);
+  exit (0);
+}
Index: /trunk/Ohana/src/photdbc/src/photdbc.c
===================================================================
--- /trunk/Ohana/src/photdbc/src/photdbc.c	(revision 38985)
+++ /trunk/Ohana/src/photdbc/src/photdbc.c	(revision 38986)
@@ -7,4 +7,5 @@
 
   /* get configuration info, args, lockfile */
+  SetSignals ();
   initialize (argc, argv);
 
Index: /trunk/Ohana/src/photdbc/src/photdbc_catalogs.c
===================================================================
--- /trunk/Ohana/src/photdbc/src/photdbc_catalogs.c	(revision 38985)
+++ /trunk/Ohana/src/photdbc/src/photdbc_catalogs.c	(revision 38986)
@@ -82,6 +82,9 @@
     // get_mags (catalog);
 
-    dvo_catalog_save (&outcatalog, VERBOSE);
-    dvo_catalog_unlock (&outcatalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&outcatalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", outcatalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&outcatalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", outcatalog.filename); exit (1); }
+    SetProtect (FALSE);
+
     dvo_catalog_free (&outcatalog);
 
Index: /trunk/Ohana/src/photdbc/src/photdbc_client.c
===================================================================
--- /trunk/Ohana/src/photdbc/src/photdbc_client.c	(revision 38985)
+++ /trunk/Ohana/src/photdbc/src/photdbc_client.c	(revision 38986)
@@ -3,4 +3,5 @@
 int main (int argc, char **argv) {
 
+  SetSignals ();
   initialize_client (argc, argv);
 
Index: /trunk/Ohana/src/relastro/Makefile
===================================================================
--- /trunk/Ohana/src/relastro/Makefile	(revision 38985)
+++ /trunk/Ohana/src/relastro/Makefile	(revision 38986)
@@ -20,5 +20,7 @@
 relastro_client: $(BIN)/relastro_client.$(ARCH)
 
-install: $(DESTBIN)/relastro $(DESTBIN)/relastro_client $(DESTBIN)/testparallax
+install: $(DESTBIN)/relastro $(DESTBIN)/relastro_client 
+
+# $(DESTBIN)/testparallax
 
 RELASTRO = \
@@ -26,8 +28,9 @@
 $(SRC)/FitChip.$(ARCH).o             \
 $(SRC)/FitMosaic.$(ARCH).o           \
+$(SRC)/FitSimple.$(ARCH).o           \
+$(SRC)/FitAstromOps.$(ARCH).o           \
 $(SRC)/FitPM.$(ARCH).o               \
-$(SRC)/FitPar.$(ARCH).o              \
 $(SRC)/FitPMandPar.$(ARCH).o         \
-$(SRC)/FitSimple.$(ARCH).o           \
+$(SRC)/FitPosPMfixed.$(ARCH).o       \
 $(SRC)/ImageOps.$(ARCH).o	     \
 $(SRC)/MosaicOps.$(ARCH).o	     \
@@ -99,8 +102,9 @@
 RELASTRO_CLIENT = \
 $(SRC)/ConfigInit.$(ARCH).o	     \
+$(SRC)/FitSimple.$(ARCH).o           \
+$(SRC)/FitAstromOps.$(ARCH).o           \
 $(SRC)/FitPM.$(ARCH).o               \
-$(SRC)/FitPar.$(ARCH).o              \
 $(SRC)/FitPMandPar.$(ARCH).o         \
-$(SRC)/FitSimple.$(ARCH).o           \
+$(SRC)/FitPosPMfixed.$(ARCH).o       \
 $(SRC)/ImageOps.$(ARCH).o	     \
 $(SRC)/MosaicOps.$(ARCH).o	     \
Index: /trunk/Ohana/src/relastro/doc/bright.sh
===================================================================
--- /trunk/Ohana/src/relastro/doc/bright.sh	(revision 38986)
+++ /trunk/Ohana/src/relastro/doc/bright.sh	(revision 38986)
@@ -0,0 +1,45 @@
+
+macro go.example
+  if ($0 != 6)
+    echo "USAGE: go.example (exptime) (zp) (Mo) (scale) color"
+    break
+  end
+
+  local exptime zp Mo scale
+
+  $exptime = $1
+  $zp = $2
+  $Mo = $3
+  $scale = $4
+  $color = $5
+
+  create mag 10 25 0.05
+  
+  set flux = $exptime*ten(0.4*($zp - mag))
+  set dflux = sqrt(flux)
+  set dmag = dflux / flux
+  set mag:inst = mag - $zp - 2.5*log($exptime)
+
+  set dPosB = 0.335 / (1.0 + exp($scale*(mag - $Mo)))
+  set dPos = sqrt(0.015^2 + dmag^2 + dPosB^2)
+
+  dev -n 0
+  plot mag dPos -c $color
+
+  dev -n 1
+  plot mag:inst dPos -c $color
+
+  echo Mo,inst = {$Mo - $zp - 2.5*log($exptime)}
+end
+
+macro go.filters
+
+  dev -n 0 ; lim   9.5 25.5 0.0 0.35; clear; box
+  dev -n 1 ; lim -20.0 -4.0 0.0 0.35; clear; box
+
+  go.example 43.0 24.56 13.00 1.3 blue
+  go.example 40.0 24.75 12.00 1.3 green
+  go.example 45.0 24.61 11.75 1.3 black
+  go.example 30.0 24.25 11.25 1.8 violet
+  go.example 30.0 23.32 11.00 2.0 red
+end
Index: /trunk/Ohana/src/relastro/doc/memory.txt
===================================================================
--- /trunk/Ohana/src/relastro/doc/memory.txt	(revision 38986)
+++ /trunk/Ohana/src/relastro/doc/memory.txt	(revision 38986)
@@ -0,0 +1,67 @@
+
+2015.08.28
+
+-update-offsets -hostID 90 -D CATDIR /data/ipp094.0/eugene/pv3.cam.20150607/catdir.master -hostdir /data/ipp090.0/eugene/pv3.3pi.20150612/catdir.090 -region 5.000000 20.000000 5.000000 20.000000 -statmode INNER_MEAN -minerror 0.001000 -v -reset -update -max-density 3000.000000 -basic-image-search -exclude-bogus 2.000000 -D USE_FIXED_PIXCOORDS 1 -photcode SCOS.103a.E,SCOS.4414.OG590,SCOS.4415.OG590,SCOS.IIIaF.OG590,SCOS.IIIaF.RG610,SCOS.IIIaF.RG630,SCOS.IIIaJ.GG385,SCOS.IIIaJ.GG395,SCOS.IVN.RG715,SCOS.IVN.RG9,WISE_W1,WISE_W2,WISE_W3,WISE_W4,SYNTH.g,SYNTH.r,SYNTH.i,SYNTH.z,SYNTH.y -dcr-blue-color g i -dcr-red-color z y
+
+
+10:30 : trying to constrain memory usage in update-offsets mode.
+
+  relastro_client.c:75   :   161928 memory blocks allocated (22732118 bytes total)
+  relastro_client.c:81   :   161933 memory blocks allocated (8754713623 bytes total)
+  load_images.c:27       :   161935 memory blocks allocated (8759201623 bytes total)
+  AstromOffsetMapIO.c:41 :   161939 memory blocks allocated (15643735064 bytes total)
+  AstromOffsetMapIO.c:42 :   161939 memory blocks allocated (15643735064 bytes total)
+  AstromOffsetMapIO.c:51 :   198076971 memory blocks allocated (19599617648 bytes total)
+  AstromOffsetMapIO.c:55 :   198076968 memory blocks allocated (12715087087 bytes total)
+  select_images.c:266    :   198076973 memory blocks allocated (12817856495 bytes total)
+  UpdateObjectOffsets.c:53 : 198081293 memory blocks allocated (13202313980 bytes total)
+
+** we have two big memory wastes:
+   1) conversion from AstromOffsetMap_Disk_6x6 to AstromOffsetTable temporarily doubles storage used for maps
+   2) select_images for a full-sky analysis returns a full copy of the image table.
+
+
+16:10 : updated AstromOffsetTableLoad to read FITS table in chunks of 100k rows 
+
+  load_images.c:31  : 161935 memory blocks allocated (8759201623 bytes total)
+  load_images.c:33  : 198076968 memory blocks allocated (12715087087 bytes total)
+
+17:00 : the memory usage claimed by ohana_alloc is ok, but the linux kernel is claiming to hang on to a huge amount.
+
+      I've tried to pre-allocate the be arrays which were being
+      re-alloced, but it does not help much.  Now I'm going to test
+      not actually generating some of the data:
+
+  100 loops puts the memory at 17722496k
+
+  without the call to AstromOffsetMapAppendToTable, we have 8602060k after 100 loops
+
+  It looks like on each loop of AstromOffsetMapAppendToTable I'm adding ~100M to the footprint though I can only account for
+
+20:30 : yay, I figured it out.  there is a minimal page size.  since I
+        was allocating each row of the correction images, I was
+        getting hit by the 900,000 allocs per block of
+        AstromOffsetMapAppendToTable.  By changing the image structure
+        to store the image as a single 1D array I drop that to 300,000
+        allocs per block, with the memory only hitting 16856392k after
+        220 loops (top now claims 8.5g which must be wrong somehow).
+
+2015.08.29
+
+18:00 : I've updated relastro to avoid using the subset images.  Now I'm trying to test with:
+
+       /data/ipp064.0/eugene/relastro.20140923/tests.fake/catdir.sky.i1.v00
+
+       memory usage notes:
+
+       load_images.c:15 : 161930 memory blocks allocated (66916795 bytes total)
+       load_images.c:34 : 161936 memory blocks allocated (67567719 bytes total)
+       load_images.c:50 : 161938 memory blocks allocated (109481535 bytes total)
+eugene   21282  8.0  0.2 183916 124864 pts/1   t    18:08   0:23 /data/ippc19.0/home/eugene/src/psconfig/ipp-dev.lin64/bin/relastro
+
+       with -use-all-images
+       load_images.c:15 : 161930 memory blocks allocated (66916795 bytes total)
+       load_images.c:34 : 161936 memory blocks allocated (67567719 bytes total)
+       load_images.c:56 : 161937 memory blocks allocated (68431383 bytes total)
+eugene   22249  0.2  0.1 143760 84512 pts/1    t    18:22   0:00 /data/ippc19.0/home/eugene/src/psconfig/ipp-dev.lin64/bin/relastro
+
Index: /trunk/Ohana/src/relastro/include/relastro.h
===================================================================
--- /trunk/Ohana/src/relastro/include/relastro.h	(revision 38985)
+++ /trunk/Ohana/src/relastro/include/relastro.h	(revision 38986)
@@ -28,4 +28,12 @@
 
 typedef enum {TARGET_NONE, TARGET_SIMPLE, TARGET_CHIPS, TARGET_MOSAICS} FitTarget;
+
+typedef enum {
+  FIT_RESULT_RA,
+  FIT_RESULT_DEC,
+  FIT_RESULT_uR,
+  FIT_RESULT_uD,
+  FIT_RESULT_PLX,
+} FitAstromResultMode;
 
 typedef enum {
@@ -115,13 +123,55 @@
   double Ro, dRo;
   double Do, dDo;
-
   double uR, duR;
   double uD, duD;
-
-  double p, dp;
+  double  p, dp;
 
   double chisq;
   int Nfit;
-} PMFit;
+} FitAstromResult;
+
+typedef struct {
+  double **A;
+  double **B;
+  int Nterms;
+} FitAstromData;
+
+typedef struct {
+  double X, dX;
+  double Y, dY;
+  double R, dR;
+  double D, dD;
+  double T, dT;
+  double pR;
+  double pD;
+  double C_blue;
+  double C_red;
+  int measure;
+} FitAstromPoint;
+
+typedef struct {
+  off_t Nave;
+  off_t Npm;
+  off_t Npar;
+  off_t Nskip;
+  off_t Noffset;
+
+  double *values;
+  FitAstromResult *fit; // use bootstrap resampling to generate Nfit fits to measure the stats
+  int Nfit;
+  int NfitAlloc;
+
+  FitAstromPoint *points;
+  FitAstromPoint *sample;
+  int Npoints;
+  int NpointsAlloc;
+
+  FitAstromData *fitdataPos;
+  FitAstromData *fitdataPM;
+  FitAstromData *fitdataPar;
+
+  Coords coords;
+  time_t T2000;
+} FitStats;
 
 typedef struct {
@@ -150,12 +200,4 @@
 
 typedef struct {
-  off_t Nave;
-  off_t Npm;
-  off_t Npar;
-  off_t Nskip;
-  off_t Noffset;
-} FitStats;
-
-typedef struct {
   double scale;
   double **Roff;
@@ -180,4 +222,6 @@
   int Nicrfobj;
 } ICRFobj;
+
+# define ID_MEAS_OBJECT_HAS_2MASS ID_MEAS_POOR_PHOTOM
 
 /* global variables set in parameter file */
@@ -224,4 +268,6 @@
 int    PARALLEL_OUTPUT;
 
+int    VERBOSE_IMAGE;
+
 int    VERBOSE;
 int    VERBOSE2;
@@ -234,4 +280,6 @@
 int    USE_ICRF_SHFIT;
 int    USE_ICRF_POLE;
+
+int    USE_ALL_IMAGES;
 
 int    RESET;
@@ -252,4 +300,6 @@
 int    CHIPORDER;
 int    CHIPMAP;
+
+int    N_BOOTSTRAP_SAMPLES;
 
 int MaxDensityUse;
@@ -369,5 +419,5 @@
 int           liststats_pos       PROTO((double *value, double *dvalue, int N, StatType *stats, int XVERB));
 Catalog      *load_catalogs       PROTO((SkyList *skylist, int *Ncatalog, int subselect, int hostID, char *hostpath, char *syncfile));
-int           load_images         PROTO((FITS_DB *db, SkyList *skylist, int UseFullOverlap));
+int           load_images         PROTO((FITS_DB *db, SkyList *skylist, int UseFullOverlap, int UseAllImages));
 Image        *select_images       PROTO((SkyList *skylist, Image *timage, off_t Ntimage, off_t **LineNumber, off_t *Nimage, int UseFullOverlap));
 
@@ -448,5 +498,5 @@
 int UpdateObjects (Catalog *catalog, int Ncatalog, int Nloop);
 int UpdateSimple (Catalog *catalog, int Ncatalog);
-int UpdateChips (Catalog *catalog, int Ncatalog);
+int UpdateChips (Catalog *catalog, int Ncatalog, int Nloop);
 int UpdateMosaic (Catalog *catalog, int Ncatalog);
 int UpdateMeasures (Catalog *catalog, int Ncatalog);
@@ -457,8 +507,8 @@
 
 int sun_ecliptic (double jd, double *lambda, double *beta, double *epsilon, double *Radius);
-int ParFactor (double *pR, double *pD, double RA, double Dec, double Time, double Tmean);
-int FitPM (PMFit *fit, double *X, double *dX, double *Y, double *dY, double *T, int Npts, int XVERB);
-int FitPar (PMFit *fit, double *X, double *dX, double *Y, double *dY, double *pR, double *pD, int Npts);
-int FitPMandPar (PMFit *fit, double *X, double *dX, double *Y, double *dY, double *T, double *pR, double *pD, int Npts, int XVERB);
+int ParFactor (double *pR, double *pD, double RA, double Dec, double Time);
+int FitPM (FitAstromResult *fit, FitAstromData *data, FitAstromPoint *points, int Npoints);
+int FitPMandPar (FitAstromResult *fit, FitAstromData *data, FitAstromPoint *points, int Npoints);
+int FitPosPMfixed (FitAstromResult *fit, FitAstromData *data, FitAstromPoint *points, int Npoints);
 
 Mosaic *getMosaicForImage (off_t N);
@@ -661,2 +711,23 @@
 int client_logger_init (char *dirname);
 int client_logger_message (char *format,...);
+
+int FitAstromSetChisq (FitAstromResult *fit, FitAstromPoint *points, int Npoints, FitMode mode);
+double VectorFractionInterpolate (double *values, float fraction, int Npts);
+int BootstrapRobustStats (FitAstromResult *result, FitAstromResult *fit, int Nfit, int mode);
+int BootstrapResample (FitAstromPoint *sample, FitAstromPoint *points, int Npoints);
+int CatalogMaxNmeasure (Catalog *catalog, int Ncatalog);
+int FitAstromPoints_Project (FitStats *fitStats, double *Tmean, double *Trange, double *parRange);
+int UpdateObjects_SelectMeasures (FitStats *fit, Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int isStack);
+int UpdateObjects_Stack (Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int Nsecfilt, FitStats *fitStats);
+int UpdateObjects_Chips (Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int Nsecfilt, FitStats *fitStats, int cat, off_t measOff);
+
+void FitAstromResultInit (FitAstromResult *fit);
+void FitAstromPointInit (FitAstromPoint *object);
+void FitAstromDataFree (FitAstromData *fit);
+FitAstromData *FitAstromDataInit (int Nterms);
+void FitStatsFree (FitStats *fitStats);
+void FitStatsSum (FitStats *src, FitStats *tgt);
+void FitStatsReset (FitStats *tgt);
+FitStats *FitStatsInit (int Nmax, int Nboot);
+int FitAstromResultSetPM (FitAstromResult *fit, int Nfit, Average *average);
+void AstromErrorSetLoop (int Nloop, int isImageMode);
Index: /trunk/Ohana/src/relastro/src/FitAstromOps.c
===================================================================
--- /trunk/Ohana/src/relastro/src/FitAstromOps.c	(revision 38986)
+++ /trunk/Ohana/src/relastro/src/FitAstromOps.c	(revision 38986)
@@ -0,0 +1,148 @@
+# include "relastro.h"
+
+// I am modifying FitPM with an eye to (a) threaded operations and (b) bootstrap resampling tests.
+
+FitStats *FitStatsInit (int Nmax, int Nboot) {
+
+  FitStats *fitStats = NULL;
+  ALLOCATE (fitStats, FitStats, 1);
+
+  // counters to record successful fits or failures
+  fitStats->Nave = 0;  
+  fitStats->Npm = 0;   
+  fitStats->Npar = 0;  
+  fitStats->Nskip = 0; 
+  fitStats->Noffset = 0;
+
+  fitStats->values = NULL; // pre-allocated array for median & robust sigma
+  fitStats->fit = NULL; // container to hold the fit results (Nboot > 1 for bootstrap resampling)
+  fitStats->Nfit = 0;
+  fitStats->NfitAlloc = Nboot;
+  if (Nboot > 0) {
+    ALLOCATE (fitStats->fit, FitAstromResult, Nboot);
+    ALLOCATE (fitStats->values, double, Nboot);
+  }
+
+  // containers to hold the measurements for a given star
+  fitStats->points = NULL;
+  fitStats->sample = NULL;
+  fitStats->Npoints = 0;
+  fitStats->NpointsAlloc = Nmax;
+  if (Nmax > 0) {
+    ALLOCATE (fitStats->points, FitAstromPoint, Nmax);
+    ALLOCATE (fitStats->sample, FitAstromPoint, Nmax);
+  }
+
+  // pre-allocated fit matrices for the 3 fit options
+  fitStats->fitdataPos = NULL;
+  fitStats->fitdataPM  = NULL;
+  fitStats->fitdataPar = NULL;
+
+  if (Nmax > 0) {
+    fitStats->fitdataPos = FitAstromDataInit (2);
+    fitStats->fitdataPM  = FitAstromDataInit (4);
+    fitStats->fitdataPar = FitAstromDataInit (5);
+  }
+
+  /* project coordinates to a plane centered on the object with units of arcsec */
+  InitCoords (&fitStats->coords, "DEC--SIN");
+  fitStats->coords.cdelt1 = fitStats->coords.cdelt2 = 1.0 / 3600.0;
+
+  // use J2000 as a reference time
+  fitStats->T2000 = ohana_date_to_sec ("2000/01/01,12:00:00");
+  return fitStats;
+}
+
+void FitStatsReset (FitStats *tgt) {
+  tgt->Nave    = 0;  
+  tgt->Npm     = 0;   
+  tgt->Npar    = 0;  
+  tgt->Nskip   = 0; 
+  tgt->Noffset = 0;
+  return;
+}
+
+void FitStatsSum (FitStats *src, FitStats *tgt) {
+  tgt->Nave    += src->Nave    ;  
+  tgt->Npm     += src->Npm     ;   
+  tgt->Npar    += src->Npar    ;  
+  tgt->Nskip   += src->Nskip   ; 
+  tgt->Noffset += src->Noffset ;
+  return;
+}
+
+void FitStatsFree (FitStats *fitStats) {
+  if (!fitStats) return;
+
+  FREE (fitStats->fit);
+  FREE (fitStats->values);
+  FREE (fitStats->points);
+  FREE (fitStats->sample);
+
+  FitAstromDataFree (fitStats->fitdataPos);
+  FitAstromDataFree (fitStats->fitdataPM);
+  FitAstromDataFree (fitStats->fitdataPar);
+
+  free (fitStats);
+}
+
+FitAstromData *FitAstromDataInit (int Nterms) {
+
+  FitAstromData *fit = NULL;
+  ALLOCATE (fit, FitAstromData, 1);
+
+  /* do I need to do this as 2 2x2 matrix equations? */
+  fit->A = array_init (Nterms, Nterms);
+  fit->B = array_init (Nterms, 1);
+  fit->Nterms = Nterms;
+
+  return fit;
+}
+
+void FitAstromDataFree (FitAstromData *fit) {
+
+  if (!fit) return;
+
+  array_free (fit->A, fit->Nterms);
+  array_free (fit->B, fit->Nterms);
+  free (fit);
+  return;
+}
+
+void FitAstromPointInit (FitAstromPoint *object) {
+  object->X      = 0.0;
+  object->Y      = 0.0;
+  object->R      = 0.0;
+  object->D      = 0.0;
+  object->T      = 0.0;
+  object->dX     = 0.0;
+  object->dY     = 0.0;
+  object->dR     = 0.0;
+  object->dD     = 0.0;
+  object->dT     = 0.0;
+  object->pR     = 0.0;
+  object->pD     = 0.0;
+  object->C_blue = 0.0;
+  object->C_red  = 0.0;
+  object->measure= -1;
+  return;
+}
+
+void FitAstromResultInit (FitAstromResult *fit) {
+
+  fit->Ro  = 0.0;
+  fit->dRo = 0.0;
+  fit->Do  = 0.0;
+  fit->dDo = 0.0;
+  fit->uR  = 0.0;
+  fit->duR = 0.0;
+  fit->uD  = 0.0;
+  fit->duD = 0.0;
+  fit->p   = 0.0;
+  fit->dp  = 0.0;
+
+  fit->chisq = NAN;
+  fit->Nfit = 0;
+  
+  return;
+}
Index: /trunk/Ohana/src/relastro/src/FitChip.c
===================================================================
--- /trunk/Ohana/src/relastro/src/FitChip.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/FitChip.c	(revision 38986)
@@ -81,5 +81,7 @@
     }
 
-    if (VERBOSE2) fprintf (stderr, "using %d for %s\n", order_use, image[0].name);
+    if (VERBOSE2) {
+      fprintf (stderr, "using %d for %s\n", order_use, image[0].name);
+    }
 
     // when fitting the map, first fit a linear model (below? change Npolyterms to -1)
@@ -92,5 +94,5 @@
     for (i = 0; i < Nmatch; i++) {
       if (raw[i].mask) continue;
-      fit_add (fit, raw[i].X, raw[i].Y, ref[i].L, ref[i].M, raw[i].dPos);
+      fit_add (fit, raw[i].X, raw[i].Y, ref[i].L, ref[i].M, ref[i].dPos);
     }
 
@@ -310,9 +312,10 @@
   int i, N;
 
-  float *x, *y, *dX, *dY;
+  float *x, *y, *dX, *dY, *dP;
   ALLOCATE (x,  float, Npts);
   ALLOCATE (y,  float, Npts);
   ALLOCATE (dX, float, Npts);
   ALLOCATE (dY, float, Npts);
+  ALLOCATE (dP, float, Npts);
 
   N = 0;
@@ -323,4 +326,5 @@
     dX[N] = ref[i].X - raw[i].X;
     dY[N] = ref[i].Y - raw[i].Y;
+    dP[N] = ref[i].dPos;
     N++;
   }
@@ -329,6 +333,6 @@
   // (L,M) = f(X',Y') : (X',Y') = (X,Y) + (dX,dY)
 
-  AstromOffsetMapFit (map, x, y, dX, N, TRUE);
-  AstromOffsetMapFit (map, x, y, dY, N, FALSE);
+  AstromOffsetMapFit (map, x, y, dX, dP, N, TRUE);
+  AstromOffsetMapFit (map, x, y, dY, dP, N, FALSE);
 
   AstromOffsetMapRepair (map, TRUE);
@@ -339,4 +343,5 @@
   free (dX);
   free (dY);
+  free (dP);
 
   return TRUE;
Index: /trunk/Ohana/src/relastro/src/FitPM.c
===================================================================
--- /trunk/Ohana/src/relastro/src/FitPM.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/FitPM.c	(revision 38986)
@@ -1,88 +1,69 @@
 # include "relastro.h"
 
-/* do we want an init function which does the alloc and a clear function to free? */
-int FitPM (PMFit *fit, double *X, double *dX, double *Y, double *dY, double *T, int Npts, int XVERB) {
+// initial values of *fit are ignored
+int FitPM (FitAstromResult *fit, FitAstromData *data, FitAstromPoint *points, int Npoints) {
 
   int i;
 
-  double **A, **B;
   double wx, wy, Wx, Wy, Tx, Ty, Tx2, Ty2, Xs, Ys, XT, YT;
-  double chisq, Xf, Yf;
 
-  /* do I need to do this as 2 2x2 matrix equations? */
-  A = array_init (4, 4);
-  B = array_init (4, 1);
+  myAssert (data->Nterms == 4, "invalid fit arrays");
 
   Wx = Wy = Tx = Ty = Tx2 = Ty2 = Xs = Ys = XT = YT = 0.0;
-  for (i = 0; i < Npts; i++) {
+
+  for (i = 0; i < Npoints; i++) {
     /* handle case where dX or dY = 0.0 */
-    wx = 1.0 / SQ(dX[i]);
-    wy = 1.0 / SQ(dY[i]);
+    wx = 1.0 / SQ(points[i].dX);
+    wy = 1.0 / SQ(points[i].dY);
 
     Wx += wx;
     Wy += wy;
 
-    Tx += T[i]*wx;
-    Ty += T[i]*wy;
+    Tx += points[i].T*wx;
+    Ty += points[i].T*wy;
     
-    Tx2 += SQ(T[i])*wx;
-    Ty2 += SQ(T[i])*wy;
+    Tx2 += SQ(points[i].T)*wx;
+    Ty2 += SQ(points[i].T)*wy;
     
-    Xs += X[i]*wx;
-    Ys += Y[i]*wy;
+    Xs += points[i].X*wx;
+    Ys += points[i].Y*wy;
 
-    XT += X[i]*T[i]*wx;
-    YT += Y[i]*T[i]*wy;
+    XT += points[i].X*points[i].T*wx;
+    YT += points[i].Y*points[i].T*wy;
   }
 
-  A[0][0] = Wx;
-  A[0][1] = Tx;
+  data->A[0][0] = Wx;
+  data->A[0][1] = Tx;
 
-  A[1][0] = Tx;
-  A[1][1] = Tx2;
+  data->A[1][0] = Tx;
+  data->A[1][1] = Tx2;
 
-  A[2][2] = Wy;
-  A[2][3] = Ty;
+  data->A[2][2] = Wy;
+  data->A[2][3] = Ty;
 
-  A[3][2] = Ty;
-  A[3][3] = Ty2;
+  data->A[3][2] = Ty;
+  data->A[3][3] = Ty2;
 
-  B[0][0] = Xs;
-  B[1][0] = XT;
-  B[2][0] = Ys;
-  B[3][0] = YT;
+  data->B[0][0] = Xs;
+  data->B[1][0] = XT;
+  data->B[2][0] = Ys;
+  data->B[3][0] = YT;
 
-  dgaussjordan (A, B, 4, 1);
+  dgaussjordan (data->A, data->B, 4, 1);
 
-  fit[0].Ro = B[0][0];
-  fit[0].uR = B[1][0];
-  fit[0].Do = B[2][0];
-  fit[0].uD = B[3][0];
-  fit[0].p  = 0.0;
+  fit->Ro = data->B[0][0];
+  fit->uR = data->B[1][0];
+  fit->Do = data->B[2][0];
+  fit->uD = data->B[3][0];
+  fit->p  = 0.0;
   
-  fit[0].dRo = sqrt(A[0][0]);
-  fit[0].duR = sqrt(A[1][1]);
-  fit[0].dDo = sqrt(A[2][2]);
-  fit[0].duD = sqrt(A[3][3]);
-  fit[0].dp  = 0.0;
+  fit->dRo = sqrt(data->A[0][0]);
+  fit->duR = sqrt(data->A[1][1]);
+  fit->dDo = sqrt(data->A[2][2]);
+  fit->duD = sqrt(data->A[3][3]);
+  fit->dp  = 0.0;
   
-  array_free (A, 4);
-  array_free (B, 4);
+  fit->Nfit = Npoints;
 
-  // add up the chi square for the fit
-  chisq = 0.0;
-  for (i = 0; i < Npts; i++) {
-    Xf = fit[0].Ro + fit[0].uR*T[i];
-    Yf = fit[0].Do + fit[0].uD*T[i];
-    chisq += SQ(X[i] - Xf) / SQ(dX[i]);
-    chisq += SQ(Y[i] - Yf) / SQ(dY[i]);
-    if (XVERB) fprintf (stderr, "chisq contrib : %f %f : %f %f : %f %f : %f %f : %f\n", Xf, Yf, X[i] - Xf, Y[i] - Yf, dX[i], dY[i], (X[i] - Xf) / dX[i], (Y[i] - Yf) / dY[i], chisq);
-  }
-  fit[0].Nfit = Npts;
-
-  // the reduced chisq is divided by (Ndof = 2*Npts - 4)
-  fit[0].chisq = chisq / (2.0*Npts - 4.0);
   return (TRUE);
 }
-
-// XXX this function should (optionally?) iterate and clip outlier detections
Index: /trunk/Ohana/src/relastro/src/FitPMandPar.c
===================================================================
--- /trunk/Ohana/src/relastro/src/FitPMandPar.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/FitPMandPar.c	(revision 38986)
@@ -1,113 +1,94 @@
 # include "relastro.h"
 
-/* do we want an init function which does the alloc and a clear function to free? */
-int FitPMandPar (PMFit *fit, double *X, double *dX, double *Y, double *dY, double *T, double *pR, double *pD, int Npts, int XVERB) {
+// initial values of *fit are ignored
+int FitPMandPar (FitAstromResult *fit, FitAstromData *data, FitAstromPoint *points, int Npoints) {
 
   int i;
 
-  double **A, **B;
   double wx, wy, Wx, Wy, Tx, Ty, Tx2, Ty2, Xs, Ys, XT, YT;
   double PR, PD, PRT, PDT, PRX, PDY, PR2, PD2;
-  double chisq, Xf, Yf;
 
-  A = array_init (5, 5);
-  B = array_init (5, 1);
+  myAssert (data->Nterms == 5, "invalid fit arrays");
 
   PR = PD = PRT = PDT = PRX = PDY = PR2 = PD2 = 0.0;
   Wx = Wy = Tx = Ty = Tx2 = Ty2 = Xs = Ys = XT = YT = 0.0;
-  for (i = 0; i < Npts; i++) {
+
+  for (i = 0; i < Npoints; i++) {
     /* handle case where dX or dY = 0.0 */
-    wx = 1.0 / SQ(dX[i]);
-    wy = 1.0 / SQ(dY[i]);
+    wx = 1.0 / SQ(points[i].dX);
+    wy = 1.0 / SQ(points[i].dY);
 
     Wx += wx;
     Wy += wy;
 
-    Tx += T[i]*wx;
-    Ty += T[i]*wy;
+    Tx += points[i].T*wx;
+    Ty += points[i].T*wy;
     
-    Tx2 += SQ(T[i])*wx;
-    Ty2 += SQ(T[i])*wy;
+    Tx2 += SQ(points[i].T)*wx;
+    Ty2 += SQ(points[i].T)*wy;
     
-    PR += pR[i]*wx;
-    PD += pD[i]*wy;
+    PR += points[i].pR*wx;
+    PD += points[i].pD*wy;
     
-    PRT += pR[i]*T[i]*wx;
-    PDT += pD[i]*T[i]*wy;
+    PRT += points[i].pR*points[i].T*wx;
+    PDT += points[i].pD*points[i].T*wy;
     
-    PRX += pR[i]*X[i]*wx;
-    PDY += pD[i]*Y[i]*wy;
+    PRX += points[i].pR*points[i].X*wx;
+    PDY += points[i].pD*points[i].Y*wy;
     
-    PR2 += SQ(pR[i])*wx;
-    PD2 += SQ(pD[i])*wy;
+    PR2 += SQ(points[i].pR)*wx;
+    PD2 += SQ(points[i].pD)*wy;
 
-    Xs += X[i]*wx;
-    Ys += Y[i]*wy;
+    Xs += points[i].X*wx;
+    Ys += points[i].Y*wy;
 
-    XT += X[i]*T[i]*wx;
-    YT += Y[i]*T[i]*wy;
+    XT += points[i].X*points[i].T*wx;
+    YT += points[i].Y*points[i].T*wy;
   }
 
-  A[0][0] = Wx;
-  A[0][1] = Tx;
-  A[0][4] = PR;
+  data->A[0][0] = Wx;
+  data->A[0][1] = Tx;
+  data->A[0][4] = PR;
 
-  A[1][0] = Tx;
-  A[1][1] = Tx2;
-  A[1][4] = PRT;
+  data->A[1][0] = Tx;
+  data->A[1][1] = Tx2;
+  data->A[1][4] = PRT;
 
-  A[2][2] = Wy;
-  A[2][3] = Ty;
-  A[2][4] = PD;
+  data->A[2][2] = Wy;
+  data->A[2][3] = Ty;
+  data->A[2][4] = PD;
 
-  A[3][2] = Ty;
-  A[3][3] = Ty2;
-  A[3][4] = PDT;
+  data->A[3][2] = Ty;
+  data->A[3][3] = Ty2;
+  data->A[3][4] = PDT;
 
-  A[4][0] = PR;
-  A[4][1] = PRT;
-  A[4][2] = PD;
-  A[4][3] = PDT;
-  A[4][4] = PR2 + PD2;
+  data->A[4][0] = PR;
+  data->A[4][1] = PRT;
+  data->A[4][2] = PD;
+  data->A[4][3] = PDT;
+  data->A[4][4] = PR2 + PD2;
 
-  B[0][0] = Xs;
-  B[1][0] = XT;
-  B[2][0] = Ys;
-  B[3][0] = YT;
-  B[4][0] = PRX + PDY;
+  data->B[0][0] = Xs;
+  data->B[1][0] = XT;
+  data->B[2][0] = Ys;
+  data->B[3][0] = YT;
+  data->B[4][0] = PRX + PDY;
 
-  dgaussjordan (A, B, 5, 1);
+  dgaussjordan (data->A, data->B, 5, 1);
 
-  fit[0].Ro = B[0][0];
-  fit[0].uR = B[1][0];
-  fit[0].Do = B[2][0];
-  fit[0].uD = B[3][0];
-  fit[0].p  = B[4][0];
+  fit->Ro = data->B[0][0];
+  fit->uR = data->B[1][0];
+  fit->Do = data->B[2][0];
+  fit->uD = data->B[3][0];
+  fit->p  = data->B[4][0];
   
-  fit[0].dRo = sqrt(A[0][0]);
-  fit[0].duR = sqrt(A[1][1]);
-  fit[0].dDo = sqrt(A[2][2]);
-  fit[0].duD = sqrt(A[3][3]);
-  fit[0].dp  = sqrt(A[4][4]);
+  fit->dRo = sqrt(data->A[0][0]);
+  fit->duR = sqrt(data->A[1][1]);
+  fit->dDo = sqrt(data->A[2][2]);
+  fit->duD = sqrt(data->A[3][3]);
+  fit->dp  = sqrt(data->A[4][4]);
   
-  array_free (A, 5);
-  array_free (B, 5);
+  fit->Nfit = Npoints;
 
-  /* get the chisq from the matrix values */
-
-  // add up the chi square for the fit
-  chisq = 0.0;
-  for (i = 0; i < Npts; i++) {
-    Xf = fit[0].Ro + fit[0].uR*T[i] + fit[0].p*pR[i];
-    Yf = fit[0].Do + fit[0].uD*T[i] + fit[0].p*pD[i];
-    chisq += SQ(X[i] - Xf) / SQ(dX[i]);
-    chisq += SQ(Y[i] - Yf) / SQ(dY[i]);
-    if (XVERB) fprintf (stderr, "chisq contrib : %f %f : %f %f : %f %f : %f %f : %f\n", Xf, Yf, X[i] - Xf, Y[i] - Yf, dX[i], dY[i], (X[i] - Xf) / dX[i], (Y[i] - Yf) / dY[i], chisq);
-
-  }
-  fit[0].Nfit = Npts;
-
-  // the reduced chisq is divided by (Ndof = 2*Npts - 5)
-  fit[0].chisq = chisq / (2.0*Npts - 5.0);
   return (TRUE);
 }
Index: /trunk/Ohana/src/relastro/src/FitPosPMfixed.c
===================================================================
--- /trunk/Ohana/src/relastro/src/FitPosPMfixed.c	(revision 38986)
+++ /trunk/Ohana/src/relastro/src/FitPosPMfixed.c	(revision 38986)
@@ -0,0 +1,40 @@
+# include "relastro.h"
+
+int FitPosPMfixed (FitAstromResult *fit, FitAstromData *data, FitAstromPoint *points, int Npoints) {
+
+  int i;
+
+  double wx, wy, Wx, Wy, Tx, Ty, Xs, Ys;
+
+  myAssert (data->Nterms == 2, "invalid fit arrays");
+
+  Wx = Wy = Tx = Ty = Xs = Ys = 0.0;
+
+  for (i = 0; i < Npoints; i++) {
+    /* handle case where dX or dY = 0.0 */
+    wx = 1.0 / SQ(points[i].dX);
+    wy = 1.0 / SQ(points[i].dY);
+
+    Wx += wx;
+    Wy += wy;
+
+    Tx += points[i].T*wx;
+    Ty += points[i].T*wy;
+    
+    Xs += points[i].X*wx;
+    Ys += points[i].Y*wy;
+  }
+
+  fit->Ro = (Xs - fit->uR*Tx) / Wx;
+  fit->Do = (Ys - fit->uD*Ty) / Wy;
+
+  fit->p  = 0.0;
+  
+  // should be ~ 1.0 / Wx
+  fit->dRo = sqrt(1.0 / Wx);
+  fit->dDo = sqrt(1.0 / Wy);
+  
+  fit->Nfit = Npoints;
+
+  return (TRUE);
+}
Index: /trunk/Ohana/src/relastro/src/FrameCorrection.c
===================================================================
--- /trunk/Ohana/src/relastro/src/FrameCorrection.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/FrameCorrection.c	(revision 38986)
@@ -479,6 +479,6 @@
     }
 
-    AstromOffsetMapFit (map, Xfit, Yfit, dXfit, Nkeep, TRUE);
-    AstromOffsetMapFit (map, Xfit, Yfit, dYfit, Nkeep, FALSE);
+    AstromOffsetMapFit (map, Xfit, Yfit, dXfit, NULL, Nkeep, TRUE);
+    AstromOffsetMapFit (map, Xfit, Yfit, dYfit, NULL, Nkeep, FALSE);
 
     for (i = 0; i < Npts; i++) {
Index: /trunk/Ohana/src/relastro/src/FrameCorrectionUtils.c
===================================================================
--- /trunk/Ohana/src/relastro/src/FrameCorrectionUtils.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/FrameCorrectionUtils.c	(revision 38986)
@@ -240,10 +240,10 @@
   float *buffer = (float *)matrix->buffer;
 
-  float **value = (raDirection) ? map->dXv : map->dYv;
+  float *value = (raDirection) ? map->dXv : map->dYv;
 
   int ix, iy;
   for (ix = 0; ix < map->Nx; ix++) {
     for (iy = 0; iy < map->Ny; iy++) {
-      buffer[ix + map->Nx*iy] = value[ix][iy];
+      buffer[ix + map->Nx*iy] = value[ix + map->Nx*iy];
     }
   }
@@ -265,10 +265,10 @@
   float *buffer = (float *) matrix->buffer;
 
-  float **value = (raDirection) ? map->dXv : map->dYv;
+  float *value = (raDirection) ? map->dXv : map->dYv;
 
   int ix, iy;
   for (ix = 0; ix < map->Nx; ix++) {
     for (iy = 0; iy < map->Ny; iy++) {
-      value[ix][iy] = buffer[ix + map->Nx*iy];
+      value[ix + map->Nx*iy] = buffer[ix + map->Nx*iy];
     }
   }
Index: /trunk/Ohana/src/relastro/src/GetAstromError.c
===================================================================
--- /trunk/Ohana/src/relastro/src/GetAstromError.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/GetAstromError.c	(revision 38986)
@@ -1,4 +1,17 @@
 # include "relastro.h"
 # define WEIGHTED_ERRORS 1
+
+// XXX hard-wire the trends identified by CZW
+static float BrightMo[] = {-15.6, -16.8, -17.0, -16.7, -16.0};
+static float BrightMs[] = {1.3, 1.3, 1.3, 1.8, 2.0}; 
+
+static int Nloop = -1;
+static int isImage = FALSE;
+
+// Nloop is used to modify the per detection errors
+void AstromErrorSetLoop (int N, int isImageMode) {
+  Nloop = N;
+  isImage = isImageMode;
+}
 
 float GetAstromErrorTiny (MeasureTiny *measure, int mode) {
@@ -41,5 +54,93 @@
   dPtotal = sqrt(SQ(dPsys) + SQ(AS*dPobs) + SQ(MS*dM));
 
+  // for GPC1 data, we have a bright end model:
+  if ((measure[0].photcode > 10000) && (measure[0].photcode < 10480)) {
+    int Np = ((int) (measure[0].photcode / 100)) % 100;
+    myAssert (Np >= 0, "oops");
+    myAssert (Np <= 4, "oops");
+
+    float Minst = measure[0].M - measure[0].dt - 25.0;
+    float dPbright = 0.335 / (1.0 + exp(BrightMs[Np]*(Minst - BrightMo[Np])));
+    dPtotal = hypot(dPtotal, dPbright);
+  }
   dPtotal = MAX (dPtotal, MIN_ERROR);
+
+  // early on, we want 2MASS and Tycho to have a very high weight.  This will force images
+  // to match the 2MASS / Tycho / ICRS reference frame.  As Nloop gets higher, the weight
+  // needs to drop to allow the ps1 measurements to drive the solution
+  int is2MASS  = USE_GALAXY_MODEL && !isImage && (measure[0].photcode >= 2011) && (measure[0].photcode <= 2013);
+  int isTycho  = USE_GALAXY_MODEL && !isImage && (measure[0].photcode >= 2020) && (measure[0].photcode <= 2021);
+  int has2MASS = USE_GALAXY_MODEL &&  isImage && (measure[0].dbFlags & ID_MEAS_OBJECT_HAS_2MASS);
+
+  // serious hack: if the object has 2MASS, we set this internal bit and adjust the
+  // weight to ensure the image is tied down to the 2mass frame
+
+  if (has2MASS) {
+    switch (Nloop) {
+      case 0:
+	dPtotal = dPtotal / 1000.0;
+	break;
+      case 1:
+	dPtotal = dPtotal / 300.0;
+	break;
+      case 2:
+	dPtotal = dPtotal / 100.0;
+	break;
+      case 3:
+	dPtotal = dPtotal / 30.0;
+	break;
+      case 4:
+	dPtotal = dPtotal / 10.0;
+	break;
+      case 5:
+	dPtotal = dPtotal / 10.0;
+	break;
+      default:
+	break;
+    }
+  }
+  if (is2MASS) {
+    switch (Nloop) {
+      case 0:
+	dPtotal = dPtotal / 1000.0;
+	break;
+      case 1:
+	dPtotal = dPtotal / 300.0;
+	break;
+      case 2:
+	dPtotal = dPtotal / 100.0;
+	break;
+      case 3:
+	dPtotal = dPtotal / 30.0;
+	break;
+      case 4:
+	dPtotal = dPtotal / 10.0;
+	break;
+      case 5:
+	dPtotal = dPtotal / 10.0;
+	break;
+      default:
+	break;
+    }
+  }
+  if (isTycho) {
+    switch (Nloop) {
+      case 0:
+      case 1:
+	dPtotal = dPtotal / 200.0;
+	break;
+      case 2:
+      case 3:
+	dPtotal = dPtotal / 100.0;
+	break;
+      case 4:
+      case 5:
+	dPtotal = dPtotal / 50.0;
+	break;
+      default:
+	break;
+    }
+  }
+
   return (dPtotal);
 }
@@ -84,4 +185,15 @@
   dPtotal = sqrt(SQ(dPsys) + SQ(AS*dPobs) + SQ(MS*dM));
 
+  // for GPC1 data, we have a bright end model:
+  if ((measure[0].photcode > 10000) && (measure[0].photcode < 10480)) {
+    int Np = ((int) (measure[0].photcode / 100)) % 100;
+    myAssert (Np >= 0, "oops");
+    myAssert (Np <= 4, "oops");
+
+    float Minst = measure[0].M - measure[0].dt - 25.0;
+    float dPbright = 0.335 / (1.0 + exp(BrightMs[Np]*(Minst - BrightMo[Np])));
+    dPtotal = hypot(dPtotal, dPbright);
+  }
+
   dPtotal = MAX (dPtotal, MIN_ERROR);
   return (dPtotal);
Index: /trunk/Ohana/src/relastro/src/ImageOps.c
===================================================================
--- /trunk/Ohana/src/relastro/src/ImageOps.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/ImageOps.c	(revision 38986)
@@ -1,3 +1,4 @@
 # include "relastro.h"
+int isGPC1chip (int photcode);
 
 # define USE_IMAGE_ID 1
@@ -690,4 +691,12 @@
       raw[i].mask |= MARK_NAN_POS_ERROR;
     }
+
+    // XXX A TEST: can we use only 2MASS measurements to fit the images?
+    // XXX Do NOT apply this for the real calibration
+    if (FALSE && !(measure[0].dbFlags & ID_MEAS_OBJECT_HAS_2MASS)) {
+      fprintf (stderr, "@");
+      raw[i].mask |= MARK_BIG_OFFSET;
+    }
+
     raw[i].Nmeas = catalog[c].average[n].Nmeasure; // record so we can check how well connected an image is
 
@@ -751,7 +760,17 @@
     ref[i].R = catalog[c].average[n].R;
     ref[i].D = catalog[c].average[n].D;
+    
+    // if we are applying the galaxy model, move the reference position...
+    if (USE_GALAXY_MODEL) {
+      // apply proper-motion from average position to measure epoch:
+      float dTime = (measure[0].t - catalog[c].average[n].Tmean) / (86400*365.25) ; // time relative to Tmean in years
+
+      // XXX do this in a better way?
+      ref[i].R += dTime * catalog[c].average[n].uR / 3600.0 / cos(ref[i].D*RAD_DEG);
+      ref[i].D += dTime * catalog[c].average[n].uD / 3600.0;
+    }
 
     // if we are correcting for the Galaxy Motion Model, we assume the mean R,D is at the J2000 epoch position
-    if (USE_GALAXY_MODEL) {
+    if (0) {
       myAssert (!isnan(measure[0].RoffGAL), "oops");
       myAssert (!isnan(measure[0].DoffGAL), "oops");
@@ -981,7 +1000,7 @@
   if (VERBOSE) fprintf (stderr, "%d measures marked poor, %d total\n", Ndel, Nave);
   free (R);
-  free(dR);
-  free(D);
-  free(dD); 
+  free (dR);
+  free (D);
+  free (dD); 
 }
 
@@ -1110,9 +1129,9 @@
   if (VERBOSE) fprintf (stderr, "%d measures marked poor, %d total\n", Ndel, Nave);
   free (R);
-  free(dR);
-  free(D);
-  free(dD); 
-  free(d2);
-  free(index);
+  free (dR);
+  free (D);
+  free (dD); 
+  free (d2);
+  free (index);
 }
 
@@ -1215,5 +1234,6 @@
   }  
   
-  if (MinBadQF > 0.0) {
+  if ((MinBadQF > 0.0) && isGPC1chip(measure[0].photcode)) {
+    if (!isfinite(measure[0].psfQF)) return FALSE;
     if (measure[0].psfQF < MinBadQF) return FALSE;
   }
Index: /trunk/Ohana/src/relastro/src/ParFactor.c
===================================================================
--- /trunk/Ohana/src/relastro/src/ParFactor.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/ParFactor.c	(revision 38986)
@@ -2,49 +2,9 @@
 # define J2000 2451545.       /* Julian date at standard epoch */
 
-# if (0)
-/* Low precision formulae for the sun, from Almanac p. C24 (1990) */
-/* ra and dec are returned as decimal hours and decimal degrees. */
-void lpsun (double jd, double *ra, double *dec) {
+/* Low precision formulae for the sun, from Astro. Almanac p. C5 (2012) */
+// jdoff is days since J2000
+int sun_ecliptic (double jdoff, double *lambda, double *beta, double *epsilon, double *Radius) {
 
-  double n, L, g, lambda,epsilon,alpha,delta,x,y,z;
-
-  n = jd - J2000;
-  L = 280.460 + 0.9856474 * n;
-  g = (357.528 + 0.9856003 * n)/DEG_IN_RADIAN;
-  lambda = (L + 1.915 * sin(g) + 0.020 * sin(2. * g))/DEG_IN_RADIAN;
-  epsilon = (23.439 - 0.0000004 * n)/DEG_IN_RADIAN;
-
-  // this is the conversion from ecliptic to celestial coords
-  x = cos(lambda);
-  y = cos(epsilon)*sin(lambda);
-  z = sin(epsilon)*sin(lambda);
-
-  *ra = (atan_circ(x,y))*HRS_IN_RADIAN;
-  *dec = (asin(z))*DEG_IN_RADIAN;
-}
-# endif
-
-# if (0)
-/* code borrowed from Skycalc : fix this stuff XXX */
-/* Low precision formulae for the sun, from Almanac p. C24 (1990) */
-int sun_ecliptic (double jd, double *lambda, double *beta, double *epsilon) {
-
-  double n, L, g;
-
-
-  n = jd - J2000;
-  L = 280.460 + 0.9856474 * n;
-  g = (357.528 + 0.9856003 * n)*RAD_DEG;
-  *lambda = L + 1.915 * sin(g) + 0.020 * sin(2. * g); // longitude in degrees
-  *beta = 0.0;					  // approx latitude
-  *epsilon = (23.439 - 0.0000004 * n);		  // obliquity of ecliptic in degrees
-  return TRUE;
-}
-# endif
-
-/* Low precision formulae for the sun, from Astro. Almanac p. C5 (2012) */
-int sun_ecliptic (double jd, double *lambda, double *beta, double *epsilon, double *Radius) {
-
-  double n = jd - J2000;	      // day number
+  double n = jdoff;	      // day number
   double L = 280.460 + 0.9856474 * n; // mean solar longitute (corr. for aberration)
   double g = (357.528 + 0.9856003 * n)*RAD_DEG; // Mean anomaly
@@ -58,17 +18,14 @@
 
 /* given RA, DEC, Time, calculate the parallax factor */
-// Time is relative to Tmean, Tmean is years relative to J2000
-int ParFactor (double *pR, double *pD, double RA, double DEC, double Time, double Tmean) {
+// Time is years since J2000
+int ParFactor (double *pR, double *pD, double RA, double DEC, double Time) {
 
-  double jd, lambda, beta, epsilon, Radius;
+  double lambda, beta, epsilon, Radius;
 
-  /* given a Time relative to Tmean, Tmean in years since J2000, determine the solar
-    longitude S */
+  /* given a Time in years since J2000, determine the solar longitude S */
 
-  // jd = ohana_sec_to_jd (365.25*86400.0*(Time + Tmean));
-  jd = 365.25*(Time + Tmean) + J2000;
-  // fprintf (stderr, "Time: %f, jd: %f\n", Time, jd);
+  double jdoff = 365.25*Time;
 
-  sun_ecliptic (jd, &lambda, &beta, &epsilon, &Radius);
+  sun_ecliptic (jdoff, &lambda, &beta, &epsilon, &Radius);
 
   double lambda_rad = lambda*RAD_DEG;
@@ -99,2 +56,42 @@
   return TRUE;
 }
+
+# if (0)
+/* Low precision formulae for the sun, from Almanac p. C24 (1990) */
+/* ra and dec are returned as decimal hours and decimal degrees. */
+void lpsun (double jd, double *ra, double *dec) {
+
+  double n, L, g, lambda,epsilon,alpha,delta,x,y,z;
+
+  n = jd - J2000;
+  L = 280.460 + 0.9856474 * n;
+  g = (357.528 + 0.9856003 * n)/DEG_IN_RADIAN;
+  lambda = (L + 1.915 * sin(g) + 0.020 * sin(2. * g))/DEG_IN_RADIAN;
+  epsilon = (23.439 - 0.0000004 * n)/DEG_IN_RADIAN;
+
+  // this is the conversion from ecliptic to celestial coords
+  x = cos(lambda);
+  y = cos(epsilon)*sin(lambda);
+  z = sin(epsilon)*sin(lambda);
+
+  *ra = (atan_circ(x,y))*HRS_IN_RADIAN;
+  *dec = (asin(z))*DEG_IN_RADIAN;
+}
+
+/* code borrowed from Skycalc : fix this stuff XXX */
+/* Low precision formulae for the sun, from Almanac p. C24 (1990) */
+int sun_ecliptic (double jd, double *lambda, double *beta, double *epsilon) {
+
+  double n, L, g;
+
+
+  n = jd - J2000;
+  L = 280.460 + 0.9856474 * n;
+  g = (357.528 + 0.9856003 * n)*RAD_DEG;
+  *lambda = L + 1.915 * sin(g) + 0.020 * sin(2. * g); // longitude in degrees
+  *beta = 0.0;					  // approx latitude
+  *epsilon = (23.439 - 0.0000004 * n);		  // obliquity of ecliptic in degrees
+  return TRUE;
+}
+# endif
+
Index: /trunk/Ohana/src/relastro/src/Shutdown.c
===================================================================
--- /trunk/Ohana/src/relastro/src/Shutdown.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/Shutdown.c	(revision 38986)
@@ -21,6 +21,4 @@
   va_end (argp);
 
-  SetProtect (TRUE);
-  gfits_db_close (db);
   fprintf (stderr, "ERROR: relastro halted\n");
   exit (1);
Index: /trunk/Ohana/src/relastro/src/StarMaps.c
===================================================================
--- /trunk/Ohana/src/relastro/src/StarMaps.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/StarMaps.c	(revision 38986)
@@ -163,12 +163,12 @@
   }
 
-  if (VERBOSE2) fprintf (stderr, "max deviations for %s using %d pts : %f, %f\n", images[N].name, starmap[N].Npoints, dLmax, dMmax);
+  if (VERBOSE2) fprintf (stderr, "max deviations for %s using %d pts (%d fitted) : %f, %f\n", images[N].name, starmap[N].Npoints, images[N].nFitAstrom, dLmax, dMmax);
 
   if (dLmax > DPOS_MAX) {
-      if (VERBOSE) fprintf (stderr, "max deviations for %s using %d pts : %f, %f\n", images[N].name, starmap[N].Npoints, dLmax, dMmax);
+    if (VERBOSE) fprintf (stderr, "max deviations for %s using %d pts (%d fitted) : %f, %f\n", images[N].name, starmap[N].Npoints, images[N].nFitAstrom, dLmax, dMmax);
       return (FALSE);
   }
   if (dMmax > DPOS_MAX) {
-      if (VERBOSE) fprintf (stderr, "max deviations for %s using %d pts : %f, %f\n", images[N].name, starmap[N].Npoints, dLmax, dMmax);
+      if (VERBOSE) fprintf (stderr, "max deviations for %s using %d pts (%d fitted) : %f, %f\n", images[N].name, starmap[N].Npoints, images[N].nFitAstrom, dLmax, dMmax);
       return (FALSE);
   }
Index: /trunk/Ohana/src/relastro/src/UpdateChips.c
===================================================================
--- /trunk/Ohana/src/relastro/src/UpdateChips.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/UpdateChips.c	(revision 38986)
@@ -29,5 +29,5 @@
 // update astrometry of all chips relative to the average positions
 // if NTHREADS is non-zero, call the threaded version of this function
-int UpdateChips (Catalog *catalog, int Ncatalog) {
+int UpdateChips (Catalog *catalog, int Ncatalog, int Nloop) {
 
   off_t Nskip, Nmosaic, NnewFit, NoldFit;
@@ -40,4 +40,6 @@
   char *mode;
 
+  AstromErrorSetLoop (Nloop, TRUE);
+
   if (NTHREADS) {
     UpdateChips_threaded (catalog, Ncatalog);
@@ -57,4 +59,6 @@
   // each chip is fitted independently, so we could do N at once in parallel
   for (i = 0; i < Nimage; i++) {
+
+    VERBOSE_IMAGE = !strcmp(image[i].name, "o5745g0516o.356887.cm.982631.smf[XY54]");
 
     // XXX looks like everything below is thread safe : we can unroll this into a set of
@@ -91,4 +95,10 @@
     }
 
+    if (VERBOSE_IMAGE) { 
+      dump_stardata_pts (raw, Nraw, "testimage.raw.dat");
+      dump_stardata_pts (ref, Nref, "testimage.ref.dat");
+      fprintf (stderr, "dumped test image\n");
+    }
+
     // note that Nraw & Nref must be equal: if not, we made a programming error in one of these two functions.
     assert (Nraw == Nref);
@@ -105,5 +115,5 @@
     // fprintf (stderr, "image "OFF_T_FMT" : Nstars: "OFF_T_FMT"\n",  i,  Nraw);
     if (!FitChip (raw, ref, Nraw, &image[i])) {
-      if (VERBOSE) fprintf (stderr, "reject fit for image %s ("OFF_T_FMT") : Nstars: "OFF_T_FMT" of %d\n", image[i].name,  i,  Nraw, image[i].nstar);
+      if (VERBOSE) fprintf (stderr, "reject fit for image %s ("OFF_T_FMT") : Nstars: "OFF_T_FMT", Nused %d of %d\n", image[i].name,  i,  Nraw, image[i].nFitAstrom, image[i].nstar);
 
       if (1) {
@@ -124,5 +134,5 @@
 
     if (!checkStarMap (i)) {
-      if (VERBOSE) fprintf (stderr, "fit diverges too much for image %s ("OFF_T_FMT") : Nstars: "OFF_T_FMT"\n", image[i].name,  i,  Nraw);
+      if (VERBOSE) fprintf (stderr, "fit diverges too much for image %s ("OFF_T_FMT") : Nstars: "OFF_T_FMT", Nused: %d\n", image[i].name,  i,  Nraw, image[i].nFitAstrom);
 
       if (1) {
@@ -148,4 +158,5 @@
     setImageRaw (catalog, Ncatalog, i, raw, Nraw, MODE_MOSAIC);
     if (USE_GALAXY_MODEL) {
+      // XXX DEPRECATE?
       image[i].flags |= ID_IMAGE_ASTROM_GMM;
     }
@@ -311,5 +322,5 @@
     // fprintf (stderr, "image "OFF_T_FMT" : Nstars: "OFF_T_FMT"\n",  i,  Nraw);
     if (!FitChip (raw, ref, Nraw, &image[i])) {
-      if (VERBOSE) fprintf (stderr, "reject fit for image %s ("OFF_T_FMT") : Nstars: "OFF_T_FMT" of %d\n", image[i].name,  i,  Nraw, image[i].nstar);
+      if (VERBOSE) fprintf (stderr, "reject fit for image %s ("OFF_T_FMT") : Nstars: "OFF_T_FMT", Nused %d of %d\n", image[i].name,  i,  Nraw, image[i].nFitAstrom, image[i].nstar);
 
       // restore status quo ante (replace truMap with tmpMap)
@@ -328,5 +339,5 @@
 
     if (!checkStarMap (i)) {
-      if (VERBOSE) fprintf (stderr, "fit diverges too much for image %s ("OFF_T_FMT") : Nstars: "OFF_T_FMT"\n", image[i].name,  i,  Nraw);
+      if (VERBOSE) fprintf (stderr, "fit diverges too much for image %s ("OFF_T_FMT") : Nstars: "OFF_T_FMT", Nused: %d\n", image[i].name,  i,  Nraw, image[i].nFitAstrom);
 
       // restore status quo ante (replace truMap with tmpMap)
Index: /trunk/Ohana/src/relastro/src/UpdateObjectOffsets.c
===================================================================
--- /trunk/Ohana/src/relastro/src/UpdateObjectOffsets.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/UpdateObjectOffsets.c	(revision 38986)
@@ -97,5 +97,5 @@
   }    
 
-# if (0)
+# if (1)
   
   UpdateObjectOffsets_parallel_table (table, sky);
@@ -155,6 +155,11 @@
 
     char *command = NULL;
-    strextend (&command, "relastro_client -update-offsets -hostID %d -D CATDIR %s -hostdir %s -region %f %f %f %f -statmode %s -minerror %f", 
-	      group->hosts[i][0].hostID, CATDIR, group->hosts[i][0].pathname, UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax, STATMODE, MIN_ERROR);
+    strextend (&command, "relastro_client -update-offsets");
+    strextend (&command, "-hostID %d", group->hosts[i][0].hostID);
+    strextend (&command, "-D CATDIR %s", CATDIR);
+    strextend (&command, "-hostdir %s", group->hosts[i][0].pathname);
+    strextend (&command, "-region %f %f %f %f", UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax);
+    strextend (&command, "-statmode %s", STATMODE);
+    strextend (&command, "-minerror %f", MIN_ERROR);
 
     if (FIT_MODE == FIT_PM_ONLY)  	 strextend (&command, "-pm");
@@ -176,4 +181,5 @@
     if (ExcludeBogus)    strextend (&command, "-exclude-bogus %f", ExcludeBogusRadius);
     
+    if (USE_ALL_IMAGES)      strextend (&command, "-use-all-images");
     if (USE_FIXED_PIXCOORDS) strextend (&command, "-D USE_FIXED_PIXCOORDS 1"); 
 
@@ -184,4 +190,6 @@
     if (PhotFlagPoor)       strextend (&command, "+photflagpoor %d", PhotFlagPoor);
     // XXX note that the above pass in the flag as decimal -- also note that args.c cannot handle 0xHEX values
+
+    if (N_BOOTSTRAP_SAMPLES > 1) strextend (&command, "-bootstrap-samples %d", N_BOOTSTRAP_SAMPLES); 
 
     if (DCR_BLUE_COLOR_POS && DCR_BLUE_COLOR_NEG) {
@@ -303,4 +311,6 @@
     // XXX note that the above pass in the flag as decimal -- also note that args.c cannot handle 0xHEX values
 
+    if (N_BOOTSTRAP_SAMPLES > 1) strextend (&command, "-bootstrap-samples %d", N_BOOTSTRAP_SAMPLES); 
+
     if (DCR_BLUE_COLOR_POS && DCR_BLUE_COLOR_NEG) {
       strextend (&command, "-dcr-blue-color %s %s", DCR_BLUE_COLOR_POS, DCR_BLUE_COLOR_NEG); 
Index: /trunk/Ohana/src/relastro/src/UpdateObjects.c
===================================================================
--- /trunk/Ohana/src/relastro/src/UpdateObjects.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/UpdateObjects.c	(revision 38986)
@@ -2,104 +2,9 @@
 # define PAR_TOOFEW 5
 
-int UpdateObjects_Chips (Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int Nsecfilt, FitStats *fitStats, int i, off_t m, int applyGalaxyOffset);
-int UpdateObjects_Stack (Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int Nsecfilt, FitStats *fitStats);
-
-static off_t Nmax;
-static double *X, *dX;
-static double *Y, *dY;
-static double *R, *dR;
-static double *D, *dD;
-static double *pX;
-static double *pY;
-static double *T;
-static double *dT;
-static double *C_blue;
-static double *C_red;
-
-static Coords coords;
-
-static time_t T2000;
-
-void initFitStats (FitStats *fitStats) {
-  fitStats->Nave = 0;  
-  fitStats->Npm = 0;   
-  fitStats->Npar = 0;  
-  fitStats->Nskip = 0; 
-  fitStats->Noffset = 0;
-  return;
-}
-
-void sumFitStats (FitStats *srcFitStats, FitStats *tgtFitStats) {
-  tgtFitStats->Nave    += srcFitStats->Nave    ;  
-  tgtFitStats->Npm     += srcFitStats->Npm     ;   
-  tgtFitStats->Npar    += srcFitStats->Npar    ;  
-  tgtFitStats->Nskip   += srcFitStats->Nskip   ; 
-  tgtFitStats->Noffset += srcFitStats->Noffset ;
-  return;
-}
-
-void initObjectData (Catalog *catalog, int Ncatalog) {
-
-  off_t i, j;
-  
-  Nmax = 0;
-  for (i = 0; i < Ncatalog; i++) {
-    for (j = 0; j < catalog[i].Naverage; j++) {
-      Nmax = MAX (Nmax, catalog[i].average[j].Nmeasure);
-    }
-  }
-
-  ALLOCATE (R, double, MAX (1, Nmax));
-  ALLOCATE (D, double, MAX (1, Nmax));
-  ALLOCATE (T, double, MAX (1, Nmax));
-  ALLOCATE (X, double, MAX (1, Nmax));
-  ALLOCATE (Y, double, MAX (1, Nmax));
-
-  ALLOCATE (dR, double, MAX (1, Nmax));
-  ALLOCATE (dD, double, MAX (1, Nmax));
-  ALLOCATE (dT, double, MAX (1, Nmax));
-  ALLOCATE (dX, double, MAX (1, Nmax));
-  ALLOCATE (dY, double, MAX (1, Nmax));
-
-  ALLOCATE (pX, double, MAX (1, Nmax));
-  ALLOCATE (pY, double, MAX (1, Nmax));
-
-  ALLOCATE (C_blue, double, MAX (1, Nmax));
-  ALLOCATE (C_red,  double, MAX (1, Nmax));
-
-  /* project coordinates to a plane centered on the object with units of arcsec */
-  InitCoords (&coords, "DEC--SIN");
-  coords.cdelt1 = coords.cdelt2 = 1.0 / 3600.0;
-
-  // use J2000 as a reference time
-  T2000 = ohana_date_to_sec ("2000/01/01,12:00:00");
-}  
-
-void freeObjectData () {
-
-  free (R);
-  free (D);
-  free (T);
-  free (X);
-  free (Y);
-
-  free (dR);
-  free (dD);
-  free (dT);
-  free (dX);
-  free (dY);
-
-  free (pX);
-  free (pY);
-
-  free (C_blue);
-  free (C_red);
-}  
+int DumpObjectsWith2MASS (Catalog *catalog, int Ncatalog);
 
 // This function operates on both Measure and MeasureTiny.  In the big stages, this should
 // be called with just MeasureTiny set and Measure == NULL
 int UpdateObjects (Catalog *catalog, int Ncatalog, int Nloop) {
-
-  initObjectData (catalog, Ncatalog);
 
   // XXX in the future, use catalog[0].Nsecfilt only?  allow catalogs to have variable Nsecfilt?
@@ -109,6 +14,14 @@
   }
 
-  FitStats sumStatsChips; initFitStats (&sumStatsChips);
-  FitStats sumStatsStack; initFitStats (&sumStatsStack);
+  int NmeasureMax = CatalogMaxNmeasure (catalog, Ncatalog);
+
+  // allocate summary stats with Nmax = 0, Nboot = 0
+  FitStats *sumStatsChips = FitStatsInit (0, 0);
+  FitStats *sumStatsStack = FitStatsInit (0, 0);
+
+  FitStats *fitStatsChips = FitStatsInit (NmeasureMax, N_BOOTSTRAP_SAMPLES);
+  FitStats *fitStatsStack = FitStatsInit (NmeasureMax, N_BOOTSTRAP_SAMPLES);
+
+  AstromErrorSetLoop (Nloop, FALSE);
 
   int i;
@@ -117,6 +30,6 @@
     if (VERBOSE2) fprintf (stderr, "astrometrize catalog %d : "OFF_T_FMT" ave, "OFF_T_FMT" meas\n", i,  catalog[i].Naverage,  catalog[i].Nmeasure);
 
-    FitStats fitStatsChips; initFitStats (&fitStatsChips);
-    FitStats fitStatsStack; initFitStats (&fitStatsStack);
+    FitStatsReset (fitStatsChips);
+    FitStatsReset (fitStatsStack);
 
     off_t j;
@@ -129,16 +42,24 @@
       SecFilt *secfilt = &catalog[i].secfilt[j*Nsecfilt];
 
-      UpdateObjects_Stack(average, secfilt, measure, measureBig, Nsecfilt, &fitStatsStack);
-      UpdateObjects_Chips(average, secfilt, measure, measureBig, Nsecfilt, &fitStatsChips, i, m, Nloop);
-    }
-    if (VERBOSE2) fprintf (stderr, "catalog %d : chips "OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par : Nskip "OFF_T_FMT", Noffset "OFF_T_FMT"\n",  i,  fitStatsChips.Nave,  fitStatsChips.Npm,  fitStatsChips.Npar,  fitStatsChips.Nskip, fitStatsChips.Noffset);
-    if (VERBOSE2) fprintf (stderr, "catalog %d : stack "OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par : Nskip "OFF_T_FMT", Noffset "OFF_T_FMT"\n",  i,  fitStatsStack.Nave,  fitStatsStack.Npm,  fitStatsStack.Npar,  fitStatsStack.Nskip, fitStatsStack.Noffset);
-    sumFitStats (&fitStatsChips, &sumStatsChips);
-    sumFitStats (&fitStatsStack, &sumStatsStack);
-  }
-  freeObjectData ();
-
-  if (VERBOSE && (Ncatalog > 1)) fprintf (stderr, "fitted "OFF_T_FMT" objects ("OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par), skipped "OFF_T_FMT", "OFF_T_FMT" have too large an offset\n",  (sumStatsChips.Nave + sumStatsChips.Npm + sumStatsChips.Npar),  sumStatsChips.Nave,  sumStatsChips.Npm,  sumStatsChips.Npar,  sumStatsChips.Nskip, sumStatsChips.Noffset);
-  if (VERBOSE && (Ncatalog > 1)) fprintf (stderr, "fitted "OFF_T_FMT" objects ("OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par), skipped "OFF_T_FMT", "OFF_T_FMT" have too large an offset\n",  (sumStatsStack.Nave + sumStatsStack.Npm + sumStatsStack.Npar),  sumStatsStack.Nave,  sumStatsStack.Npm,  sumStatsStack.Npar,  sumStatsStack.Nskip, sumStatsStack.Noffset);
+      UpdateObjects_Stack(average, secfilt, measure, measureBig, Nsecfilt, fitStatsStack);
+      UpdateObjects_Chips(average, secfilt, measure, measureBig, Nsecfilt, fitStatsChips, i, m);
+    }
+    if (VERBOSE2) fprintf (stderr, "catalog %d : chips "OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par : Nskip "OFF_T_FMT", Noffset "OFF_T_FMT"\n",  i,  fitStatsChips->Nave,  fitStatsChips->Npm,  fitStatsChips->Npar,  fitStatsChips->Nskip, fitStatsChips->Noffset);
+    if (VERBOSE2) fprintf (stderr, "catalog %d : stack "OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par : Nskip "OFF_T_FMT", Noffset "OFF_T_FMT"\n",  i,  fitStatsStack->Nave,  fitStatsStack->Npm,  fitStatsStack->Npar,  fitStatsStack->Nskip, fitStatsStack->Noffset);
+    FitStatsSum (fitStatsChips, sumStatsChips);
+    FitStatsSum (fitStatsStack, sumStatsStack);
+  }
+
+  // DumpObjectsWith2MASS (catalog, Ncatalog);
+
+  FitStatsFree (fitStatsChips);
+  FitStatsFree (fitStatsStack);
+
+  if (VERBOSE && (Ncatalog > 1)) fprintf (stderr, "fitted "OFF_T_FMT" objects ("OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par), skipped "OFF_T_FMT", "OFF_T_FMT" have too large an offset\n",  (sumStatsChips->Nave + sumStatsChips->Npm + sumStatsChips->Npar),  sumStatsChips->Nave,  sumStatsChips->Npm,  sumStatsChips->Npar,  sumStatsChips->Nskip, sumStatsChips->Noffset);
+  if (VERBOSE && (Ncatalog > 1)) fprintf (stderr, "fitted "OFF_T_FMT" objects ("OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par), skipped "OFF_T_FMT", "OFF_T_FMT" have too large an offset\n",  (sumStatsStack->Nave + sumStatsStack->Npm + sumStatsStack->Npar),  sumStatsStack->Nave,  sumStatsStack->Npm,  sumStatsStack->Npar,  sumStatsStack->Nskip, sumStatsStack->Noffset);
+
+  FitStatsFree (sumStatsChips);
+  FitStatsFree (sumStatsStack);
+
   return (TRUE);
 }
@@ -146,14 +67,37 @@
 // This function operates on both Measure and MeasureTiny.  In the big stages, this should
 // be called with just MeasureTiny set and Measure == NULL
-int UpdateObjects_Chips (Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int Nsecfilt, FitStats *fitStats, int i, off_t m, int applyGalaxyOffset) {
-
-  int setRefColor = areImagesMatched();
+int DumpObjectsWith2MASS (Catalog *catalog, int Ncatalog) {
+
+  int i;
+  for (i = 0; i < Ncatalog; i++) {
+    off_t j;
+    for (j = 0; j < catalog[i].Naverage; j++) {
+      /* calculate the average value of R,D for a single star */
+      off_t m = catalog[i].average[j].measureOffset;
+
+      off_t k;
+      for (k = 0; k < catalog[i].average[j].Nmeasure; k++) {
+	MeasureTiny *measure = &catalog[i].measureT[m+k];
+	if (measure->dbFlags & ID_MEAS_OBJECT_HAS_2MASS) {
+	  fprintf (stderr, "0x%08x 0x%08x : %12.8f %12.8f %5d\n", catalog[i].average[j].objID, catalog[i].average[j].catID, measure->R, measure->D, measure->photcode);
+	}
+      }
+    }
+  }
+  return (TRUE);
+}
+
+// This function operates on both Measure and MeasureTiny.  In the big stages, this should
+// be called with just MeasureTiny set and Measure == NULL
+int UpdateObjects_Chips (Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int Nsecfilt, FitStats *fitStats, int cat, off_t measOff) {
+
+  int k;
 
   /* calculate the average value of R,D for a single star */
 
-  PMFit fit;    memset (&fit,    0, sizeof(fit));
-  PMFit fitAve; memset (&fitAve, 0, sizeof(fitAve)); fitAve.chisq = NAN;
-  PMFit fitPM;  memset (&fitPM,  0, sizeof(fitPM));  fitPM.chisq = NAN;
-  PMFit fitPAR; memset (&fitPAR, 0, sizeof(fitPAR)); fitPAR.chisq = NAN;
+  FitAstromResult fitPos, fitPM, fitPar;
+  FitAstromResultInit (&fitPos);
+  FitAstromResultInit (&fitPM);
+  FitAstromResultInit (&fitPar);
 
   // if we fail to fit the astrometry for some reason, we need to set/reset these
@@ -167,8 +111,4 @@
   if (average[0].Nmeasure == 0) return TRUE;
 
-  int NcBlue = 0;
-  int NcRed = 0;
-  int N = 0;
-
   int mode = FIT_MODE; // start with the globally-defined fit mode
 
@@ -177,123 +117,9 @@
   XVERB |= (average[0].objID == OBJ_ID_DST) && (average[0].catID == CAT_ID_DST);
 
-  // find the basic properties of the detections for this object (Tmin, Tmax, Tmean)
-  off_t k;
-  for (k = 0; k < average[0].Nmeasure; k++) {
-
-    if (XVERB) {
-      char *date = ohana_sec_to_date (measure[k].t);
-      int dbFlagsBig = measureBig ? measureBig[k].dbFlags : 0;
-      fprintf (stderr, OFF_T_FMT" %f %f %s : 0x%08x : 0x%08x\n",  k, measure[k].R, measure[k].D, date, measure[k].dbFlags, dbFlagsBig);
-      free (date);
-    }
-
-    // SKIP gpc1 stack data
-    if (isGPC1stack(measure[k].photcode)) continue;
-
-    // SKIP gpc1 forced-warp data
-    if (isGPC1warp(measure[k].photcode)) continue;
-
-    // reset the bit to note that a detection was used (or not)
-    measure[k].dbFlags &= ~ID_MEAS_USED_OBJ;
-    if (measureBig) { measureBig[k].dbFlags &= ~ID_MEAS_USED_OBJ; }
-
-    // does the measurement pass the supplied filtering constraints?
-    // MeasFilterTestTiny does not test psfQF
-    // exclude bad detections based on: photcodes, psfQF, time range, photflags & astromBadMask, mag_inst
-    int keepMeasure = measureBig ? MeasFilterTest(&measureBig[k], FALSE) : MeasFilterTestTiny(&measure[k], FALSE);
-    if (!keepMeasure) {
-      continue;
-    }
-
-    double Ri = getMeanR (&measure[k], average, secfilt);
-    double Di = getMeanD (&measure[k], average, secfilt);
-
-    // if we are correcting for the Galaxy Motion Model, only should apply it here 
-    // (a) when we are working to correct the images (mean R,D assumed to be at J2000) and
-    // (b) if we think the measure R,D is already at the image epoch position
-    if (USE_GALAXY_MODEL && applyGalaxyOffset) {
-      Ri -= measure[k].RoffGAL / 3600.0;
-      Di -= measure[k].DoffGAL / 3600.0;
-    }
-
-    // XXX add in dR,dD GAL here
-
-    // mark (as POOR) any measurements which are deviant from the mean by > ExcludeBogusRadius
-    if (ExcludeBogus) {
-      coords.crval1 = average[0].R;
-      coords.crval2 = average[0].D;
-      double Xi, Yi;
-      RD_to_XY (&Xi, &Yi, Ri, Di, &coords);
-      double radius = hypot(Xi, Yi);
-      if (radius > ExcludeBogusRadius) {
-	measure[k].dbFlags |= ID_MEAS_POOR_ASTROM;
-	if (measureBig) { measureBig[k].dbFlags |= ID_MEAS_POOR_ASTROM; }
-	continue;
-      }
-      measure[k].dbFlags &= ~ID_MEAS_POOR_ASTROM;
-      if (measureBig) { measureBig[k].dbFlags &= ~ID_MEAS_POOR_ASTROM; }
-    }
-
-    // outlier rejection
-    if (FALSE && FlagOutlier && (measure[k].dbFlags & ID_MEAS_POOR_ASTROM)) {
-      continue;
-    }
-
-    R[N] = Ri;
-    D[N] = Di;
-
-    // measure[k].t is UNIX seconds, T2000 is UNIX seconds for J2000.
-    // T[] is time in years since J2000 (jd = 2451545)
-    T[N] = (measure[k].t - T2000) / (86400*365.25) ; // time relative to J2000 in years
-
-    // dX, dY : error in arcsec -- 
-    dX[N] = GetAstromErrorTiny (&measure[k], ERROR_MODE_RA);
-    dY[N] = GetAstromErrorTiny (&measure[k], ERROR_MODE_DEC);
-
-    // allow a given photcode or measurement to be
-    // ignored if the error is NAN (for photcode, set astromErrSys to NaN)
-    if (isnan(dX[N])) continue;
-    if (isnan(dY[N])) continue;
-
-    // add systematic error in quadrature, if desired
-    // only do this after the fit has converged (or you will never improve the poor images)
-    // if (INCLUDE_SYS_ERR) {
-    // float dRsys = FromShortPixels(measure[k].dRsys);
-    // dX[N] = hypot(dX[N], dRsys);
-    // dY[N] = hypot(dY[N], dRsys);
-    // }
-
-    // dX[N] = 0.1;
-    // dY[N] = 0.1;
-
-    dT[N] = measure[k].dt;
-
-    // XXX this is (slightly) inconsistent: dX,dY are the X and Y direction errors in
-    // arcseconds.  dR, dD are the errors in those directions in degrees.  IF we have
-    // non-circular errors (different values for X and Y), then dR and dD will be
-    // incorrect: they would need to be rotated to take out the position angle
-    dR[N] = dX[N] / 3600.0;
-    dD[N] = dY[N] / 3600.0;
-
-    if (setRefColor) {
-      float colorBlue = getColorBlue (m+k, i);
-      if (!isnan(colorBlue)) {
-	C_blue[NcBlue] = colorBlue;
-	NcBlue++;
-      }
-      float colorRed = getColorRed (m+k, i);
-      if (!isnan(colorRed)) {
-	C_red[NcRed] = colorRed;
-	NcRed++;
-      }
-    }
-
-    measure[k].dbFlags |= ID_MEAS_USED_OBJ;
-    if (measureBig) { measureBig[k].dbFlags |= ID_MEAS_USED_OBJ; }
-
-    N++;
-  } // loop over measurements : average[0].Nmeasure 
-
-  if (N < 1) { 
+  // select the measurements to be used in this analysis
+  UpdateObjects_SelectMeasures (fitStats, average, secfilt, measure, measureBig, FALSE);
+
+  // if there are no exposure detections, use the stack position
+  if (fitStats->Npoints < 1) { 
     if (isfinite(average[0].Rstk) && isfinite(average[0].Dstk)) {
       average[0].R  = average[0].Rstk;
@@ -301,44 +127,16 @@
       average[0].dR = average[0].dRstk;
       average[0].dD = average[0].dDstk;
+      average[0].flags |= ID_STACK_ASTROM;
     }
     return FALSE;
   }
 
-  // if we have too few good detections for the desired fit, or too limited a
-  // baseline, use a fit with fewer parameters.  XXX if we have too few measurements
-  // for even the average position, consider including the lower-quality detections?
-
-  // find Tmin & Tmax from the list of accepted measurements
-  double Tmean = 0.0;
-  double Tmin = T[0];
-  double Tmax = T[0];
-  for (k = 0; k < N; k++) {
-    Tmin = MIN(Tmin, T[k]);
-    Tmax = MAX(Tmax, T[k]);
-    Tmean += T[k];
-  }
-  double Trange = Tmax - Tmin;
-
-  if (RELASTRO_OP == OP_HIGH_SPEED) {
-    Tmean = 0.5*(Tmax - Tmin);
-  } else {
-    Tmean /= (float) N;
-  }
-
-  /* we need to do the fit in a locally linear space; choose a ref coordinate */
-  coords.crval1 = R[0];
-  coords.crval2 = D[0];
+  double Tmean, Trange, parRange;
+  FitAstromPoints_Project (fitStats, &Tmean, &Trange, &parRange);
 
   // to judge the quality of the PM and PAR fits, we need to fit all three models and compare Chisq
 
-  // project all of the R,D coordinates to a plane centered on this coordinate. set
-  // the times to be relative to Tmean (this is required for parallax as well)
-  for (k = 0; k < N; k++) {
-    RD_to_XY (&X[k], &Y[k], R[k], D[k], &coords);
-    T[k] -= Tmean;
-    if (XVERB) {
-      fprintf (stderr, OFF_T_FMT" %f %f %f  %f %f +/- %f %f\n",  k, T[k], R[k], D[k], X[k], Y[k], dX[k], dY[k]);
-    }
-  }	  
+  // if we have too few good detections for the desired fit, or too limited a baseline,
+  // use a fit with fewer parameters.
 
   // *** first fit for the proper motion (skip fit if Trange or Npts is too small) ***
@@ -346,20 +144,31 @@
     if (Trange < PM_DT_MIN) {
       mode = FIT_AVERAGE;
-      goto skipPM;
-    }
-    if (N <= PM_TOOFEW) {
+      goto justPosition;
+    }
+    if (fitStats->Npoints <= PM_TOOFEW) {
       mode = FIT_AVERAGE;
-      goto skipPM;
-    }
-
-    FitPM (&fitPM, X, dX, Y, dY, T, N, XVERB);
-
-    if (XVERB) fprintf (stderr, "fitted PM:  %f - %f : %f %f : %f %f : %f vs %f\n", Tmin, Tmax, fitPM.Ro, fitPM.Do, fitPM.uR, fitPM.uD, fitPM.chisq, fitAve.chisq);
+      goto justPosition;
+    }
+
+    if (fitStats->NfitAlloc == 1) {
+      // if N_BOOTSTRAP_SAMPLES = 1, no bootstrap resampling:
+      FitPM (&fitPM, fitStats->fitdataPM, fitStats->points, fitStats->Npoints);
+    } else {
+      fitStats->Nfit = 0;
+      for (k = 0; k < fitStats->NfitAlloc; k++) {
+	BootstrapResample (fitStats->sample, fitStats->points, fitStats->Npoints);
+	if (!FitPM (&fitStats->fit[k], fitStats->fitdataPM, fitStats->sample, fitStats->Npoints)) continue;
+	fitStats->Nfit ++;
+      }
+      BootstrapRobustStats (&fitPM, fitStats->fit, fitStats->Nfit, FIT_RESULT_RA);
+      BootstrapRobustStats (&fitPM, fitStats->fit, fitStats->Nfit, FIT_RESULT_DEC);
+      BootstrapRobustStats (&fitPM, fitStats->fit, fitStats->Nfit, FIT_RESULT_uR);
+      BootstrapRobustStats (&fitPM, fitStats->fit, fitStats->Nfit, FIT_RESULT_uD);
+    }
+    FitAstromSetChisq (&fitPM, fitStats->points, fitStats->Npoints, FIT_PM_ONLY);
 
     // project Ro, Do back to RA,DEC
-    XY_to_RD (&fitPM.Ro, &fitPM.Do, fitPM.Ro, fitPM.Do, &coords);
-    if (XVERB) fprintf (stderr, "project: %f %f : %f %f : %f\n", fitPM.Ro, fitPM.Do, fitPM.uR, fitPM.uD, fitPM.p);
+    XY_to_RD (&fitPM.Ro, &fitPM.Do, fitPM.Ro, fitPM.Do, &fitStats->coords);
     if (fabs(fitPM.Ro) < 0.01) fprintf (stderr, "watch out for 0,360 boundary\n");
-    // XXX : does this make sense at 0,360 boundary?
 
     fitPM.p  = fitPM.dp  = 0.0;
@@ -374,84 +183,119 @@
   }
   
-skipPM:
   // fit the parallax + proper-motion model
   // NOTE : we only fit PAR if we have already fitted for proper motion. if we do not fit PM or we fail
   // to fit PM, we do not attempt PAR.  thus failure to fit PAR falls back to PM-only
   if (mode == FIT_PM_AND_PAR) {
-    if (Trange < PM_DT_MIN) {
-      mode = FIT_PM_ONLY;
-      goto skipPAR;
-    }
-    if (N <= PAR_TOOFEW) {
-      mode = FIT_PM_ONLY;
-      goto skipPAR;
-    }
-    float pXmin = +2.0;
-    float pXmax = -2.0;
-    float pYmin = +2.0;
-    float pYmax = -2.0;
-    for (k = 0; k < N; k++) {
-      ParFactor (&pX[k], &pY[k], R[k], D[k], T[k], Tmean);
-      pXmin = MIN (pXmin, pX[k]);
-      pXmax = MAX (pXmax, pX[k]);
-      pYmin = MIN (pYmin, pY[k]);
-      pYmax = MAX (pYmax, pY[k]);
-    }
-    float dXRange = pXmax - pXmin;
-    float dYRange = pYmax - pYmin;
-    float parRange = hypot (dXRange, dYRange);
-	
     if (parRange < PAR_FACTOR_MIN) {
       mode = FIT_PM_ONLY;
-      goto skipPAR;
-    }
-
-    FitPMandPar (&fitPAR, X, dX, Y, dY, T, pX, pY, N, XVERB);
-    if (XVERB) fprintf (stderr, "fitted PM+PAR:  %f - %f : %f %f : %f %f : %f %f : %f vs %f vs %f\n", Tmin, Tmax, fitPAR.Ro, fitPAR.Do, fitPAR.uR, fitPAR.uD, fitPAR.p, fitPAR.dp, fitPAR.chisq, fitPM.chisq, fitAve.chisq);
-
-    XY_to_RD (&fitPAR.Ro, &fitPAR.Do, fitPAR.Ro, fitPAR.Do, &coords);
+      goto justPosition;
+    }
+    if (fitStats->Npoints <= PAR_TOOFEW) {
+      mode = FIT_PM_ONLY;
+      goto justPosition;
+    }
+
+    if (fitStats->NfitAlloc == 1) {
+      // if N_BOOTSTRAP_SAMPLES = 1, no bootstrap resampling:
+      FitPMandPar (&fitPar, fitStats->fitdataPar, fitStats->points, fitStats->Npoints);
+    } else {
+      fitStats->Nfit = 0;
+      for (k = 0; k < fitStats->NfitAlloc; k++) {
+	BootstrapResample (fitStats->sample, fitStats->points, fitStats->Npoints);
+	FitPMandPar (&fitStats->fit[k], fitStats->fitdataPar, fitStats->sample, fitStats->Npoints);
+	fitStats->Nfit ++;
+      }
+      BootstrapRobustStats (&fitPar, fitStats->fit, fitStats->Nfit, FIT_RESULT_RA);
+      BootstrapRobustStats (&fitPar, fitStats->fit, fitStats->Nfit, FIT_RESULT_DEC);
+      BootstrapRobustStats (&fitPar, fitStats->fit, fitStats->Nfit, FIT_RESULT_uR);
+      BootstrapRobustStats (&fitPar, fitStats->fit, fitStats->Nfit, FIT_RESULT_uD);
+      BootstrapRobustStats (&fitPar, fitStats->fit, fitStats->Nfit, FIT_RESULT_PLX);
+    }
+    FitAstromSetChisq (&fitPar, fitStats->points, fitStats->Npoints, FIT_PM_AND_PAR);
+
+    // project Ro, Do back to RA,DEC
+    XY_to_RD (&fitPar.Ro, &fitPar.Do, fitPar.Ro, fitPar.Do, &fitStats->coords);
+    if (fabs(fitPar.Ro) < 0.01) fprintf (stderr, "watch out for 0,360 boundary\n");
+
     average[0].flags |= ID_STAR_FIT_PAR;
     fitStats->Npar ++;
 
-    if (fabs(fitPM.Ro) < 0.01) fprintf (stderr, "watch out for 0,360 boundary\n");
-
     // XXX a hard-wired hack...
-    if ((fabs(fitPAR.uR) > 2.0) || (fabs(fitPAR.uD) > 2.0)) {
+    if ((fabs(fitPar.uR) > 2.0) || (fabs(fitPar.uD) > 2.0)) {
       mode = FIT_PM_ONLY;
     }
   }	  
 
-skipPAR:
+justPosition:
   {
-    // ALWAYS fit the average model
-    StatType statsR, statsD;
-    liststats_pos (X, dX, N, &statsR, XVERB); // WARNING: this function modifies R (do not use after here)
-    liststats_pos (Y, dY, N, &statsD, XVERB); // WARNING: this function modifies D (do not use after here)
+    // use bootstrap resampling to check the error distribution
+    // if we only have one point, this is silly...
+    
+    if (fitStats->NfitAlloc == 1) {
+      FitAstromResultSetPM (&fitPos, 1, average);
+      FitPosPMfixed (&fitPos, fitStats->fitdataPos, fitStats->points, fitStats->Npoints);
+    } else {
+      fitStats->Nfit = 0;
+      FitAstromResultSetPM (fitStats->fit, fitStats->NfitAlloc, average);
+      for (k = 0; k < fitStats->NfitAlloc; k++) {
+	BootstrapResample (fitStats->sample, fitStats->points, fitStats->Npoints);
+	FitPosPMfixed (&fitStats->fit[k], fitStats->fitdataPos, fitStats->sample, fitStats->Npoints);
+	fitStats->Nfit ++;
+      }
+      BootstrapRobustStats (&fitPos, fitStats->fit, fitStats->Nfit, FIT_RESULT_RA);
+      BootstrapRobustStats (&fitPos, fitStats->fit, fitStats->Nfit, FIT_RESULT_DEC);
+    }
+    FitAstromSetChisq (&fitPos, fitStats->points, fitStats->Npoints, FIT_AVERAGE);
 
     // project Ro, Do back to RA,DEC
-    XY_to_RD (&fitAve.Ro, &fitAve.Do, statsR.mean, statsD.mean, &coords);
-    if (XVERB) fprintf (stderr, "average: %f %f\n", fitAve.Ro, fitAve.Do);
-
-    fitAve.dRo = statsR.sigma;
-    fitAve.dDo = statsD.sigma;
-
-    fitAve.chisq = (N > 1) ? 0.5 * (statsR.chisq + statsD.chisq) : NAN;
-    fitAve.Nfit = N;
-
-    fitAve.uR = fitAve.duR = 0.0;
-    fitAve.uD = fitAve.duD = 0.0;
-    fitAve.p  = fitAve.dp  = 0.0;
+    XY_to_RD (&fitPos.Ro, &fitPos.Do, fitPos.Ro, fitPos.Do, &fitStats->coords);
     average[0].flags |= ID_STAR_FIT_AVE;
     fitStats->Nave ++;
   }
 
+  // update the bit flags of which points were used
+  for (k = 0; k < fitStats->Npoints; k++) {
+    int Nm = fitStats->points[k].measure;
+    myAssert (Nm >= 0, "oops");
+    measure[Nm].dbFlags |= ID_MEAS_USED_OBJ;
+    if (measureBig) { measureBig[Nm].dbFlags |= ID_MEAS_USED_OBJ; }
+  }
+
+  // we can set the star reference-image color only if we have loaded the image data
+  int setRefColor = areImagesMatched();
   if (setRefColor) {
+    float *C_blue = NULL;
+    float *C_red = NULL;
+    ALLOCATE (C_blue, float, fitStats->Npoints);
+    ALLOCATE (C_red, float, fitStats->Npoints);
+
+    int NcBlue = 0;
+    int NcRed = 0;
+
+    for (k = 0; k < fitStats->Npoints; k++) {
+      int Nm = fitStats->points[k].measure;
+      float colorBlue = getColorBlue (measOff + Nm, cat);
+      if (!isnan(colorBlue)) {
+	C_blue[NcBlue] = colorBlue;
+	NcBlue++;
+      }
+      float colorRed = getColorRed (measOff + Nm, cat);
+      if (!isnan(colorRed)) {
+	C_red[NcRed] = colorRed;
+	NcRed++;
+      }
+    }
+
+    // need to reassign here if isfinite()
     float colorMedian;
-    dsort (C_blue, NcBlue);
+    fsort (C_blue, NcBlue);
     colorMedian = (NcBlue > 0) ? C_blue[(int)(0.5*NcBlue)] : NAN;
     average[0].refColorBlue = colorMedian;
-    dsort (C_red, NcRed);
+    fsort (C_red, NcRed);
     colorMedian = (NcRed > 0) ? C_red[(int)(0.5*NcRed)] : NAN;
     average[0].refColorRed = colorMedian;
+
+    free (C_blue);
+    free (C_red);
   }
 
@@ -459,9 +303,11 @@
   // XXXX for now, just use the mode as the result:
   int result = mode;
+  FitAstromResult fit;
+  FitAstromResultInit (&fit);
 
   switch (result) {
     case FIT_AVERAGE:
       average[0].flags |= ID_STAR_USE_AVE;
-      fit = fitAve;
+      fit = fitPos;
       break;
     case FIT_PM_ONLY:
@@ -471,5 +317,5 @@
     case FIT_PM_AND_PAR:
       average[0].flags |= ID_STAR_USE_PAR;
-      fit = fitPAR;
+      fit = fitPar;
       break;
   }
@@ -503,19 +349,19 @@
 
   // what is the offset relative to the mean fit position?
-  coords.crval1 = average[0].R;
-  coords.crval2 = average[0].D;
-  if (isnan(coords.crval1)) {
+  fitStats->coords.crval1 = average[0].R;
+  fitStats->coords.crval2 = average[0].D;
+  if (isnan(fitStats->coords.crval1)) {
     return (FALSE);
   }
-  if (isnan(coords.crval2)) {
+  if (isnan(fitStats->coords.crval2)) {
     return (FALSE);
   }
 
   double dXoff, dYoff;
-  RD_to_XY (&dXoff, &dYoff, fit.Ro, fit.Do, &coords);
+  RD_to_XY (&dXoff, &dYoff, fit.Ro, fit.Do, &fitStats->coords);
   float dPos = hypot (dXoff, dYoff);
   if (dPos > MaxMeanOffset) {
     if (fitStats->Noffset < 100) {
-      fprintf (stderr, "(%f,%f) -> (%f,%f) (%f,%f)\n", coords.crval1, coords.crval2, fit.Ro, fit.Do, dXoff, dYoff);
+      fprintf (stderr, "(%f,%f) -> (%f,%f) (%f,%f)\n", fitStats->coords.crval1, fitStats->coords.crval2, fit.Ro, fit.Do, dXoff, dYoff);
     }
     fitStats->Noffset ++;
@@ -531,5 +377,5 @@
 		      average[0].uR,
 		      average[0].uD,
-		      fitAve.chisq, fitPM.chisq, fitPAR.chisq);
+		      fitPos.chisq, fitPM.chisq, fitPar.chisq);
 
   average[0].R  	= fit.Ro; // RA in degrees
@@ -546,9 +392,9 @@
   average[0].dP         = fit.dp; // parallax error in arcsec
 
-  average[0].ChiSqAve   = fitAve.chisq;
+  average[0].ChiSqAve   = fitPos.chisq;
   average[0].ChiSqPM    = fitPM.chisq;
-  average[0].ChiSqPar   = fitPAR.chisq;
-
-  average[0].Tmean      = (Tmean * 86400 * 365.25) + T2000;
+  average[0].ChiSqPar   = fitPar.chisq;
+
+  average[0].Tmean      = (Tmean * 86400 * 365.25) + fitStats->T2000;
   average[0].Trange     = (Trange * 86400 * 365.25);
   average[0].Npos       = fit.Nfit;
@@ -563,6 +409,4 @@
 // be called with just MeasureTiny set and Measure == NULL
 int UpdateObjects_Stack (Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int Nsecfilt, FitStats *fitStats) {
-
-  off_t k;
 
   // set the default values
@@ -573,11 +417,8 @@
 
   /* calculate the average value of R,D for a single star */
-  PMFit fitAve;
-  memset (&fitAve, 0, sizeof(fitAve));
-  fitAve.chisq = NAN;
+  FitAstromResult fitPos;
+  FitAstromResultInit (&fitPos);
 
   if (average[0].Nmeasure == 0) return TRUE;
-
-  int N = 0;
 
   int XVERB = FALSE;
@@ -585,17 +426,107 @@
   XVERB |= (average[0].objID == OBJ_ID_DST) && (average[0].catID == CAT_ID_DST);
 
+  // select the measurements to be used in this analysis
+  UpdateObjects_SelectMeasures (fitStats, average, secfilt, measure, measureBig, TRUE);
+
+  // too few measurements for average position (require 2 values)
+  if (fitStats->Npoints < 1) return FALSE; // XXX ?? 
+  
+  double Tmean, Trange, parRange;
+  FitAstromPoints_Project (fitStats, &Tmean, &Trange, &parRange);
+
+  FitPosPMfixed (&fitPos, fitStats->fitdataPos, fitStats->points, fitStats->Npoints);
+  FitAstromSetChisq (&fitPos, fitStats->points, fitStats->Npoints, FIT_AVERAGE);
+
+  // project Ro, Do back to RA,DEC
+  XY_to_RD (&fitPos.Ro, &fitPos.Do, fitPos.Ro, fitPos.Do, &fitStats->coords);
+
+  // XXX choose stack flag? average[0].flags |= ID_STAR_FIT_AVE;
+  fitStats->Nave ++;
+
+  if (XVERB) fprintf (stderr, "%f %f -> %f %f (%f,%f)\n",
+		      average[0].R, 
+		      average[0].D, 
+		      fitPos.Ro, fitPos.Do, 
+		      3600*(average[0].R - fitPos.Ro), 
+		      3600*(average[0].D - fitPos.Do));
+
+  // make sure that the fit succeeded
+  int status = TRUE;
+  status &= finite(fitPos.Ro);
+  status &= finite(fitPos.Do);
+  status &= finite(fitPos.dRo);
+  status &= finite(fitPos.dDo);
+  if (!status) {
+    fitStats->Nskip ++;
+    return FALSE;
+  }
+
+  // what is the offset relative to the mean fit position?
+  fitStats->coords.crval1 = average[0].R;
+  fitStats->coords.crval2 = average[0].D;
+
+  double dXoff, dYoff;
+  RD_to_XY (&dXoff, &dYoff, fitPos.Ro, fitPos.Do, &fitStats->coords);
+  float dPos = hypot (dXoff, dYoff);
+  if (dPos > MaxMeanOffset) {
+    if (fitStats->Noffset < 100) {
+      fprintf (stderr, "(%f,%f) -> (%f,%f) (%f,%f)\n", fitStats->coords.crval1, fitStats->coords.crval2, fitPos.Ro, fitPos.Do, dXoff, dYoff);
+    }
+    fitStats->Noffset ++;
+    return FALSE;
+  }
+
+  // set the stack position values
+  average[0].Rstk  = fitPos.Ro; // RA in degrees
+  average[0].Dstk  = fitPos.Do; // DEC in degrees
+  average[0].dRstk = fitPos.dRo; // RA scatter in arcsec
+  average[0].dDstk = fitPos.dDo; // DEC scatter in arcsec
+
+  return (TRUE);
+}
+
+int UpdateObjects_SelectMeasures (FitStats *fit, Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int isStack) {
+
+  // I've already allocated fit->points (and fit->sample) with space for fit->NpointsAlloc entries
+
+  int has2MASS = FALSE;
+
+  int Npoints = fit->Npoints = 0;
+  FitAstromPoint *points = fit->points;
+
+  int TESTPT2 = FALSE;
+  TESTPT2 |= CAT_ID_SRC && OBJ_ID_SRC && (average[0].catID == CAT_ID_SRC) && (average[0].objID == OBJ_ID_SRC);
+  TESTPT2 |= CAT_ID_DST && OBJ_ID_DST && (average[0].catID == CAT_ID_DST) && (average[0].objID == OBJ_ID_DST);
+  if (TESTPT2) {
+    fprintf (stderr, "got test det\n");
+  }
+
   // find the basic properties of the detections for this object (Tmin, Tmax, Tmean)
+  off_t k;
   for (k = 0; k < average[0].Nmeasure; k++) {
 
-    if (XVERB) {
+    if (0) {
       char *date = ohana_sec_to_date (measure[k].t);
       int dbFlagsBig = measureBig ? measureBig[k].dbFlags : 0;
-      fprintf (stderr, "stack: "OFF_T_FMT" %f %f %s : 0x%08x : 0x%08x\n",  k, measure[k].R, measure[k].D, date, measure[k].dbFlags, dbFlagsBig);
+      fprintf (stderr, OFF_T_FMT" %f %f %s : 0x%08x : 0x%08x\n",  k, measure[k].R, measure[k].D, date, measure[k].dbFlags, dbFlagsBig);
       free (date);
     }
 
-    // SKIP everything except gpc1 stack data
-    if (!isGPC1stack(measure[k].photcode)) continue;
-
+    // SKIP gpc1 forced-warp data
+    if (isGPC1warp(measure[k].photcode)) continue;
+
+    // SKIP gpc1 stack data
+    if (isStack) {
+      if (!isGPC1stack(measure[k].photcode)) continue;
+    } else {
+      if ( isGPC1stack(measure[k].photcode)) continue;
+    }
+
+    // reset the bit to note that a detection was used (or not)
+    measure[k].dbFlags &= ~ID_MEAS_USED_OBJ;
+    if (measureBig) { measureBig[k].dbFlags &= ~ID_MEAS_USED_OBJ; }
+
+    // does the measurement pass the supplied filtering constraints?
+    // MeasFilterTestTiny does not test psfQF
     // exclude bad detections based on: photcodes, psfQF, time range, photflags & astromBadMask, mag_inst
     int keepMeasure = measureBig ? MeasFilterTest(&measureBig[k], FALSE) : MeasFilterTestTiny(&measure[k], FALSE);
@@ -604,121 +535,304 @@
     }
 
-    R[N] = getMeanR (&measure[k], average, secfilt);
-    D[N] = getMeanD (&measure[k], average, secfilt);
-
-    // dX, dY : error in arcsec -- 
-    dX[N] = GetAstromErrorTiny (&measure[k], ERROR_MODE_RA);
-    dY[N] = GetAstromErrorTiny (&measure[k], ERROR_MODE_DEC);
+    double Ri = measure[k].R;
+    double Di = measure[k].D;
+
+    // mark (as POOR) any measurements which are deviant from the mean by > ExcludeBogusRadius
+    if (ExcludeBogus) {
+      fit->coords.crval1 = average[0].R;
+      fit->coords.crval2 = average[0].D;
+      double Xi, Yi;
+      RD_to_XY (&Xi, &Yi, Ri, Di, &fit->coords);
+      double radius = hypot(Xi, Yi);
+      if (radius > ExcludeBogusRadius) {
+	measure[k].dbFlags |= ID_MEAS_POOR_ASTROM;
+	if (measureBig) { measureBig[k].dbFlags |= ID_MEAS_POOR_ASTROM; }
+	continue;
+      }
+      measure[k].dbFlags &= ~ID_MEAS_POOR_ASTROM;
+      if (measureBig) { measureBig[k].dbFlags &= ~ID_MEAS_POOR_ASTROM; }
+    }
+
+    // outlier rejection
+    if (FALSE && FlagOutlier && (measure[k].dbFlags & ID_MEAS_POOR_ASTROM)) {
+      continue;
+    }
+
+    FitAstromPointInit (&points[Npoints]);
+
+    points[Npoints].R = Ri;
+    points[Npoints].D = Di;
+
+    // measure[k].t is UNIX seconds, T2000 is UNIX seconds for J2000.
+    // T[] is time in years since J2000 (jd = 2451545)
+    points[Npoints].T = (measure[k].t - fit->T2000) / (86400*365.25) ; // time relative to J2000 in years
+
+    // add measured systematic error in quadrature?  only do this after the fit has
+    // converged (or you will never improve the poor images)
+
+    // dX,dY are the X and Y direction errors in arcseconds.  dR, dD are the errors in
+    // those directions in degrees.  IF we have non-circular errors (different values for
+    // X and Y), then dR and dD will be incorrect: they would need to be rotated to take
+    // out the position angle
+
+    // dX, dY : error in arcsec:
+    points[Npoints].dX = GetAstromErrorTiny (&measure[k], ERROR_MODE_RA);
+    points[Npoints].dY = GetAstromErrorTiny (&measure[k], ERROR_MODE_DEC);
 
     // allow a given photcode or measurement to be
     // ignored if the error is NAN (for photcode, set astromErrSys to NaN)
-    if (isnan(dX[N])) continue;
-    if (isnan(dY[N])) continue;
-
-    // XXX this is (slightly) inconsistent: dX,dY are the X and Y direction errors in
-    // arcseconds.  dR, dD are the errors in those directions in degrees.  IF we have
-    // non-circular errors (different values for X and Y), then dR and dD will be
-    // incorrect: they would need to be rotated to take out the position angle
-    dR[N] = dX[N] / 3600.0;
-    dD[N] = dY[N] / 3600.0;
-
-    // XXX use a different flag for stack measurements?
-    // measure[k].dbFlags |= ID_MEAS_USED_OBJ;
-    // if (measureBig) { measureBig[k].dbFlags |= ID_MEAS_USED_OBJ; }
-
-    N++;
+    if (isnan(points[Npoints].dX)) continue;
+    if (isnan(points[Npoints].dY)) continue;
+
+    points[Npoints].dT = measure[k].dt;
+
+    points[Npoints].measure = k;
+    Npoints++;
+
+    if ((measure[k].photcode >= 2011) && (measure[k].photcode <= 2013)) {
+      has2MASS = TRUE;
+    }
+
+    myAssert (Npoints <= fit->NpointsAlloc, "oops");
   } // loop over measurements : average[0].Nmeasure 
 
-  // if we have too few good detections for the desired fit, or too limited a
-  // baseline, use a fit with fewer parameters.  XXX if we have too few measurements
-  // for even the average position, consider including the lower-quality detections?
-
-  // too few measurements for average position (require 2 values)
-  if (N < 1) return FALSE; // XXX ?? 
-
-  // find the mean position
-  StatType statsR, statsD;
-  liststats_pos (R, dR, N, &statsR, XVERB); // WARNING: this function modifies R (do not use after here)
-  liststats_pos (D, dD, N, &statsD, XVERB); // WARNING: this function modifies D (do not use after here)
-
-  fitAve.Ro = statsR.mean;
-  fitAve.dRo = 3600.0*statsR.sigma;
-
-  fitAve.Do = statsD.mean;
-  fitAve.dDo = 3600.0*statsD.sigma;
-
-  fitAve.chisq = 0.5 * (statsR.chisq + statsD.chisq);
-  fitAve.Nfit = N;
-
-  // XXX choose stack flag? average[0].flags |= ID_STAR_FIT_AVE;
-  fitStats->Nave ++;
-
-  if (XVERB) fprintf (stderr, "%f %f -> %f %f (%f,%f)\n",
-		      average[0].R, 
-		      average[0].D, 
-		      fitAve.Ro, fitAve.Do, 
-		      3600*(average[0].R - fitAve.Ro), 
-		      3600*(average[0].D - fitAve.Do));
-
-  // make sure that the fit succeeded
-  int status = TRUE;
-  status &= finite(fitAve.Ro);
-  status &= finite(fitAve.Do);
-  status &= finite(fitAve.dRo);
-  status &= finite(fitAve.dDo);
-  if (!status) {
-    fitStats->Nskip ++;
-    return FALSE;
-  }
-
-  // what is the offset relative to the mean fit position?
-  coords.crval1 = average[0].R;
-  coords.crval2 = average[0].D;
-
-  double dXoff, dYoff;
-  RD_to_XY (&dXoff, &dYoff, fitAve.Ro, fitAve.Do, &coords);
-  float dPos = hypot (dXoff, dYoff);
-  if (dPos > MaxMeanOffset) {
-    if (fitStats->Noffset < 100) {
-      fprintf (stderr, "(%f,%f) -> (%f,%f) (%f,%f)\n", coords.crval1, coords.crval2, fitAve.Ro, fitAve.Do, dXoff, dYoff);
-    }
-    fitStats->Noffset ++;
-    return FALSE;
-  }
-
-  // set the stack position values
-  average[0].Rstk  = fitAve.Ro; // RA in degrees
-  average[0].Dstk  = fitAve.Do; // DEC in degrees
-  average[0].dRstk = fitAve.dRo; // RA scatter in arcsec
-  average[0].dDstk = fitAve.dDo; // DEC scatter in arcsec
-
+  int TESTPT = FALSE;
+  TESTPT |= CAT_ID_SRC && OBJ_ID_SRC && (average[0].catID == CAT_ID_SRC) && (average[0].objID == OBJ_ID_SRC);
+  TESTPT |= CAT_ID_DST && OBJ_ID_DST && (average[0].catID == CAT_ID_DST) && (average[0].objID == OBJ_ID_DST);
+  if (TESTPT) {
+    fprintf (stderr, "got test det\n");
+  }
+  
+  // XXX flag measurements from stars with 2MASS 
+  for (k = 0; k < average[0].Nmeasure; k++) {
+    // reset the bit to note that a detection was used (or not)
+    if (has2MASS) {
+      measure[k].dbFlags |=  ID_MEAS_OBJECT_HAS_2MASS;
+    } else {
+      measure[k].dbFlags &= ~ID_MEAS_OBJECT_HAS_2MASS;
+    }
+  }
+
+  fit->Npoints = Npoints;
+  return TRUE;
+}
+
+int FitAstromPoints_Project (FitStats *fitStats, double *Tmean, double *Trange, double *parRange) {
+
+  int k;
+
+  int Npoints = fitStats->Npoints;
+  FitAstromPoint *points = fitStats->points;
+
+  // find Tmin & Tmax from the list of accepted measurements
+  double Tmin  = points[0].T;
+  double Tmax  = points[0].T;
+  double pRmin = +2.0;
+  double pRmax = -2.0;
+  double pDmin = +2.0;
+  double pDmax = -2.0;
+
+  *Tmean = 0.0;
+
+  double Tsum = 0.0;
+  double Wsum = 0.0;
+  for (k = 0; k < Npoints; k++) {
+    Tmin = MIN(Tmin, points[k].T);
+    Tmax = MAX(Tmax, points[k].T);
+
+    float wx = 1.0 / SQ(points[k].dX);
+
+    Tsum += points[k].T * wx;
+    Wsum += wx;
+
+    // at this point, T is in years since J2000
+    ParFactor (&points[k].pR, &points[k].pD, points[k].R, points[k].D, points[k].T);
+    pRmin = MIN (pRmin, points[k].pR);
+    pRmax = MAX (pRmax, points[k].pR);
+    pDmin = MIN (pDmin, points[k].pD);
+    pDmax = MAX (pDmax, points[k].pD);
+  }
+  *Trange = Tmax - Tmin;
+
+  // mean epoch
+  *Tmean = Tsum / Wsum;
+
+  // for HIGH_SPEED, just use the center of the range
+  if (RELASTRO_OP == OP_HIGH_SPEED) {
+    *Tmean = 0.5*(Tmax - Tmin);
+  }
+
+  *parRange = hypot (pRmax - pRmin, pDmax - pDmin);
+
+  /* we need to do the fit in a locally linear space; choose a ref coordinate */
+  fitStats->coords.crval1 = points[0].R;
+  fitStats->coords.crval2 = points[0].D;
+
+  // project all of the R,D coordinates to a plane centered on this coordinate. set
+  // the times to be relative to Tmean
+  for (k = 0; k < Npoints; k++) {
+    RD_to_XY (&points[k].X, &points[k].Y, points[k].R, points[k].D, &fitStats->coords);
+    points[k].T -= *Tmean;
+  }	  
+  return TRUE;
+}
+
+int CatalogMaxNmeasure (Catalog *catalog, int Ncatalog) {
+
+  int i, j;
+
+  int Nmax = 0;
+  for (i = 0; i < Ncatalog; i++) {
+    for (j = 0; j < catalog[i].Naverage; j++) {
+      Nmax = MAX (Nmax, catalog[i].average[j].Nmeasure);
+    }
+  }
+  return Nmax;
+}
+
+int BootstrapResample (FitAstromPoint *sample, FitAstromPoint *points, int Npoints) {
+  int i;
+
+  // I need to draw Npoints random entries from 'points' with replacement:
+  for (i = 0; i < Npoints; i++) {
+    int N = Npoints * drand48();
+    sample[i] = points[N];
+  }
+  return TRUE;
+}
+
+// calculate mean and sigma points for the 5 fit parameter
+int BootstrapRobustStats (FitAstromResult *result, FitAstromResult *fit, int Nfit, int mode) {
+
+  // generate a histogram for the selected element
+  double *values = NULL;
+  ALLOCATE (values, double, Nfit);
+  
+  int i;
+
+  for (i = 0; i < Nfit; i++) {
+    switch (mode) {
+      case FIT_RESULT_RA:
+	values[i] = fit[i].Ro;
+	break;
+      case FIT_RESULT_DEC:
+	values[i] = fit[i].Do;
+	break;
+      case FIT_RESULT_uR:
+	values[i] = fit[i].uR;
+	break;
+      case FIT_RESULT_uD:
+	values[i] = fit[i].uD;
+	break;
+      case FIT_RESULT_PLX:
+	values[i] = fit[i].p;
+	break;
+      default:
+	myAbort ("invalid option");
+    }
+  }
+
+  dsort (values, Nfit);
+
+  double median;
+  if (Nfit % 2) {
+    int Ncenter = Nfit / 2;
+    median = values[Ncenter];
+  } else {
+    int Ncenter = Nfit / 2 - 1;
+    median = 0.5*(values[Ncenter] + values[Ncenter + 1]);
+  }
+
+  double Slo = VectorFractionInterpolate (values, 0.158655, Nfit);
+  double Shi = VectorFractionInterpolate (values, 0.841345, Nfit);
+  double sigma = (Shi - Slo) / 2.0;
+
+  switch (mode) {
+    case FIT_RESULT_RA:
+      result->Ro = median;
+      result->dRo = sigma;
+      break;
+    case FIT_RESULT_DEC:
+      result->Do = median;
+      result->dDo = sigma;
+      break;
+    case FIT_RESULT_uR:
+      result->uR = median;
+      result->duR = sigma;
+      break;
+    case FIT_RESULT_uD:
+      result->uD = median;
+      result->duD = sigma;
+      break;
+    case FIT_RESULT_PLX:
+      result->p = median;
+      result->dp = sigma;
+      break;
+    default:
+      myAbort ("invalid option");
+  }
+
+  return TRUE;
+}
+
+double VectorFractionInterpolate (double *values, float fraction, int Npts) {
+
+  float F = fraction * Npts;
+  int   N = fraction * Npts;
+
+  if (N < 0        ) return NAN;
+  if (N >= Npts - 2) return NAN;
+
+  // interpolate between N,N+1
+    
+  double S = (F - N) * (values[N+1] - values[N]) + values[N];
+  return S;
+}
+
+int FitAstromSetChisq (FitAstromResult *fit, FitAstromPoint *points, int Npoints, FitMode mode) {
+
+  int i;
+
+  // add up the chi square for the fit
+  double chisq = 0.0;
+  for (i = 0; i < Npoints; i++) {
+    double Xf = fit->Ro + fit->uR*points[i].T + fit->p*points[i].pR;
+    double Yf = fit->Do + fit->uD*points[i].T + fit->p*points[i].pD;
+    chisq += SQ(points[i].X - Xf) / SQ(points[i].dX);
+    chisq += SQ(points[i].Y - Yf) / SQ(points[i].dY);
+  }
+  switch (mode) {
+    case FIT_AVERAGE:
+      fit->chisq = chisq / (2.0*Npoints - 2.0);
+      break;
+    case FIT_PM_ONLY:
+      fit->chisq = chisq / (2.0*Npoints - 4.0);
+      break;
+    case FIT_PM_AND_PAR:
+      fit->chisq = chisq / (2.0*Npoints - 5.0);
+      break;
+    default:
+      myAbort ("invalid mode");
+  }
+  fit->Nfit = Npoints;
   return (TRUE);
 }
 
-
-
-/* fitting proper-motion and parallax:
-
-   given a source at position r,d, at a time t, we need to calculate a vector (pr,pd)
-
-   let x,y be the coordinate in the linearized frame with y parallel to DEC lines
-
-   L,B are the ecliptic longitude and latitude of the object, 
-   dL and dB are the offsets in the L and B directions
-
-   dL = sin(t - topp)
-   dB = cos(t - topp)*sin(B)
-
-   these need to be rotated to the R,D frame to yield pR,pD.  Then, the equation of motion
-   for the source in the x,y frame is:
-
-   x = Ro + uR * (t - to) + p * pR 
-   y = Do + uD * (t - to) + p * pD
-
-   the unknowns in these equations are Ro, uR, Do, uD, and p
-
-   XXX think through the concepts for the pole a bit better.  all objects near the pole 
-   move the same way with the same phase.  choose a projection center and define dL,dB relative 
-   to that center point coordinate system?
-
-*/
+int FitAstromResultSetPM (FitAstromResult *fit, int Nfit, Average *average) {
+
+  int i;
+
+  if (USE_GALAXY_MODEL) {
+    for (i = 0; i < Nfit; i++) {
+      fit->uR = average->uRgal;
+      fit->uD = average->uDgal;
+    }
+  } else {
+    for (i = 0; i < Nfit; i++) {
+      fit->uR = 0.0;
+      fit->uD = 0.0;
+    }
+  }
+
+  return TRUE;
+}
Index: /trunk/Ohana/src/relastro/src/args.c
===================================================================
--- /trunk/Ohana/src/relastro/src/args.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/args.c	(revision 38986)
@@ -253,4 +253,13 @@
   }
 
+  // If we are looking at the whole sky (or whole relevant sky), use the full image table
+  // -- this save substantial memory.  this could be automatic if the skyregion covers
+  // more than 2pi.
+  USE_ALL_IMAGES = FALSE;
+  if ((N = get_argument (argc, argv, "-use-all-images"))) {
+    remove_argument (N, &argc, argv);
+    USE_ALL_IMAGES = TRUE;
+  }
+
   USE_BASIC_CHECK = FALSE;
   if ((N = get_argument (argc, argv, "-basic-image-search"))) {
@@ -271,4 +280,15 @@
     remove_argument (N, &argc, argv);
     APPLY_OFFSETS = TRUE;
+  }
+
+  N_BOOTSTRAP_SAMPLES = 1;
+  if ((N = get_argument (argc, argv, "-bootstrap-samples"))) {
+    remove_argument (N, &argc, argv);
+    N_BOOTSTRAP_SAMPLES = atoi (argv[N]);
+    remove_argument (N, &argc, argv);
+    if ((N_BOOTSTRAP_SAMPLES < 1) || ((N_BOOTSTRAP_SAMPLES > 1) && (N_BOOTSTRAP_SAMPLES < 20))) {
+      fprintf (stderr, "-bootstrap-samples must be either 1 (no sampling) or >= 20\n");
+      exit (2);
+    }
   }
 
@@ -685,4 +705,13 @@
   }
 
+  // If we are looking at the whole sky (or whole relevant sky), use the full image table
+  // -- this save substantial memory.  this could be automatic if the skyregion covers
+  // more than 2pi.
+  USE_ALL_IMAGES = FALSE;
+  if ((N = get_argument (argc, argv, "-use-all-images"))) {
+    remove_argument (N, &argc, argv);
+    USE_ALL_IMAGES = TRUE;
+  }
+
   USE_BASIC_CHECK = FALSE;
   if ((N = get_argument (argc, argv, "-basic-image-search"))) {
@@ -697,4 +726,15 @@
     remove_argument (N, &argc, argv);
     MaxDensityUse = TRUE;
+  }
+
+  N_BOOTSTRAP_SAMPLES = 1;
+  if ((N = get_argument (argc, argv, "-bootstrap-samples"))) {
+    remove_argument (N, &argc, argv);
+    N_BOOTSTRAP_SAMPLES = atoi (argv[N]);
+    remove_argument (N, &argc, argv);
+    if ((N_BOOTSTRAP_SAMPLES < 1) || ((N_BOOTSTRAP_SAMPLES > 1) && (N_BOOTSTRAP_SAMPLES < 20))) {
+      fprintf (stderr, "-bootstrap-samples must be either 1 (no sampling) or >= 20\n");
+      exit (2);
+    }
   }
 
Index: /trunk/Ohana/src/relastro/src/assign_images.c
===================================================================
--- /trunk/Ohana/src/relastro/src/assign_images.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/assign_images.c	(revision 38986)
@@ -26,5 +26,5 @@
   char mapfile[DVO_MAX_PATH];
   snprintf (mapfile, DVO_MAX_PATH, "%s/AstroMap.fits", CATDIR);
-  AstromOffsetTable *table = AstromOffsetMapLoad (mapfile, VERBOSE);
+  AstromOffsetTable *table = AstromOffsetMapLoad (mapfile, 100000, VERBOSE);
 
   // assign images.coords.offsetMap -> table->map[i]
Index: /trunk/Ohana/src/relastro/src/bcatalog.c
===================================================================
--- /trunk/Ohana/src/relastro/src/bcatalog.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/bcatalog.c	(revision 38986)
@@ -112,7 +112,16 @@
 
     // if we want to correct to the galay model, we need to use objects with distances determined by Green & Schlafly
-    if (USE_GALAXY_MODEL && !catalog[0].average[i].Nstarpar) {
-      // we may want to add some starpar quality filters...
-      continue;
+    if (USE_GALAXY_MODEL) {
+      // if we use the galaxy model, we need to require the model pm to exist
+      if (!catalog[0].average[i].Nstarpar) continue;
+      if (!isfinite(catalog[0].average[i].uRgal)) continue;
+      if (!isfinite(catalog[0].average[i].uDgal)) continue;
+    }
+
+    int TESTPT = FALSE;
+    TESTPT |= CAT_ID_SRC && OBJ_ID_SRC && (catalog[0].average[i].catID == CAT_ID_SRC) && (catalog[0].average[i].objID == OBJ_ID_SRC);
+    TESTPT |= CAT_ID_DST && OBJ_ID_DST && (catalog[0].average[i].catID == CAT_ID_DST) && (catalog[0].average[i].objID == OBJ_ID_DST);
+    if (TESTPT) {
+      fprintf (stderr, "got test det\n");
     }
 
Index: /trunk/Ohana/src/relastro/src/high_speed_catalogs.c
===================================================================
--- /trunk/Ohana/src/relastro/src/high_speed_catalogs.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/high_speed_catalogs.c	(revision 38986)
@@ -153,4 +153,10 @@
 	      PHOTCODE_A_LIST, PHOTCODE_B_LIST, RADIUS, outputDir, table->hosts[i].hostID, CATDIR, table->hosts[i].pathname, UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax);
 
+    strextend (&command, "relastro_client -high-speed %s %s %f %s", PHOTCODE_A_LIST, PHOTCODE_B_LIST, RADIUS, outputDir);
+    strextend (&command, "-hostID %d", table->hosts[i].hostID);
+    strextend (&command, "-D CATDIR %s", CATDIR);
+    strextend (&command, "-hostdir %s", table->hosts[i].pathname);
+    strextend (&command, "-region %f %f %f %f", UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax);
+
     free (outputDir);
 
@@ -166,4 +172,5 @@
     if (MaxDensityUse) { strextend (&command, "-max-density %f", MaxDensityValue); }
     
+    if (USE_ALL_IMAGES)      { strextend (&command, "-use-all-images"); }
     if (USE_BASIC_CHECK)     { strextend (&command, "-basic-image-search"); }
     if (FlagOutlier)         { strextend (&command, "-clip %d", CLIP_THRESH); }
@@ -176,6 +183,7 @@
     // XXX note that the above pass in the flag as decimal -- also note that args.c cannot handle 0xHEX values
 
-    if (MinBadQF > 0.0)        { strextend (&command, "-min-bad-psfqf %f", MinBadQF); }
-    if (MaxMeanOffset != 10.0) { strextend (&command, "-max-mean-offset  %f", MaxMeanOffset); }
+    if (MinBadQF > 0.0)          strextend (&command, "-min-bad-psfqf %f", MinBadQF); 
+    if (MaxMeanOffset != 10.0)   strextend (&command, "-max-mean-offset  %f", MaxMeanOffset); 
+    if (N_BOOTSTRAP_SAMPLES > 1) strextend (&command, "-bootstrap-samples %d", N_BOOTSTRAP_SAMPLES); 
 
     if (WHERE_A[0]) { strextend (&command, "-D WHERE_A \"%s\"", WHERE_A); }
Index: /trunk/Ohana/src/relastro/src/high_speed_objects.c
===================================================================
--- /trunk/Ohana/src/relastro/src/high_speed_objects.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/high_speed_objects.c	(revision 38986)
@@ -270,6 +270,10 @@
 
   fprintf (stderr, "found %d matches\n", Nmatch);
-  dvo_catalog_save (&catalogOut, VERBOSE2);
-  dvo_catalog_unlock (&catalogOut);
+
+  SetProtect (TRUE);
+  if (!dvo_catalog_save (&catalogOut, VERBOSE2)) { fprintf (stderr, "ERROR: failed to save %s\n", catalogOut.filename); exit (1); }
+  if (!dvo_catalog_unlock (&catalogOut)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalogOut.filename); exit (1); }
+  SetProtect (FALSE);
+
   dvo_catalog_free (&catalogOut);
   free (slowMoving);
Index: /trunk/Ohana/src/relastro/src/hpm_catalogs.c
===================================================================
--- /trunk/Ohana/src/relastro/src/hpm_catalogs.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/hpm_catalogs.c	(revision 38986)
@@ -148,6 +148,9 @@
 
     char *command = NULL;
-    strextend (&command, "relastro_client -hpm %f %s -hostID %d -D CATDIR %s -hostdir %s -region %f %f %f %f", 
-	      RADIUS, outputDir, table->hosts[i].hostID, CATDIR, table->hosts[i].pathname, UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax);
+    strextend (&command, "relastro_client -hpm %f %s", RADIUS, outputDir);
+    strextend (&command, " -hostID %d", table->hosts[i].hostID);
+    strextend (&command, " -D CATDIR %s", CATDIR);
+    strextend (&command, " -hostdir %s", table->hosts[i].pathname);
+    strextend (&command, " -region %f %f %f %f", UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax);
 
     free (outputDir);
@@ -164,4 +167,5 @@
     if (MaxDensityUse) { strextend (&command, "-max-density %f", MaxDensityValue); }
     
+    if (USE_ALL_IMAGES)      { strextend (&command, "-use-all-images"); }
     if (USE_BASIC_CHECK)     { strextend (&command, "-basic-image-search"); }
     if (FlagOutlier)         { strextend (&command, "-clip %d", CLIP_THRESH); }
@@ -174,6 +178,7 @@
     // XXX note that the above pass in the flag as decimal -- also note that args.c cannot handle 0xHEX values
 
-    if (MinBadQF > 0.0)        { strextend (&command, "-min-bad-psfqf %f", MinBadQF); }
-    if (MaxMeanOffset != 10.0) { strextend (&command, "-max-mean-offset  %f", MaxMeanOffset); }
+    if (MinBadQF > 0.0)          strextend (&command, "-min-bad-psfqf %f", MinBadQF); 
+    if (MaxMeanOffset != 10.0)   strextend (&command, "-max-mean-offset  %f", MaxMeanOffset); 
+    if (N_BOOTSTRAP_SAMPLES > 1) strextend (&command, "-bootstrap-samples %d", N_BOOTSTRAP_SAMPLES); 
 
     if (TimeSelect) { 
Index: /trunk/Ohana/src/relastro/src/hpm_objects.c
===================================================================
--- /trunk/Ohana/src/relastro/src/hpm_objects.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/hpm_objects.c	(revision 38986)
@@ -110,6 +110,10 @@
   if (catalog[0].Naverage == Nslow) {
     fprintf (stderr, "no possible fast objects, skipping this catalog\n");
-    dvo_catalog_save (&catalogOut, VERBOSE2);
-    dvo_catalog_unlock (&catalogOut);
+
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalogOut, VERBOSE2)) { fprintf (stderr, "ERROR: failed to save %s\n", catalogOut.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalogOut)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalogOut.filename); exit (1); }
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalogOut);
     free (slowMoving);
Index: /trunk/Ohana/src/relastro/src/launch_region_hosts.c
===================================================================
--- /trunk/Ohana/src/relastro/src/launch_region_hosts.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/launch_region_hosts.c	(revision 38986)
@@ -6,5 +6,5 @@
   int i;
 
-  // do not remote the sync and fits files if we do a manual run -- user must clear if needed
+  // do not remove the sync and fits files if we do a manual run -- user must clear if needed
   if (!PARALLEL_REGIONS_MANUAL) {
     // clear the I/O files
Index: /trunk/Ohana/src/relastro/src/load_catalogs.c
===================================================================
--- /trunk/Ohana/src/relastro/src/load_catalogs.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/load_catalogs.c	(revision 38986)
@@ -163,6 +163,12 @@
 
     char *command = NULL;
-    strextend (&command, "relastro_client -load-objects %s -hostID %d -D CATDIR %s -hostdir %s -region %f %f %f %f -statmode %s -minerror %f -D RELASTRO_SIGMA_LIM %f", 
-	      table->hosts[i].results, table->hosts[i].hostID, CATDIR, table->hosts[i].pathname, UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax, STATMODE, MIN_ERROR, SIGMA_LIM);
+    strextend (&command, "relastro_client -load-objects %s", table->hosts[i].results);
+    strextend (&command, " -hostID %d", table->hosts[i].hostID);
+    strextend (&command, " -D CATDIR %s", CATDIR);
+    strextend (&command, " -hostdir %s", table->hosts[i].pathname);
+    strextend (&command, " -region %f %f %f %f", UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax);
+    strextend (&command, " -statmode %s", STATMODE);
+    strextend (&command, " -minerror %f", MIN_ERROR);
+    strextend (&command, " -D RELASTRO_SIGMA_LIM %f", SIGMA_LIM);
 
     if (FIT_MODE == FIT_PM_ONLY)  	 strextend (&command, "-pm");
@@ -188,4 +194,5 @@
     }
 
+    if (USE_ALL_IMAGES)      strextend (&command, "-use-all-images");
     if (USE_FIXED_PIXCOORDS) strextend (&command, "-D USE_FIXED_PIXCOORDS 1");
     if (PHOTCODE_KEEP_LIST)  strextend (&command, "+photcode %s", PHOTCODE_KEEP_LIST);
Index: /trunk/Ohana/src/relastro/src/load_images.c
===================================================================
--- /trunk/Ohana/src/relastro/src/load_images.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/load_images.c	(revision 38986)
@@ -7,9 +7,9 @@
  */
 
-int load_images (FITS_DB *db, SkyList *skylist, int UseFullOverlap) {
+int load_images (FITS_DB *db, SkyList *skylist, int UseFullOverlap, int UseAllImages) {
 
   Image     *image, *subset;
   off_t      Nimage, Nsubset;
-  off_t     *LineNumber;
+  off_t     *LineNumber, i;
 
   INITTIME;
@@ -29,5 +29,5 @@
   char mapfile[DVO_MAX_PATH];
   snprintf (mapfile, DVO_MAX_PATH, "%s/AstroMap.fits", CATDIR);
-  table = AstromOffsetMapLoad (mapfile, VERBOSE);
+  table = AstromOffsetMapLoad (mapfile, 100000, VERBOSE);
 
   // assign images.coords.offsetMap -> table->map[i]
@@ -39,15 +39,22 @@
 
   // select the images which overlap the selected sky regions
-  subset = select_images (skylist, image, Nimage, &LineNumber, &Nsubset, UseFullOverlap);
-  MARKTIME("  select images: %f sec\n", dtime);
+  if (UseAllImages) {
+    ALLOCATE (LineNumber, off_t, Nimage);
+    for (i = 0; i < Nimage; i++) LineNumber[i] = i;
+    subset  = image;
+    Nsubset = Nimage;
+  } else {
+    subset = select_images (skylist, image, Nimage, &LineNumber, &Nsubset, UseFullOverlap);
+    MARKTIME("  select images: %f sec\n", dtime);
 
-  if (Nsubset == Nimage) {
-    free (subset);
-    subset = image;
+    if (Nsubset == Nimage) {
+      free (subset);
+      subset = image;
+    }
   }
-
+    
   initImages (subset, LineNumber, Nsubset);
   MARKTIME("  init images: %f sec\n", dtime);
-
+  
   initMosaics (subset, Nsubset);
   MARKTIME("  init mosaics: %f sec\n", dtime);
Index: /trunk/Ohana/src/relastro/src/relastro.c
===================================================================
--- /trunk/Ohana/src/relastro/src/relastro.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/relastro.c	(revision 38986)
@@ -4,4 +4,5 @@
 
   /* get configuration info, args */
+  SetSignals ();
   initialize (argc, argv);
 
Index: /trunk/Ohana/src/relastro/src/relastro_client.c
===================================================================
--- /trunk/Ohana/src/relastro/src/relastro_client.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/relastro_client.c	(revision 38986)
@@ -22,4 +22,5 @@
 
   // get configuration info, args, lockfile (set CATDIR, HOST_ID, HOSTDIR, etc) 
+  SetSignals ();
   initialize_client (argc, argv);
 
@@ -78,5 +79,5 @@
 
       /* load regions and images based on specified sky patch (default depth) */
-      load_images (&db, skylist, FALSE);
+      load_images (&db, skylist, FALSE, USE_ALL_IMAGES);
       
       // I can free the database after I have loaded the images...
Index: /trunk/Ohana/src/relastro/src/relastro_images.c
===================================================================
--- /trunk/Ohana/src/relastro/src/relastro_images.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/relastro_images.c	(revision 38986)
@@ -21,5 +21,5 @@
 
   /* load regions and images based on specified sky patch (default depth) (require full overlap) */
-  load_images (&db, skylist, TRUE);
+  load_images (&db, skylist, TRUE, USE_ALL_IMAGES);
   MARKTIME("load images: %f sec\n", dtime);
 
@@ -73,11 +73,6 @@
       if (RESET_IMAGES) UpdateMeasures (catalog, Ncatalog);
       for (i = 0; i < NLOOP; i++) {
-	UpdateObjects (catalog, Ncatalog, (i > 0)); // calculate <R>,<D>; if (i > 0), apply Galaxy Motion Model (if desired)
-	if ((i > 1) || !USE_GALAXY_MODEL) {
-	  // if GALAXY_MODEL is selected, we want to delay the frame correction until we have 
-	  // applied the galaxy model a couple of times.
-	  FrameCorrectionSerial (catalog, Ncatalog);
-	}
-	UpdateChips (catalog, Ncatalog);   // measure.X,Y -> R,D, fit image.coords
+	UpdateObjects (catalog, Ncatalog, i); // calculate <R>,<D>; if (i > 0), apply Galaxy Motion Model (if desired)
+	UpdateChips (catalog, Ncatalog, i);   // measure.X,Y -> R,D, fit image.coords
 	MARKTIME("update chips: %f sec\n", dtime);
       }
@@ -103,6 +98,11 @@
   freeImageBins (1);
 
-  // XXX why do I do this exactly?
-  reload_images (&db);
+  // If we did NOT use all images, then we applied the measured corrections to a subset of
+  // images.  we now need to set the images associated with db to have those values so
+  // they will be written out by the dvo_image_update() operations.  If we USE_ALL_IMAGES,
+  // then we do not need to do this, and we should call dvo_image_save (not dvo_image_update)
+  if (!USE_ALL_IMAGES) {
+    reload_images (&db);
+  }
     
   if (PARALLEL) {
@@ -110,15 +110,34 @@
     // need to also save the image map table...
     save_astrom_table ();
-    dvo_image_update (&db, VERBOSE);
+    if (USE_ALL_IMAGES) {
+      dvo_image_save (&db, VERBOSE);
+    } else {
+      dvo_image_update (&db, VERBOSE);
+    }
     dvo_image_unlock (&db); 
   }
 
+  // NOTE: if we have parallel partitions, then we need to save the Images.dat and
+  // AstroMap.fits tables BEFORE the remote relastro_clients are launched (they load 
+  // Images.dat and AstroMap.fits)
+
+  // if we do NOT have parallel partitions, we must NOT write them out yet: the act of
+  // writing out the files byte-swaps the data and makes the values invalide for the
+  // following calls to UpdateObjectOffsets (which attempt to apply the image values from
+  // the structure in memory)
+
   // iterate over catalogs to make detection coordinates consistant
-  UpdateObjectOffsets (skylist, 0, NULL);
+  if (APPLY_OFFSETS) {
+    UpdateObjectOffsets (skylist, 0, NULL);
+  }
 
   if (!PARALLEL) {
     // save the updated image parameters
     save_astrom_table ();
-    dvo_image_update (&db, VERBOSE);
+    if (USE_ALL_IMAGES) {
+      dvo_image_save (&db, VERBOSE);
+    } else {
+      dvo_image_update (&db, VERBOSE);
+    }
     dvo_image_unlock (&db); 
   }
Index: /trunk/Ohana/src/relastro/src/relastro_merge_source.c
===================================================================
--- /trunk/Ohana/src/relastro/src/relastro_merge_source.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/relastro_merge_source.c	(revision 38986)
@@ -122,6 +122,8 @@
     resort_catalog (&catalog_src);
 
-    dvo_catalog_save (&catalog_src, VERBOSE2);
-    dvo_catalog_unlock (&catalog_src);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog_src, VERBOSE2)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog_src.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog_src)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog_src.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog_src);
 
Index: /trunk/Ohana/src/relastro/src/relastro_objects.c
===================================================================
--- /trunk/Ohana/src/relastro/src/relastro_objects.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/relastro_objects.c	(revision 38986)
@@ -150,6 +150,10 @@
 
     char *command = NULL;
-    strextend (&command, "relastro_client -update-objects -hostID %d -D CATDIR %s -hostdir %s -region %f %f %f %f -statmode %s", 
-	      table->hosts[i].hostID, CATDIR, table->hosts[i].pathname, UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax, STATMODE);
+    strextend (&command, "relastro_client -update-objects");
+    strextend (&command, "-hostID %d", table->hosts[i].hostID);
+    strextend (&command, "-D CATDIR %s", CATDIR);
+    strextend (&command, "-hostdir %s", table->hosts[i].pathname);
+    strextend (&command, "-region %f %f %f %f", UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax);
+    strextend (&command, "-statmode %s", STATMODE);
 
     if (FIT_MODE == FIT_PM_ONLY)  	 { strextend (&command, "-pm"); }
@@ -164,4 +168,6 @@
     if (MaxDensityUse) { strextend (&command, "-max-density %f", MaxDensityValue); }
     if (FlagOutlier)   { strextend (&command, "-clip %d", CLIP_THRESH); }
+
+    if (USE_ALL_IMAGES)      { strextend (&command, "-use-all-images"); }
     if (USE_FIXED_PIXCOORDS) { strextend (&command, "-D USE_FIXED_PIXCOORDS 1"); }
     if (PHOTCODE_KEEP_LIST)  { strextend (&command, "+photcode %s", PHOTCODE_KEEP_LIST); }
@@ -172,6 +178,7 @@
     // XXX note that the above pass in the flag as decimal -- also note that args.c cannot handle 0xHEX values
 
-    if (MinBadQF > 0.0)        { strextend (&command, "-min-bad-psfqf %f", MinBadQF); }
-    if (MaxMeanOffset != 10.0) { strextend (&command, "-max-mean-offset  %f", MaxMeanOffset); }
+    if (MinBadQF > 0.0)          strextend (&command, "-min-bad-psfqf %f", MinBadQF); 
+    if (MaxMeanOffset != 10.0)   strextend (&command, "-max-mean-offset  %f", MaxMeanOffset); 
+    if (N_BOOTSTRAP_SAMPLES > 1) strextend (&command, "-bootstrap-samples %d", N_BOOTSTRAP_SAMPLES); 
 
     if (TimeSelect) { 
Index: /trunk/Ohana/src/relastro/src/relastro_parallel_images.c
===================================================================
--- /trunk/Ohana/src/relastro/src/relastro_parallel_images.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/relastro_parallel_images.c	(revision 38986)
@@ -40,5 +40,5 @@
   char mapfile[DVO_MAX_PATH];
   snprintf (mapfile, DVO_MAX_PATH, "%s/AstroMap.%d.fits", CATDIR, REGION_HOST_ID);
-  AstromOffsetTable *table = AstromOffsetMapLoad (mapfile, VERBOSE);
+  AstromOffsetTable *table = AstromOffsetMapLoad (mapfile, 100000, VERBOSE);
 
   // assign images.coords.offsetMap -> table->map[i]
@@ -120,12 +120,7 @@
       }
       for (i = 0; i < NLOOP; i++) {
-	UpdateObjects (catalog, Ncatalog, (i > 0));
+	UpdateObjects (catalog, Ncatalog, i);
 	LOGRTIME("UpdateObjects loop %d on %s, host %d: %f sec\n", i, myHostName, REGION_HOST_ID, dtime);
-	if ((i > 1) || !USE_GALAXY_MODEL) {
-	  // if GALAXY_MODEL is selected, we want to delay the frame correction until we have 
-	  // applied the galaxy model a couple of times.
-	  FrameCorrectionParallelSlave (catalog, Ncatalog, regionHosts, i); 
-	  LOGRTIME("FrameCorrection loop %d on %s, host %d: %f sec\n", i, myHostName, REGION_HOST_ID, dtime);
-	}
+
 	share_mean_pos (catalog, Ncatalog, regionHosts, i);
 	LOGRTIME("share_mean_pos loop %d on %s, host %d: %f sec\n", i, myHostName, REGION_HOST_ID, dtime);
@@ -133,5 +128,5 @@
 	LOGRTIME("slurp_mean_pos loop %d on %s, host %d: %f sec\n", i, myHostName, REGION_HOST_ID, dtime);
 
-	UpdateChips (catalog, Ncatalog);
+	UpdateChips (catalog, Ncatalog, i);
 	LOGRTIME("UpdateChips loop %d on %s, host %d: %f sec\n", i, myHostName, REGION_HOST_ID, dtime);
 
Index: /trunk/Ohana/src/relastro/src/save_catalogs.c
===================================================================
--- /trunk/Ohana/src/relastro/src/save_catalogs.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/save_catalogs.c	(revision 38986)
@@ -9,6 +9,8 @@
 
     if (VERBOSE2) fprintf (stderr, "saving catalog %s\n", catalog[i].filename);
-    dvo_catalog_save (&catalog[i], VERBOSE2); 
-    dvo_catalog_unlock (&catalog[i]);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog[i], VERBOSE2)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog[i].filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog[i])) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog[i].filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog[i]);
   }
Index: /trunk/Ohana/src/relastro/src/share_images_pos.c
===================================================================
--- /trunk/Ohana/src/relastro/src/share_images_pos.c	(revision 38985)
+++ /trunk/Ohana/src/relastro/src/share_images_pos.c	(revision 38986)
@@ -115,5 +115,5 @@
     snprintf (mapname, 1024, "%s/AstroMapUpdate.%d.fits", CATDIR, regionHosts->hosts[i].hostID);
     
-    AstromOffsetTable *table = AstromOffsetMapLoad (mapname, VERBOSE);
+    AstromOffsetTable *table = AstromOffsetMapLoad (mapname, 100000, VERBOSE);
     LOGRTIME("image_maps_load host %d loop %d on %s, host %d: %f sec\n", i, nloop, myHostName, REGION_HOST_ID, dtime);
   
Index: /trunk/Ohana/src/relphot/include/relphot.h
===================================================================
--- /trunk/Ohana/src/relphot/include/relphot.h	(revision 38985)
+++ /trunk/Ohana/src/relphot/include/relphot.h	(revision 38986)
@@ -14,4 +14,10 @@
 // # define IDX_T off_t
 # define IDX_T int 
+
+typedef enum {
+  STAGE_CHIP  = 0x01,
+  STAGE_WARP  = 0x02,
+  STAGE_STACK = 0x04,
+} RelphotStages;
 
 typedef enum {
@@ -327,4 +333,6 @@
 int USE_BASIC_CHECK;
 int USE_FULL_OVERLAP;
+
+RelphotStages STAGES;
 
 # ifdef GRID_V1
Index: /trunk/Ohana/src/relphot/src/Shutdown.c
===================================================================
--- /trunk/Ohana/src/relphot/src/Shutdown.c	(revision 38985)
+++ /trunk/Ohana/src/relphot/src/Shutdown.c	(revision 38986)
@@ -21,6 +21,4 @@
   va_end (argp);
 
-  SetProtect (TRUE);
-  if (db) gfits_db_close (db);
   fprintf (stderr, "ERROR: relphot halted\n");
   exit (1);
Index: /trunk/Ohana/src/relphot/src/args.c
===================================================================
--- /trunk/Ohana/src/relphot/src/args.c	(revision 38985)
+++ /trunk/Ohana/src/relphot/src/args.c	(revision 38986)
@@ -344,4 +344,22 @@
   }
 
+  STAGES = STAGE_CHIP | STAGE_WARP | STAGE_STACK;
+  if ((N = get_argument (argc, argv, "-skip-chip"))) {
+    remove_argument (N, &argc, argv);
+    STAGES &= ~STAGE_CHIP;
+  }
+  if ((N = get_argument (argc, argv, "-skip-warp"))) {
+    remove_argument (N, &argc, argv);
+    STAGES &= ~STAGE_WARP;
+  }
+  if ((N = get_argument (argc, argv, "-skip-stack"))) {
+    remove_argument (N, &argc, argv);
+    STAGES &= ~STAGE_STACK;
+  }
+  if (!STAGES) {
+    fprintf (stderr, "ERROR: no valid stages selected\n");
+    exit (3);
+  }
+
   REGION_FILE = NULL;
   if ((N = get_argument (argc, argv, "-region-hosts"))) {
@@ -664,4 +682,22 @@
   }
 
+  STAGES = STAGE_CHIP | STAGE_WARP | STAGE_STACK;
+  if ((N = get_argument (argc, argv, "-skip-chip"))) {
+    remove_argument (N, &argc, argv);
+    STAGES &= ~STAGE_CHIP;
+  }
+  if ((N = get_argument (argc, argv, "-skip-warp"))) {
+    remove_argument (N, &argc, argv);
+    STAGES &= ~STAGE_WARP;
+  }
+  if ((N = get_argument (argc, argv, "-skip-stack"))) {
+    remove_argument (N, &argc, argv);
+    STAGES &= ~STAGE_STACK;
+  }
+  if (!STAGES) {
+    fprintf (stderr, "ERROR: no valid stages selected\n");
+    exit (3);
+  }
+
   if ((MODE == MODE_SYNTH_PHOT)  && (argc == 1)) return TRUE;
   if ((MODE == MODE_UPDATE_OBJECTS)  && (argc == 1)) return TRUE;
Index: /trunk/Ohana/src/relphot/src/load_catalogs.c
===================================================================
--- /trunk/Ohana/src/relphot/src/load_catalogs.c	(revision 38985)
+++ /trunk/Ohana/src/relphot/src/load_catalogs.c	(revision 38986)
@@ -253,5 +253,4 @@
   Catalog *catalog = catalogs->catalog;
   *Ncatalog = catalogs->Ncatalog;
-  BrightCatalogSplitFree (catalogs);
 
   int Nmeasure = 0;
@@ -263,4 +262,7 @@
 
   fprintf (stderr, "loaded %d catalogs, using a total of %d stars (%d measures)\n", catalogs->Ncatalog, Naverage, Nmeasure);
+  client_logger_message ("loaded %d catalogs, using a total of %d stars (%d measures)\n", catalogs->Ncatalog, Naverage, Nmeasure);
+
+  BrightCatalogSplitFree (catalogs);
 
   return (catalog);
Index: /trunk/Ohana/src/relphot/src/load_images.c
===================================================================
--- /trunk/Ohana/src/relphot/src/load_images.c	(revision 38985)
+++ /trunk/Ohana/src/relphot/src/load_images.c	(revision 38986)
@@ -31,7 +31,9 @@
   MARKTIME("build chip match for %d images: %f sec\n", (int) Nimage, dtime);
 
+  // XXX consider allowing relphot to skip the AstroMap load (do we need precise astrometry here?)
+
   char mapfile[DVO_MAX_PATH];
   snprintf (mapfile, DVO_MAX_PATH, "%s/AstroMap.fits", CATDIR);
-  AstromOffsetTable *table = AstromOffsetMapLoad (mapfile, VERBOSE);
+  AstromOffsetTable *table = AstromOffsetMapLoad (mapfile, 100000, VERBOSE);
 
   // assign images.coords.offsetMap -> table->map[i]
Index: /trunk/Ohana/src/relphot/src/reload_catalogs.c
===================================================================
--- /trunk/Ohana/src/relphot/src/reload_catalogs.c	(revision 38985)
+++ /trunk/Ohana/src/relphot/src/reload_catalogs.c	(revision 38986)
@@ -105,6 +105,8 @@
     free (moddate);
 
-    dvo_catalog_save (&catalog, VERBOSE); 
-    dvo_catalog_unlock (&catalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
 
     free_tiny_values(&catalog);
@@ -244,4 +246,8 @@
     if (SYNTH_ZERO_POINTS) { strextend (&command, "-synthphot-zpts %s", SYNTH_ZERO_POINTS); }
 
+    if (!(STAGES & STAGE_CHIP))  { strextend (&command, "-skip-chip"); }
+    if (!(STAGES & STAGE_WARP))  { strextend (&command, "-skip-warp"); }
+    if (!(STAGES & STAGE_STACK)) { strextend (&command, "-skip-stack"); }
+
     // deprecate
     // if (SET_MREL_VERSION != 1) { snprintf (tmpline, 1024, "%s -set-mrel-version %d", SET_MREL_VERSION); } // XXXX deprecate this...
Index: /trunk/Ohana/src/relphot/src/relphot.c
===================================================================
--- /trunk/Ohana/src/relphot/src/relphot.c	(revision 38985)
+++ /trunk/Ohana/src/relphot/src/relphot.c	(revision 38986)
@@ -4,4 +4,5 @@
 
   // get configuration info, args
+  SetSignals ();
   RelphotMode mode = initialize (argc, argv);
   if (!mode) exit (2);
Index: /trunk/Ohana/src/relphot/src/relphot_client.c
===================================================================
--- /trunk/Ohana/src/relphot/src/relphot_client.c	(revision 38985)
+++ /trunk/Ohana/src/relphot/src/relphot_client.c	(revision 38986)
@@ -18,4 +18,5 @@
 
   // get configuration info, args, lockfile (set CATDIR, HOST_ID, HOSTDIR, etc) 
+  SetSignals ();
   initialize_client (argc, argv);
   client_logger_init (HOSTDIR);
Index: /trunk/Ohana/src/relphot/src/relphot_objects.c
===================================================================
--- /trunk/Ohana/src/relphot/src/relphot_objects.c	(revision 38985)
+++ /trunk/Ohana/src/relphot/src/relphot_objects.c	(revision 38986)
@@ -101,6 +101,8 @@
     // but it would be better to define a dvo crawler program to do this
     // catalog.catformat = DVO_FORMAT_PS1_V1;  
-    dvo_catalog_save (&catalog, VERBOSE); 
-    dvo_catalog_unlock (&catalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
     free_tiny_values(&catalog);
     dvo_catalog_free (&catalog);
@@ -155,4 +157,8 @@
     if (SYNTH_ZERO_POINTS) { strextend (&command, "-synthphot-zpts %s", SYNTH_ZERO_POINTS); }
 
+    if (!(STAGES & STAGE_CHIP))  { strextend (&command, "-skip-chip"); }
+    if (!(STAGES & STAGE_WARP))  { strextend (&command, "-skip-warp"); }
+    if (!(STAGES & STAGE_STACK)) { strextend (&command, "-skip-stack"); }
+
     // if (SET_MREL_VERSION != 1) { strextend (&command, "-set-mrel-version %d", SET_MREL_VERSION); } 
 
Index: /trunk/Ohana/src/relphot/src/relphot_parallel_images.c
===================================================================
--- /trunk/Ohana/src/relphot/src/relphot_parallel_images.c	(revision 38985)
+++ /trunk/Ohana/src/relphot/src/relphot_parallel_images.c	(revision 38986)
@@ -34,4 +34,5 @@
     exit (2);
   }
+  client_logger_message ("loaded images\n");
 
   // once we have read this table, we should remove it for repeat runs
@@ -53,4 +54,5 @@
   // the following function correctly chooses the sky regions on the 0,360 boundary
   SkyList *skylist = SkyListByBounds (sky, -1, UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax);
+  client_logger_message ("prepare to load catalogs\n");
 
   /* load catalog data from region files (hostID is 0 since we are not a client */
Index: /trunk/Ohana/src/relphot/src/relphot_synthphot.c
===================================================================
--- /trunk/Ohana/src/relphot/src/relphot_synthphot.c	(revision 38985)
+++ /trunk/Ohana/src/relphot/src/relphot_synthphot.c	(revision 38986)
@@ -71,6 +71,8 @@
     // but it would be better to define a dvo crawler program to do this
     // catalog.catformat = DVO_FORMAT_PS1_V1;  
-    dvo_catalog_save (&catalog, VERBOSE); 
-    dvo_catalog_unlock (&catalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/relphot/src/setMrelCatalog.c
===================================================================
--- /trunk/Ohana/src/relphot/src/setMrelCatalog.c	(revision 38985)
+++ /trunk/Ohana/src/relphot/src/setMrelCatalog.c	(revision 38986)
@@ -52,13 +52,15 @@
   for (j = 0; j < catalog[Nc].Naverage; j++) {
 
-    setMrelAverageExposure (&catalog[Nc], Nc, j, Nsecfilt, isSetMrelFinal, flatcorr, results);
+    if (STAGES & STAGE_CHIP) {
+      setMrelAverageExposure (&catalog[Nc], Nc, j, Nsecfilt, isSetMrelFinal, flatcorr, results);
+    }
 
     // only apply Stack operation on setMrelFinal in first pass 
-    if (isSetMrelFinal && !IS_DIFF_DB) {
+    if (isSetMrelFinal && (STAGES & STAGE_STACK) && !IS_DIFF_DB) {
       setMrelAverageStack (&catalog[Nc], Nc, j, Nsecfilt, flatcorr);
     }
 
     // only measure force-warp mean values if issetMrelFinal (make it optional?)
-    if (isSetMrelFinal) {
+    if (isSetMrelFinal && (STAGES & STAGE_WARP)) {
       setMrelAverageForcedWarp (&catalog[Nc], Nc, j, Nsecfilt, flatcorr, results);
     }
Index: /trunk/Ohana/src/tools/Makefile
===================================================================
--- /trunk/Ohana/src/tools/Makefile	(revision 38985)
+++ /trunk/Ohana/src/tools/Makefile	(revision 38986)
@@ -15,7 +15,7 @@
 DVO_INCS  = $(DESTINC)/dvo.h $(DESTINC)/gfitsio.h $(DESTINC)/ohana.h $(DESTINC)/autocode.h 
 
-PROGRAMS = gconfig fhead ftable fields list_astro glockfile \
+PROGRAMS = gconfig fhead pspsconvert ftable fields list_astro glockfile \
 radec mktemp precess csystem fits_insert \
-medianfilter mefhead ckfits roc random
+medianfilter mefhead ckfits roc random fits_to_mysql
 
 all tools: $(PROGRAMS)
Index: /trunk/Ohana/src/tools/src/fits_to_mysql.c
===================================================================
--- /trunk/Ohana/src/tools/src/fits_to_mysql.c	(revision 38986)
+++ /trunk/Ohana/src/tools/src/fits_to_mysql.c	(revision 38986)
@@ -0,0 +1,844 @@
+# include <ohana.h>
+# include <gfitsio.h>
+# include "inttypes.h"
+# include "mysql.h"
+
+# define SWAP_BYTE {					\
+    char tmp;						\
+    tmp = Pin[0]; Pin[0] = Pin[1]; Pin[1] = tmp; }
+# define SWAP_WORD {					\
+    char tmp;						\
+    tmp = Pin[0]; Pin[0] = Pin[3]; Pin[3] = tmp;	\
+    tmp = Pin[1]; Pin[1] = Pin[2]; Pin[2] = tmp; }
+# define SWAP_DBLE {					\
+    char tmp;						\
+    tmp = Pin[0]; Pin[0] = Pin[7]; Pin[7] = tmp;	\
+    tmp = Pin[1]; Pin[1] = Pin[6]; Pin[6] = tmp;	\
+    tmp = Pin[2]; Pin[2] = Pin[5]; Pin[5] = tmp;	\
+    tmp = Pin[3]; Pin[3] = Pin[4]; Pin[4] = tmp; }
+
+# define DEBUG 1
+# define NMAX    0x100
+# define NBUFFER 0x100000
+# define NROWS 10000
+# define MAX_BUFFER 0x080000
+
+# define TO_BUFFER 1
+
+typedef enum {
+  TYPE_NONE,  
+  TYPE_CHAR,  
+  TYPE_BYTE,  
+  TYPE_SHORT, 
+  TYPE_INT,   
+  TYPE_INT64, 
+  TYPE_FLOAT, 
+  TYPE_DOUBLE
+} TypeInt;
+
+// generate a structure to describe the table:
+typedef struct {
+  char *rawname; // name of the column in the fits header
+  char *colname; // name of the column to be used in the db
+  char *format;
+  TypeInt type;
+  int Nval;
+  int Nbytes;
+} ColumnDef;
+
+char        *DATABASE_HOST;
+char        *DATABASE_USER;
+char        *DATABASE_PASS;
+char        *DATABASE_NAME;
+char        *TABLENAME;
+
+int args (int *argc, char **argv);
+void usage();
+
+void FreeColumnDef (ColumnDef *columns, int Ncolumns);
+ColumnDef *parse_table (Header *header, int *ncolumn);
+int create_table (ColumnDef *columns, int Ncolumns, char *extname, IOBuffer *insert, MYSQL *mysql);
+void write_data (ColumnDef *columns, int Ncolumns, FTable *table, IOBuffer *insert, MYSQL *mysql);
+
+void *gfits_get_bintable_column_data_by_Ncol (FTable *table, int Nfield, char *type, off_t *Nrow, int *Ncol, char nativeOrder);
+int CopyIOBuffer (IOBuffer *output, IOBuffer *input);
+
+void replace_dot_with_underscore (char *string);
+
+void dump_on_failure (IOBuffer *buffer);
+MYSQL *mysql_connect (MYSQL *mysqlBase);
+int mysql_commit_buffer (IOBuffer *buffer, MYSQL *mysql);
+
+int main (int argc, char **argv) {
+
+  args (&argc, argv);
+  if (argc != 2) usage ();
+  char *input = argv[1];
+
+  MYSQL  mysqlBase;
+  MYSQL *mysqlReal = mysql_connect (&mysqlBase);
+  if (!mysqlReal) {
+    fprintf (stderr, "failed to connect to mysql\n");
+    exit (1);
+  }
+
+  FTable table;
+  Header header;
+  table.header = &header;
+  table.buffer = NULL;
+
+  FILE *f = fopen (input, "r");
+  if (f == (FILE *) NULL) {
+    fprintf (stderr, "can't open file %s\n", input);
+    exit (1);
+  }
+
+  int Nsection = 0;
+  int Ntable = 0;
+  while (gfits_fread_header (f, &header)) {
+
+    /* extract the EXTNAME for this component (set to PHU for 0th component) */
+    char extname[80];
+    int status = gfits_scan (&header, "EXTNAME", "%s", 1, extname);
+    if (!status) {
+      if (Nsection == 0) {
+	strcpy (extname, "PHU");
+      } else {
+	strcpy (extname, "UNKNOWN");
+      }
+    }
+    fprintf (stdout, "%-30s ", extname);
+
+    /* extract the datatype for this component (IMAGE for 0th component) */
+    char exttype[80];
+    if (Nsection == 0) {
+      strcpy (exttype, "IMAGE");
+    } else {
+      status = gfits_scan (&header, "XTENSION", "%s", 1, exttype);
+      if (!status) {
+	strcpy (exttype, "UNKNOWN");
+      }
+    }
+    fprintf (stdout, "%-15s ", exttype);
+
+    fprintf (stdout, " %4d", header.Naxes);
+
+    /* extract the individual axes */
+    int i;
+    for (i = 0; i < header.Naxes; i++) {
+      fprintf (stdout, " "OFF_T_FMT, header.Naxis[i]);
+    }
+    fprintf (stdout, "\n");
+
+    if (strcmp(exttype, "BINTABLE")) {
+      off_t Nbytes = gfits_data_size (&header);
+      gfits_free_header (&header);
+      fseeko (f, Nbytes, SEEK_CUR);
+      Nsection ++;
+      continue;
+    }
+
+    int Ncolumns;
+    ColumnDef *columns = parse_table (&header, &Ncolumns);
+
+    IOBuffer insert;
+    InitIOBuffer (&insert, 1024);
+
+    if ((Ntable > 0) && TABLENAME) {
+      fprintf (stderr, "WARNING: table name is supplied but more than one table is read: earlier tables will be replaced\n");
+    } 
+    create_table (columns, Ncolumns, extname, &insert, mysqlReal);
+
+    // need to reset this on each pass?
+    myAssert (!table.buffer, "oops");
+
+    // total number of bytes in the data section (including pad at the end)
+    off_t Nbytes = gfits_data_size (&header);
+    
+    off_t Ntotal = header.Naxis[1];
+    int Nrows = NROWS;
+    int start = 0;
+    while (start < Ntotal) {
+      if (!gfits_fread_ftable_range (f, FALSE, TRUE, &table, start, Nrows)) {
+	fprintf (stderr, "error reading table for extension %d\n", Nsection);
+	exit (1);
+      }
+      fprintf (stderr, "read "OFF_T_FMT" rows\n", header.Naxis[1]);
+
+      write_data (columns, Ncolumns, &table, &insert, mysqlReal);
+
+      start += Nrows;
+      Nbytes -= header.Naxis[0]*header.Naxis[1]*abs(header.bitpix / 8);
+      header.Naxis[1] = Ntotal;
+    }
+
+    gfits_free_table (&table);
+    gfits_free_header (&header);
+
+    // move the pointer to the end of this data segment
+    fseeko (f, Nbytes, SEEK_CUR);
+    Nsection ++;
+    Ntable ++;
+
+    FreeColumnDef (columns, Ncolumns);
+    FreeIOBuffer (&insert);
+  }
+  gfits_free_header (&header);
+
+  fclose (f);
+
+  FREE (DATABASE_HOST);
+  FREE (DATABASE_USER);
+  FREE (DATABASE_PASS);
+  FREE (DATABASE_NAME);
+  FREE (TABLENAME);
+
+  ohana_memdump (TRUE);
+
+  exit (0);
+}
+
+void FreeColumnDef (ColumnDef *columns, int Ncolumns) {
+
+  int i;
+
+  if (!columns) return;
+  for (i = 0; i < Ncolumns; i++) {
+    FREE (columns[i].rawname);
+    FREE (columns[i].colname);
+    FREE (columns[i].format);
+  }
+  FREE (columns);
+  return;
+}
+
+ColumnDef *parse_table (Header *header, int *ncolumn) {
+
+  int i, j;
+
+  int Ncolumn = 0;
+  int NCOLUMN = 50;
+  ColumnDef *column = NULL;
+  ALLOCATE (column, ColumnDef, NCOLUMN);
+
+  // print out the columns (need to swap first)
+
+  int Nfields;
+  if (!gfits_scan (header, "TFIELDS", "%d", 1, &Nfields)) return NULL;
+
+  // first, extract the table data:
+  for (i = 0; i < Nfields; i++) {
+
+    char field[256], tlabel[256], format[256];
+    snprintf (field, 256, "TTYPE%d", i+1);
+    gfits_scan (header, field, "%s", 1, tlabel);
+
+    snprintf (field, 256, "TFORM%d", i+1);
+    gfits_scan (header, field, "%s", 1, format);
+
+    // some special names must be protected:
+    if (!strcasecmp (tlabel, "index")) { strcpy (tlabel, "index_"); }
+    if (!strcasecmp (tlabel, "table")) { strcpy (tlabel, "table_"); }
+
+    // check for duplicates
+    int Ndup = 0;
+    for (j = 0; j < Ncolumn; j++) {
+      if (strcmp (column[j].rawname, tlabel)) continue;
+      Ndup ++;
+    }
+    if (Ndup) {
+      char tmpname[256];
+      snprintf (tmpname, 256, "%s_%d", tlabel, Ndup);
+      column[Ncolumn].colname = strcreate (tmpname);
+    } else {
+      column[Ncolumn].colname = strcreate (tlabel);
+    }
+    column[Ncolumn].rawname = strcreate (tlabel);
+    column[Ncolumn].format = strcreate (format);
+    replace_dot_with_underscore (column[Ncolumn].colname);
+
+    char type[16];
+    int Nval, Nbytes;
+    if (!gfits_bintable_format (format, type, &Nval, &Nbytes)) return NULL;
+    column[Ncolumn].Nval = Nval;
+    column[Ncolumn].Nbytes = Nbytes;
+
+    // save the type as well
+    if (!strcmp (type, "byte"))    column[Ncolumn].type = TYPE_BYTE;
+    if (!strcmp (type, "short"))   column[Ncolumn].type = TYPE_SHORT;
+    if (!strcmp (type, "int"))     column[Ncolumn].type = TYPE_INT;
+    if (!strcmp (type, "int64_t")) column[Ncolumn].type = TYPE_INT64;
+    if (!strcmp (type, "float"))   column[Ncolumn].type = TYPE_FLOAT;
+    if (!strcmp (type, "double"))  column[Ncolumn].type = TYPE_DOUBLE;
+    if (!strcmp (type, "char"))    column[Ncolumn].type = TYPE_CHAR;
+
+    Ncolumn ++;
+    if (Ncolumn == NCOLUMN) {
+      NCOLUMN += 100;
+      REALLOCATE (column, ColumnDef, NCOLUMN);
+    }
+  }
+  *ncolumn = Ncolumn;
+  return column;
+}
+
+void PrintColumns (IOBuffer *buffer, char *typename, char *rootname, int Nval) {
+  if (Nval > 1) {
+    int j;
+    char colname[64];
+    for (j = 0; j < Nval; j++) {
+      snprintf (colname, 64, "%s_%d", rootname, j + 1);
+      PrintIOBuffer (buffer, "%s %s", colname, typename);
+      if (j < Nval - 1) {
+	PrintIOBuffer (buffer, ",\n");
+      }
+    }
+  } else {
+    PrintIOBuffer (buffer, "%s %s", rootname, typename);
+  }
+  return;
+}
+
+// the 'insert' buffer will be used to generate the insert lines downstream (call InitIOBuffer on it first)
+int create_table (ColumnDef *columns, int Ncolumns, char *extname, IOBuffer *insert, MYSQL *mysql) {
+
+  int i;
+
+  IOBuffer buffer;
+  InitIOBuffer (&buffer, 1024);
+
+  char *tablename = TABLENAME ? strcreate (TABLENAME) : strcreate (extname);
+  replace_dot_with_underscore (tablename);
+
+  // some special names must be protected:
+  if (!strcasecmp (tablename, "index")) {
+    free (tablename);
+    tablename = strcreate ("index_");
+  }
+  if (!strcasecmp (tablename, "table")) {
+    free (tablename);
+    tablename = strcreate ("table_");
+  }
+
+  // drop the table if it exists
+  PrintIOBuffer (&buffer, "DROP TABLE if exists %s\n", tablename);
+  int status = mysql_query(mysql, buffer.buffer); 
+  if (status) {
+    fprintf (stderr, "failed to drop table:\n");
+    fprintf (stderr, "%s\n", mysql_error(mysql));
+    dump_on_failure (&buffer);
+    return FALSE;
+  }
+  buffer.Nbuffer = 0;
+  bzero (buffer.buffer, buffer.Nalloc);
+
+  // Only send the necessary fields (eg, do not sent parallax and pm)
+  PrintIOBuffer (&buffer, "CREATE TABLE %s (\n", tablename);
+  PrintIOBuffer (insert, "INSERT INTO %s (\n", tablename);
+
+  // first, extract the table data:
+  for (i = 0; i < Ncolumns; i++) {
+
+    // watch out for Nval != 1
+    switch (columns[i].type) {
+      case TYPE_BYTE:
+	PrintColumns (&buffer, "SMALLINT", columns[i].colname, columns[i].Nval);
+	break;
+      case TYPE_SHORT:
+	PrintColumns (&buffer, "SMALLINT", columns[i].colname, columns[i].Nval);
+	break;
+      case TYPE_INT:
+	PrintColumns (&buffer, "INT", columns[i].colname, columns[i].Nval);
+	break;
+      case TYPE_INT64:
+	PrintColumns (&buffer, "BIGINT", columns[i].colname, columns[i].Nval);
+	break;
+      case TYPE_FLOAT:
+	PrintColumns (&buffer, "FLOAT", columns[i].colname, columns[i].Nval);
+	break;
+      case TYPE_DOUBLE:
+	PrintColumns (&buffer, "DOUBLE", columns[i].colname, columns[i].Nval);
+	break;
+      case TYPE_CHAR:
+	PrintIOBuffer (&buffer, "%s VARCHAR(%d)", columns[i].colname, columns[i].Nval);
+	break;
+      default:
+	myAbort ("oops");
+    }
+
+    if ((columns[i].Nval > 1) && (columns[i].type != TYPE_CHAR)) {
+      int j;
+      char colname[64];
+      for (j = 0; j < columns[i].Nval; j++) {
+	snprintf (colname, 64, "%s_%d", columns[i].colname, j + 1);
+	PrintIOBuffer (insert, "%s", colname);
+	if (j < columns[i].Nval - 1) {
+	  PrintIOBuffer (insert, ",\n");
+	}
+      }
+    } else {
+      PrintIOBuffer (insert, "%s", columns[i].colname);
+    }
+
+    if (i == Ncolumns - 1)  {
+      PrintIOBuffer (&buffer, ")\n");
+      PrintIOBuffer (insert, ") VALUES \n");
+    } else {
+      PrintIOBuffer (&buffer, ",\n");
+      PrintIOBuffer (insert, ",\n");
+    }
+  }
+
+  status = mysql_query(mysql, buffer.buffer); 
+  if (status) {
+    fprintf (stderr, "failed to create table:\n");
+    fprintf (stderr, "%s\n", mysql_error(mysql));
+    fprintf (stderr, "Nbuffer: %d\n", buffer.Nbuffer);
+    dump_on_failure (&buffer);
+  }
+
+  FreeIOBuffer (&buffer);
+  free (tablename);
+
+  return TRUE;
+}
+
+void write_data (ColumnDef *columns, int Ncolumns, FTable *table, IOBuffer *insert, MYSQL *mysql) {
+
+  int i, j, Nf;
+
+  // copy the 'insert' IOBuffer to the output buffer
+  IOBuffer output;
+  InitIOBuffer (&output, 1024);
+  CopyIOBuffer (&output, insert);
+
+  int Ny = table->header->Naxis[1];
+
+  ALLOCATE_PTR (data, void *, Ncolumns);
+
+  // first, extract the table data: (probably should save this structure and re-use in create_table)
+  for (i = 0; i < Ncolumns; i++) {
+    off_t Nrow;
+    int Ncol;
+    char type[16];
+    data[i] = gfits_get_bintable_column_data_by_Ncol (table, i + 1, type, &Nrow, &Ncol, FALSE);
+    myAssert (Nrow == Ny, "oops");
+  }
+
+  // convert the type characters to an enum for speed here
+  // could also generate pointers of all types to the data;
+
+  for (i = 0; i < Ny; i++) {
+    PrintIOBuffer (&output, "( ");
+    for (Nf = 0; Nf < Ncolumns; Nf++) {
+      switch (columns[Nf].type) {
+	case TYPE_CHAR: {
+	  char line[1024];
+	  char *value = data[Nf];
+	  memset (line, 0, 128);
+	  memcpy (line, &value[i*columns[Nf].Nval], columns[Nf].Nval);
+	  PrintIOBuffer (&output, "'%s'", line);
+	  break;
+	} 
+	case TYPE_BYTE: {
+	  char *value = data[Nf];
+	  for (j = 0; j < columns[Nf].Nval; j++) {
+	    PrintIOBuffer (&output, "%hhd", value[i*columns[Nf].Nval + j]);
+	    if (j < columns[Nf].Nval - 1) {
+	      PrintIOBuffer (&output, ",\n");
+	    }
+	  }
+	  break;
+	}
+	case TYPE_SHORT: {
+	  short *value = data[Nf];
+	  for (j = 0; j < columns[Nf].Nval; j++) {
+	    PrintIOBuffer (&output, "%hd", value[i*columns[Nf].Nval + j]);
+	    if (j < columns[Nf].Nval - 1) {
+	      PrintIOBuffer (&output, ",\n");
+	    }
+	  }
+	  break;
+	}
+	case TYPE_INT: {
+	  int *value = data[Nf];
+	  for (j = 0; j < columns[Nf].Nval; j++) {
+	    PrintIOBuffer (&output, "%d", value[i*columns[Nf].Nval + j]);
+	    if (j < columns[Nf].Nval - 1) {
+	      PrintIOBuffer (&output, ",\n");
+	    }
+	  }
+	  break;
+	}
+	case TYPE_INT64: {
+	  int64_t *value = data[Nf];
+	  for (j = 0; j < columns[Nf].Nval; j++) {
+	    PrintIOBuffer (&output, "%lld", (long long int) value[i*columns[Nf].Nval + j]);
+	    if (j < columns[Nf].Nval - 1) {
+	      PrintIOBuffer (&output, ",\n");
+	    }
+	  }
+	  break;
+	}
+	case TYPE_FLOAT: {
+	  float *value = data[Nf];
+	  for (j = 0; j < columns[Nf].Nval; j++) {
+	    float myValue = value[i*columns[Nf].Nval + j];
+	    if (isfinite(myValue)) {
+	      PrintIOBuffer (&output, "%e", myValue);
+	    } else {
+	      PrintIOBuffer (&output, "-999");
+	    }
+	    if (j < columns[Nf].Nval - 1) {
+	      PrintIOBuffer (&output, ",\n");
+	    }
+	  }
+	  break;
+	}
+	case TYPE_DOUBLE: {
+	  double *value = data[Nf];
+	  for (j = 0; j < columns[Nf].Nval; j++) {
+	    PrintIOBuffer (&output, "%e", value[i*columns[Nf].Nval + j]);
+	    if (j < columns[Nf].Nval - 1) {
+	      PrintIOBuffer (&output, ",\n");
+	    }
+	  }
+	  break;
+	}
+	default:
+	  myAbort ("impossible");
+      }
+      if (Nf < Ncolumns - 1) {
+	PrintIOBuffer (&output, ",\n");
+      } else {
+	PrintIOBuffer (&output, "),\n");
+      }
+    }
+    if (output.Nbuffer > MAX_BUFFER) {
+      mysql_commit_buffer (&output, mysql);
+      CopyIOBuffer (&output, insert);
+    }
+  }
+
+  mysql_commit_buffer (&output, mysql);
+  FreeIOBuffer (&output);
+  
+  for (i = 0 ; i < Ncolumns; i++) {
+    free (data[i]);
+  }
+  free (data);
+  return;
+}
+
+void *gfits_get_bintable_column_data_by_Ncol (FTable *table, int Nfield, char *type, off_t *Nrow, int *Ncol, char nativeOrder) {
+
+  int i;
+  char tlabel[256], field[256], format[256], tmpline[64];
+  char *Pin, *Pout, *array;
+  double Bscale, Bzero;
+
+  Header *header = table->header;
+
+  int Nfields;
+  if (!gfits_scan (header, "TFIELDS", "%d", 1, &Nfields)) return NULL;
+
+  if (Nfield < 1) return NULL;
+  if (Nfield > Nfields) return NULL;
+
+  Bscale = 1; 
+  Bzero  = 0;
+
+  /* get column keywords */
+  snprintf (field, 256, "TTYPE%d", Nfield);
+  gfits_scan (header, field, "%s", 1, tlabel);
+  snprintf (field, 256, "TSCAL%d", Nfield);
+  gfits_scan (header, field, "%lf", 1, &Bscale);
+  snprintf (field, 256, "TZERO%d", Nfield);
+  gfits_scan (header, field, "%lf", 1, &Bzero);
+  snprintf (field, 256, "TFORM%d", Nfield);
+  gfits_scan (header, field, "%s", 1, format);
+
+  int Nval, Nbytes;
+  if (!gfits_bintable_format (format, type, &Nval, &Nbytes)) return (NULL);
+  
+  /* check existing table dimensions */
+  off_t Nx, Ny;
+  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1,  &Nx);
+  gfits_scan (header, "NAXIS2",  OFF_T_FMT, 1,  &Ny);
+
+  /* scan columns to find insert point */
+  int Nstart = 0;
+  for (i = 1; i < Nfield; i++) {
+    snprintf (field, 256, "TFORM%d", i);
+    gfits_scan (header, field, "%s", 1, format);
+    int Nv, Nb;
+    gfits_bintable_format (format, tmpline, &Nv, &Nb);
+    Nstart += Nv*Nb;
+  }
+
+  /* extract bytes from table into array */
+  ALLOCATE (array, char, Nbytes*Nval*Ny);
+  Pin  = table[0].buffer + Nstart;
+  Pout = array;
+  for (i = 0; i < Ny; i++, Pin += Nx, Pout += Nval*Nbytes) {
+    memcpy (Pout, Pin, Nval*Nbytes);
+  }
+
+  // NOTE: we have already copied the data to 'array', 
+  Pin  = array;
+  Pout = array;
+  int directCopy = (Bzero == 0.0) && (Bscale == 1.0);
+
+  /* convert data in-situ with correct type, byte swap and Bzero/Bscale */
+  if (!strcmp (type, "char")) {
+    for (i = 0; i < Nval*Ny; i++, Pin+=Nbytes, Pout+=Nbytes) {
+      if (!directCopy) { *(char *)Pout = *(char *)Pin*Bscale + Bzero; }
+    }
+  }
+  if (!strcmp (type, "byte")) {
+    for (i = 0; i < Nval*Ny; i++, Pin+=Nbytes, Pout+=Nbytes) {
+      if (!directCopy) { *(char *)Pout = *(char *)Pin*Bscale + Bzero; }
+    }
+  }
+  if (!strcmp (type, "short")) {
+    for (i = 0; i < Nval*Ny; i++, Pin+=Nbytes, Pout+=Nbytes) {
+# ifdef BYTE_SWAP
+      if (!nativeOrder) { SWAP_BYTE; }
+# endif
+      if (!directCopy) { *(short *)Pout = *(short *)Pin*Bscale + Bzero; }
+    }  
+  }
+  if (!strcmp (type, "int")) {
+    for (i = 0; i < Nval*Ny; i++, Pin+=Nbytes, Pout+=Nbytes) {
+# ifdef BYTE_SWAP
+      if (!nativeOrder) { SWAP_WORD; }
+# endif
+      if (!directCopy) { *(int *)Pout = *(int *)Pin*Bscale + Bzero; }
+    }
+  }
+  if (!strcmp (type, "int64_t")) {
+    for (i = 0; i < Nval*Ny; i++, Pin+=Nbytes, Pout+=Nbytes) {
+# ifdef BYTE_SWAP
+      if (!nativeOrder) { SWAP_DBLE; }
+# endif
+      if (!directCopy) { *(int64_t *)Pout = *(int64_t *)Pin*Bscale + Bzero; }
+    }
+  }
+  if (!strcmp (type, "float")) {
+    for (i = 0; i < Nval*Ny; i++, Pin+=Nbytes, Pout+=Nbytes) {
+# ifdef BYTE_SWAP
+      if (!nativeOrder) { SWAP_WORD; }
+# endif
+      if (!directCopy) { *(float *)Pout = *(float *)Pin*Bscale + Bzero; }
+    }
+  }
+  if (!strcmp (type, "double")) {
+    for (i = 0; i < Nval*Ny; i++, Pin+=Nbytes, Pout+=Nbytes) {
+# ifdef BYTE_SWAP
+      if (!nativeOrder) { SWAP_DBLE; }
+# endif
+      if (!directCopy) { *(double *)Pout = *(double *)Pin*Bscale + Bzero; }
+    }
+  }
+
+  // check that we supplied a valid type
+
+  *Ncol = Nval;
+  *Nrow = Ny;
+  return (array);
+}
+
+int CopyIOBuffer (IOBuffer *output, IOBuffer *input) {
+
+  output[0].Nalloc  = input[0].Nalloc; 
+  output[0].Nreset  = input[0].Nreset; 
+  output[0].Nblock  = input[0].Nblock; 
+  output[0].Nbuffer = input[0].Nbuffer;
+
+  if (output->buffer) {
+    REALLOCATE (output[0].buffer, char, output[0].Nalloc);
+  } else {
+    ALLOCATE (output[0].buffer, char, output[0].Nalloc);
+  }
+
+  memcpy (output->buffer, input->buffer, input->Nbuffer);
+
+  return (TRUE);
+}
+
+int args (int *argc, char **argv) {
+
+  int N;
+
+  if ((N = get_argument (*argc, argv, "-dbhost"))) {
+    remove_argument (N, argc, argv);
+    DATABASE_HOST = strcreate (argv[N]);
+    remove_argument (N, argc, argv);
+  } else usage();
+
+  if ((N = get_argument (*argc, argv, "-dbuser"))) {
+    remove_argument (N, argc, argv);
+    DATABASE_USER = strcreate (argv[N]);
+    remove_argument (N, argc, argv);
+  } else usage();
+
+  if ((N = get_argument (*argc, argv, "-dbpass"))) {
+    remove_argument (N, argc, argv);
+    DATABASE_PASS = strcreate (argv[N]);
+    remove_argument (N, argc, argv);
+  } else usage();
+
+  if ((N = get_argument (*argc, argv, "-dbname"))) {
+    remove_argument (N, argc, argv);
+    DATABASE_NAME = strcreate (argv[N]);
+    remove_argument (N, argc, argv);
+  } else usage();
+
+  TABLENAME = NULL;
+  if ((N = get_argument (*argc, argv, "-tablename"))) {
+    remove_argument (N, argc, argv);
+    TABLENAME = strcreate (argv[N]);
+    remove_argument (N, argc, argv);
+  }
+
+  return TRUE;
+}
+
+void usage () {
+  fprintf (stderr, "USAGE: fits_to_mysql [dbinfo] (filename.fits)\n");
+  fprintf (stderr, "    mysql database info is supplied with these:\n");
+  fprintf (stderr, "    -dbhost : database host machine\n");
+  fprintf (stderr, "    -dbuser : database username\n");
+  fprintf (stderr, "    -dbpass : database password\n");
+  fprintf (stderr, "    -dbname : database name\n\n");
+  exit (2);
+}
+
+int dump_result (MYSQL *connection) {
+
+  MYSQL_RES *result = mysql_store_result (connection);
+  if (!result) return FALSE;
+  int Nrows = mysql_num_rows(result);
+  int Ncols = mysql_num_fields(result);
+
+  int i, j;
+  for (j = 0; j < Nrows; j++) {
+    MYSQL_ROW row = mysql_fetch_row(result);
+    for (i = 0; i < Ncols; i++) {
+      fprintf (stderr, "%s ", row[i]);
+    }
+    fprintf (stderr, "\n");
+  }
+  mysql_free_result (result);
+  return (TRUE);
+}
+
+// DATABASE_* are supplied on the command line and are global variables in dvopsps.h
+MYSQL *mysql_connect (MYSQL *mysqlBase) {
+
+  char query[256];
+
+  mysql_init (mysqlBase);
+  MYSQL *connection = mysql_real_connect (mysqlBase, DATABASE_HOST, DATABASE_USER, DATABASE_PASS, DATABASE_NAME, 0, 0, 0);
+
+  if (connection == NULL) {
+    fprintf (stderr, "failed to connect to database\n");
+    fprintf (stderr, "%s\n", mysql_error (mysqlBase));
+    return NULL;
+  }
+    
+  sprintf (query, "set @@interactive_timeout = 30000;");
+  if (mysql_query (connection, query)) {
+    fprintf (stderr, "failed to set interactive timout\n");
+    fprintf (stderr, "%s\n", mysql_error (connection));
+    return NULL;
+  }
+  dump_result (connection);
+    
+  sprintf (query, "set @@wait_timeout = 30000;");
+  if (mysql_query (connection, query)) {
+    fprintf (stderr, "failed to set wait timout\n");
+    fprintf (stderr, "%s\n", mysql_error (connection));
+    return NULL;
+  }
+  dump_result (connection);
+    
+  // sprintf (query, "set max_allowed_packet = %d;", 2*MAX_BUFFER);
+  // if (mysql_query (connection, query)) {
+  //   fprintf (stderr, "failed to set max_allowed_packet\n");
+  //   fprintf (stderr, "%s\n", mysql_error (connection));
+  //   return NULL;
+  // }
+  // dump_result (connection);
+    
+  // sprintf (query, "show variables like 'max_allowed_packet';");
+  // if (mysql_query (connection, query)) {
+  //   fprintf (stderr, "failed to set max_allowed_packet\n");
+  //   fprintf (stderr, "%s\n", mysql_error (connection));
+  //   return NULL;
+  // }
+  // dump_result (connection);
+    
+  if (0) {
+    sprintf (query, "set autocommit=0;");
+    if (mysql_query (connection, query)) {
+      fprintf (stderr, "failed to turn off autocommit\n");
+      fprintf (stderr, "%s\n", mysql_error (connection));
+      return NULL;
+    }
+    dump_result (connection);
+  }
+    
+  return connection;
+}
+
+int mysql_commit_buffer (IOBuffer *buffer, MYSQL *mysql) {
+
+  MYSQL_RES *result;
+
+  // check that the last two chars are ,\n and replace with ;\n
+  if (!strcmp(&buffer->buffer[buffer->Nbuffer-2], ",\n")) {
+    buffer->buffer[buffer->Nbuffer-2] = ';';
+  } else {
+    fprintf (stderr, "invalid sql?\n");
+    return FALSE;
+  }
+
+  // XXX check return status
+  if (mysql) {
+    int status;
+    status = mysql_query(mysql, buffer->buffer); 
+    if (status) {
+      fprintf (stderr, "error with insert:\n");
+      fprintf (stderr, "%s\n", mysql_error(mysql));
+      fprintf (stderr, "Nbuffer: %d\n", buffer->Nbuffer);
+      dump_on_failure (buffer);
+    }
+    result = mysql_store_result (mysql);
+    if (result) mysql_free_result (result);
+  }
+
+  return TRUE;
+}
+
+void dump_on_failure (IOBuffer *buffer) {
+
+  if (!DEBUG) return;
+
+  FILE *f = fopen ("dvopsps.dump.sql", "w");
+  fwrite (buffer->buffer, 1, buffer->Nbuffer, f);
+  fclose (f);
+  exit (1);
+}
+
+void replace_dot_with_underscore (char *string) {
+
+  // convert "." in string to "_"
+  char *p = string;
+  while (p && *p) {
+    if (*p == '.') *p = '_';
+    p++;
+  }
+
+  return;
+}
Index: /trunk/Ohana/src/tools/src/pspsconvert.c
===================================================================
--- /trunk/Ohana/src/tools/src/pspsconvert.c	(revision 38986)
+++ /trunk/Ohana/src/tools/src/pspsconvert.c	(revision 38986)
@@ -0,0 +1,513 @@
+# include <ohana.h>
+# include <gfitsio.h>
+# include "inttypes.h"
+
+# define NMAX    0x100
+# define NBUFFER 0x100000
+# define NROWS 10000
+
+# define TO_BUFFER 1
+
+# if (TO_BUFFER) 
+# define FPRINT(FILE,...) {						\
+  Nout = snprintf (&buffer[Nbuffer], NMAX, __VA_ARGS__);		\
+  /* fprintf (stderr, __VA_ARGS__); fprintf (stderr, "\n"); */		\
+  /* fprintf (stderr, "Nbuf: %d, Nout: %d\n", Nbuffer, Nout);*/		\
+  Nbuffer += Nout; }						
+# else
+// # define FPRINT(FILE,...) { fprintf (FILE, __VA_ARGS__); }
+# define FPRINT(FILE,...) if (0) fprintf (FILE, __VA_ARGS__)
+# endif
+
+
+void usage();
+
+void print_data (FTable *table);
+void *gfits_get_bintable_column_data_by_Ncol (FTable *table, int Nfield, char *type, off_t *Nrow, int *Ncol, char nativeOrder);
+void FFPRINT (char *buffer, int *nbuffer, double value);
+
+int main (int argc, char **argv) {
+
+  if (0) {
+
+    int Nout;
+    int Nbuffer = 0;
+    ALLOCATE_PTR (buffer, char, NBUFFER);
+    memset (buffer, 0, NBUFFER);
+    
+    srand48(1);
+
+    FILE *f1 = fopen ("test1.txt", "w");
+    FILE *f2 = fopen ("test2.txt", "w");
+
+    int i;
+    for (i = 0; i < 20; i++) {
+      float v = 1000*(drand48() - 0.5);
+
+      FFPRINT (buffer, &Nbuffer, v);
+      FPRINT (stdout, "\n");
+
+      fprintf (f1, "%+.6e\n", v);
+    }
+
+    fwrite (buffer, 1, Nbuffer, f2);
+    fclose (f1);
+    fclose (f2);
+
+    exit (0);
+  }
+
+  if (argc != 2) usage ();
+  char *input = argv[1];
+
+  FTable table;
+  Header header;
+  table.header = &header;
+  table.buffer = NULL;
+
+  FILE *f = fopen (input, "r");
+  if (f == (FILE *) NULL) {
+    fprintf (stderr, "can't open file %s\n", input);
+    exit (1);
+  }
+
+  int Nsection = 0;
+  while (gfits_fread_header (f, &header)) {
+
+    /* extract the EXTNAME for this component (set to PHU for 0th component) */
+    char extname[80];
+    int status = gfits_scan (&header, "EXTNAME", "%s", 1, extname);
+    if (!status) {
+      if (Nsection == 0) {
+	strcpy (extname, "PHU");
+      } else {
+	strcpy (extname, "UNKNOWN");
+      }
+    }
+    fprintf (stdout, "%-30s ", extname);
+
+    /* extract the datatype for this component (IMAGE for 0th component) */
+    char exttype[80];
+    if (Nsection == 0) {
+      strcpy (exttype, "IMAGE");
+    } else {
+      status = gfits_scan (&header, "XTENSION", "%s", 1, exttype);
+      if (!status) {
+	strcpy (exttype, "UNKNOWN");
+      }
+    }
+    fprintf (stdout, "%-15s ", exttype);
+
+    fprintf (stdout, " %4d", header.Naxes);
+
+    /* extract the individual axes */
+    int i;
+    for (i = 0; i < header.Naxes; i++) {
+      fprintf (stdout, " "OFF_T_FMT, header.Naxis[i]);
+    }
+    fprintf (stdout, "\n");
+
+    if (strcmp(exttype, "BINTABLE")) {
+      off_t Nbytes = gfits_data_size (&header);
+      gfits_free_header (&header);
+      fseeko (f, Nbytes, SEEK_CUR);
+      Nsection ++;
+      continue;
+    }
+
+    // need to reset this on each pass?
+    myAssert (!table.buffer, "oops");
+
+    // total number of bytes in the data section (including pad at the end)
+    off_t Nbytes = gfits_data_size (&header);
+    
+    off_t Ntotal = header.Naxis[1];
+    int Nrows = NROWS;
+    int start = 0;
+    while (start < Ntotal) {
+      if (!gfits_fread_ftable_range (f, FALSE, TRUE, &table, start, Nrows)) {
+	fprintf (stderr, "error reading table for extension %d\n", Nsection);
+	exit (1);
+      }
+      fprintf (stderr, "read "OFF_T_FMT" rows\n", header.Naxis[1]);
+
+      print_data (&table);
+
+      start += Nrows;
+      Nbytes -= header.Naxis[0]*header.Naxis[1]*abs(header.bitpix / 8);
+      header.Naxis[1] = Ntotal;
+    }
+
+    gfits_free_table (&table);
+    gfits_free_header (&header);
+
+    // move the pointer to the end of this data segment
+    fseeko (f, Nbytes, SEEK_CUR);
+    Nsection ++;
+  }
+  gfits_free_header (&header);
+
+  fclose (f);
+
+  ohana_memdump (TRUE);
+
+  exit (0);
+}
+
+void usage () {
+  fprintf (stderr, "USAGE: pspsconvert [-h] (table.fits) (outroot)\n");
+  exit (2);
+}
+
+typedef enum {
+  TYPE_NONE,  
+  TYPE_CHAR,  
+  TYPE_BYTE,  
+  TYPE_SHORT, 
+  TYPE_INT,   
+  TYPE_INT64, 
+  TYPE_FLOAT, 
+  TYPE_DOUBLE
+} TypeInt;
+
+void print_data (FTable *table) {
+
+  int i, j, Nf;
+
+  // print out the columns (need to swap first)
+
+  Header *header = table->header;
+  int Ny = table->header->Naxis[1];
+
+  int Nfields;
+  if (!gfits_scan (header, "TFIELDS", "%d", 1, &Nfields)) return;
+
+  ALLOCATE_PTR (Nrow, off_t,  Nfields);
+  ALLOCATE_PTR (Ncol, int,    Nfields);
+  ALLOCATE_PTR (data, void *, Nfields);
+  ALLOCATE_PTR (type, char *, Nfields);
+  ALLOCATE_PTR (Type, int,    Nfields);
+
+  // first, extract the table data:
+  for (i = 0; i < Nfields; i++) {
+    ALLOCATE (type[i], char, 16);
+    data[i] = gfits_get_bintable_column_data_by_Ncol (table, i + 1, type[i], &Nrow[i], &Ncol[i], FALSE);
+    myAssert (Nrow[i] == Ny, "oops");
+    Type[i] = TYPE_NONE;
+    if (!strcmp (type[i], "char"))    Type[i] = TYPE_CHAR;
+    if (!strcmp (type[i], "byte"))    Type[i] = TYPE_BYTE;
+    if (!strcmp (type[i], "short"))   Type[i] = TYPE_SHORT;
+    if (!strcmp (type[i], "int"))     Type[i] = TYPE_INT;
+    if (!strcmp (type[i], "int64_t")) Type[i] = TYPE_INT64;
+    if (!strcmp (type[i], "float"))   Type[i] = TYPE_FLOAT;
+    if (!strcmp (type[i], "double"))  Type[i] = TYPE_DOUBLE;
+    myAssert (Type[i] != TYPE_NONE, "oops");
+  }
+
+  // convert the type characters to an enum for speed here
+  // could also generate pointers of all types to the data;
+
+# if (TO_BUFFER)
+  int Nout;
+# endif
+  int Nbuffer = 0;
+  ALLOCATE_PTR (buffer, char, NBUFFER);
+  memset (buffer, 0, NBUFFER);
+
+  for (i = 0; i < Ny; i++) {
+    for (Nf = 0; Nf < Nfields; Nf++) {
+      switch (Type[Nf]) {
+	case TYPE_CHAR: {
+	  char line[1024];
+	  char *value = data[Nf];
+	  memset (line, 0, 128);
+	  memcpy (line, &value[i*Ncol[Nf]], Ncol[Nf]);
+	  FPRINT (stdout, "%s", line);
+	  break;
+	} 
+	case TYPE_BYTE: {
+	  char *value = data[Nf];
+	  for (j = 0; j < Ncol[Nf]; j++) {
+	    FPRINT (stdout, "%hhd", value[i*Ncol[Nf] + j]);
+	  }
+	  break;
+	}
+	case TYPE_SHORT: {
+	  short *value = data[Nf];
+	  for (j = 0; j < Ncol[Nf]; j++) {
+	    FPRINT (stdout, "%hd", value[i*Ncol[Nf] + j]);
+	  }
+	  break;
+	}
+	case TYPE_INT: {
+	  int *value = data[Nf];
+	  for (j = 0; j < Ncol[Nf]; j++) {
+	    FPRINT (stdout, "%d", value[i*Ncol[Nf] + j]);
+	  }
+	  break;
+	}
+	case TYPE_INT64: {
+	  int64_t *value = data[Nf];
+	  for (j = 0; j < Ncol[Nf]; j++) {
+	    FPRINT (stdout, "%lld", (long long int) value[i*Ncol[Nf] + j]);
+	  }
+	  break;
+	}
+	case TYPE_FLOAT: {
+	  float *value = data[Nf];
+	  for (j = 0; j < Ncol[Nf]; j++) {
+	    FFPRINT (buffer, &Nbuffer, value[i*Ncol[Nf] + j]);
+	    // FPRINT (stdout, "%e", value[i*Ncol[Nf] + j]);
+	  }
+	  break;
+	}
+	case TYPE_DOUBLE: {
+	  double *value = data[Nf];
+	  for (j = 0; j < Ncol[Nf]; j++) {
+	    FFPRINT (buffer, &Nbuffer, value[i*Ncol[Nf] + j]);
+	    // FPRINT (stdout, "%e", value[i*Ncol[Nf] + j]);
+	  }
+	  break;
+	}
+	default:
+	  myAbort ("impossible");
+      }
+      if (Nf < Nfields - 1) FPRINT (stdout, ",");
+      if (Nbuffer >= NBUFFER - 2*NMAX) {
+	fwrite (buffer, 1, Nbuffer, stdout);
+	Nbuffer = 0;
+	memset (buffer, 0, NMAX);
+      }
+    }
+    FPRINT (stdout, "\n");
+  }
+# if (TO_BUFFER)
+  fwrite (buffer, 1, Nbuffer, stdout);
+# endif
+
+  free (buffer);
+
+  for (i = 0 ; i < Nfields; i++) {
+    free (type[i]);
+    free (data[i]);
+  }
+  free (Nrow);
+  free (Ncol);
+  free (data);
+  free (type);
+  free (Type);
+
+  return;
+}
+
+# define SWAP_BYTE {					\
+    char tmp;						\
+    tmp = Pin[0]; Pin[0] = Pin[1]; Pin[1] = tmp; }
+# define SWAP_WORD {					\
+    char tmp;						\
+    tmp = Pin[0]; Pin[0] = Pin[3]; Pin[3] = tmp;	\
+    tmp = Pin[1]; Pin[1] = Pin[2]; Pin[2] = tmp; }
+# define SWAP_DBLE {					\
+    char tmp;						\
+    tmp = Pin[0]; Pin[0] = Pin[7]; Pin[7] = tmp;	\
+    tmp = Pin[1]; Pin[1] = Pin[6]; Pin[6] = tmp;	\
+    tmp = Pin[2]; Pin[2] = Pin[5]; Pin[5] = tmp;	\
+    tmp = Pin[3]; Pin[3] = Pin[4]; Pin[4] = tmp; }
+
+void *gfits_get_bintable_column_data_by_Ncol (FTable *table, int Nfield, char *type, off_t *Nrow, int *Ncol, char nativeOrder) {
+
+  int i;
+  char tlabel[256], field[256], format[256], tmpline[64];
+  char *Pin, *Pout, *array;
+  double Bscale, Bzero;
+
+  Header *header = table->header;
+
+  int Nfields;
+  if (!gfits_scan (header, "TFIELDS", "%d", 1, &Nfields)) return NULL;
+
+  if (Nfield < 1) return NULL;
+  if (Nfield > Nfields) return NULL;
+
+  Bscale = 1; 
+  Bzero  = 0;
+
+  /* get column keywords */
+  snprintf (field, 256, "TTYPE%d", Nfield);
+  gfits_scan (header, field, "%s", 1, tlabel);
+  snprintf (field, 256, "TSCAL%d", Nfield);
+  gfits_scan (header, field, "%lf", 1, &Bscale);
+  snprintf (field, 256, "TZERO%d", Nfield);
+  gfits_scan (header, field, "%lf", 1, &Bzero);
+  snprintf (field, 256, "TFORM%d", Nfield);
+  gfits_scan (header, field, "%s", 1, format);
+
+  int Nval, Nbytes;
+  if (!gfits_bintable_format (format, type, &Nval, &Nbytes)) return (NULL);
+  
+  /* check existing table dimensions */
+  off_t Nx, Ny;
+  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1,  &Nx);
+  gfits_scan (header, "NAXIS2",  OFF_T_FMT, 1,  &Ny);
+
+  /* scan columns to find insert point */
+  int Nstart = 0;
+  for (i = 1; i < Nfield; i++) {
+    snprintf (field, 256, "TFORM%d", i);
+    gfits_scan (header, field, "%s", 1, format);
+    int Nv, Nb;
+    gfits_bintable_format (format, tmpline, &Nv, &Nb);
+    Nstart += Nv*Nb;
+  }
+
+  /* extract bytes from table into array */
+  ALLOCATE (array, char, Nbytes*Nval*Ny);
+  Pin  = table[0].buffer + Nstart;
+  Pout = array;
+  for (i = 0; i < Ny; i++, Pin += Nx, Pout += Nval*Nbytes) {
+    memcpy (Pout, Pin, Nval*Nbytes);
+  }
+
+  // NOTE: we have already copied the data to 'array', 
+  Pin  = array;
+  Pout = array;
+  int directCopy = (Bzero == 0.0) && (Bscale == 1.0);
+
+  /* convert data in-situ with correct type, byte swap and Bzero/Bscale */
+  if (!strcmp (type, "char")) {
+    for (i = 0; i < Nval*Ny; i++, Pin+=Nbytes, Pout+=Nbytes) {
+      if (!directCopy) { *(char *)Pout = *(char *)Pin*Bscale + Bzero; }
+    }
+  }
+  if (!strcmp (type, "byte")) {
+    for (i = 0; i < Nval*Ny; i++, Pin+=Nbytes, Pout+=Nbytes) {
+      if (!directCopy) { *(char *)Pout = *(char *)Pin*Bscale + Bzero; }
+    }
+  }
+  if (!strcmp (type, "short")) {
+    for (i = 0; i < Nval*Ny; i++, Pin+=Nbytes, Pout+=Nbytes) {
+# ifdef BYTE_SWAP
+      if (!nativeOrder) { SWAP_BYTE; }
+# endif
+      if (!directCopy) { *(short *)Pout = *(short *)Pin*Bscale + Bzero; }
+    }  
+  }
+  if (!strcmp (type, "int")) {
+    for (i = 0; i < Nval*Ny; i++, Pin+=Nbytes, Pout+=Nbytes) {
+# ifdef BYTE_SWAP
+      if (!nativeOrder) { SWAP_WORD; }
+# endif
+      if (!directCopy) { *(int *)Pout = *(int *)Pin*Bscale + Bzero; }
+    }
+  }
+  if (!strcmp (type, "int64_t")) {
+    for (i = 0; i < Nval*Ny; i++, Pin+=Nbytes, Pout+=Nbytes) {
+# ifdef BYTE_SWAP
+      if (!nativeOrder) { SWAP_DBLE; }
+# endif
+      if (!directCopy) { *(int64_t *)Pout = *(int64_t *)Pin*Bscale + Bzero; }
+    }
+  }
+  if (!strcmp (type, "float")) {
+    for (i = 0; i < Nval*Ny; i++, Pin+=Nbytes, Pout+=Nbytes) {
+# ifdef BYTE_SWAP
+      if (!nativeOrder) { SWAP_WORD; }
+# endif
+      if (!directCopy) { *(float *)Pout = *(float *)Pin*Bscale + Bzero; }
+    }
+  }
+  if (!strcmp (type, "double")) {
+    for (i = 0; i < Nval*Ny; i++, Pin+=Nbytes, Pout+=Nbytes) {
+# ifdef BYTE_SWAP
+      if (!nativeOrder) { SWAP_DBLE; }
+# endif
+      if (!directCopy) { *(double *)Pout = *(double *)Pin*Bscale + Bzero; }
+    }
+  }
+
+  // check that we supplied a valid type
+
+  *Ncol = Nval;
+  *Nrow = Ny;
+  return (array);
+}
+
+/** 
+	char *ptr = line;
+	while (*ptr) {
+	  if (*ptr == '\n') {
+	    *ptr = 0;
+	    break;
+	  }
+	  ptr ++;
+	}
+
+ **/
+
+void FFPRINT (char *buffer, int *nbuffer, double value) {
+
+  // I want a fast way to print a float in %e format.
+
+  // use a fixed format 
+  // +F.ffffffe+NN
+
+  int Nbuffer = *nbuffer;
+
+  if (value == 0.0) {
+    strcpy (&buffer[Nbuffer], "0.0+e00");
+    Nbuffer += 7; 
+    *nbuffer = Nbuffer;
+    return;
+  }						
+
+  int isPositiveValue = (value > 0.0);
+
+  double pvalue = fabs(value);
+
+  int isPositiveExp = (pvalue >= 1.0);
+
+  int iExponent = (int)(log10(pvalue));
+  if (!isPositiveExp) iExponent --;
+  
+  double power = pow (10.0, (double) iExponent);
+
+  double Mantissa = pvalue / power;
+
+  int iMantissa = Mantissa * 10000000;
+  
+  char output[14];
+
+  // +1.234567e+01 -> 1234567
+  // 0123456789012 == 6543210
+
+  output[0] = isPositiveValue ? '+' : '-';
+
+  int roundUp = (iMantissa % 10 > 4);
+  // fprintf (stderr, "%f : %d : %d\n", value, iMantissa, roundUp);
+
+  iMantissa = iMantissa / 10;
+  if (roundUp) iMantissa ++;
+
+  int i;
+  for (i = 0; i < 8; i++) {
+    if (i == 6) {
+      output[8-i] = '.';
+      continue;
+    }
+    output[8-i] = '0' + iMantissa % 10;
+    iMantissa = iMantissa / 10;
+  }
+    
+  output[9] = 'e';
+  output[10] = isPositiveExp ? '+' : '-';
+
+  for (i = 0; i < 2; i++) {
+    output[12-i] = '0' + iExponent % 10;
+    iExponent = iExponent / 10;
+  }
+  output[13] = 0;
+  
+  memcpy (&buffer[Nbuffer], output, 14);
+  Nbuffer += 13;
+  *nbuffer = Nbuffer;
+}
Index: /trunk/Ohana/src/uniphot/Makefile
===================================================================
--- /trunk/Ohana/src/uniphot/Makefile	(revision 38985)
+++ /trunk/Ohana/src/uniphot/Makefile	(revision 38986)
@@ -67,4 +67,5 @@
 $(SRC)/update_dvo_setphot.$(ARCH).o \
 $(SRC)/update_catalog_setphot.$(ARCH).o \
+$(SRC)/repair_catalog_by_objID.$(ARCH).o \
 $(SRC)/SetSignals.$(ARCH).o	    \
 $(SRC)/Shutdown.$(ARCH).o	    
@@ -77,5 +78,8 @@
 $(SRC)/update_dvo_setphot.$(ARCH).o \
 $(SRC)/update_catalog_setphot.$(ARCH).o \
+$(SRC)/repair_catalog_by_objID.$(ARCH).o \
 $(SRC)/initialize_setphot_client.$(ARCH).o \
+$(SRC)/SetSignals.$(ARCH).o	    \
+$(SRC)/Shutdown.$(ARCH).o	    \
 $(SRC)/ImageSubset.$(ARCH).o
 
@@ -136,4 +140,6 @@
 $(SRC)/repair_tycho_setastrom.$(ARCH).o \
 $(SRC)/astrom_correction.$(ARCH).o \
+$(SRC)/SetSignals.$(ARCH).o	    \
+$(SRC)/Shutdown.$(ARCH).o	    \
 $(SRC)/initialize_setastrom.$(ARCH).o
 
@@ -158,4 +164,6 @@
 $(SRC)/update_catalog_setgalmodel.$(ARCH).o \
 $(SRC)/galmodel_correction.$(ARCH).o \
+$(SRC)/SetSignals.$(ARCH).o	    \
+$(SRC)/Shutdown.$(ARCH).o	    \
 $(SRC)/initialize_setgalmodel.$(ARCH).o
 
@@ -234,4 +242,6 @@
 $(SRC)/initialize_ckids.$(ARCH).o     \
 $(SRC)/update_dvo_ckids.$(ARCH).o     \
+$(SRC)/SetSignals.$(ARCH).o	    \
+$(SRC)/Shutdown.$(ARCH).o	    \
 $(SRC)/update_catalog_ckids.$(ARCH).o
 
@@ -243,4 +253,6 @@
 $(SRC)/initialize_ckids.$(ARCH).o     \
 $(SRC)/update_dvo_ckids.$(ARCH).o     \
+$(SRC)/SetSignals.$(ARCH).o	    \
+$(SRC)/Shutdown.$(ARCH).o	    \
 $(SRC)/update_catalog_ckids.$(ARCH).o
 
Index: /trunk/Ohana/src/uniphot/include/ckids.h
===================================================================
--- /trunk/Ohana/src/uniphot/include/ckids.h	(revision 38985)
+++ /trunk/Ohana/src/uniphot/include/ckids.h	(revision 38986)
@@ -22,14 +22,20 @@
 void          ConfigInit                        PROTO((int *argc, char **argv));
 
-void          usage_ckids                       PROTO(());
+void          usage_ckids                       PROTO((void));
 void          initialize_ckids                  PROTO((int argc, char **argv));
 int           args_ckids                        PROTO((int argc, char **argv));
 					            
-void          usage_ckids_client                PROTO(());
+void          usage_ckids_client                PROTO((void));
 void          initialize_ckids_client           PROTO((int argc, char **argv));
 int           args_ckids_client                 PROTO((int argc, char **argv));
 
-int           update_dvo_ckids                  PROTO(());
+int           update_dvo_ckids                  PROTO((void));
 int           update_dvo_ckids_parallel         PROTO((SkyList *sky));
 					            
 void          update_catalog_ckids              PROTO((Catalog *catalog, FILE *foutput));
+
+int           Shutdown                        PROTO((char *format, ...) OHANA_FORMAT(printf, 1, 2) );
+void          TrapSignal                      PROTO((int sig));
+void          SetProtect                      PROTO((int mode));
+int           SetSignals                      PROTO((void));
+
Index: /trunk/Ohana/src/uniphot/include/fiximids.h
===================================================================
--- /trunk/Ohana/src/uniphot/include/fiximids.h	(revision 38985)
+++ /trunk/Ohana/src/uniphot/include/fiximids.h	(revision 38986)
@@ -37,9 +37,9 @@
 void          ConfigInit                        PROTO((int *argc, char **argv));
 
-void          usage_fiximids                    PROTO(());
+void          usage_fiximids                    PROTO((void));
 void          initialize_fiximids               PROTO((int argc, char **argv));
 int           args_fiximids                     PROTO((int argc, char **argv));
 					        
-void          usage_fiximids_client             PROTO(());
+void          usage_fiximids_client             PROTO((void));
 void          initialize_fiximids_client        PROTO((int argc, char **argv));
 int           args_fiximids_client              PROTO((int argc, char **argv));
Index: /trunk/Ohana/src/uniphot/include/fixstkids.h
===================================================================
--- /trunk/Ohana/src/uniphot/include/fixstkids.h	(revision 38985)
+++ /trunk/Ohana/src/uniphot/include/fixstkids.h	(revision 38986)
@@ -34,9 +34,9 @@
 void          ConfigInit                        PROTO((int *argc, char **argv));
 
-void          usage_fixstkids                   PROTO(());
+void          usage_fixstkids                   PROTO((void));
 void          initialize_fixstkids              PROTO((int argc, char **argv));
 int           args_fixstkids                    PROTO((int argc, char **argv));
 					        
-void          usage_fixstkids_client            PROTO(());
+void          usage_fixstkids_client            PROTO((void));
 void          initialize_fixstkids_client       PROTO((int argc, char **argv));
 int           args_fixstkids_client             PROTO((int argc, char **argv));
Index: /trunk/Ohana/src/uniphot/include/setastrom.h
===================================================================
--- /trunk/Ohana/src/uniphot/include/setastrom.h	(revision 38985)
+++ /trunk/Ohana/src/uniphot/include/setastrom.h	(revision 38986)
@@ -64,18 +64,18 @@
 void          ConfigInit                      PROTO((int *argc, char **argv));
 
-void          usage_setastrom                 PROTO(());
+void          usage_setastrom                 PROTO((void));
 void          initialize_setastrom            PROTO((int argc, char **argv));
 int           args_setastrom                  PROTO((int argc, char **argv));
 
-void          usage_setastrom_client          PROTO(());
+void          usage_setastrom_client          PROTO((void));
 void          initialize_setastrom_client     PROTO((int argc, char **argv));
 int           args_setastrom_client           PROTO((int argc, char **argv));
 
-// int           Shutdown                        PROTO((char *format, ...) OHANA_FORMAT(printf, 1, 2) );
-// void          TrapSignal                      PROTO((int sig));
-// void          SetProtect                      PROTO((int mode));
-// int           SetSignals                      PROTO((void));
+int           Shutdown                        PROTO((char *format, ...) OHANA_FORMAT(printf, 1, 2) );
+void          TrapSignal                      PROTO((int sig));
+void          SetProtect                      PROTO((int mode));
+int           SetSignals                      PROTO((void));
 
-int           update_dvo_setastrom            PROTO(());
+int           update_dvo_setastrom            PROTO((void));
 int           update_dvo_setastrom_parallel   PROTO((SkyTable *sky));
 
Index: /trunk/Ohana/src/uniphot/include/setgalmodel.h
===================================================================
--- /trunk/Ohana/src/uniphot/include/setgalmodel.h	(revision 38985)
+++ /trunk/Ohana/src/uniphot/include/setgalmodel.h	(revision 38986)
@@ -26,16 +26,16 @@
 void          ConfigInit                      PROTO((int *argc, char **argv));
 
-void          usage_setgalmodel                 PROTO(());
+void          usage_setgalmodel                 PROTO((void));
 void          initialize_setgalmodel            PROTO((int argc, char **argv));
 int           args_setgalmodel                  PROTO((int argc, char **argv));
 
-void          usage_setgalmodel_client          PROTO(());
+void          usage_setgalmodel_client          PROTO((void));
 void          initialize_setgalmodel_client     PROTO((int argc, char **argv));
 int           args_setgalmodel_client           PROTO((int argc, char **argv));
 
-// int           Shutdown                        PROTO((char *format, ...) OHANA_FORMAT(printf, 1, 2) );
-// void          TrapSignal                      PROTO((int sig));
-// void          SetProtect                      PROTO((int mode));
-// int           SetSignals                      PROTO((void));
+int           Shutdown                        PROTO((char *format, ...) OHANA_FORMAT(printf, 1, 2) );
+void          TrapSignal                      PROTO((int sig));
+void          SetProtect                      PROTO((int mode));
+int           SetSignals                      PROTO((void));
 
 int           update_dvo_setgalmodel            PROTO((void));
Index: /trunk/Ohana/src/uniphot/include/setphot.h
===================================================================
--- /trunk/Ohana/src/uniphot/include/setphot.h	(revision 38985)
+++ /trunk/Ohana/src/uniphot/include/setphot.h	(revision 38986)
@@ -35,4 +35,5 @@
 int          PARALLEL_SERIAL;
 int          IMAGES_ONLY;
+int          REPAIR_BY_OBJID;
 
 SkyRegion    UserPatch;
@@ -76,2 +77,4 @@
 int           parse_zpt_offsets           PROTO((char *ZPT_OFFSET_FILTERS, char *ZPT_OFFSET_VALUES));
 float         apply_zpt_offset            PROTO((short code));
+
+int repair_catalog_by_objID (Catalog *catalog);
Index: unk/Ohana/src/uniphot/include/setphot_client.h
===================================================================
--- /trunk/Ohana/src/uniphot/include/setphot_client.h	(revision 38985)
+++ 	(revision )
@@ -1,170 +1,0 @@
-# include <ohana.h>
-# include <dvo.h>
-# include <signal.h>
-
-# ifdef ANSI
-#   define F_SETFL      4   
-#   define O_NONBLOCK   0200000  
-#   define AF_UNIX      1          
-#   define SOCK_STREAM  1          
-#   define ENOENT       2       /* No such file or directory    */
-# endif /* ANSI */
-
-typedef struct {
-  double median;
-  double mean;
-  double sigma;
-  double error;
-  double chisq;
-  double min;
-  double max;
-  double total;
-  int    Nmeas;
-} StatType;
-
-typedef struct {
-  void *tgroup;
-  void *sgroup;
-} ImageLink;
-
-typedef struct {
-  char tstart[64];
-  char tstop[64];
-  char label[64];
-  float M;
-  float dM;
-  float dMsub;
-  double v1, v2;
-  Image **image;
-  ImageLink **imlink;
-  int Nimage, Ngood;
-} Group;
-
-typedef struct {
-    float zpt;
-    float zpt_err;
-    e_time time;
-    int found;
-} ZptTable;
-
-typedef struct {
-    float fwhm_major;
-    float fwhm_minor;
-    e_time time;
-    int found;
-    unsigned short photcode;
-} FWHMTable;
-
-/* global variables set in parameter file */
-char         ImageCat[256];
-char         CATDIR[256];
-char         CATMODE[16];    /* raw, mef, split, mysql */
-char         CATFORMAT[16];  /* internal, elixir, loneos, panstarrs */
-char         SKY_TABLE[256];
-int          SKY_DEPTH;  /** XXX EAM : depth of catalog tables, fix usage */
-char         GSCFILE[256];
-char         STATMODE[64];
-int          VERBOSE;
-int          UBERCAL; // load the supplied ubercal zero point fits table (with flat-field corrections)
-int          NO_METADATA; // the supplied ubercal data has no descriptive metadata
-int          NLOOP;
-int          TimeSelect;
-int          VERBOSE;
-int          UPDATE;
-int          IMAGE_BAD;
-double       RADIUS;
-double       TRANGE;
-time_t 	     TSTART;
-time_t 	     TSTOP;
-PhotCode    *photcode;
-
-SkyRegion    UserPatch;
-
-enum {black, white, red, orange, yellow, green, blue, indigo, violet};
-
-typedef struct {
-  double xmin, xmax, ymin, ymax;
-  int style, ptype, ltype, etype, color;
-  double lweight, size;
-} UPGraphdata;
-
-/***** prototypes ****/
-void          ConfigInit          PROTO((int *argc, char **argv));
-void          DonePlotting        PROTO((UPGraphdata *graphmode, int N));
-void          JpegPlot            PROTO((UPGraphdata *graphmode, int N, char *filename));
-void          PSPlot              PROTO((UPGraphdata *graphmode, int N, char *filename));
-void          PlotLabel           PROTO((char *string, int N));
-void          PlotVector          PROTO((int Npts, double *vect, int mode, int N));
-void          PrepPlotting        PROTO((int Npts, UPGraphdata *graphmode, int N));
-void          XDead               PROTO((void));
-int           args_uniphot        PROTO((int argc, char **argv));
-int           args_setphot        PROTO((int argc, char **argv));
-void          dumpresult          PROTO((void));
-Group        *find_image_sgroups  PROTO((FITS_DB *db, ImageLink **imlink, int *Nsgroup));
-Group        *find_image_tgroups  PROTO((FITS_DB *db, ImageLink **imlink, int *Ntgroup));
-void          fit_sgroup          PROTO((Group *sgroup, int Nsgroup));
-void          fit_tgroup          PROTO((Group *tgroup, int Ntgroup));
-int           gcatalog            PROTO((Catalog *catalog));
-void          initialize_uniphot  PROTO((int argc, char **argv));
-void          initialize_setphot  PROTO((int argc, char **argv));
-void          initstats           PROTO((char *mode));
-int           liststats           PROTO((double *value, double *dvalue, int N, StatType *stats));
-int           load_images_uniphot PROTO((FITS_DB *db));
-int           main                PROTO((int argc, char **argv));
-int           open_graph          PROTO((int N));
-void          sort                PROTO((unsigned int *X, int N));
-void          sortB               PROTO((double *X, double *Y, int N));
-void          sortD               PROTO((double *X, double *Y, double *Z, int N));
-void          wcatalog            PROTO((Catalog *catalog));
-void          wimages             PROTO((Image *image, int Nimage));
-void 	      check_permissions   PROTO((char *basefile));
-void 	      lock_image_db 	  PROTO((FITS_DB *db, char *filename));
-void	      unlock_image_db 	  PROTO((FITS_DB *db));
-void	      create_image_db 	  PROTO((FITS_DB *db));
-void	      set_db 		  PROTO((FITS_DB *in));
-int 	      Shutdown 		  PROTO((char *format, ...) OHANA_FORMAT(printf, 1, 2) );
-void 	      TrapSignal 	  PROTO((int sig));
-void 	      SetProtect 	  PROTO((int mode));
-int 	      SetSignals 	  PROTO((void));
-int 	      subset_images 	  PROTO((FITS_DB *db));
-void 	      update_dvo_uniphot  PROTO((FITS_DB *db, Group *sgroup, int Nsgroup));
-void          update_catalog_uniphot PROTO((Catalog *catalog, Group *sgroup, int warn));
-void 	      sort_time 	  PROTO((unsigned int *value, int N));
-
-// setphot-specific prototypes
-ZptTable     *load_zpt_table         PROTO((char *filename, int *nzpts));
-Image        *load_images_setphot    PROTO((FITS_DB *db, off_t *Nimage));
-int           match_zpts_to_images   PROTO((Image *image, off_t Nimage, ZptTable *zpts, int Nzpts));
-int           update_dvo_setphot     PROTO((Image *image, off_t Nimage, FlatCorrectionTable *flatcorr));
-void          update_catalog_setphot PROTO((Catalog *catalog, Image *image, off_t *index, off_t Nimage, FlatCorrectionTable *flatcorr));
-
-ZptTable *load_zpt_ubercal (char *filename, int *nzpts, FlatCorrectionTable *flatcorrTable);
-ZptTable *load_zpt_ubercal_nometadata (char *filename, int *nzpts, FlatCorrectionTable *flatcorrTable);
-int match_flatcorr_to_images (Image *image, off_t Nimage, FlatCorrectionTable *flatcorrTable);
-
-/*** time/coord conversion functions not supplied by libohana ***/
-time_t        TimeRef               PROTO((double time, time_t TimeReference, int TimeFormat));
-double        TimeValue             PROTO((time_t time, time_t TimeReference, int TimeFormat));
-
-int           hh_hms                PROTO((double hh, int *hr, int *mn, double *sc));
-int           dd_dms                PROTO((double dd, int *dg, int *mn, double *sc));
-int           hms_format            PROTO((char *line, double value));
-int           dms_format            PROTO((char *line, double value));
-int           hh_hm                 PROTO((double hh, int *hr, double *mn));
-int           day_to_sec            PROTO((char *string, time_t *second));
-int           hms_to_sec            PROTO((char *string, time_t *second));
-char         *ohana_sec_to_hms      PROTO((time_t second));
-char         *ohana_sec_to_day      PROTO((time_t second));
-
-char         *meade_deg_to_str      PROTO((double deg));
-char         *meade_ra_to_str       PROTO((double deg));
-char         *meade_dec_to_str      PROTO((double deg));
-char         *strptime              PROTO((const char *s, const char *format, struct tm *tm));
-time_t        GetTimeReference      PROTO((char *reference));
-int           GetTimeUnits          PROTO((char *name));
-
-void          initialize_setfwhm    PROTO((int argc, char **argv));
-int           args_setfwhm          PROTO((int argc, char **argv));
-FWHMTable    *load_fwhm_table       PROTO((char *filename, int *nfwhm));
-int           match_fwhm_to_images  PROTO((Image *image, off_t Nimage, FWHMTable *fwhm, int Nfwhm));
-
Index: /trunk/Ohana/src/uniphot/include/setposangle.h
===================================================================
--- /trunk/Ohana/src/uniphot/include/setposangle.h	(revision 38985)
+++ /trunk/Ohana/src/uniphot/include/setposangle.h	(revision 38986)
@@ -39,9 +39,9 @@
 void          ConfigInit                        PROTO((int *argc, char **argv));
 
-void          usage_setposangle                 PROTO(());
+void          usage_setposangle                 PROTO((void));
 void          initialize_setposangle            PROTO((int argc, char **argv));
 int           args_setposangle                  PROTO((int argc, char **argv));
 
-void          usage_setposangle_client          PROTO(());
+void          usage_setposangle_client          PROTO((void));
 void          initialize_setposangle_client     PROTO((int argc, char **argv));
 int           args_setposangle_client           PROTO((int argc, char **argv));
Index: /trunk/Ohana/src/uniphot/src/Shutdown.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/Shutdown.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/Shutdown.c	(revision 38986)
@@ -21,6 +21,4 @@
   va_end (argp);
 
-  SetProtect (TRUE);
-  gfits_db_close (db);
   fprintf (stderr, "ERROR: halted\n");
   exit (1);
Index: /trunk/Ohana/src/uniphot/src/ckids.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/ckids.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/ckids.c	(revision 38986)
@@ -6,4 +6,5 @@
 
   /* get configuration info, args, lockfile */
+  SetSignals ();
   initialize_ckids (argc, argv);
 
Index: /trunk/Ohana/src/uniphot/src/ckids_client.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/ckids_client.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/ckids_client.c	(revision 38986)
@@ -12,4 +12,5 @@
 
   // get configuration info, args, lockfile (set CATDIR, HOST_ID, HOSTDIR, IMAGES)
+  SetSignals ();
   initialize_ckids_client (argc, argv);
 
Index: /trunk/Ohana/src/uniphot/src/fiximids.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/fiximids.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/fiximids.c	(revision 38986)
@@ -8,4 +8,5 @@
 
   /* get configuration info, args, lockfile */
+  SetSignals ();
   initialize_fiximids (argc, argv);
 
Index: /trunk/Ohana/src/uniphot/src/fiximids_client.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/fiximids_client.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/fiximids_client.c	(revision 38986)
@@ -13,4 +13,5 @@
 
   // get configuration info, args, lockfile (set CATDIR, HOST_ID, HOSTDIR, IMAGES)
+  SetSignals ();
   initialize_fiximids_client (argc, argv);
 
Index: /trunk/Ohana/src/uniphot/src/fixstkids.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/fixstkids.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/fixstkids.c	(revision 38986)
@@ -8,4 +8,5 @@
 
   /* get configuration info, args, lockfile */
+  SetSignals ();
   initialize_fixstkids (argc, argv);
 
Index: /trunk/Ohana/src/uniphot/src/fixstkids_client.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/fixstkids_client.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/fixstkids_client.c	(revision 38986)
@@ -13,4 +13,5 @@
 
   // get configuration info, args, lockfile (set CATDIR, HOST_ID, HOSTDIR, IMAGES)
+  SetSignals ();
   initialize_fixstkids_client (argc, argv);
 
Index: /trunk/Ohana/src/uniphot/src/initialize_setphot.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/initialize_setphot.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/initialize_setphot.c	(revision 38986)
@@ -49,4 +49,10 @@
   if ((N = get_argument (argc, argv, "-reset"))) {
     RESET = TRUE;
+    remove_argument (N, &argc, argv);
+  }
+
+  REPAIR_BY_OBJID = FALSE;
+  if ((N = get_argument (argc, argv, "-repair-by-objid"))) {
+    REPAIR_BY_OBJID = TRUE;
     remove_argument (N, &argc, argv);
   }
Index: /trunk/Ohana/src/uniphot/src/initialize_setphot_client.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/initialize_setphot_client.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/initialize_setphot_client.c	(revision 38986)
@@ -53,4 +53,10 @@
     remove_argument (N, &argc, argv);
     UserPatch.Dmax = atof (argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+
+  REPAIR_BY_OBJID = FALSE;
+  if ((N = get_argument (argc, argv, "-repair-by-objid"))) {
+    REPAIR_BY_OBJID = TRUE;
     remove_argument (N, &argc, argv);
   }
Index: /trunk/Ohana/src/uniphot/src/load_zpt_table.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/load_zpt_table.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/load_zpt_table.c	(revision 38986)
@@ -107,5 +107,5 @@
   if (NO_METADATA) {
     NFILTER = 5;
-    NSEASON = 4;
+    NSEASON = 5;
     NCHIP_X = 8;
     NCHIP_Y = 8;
@@ -165,6 +165,10 @@
   // ubercal hard-coded values
   char filters_uc[5][3] = {"g", "r", "i", "z", "y"};
-  double tstart_uc[] = {55000.0, 55296.0, 55327.0, 55662.0};
-  double tstop_uc[]  = {55296.0, 55327.0, 55662.0, 60000.0};
+
+  // double tstart_uc[] = {55000.0, 55296.0, 55327.0, 55662.0};
+  // double tstop_uc[]  = {55296.0, 55327.0, 55662.0, 60000.0};
+
+  double tstart_uc[] = {50000.0, 55296.0, 55327.0, 55662.0, 56110.0};
+  double tstop_uc[]  = {55296.0, 55327.0, 55662.0, 56110.0, 65000.0};
 
   double mjdstart, mjdstop;
@@ -275,4 +279,14 @@
 	exit (2);
     }
+
+    // ***** skip the extra table segment *****
+    // load data for this header 
+    if (!gfits_load_header (f, &theader)) return (NULL);
+
+    // read the fits table bytes
+    if (!gfits_fread_ftable_data (f, &ftable, FALSE)) return (NULL);
+  
+    // skip over remaining bytes in data segment
+    fseeko (f, ftable.datasize - ftable.validsize, SEEK_CUR);
 
     // XXX the initial hacked-together table from Eddie is missing the last 2 elements.  they should be zero
Index: /trunk/Ohana/src/uniphot/src/repair_catalog_by_objID.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/repair_catalog_by_objID.c	(revision 38986)
+++ /trunk/Ohana/src/uniphot/src/repair_catalog_by_objID.c	(revision 38986)
@@ -0,0 +1,116 @@
+# include "setphot.h"
+
+int repair_catalog_by_objID (Catalog *catalog) {
+
+  // first find the entries which are bad (there may be none)
+  int Nbad = 0;
+
+  Average *average = catalog->average;
+  Measure *measure = catalog->measure;
+
+  off_t i, j;
+  for (i = 0; i < catalog->Naverage; i++) {
+    off_t m = average[i].measureOffset;
+    for (j = 0; j < average[i].Nmeasure; j++) {
+      if (average[i].objID == measure[m+j].objID) continue;
+      
+      // this is a bad entry.  now we need to decide if it can be repaired
+      
+      Measure *myMeasure = &measure[m+j];
+      int iTest = myMeasure->objID;
+      myAssert (average[iTest].objID == iTest, "cannot find target source");
+      
+      double dR = 3600.0*(average[iTest].R - myMeasure->R) * cos (RAD_DEG*myMeasure->D);
+      double dD = 3600.0*(average[iTest].D - myMeasure->D);
+      double dRad = hypot (dR, dD);
+      myAssert (dRad < 2.0, "bad detection does not seem to match target source");
+      
+      char *date = ohana_sec_to_date (myMeasure->t);
+      fprintf (stderr, "bad detection found: matches averef %d, objID %d, %s : %6.3f %5d : %f, %f = %f\n", iTest, myMeasure->objID, date, myMeasure->M, myMeasure->photcode, dR, dD, dRad);
+      free (date);
+      Nbad ++;
+    }
+  }
+  if (!Nbad) return TRUE;
+
+  // we have at least one bad detection
+  // make a matched list of the measurement sequence and the objID values
+
+  off_t Nmeasure = catalog->Nmeasure;
+  ALLOCATE_PTR (seq,   off_t, Nmeasure);
+  ALLOCATE_PTR (objID, off_t, Nmeasure);
+
+  for (i = 0; i < Nmeasure; i++) {
+    seq[i]   = i;
+    objID[i] = measure[i].objID;
+  }    
+
+  // sort seq by objID
+  llsortpair (objID, seq, Nmeasure);
+
+  // create a new array of measures in objID order
+  Measure *measureNew = NULL;
+  ALLOCATE (measureNew, Measure, Nmeasure);
+  
+  for (i = 0; i < Nmeasure; i++) {
+    j = seq[i];
+    measureNew[i] = measure[j];
+  }
+
+  // reset averef and Nmeasure values for the average entries
+  off_t N = 0;
+  off_t myObjID = objID[0];
+  off_t averef = 0;
+  average[averef].measureOffset = 0;
+  for (i = 0; i < Nmeasure; i++) {
+    if (objID[i] != myObjID) {
+      // we have hit the next entry in the list
+      average[averef].Nmeasure = N;
+      N = 0;
+      myObjID = objID[i];
+      averef ++;
+      average[averef].measureOffset = i;
+    }
+    if (measureNew[i].averef != averef) {
+      fprintf (stderr, "fixing averef for measure "OFF_T_FMT" (%d -> "OFF_T_FMT")\n", i, measureNew[i].averef, averef);
+      measureNew[i].averef = averef;
+    }
+    N++;
+  }
+  average[averef].Nmeasure = N;
+
+  free (catalog->measure);
+  catalog->measure = measureNew;
+
+  int NmeasureTotal = 0;
+  int measureOffsetOK = TRUE;
+  for (i = 0; i < catalog->Naverage; i++) {
+    NmeasureTotal += catalog[0].average[i].Nmeasure;
+    if (!(NmeasureTotal <= catalog[0].Nmeasure)) {
+      fprintf (stderr, "too many measurements: %d %d %d\n", (int) i, NmeasureTotal, (int) catalog[0].Nmeasure);
+    }
+    measureOffsetOK &= (catalog[0].average[i].measureOffset < catalog[0].Nmeasure);
+    if (!(catalog[0].average[i].measureOffset < catalog[0].Nmeasure)) {
+      fprintf (stderr, "offset too large: %d %d %d\n", (int) i, catalog[0].average[i].Nmeasure, (int) catalog[0].Nmeasure);
+    }
+    measureOffsetOK &= (catalog[0].average[i].measureOffset + catalog[0].average[i].Nmeasure <= catalog[0].Nmeasure);
+    if (!(catalog[0].average[i].measureOffset + catalog[0].average[i].Nmeasure <= catalog[0].Nmeasure)) {
+      fprintf (stderr, "offset + Nmeasure too large: %d + %d > %d %d\n", (int) i, catalog[0].average[i].measureOffset, catalog[0].average[i].Nmeasure, (int) catalog[0].Nmeasure);
+    }
+  }
+
+  int status = TRUE;
+  if (!measureOffsetOK) {
+    fprintf (stderr, "ERROR: catalog %s has an invalid measureOffset\n", catalog[0].filename);
+    status = FALSE;
+  }
+
+  if (NmeasureTotal != catalog[0].Nmeasure) {
+    fprintf (stderr, "ERROR: catalog %s has an invalid Nmeasure\n", catalog[0].filename);
+    status = FALSE;
+  }
+
+  if (!status) exit (2);
+
+  return TRUE;
+}
Index: /trunk/Ohana/src/uniphot/src/setastrom.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/setastrom.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/setastrom.c	(revision 38986)
@@ -6,4 +6,5 @@
 
   /* get configuration info, args, lockfile */
+  SetSignals ();
   initialize_setastrom (argc, argv);
 
Index: /trunk/Ohana/src/uniphot/src/setastrom_client.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/setastrom_client.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/setastrom_client.c	(revision 38986)
@@ -13,7 +13,8 @@
 
   // get configuration info, args, lockfile (set CATDIR, HOST_ID, HOSTDIR, IMAGES)
+  SetSignals ();
   initialize_setastrom_client (argc, argv);
 
-  update_dvo_setastrom (argv[1]);
+  update_dvo_setastrom ();
 
   exit (0);
Index: /trunk/Ohana/src/uniphot/src/setfwhm.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/setfwhm.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/setfwhm.c	(revision 38986)
@@ -10,4 +10,5 @@
 
   /* get configuration info, args, lockfile */
+  SetSignals ();
   initialize_setfwhm (argc, argv);
 
Index: /trunk/Ohana/src/uniphot/src/setgalmodel.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/setgalmodel.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/setgalmodel.c	(revision 38986)
@@ -6,4 +6,5 @@
 
   /* get configuration info, args, lockfile */
+  SetSignals ();
   initialize_setgalmodel (argc, argv);
 
Index: /trunk/Ohana/src/uniphot/src/setgalmodel_client.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/setgalmodel_client.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/setgalmodel_client.c	(revision 38986)
@@ -13,4 +13,5 @@
 
   // get configuration info, args, lockfile (set CATDIR, HOST_ID, HOSTDIR, IMAGES)
+  SetSignals ();
   initialize_setgalmodel_client (argc, argv);
 
Index: /trunk/Ohana/src/uniphot/src/setphot.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/setphot.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/setphot.c	(revision 38986)
@@ -11,4 +11,5 @@
 
   /* get configuration info, args, lockfile */
+  SetSignals ();
   initialize_setphot (argc, argv);
 
@@ -50,5 +51,7 @@
   // write image table (even if some remote clients failed)
   if (UPDATE) {
+    SetProtect (TRUE);
     dvo_image_save (&db, VERBOSE);
+    SetProtect (FALSE);
   }
 
Index: /trunk/Ohana/src/uniphot/src/setphot_client.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/setphot_client.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/setphot_client.c	(revision 38986)
@@ -13,4 +13,5 @@
 
   // get configuration info, args, lockfile (set CATDIR, HOST_ID, HOSTDIR, IMAGES)
+  SetSignals ();
   initialize_setphot_client (argc, argv);
 
Index: /trunk/Ohana/src/uniphot/src/setposangle.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/setposangle.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/setposangle.c	(revision 38986)
@@ -8,4 +8,5 @@
 
   /* get configuration info, args, lockfile */
+  SetSignals ();
   initialize_setposangle (argc, argv);
 
Index: /trunk/Ohana/src/uniphot/src/setposangle_client.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/setposangle_client.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/setposangle_client.c	(revision 38986)
@@ -13,4 +13,5 @@
 
   // get configuration info, args, lockfile (set CATDIR, HOST_ID, HOSTDIR, IMAGES)
+  SetSignals ();
   initialize_setposangle_client (argc, argv);
 
Index: /trunk/Ohana/src/uniphot/src/uniphot.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/uniphot.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/uniphot.c	(revision 38986)
@@ -16,4 +16,5 @@
 
   /* get configuration info, args, lockfile */
+  SetSignals ();
   initialize_uniphot (argc, argv);
 
Index: /trunk/Ohana/src/uniphot/src/update_catalog_setastrom.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/update_catalog_setastrom.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/update_catalog_setastrom.c	(revision 38986)
@@ -42,8 +42,7 @@
     // XXX hardwire the list of chips to KH correct
     // some notes:
+    // XY17 surprisingly does not need correction
     // XY24 surprisingly does not need correction
-    // XY27 has poor astrometry with a weird correction for all mags
     // XY36 surprisingly does not need correction
-    // XY67 has poor astrometry with a weird correction for all mags
 
     int doKH = FALSE;
@@ -55,7 +54,7 @@
       case 15:
       case 16:
-      case 17:
       case 25:
       case 26:
+      case 27:
       case 34:
       case 35:
@@ -73,4 +72,5 @@
       case 62:
       case 63:
+      case 67:
       case 71:
       case 72:
@@ -100,5 +100,5 @@
       // this correction here (but ideally I would re-measure the KH trend from PV2 data and re-generate 
       // the splines
-      float MinstSB = Minst + 5.0*log10(M_SQRT2*fwhm_maj);
+      float MinstSB = Minst + 5.0*log10(fwhm_maj);
 
       // I should validate that the spline I'm using is SB corrected not Minst..
@@ -249,6 +249,6 @@
     // do not modify the original Xccd,Yccd values
     if (KH_FILE) {
-      measure[0].XoffKH = dX_KH / pltScale;
-      measure[0].YoffKH = dY_KH / pltScale;
+      measure[0].XoffKH = -dX_KH / pltScale;
+      measure[0].YoffKH = -dY_KH / pltScale;
     }
     if (KH_RESET) {
Index: /trunk/Ohana/src/uniphot/src/update_catalog_setgalmodel.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/update_catalog_setgalmodel.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/update_catalog_setgalmodel.c	(revision 38986)
@@ -3,8 +3,5 @@
 int update_catalog_setgalmodel (Catalog *catalog) {
 
-  off_t i, j, m;
-
-  // choose this number more judiciously...
-  time_t timeRef = ohana_date_to_sec("2000/01/01,00:00:00");
+  off_t i, m;
 
   Average *average = catalog[0].average;
@@ -20,12 +17,6 @@
   for (i = 0; i < catalog[0].Naverage; i++) {
 
-    { 
-      m = average[i].measureOffset;
-      Measure *measure = &catalog[0].measure[m];
-      for (j = 0; j < average[i].Nmeasure; j++) {
-	measure[j].RoffGAL = 0.0; // XXX divide by dcos? project and calculate?
-	measure[j].DoffGAL = 0.0; // XXX divide by dcos? project and calculate?
-      }
-    }
+    average[i].uRgal = NAN;
+    average[i].uDgal = NAN;
 
     if (average[i].Nstarpar == 0) continue;
@@ -63,16 +54,6 @@
     starpar->uDEC = uD;
 
-    m = average[i].measureOffset;
-    Measure *measure = &catalog[0].measure[m];
-
-    // use the model uR,uD values to move the expected position based on the reference date;
-    for (j = 0; j < average[i].Nmeasure; j++) {
-
-      double dtime = (measure[j].t - timeRef) / 86400.0 / 365.25;
-
-      // do not modify the original Xccd,Yccd values
-      measure[j].RoffGAL = uR * dtime; // XXX divide by dcos? project and calculate?
-      measure[j].DoffGAL = uD * dtime; // XXX divide by dcos? project and calculate?
-    }
+    average[i].uRgal = uR;
+    average[i].uDgal = uD;
   }
 
Index: /trunk/Ohana/src/uniphot/src/update_dvo_ckids.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/update_dvo_ckids.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/update_dvo_ckids.c	(revision 38986)
@@ -69,6 +69,8 @@
     if (VERBOSE) fprintf (stderr, "saving catalog %s\n", catalog.filename);
     
-    dvo_catalog_save (&catalog, VERBOSE); 
-    dvo_catalog_unlock (&catalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/uniphot/src/update_dvo_fiximids.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/update_dvo_fiximids.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/update_dvo_fiximids.c	(revision 38986)
@@ -64,6 +64,8 @@
     if (VERBOSE) fprintf (stderr, "saving catalog %s\n", catalog.filename);
     
-    dvo_catalog_save (&catalog, VERBOSE); 
-    dvo_catalog_unlock (&catalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/uniphot/src/update_dvo_fixstkids.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/update_dvo_fixstkids.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/update_dvo_fixstkids.c	(revision 38986)
@@ -64,6 +64,8 @@
     if (VERBOSE) fprintf (stderr, "saving catalog %s\n", catalog.filename);
     
-    dvo_catalog_save (&catalog, VERBOSE); 
-    dvo_catalog_unlock (&catalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/uniphot/src/update_dvo_setastrom.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/update_dvo_setastrom.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/update_dvo_setastrom.c	(revision 38986)
@@ -1,5 +1,5 @@
 # include "setastrom.h"
 
-int update_dvo_setastrom () {
+int update_dvo_setastrom (void) {
 
   SkyTable *sky = NULL;
@@ -74,6 +74,20 @@
     if (VERBOSE) fprintf (stderr, "saving catalog %s\n", catalog.filename);
     
-    dvo_catalog_save (&catalog, VERBOSE); 
-    dvo_catalog_unlock (&catalog);
+    struct timeval now;
+    gettimeofday (&now, (void *) NULL);
+    char *moddate = ohana_sec_to_date (now.tv_sec);
+    gfits_modify (&catalog.header, "SETASTR", "%s", 1, moddate); // replaces the single entry
+
+    char history[128];
+    snprintf (history, 128, "setastrom applied: %s", moddate);
+    gfits_modify_alt (&catalog.header, "HISTORY", "%S", 0, history); // adds a new entry
+
+    snprintf (history, 128, "setastrom options: KH: %1d, DCR: %1d, CAM: %1d", (KH_FILE != NULL), (DCR_FILE != NULL), (CAM_FILE != NULL));
+    gfits_modify_alt (&catalog.header, "HISTORY", "%S", 0, history); // adds a new entry
+
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/uniphot/src/update_dvo_setgalmodel.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/update_dvo_setgalmodel.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/update_dvo_setgalmodel.c	(revision 38986)
@@ -66,6 +66,8 @@
     if (VERBOSE) fprintf (stderr, "saving catalog %s\n", catalog.filename);
     
-    dvo_catalog_save (&catalog, VERBOSE); 
-    dvo_catalog_unlock (&catalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/uniphot/src/update_dvo_setphot.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/update_dvo_setphot.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/update_dvo_setphot.c	(revision 38986)
@@ -53,5 +53,5 @@
     dvo_catalog_init (&catalog, TRUE);
     catalog.filename    = HOST_ID ? localFilename : skylist[0].filename[i];
-    catalog.catflags    = DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE | DVO_LOAD_MISSING | DVO_LOAD_SECFILT;
+    catalog.catflags    = DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE;
     catalog.Nsecfilt    = GetPhotcodeNsecfilt ();
 
@@ -67,4 +67,10 @@
     }
 
+    if (REPAIR_BY_OBJID) {
+      // For gpc1 / PV3, I broke some catalogs with dvomerge -replace: the last object can
+      // contaminate the first set of new measurements
+      repair_catalog_by_objID (&catalog);
+    }
+
     update_catalog_setphot (&catalog, image, index, Nimage, flatcorr);
 
@@ -77,6 +83,22 @@
     if (VERBOSE) fprintf (stderr, "saving catalog %s\n", catalog.filename);
     
-    dvo_catalog_save (&catalog, VERBOSE); 
-    dvo_catalog_unlock (&catalog);
+    struct timeval now;
+    gettimeofday (&now, (void *) NULL);
+    char *moddate = ohana_sec_to_date (now.tv_sec);
+    gfits_modify (&catalog.header, "SETPHOT", "%s", 1, moddate); // replaces the single entry
+
+    char history[128];
+    snprintf (history, 128, "setphot applied: %s", moddate);
+    gfits_modify_alt (&catalog.header, "HISTORY", "%S", 0, history); // adds a new entry
+
+    snprintf (history, 128, "setphot options: reset: %1d, ubercal: %1d", RESET, UBERCAL);
+    gfits_modify_alt (&catalog.header, "HISTORY", "%S", 0, history); // adds a new entry
+
+    free (moddate);
+
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
   }
@@ -114,8 +136,9 @@
 	      UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax);
 
-    if (VERBOSE)       { strextend (&command, "-v"); }
-    if (RESET)         { strextend (&command, "-reset"); }
-    if (UPDATE)        { strextend (&command, "-update"); }
-    if (UBERCAL)       { strextend (&command, "-ubercal"); }
+    if (VERBOSE)       	 { strextend (&command, "-v"); }
+    if (RESET)         	 { strextend (&command, "-reset"); }
+    if (UPDATE)        	 { strextend (&command, "-update"); }
+    if (UBERCAL)       	 { strextend (&command, "-ubercal"); }
+    if (REPAIR_BY_OBJID) { strextend (&command, "-repair-by-objid"); }
 
     fprintf (stderr, "command: %s\n", command);
Index: /trunk/Ohana/src/uniphot/src/update_dvo_setposangle.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/update_dvo_setposangle.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/update_dvo_setposangle.c	(revision 38986)
@@ -78,6 +78,8 @@
     if (VERBOSE) fprintf (stderr, "saving catalog %s\n", catalog.filename);
     
-    dvo_catalog_save (&catalog, VERBOSE); 
-    dvo_catalog_unlock (&catalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
   }
Index: /trunk/Ohana/src/uniphot/src/update_dvo_uniphot.c
===================================================================
--- /trunk/Ohana/src/uniphot/src/update_dvo_uniphot.c	(revision 38985)
+++ /trunk/Ohana/src/uniphot/src/update_dvo_uniphot.c	(revision 38986)
@@ -101,6 +101,8 @@
     fprintf (stderr, "catalog: %s sgroup: %d %s %f\n", catalog.filename, Nmin, sgroup[Nmin].label, Rmin);
     update_catalog_uniphot (&catalog, &sgroup[Nmin], (Rmin > 2*RADIUS)); 
-    dvo_catalog_save (&catalog, VERBOSE);
-    dvo_catalog_unlock (&catalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
   }
