You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by da...@apache.org on 2017/05/28 18:31:51 UTC
svn commit: r1796518 [18/19] - in /spamassassin/trunk/build/pga: ./ docs/
examples/ examples/c/ examples/fortran/ examples/mgh/ examples/templates/
include/ lib/ lib/linux/ man/ man/man1/ man/man2/ man/man3/ man/man4/
man/man5/ man/man6/ man/man7/ man/...
Added: spamassassin/trunk/build/pga/test/instverf.c
URL: http://svn.apache.org/viewvc/spamassassin/trunk/build/pga/test/instverf.c?rev=1796518&view=auto
==============================================================================
--- spamassassin/trunk/build/pga/test/instverf.c (added)
+++ spamassassin/trunk/build/pga/test/instverf.c Sun May 28 18:31:49 2017
@@ -0,0 +1,461 @@
+/* Example program that shows how to run more than one GA in one
+ * executable, _AND_ verifies the accuracy of installation.
+ *
+ * We will run five distinct GA's, each using a different datatype, and,
+ * thus, a different evaluation function. The correct output of these GA's
+ * is in instverf.data, which we read and compare after all GA's are done.
+ *
+ * The correct solution for #4 and #5 is somewhere around 4.49339389176 for
+ * the genes, and an evaluation value of around -6.951476096.
+ *
+ * Author: Brian P. Walenz
+ */
+#include <pgapack.h>
+
+
+double maxbit(PGAContext *, int, int);
+double ordering(PGAContext *, int, int);
+double name(PGAContext *, int, int);
+double function(PGAContext *, int, int);
+double functionb(PGAContext *, int, int);
+
+/* The user defined functions.
+ *
+ * O_* --> for the Ordering problem (integer), problem 2
+ * N_* --> for the Name problem (character), problem 3
+ * R_* --> for the real problem, problem 4
+ * Rb_* -> for the real problem using the binary datatype, problem 5
+ */
+void EOG(PGAContext *);
+int O_Mutate(PGAContext *, int, int, double);
+void O_Crossover(PGAContext *, int, int, int, int, int, int);
+int N_Mutate(PGAContext *, int, int, double);
+int N_StopCond(PGAContext *);
+void R_Init(PGAContext *, int, int);
+void Rb_Init(PGAContext *, int, int);
+void Rb_PrintString(PGAContext *, FILE *, int, int);
+
+char String[65] =
+ "THEQUICKBROWNFOXJUMPESOVERTHELAZYDOGWHILETHEOLDGOOSELOOKSPUZZLED";
+double Results[5][1001];
+int ResultsIndex;
+
+/* How often to print, and the size (in bits) of each number in a binary
+ * string (used by problem 5)
+ */
+#define PRINTFREQ 100
+#define RBS 24
+
+void main(int argc, char **argv) {
+ PGAContext *ctx;
+ int i, rank;
+ FILE *ResultsFile;
+ double R[5];
+ int E[5];
+
+
+ /* Even though we aren't doing I/O, we MUST initialize MPI ourselves.
+ * If we don't, the first call to PGADestroy will finalize MPI, and
+ * the MPI standard does not allow any MPI calls after that (even
+ * if it is MPI_Init())!
+ */
+ MPI_Init(&argc, &argv);
+ MPI_Comm_rank(MPI_COMM_WORLD, &rank);
+
+ /* All examples use a common custom end of generation function to
+ * stuff the best of generation evaluation into an array.
+ */
+
+
+ /* Our first example is the ever-popular maxbit. As usual, it is
+ * very simple, not even setting PGAPack options! Plus, we use a
+ * very odd string length, 999, which is not divisible by 16, 32 or
+ * 64! What an excellent test!
+ */
+ ResultsIndex = 0;
+ ctx = PGACreate(&argc, argv, PGA_DATATYPE_BINARY, 999, PGA_MAXIMIZE);
+ PGASetRandomSeed(ctx, 42);
+ PGASetPrintFrequencyValue(ctx, PRINTFREQ);
+ PGASetUserFunction(ctx, PGA_USERFUNCTION_ENDOFGEN, (void *)EOG);
+ PGASetUp(ctx);
+ PGARun(ctx, maxbit);
+ PGADestroy(ctx);
+
+ /* Second on the menu is a delicious integer ordering function.
+ * This uses custom mutation and crossover, but permutation
+ * initialization. The objective is to order all alleles in the
+ * integer datatype in an increasing fashion.
+ */
+ ResultsIndex = 1;
+ ctx = PGACreate(&argc, argv, PGA_DATATYPE_INTEGER, 64, PGA_MAXIMIZE);
+ PGASetRandomSeed(ctx, 42);
+ PGASetPrintFrequencyValue(ctx, PRINTFREQ);
+ PGASetUserFunction(ctx, PGA_USERFUNCTION_MUTATION, (void *)O_Mutate);
+ PGASetUserFunction(ctx, PGA_USERFUNCTION_CROSSOVER, (void *)O_Crossover);
+ PGASetUserFunction(ctx, PGA_USERFUNCTION_ENDOFGEN, (void *)EOG);
+ PGASetIntegerInitPermute(ctx, 0, 63);
+ PGASetUp(ctx);
+ PGARun(ctx, ordering);
+ PGADestroy(ctx);
+
+
+ /* Third, and least interesting, is the character maximizer.
+ * Much like name, it uses custom mutation and stopping conditions.
+ */
+ ResultsIndex = 2;
+ ctx = PGACreate(&argc, argv, PGA_DATATYPE_CHARACTER, 64, PGA_MAXIMIZE);
+ PGASetRandomSeed(ctx, 42);
+ PGASetPrintFrequencyValue(ctx, PRINTFREQ);
+ PGASetUserFunction(ctx, PGA_USERFUNCTION_MUTATION, (void *)N_Mutate);
+ PGASetUserFunction(ctx, PGA_USERFUNCTION_STOPCOND, (void *)N_StopCond);
+ PGASetUserFunction(ctx, PGA_USERFUNCTION_ENDOFGEN, (void *)EOG);
+ PGASetCharacterInitType(ctx, PGA_CINIT_UPPER);
+ PGASetUp(ctx);
+ PGARun(ctx, name);
+ PGADestroy(ctx);
+
+
+ /* And, finally, the last of the day. A simple real-valued function
+ * optimizer. Uses custom init string.
+ */
+ ResultsIndex = 3;
+ ctx = PGACreate(&argc, argv, PGA_DATATYPE_REAL, 32, PGA_MINIMIZE);
+ PGASetRandomSeed(ctx, 42);
+ PGASetMutationType(ctx, PGA_MUTATION_CONSTANT);
+ PGASetMutationRealValue(ctx, .1);
+ PGASetPrintFrequencyValue(ctx, PRINTFREQ);
+ PGASetMutationProb(ctx, 0.1);
+ PGASetUserFunction(ctx, PGA_USERFUNCTION_INITSTRING, (void *)R_Init);
+ PGASetUserFunction(ctx, PGA_USERFUNCTION_ENDOFGEN, (void *)EOG);
+ PGASetUp(ctx);
+ PGARun(ctx, function);
+ PGADestroy(ctx);
+
+
+ /* Encore, encore! Fine. We will now perform the last number
+ * using the binary datatype and PGAGetRealFromBinary alternating
+ * with PGAGetRealFromGrayCode.
+ */
+ ResultsIndex = 4;
+ ctx = PGACreate(&argc, argv, PGA_DATATYPE_BINARY, 32*RBS, PGA_MINIMIZE);
+ PGASetRandomSeed(ctx, 42);
+ PGASetPrintFrequencyValue(ctx, PRINTFREQ);
+ PGASetUserFunction(ctx, PGA_USERFUNCTION_INITSTRING, (void *)Rb_Init);
+ PGASetUserFunction(ctx, PGA_USERFUNCTION_PRINTSTRING, (void *)Rb_PrintString);
+ PGASetUserFunction(ctx, PGA_USERFUNCTION_ENDOFGEN, (void *)EOG);
+ PGASetUp(ctx);
+ PGARun(ctx, functionb);
+ PGADestroy(ctx);
+
+
+ /* Compare the Results with the correct values
+ * stored in "./test/data/Results.data"
+ */
+ if (rank == 0) {
+ ResultsFile = fopen("instverf.data", "r");
+ if (ResultsFile) {
+ E[0] = E[1] = E[2] = E[3] = E[4] = 0;
+
+ for (i=1; i<1001; i++) {
+#if 0
+ /* This is used to generate the results file... */
+ printf("%12.6f %12.6f %12.6f %12.6f %12.6f\n",
+ Results[0][i], Results[1][i], Results[2][i],
+ Results[3][i], Results[4][i]);
+#endif
+ fscanf(ResultsFile, "%lf %lf %lf %lf %lf",
+ R, R+1, R+2, R+3, R+4);
+ if (fabs(R[0] - Results[0][i]) > 0.001) E[0]++;
+ if (fabs(R[1] - Results[1][i]) > 0.001) E[1]++;
+ if (fabs(R[2] - Results[2][i]) > 0.001) E[2]++;
+ if (fabs(R[3] - Results[3][i]) > 0.001) E[3]++;
+ if (fabs(R[4] - Results[4][i]) > 0.001) E[4]++;
+ }
+ fclose(ResultsFile);
+ for (i=0; i<5; i++) {
+ if (E[i])
+ printf("Test %d had %d errors.\n", i, E[i]);
+ else
+ printf("Test %d was successful.\n", i);
+ }
+ } else {
+ fprintf(stderr, "Couldn't open \"instverf.data\".\n");
+ }
+ }
+
+ MPI_Finalize();
+}
+
+
+/******************************************************************************
+ *
+ * The fitness functions
+ *
+ *****************************************************************************/
+double maxbit(PGAContext *ctx, int p, int pop) {
+ int i, result;
+
+ result = 0;
+ for (i=PGAGetStringLength(ctx)-1; i>=0; i--)
+ if (PGAGetBinaryAllele(ctx, p, pop, i) == 1)
+ result = result + 1;
+
+ return((double)result);
+}
+
+
+/* Award points if two alleles are increasing (i.e., gene = .., 1, 2, ..)
+ * and if any allele is in the correct spot (i.e., gene = 1, 2, 3, 4, ...)
+ */
+double ordering(PGAContext *ctx, int p, int pop) {
+ int i, n, o, len, result;
+
+ len = PGAGetStringLength(ctx);
+
+ result = 0;
+ o = PGAGetIntegerAllele(ctx, p, pop, 0);
+ if (o == 0)
+ result = 2;
+ for (i=1; i<len; i++) {
+ n = PGAGetIntegerAllele(ctx, p, pop, i);
+ if (o == n-1)
+ result = result + 1;
+ if (n = i)
+ result = result + 2;
+ o = n;
+ }
+
+ return((double)result);
+}
+
+double name(PGAContext *ctx, int p, int pop) {
+ int i, result;
+
+ result = 0;
+ for (i=PGAGetStringLength(ctx)-1; i>=0; i--)
+ if (PGAGetCharacterAllele(ctx, p, pop, i) == String[i])
+ result = result + 1;
+
+ return((double)result);
+}
+
+
+double function(PGAContext *ctx, int p, int pop) {
+ int i;
+ double x, result;
+
+ result = 0;
+ for (i=PGAGetStringLength(ctx)-1; i>=0; i--) {
+ x = PGAGetRealAllele(ctx, p, pop, i);
+ result = result + sin(x) / x;
+ }
+
+ return(result);
+}
+
+
+double functionb(PGAContext *ctx, int p, int pop) {
+ int i;
+ double x, result;
+
+ result = 0;
+ i = PGAGetStringLength(ctx)/RBS - 1;
+
+ for ( ; i>=0; i--) {
+ if (i % 2) {
+ x = PGAGetRealFromBinary
+ (ctx, p, pop, i*RBS, (i+1)*RBS-1, 0.0, 6.28318530718);
+ } else {
+ x = PGAGetRealFromGrayCode
+ (ctx, p, pop, i*RBS, (i+1)*RBS-1, 0.0, 6.28318530718);
+ }
+ result = result + sin(x) / x;
+ }
+ return(result);
+}
+
+
+
+/**********************************************************************/
+void EOG(PGAContext *ctx) {
+ int best, iter;
+ double besteval;
+
+ iter = PGAGetGAIterValue(ctx);
+ best = PGAGetBestIndex(ctx, PGA_NEWPOP);
+ besteval = PGAGetEvaluation(ctx, best, PGA_NEWPOP);
+
+ Results[ResultsIndex][iter] = besteval;
+}
+
+
+
+/**********************************************************************/
+int O_Mutate(PGAContext *ctx, int p, int pop, double mr) {
+ int i, a, b, len;
+
+ len = PGAGetStringLength(ctx);
+
+ a = PGARandomInterval(ctx, 0, len-1);
+ b = PGARandomInterval(ctx, 0, len-1);
+
+ i = PGAGetIntegerAllele(ctx, p, pop, a);
+ PGASetIntegerAllele(ctx, p, pop, a,
+ PGAGetIntegerAllele(ctx, p, pop, b));
+ PGASetIntegerAllele(ctx, p, pop, b, i);
+ return(1);
+}
+
+/* Crossover: Ripped from tsp.c */
+void O_Crossover(PGAContext *ctx, int A, int B, int ppop,
+ int C, int D, int cpop) {
+ int co1, co2, i, len, a, b;
+ int inA[64], inB[64];
+
+ len = PGAGetStringLength(ctx);
+
+ /* Select random crossover points from [1, len-1]. */
+ co1 = PGARandomInterval(ctx, 1, len-1);
+ while (co1 == (co2 = PGARandomInterval(ctx, 1, len-1))) ;
+ if (co1 > co2) {
+ i = co1;
+ co1 = co2;
+ co2 = i;
+ }
+
+ /* Copy a->c and b->d up to the first crossover point. */
+ for (i=0; i<co1; i++) {
+ a = PGAGetIntegerAllele(ctx, A, ppop, i);
+ b = PGAGetIntegerAllele(ctx, B, ppop, i);
+ PGASetIntegerAllele(ctx, C, cpop, i, a);
+ PGASetIntegerAllele(ctx, D, cpop, i, b);
+ }
+
+ /* Copy a->c and b->d from the second co point to the end of the
+ * string. (Yes, we're ignoring the middle for now.)
+ */
+ for (i=co2; i<len; i++) {
+ a = PGAGetIntegerAllele(ctx, A, ppop, i);
+ b = PGAGetIntegerAllele(ctx, B, ppop, i);
+ PGASetIntegerAllele(ctx, C, cpop, i, a);
+ PGASetIntegerAllele(ctx, D, cpop, i, b);
+ }
+
+ /* Now, copy a->d and b->c in the middle (co1 <--> co2). We must
+ * be careful to not use any cities twice, thus, we must check
+ * the rest of the string to see if the allele is used. If it is,
+ * change the allele to that of the corresponding one in the other
+ * string, and check again. For efficiency, we build a couple of
+ * tables, AtoB and BtoA.
+ */
+ for (i=0; i<len; i++) {
+ a = PGAGetIntegerAllele(ctx, A, ppop, i);
+ b = PGAGetIntegerAllele(ctx, B, ppop, i);
+ inA[a] = i;
+ inB[b] = i;
+ }
+
+ for (i=co1; i<co2; i++) {
+ /* While what we picked is outside the crossover region
+ * in the other string, keep cross-referencing.
+ */
+ b = PGAGetIntegerAllele(ctx, B, ppop, i);
+ while ((inA[b]<co1) || (inA[b]>=co2))
+ b = PGAGetIntegerAllele(ctx, B, ppop, inA[b]);
+
+ a = PGAGetIntegerAllele(ctx, A, ppop, i);
+ while ((inB[a]<co1) || (inB[a]>=co2))
+ a = PGAGetIntegerAllele(ctx, A, ppop, inB[a]);
+
+ PGASetIntegerAllele(ctx, C, cpop, i, b);
+ PGASetIntegerAllele(ctx, D, cpop, i, a);
+ }
+}
+
+
+
+/**********************************************************************/
+int N_Mutate(PGAContext *ctx, int p, int pop, double mr) {
+ int i, count;
+
+ count = 0;
+ for (i=PGAGetStringLength(ctx)-1; i>=0; i--) {
+ if ((PGAGetCharacterAllele(ctx, p, pop, i) != String[i]) &&
+ (PGARandomFlip(ctx, mr) == PGA_TRUE)) {
+ PGASetCharacterAllele(ctx, p, pop, i, String[i]);
+ count += 1;
+ }
+ }
+ return(count);
+}
+
+int N_StopCond(PGAContext *ctx) {
+ int done, len;
+ double e;
+
+ done = 0;
+ len = PGAGetStringLength(ctx);
+ e = PGAGetEvaluation(ctx, PGAGetBestIndex(ctx, PGA_OLDPOP), PGA_OLDPOP);
+
+ if (PGACheckStoppingConditions(ctx) || (len == e))
+ done = 1;
+
+ return(done);
+}
+
+
+/**********************************************************************/
+void R_Init(PGAContext *ctx, int p, int pop) {
+ int i;
+ double r;
+
+ for (i=PGAGetStringLength(ctx)-1; i>=0; i--) {
+ r = 6.28318530718 * PGARandom01(ctx, 0) - 3.14159265354;
+ r = 6.28318530718 * exp(r) / (exp(r) + exp(-r));
+
+ PGASetRealAllele(ctx, p, pop, i, r);
+ }
+}
+
+void Rb_Init(PGAContext *ctx, int p, int pop) {
+ int i;
+ double r;
+
+ i = PGAGetStringLength(ctx) / RBS - 1;
+
+ for ( ; i>=0; i--) {
+ r = 6.28318530718 * PGARandom01(ctx, 0) - 3.14159265354;
+ r = 6.28318530718 * exp(r) / (exp(r) + exp(-r));
+
+ if (i % 2) {
+ PGAEncodeRealAsBinary
+ (ctx, p, pop, i*RBS, (i+1)*RBS-1, 0.0, 6.28318530718, r);
+ } else {
+ PGAEncodeRealAsGrayCode
+ (ctx, p, pop, i*RBS, (i+1)*RBS-1, 0.0, 6.28318530718, r);
+ }
+ }
+}
+
+void Rb_PrintString(PGAContext *ctx, FILE *file, int p, int pop) {
+ int i, j, len;
+ double r;
+
+ len = PGAGetStringLength(ctx) / RBS - 1;
+
+ for(i=j=0; i<len; i++, j++) {
+ if (i % 2) {
+ r = PGAGetRealFromBinary
+ (ctx, p, pop, i*RBS, (i+1)*RBS-1, 0.0, 6.28318530718);
+ } else {
+ r = PGAGetRealFromGrayCode
+ (ctx, p, pop, i*RBS, (i+1)*RBS-1, 0.0, 6.28318530718);
+ }
+ fprintf(file, " %10.6f", r);
+ if (j==5) {
+ fprintf(file, "\n");
+ j = -1;
+ }
+ }
+}
+
Added: spamassassin/trunk/build/pga/test/instverf.data
URL: http://svn.apache.org/viewvc/spamassassin/trunk/build/pga/test/instverf.data?rev=1796518&view=auto
==============================================================================
--- spamassassin/trunk/build/pga/test/instverf.data (added)
+++ spamassassin/trunk/build/pga/test/instverf.data Sun May 28 18:31:49 2017
@@ -0,0 +1,1000 @@
+ 545.000000 131.000000 7.000000 5.830600 5.830600
+ 545.000000 131.000000 7.000000 5.830600 5.830600
+ 545.000000 131.000000 7.000000 5.830600 3.095786
+ 545.000000 131.000000 9.000000 5.830600 3.095786
+ 545.000000 131.000000 9.000000 5.824771 3.095786
+ 547.000000 131.000000 9.000000 5.824771 3.095786
+ 551.000000 131.000000 9.000000 5.169932 3.095786
+ 551.000000 131.000000 9.000000 5.169932 3.095786
+ 551.000000 132.000000 9.000000 5.169932 3.095786
+ 560.000000 132.000000 9.000000 5.169932 3.095786
+ 560.000000 132.000000 11.000000 4.910874 3.095786
+ 560.000000 132.000000 11.000000 4.726827 2.112962
+ 560.000000 132.000000 11.000000 4.726827 2.112962
+ 560.000000 132.000000 11.000000 4.234707 2.112962
+ 560.000000 132.000000 11.000000 2.552202 2.112962
+ 560.000000 132.000000 12.000000 2.552202 2.112962
+ 560.000000 132.000000 12.000000 2.552202 1.241418
+ 560.000000 132.000000 12.000000 2.502030 1.241418
+ 560.000000 132.000000 12.000000 2.502030 1.241418
+ 560.000000 132.000000 12.000000 2.502030 1.241418
+ 560.000000 132.000000 12.000000 2.502030 1.241089
+ 561.000000 133.000000 12.000000 2.265484 0.618203
+ 563.000000 133.000000 13.000000 2.265484 0.618203
+ 577.000000 133.000000 13.000000 2.265484 0.618203
+ 577.000000 133.000000 13.000000 2.265484 0.618203
+ 577.000000 133.000000 13.000000 2.265484 0.618203
+ 577.000000 133.000000 13.000000 2.265484 -0.359117
+ 577.000000 134.000000 13.000000 2.265484 -0.359117
+ 577.000000 134.000000 13.000000 -1.347096 -0.460710
+ 577.000000 134.000000 13.000000 -1.347096 -0.460710
+ 577.000000 134.000000 14.000000 -1.347096 -0.460710
+ 577.000000 134.000000 16.000000 -1.347096 -0.460710
+ 577.000000 134.000000 16.000000 -1.347096 -0.460710
+ 577.000000 134.000000 16.000000 -1.347096 -0.460710
+ 577.000000 134.000000 16.000000 -1.347096 -0.460710
+ 578.000000 134.000000 16.000000 -1.347096 -0.460710
+ 578.000000 134.000000 16.000000 -1.347096 -0.460710
+ 583.000000 134.000000 16.000000 -1.347096 -0.460710
+ 583.000000 134.000000 16.000000 -1.347096 -0.460710
+ 583.000000 134.000000 16.000000 -1.347096 -0.622914
+ 583.000000 134.000000 19.000000 -1.347096 -0.663375
+ 583.000000 134.000000 19.000000 -1.347096 -0.663375
+ 583.000000 134.000000 19.000000 -1.347096 -0.663375
+ 583.000000 134.000000 19.000000 -1.347096 -0.663375
+ 583.000000 135.000000 19.000000 -1.347096 -0.663377
+ 583.000000 135.000000 19.000000 -1.347096 -0.663377
+ 583.000000 135.000000 19.000000 -1.347096 -0.663377
+ 583.000000 135.000000 20.000000 -1.347096 -0.663377
+ 587.000000 135.000000 20.000000 -1.347096 -0.663377
+ 588.000000 135.000000 20.000000 -1.347096 -0.663377
+ 588.000000 135.000000 20.000000 -1.347096 -0.666536
+ 588.000000 135.000000 20.000000 -1.347096 -0.666536
+ 588.000000 135.000000 20.000000 -1.402374 -0.666536
+ 588.000000 135.000000 20.000000 -1.405540 -0.701919
+ 588.000000 135.000000 20.000000 -1.516927 -0.701919
+ 588.000000 135.000000 20.000000 -1.516927 -0.701919
+ 588.000000 136.000000 20.000000 -1.516927 -0.701919
+ 588.000000 136.000000 20.000000 -1.516927 -0.811475
+ 588.000000 136.000000 21.000000 -1.516927 -0.811475
+ 588.000000 136.000000 21.000000 -1.516927 -0.811475
+ 588.000000 136.000000 21.000000 -1.518980 -0.811475
+ 588.000000 136.000000 21.000000 -1.644250 -0.811475
+ 591.000000 136.000000 21.000000 -1.644250 -0.811475
+ 591.000000 136.000000 21.000000 -1.710707 -0.811475
+ 591.000000 136.000000 21.000000 -1.717394 -0.811753
+ 591.000000 136.000000 23.000000 -1.717394 -0.811753
+ 591.000000 136.000000 23.000000 -1.725584 -0.811753
+ 591.000000 136.000000 23.000000 -1.725584 -0.811753
+ 591.000000 137.000000 23.000000 -1.749264 -0.823944
+ 591.000000 137.000000 23.000000 -1.749264 -0.823944
+ 591.000000 137.000000 24.000000 -1.749264 -0.823944
+ 594.000000 137.000000 24.000000 -1.766108 -0.888304
+ 595.000000 137.000000 24.000000 -1.766108 -0.888304
+ 596.000000 137.000000 24.000000 -1.825106 -0.888304
+ 596.000000 137.000000 24.000000 -1.825106 -0.888458
+ 596.000000 138.000000 24.000000 -1.825106 -0.888458
+ 596.000000 138.000000 24.000000 -1.991414 -0.891112
+ 596.000000 138.000000 25.000000 -1.991414 -0.995596
+ 596.000000 138.000000 25.000000 -1.991414 -0.995596
+ 596.000000 138.000000 25.000000 -1.991414 -0.995596
+ 598.000000 138.000000 25.000000 -1.991414 -0.995596
+ 598.000000 138.000000 25.000000 -1.991414 -0.995596
+ 598.000000 138.000000 26.000000 -1.991414 -0.995596
+ 599.000000 138.000000 26.000000 -1.996462 -0.995596
+ 599.000000 138.000000 26.000000 -2.038102 -0.995596
+ 599.000000 138.000000 26.000000 -2.038102 -0.995596
+ 599.000000 139.000000 26.000000 -2.038102 -0.995596
+ 599.000000 139.000000 26.000000 -2.232807 -0.995596
+ 599.000000 139.000000 26.000000 -2.232807 -0.995596
+ 599.000000 139.000000 26.000000 -2.232807 -1.147490
+ 599.000000 139.000000 26.000000 -2.232807 -1.147490
+ 599.000000 139.000000 26.000000 -2.232807 -1.147490
+ 599.000000 140.000000 27.000000 -2.615528 -1.147490
+ 601.000000 140.000000 28.000000 -2.615528 -1.147490
+ 601.000000 140.000000 28.000000 -2.615528 -1.147490
+ 601.000000 140.000000 28.000000 -2.615528 -1.147490
+ 601.000000 140.000000 28.000000 -2.615528 -1.147490
+ 601.000000 140.000000 30.000000 -2.615528 -1.147490
+ 601.000000 140.000000 30.000000 -2.615528 -1.177010
+ 601.000000 140.000000 30.000000 -2.615528 -1.266449
+ 601.000000 140.000000 30.000000 -2.615528 -1.266449
+ 601.000000 140.000000 30.000000 -2.615528 -1.266449
+ 601.000000 140.000000 30.000000 -2.615528 -1.266449
+ 601.000000 140.000000 32.000000 -2.615528 -1.266449
+ 601.000000 141.000000 32.000000 -2.615528 -1.266449
+ 601.000000 141.000000 32.000000 -2.615528 -1.266449
+ 603.000000 141.000000 32.000000 -2.615528 -2.087184
+ 603.000000 141.000000 32.000000 -2.615528 -2.087184
+ 603.000000 141.000000 32.000000 -2.615528 -2.087184
+ 605.000000 141.000000 32.000000 -2.615528 -2.087184
+ 605.000000 141.000000 32.000000 -2.615528 -2.087184
+ 605.000000 141.000000 32.000000 -2.615528 -2.087184
+ 605.000000 141.000000 32.000000 -2.615528 -2.087184
+ 605.000000 141.000000 32.000000 -2.615528 -2.087184
+ 605.000000 141.000000 32.000000 -2.615528 -2.087184
+ 606.000000 141.000000 33.000000 -2.615528 -2.087184
+ 606.000000 141.000000 33.000000 -2.615528 -2.087184
+ 606.000000 142.000000 34.000000 -2.653765 -2.087184
+ 606.000000 142.000000 34.000000 -2.809304 -2.087184
+ 608.000000 142.000000 34.000000 -3.005066 -2.087184
+ 608.000000 142.000000 34.000000 -3.005066 -2.087184
+ 608.000000 142.000000 34.000000 -3.005066 -2.134288
+ 608.000000 142.000000 34.000000 -3.005066 -2.134288
+ 608.000000 142.000000 34.000000 -3.005066 -2.215644
+ 608.000000 142.000000 35.000000 -3.005066 -2.215644
+ 609.000000 142.000000 35.000000 -3.005066 -2.231666
+ 609.000000 143.000000 35.000000 -3.005066 -2.231666
+ 609.000000 143.000000 36.000000 -3.005066 -2.231666
+ 609.000000 143.000000 36.000000 -3.005066 -2.231666
+ 609.000000 143.000000 36.000000 -3.005066 -2.258783
+ 609.000000 143.000000 36.000000 -3.005066 -2.360126
+ 609.000000 143.000000 36.000000 -3.031497 -2.360126
+ 609.000000 143.000000 36.000000 -3.031497 -2.360126
+ 610.000000 143.000000 36.000000 -3.031497 -2.403671
+ 610.000000 143.000000 36.000000 -3.144883 -2.403671
+ 610.000000 143.000000 36.000000 -3.144883 -2.489972
+ 611.000000 143.000000 36.000000 -3.144883 -2.489972
+ 611.000000 143.000000 36.000000 -3.144883 -2.489972
+ 611.000000 143.000000 37.000000 -3.144883 -2.489972
+ 612.000000 144.000000 37.000000 -3.144883 -2.490465
+ 612.000000 144.000000 37.000000 -3.144883 -2.645446
+ 612.000000 144.000000 37.000000 -3.144883 -2.645446
+ 612.000000 144.000000 37.000000 -3.319494 -2.645446
+ 612.000000 145.000000 37.000000 -3.319494 -2.645446
+ 612.000000 145.000000 38.000000 -3.319494 -2.645446
+ 613.000000 145.000000 38.000000 -3.319494 -2.645446
+ 613.000000 145.000000 38.000000 -3.319494 -2.645450
+ 613.000000 145.000000 38.000000 -3.319494 -2.645450
+ 613.000000 145.000000 38.000000 -3.319494 -2.645450
+ 613.000000 145.000000 38.000000 -3.319494 -2.773906
+ 613.000000 145.000000 38.000000 -3.319494 -2.773906
+ 613.000000 145.000000 39.000000 -3.319494 -2.776500
+ 614.000000 145.000000 39.000000 -3.319494 -2.776907
+ 614.000000 145.000000 39.000000 -3.441136 -2.776907
+ 614.000000 145.000000 39.000000 -3.441136 -2.776907
+ 614.000000 145.000000 39.000000 -3.490688 -2.776907
+ 615.000000 145.000000 41.000000 -3.490688 -2.777277
+ 615.000000 145.000000 41.000000 -3.490688 -2.780465
+ 615.000000 145.000000 41.000000 -3.495495 -2.780465
+ 615.000000 145.000000 41.000000 -3.495495 -2.787853
+ 615.000000 146.000000 41.000000 -3.495495 -2.787853
+ 615.000000 146.000000 41.000000 -3.615383 -2.787853
+ 615.000000 146.000000 41.000000 -3.615383 -2.787853
+ 615.000000 146.000000 41.000000 -3.615383 -2.787853
+ 615.000000 146.000000 41.000000 -3.615383 -2.787853
+ 615.000000 146.000000 41.000000 -3.615383 -2.787853
+ 615.000000 146.000000 41.000000 -3.615383 -2.787853
+ 615.000000 146.000000 41.000000 -3.615383 -2.787853
+ 615.000000 146.000000 41.000000 -3.615383 -2.787853
+ 615.000000 146.000000 41.000000 -3.615383 -2.787853
+ 616.000000 146.000000 41.000000 -3.615383 -2.787853
+ 616.000000 146.000000 41.000000 -3.615383 -2.787853
+ 616.000000 146.000000 41.000000 -3.615383 -2.787853
+ 616.000000 146.000000 41.000000 -3.615383 -2.787853
+ 616.000000 146.000000 42.000000 -3.615383 -2.787853
+ 616.000000 147.000000 43.000000 -3.615383 -2.787867
+ 616.000000 147.000000 43.000000 -3.615383 -2.787867
+ 616.000000 147.000000 43.000000 -3.753140 -2.796747
+ 617.000000 147.000000 43.000000 -3.753140 -2.796747
+ 617.000000 147.000000 43.000000 -3.753140 -2.796747
+ 617.000000 147.000000 43.000000 -3.753140 -2.796747
+ 617.000000 147.000000 43.000000 -3.753140 -2.842833
+ 617.000000 147.000000 43.000000 -3.753140 -2.919868
+ 617.000000 147.000000 43.000000 -3.819071 -2.919868
+ 617.000000 147.000000 43.000000 -3.819071 -2.919868
+ 617.000000 147.000000 44.000000 -3.819071 -2.919868
+ 619.000000 147.000000 44.000000 -3.819071 -2.919868
+ 619.000000 148.000000 44.000000 -3.819071 -2.919868
+ 619.000000 148.000000 44.000000 -3.834996 -2.919868
+ 619.000000 148.000000 44.000000 -3.834996 -2.919868
+ 619.000000 148.000000 44.000000 -3.834996 -2.919868
+ 619.000000 148.000000 45.000000 -3.851305 -2.919868
+ 619.000000 148.000000 45.000000 -3.851305 -2.919868
+ 619.000000 148.000000 45.000000 -3.905956 -2.919868
+ 619.000000 148.000000 45.000000 -3.905956 -2.920624
+ 619.000000 148.000000 45.000000 -3.905956 -2.920624
+ 619.000000 148.000000 45.000000 -3.905956 -2.920624
+ 620.000000 148.000000 45.000000 -3.908264 -2.931201
+ 620.000000 148.000000 45.000000 -3.975791 -2.931201
+ 620.000000 148.000000 45.000000 -3.975791 -2.931201
+ 620.000000 148.000000 45.000000 -4.192530 -2.931201
+ 620.000000 148.000000 45.000000 -4.376775 -2.985771
+ 620.000000 148.000000 45.000000 -4.376775 -2.985771
+ 620.000000 148.000000 45.000000 -4.376775 -2.985800
+ 621.000000 148.000000 45.000000 -4.376775 -2.985800
+ 621.000000 149.000000 45.000000 -4.376775 -2.985800
+ 623.000000 149.000000 45.000000 -4.376775 -2.985800
+ 623.000000 149.000000 46.000000 -4.376775 -2.985800
+ 623.000000 149.000000 46.000000 -4.430660 -2.985800
+ 623.000000 149.000000 46.000000 -4.430660 -2.985800
+ 623.000000 149.000000 46.000000 -4.430660 -2.995691
+ 623.000000 149.000000 46.000000 -4.430660 -2.995691
+ 623.000000 149.000000 46.000000 -4.430660 -2.995691
+ 623.000000 149.000000 46.000000 -4.430660 -2.995691
+ 623.000000 149.000000 47.000000 -4.430660 -2.995691
+ 623.000000 149.000000 47.000000 -4.430660 -2.995691
+ 623.000000 150.000000 47.000000 -4.430660 -3.058951
+ 623.000000 150.000000 47.000000 -4.430660 -3.113522
+ 623.000000 150.000000 47.000000 -4.430660 -3.124098
+ 623.000000 150.000000 47.000000 -4.430660 -3.124098
+ 623.000000 150.000000 47.000000 -4.454581 -3.124098
+ 623.000000 150.000000 47.000000 -4.454581 -3.124098
+ 623.000000 150.000000 48.000000 -4.454581 -3.124098
+ 623.000000 150.000000 48.000000 -4.454581 -3.124098
+ 623.000000 150.000000 48.000000 -4.454581 -3.124098
+ 623.000000 150.000000 48.000000 -4.460662 -3.124098
+ 623.000000 150.000000 48.000000 -4.460662 -3.124098
+ 624.000000 150.000000 48.000000 -4.460662 -3.124098
+ 624.000000 150.000000 48.000000 -4.473634 -3.124098
+ 625.000000 150.000000 48.000000 -4.473634 -3.124098
+ 625.000000 150.000000 48.000000 -4.473634 -3.130948
+ 625.000000 150.000000 48.000000 -4.473634 -3.130948
+ 625.000000 150.000000 49.000000 -4.473634 -3.130948
+ 625.000000 150.000000 49.000000 -4.473634 -3.130948
+ 625.000000 150.000000 49.000000 -4.540714 -3.130948
+ 625.000000 150.000000 49.000000 -4.540714 -3.130967
+ 625.000000 150.000000 49.000000 -4.540714 -3.130967
+ 626.000000 150.000000 49.000000 -4.540714 -3.130967
+ 627.000000 151.000000 49.000000 -4.540714 -3.130967
+ 627.000000 151.000000 49.000000 -4.540714 -3.130967
+ 627.000000 151.000000 49.000000 -4.540714 -3.138881
+ 627.000000 151.000000 50.000000 -4.540714 -3.138881
+ 627.000000 151.000000 50.000000 -4.540714 -3.138881
+ 627.000000 151.000000 50.000000 -4.544082 -3.138881
+ 627.000000 151.000000 50.000000 -4.571606 -3.138881
+ 627.000000 151.000000 50.000000 -4.571606 -3.138881
+ 627.000000 151.000000 50.000000 -4.584436 -3.138881
+ 627.000000 151.000000 50.000000 -4.584436 -3.138881
+ 627.000000 151.000000 50.000000 -4.584436 -3.149418
+ 627.000000 151.000000 50.000000 -4.608382 -3.169051
+ 628.000000 151.000000 50.000000 -4.608382 -3.169051
+ 628.000000 151.000000 50.000000 -4.608382 -3.169051
+ 629.000000 151.000000 51.000000 -4.608382 -3.169051
+ 629.000000 151.000000 51.000000 -4.608382 -3.169051
+ 629.000000 151.000000 51.000000 -4.608382 -3.169051
+ 629.000000 151.000000 51.000000 -4.608382 -3.169051
+ 629.000000 151.000000 51.000000 -4.608382 -3.169051
+ 629.000000 151.000000 51.000000 -4.659364 -3.169051
+ 629.000000 151.000000 51.000000 -4.659364 -3.779496
+ 629.000000 152.000000 51.000000 -4.659364 -3.779496
+ 629.000000 152.000000 51.000000 -4.659364 -3.779496
+ 629.000000 152.000000 51.000000 -4.659364 -3.779496
+ 629.000000 152.000000 51.000000 -4.681538 -3.779496
+ 629.000000 152.000000 51.000000 -4.681538 -3.779496
+ 630.000000 152.000000 52.000000 -4.681538 -3.779496
+ 630.000000 152.000000 52.000000 -4.681538 -3.797945
+ 630.000000 152.000000 52.000000 -4.721278 -3.798079
+ 630.000000 152.000000 52.000000 -4.721278 -3.798079
+ 630.000000 152.000000 52.000000 -4.721278 -3.798079
+ 630.000000 152.000000 52.000000 -4.721278 -3.798079
+ 631.000000 152.000000 52.000000 -4.729479 -3.805809
+ 632.000000 152.000000 52.000000 -4.729479 -3.805809
+ 632.000000 152.000000 53.000000 -4.729479 -3.805809
+ 632.000000 152.000000 53.000000 -4.729479 -3.805809
+ 632.000000 152.000000 53.000000 -4.749840 -3.824973
+ 632.000000 152.000000 53.000000 -4.749840 -3.984939
+ 632.000000 152.000000 53.000000 -4.749840 -3.984939
+ 632.000000 152.000000 54.000000 -4.749840 -3.984939
+ 632.000000 152.000000 54.000000 -4.749840 -3.984939
+ 632.000000 152.000000 54.000000 -4.749840 -3.984939
+ 632.000000 152.000000 54.000000 -4.763839 -3.984939
+ 632.000000 152.000000 54.000000 -4.826880 -4.017910
+ 632.000000 152.000000 54.000000 -4.826880 -4.017910
+ 632.000000 152.000000 54.000000 -4.826880 -4.017910
+ 633.000000 152.000000 54.000000 -4.826880 -4.017910
+ 633.000000 152.000000 54.000000 -4.863338 -4.017910
+ 633.000000 152.000000 54.000000 -4.863338 -4.017910
+ 633.000000 152.000000 54.000000 -4.863338 -4.094107
+ 633.000000 153.000000 55.000000 -4.863338 -4.094107
+ 633.000000 153.000000 55.000000 -4.863338 -4.094107
+ 633.000000 153.000000 55.000000 -4.863338 -4.094107
+ 634.000000 153.000000 55.000000 -4.863338 -4.094107
+ 634.000000 153.000000 55.000000 -4.870731 -4.094107
+ 634.000000 153.000000 55.000000 -4.958954 -4.094107
+ 634.000000 153.000000 55.000000 -4.958954 -4.191519
+ 634.000000 153.000000 55.000000 -4.958954 -4.191519
+ 634.000000 153.000000 56.000000 -4.981919 -4.191519
+ 634.000000 153.000000 56.000000 -4.981919 -4.191519
+ 636.000000 153.000000 56.000000 -4.981919 -4.191519
+ 636.000000 153.000000 56.000000 -4.981919 -4.191549
+ 636.000000 153.000000 56.000000 -4.981919 -4.191549
+ 636.000000 153.000000 56.000000 -4.981919 -4.191549
+ 636.000000 153.000000 56.000000 -4.981919 -4.191549
+ 636.000000 153.000000 56.000000 -4.981919 -4.197134
+ 636.000000 153.000000 56.000000 -4.981919 -4.197134
+ 637.000000 153.000000 56.000000 -4.998592 -4.197134
+ 637.000000 153.000000 56.000000 -4.998592 -4.199412
+ 637.000000 154.000000 57.000000 -4.998592 -4.199412
+ 637.000000 154.000000 57.000000 -5.046132 -4.199412
+ 638.000000 154.000000 57.000000 -5.046132 -4.199412
+ 638.000000 154.000000 57.000000 -5.046132 -4.199412
+ 638.000000 154.000000 57.000000 -5.046132 -4.199412
+ 638.000000 154.000000 57.000000 -5.046132 -4.209967
+ 638.000000 154.000000 57.000000 -5.046132 -4.209967
+ 638.000000 154.000000 57.000000 -5.046132 -4.209967
+ 638.000000 154.000000 57.000000 -5.046132 -4.209989
+ 638.000000 154.000000 58.000000 -5.046132 -4.210011
+ 638.000000 154.000000 58.000000 -5.087775 -4.210011
+ 638.000000 154.000000 58.000000 -5.087775 -4.210011
+ 638.000000 154.000000 58.000000 -5.087775 -4.210011
+ 638.000000 154.000000 59.000000 -5.087775 -4.210011
+ 638.000000 154.000000 59.000000 -5.128770 -4.210011
+ 638.000000 154.000000 59.000000 -5.128770 -4.210011
+ 638.000000 154.000000 59.000000 -5.128770 -4.210011
+ 639.000000 154.000000 59.000000 -5.128770 -4.210011
+ 639.000000 154.000000 59.000000 -5.128770 -4.210011
+ 639.000000 154.000000 59.000000 -5.128770 -4.215582
+ 639.000000 154.000000 59.000000 -5.128770 -4.215604
+ 639.000000 154.000000 59.000000 -5.128770 -4.215634
+ 639.000000 154.000000 59.000000 -5.130395 -4.215634
+ 639.000000 154.000000 59.000000 -5.213173 -4.217937
+ 639.000000 154.000000 59.000000 -5.213173 -4.217937
+ 639.000000 154.000000 59.000000 -5.213173 -4.217937
+ 641.000000 154.000000 59.000000 -5.213173 -4.217937
+ 641.000000 154.000000 59.000000 -5.213173 -4.217937
+ 641.000000 154.000000 59.000000 -5.213173 -4.217937
+ 641.000000 154.000000 59.000000 -5.213173 -4.228198
+ 642.000000 154.000000 60.000000 -5.213173 -4.228198
+ 642.000000 154.000000 60.000000 -5.213173 -4.228198
+ 642.000000 154.000000 60.000000 -5.213173 -4.228198
+ 642.000000 154.000000 60.000000 -5.213173 -4.228198
+ 642.000000 154.000000 60.000000 -5.213173 -4.228198
+ 642.000000 154.000000 60.000000 -5.228922 -4.228198
+ 642.000000 154.000000 60.000000 -5.228922 -4.228198
+ 642.000000 154.000000 60.000000 -5.228922 -4.228201
+ 642.000000 154.000000 60.000000 -5.228922 -4.230609
+ 642.000000 154.000000 60.000000 -5.238125 -4.230610
+ 642.000000 154.000000 60.000000 -5.238125 -4.243708
+ 643.000000 154.000000 60.000000 -5.238125 -4.243708
+ 643.000000 154.000000 60.000000 -5.238125 -4.243708
+ 643.000000 154.000000 60.000000 -5.238125 -4.373889
+ 643.000000 154.000000 61.000000 -5.238125 -4.373889
+ 643.000000 154.000000 61.000000 -5.250409 -4.373889
+ 643.000000 154.000000 61.000000 -5.250409 -4.373889
+ 643.000000 154.000000 61.000000 -5.250409 -4.373889
+ 643.000000 154.000000 61.000000 -5.262263 -4.373889
+ 643.000000 154.000000 61.000000 -5.306309 -4.373889
+ 643.000000 154.000000 61.000000 -5.306309 -4.373889
+ 643.000000 154.000000 61.000000 -5.306309 -4.379805
+ 643.000000 154.000000 61.000000 -5.306309 -4.379805
+ 643.000000 154.000000 61.000000 -5.306309 -4.379805
+ 643.000000 154.000000 61.000000 -5.314027 -4.379805
+ 643.000000 154.000000 62.000000 -5.314027 -4.383758
+ 643.000000 154.000000 62.000000 -5.314027 -4.383758
+ 643.000000 154.000000 62.000000 -5.314027 -4.383758
+ 644.000000 154.000000 62.000000 -5.314027 -4.383758
+ 644.000000 155.000000 62.000000 -5.314027 -4.383758
+ 644.000000 155.000000 62.000000 -5.314027 -4.383758
+ 644.000000 155.000000 62.000000 -5.337548 -4.383758
+ 644.000000 155.000000 62.000000 -5.337548 -4.389375
+ 644.000000 155.000000 62.000000 -5.337548 -4.389375
+ 644.000000 155.000000 63.000000 -5.379943 -4.389375
+ 644.000000 155.000000 63.000000 -5.379943 -4.389375
+ 645.000000 155.000000 63.000000 -5.379943 -4.389375
+ 645.000000 155.000000 63.000000 -5.379943 -4.395289
+ 645.000000 155.000000 63.000000 -5.379943 -4.395289
+ 645.000000 155.000000 63.000000 -5.382931 -4.397701
+ 645.000000 155.000000 63.000000 -5.382931 -4.397701
+ 645.000000 155.000000 63.000000 -5.382931 -4.400861
+ 645.000000 155.000000 63.000000 -5.382931 -4.400861
+ 645.000000 155.000000 63.000000 -5.382931 -4.400861
+ 645.000000 155.000000 63.000000 -5.382931 -4.400861
+ 645.000000 155.000000 63.000000 -5.382931 -4.400861
+ 645.000000 155.000000 63.000000 -5.429679 -4.401658
+ 645.000000 155.000000 63.000000 -5.429679 -4.401658
+ 646.000000 155.000000 63.000000 -5.429679 -4.401658
+ 646.000000 155.000000 63.000000 -5.429679 -4.401658
+ 646.000000 155.000000 63.000000 -5.440402 -4.401869
+ 646.000000 155.000000 63.000000 -5.441520 -4.401869
+ 646.000000 155.000000 63.000000 -5.441520 -4.403272
+ 646.000000 155.000000 63.000000 -5.441520 -4.404033
+ 647.000000 155.000000 63.000000 -5.464831 -4.409699
+ 648.000000 155.000000 63.000000 -5.464831 -4.409699
+ 648.000000 155.000000 63.000000 -5.464831 -4.409699
+ 648.000000 155.000000 63.000000 -5.464831 -4.409699
+ 648.000000 155.000000 63.000000 -5.464831 -4.409699
+ 648.000000 155.000000 63.000000 -5.464831 -4.409699
+ 648.000000 155.000000 63.000000 -5.464831 -4.409699
+ 648.000000 155.000000 63.000000 -5.464831 -4.409699
+ 648.000000 155.000000 63.000000 -5.464831 -4.409699
+ 648.000000 155.000000 64.000000 -5.465908 -4.409699
+ 648.000000 156.000000 0.000000 -5.465908 -4.419782
+ 650.000000 156.000000 0.000000 -5.465908 -4.419782
+ 650.000000 156.000000 0.000000 -5.465908 -4.419782
+ 650.000000 156.000000 0.000000 -5.487067 -4.419782
+ 650.000000 156.000000 0.000000 -5.487067 -4.419782
+ 650.000000 156.000000 0.000000 -5.492830 -4.419782
+ 650.000000 156.000000 0.000000 -5.492830 -4.419782
+ 650.000000 156.000000 0.000000 -5.492830 -4.422150
+ 650.000000 156.000000 0.000000 -5.497572 -4.422150
+ 650.000000 156.000000 0.000000 -5.497572 -4.606305
+ 650.000000 156.000000 0.000000 -5.497572 -4.606305
+ 650.000000 156.000000 0.000000 -5.497572 -4.606408
+ 651.000000 156.000000 0.000000 -5.497572 -4.606408
+ 651.000000 156.000000 0.000000 -5.497572 -4.606408
+ 651.000000 156.000000 0.000000 -5.497572 -4.606408
+ 651.000000 156.000000 0.000000 -5.519808 -4.607973
+ 651.000000 156.000000 0.000000 -5.519808 -4.607973
+ 652.000000 156.000000 0.000000 -5.534848 -4.607973
+ 652.000000 156.000000 0.000000 -5.534848 -4.607973
+ 652.000000 156.000000 0.000000 -5.534848 -4.607973
+ 653.000000 156.000000 0.000000 -5.534848 -4.607973
+ 653.000000 156.000000 0.000000 -5.534848 -4.607973
+ 653.000000 156.000000 0.000000 -5.534848 -4.607973
+ 653.000000 156.000000 0.000000 -5.534848 -4.607973
+ 653.000000 156.000000 0.000000 -5.534848 -4.608820
+ 653.000000 156.000000 0.000000 -5.534848 -4.621086
+ 653.000000 156.000000 0.000000 -5.535358 -4.621086
+ 653.000000 156.000000 0.000000 -5.535764 -4.621086
+ 653.000000 156.000000 0.000000 -5.537825 -4.621086
+ 653.000000 156.000000 0.000000 -5.537825 -4.621086
+ 653.000000 156.000000 0.000000 -5.537825 -4.621086
+ 653.000000 156.000000 0.000000 -5.537825 -4.621086
+ 653.000000 156.000000 0.000000 -5.537825 -4.621086
+ 654.000000 156.000000 0.000000 -5.550398 -4.647526
+ 654.000000 156.000000 0.000000 -5.550398 -4.649712
+ 654.000000 156.000000 0.000000 -5.550398 -4.649712
+ 654.000000 156.000000 0.000000 -5.553374 -4.649712
+ 654.000000 156.000000 0.000000 -5.553374 -4.649712
+ 654.000000 156.000000 0.000000 -5.553374 -4.649938
+ 655.000000 156.000000 0.000000 -5.553374 -4.651440
+ 655.000000 156.000000 0.000000 -5.553374 -4.651440
+ 655.000000 156.000000 0.000000 -5.553386 -4.651896
+ 655.000000 156.000000 0.000000 -5.553791 -4.651896
+ 655.000000 156.000000 0.000000 -5.553791 -4.653397
+ 655.000000 156.000000 0.000000 -5.553791 -4.653397
+ 655.000000 156.000000 0.000000 -5.553791 -4.653397
+ 656.000000 156.000000 0.000000 -5.553791 -4.653397
+ 656.000000 157.000000 0.000000 -5.553791 -4.653430
+ 656.000000 157.000000 0.000000 -5.553791 -4.653430
+ 656.000000 157.000000 0.000000 -5.569330 -4.653430
+ 656.000000 157.000000 0.000000 -5.569330 -4.653658
+ 656.000000 157.000000 0.000000 -5.569330 -4.653658
+ 657.000000 157.000000 0.000000 -5.569330 -4.787525
+ 657.000000 157.000000 0.000000 -5.569330 -4.787525
+ 657.000000 157.000000 0.000000 -5.569330 -4.787525
+ 657.000000 157.000000 0.000000 -5.569330 -4.787525
+ 657.000000 157.000000 0.000000 -5.569330 -4.798067
+ 657.000000 157.000000 0.000000 -5.569330 -4.798067
+ 657.000000 157.000000 0.000000 -5.569330 -4.798067
+ 657.000000 157.000000 0.000000 -5.569341 -4.798067
+ 658.000000 158.000000 0.000000 -5.569341 -4.798067
+ 658.000000 158.000000 0.000000 -5.569341 -4.798067
+ 658.000000 158.000000 0.000000 -5.569341 -4.798067
+ 658.000000 158.000000 0.000000 -5.573495 -4.798067
+ 658.000000 158.000000 0.000000 -5.573495 -4.798067
+ 658.000000 158.000000 0.000000 -5.573495 -4.798067
+ 658.000000 158.000000 0.000000 -5.589045 -4.798067
+ 658.000000 158.000000 0.000000 -5.589045 -4.798067
+ 658.000000 158.000000 0.000000 -5.589045 -4.801652
+ 658.000000 158.000000 0.000000 -5.589045 -4.801652
+ 659.000000 158.000000 0.000000 -5.589045 -4.801652
+ 659.000000 158.000000 0.000000 -5.589045 -4.944911
+ 659.000000 158.000000 0.000000 -5.589045 -4.944911
+ 659.000000 158.000000 0.000000 -5.589045 -4.944911
+ 659.000000 158.000000 0.000000 -5.589045 -4.944911
+ 659.000000 158.000000 0.000000 -5.589045 -4.944911
+ 659.000000 158.000000 0.000000 -5.589045 -4.944911
+ 660.000000 158.000000 0.000000 -5.589045 -4.944911
+ 660.000000 158.000000 0.000000 -5.589045 -4.944911
+ 660.000000 158.000000 0.000000 -5.589045 -4.944911
+ 660.000000 158.000000 0.000000 -5.589045 -4.948857
+ 660.000000 158.000000 0.000000 -5.589045 -4.948857
+ 660.000000 158.000000 0.000000 -5.589045 -4.948857
+ 660.000000 158.000000 0.000000 -5.589045 -4.948857
+ 662.000000 158.000000 0.000000 -5.589045 -4.948857
+ 662.000000 158.000000 0.000000 -5.589045 -4.948857
+ 662.000000 158.000000 0.000000 -5.605510 -4.948857
+ 662.000000 158.000000 0.000000 -5.605510 -4.948857
+ 662.000000 158.000000 0.000000 -5.605510 -4.948857
+ 662.000000 158.000000 0.000000 -5.605510 -4.954346
+ 662.000000 158.000000 0.000000 -5.605510 -4.954346
+ 662.000000 158.000000 0.000000 -5.605510 -5.005344
+ 662.000000 158.000000 0.000000 -5.605510 -5.005344
+ 662.000000 158.000000 0.000000 -5.605510 -5.005344
+ 662.000000 158.000000 0.000000 -5.605510 -5.005344
+ 662.000000 158.000000 0.000000 -5.605510 -5.005344
+ 662.000000 158.000000 0.000000 -5.605510 -5.005344
+ 662.000000 158.000000 0.000000 -5.605510 -5.005344
+ 662.000000 159.000000 0.000000 -5.605510 -5.005344
+ 662.000000 159.000000 0.000000 -5.605510 -5.005344
+ 663.000000 159.000000 0.000000 -5.605510 -5.005344
+ 663.000000 159.000000 0.000000 -5.605510 -5.018093
+ 663.000000 159.000000 0.000000 -5.605510 -5.055250
+ 663.000000 159.000000 0.000000 -5.605510 -5.055250
+ 663.000000 159.000000 0.000000 -5.605510 -5.055250
+ 663.000000 159.000000 0.000000 -5.605510 -5.055250
+ 664.000000 159.000000 0.000000 -5.614935 -5.067872
+ 664.000000 159.000000 0.000000 -5.614935 -5.141387
+ 664.000000 159.000000 0.000000 -5.614935 -5.160269
+ 664.000000 159.000000 0.000000 -5.614935 -5.160269
+ 664.000000 159.000000 0.000000 -5.614948 -5.160269
+ 664.000000 159.000000 0.000000 -5.614948 -5.160269
+ 664.000000 159.000000 0.000000 -5.614948 -5.160269
+ 664.000000 159.000000 0.000000 -5.614948 -5.160269
+ 665.000000 159.000000 0.000000 -5.614948 -5.160269
+ 665.000000 159.000000 0.000000 -5.614948 -5.160269
+ 665.000000 159.000000 0.000000 -5.614948 -5.274921
+ 665.000000 159.000000 0.000000 -5.614948 -5.274921
+ 665.000000 159.000000 0.000000 -5.614948 -5.274921
+ 665.000000 159.000000 0.000000 -5.614948 -5.274921
+ 665.000000 159.000000 0.000000 -5.614948 -5.274921
+ 665.000000 159.000000 0.000000 -5.614948 -5.274921
+ 665.000000 159.000000 0.000000 -5.614948 -5.274921
+ 665.000000 159.000000 0.000000 -5.614948 -5.274921
+ 665.000000 159.000000 0.000000 -5.614948 -5.274921
+ 666.000000 159.000000 0.000000 -5.616782 -5.277120
+ 666.000000 159.000000 0.000000 -5.622101 -5.282820
+ 666.000000 159.000000 0.000000 -5.622101 -5.282820
+ 666.000000 159.000000 0.000000 -5.631400 -5.282820
+ 666.000000 159.000000 0.000000 -5.632102 -5.287278
+ 667.000000 159.000000 0.000000 -5.632102 -5.287278
+ 667.000000 159.000000 0.000000 -5.632102 -5.287278
+ 667.000000 159.000000 0.000000 -5.650993 -5.287278
+ 667.000000 159.000000 0.000000 -5.650993 -5.287278
+ 667.000000 159.000000 0.000000 -5.650993 -5.287278
+ 667.000000 159.000000 0.000000 -5.667292 -5.287278
+ 667.000000 159.000000 0.000000 -5.667292 -5.287278
+ 667.000000 159.000000 0.000000 -5.667292 -5.287278
+ 667.000000 159.000000 0.000000 -5.667292 -5.287278
+ 667.000000 159.000000 0.000000 -5.667292 -5.287278
+ 667.000000 159.000000 0.000000 -5.667292 -5.287278
+ 667.000000 159.000000 0.000000 -5.667292 -5.336208
+ 667.000000 159.000000 0.000000 -5.667292 -5.336208
+ 667.000000 159.000000 0.000000 -5.667292 -5.336208
+ 667.000000 159.000000 0.000000 -5.667292 -5.336208
+ 667.000000 159.000000 0.000000 -5.667292 -5.336208
+ 667.000000 159.000000 0.000000 -5.667292 -5.336208
+ 668.000000 159.000000 0.000000 -5.667292 -5.336208
+ 668.000000 159.000000 0.000000 -5.667292 -5.336208
+ 668.000000 159.000000 0.000000 -5.667292 -5.336208
+ 668.000000 159.000000 0.000000 -5.667292 -5.336208
+ 670.000000 159.000000 0.000000 -5.667292 -5.338620
+ 670.000000 159.000000 0.000000 -5.667292 -5.338746
+ 670.000000 159.000000 0.000000 -5.667304 -5.338746
+ 670.000000 159.000000 0.000000 -5.667304 -5.338746
+ 670.000000 159.000000 0.000000 -5.667304 -5.338746
+ 670.000000 159.000000 0.000000 -5.667304 -5.340796
+ 670.000000 159.000000 0.000000 -5.667304 -5.340796
+ 670.000000 159.000000 0.000000 -5.667304 -5.340796
+ 670.000000 159.000000 0.000000 -5.667304 -5.340796
+ 670.000000 159.000000 0.000000 -5.667304 -5.350500
+ 670.000000 159.000000 0.000000 -5.667304 -5.350500
+ 670.000000 159.000000 0.000000 -5.667304 -5.430467
+ 670.000000 159.000000 0.000000 -5.667304 -5.430467
+ 670.000000 159.000000 0.000000 -5.667304 -5.430467
+ 670.000000 159.000000 0.000000 -5.667304 -5.430467
+ 670.000000 159.000000 0.000000 -5.667304 -5.430467
+ 670.000000 159.000000 0.000000 -5.667304 -5.430467
+ 670.000000 159.000000 0.000000 -5.667304 -5.430467
+ 670.000000 159.000000 0.000000 -5.667304 -5.430467
+ 670.000000 159.000000 0.000000 -5.667304 -5.430467
+ 671.000000 159.000000 0.000000 -5.667304 -5.430467
+ 671.000000 159.000000 0.000000 -5.667304 -5.435055
+ 671.000000 159.000000 0.000000 -5.667304 -5.435055
+ 671.000000 159.000000 0.000000 -5.667304 -5.435055
+ 672.000000 159.000000 0.000000 -5.667304 -5.435055
+ 672.000000 159.000000 0.000000 -5.680452 -5.435055
+ 672.000000 159.000000 0.000000 -5.680452 -5.435055
+ 672.000000 159.000000 0.000000 -5.680452 -5.435055
+ 672.000000 159.000000 0.000000 -5.682618 -5.435055
+ 672.000000 160.000000 0.000000 -5.682618 -5.435055
+ 672.000000 160.000000 0.000000 -5.682618 -5.435055
+ 672.000000 160.000000 0.000000 -5.697775 -5.435313
+ 672.000000 160.000000 0.000000 -5.697775 -5.483751
+ 672.000000 160.000000 0.000000 -5.697775 -5.483751
+ 672.000000 160.000000 0.000000 -5.697775 -5.483751
+ 672.000000 160.000000 0.000000 -5.697775 -5.483751
+ 672.000000 160.000000 0.000000 -5.697775 -5.483751
+ 674.000000 160.000000 0.000000 -5.697775 -5.483751
+ 674.000000 160.000000 0.000000 -5.697775 -5.483751
+ 674.000000 160.000000 0.000000 -5.697775 -5.483751
+ 675.000000 160.000000 0.000000 -5.697775 -5.483751
+ 675.000000 160.000000 0.000000 -5.697775 -5.483751
+ 675.000000 160.000000 0.000000 -5.697775 -5.483751
+ 675.000000 160.000000 0.000000 -5.697775 -5.483751
+ 675.000000 160.000000 0.000000 -5.697775 -5.483751
+ 675.000000 160.000000 0.000000 -5.698353 -5.483751
+ 675.000000 160.000000 0.000000 -5.698353 -5.488335
+ 675.000000 160.000000 0.000000 -5.698353 -5.488335
+ 675.000000 160.000000 0.000000 -5.698353 -5.488335
+ 675.000000 160.000000 0.000000 -5.698353 -5.488335
+ 677.000000 160.000000 0.000000 -5.698353 -5.488336
+ 677.000000 160.000000 0.000000 -5.698353 -5.502630
+ 677.000000 160.000000 0.000000 -5.698353 -5.502630
+ 677.000000 160.000000 0.000000 -5.698353 -5.502630
+ 677.000000 160.000000 0.000000 -5.698353 -5.502630
+ 677.000000 160.000000 0.000000 -5.698353 -5.502631
+ 677.000000 160.000000 0.000000 -5.698353 -5.502631
+ 677.000000 160.000000 0.000000 -5.698353 -5.502631
+ 677.000000 160.000000 0.000000 -5.698353 -5.502631
+ 677.000000 160.000000 0.000000 -5.698353 -5.502631
+ 677.000000 160.000000 0.000000 -5.698353 -5.502631
+ 677.000000 160.000000 0.000000 -5.698353 -5.527014
+ 677.000000 160.000000 0.000000 -5.698353 -5.527014
+ 677.000000 160.000000 0.000000 -5.698353 -5.539466
+ 677.000000 160.000000 0.000000 -5.698353 -5.539466
+ 677.000000 160.000000 0.000000 -5.698353 -5.539466
+ 677.000000 160.000000 0.000000 -5.698353 -5.539466
+ 677.000000 160.000000 0.000000 -5.698353 -5.539487
+ 677.000000 160.000000 0.000000 -5.698353 -5.539487
+ 679.000000 160.000000 0.000000 -5.698353 -5.611336
+ 679.000000 160.000000 0.000000 -5.698353 -5.611336
+ 679.000000 160.000000 0.000000 -5.698353 -5.611343
+ 679.000000 160.000000 0.000000 -5.698353 -5.625224
+ 679.000000 160.000000 0.000000 -5.698353 -5.625224
+ 679.000000 160.000000 0.000000 -5.698353 -5.625224
+ 679.000000 160.000000 0.000000 -5.698353 -5.625231
+ 680.000000 160.000000 0.000000 -5.698353 -5.625231
+ 680.000000 160.000000 0.000000 -5.698353 -5.625231
+ 680.000000 160.000000 0.000000 -5.698353 -5.625231
+ 680.000000 160.000000 0.000000 -5.698353 -5.625231
+ 680.000000 160.000000 0.000000 -5.698353 -5.625231
+ 680.000000 160.000000 0.000000 -5.698353 -5.625231
+ 680.000000 160.000000 0.000000 -5.698353 -5.625231
+ 680.000000 160.000000 0.000000 -5.698353 -5.625231
+ 680.000000 160.000000 0.000000 -5.698353 -5.625231
+ 680.000000 160.000000 0.000000 -5.698353 -5.625231
+ 680.000000 160.000000 0.000000 -5.698353 -5.625231
+ 680.000000 160.000000 0.000000 -5.698353 -5.661825
+ 680.000000 160.000000 0.000000 -5.698353 -5.661825
+ 680.000000 160.000000 0.000000 -5.698353 -5.661825
+ 680.000000 160.000000 0.000000 -5.698353 -5.661825
+ 680.000000 160.000000 0.000000 -5.698353 -5.661825
+ 680.000000 160.000000 0.000000 -5.698353 -5.662061
+ 681.000000 161.000000 0.000000 -5.698353 -5.662061
+ 681.000000 161.000000 0.000000 -5.698353 -5.662061
+ 681.000000 161.000000 0.000000 -5.698353 -5.662061
+ 682.000000 161.000000 0.000000 -5.698353 -5.665403
+ 682.000000 161.000000 0.000000 -5.698353 -5.665403
+ 682.000000 161.000000 0.000000 -5.698353 -5.665403
+ 682.000000 161.000000 0.000000 -5.698353 -5.665969
+ 682.000000 161.000000 0.000000 -5.698353 -5.665969
+ 682.000000 161.000000 0.000000 -5.698353 -5.665969
+ 682.000000 161.000000 0.000000 -5.698353 -5.665969
+ 682.000000 161.000000 0.000000 -5.698353 -5.665969
+ 683.000000 161.000000 0.000000 -5.698353 -5.665969
+ 683.000000 161.000000 0.000000 -5.698353 -5.665969
+ 683.000000 161.000000 0.000000 -5.698353 -5.669372
+ 683.000000 161.000000 0.000000 -5.698353 -5.669372
+ 683.000000 161.000000 0.000000 -5.698353 -5.684138
+ 683.000000 161.000000 0.000000 -5.698353 -5.684138
+ 683.000000 161.000000 0.000000 -5.698353 -5.684138
+ 683.000000 161.000000 0.000000 -5.698353 -5.684138
+ 684.000000 161.000000 0.000000 -5.698353 -5.684138
+ 684.000000 161.000000 0.000000 -5.698353 -5.684138
+ 684.000000 161.000000 0.000000 -5.698353 -5.684138
+ 684.000000 161.000000 0.000000 -5.698353 -5.684138
+ 684.000000 161.000000 0.000000 -5.698353 -5.684138
+ 684.000000 161.000000 0.000000 -5.698353 -5.684138
+ 685.000000 161.000000 0.000000 -5.698353 -5.702812
+ 685.000000 161.000000 0.000000 -5.698353 -5.702812
+ 685.000000 161.000000 0.000000 -5.698353 -5.702812
+ 685.000000 161.000000 0.000000 -5.698353 -5.709978
+ 685.000000 161.000000 0.000000 -5.698353 -5.709978
+ 685.000000 161.000000 0.000000 -5.698353 -5.709978
+ 685.000000 161.000000 0.000000 -5.698353 -5.709978
+ 685.000000 161.000000 0.000000 -5.698353 -5.709978
+ 685.000000 161.000000 0.000000 -5.698353 -5.709978
+ 685.000000 161.000000 0.000000 -5.698353 -5.709978
+ 685.000000 161.000000 0.000000 -5.698353 -5.709978
+ 685.000000 161.000000 0.000000 -5.698353 -5.709978
+ 686.000000 161.000000 0.000000 -5.698353 -5.710102
+ 686.000000 161.000000 0.000000 -5.698353 -5.710102
+ 686.000000 161.000000 0.000000 -5.698353 -5.710365
+ 686.000000 161.000000 0.000000 -5.698353 -5.710365
+ 687.000000 161.000000 0.000000 -5.698353 -5.710365
+ 687.000000 161.000000 0.000000 -5.698353 -5.715440
+ 687.000000 161.000000 0.000000 -5.698353 -5.715440
+ 687.000000 161.000000 0.000000 -5.698353 -5.715446
+ 687.000000 161.000000 0.000000 -5.698353 -5.717538
+ 687.000000 162.000000 0.000000 -5.698353 -5.717538
+ 687.000000 162.000000 0.000000 -5.698353 -5.717538
+ 688.000000 162.000000 0.000000 -5.698353 -5.717538
+ 688.000000 162.000000 0.000000 -5.698353 -5.717538
+ 688.000000 162.000000 0.000000 -5.698353 -5.717538
+ 688.000000 162.000000 0.000000 -5.698353 -5.717538
+ 688.000000 162.000000 0.000000 -5.698353 -5.722613
+ 688.000000 162.000000 0.000000 -5.698353 -5.722613
+ 688.000000 162.000000 0.000000 -5.698353 -5.722613
+ 688.000000 162.000000 0.000000 -5.698353 -5.722731
+ 688.000000 162.000000 0.000000 -5.698353 -5.722731
+ 689.000000 162.000000 0.000000 -5.698353 -5.730166
+ 689.000000 162.000000 0.000000 -5.698353 -5.730166
+ 689.000000 162.000000 0.000000 -5.698353 -5.730166
+ 691.000000 162.000000 0.000000 -5.698353 -5.730173
+ 691.000000 162.000000 0.000000 -5.698353 -5.730173
+ 691.000000 162.000000 0.000000 -5.698353 -5.730173
+ 691.000000 162.000000 0.000000 -5.698353 -5.730173
+ 691.000000 162.000000 0.000000 -5.698353 -5.730173
+ 691.000000 162.000000 0.000000 -5.698353 -5.730173
+ 691.000000 162.000000 0.000000 -5.698353 -5.730173
+ 691.000000 162.000000 0.000000 -5.698353 -5.745885
+ 691.000000 162.000000 0.000000 -5.698353 -5.745885
+ 691.000000 162.000000 0.000000 -5.698353 -5.745885
+ 691.000000 162.000000 0.000000 -5.698353 -5.745885
+ 691.000000 162.000000 0.000000 -5.698353 -5.745885
+ 691.000000 162.000000 0.000000 -5.698353 -5.811050
+ 691.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.811050
+ 692.000000 162.000000 0.000000 -5.698353 -5.826762
+ 692.000000 162.000000 0.000000 -5.698353 -5.826762
+ 692.000000 162.000000 0.000000 -5.698353 -5.826762
+ 692.000000 162.000000 0.000000 -5.698353 -5.827023
+ 692.000000 162.000000 0.000000 -5.698353 -5.827023
+ 692.000000 162.000000 0.000000 -5.698353 -5.847000
+ 692.000000 162.000000 0.000000 -5.698353 -5.847255
+ 692.000000 162.000000 0.000000 -5.698353 -5.847255
+ 693.000000 162.000000 0.000000 -5.698353 -5.847255
+ 693.000000 162.000000 0.000000 -5.698353 -5.847255
+ 693.000000 162.000000 0.000000 -5.698353 -5.847261
+ 693.000000 162.000000 0.000000 -5.698353 -5.847261
+ 693.000000 162.000000 0.000000 -5.698353 -5.938183
+ 693.000000 162.000000 0.000000 -5.698353 -5.938183
+ 693.000000 162.000000 0.000000 -5.698353 -5.938183
+ 693.000000 162.000000 0.000000 -5.698353 -5.938183
+ 693.000000 162.000000 0.000000 -5.698353 -5.938183
+ 693.000000 162.000000 0.000000 -5.698353 -5.938183
+ 693.000000 163.000000 0.000000 -5.698353 -5.938183
+ 693.000000 163.000000 0.000000 -5.698353 -5.938183
+ 693.000000 163.000000 0.000000 -5.698353 -5.938183
+ 693.000000 163.000000 0.000000 -5.698353 -5.938183
+ 693.000000 163.000000 0.000000 -5.698353 -5.938183
+ 693.000000 163.000000 0.000000 -5.698353 -5.938183
+ 694.000000 163.000000 0.000000 -5.698353 -5.938183
+ 694.000000 163.000000 0.000000 -5.698353 -5.938183
+ 694.000000 163.000000 0.000000 -5.698353 -5.954016
+ 696.000000 163.000000 0.000000 -5.698353 -5.954016
+ 696.000000 163.000000 0.000000 -5.698353 -5.954016
+ 696.000000 163.000000 0.000000 -5.698353 -5.954016
+ 696.000000 163.000000 0.000000 -5.698353 -5.954057
+ 696.000000 163.000000 0.000000 -5.698353 -5.954057
+ 696.000000 163.000000 0.000000 -5.698353 -5.954058
+ 696.000000 163.000000 0.000000 -5.698353 -6.010316
+ 696.000000 163.000000 0.000000 -5.698353 -6.010316
+ 696.000000 163.000000 0.000000 -5.698353 -6.010316
+ 696.000000 163.000000 0.000000 -5.698353 -6.010316
+ 696.000000 163.000000 0.000000 -5.698353 -6.010316
+ 696.000000 163.000000 0.000000 -5.698353 -6.010316
+ 696.000000 163.000000 0.000000 -5.698353 -6.030555
+ 696.000000 163.000000 0.000000 -5.698353 -6.030555
+ 696.000000 163.000000 0.000000 -5.698353 -6.031038
+ 696.000000 163.000000 0.000000 -5.698353 -6.045291
+ 696.000000 163.000000 0.000000 -5.698353 -6.045291
+ 697.000000 163.000000 0.000000 -5.698353 -6.045291
+ 697.000000 163.000000 0.000000 -5.698353 -6.045291
+ 697.000000 163.000000 0.000000 -5.698353 -6.045291
+ 697.000000 163.000000 0.000000 -5.698353 -6.045291
+ 698.000000 163.000000 0.000000 -5.698353 -6.045291
+ 698.000000 163.000000 0.000000 -5.698353 -6.045291
+ 698.000000 163.000000 0.000000 -5.698353 -6.045291
+ 698.000000 163.000000 0.000000 -5.698353 -6.045291
+ 698.000000 163.000000 0.000000 -5.698353 -6.045291
+ 698.000000 163.000000 0.000000 -5.698353 -6.045293
+ 698.000000 163.000000 0.000000 -5.698353 -6.045293
+ 698.000000 163.000000 0.000000 -5.698353 -6.045293
+ 699.000000 163.000000 0.000000 -5.698353 -6.045293
+ 699.000000 163.000000 0.000000 -5.698353 -6.045293
+ 699.000000 163.000000 0.000000 -5.698353 -6.045293
+ 699.000000 163.000000 0.000000 -5.698353 -6.045293
+ 699.000000 163.000000 0.000000 -5.698353 -6.045293
+ 699.000000 163.000000 0.000000 -5.698353 -6.045293
+ 699.000000 163.000000 0.000000 -5.698353 -6.045293
+ 699.000000 163.000000 0.000000 -5.698353 -6.045293
+ 699.000000 163.000000 0.000000 -5.698353 -6.045293
+ 699.000000 163.000000 0.000000 -5.698353 -6.045293
+ 699.000000 163.000000 0.000000 -5.698353 -6.045293
+ 700.000000 163.000000 0.000000 -5.698353 -6.047031
+ 700.000000 163.000000 0.000000 -5.698353 -6.047031
+ 700.000000 163.000000 0.000000 -5.698353 -6.047031
+ 700.000000 163.000000 0.000000 -5.698353 -6.047031
+ 700.000000 163.000000 0.000000 -5.698353 -6.047031
+ 700.000000 163.000000 0.000000 -5.698353 -6.047031
+ 700.000000 163.000000 0.000000 -5.698353 -6.091928
+ 700.000000 163.000000 0.000000 -5.698353 -6.091928
+ 700.000000 163.000000 0.000000 -5.698353 -6.091928
+ 700.000000 163.000000 0.000000 -5.698353 -6.091928
+ 700.000000 164.000000 0.000000 -5.698353 -6.091928
+ 700.000000 164.000000 0.000000 -5.698353 -6.091928
+ 701.000000 164.000000 0.000000 -5.698353 -6.091928
+ 701.000000 164.000000 0.000000 -5.698353 -6.091928
+ 701.000000 164.000000 0.000000 -5.698353 -6.091928
+ 701.000000 164.000000 0.000000 -5.698353 -6.091928
+ 701.000000 164.000000 0.000000 -5.698353 -6.091928
+ 701.000000 164.000000 0.000000 -5.698353 -6.091928
+ 701.000000 164.000000 0.000000 -5.698353 -6.091998
+ 701.000000 164.000000 0.000000 -5.698353 -6.091998
+ 701.000000 164.000000 0.000000 -5.698353 -6.107778
+ 701.000000 164.000000 0.000000 -5.698353 -6.107778
+ 702.000000 164.000000 0.000000 -5.698353 -6.107778
+ 702.000000 164.000000 0.000000 -5.698353 -6.107778
+ 702.000000 164.000000 0.000000 -5.698353 -6.107780
+ 702.000000 164.000000 0.000000 -5.698353 -6.107780
+ 702.000000 164.000000 0.000000 -5.698353 -6.107780
+ 702.000000 165.000000 0.000000 -5.698353 -6.107780
+ 702.000000 165.000000 0.000000 -5.698353 -6.107780
+ 702.000000 165.000000 0.000000 -5.698353 -6.107780
+ 703.000000 165.000000 0.000000 -5.698353 -6.107780
+ 703.000000 165.000000 0.000000 -5.698353 -6.107780
+ 703.000000 165.000000 0.000000 -5.698353 -6.108072
+ 703.000000 165.000000 0.000000 -5.698353 -6.118456
+ 703.000000 165.000000 0.000000 -5.698353 -6.118456
+ 703.000000 165.000000 0.000000 -5.698353 -6.118456
+ 703.000000 165.000000 0.000000 -5.698353 -6.118456
+ 703.000000 165.000000 0.000000 -5.698353 -6.118456
+ 703.000000 165.000000 0.000000 -5.698353 -6.119399
+ 703.000000 165.000000 0.000000 -5.698353 -6.119399
+ 703.000000 165.000000 0.000000 -5.698353 -6.119399
+ 703.000000 165.000000 0.000000 -5.698353 -6.119399
+ 703.000000 165.000000 0.000000 -5.698353 -6.119399
+ 704.000000 165.000000 0.000000 -5.698353 -6.119889
+ 704.000000 165.000000 0.000000 -5.698353 -6.119889
+ 704.000000 165.000000 0.000000 -5.698353 -6.119889
+ 704.000000 165.000000 0.000000 -5.698353 -6.119889
+ 704.000000 165.000000 0.000000 -5.698353 -6.119889
+ 705.000000 165.000000 0.000000 -5.698353 -6.122217
+ 705.000000 165.000000 0.000000 -5.698353 -6.122237
+ 705.000000 165.000000 0.000000 -5.698353 -6.122237
+ 705.000000 166.000000 0.000000 -5.698353 -6.122237
+ 705.000000 166.000000 0.000000 -5.698353 -6.123205
+ 705.000000 166.000000 0.000000 -5.698353 -6.123205
+ 705.000000 166.000000 0.000000 -5.698353 -6.123205
+ 706.000000 166.000000 0.000000 -5.698353 -6.123205
+ 706.000000 166.000000 0.000000 -5.698353 -6.123205
+ 706.000000 166.000000 0.000000 -5.698353 -6.123205
+ 706.000000 166.000000 0.000000 -5.698353 -6.247289
+ 707.000000 166.000000 0.000000 -5.698353 -6.247289
+ 707.000000 166.000000 0.000000 -5.698353 -6.247289
+ 707.000000 166.000000 0.000000 -5.698353 -6.247289
+ 707.000000 166.000000 0.000000 -5.698353 -6.247488
+ 707.000000 166.000000 0.000000 -5.698353 -6.247488
+ 707.000000 166.000000 0.000000 -5.698353 -6.247488
+ 707.000000 166.000000 0.000000 -5.698353 -6.247488
+ 707.000000 166.000000 0.000000 -5.698353 -6.250651
+ 707.000000 166.000000 0.000000 -5.698353 -6.250651
+ 707.000000 166.000000 0.000000 -5.698353 -6.250651
+ 707.000000 166.000000 0.000000 -5.698353 -6.251815
+ 708.000000 166.000000 0.000000 -5.698353 -6.251815
+ 708.000000 166.000000 0.000000 -5.698353 -6.251815
+ 708.000000 166.000000 0.000000 -5.698353 -6.251815
+ 708.000000 166.000000 0.000000 -5.698353 -6.251815
+ 708.000000 166.000000 0.000000 -5.698353 -6.251815
+ 708.000000 166.000000 0.000000 -5.698353 -6.284965
+ 708.000000 166.000000 0.000000 -5.698353 -6.284965
+ 709.000000 166.000000 0.000000 -5.698353 -6.284965
+ 709.000000 166.000000 0.000000 -5.698353 -6.284965
+ 709.000000 166.000000 0.000000 -5.698353 -6.284965
+ 709.000000 166.000000 0.000000 -5.698353 -6.284965
+ 709.000000 166.000000 0.000000 -5.698353 -6.284965
+ 709.000000 166.000000 0.000000 -5.698353 -6.284965
+ 709.000000 166.000000 0.000000 -5.698353 -6.284965
+ 709.000000 166.000000 0.000000 -5.698353 -6.284965
+ 709.000000 166.000000 0.000000 -5.698353 -6.284965
+ 710.000000 166.000000 0.000000 -5.698353 -6.284965
+ 710.000000 166.000000 0.000000 -5.698353 -6.284965
+ 710.000000 166.000000 0.000000 -5.698353 -6.284965
+ 710.000000 166.000000 0.000000 -5.698353 -6.284965
+ 711.000000 166.000000 0.000000 -5.698353 -6.284965
+ 711.000000 166.000000 0.000000 -5.698353 -6.284965
+ 711.000000 166.000000 0.000000 -5.698353 -6.295472
+ 711.000000 166.000000 0.000000 -5.698353 -6.295472
+ 711.000000 166.000000 0.000000 -5.698353 -6.295472
+ 711.000000 166.000000 0.000000 -5.698353 -6.295472
+ 712.000000 166.000000 0.000000 -5.698353 -6.295472
+ 712.000000 166.000000 0.000000 -5.698353 -6.310901
+ 712.000000 166.000000 0.000000 -5.698353 -6.310901
+ 712.000000 166.000000 0.000000 -5.698353 -6.310901
+ 712.000000 166.000000 0.000000 -5.698353 -6.310901
+ 712.000000 166.000000 0.000000 -5.698353 -6.310901
+ 712.000000 166.000000 0.000000 -5.698353 -6.310901
+ 712.000000 166.000000 0.000000 -5.698353 -6.310901
+ 712.000000 166.000000 0.000000 -5.698353 -6.310901
+ 712.000000 166.000000 0.000000 -5.698353 -6.310901
+ 712.000000 166.000000 0.000000 -5.698353 -6.310901
+ 712.000000 166.000000 0.000000 -5.698353 -6.310901
+ 712.000000 166.000000 0.000000 -5.698353 -6.310901
+ 712.000000 166.000000 0.000000 -5.698353 -6.310901
+ 713.000000 166.000000 0.000000 -5.698353 -6.310901
+ 713.000000 166.000000 0.000000 -5.698353 -6.310901
+ 713.000000 166.000000 0.000000 -5.698353 -6.310901
+ 713.000000 166.000000 0.000000 -5.698353 -6.310901
+ 713.000000 166.000000 0.000000 -5.698353 -6.310901
+ 713.000000 166.000000 0.000000 -5.698353 -6.325036
+ 713.000000 166.000000 0.000000 -5.698353 -6.325036
+ 713.000000 166.000000 0.000000 -5.698353 -6.325036
+ 713.000000 166.000000 0.000000 -5.698353 -6.325036
+ 713.000000 166.000000 0.000000 -5.698353 -6.325036
+ 713.000000 166.000000 0.000000 -5.698353 -6.325059
+ 714.000000 166.000000 0.000000 -5.698353 -6.325059
+ 714.000000 166.000000 0.000000 -5.698353 -6.325059
+ 714.000000 166.000000 0.000000 -5.698353 -6.325059
+ 714.000000 166.000000 0.000000 -5.698353 -6.331798
+ 714.000000 166.000000 0.000000 -5.698353 -6.331798
+ 714.000000 166.000000 0.000000 -5.698353 -6.331798
+ 714.000000 166.000000 0.000000 -5.698353 -6.331798
+ 714.000000 166.000000 0.000000 -5.698353 -6.331798
+ 714.000000 166.000000 0.000000 -5.698353 -6.331798
+ 714.000000 166.000000 0.000000 -5.698353 -6.331798
+ 714.000000 166.000000 0.000000 -5.698353 -6.331798
+ 715.000000 167.000000 0.000000 -5.698353 -6.331798
+ 715.000000 167.000000 0.000000 -5.698353 -6.331798
+ 715.000000 167.000000 0.000000 -5.698353 -6.331798
+ 715.000000 167.000000 0.000000 -5.698353 -6.331798
+ 715.000000 167.000000 0.000000 -5.698353 -6.331798
+ 715.000000 167.000000 0.000000 -5.698353 -6.331798
+ 715.000000 167.000000 0.000000 -5.698353 -6.331798
+ 716.000000 167.000000 0.000000 -5.698353 -6.331798
+ 716.000000 167.000000 0.000000 -5.698353 -6.331798
+ 716.000000 167.000000 0.000000 -5.698353 -6.331798
+ 716.000000 167.000000 0.000000 -5.698353 -6.331798
+ 716.000000 167.000000 0.000000 -5.698353 -6.331798
+ 716.000000 167.000000 0.000000 -5.698353 -6.331798
+ 716.000000 167.000000 0.000000 -5.698353 -6.331798
+ 716.000000 167.000000 0.000000 -5.698353 -6.331798
+ 717.000000 167.000000 0.000000 -5.698353 -6.331798
+ 717.000000 167.000000 0.000000 -5.698353 -6.331798
+ 717.000000 167.000000 0.000000 -5.698353 -6.331798
+ 717.000000 167.000000 0.000000 -5.698353 -6.331821
+ 717.000000 167.000000 0.000000 -5.698353 -6.331873
+ 718.000000 167.000000 0.000000 -5.698353 -6.332235
+ 718.000000 167.000000 0.000000 -5.698353 -6.332235
+ 718.000000 167.000000 0.000000 -5.698353 -6.332235
+ 718.000000 167.000000 0.000000 -5.698353 -6.332987
+ 718.000000 167.000000 0.000000 -5.698353 -6.332987
+ 718.000000 167.000000 0.000000 -5.698353 -6.332987
+ 718.000000 167.000000 0.000000 -5.698353 -6.332987
+ 718.000000 167.000000 0.000000 -5.698353 -6.332987
+ 718.000000 167.000000 0.000000 -5.698353 -6.332987
+ 718.000000 167.000000 0.000000 -5.698353 -6.332987
+ 719.000000 167.000000 0.000000 -5.698353 -6.332987
+ 719.000000 167.000000 0.000000 -5.698353 -6.332987
+ 719.000000 167.000000 0.000000 -5.698353 -6.332987
+ 719.000000 167.000000 0.000000 -5.698353 -6.332987
+ 721.000000 167.000000 0.000000 -5.698353 -6.334864
+ 721.000000 167.000000 0.000000 -5.698353 -6.334864
+ 721.000000 167.000000 0.000000 -5.698353 -6.334864
+ 721.000000 167.000000 0.000000 -5.698353 -6.334864
+ 721.000000 167.000000 0.000000 -5.698353 -6.334864
+ 721.000000 167.000000 0.000000 -5.698353 -6.334864
+ 721.000000 167.000000 0.000000 -5.698353 -6.334864
+ 721.000000 167.000000 0.000000 -5.698353 -6.334864
+ 721.000000 167.000000 0.000000 -5.698353 -6.334864
+ 721.000000 167.000000 0.000000 -5.698353 -6.334864
+ 721.000000 167.000000 0.000000 -5.698353 -6.334864
+ 721.000000 167.000000 0.000000 -5.698353 -6.334864
+ 721.000000 167.000000 0.000000 -5.698353 -6.334882
+ 721.000000 167.000000 0.000000 -5.698353 -6.334882
+ 721.000000 167.000000 0.000000 -5.698353 -6.334882
+ 721.000000 167.000000 0.000000 -5.698353 -6.334882
+ 721.000000 167.000000 0.000000 -5.698353 -6.334882
+ 721.000000 167.000000 0.000000 -5.698353 -6.334882
+ 721.000000 167.000000 0.000000 -5.698353 -6.334882
+ 721.000000 167.000000 0.000000 -5.698353 -6.334882
+ 721.000000 167.000000 0.000000 -5.698353 -6.334882
+ 721.000000 167.000000 0.000000 -5.698353 -6.334882
+ 721.000000 167.000000 0.000000 -5.698353 -6.334882
+ 721.000000 167.000000 0.000000 -5.698353 -6.334882
+ 721.000000 167.000000 0.000000 -5.698353 -6.334882
+ 721.000000 167.000000 0.000000 -5.698353 -6.335392
+ 721.000000 168.000000 0.000000 -5.698353 -6.335392
+ 721.000000 168.000000 0.000000 -5.698353 -6.335392
+ 722.000000 168.000000 0.000000 -5.698353 -6.335392
+ 722.000000 168.000000 0.000000 -5.698353 -6.335392
+ 722.000000 168.000000 0.000000 -5.698353 -6.335392
+ 722.000000 168.000000 0.000000 -5.698353 -6.335392
Added: spamassassin/trunk/build/pga/test/mpif.h
URL: http://svn.apache.org/viewvc/spamassassin/trunk/build/pga/test/mpif.h?rev=1796518&view=auto
==============================================================================
--- spamassassin/trunk/build/pga/test/mpif.h (added)
+++ spamassassin/trunk/build/pga/test/mpif.h Sun May 28 18:31:49 2017
@@ -0,0 +1 @@
+link ../include/mpif.h
\ No newline at end of file
Propchange: spamassassin/trunk/build/pga/test/mpif.h
------------------------------------------------------------------------------
svn:special = *
Added: spamassassin/trunk/build/pga/test/pgapackf.h
URL: http://svn.apache.org/viewvc/spamassassin/trunk/build/pga/test/pgapackf.h?rev=1796518&view=auto
==============================================================================
--- spamassassin/trunk/build/pga/test/pgapackf.h (added)
+++ spamassassin/trunk/build/pga/test/pgapackf.h Sun May 28 18:31:49 2017
@@ -0,0 +1 @@
+link ../include/pgapackf.h
\ No newline at end of file
Propchange: spamassassin/trunk/build/pga/test/pgapackf.h
------------------------------------------------------------------------------
svn:special = *
Added: spamassassin/trunk/build/pga/util/README
URL: http://svn.apache.org/viewvc/spamassassin/trunk/build/pga/util/README?rev=1796518&view=auto
==============================================================================
--- spamassassin/trunk/build/pga/util/README (added)
+++ spamassassin/trunk/build/pga/util/README Sun May 28 18:31:49 2017
@@ -0,0 +1,14 @@
+PGAPack Utilities
+
+convertfortran.pl -- Simple perl script to convert the fortran examples to
+ work on "64-bit" machines -- Alpha, Power Challenge, T3D.
+
+upgrade_script.pl -- Script to _assist_ in the upgrade from version 0.2 to
+ version 1.0. Will catch _most_ of the changes.
+
+wordsizes.c -- C program to show the sizes of various datastructues
+ used by PGAPack. Useful for configuration. See
+ wordsizes.c for more information.
+
+
+
Added: spamassassin/trunk/build/pga/util/convertfortran.pl
URL: http://svn.apache.org/viewvc/spamassassin/trunk/build/pga/util/convertfortran.pl?rev=1796518&view=auto
==============================================================================
--- spamassassin/trunk/build/pga/util/convertfortran.pl (added)
+++ spamassassin/trunk/build/pga/util/convertfortran.pl Sun May 28 18:31:49 2017
@@ -0,0 +1,22 @@
+#!/usr/local/bin/perl
+#
+# Convert fortran examples to 64-bit compatable codes.
+#
+# This script will replace all occurances of "integer ctx" and
+# "integer comm" with "integer*8 ctx" and "integer*8 comm", respectively.
+# (Uncomment the commented lines below to convert back to 32-bit examples.)
+#
+# WARNING: This is done inplace -- no backup files are created!
+#
+foreach (@ARGV) {
+ print "Converting $_\n";
+ $file = $_;
+ open(In, "$file"); @Stuff = <In>; close(In);
+ foreach (@Stuff) {
+ s/integer\s*ctx/integer\*8 ctx/g;
+ s/integer\s*comm/integer\*8 comm/g;
+# s/integer\*8\s*ctx/integer ctx/g;
+# s/integer\*8\s*comm/integer comm/g;
+ }
+ open(Out, ">$file"); print Out @Stuff; close(Out);
+}
Propchange: spamassassin/trunk/build/pga/util/convertfortran.pl
------------------------------------------------------------------------------
svn:executable = *
Added: spamassassin/trunk/build/pga/util/upgrade_script.pl
URL: http://svn.apache.org/viewvc/spamassassin/trunk/build/pga/util/upgrade_script.pl?rev=1796518&view=auto
==============================================================================
--- spamassassin/trunk/build/pga/util/upgrade_script.pl (added)
+++ spamassassin/trunk/build/pga/util/upgrade_script.pl Sun May 28 18:31:49 2017
@@ -0,0 +1,119 @@
+#!/usr/local/bin/perl
+#
+# This is a simple script to help in upgrading from V0.2 to V1.0. It will
+# make most (if not all) of the function name and #define name changes, and
+# will print a message where they are done.
+#
+# Not guaranteed to work 100%, but should take the majority of the pain
+# out of it.
+#
+# One thing to pay careful attention to is PGASetMutateOnlyNoCross. This
+# was replaced by two functions, PGASetMuataionOrCrossoverFlag and
+# PGASetMuatationAndCrossoverFlag. Here, we replace it with the first.
+#
+# Usage:
+# upgrade_script.pl <FilesToUpgrade>
+#
+# It will move the original files to filename.old, and create the
+# new files with the original name.
+#
+
+if (ARGV eq 0) {
+ print "Usage: upgrade_script.pl <FilesToUpgrade>\n";
+ exit(-1);
+}
+
+foreach $filename (@ARGV) {
+ rename($filename, "$filename.bak");
+ open(INPUT, "$filename.bak");
+ open(OUTPUT, ">$filename");
+ while (<INPUT>) {
+ &do_rename;
+ print OUTPUT $_;
+ }
+ close(OUTPUT);
+ close(INPUT);
+}
+
+
+sub do_rename {
+ s/PGABinaryBuildIndividualDatatype/PGABinaryBuildDatatype/g;
+ s/PGABinaryRandomize/PGABinaryInitString/g;
+ s/PGABinaryWrite/PGABinaryPrint/g;
+ s/PGABinaryWriteString/PGABinaryPrintString/g;
+ s/PGABuildIndividualDatatype/PGABuildDatatype/g;
+ s/PGACharacterBuildIndividualDatatype/PGACharacterBuildDatatype/g;
+ s/PGACharacterRandomize/PGACharacterInitString/g;
+ s/PGACharacterWriteString/PGACharacterPrintString/g;
+ s/PGAFitnessLinNor/PGAFitnessLinearNormal/g;
+ s/PGAFitnessLinRank/PGAFitnessLinearRank/g;
+ s/PGAFitnessMinRecprl/PGAFitnessMinReciprocal/g;
+ s/PGAGetEvalUpToDate/PGAGetEvaluationUpToDateFlag/g;
+ s/PGAGetEvaluate/PGAGetEvaluation/g;
+ s/PGAGetFitnessRankMax/PGAGetMaxFitnessRank/g;
+ s/PGAGetBest/PGAGetBestIndex/g;
+ s/PGAGetWorst/PGAGetWorstIndex/g;
+ s/PGAGetInitIntegerMax/PGAGetMaxIntegerInitValue/g;
+ s/PGAGetInitIntegerMin/PGAGetMinIntegerInitValue/g;
+ s/PGAGetInitRealMax/PGAGetMaxRealInitValue/g;
+ s/PGAGetInitRealMin/PGAGetMinRealInitValue/g;
+ s/PGAGetIntegerType/PGAGetIntegerInitType/g;
+ s/PGAGetIter/PGAGetGAIterValue/g;
+ s/PGAGetMaxDouble/PGAGetMaxMachineDoubleValue/g;
+ s/PGAGetMaxInt/PGAGetMaxMachineIntValue/g;
+ s/PGAGetMaxIter/PGAGetMaxGAIterValue/g;
+ s/PGAGetMinDouble/PGAGetMinMachineDoubleValue/g;
+ s/PGAGetMinInt/PGAGetMinMachineIntValue/g;
+ s/PGAGetMutateIntegerVal/PGAGetMutationIntegerValue/g;
+ s/PGAGetMutateOnlyNoCross/PGAGetMutationAndCrossoverFlag/g;
+ s/PGAGetMutateRealVal/PGAGetMutationRealValue/g;
+ s/PGAGetNoDuplicates/PGAGetNoDuplicatesFlag/g;
+ s/PGAGetNprocs/PGAGetNumProcs/g;
+ s/PGAGetNumReplace/PGAGetNumReplaceValue/g;
+ s/PGAGetOptDir/PGAGetOptDirFlag/g;
+ s/PGAGetPID/PGAGetRank/g;
+ s/PGAGetPopReplace/PGAGetPopReplaceType/g;
+ s/PGAGetPrintFreq/PGAGetPrintFrequency/g;
+ s/PGAGetRandomInit/PGAGetRandomInitFlag/g;
+ s/PGAGetRestart/PGAGetRestartFlag/g;
+ s/PGAGetRestartFrequency/PGAGetRestartFrequencyValue/g;
+ s/PGAGetSortPop/PGAGetSortedPopIndex/g;
+ s/PGAGetStoppingRule/PGAGetStoppingRuleType/g;
+ s/PGAGetStringLen/PGAGetStringLength/g;
+ s/PGAGetUniformCrossProb/PGAGetUniformCrossoverProb/g;
+ s/PGAIntegerBuildIndividualDatatype/PGAIntegerBuildDatatype/g;
+ s/PGAIntegerRandomize/PGAIntegerInitString/g;
+ s/PGAIntegerWriteString/PGAIntegerPrintString/g;
+ s/PGAParallelDone/PGADoneMS/g;
+ s/PGAParallelEvaluateMS/PGAEvaluateMS/g;
+ s/PGAPrintContext/PGAPrintContextVariable/g;
+ s/PGAPrintVersion/PGAPrintVersionNumber/g;
+ s/PGARealBuildIndividualDatatype/PGARealBuildDatatype/g;
+ s/PGARealRandomize/PGARealInitString/g;
+ s/PGARealWriteString/PGARealPrintString/g;
+ s/PGARunMutateAndCross/PGARunMutationAndCrossover/g;
+ s/PGARunMutateOrCross/PGARunMutationOrCrossover/g;
+ s/PGASelectNext/PGASelectNextIndex/g;
+ s/PGASetCharacterInit/PGASetCharacterInitType/g;
+ s/PGASetEvaluate/PGASetEvaluation/g;
+ s/PGASetEvalUpToDate/PGASetEvaluationUpToDateFlag/g;
+ s/PGASetFitnessRankMax/PGASetMaxFitnessRank/g;
+ s/PGASetMaxIter/PGASetMaxGAIterValue/g;
+ s/PGASetMaxNoChange/PGASetMaxNoChangeValue/g;
+ s/PGASetMaxSimilarity/PGASetMaxSimilarityValue/g;
+ s/PGASetMutateOnlyNoCross/PGASetMutationOrCrossoverFlag/g;
+ s/PGASetMutationIntegerVal/PGASetMutationIntegerValue/g;
+ s/PGASetMutationRealVal/PGASetMutationRealValue/g;
+ s/PGASetNoDuplicates/PGASetNoDuplicatesFlag/g;
+ s/PGASetNumReplace/PGASetNumReplaceValue/g;
+ s/PGASetPopReplacement/PGASetPopReplacementType/g;
+ s/PGASetPrintFreq/PGASetPrintFrequencyValue/g;
+ s/PGASetRandomInit/PGASetRandomInitFlag/g;
+ s/PGASetRestart/PGASetRestartFlag/g;
+ s/PGASetRestartFrequency/PGASetRestartFrequencyValue/g;
+ s/PGASetStoppingRule/PGASetStoppingRuleType/g;
+ s/PGASetSupportingDebugFlags/PGASetDebugFlag/g;
+ s/PGASetUniformCrossProb/PGASetUniformCrossoverProb/g;
+ s/PGAWriteString/PGAPrintString/g;
+}
+