Changeset: 2ba142f7c7c3 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2ba142f7c7c3
Modified Files:
        geom/monetdb5/geom.c
        monetdb5/optimizer/opt_mergetable.c
        sql/backends/monet5/sql_scenario.c
        sql/include/sql_catalog.h
        sql/server/rel_optimizer.c
        testing/mktest.py
        testing/sqllogictest.py
Branch: default
Log Message:

Merged with oscar


diffs (truncated from 776 to 300 lines):

diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -6039,7 +6039,362 @@ wkbContains_point(bit *out, wkb **a, dbl
        return MAL_SUCCEED;
 }
 
-static const unsigned char geom_functions[] = 
{109,111,100,117,108,101,32,103,101,111,109,59,10,102,117,110,99,116,105,111,110,32,65,115,84,101,120,116,40,119,58,119,107,98,41,32,58,115,116,114,59,10,120,32,58,61,32,84,111,84,101,120,116,40,119,44,48,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,65,115,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,65,115,69,87,75,84,40,119,58,119,107,98,41,32,58,115,116,114,59,10,120,32,58,61,32,84,111,84,101,120,116,40,119,44,49,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,65,115,69,87,75,84,59,10,102,117,110,99,116,105,111,110,32,71,101,111,109,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,44,32,115,114,105,100,58,105,110,116,41,32,58,119,107,98,59,32,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,115,114,105,100,44,48,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,71,101,111,109,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,80,111,105,110,
 
116,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,44,32,115,114,105,100,58,105,110,116,41,32,58,119,107,98,59,32,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,115,114,105,100,44,49,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,80,111,105,110,116,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,76,105,110,101,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,44,32,115,114,105,100,58,105,110,116,41,32,58,119,107,98,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,115,114,105,100,44,50,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,76,105,110,101,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,80,111,108,121,103,111,110,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,44,32,115,114,105,100,58,105,110,116,41,32,58,119,107,98,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,115,114,105,100,44,52,41,59,10,114,101,116,117,114
 
,110,32,120,59,10,101,110,100,32,80,111,108,121,103,111,110,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,77,80,111,105,110,116,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,44,32,115,114,105,100,58,105,110,116,41,32,58,119,107,98,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,115,114,105,100,44,53,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,77,80,111,105,110,116,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,77,76,105,110,101,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,44,32,115,114,105,100,58,105,110,116,41,32,58,119,107,98,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,115,114,105,100,44,54,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,77,76,105,110,101,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,77,80,111,108,121,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,44,32,115,114,105,100,58,105,
 
110,116,41,32,58,119,107,98,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,115,114,105,100,44,55,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,77,80,111,108,121,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,71,101,111,109,67,111,108,108,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,44,32,115,114,105,100,58,105,110,116,41,32,58,119,107,98,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,115,114,105,100,44,56,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,71,101,111,109,67,111,108,108,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,71,101,111,109,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,41,32,58,119,107,98,59,32,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,48,44,48,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,71,101,111,109,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,80,111,1
 
05,110,116,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,41,32,58,119,107,98,59,32,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,48,44,49,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,80,111,105,110,116,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,76,105,110,101,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,41,32,58,119,107,98,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,48,44,50,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,76,105,110,101,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,80,111,108,121,103,111,110,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,41,32,58,119,107,98,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,48,44,52,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,80,111,108,121,103,111,110,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,77,80,111,105
 
,110,116,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,41,32,58,119,107,98,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,48,44,53,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,77,80,111,105,110,116,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,77,76,105,110,101,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,41,32,58,119,107,98,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,48,44,54,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,77,76,105,110,101,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,77,80,111,108,121,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,41,32,58,119,107,98,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,48,44,55,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,77,80,111,108,121,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,71,101,111,109,67,111,10
 
8,108,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,41,32,58,119,107,98,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,48,44,56,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,71,101,111,109,67,111,108,108,70,114,111,109,84,101,120,116,59,10,10,102,117,110,99,116,105,111,110,32,78,117,109,73,110,116,101,114,105,111,114,82,105,110,103,115,40,119,58,119,107,98,41,32,58,105,110,116,59,10,120,32,58,61,32,103,101,111,109,46,78,117,109,82,105,110,103,115,40,119,44,32,48,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,78,117,109,73,110,116,101,114,105,111,114,82,105,110,103,115,59,10,102,117,110,99,116,105,111,110,32,78,82,105,110,103,115,40,119,58,119,107,98,41,32,58,105,110,116,59,10,120,32,58,61,32,103,101,111,109,46,78,117,109,82,105,110,103,115,40,119,44,32,49,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,78,82,105,110,103,115,59,10,102,117,110,99,116,105,111,110,32,66,100,80,111,108,121,70,114,111,109,84,10
 
1,120,116,40,119,107,116,58,115,116,114,44,32,115,114,105,100,58,105,110,116,41,32,58,119,107,98,59,10,120,32,58,61,32,77,76,105,110,101,83,116,114,105,110,103,84,111,80,111,108,121,103,111,110,40,119,107,116,44,115,114,105,100,44,48,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,66,100,80,111,108,121,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,66,100,77,80,111,108,121,70,114,111,109,84,101,120,116,40,119,107,116,58,115,116,114,44,32,115,114,105,100,58,105,110,116,41,32,58,119,107,98,59,10,120,32,58,61,32,77,76,105,110,101,83,116,114,105,110,103,84,111,80,111,108,121,103,111,110,40,119,107,116,44,115,114,105,100,44,49,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,66,100,77,80,111,108,121,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,77,97,107,101,80,111,105,110,116,40,120,58,100,98,108,44,32,121,58,100,98,108,41,32,58,119,107,98,59,10,112,32,58,61,32,77,97,107,101,80,111,105,110,116,88,89,90,77,40,120,44,
 
32,121,44,32,48,58,100,98,108,44,32,48,58,100,98,108,44,32,48,41,59,10,114,101,116,117,114,110,32,112,59,10,101,110,100,32,77,97,107,101,80,111,105,110,116,59,10,102,117,110,99,116,105,111,110,32,77,97,107,101,80,111,105,110,116,40,120,58,100,98,108,44,32,121,58,100,98,108,44,32,122,58,100,98,108,41,32,58,119,107,98,59,10,112,32,58,61,32,77,97,107,101,80,111,105,110,116,88,89,90,77,40,120,44,32,121,44,32,122,44,32,48,58,100,98,108,44,32,49,48,41,59,10,114,101,116,117,114,110,32,112,59,10,101,110,100,32,77,97,107,101,80,111,105,110,116,59,10,102,117,110,99,116,105,111,110,32,77,97,107,101,80,111,105,110,116,77,40,120,58,100,98,108,44,32,121,58,100,98,108,44,32,109,58,100,98,108,41,32,58,119,107,98,59,10,112,32,58,61,32,77,97,107,101,80,111,105,110,116,88,89,90,77,40,120,44,32,121,44,32,48,58,100,98,108,44,32,109,44,32,49,41,59,10,114,101,116,117,114,110,32,112,59,10,101,110,100,32,77,97,107,101,80,111,105,110,116,77,59,10,102,117,110,99,116,105,111,110,32,77,97,107,101,80,111,105,110
 
,116,40,120,58,100,98,108,44,32,121,58,100,98,108,44,32,122,58,100,98,108,44,32,109,58,100,98,108,41,32,58,119,107,98,59,10,112,32,58,61,32,77,97,107,101,80,111,105,110,116,88,89,90,77,40,120,44,32,121,44,32,122,44,32,109,44,32,49,49,41,59,10,114,101,116,117,114,110,32,112,59,10,101,110,100,32,77,97,107,101,80,111,105,110,116,59,10,102,117,110,99,116,105,111,110,32,71,101,111,109,101,116,114,121,84,121,112,101,49,40,119,58,119,107,98,41,32,58,115,116,114,59,10,120,32,58,61,32,71,101,111,109,101,116,114,121,84,121,112,101,40,119,44,32,48,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,71,101,111,109,101,116,114,121,84,121,112,101,49,59,10,102,117,110,99,116,105,111,110,32,71,101,111,109,101,116,114,121,84,121,112,101,50,40,119,58,119,107,98,41,32,58,115,116,114,59,10,120,32,58,61,32,71,101,111,109,101,116,114,121,84,121,112,101,40,119,44,32,49,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,71,101,111,109,101,116,114,121,84,121,112,101,50,59,10,102,117,110,9
 
9,116,105,111,110,32,88,40,119,58,119,107,98,41,32,58,100,98,108,59,10,99,32,58,61,32,71,101,116,67,111,111,114,100,105,110,97,116,101,40,119,44,32,48,41,59,10,114,101,116,117,114,110,32,99,59,10,101,110,100,32,88,59,10,102,117,110,99,116,105,111,110,32,89,40,119,58,119,107,98,41,32,58,100,98,108,59,10,99,32,58,61,32,71,101,116,67,111,111,114,100,105,110,97,116,101,40,119,44,32,49,41,59,10,114,101,116,117,114,110,32,99,59,10,101,110,100,32,89,59,10,102,117,110,99,116,105,111,110,32,90,40,119,58,119,107,98,41,32,58,100,98,108,59,10,99,32,58,61,32,71,101,116,67,111,111,114,100,105,110,97,116,101,40,119,44,32,50,41,59,10,114,101,116,117,114,110,32,99,59,10,101,110,100,32,90,59,10,102,117,110,99,116,105,111,110,32,70,111,114,99,101,50,68,40,103,58,119,107,98,41,32,58,119,107,98,59,10,120,32,58,61,32,70,111,114,99,101,68,105,109,101,110,115,105,111,110,115,40,103,44,32,50,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,70,111,114,99,101,50,68,59,10,102,117,110,99,116,105,111
 
,110,32,70,111,114,99,101,51,68,40,103,58,119,107,98,41,32,58,119,107,98,59,10,120,32,58,61,32,70,111,114,99,101,68,105,109,101,110,115,105,111,110,115,40,103,44,32,51,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,70,111,114,99,101,51,68,59,10,102,117,110,99,116,105,111,110,32,84,114,97,110,115,108,97,116,101,40,103,58,119,107,98,44,32,100,120,58,100,98,108,44,32,100,121,58,100,98,108,41,32,58,119,107,98,59,10,120,32,58,61,32,84,114,97,110,115,108,97,116,101,51,68,40,103,44,100,120,44,100,121,44,48,58,100,98,108,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,84,114,97,110,115,108,97,116,101,59,10,102,117,110,99,116,105,111,110,32,84,114,97,110,115,108,97,116,101,40,103,58,119,107,98,44,32,100,120,58,100,98,108,44,32,100,121,58,100,98,108,44,32,100,122,58,100,98,108,41,32,58,119,107,98,59,10,120,32,58,61,32,84,114,97,110,115,108,97,116,101,51,68,40,103,44,100,120,44,100,121,44,100,122,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,84,114,97,
 
110,115,108,97,116,101,59,10,102,117,110,99,116,105,111,110,32,78,117,109,80,111,105,110,116,115,40,119,58,119,107,98,41,32,58,105,110,116,59,10,120,32,58,61,32,80,111,105,110,116,115,78,117,109,40,119,44,32,49,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,78,117,109,80,111,105,110,116,115,59,10,102,117,110,99,116,105,111,110,32,78,80,111,105,110,116,115,40,119,58,119,107,98,41,32,58,105,110,116,59,10,120,32,58,61,32,80,111,105,110,116,115,78,117,109,40,119,44,32,48,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,78,80,111,105,110,116,115,59,10,102,117,110,99,116,105,111,110,32,77,97,107,101,69,110,118,101,108,111,112,101,40,120,109,105,110,58,100,98,108,44,32,121,109,105,110,58,100,98,108,44,32,120,109,97,120,58,100,98,108,44,32,121,109,97,120,58,100,98,108,44,32,115,114,105,100,58,105,110,116,41,32,58,119,107,98,59,10,120,32,58,61,32,69,110,118,101,108,111,112,101,70,114,111,109,67,111,111,114,100,105,110,97,116,101,115,40,120,109,105,110,44,32,121,109,
 
105,110,44,32,120,109,97,120,44,32,121,109,97,120,44,32,115,114,105,100,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,77,97,107,101,69,110,118,101,108,111,112,101,59,10,102,117,110,99,116,105,111,110,32,77,97,107,101,69,110,118,101,108,111,112,101,40,120,109,105,110,58,100,98,108,44,32,121,109,105,110,58,100,98,108,44,32,120,109,97,120,58,100,98,108,44,32,121,109,97,120,58,100,98,108,41,32,58,119,107,98,59,10,120,32,58,61,32,69,110,118,101,108,111,112,101,70,114,111,109,67,111,111,114,100,105,110,97,116,101,115,40,120,109,105,110,44,32,121,109,105,110,44,32,120,109,97,120,44,32,121,109,97,120,44,32,48,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,77,97,107,101,69,110,118,101,108,111,112,101,59,10,102,117,110,99,116,105,111,110,32,77,97,107,101,80,111,108,121,103,111,110,40,101,120,116,101,114,110,97,108,58,119,107,98,41,32,58,119,107,98,59,10,120,32,58,61,32,80,111,108,121,103,111,110,40,101,120,116,101,114,110,97,108,44,32,110,105,108,58,98,97,116,91,5
 
8,119,107,98,93,44,32,48,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,77,97,107,101,80,111,108,121,103,111,110,59,10,102,117,110,99,116,105,111,110,32,77,97,107,101,80,111,108,121,103,111,110,40,101,120,116,101,114,110,97,108,58,119,107,98,44,32,115,114,105,100,58,105,110,116,41,32,58,119,107,98,59,10,120,32,58,61,32,80,111,108,121,103,111,110,40,101,120,116,101,114,110,97,108,44,32,110,105,108,58,98,97,116,91,58,119,107,98,93,44,32,115,114,105,100,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,77,97,107,101,80,111,108,121,103,111,110,59,10,10,102,117,110,99,116,105,111,110,32,88,77,105,110,70,114,111,109,87,75,66,40,103,58,119,107,98,41,32,58,100,98,108,59,10,120,32,58,61,32,99,111,111,114,100,105,110,97,116,101,70,114,111,109,87,75,66,40,103,44,32,49,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,88,77,105,110,70,114,111,109,87,75,66,59,10,102,117,110,99,116,105,111,110,32,89,77,105,110,70,114,111,109,87,75,66,40,103,58,119,107,98,41,32,
 
58,100,98,108,59,10,120,32,58,61,32,99,111,111,114,100,105,110,97,116,101,70,114,111,109,87,75,66,40,103,44,32,50,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,89,77,105,110,70,114,111,109,87,75,66,59,10,102,117,110,99,116,105,111,110,32,88,77,97,120,70,114,111,109,87,75,66,40,103,58,119,107,98,41,32,58,100,98,108,59,10,120,32,58,61,32,99,111,111,114,100,105,110,97,116,101,70,114,111,109,87,75,66,40,103,44,32,51,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,88,77,97,120,70,114,111,109,87,75,66,59,10,102,117,110,99,116,105,111,110,32,89,77,97,120,70,114,111,109,87,75,66,40,103,58,119,107,98,41,32,58,100,98,108,59,10,120,32,58,61,32,99,111,111,114,100,105,110,97,116,101,70,114,111,109,87,75,66,40,103,44,32,52,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,89,77,97,120,70,114,111,109,87,75,66,59,10,102,117,110,99,116,105,111,110,32,88,77,105,110,70,114,111,109,77,66,82,40,98,58,109,98,114,41,32,58,100,98,108,59,10,120,32,58,61,32,99,111,111,1
 
14,100,105,110,97,116,101,70,114,111,109,77,66,82,40,98,44,32,49,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,88,77,105,110,70,114,111,109,77,66,82,59,10,102,117,110,99,116,105,111,110,32,89,77,105,110,70,114,111,109,77,66,82,40,98,58,109,98,114,41,32,58,100,98,108,59,10,120,32,58,61,32,99,111,111,114,100,105,110,97,116,101,70,114,111,109,77,66,82,40,98,44,32,50,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,89,77,105,110,70,114,111,109,77,66,82,59,10,102,117,110,99,116,105,111,110,32,88,77,97,120,70,114,111,109,77,66,82,40,98,58,109,98,114,41,32,58,100,98,108,59,10,120,32,58,61,32,99,111,111,114,100,105,110,97,116,101,70,114,111,109,77,66,82,40,98,44,32,51,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,88,77,97,120,70,114,111,109,77,66,82,59,10,102,117,110,99,116,105,111,110,32,89,77,97,120,70,114,111,109,77,66,82,40,98,58,109,98,114,41,32,58,100,98,108,59,10,120,32,58,61,32,99,111,111,114,100,105,110,97,116,101,70,114,111,109,77,66,82,40
 
,98,44,32,52,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,89,77,97,120,70,114,111,109,77,66,82,59,10,109,111,100,117,108,101,32,98,97,116,103,101,111,109,59,10,102,117,110,99,116,105,111,110,32,71,101,111,109,70,114,111,109,84,101,120,116,40,119,107,116,58,98,97,116,91,58,115,116,114,93,44,32,115,114,105,100,58,105,110,116,41,32,58,98,97,116,91,58,119,107,98,93,59,32,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,115,114,105,100,44,48,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,71,101,111,109,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,80,111,105,110,116,70,114,111,109,84,101,120,116,40,119,107,116,58,98,97,116,91,58,115,116,114,93,44,32,115,114,105,100,58,105,110,116,41,32,58,98,97,116,91,32,58,119,107,98,93,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,115,114,105,100,44,49,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,80,111,105,110,116,70,114,111,109,84,101,120,116,
 
59,10,102,117,110,99,116,105,111,110,32,76,105,110,101,70,114,111,109,84,101,120,116,40,119,107,116,58,98,97,116,91,58,115,116,114,93,44,32,115,114,105,100,58,105,110,116,41,32,58,98,97,116,91,32,58,119,107,98,93,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,115,114,105,100,44,50,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,76,105,110,101,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,80,111,108,121,103,111,110,70,114,111,109,84,101,120,116,40,119,107,116,58,98,97,116,91,58,115,116,114,93,44,32,115,114,105,100,58,105,110,116,41,32,58,98,97,116,91,32,58,119,107,98,93,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,115,114,105,100,44,52,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,80,111,108,121,103,111,110,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,77,80,111,105,110,116,70,114,111,109,84,101,120,116,40,119,107,116,58,98,97,116,91,58,115,116,114,93,44,32,115,
 
114,105,100,58,105,110,116,41,32,58,98,97,116,91,32,58,119,107,98,93,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,115,114,105,100,44,53,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,77,80,111,105,110,116,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,77,76,105,110,101,70,114,111,109,84,101,120,116,40,119,107,116,58,98,97,116,91,58,115,116,114,93,44,32,115,114,105,100,58,105,110,116,41,32,58,98,97,116,91,32,58,119,107,98,93,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,115,114,105,100,44,54,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,77,76,105,110,101,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,77,80,111,108,121,70,114,111,109,84,101,120,116,40,119,107,116,58,98,97,116,91,58,115,116,114,93,44,32,115,114,105,100,58,105,110,116,41,32,58,98,97,116,91,32,58,119,107,98,93,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,115,114,105,100,44,5
 
5,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,77,80,111,108,121,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,71,101,111,109,67,111,108,108,70,114,111,109,84,101,120,116,40,119,107,116,58,98,97,116,91,58,115,116,114,93,44,32,115,114,105,100,58,105,110,116,41,32,58,98,97,116,91,32,58,119,107,98,93,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,115,114,105,100,44,56,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,71,101,111,109,67,111,108,108,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,71,101,111,109,70,114,111,109,84,101,120,116,40,119,107,116,58,98,97,116,91,58,115,116,114,93,41,32,58,98,97,116,91,58,119,107,98,93,59,32,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,48,44,48,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,71,101,111,109,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,80,111,105,110,116,70,114,111,109,84,101,120,11
 
6,40,119,107,116,58,98,97,116,91,58,115,116,114,93,41,32,58,98,97,116,91,32,58,119,107,98,93,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,48,44,49,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,80,111,105,110,116,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,76,105,110,101,70,114,111,109,84,101,120,116,40,119,107,116,58,98,97,116,91,58,115,116,114,93,41,32,58,98,97,116,91,32,58,119,107,98,93,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,48,44,50,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,76,105,110,101,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,80,111,108,121,103,111,110,70,114,111,109,84,101,120,116,40,119,107,116,58,98,97,116,91,58,115,116,114,93,41,32,58,98,97,116,91,32,58,119,107,98,93,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,48,44,52,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,80,111,108,121,103,111,110
 
,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,77,80,111,105,110,116,70,114,111,109,84,101,120,116,40,119,107,116,58,98,97,116,91,58,115,116,114,93,41,32,58,98,97,116,91,32,58,119,107,98,93,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,48,44,53,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,77,80,111,105,110,116,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,77,76,105,110,101,70,114,111,109,84,101,120,116,40,119,107,116,58,98,97,116,91,58,115,116,114,93,41,32,58,98,97,116,91,32,58,119,107,98,93,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,48,44,54,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,77,76,105,110,101,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,77,80,111,108,121,70,114,111,109,84,101,120,116,40,119,107,116,58,98,97,116,91,58,115,116,114,93,41,32,58,98,97,116,91,32,58,119,107,98,93,59,10,120,32,58,61,32,70,114,111,109,84,101,1
 
20,116,40,119,107,116,44,48,44,55,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,77,80,111,108,121,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,71,101,111,109,67,111,108,108,70,114,111,109,84,101,120,116,40,119,107,116,58,98,97,116,91,58,115,116,114,93,41,32,58,98,97,116,91,32,58,119,107,98,93,59,10,120,32,58,61,32,70,114,111,109,84,101,120,116,40,119,107,116,44,48,44,56,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,71,101,111,109,67,111,108,108,70,114,111,109,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,65,115,84,101,120,116,40,119,58,98,97,116,91,58,119,107,98,93,41,32,58,98,97,116,91,58,115,116,114,93,59,10,120,32,58,61,32,84,111,84,101,120,116,40,119,44,48,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,65,115,84,101,120,116,59,10,102,117,110,99,116,105,111,110,32,65,115,69,87,75,84,40,119,58,98,97,116,91,58,119,107,98,93,41,32,58,98,97,116,91,58,115,116,114,93,59,10,120,32,58,61,32,84,111,84,101,120,11
 
6,40,119,44,49,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,65,115,69,87,75,84,59,10,102,117,110,99,116,105,111,110,32,71,101,111,109,101,116,114,121,84,121,112,101,49,40,119,58,98,97,116,91,58,119,107,98,93,41,32,58,98,97,116,91,58,115,116,114,93,59,10,120,32,58,61,32,71,101,111,109,101,116,114,121,84,121,112,101,40,119,44,32,48,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,71,101,111,109,101,116,114,121,84,121,112,101,49,59,10,102,117,110,99,116,105,111,110,32,71,101,111,109,101,116,114,121,84,121,112,101,50,40,119,58,98,97,116,91,58,119,107,98,93,41,32,58,98,97,116,91,58,115,116,114,93,59,10,120,32,58,61,32,71,101,111,109,101,116,114,121,84,121,112,101,40,119,44,32,49,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,71,101,111,109,101,116,114,121,84,121,112,101,50,59,10,102,117,110,99,116,105,111,110,32,77,97,107,101,80,111,105,110,116,40,120,58,98,97,116,91,58,100,98,108,93,44,32,121,58,98,97,116,91,58,100,98,108,93,41,32,58,98,97,116,9
 
1,58,119,107,98,93,59,10,112,32,58,61,32,77,97,107,101,80,111,105,110,116,88,89,90,77,40,120,44,32,121,44,32,110,105,108,58,98,97,116,91,58,100,98,108,93,44,32,110,105,108,58,98,97,116,44,32,48,41,59,10,114,101,116,117,114,110,32,112,59,10,101,110,100,32,77,97,107,101,80,111,105,110,116,59,10,102,117,110,99,116,105,111,110,32,77,97,107,101,80,111,105,110,116,40,120,58,98,97,116,91,58,100,98,108,93,44,32,121,58,98,97,116,91,58,100,98,108,93,44,32,122,58,98,97,116,91,58,100,98,108,93,41,32,58,98,97,116,91,58,119,107,98,93,59,10,112,32,58,61,32,77,97,107,101,80,111,105,110,116,88,89,90,77,40,120,44,32,121,44,32,122,44,32,110,105,108,58,98,97,116,91,58,100,98,108,93,44,32,49,48,41,59,10,114,101,116,117,114,110,32,112,59,10,101,110,100,32,77,97,107,101,80,111,105,110,116,59,10,102,117,110,99,116,105,111,110,32,77,97,107,101,80,111,105,110,116,77,40,120,58,98,97,116,91,58,100,98,108,93,44,32,121,58,98,97,116,91,58,100,98,108,93,44,32,109,58,98,97,116,91,58,100,98,108,93,41,32,58,98,97,116
 
,91,58,119,107,98,93,59,10,112,32,58,61,32,77,97,107,101,80,111,105,110,116,88,89,90,77,40,120,44,32,121,44,32,110,105,108,58,98,97,116,91,58,100,98,108,93,44,32,109,44,32,49,41,59,10,114,101,116,117,114,110,32,112,59,10,101,110,100,32,77,97,107,101,80,111,105,110,116,77,59,10,102,117,110,99,116,105,111,110,32,77,97,107,101,80,111,105,110,116,40,120,58,98,97,116,91,58,100,98,108,93,44,32,121,58,98,97,116,91,58,100,98,108,93,44,32,122,58,98,97,116,91,58,100,98,108,93,44,32,109,58,98,97,116,91,58,100,98,108,93,41,32,58,98,97,116,91,58,119,107,98,93,59,10,112,32,58,61,32,77,97,107,101,80,111,105,110,116,88,89,90,77,40,120,44,32,121,44,32,122,44,32,109,44,32,49,49,41,59,10,114,101,116,117,114,110,32,112,59,10,101,110,100,32,77,97,107,101,80,111,105,110,116,59,10,102,117,110,99,116,105,111,110,32,78,117,109,80,111,105,110,116,115,40,119,58,98,97,116,91,58,119,107,98,93,41,32,58,98,97,116,91,58,105,110,116,93,59,10,120,32,58,61,32,80,111,105,110,116,115,78,117,109,40,119,44,32,49,41,59,10
 
,114,101,116,117,114,110,32,120,59,10,101,110,100,32,78,117,109,80,111,105,110,116,115,59,10,102,117,110,99,116,105,111,110,32,78,80,111,105,110,116,115,40,119,58,98,97,116,91,58,119,107,98,93,41,32,58,98,97,116,91,58,105,110,116,93,59,10,120,32,58,61,32,80,111,105,110,116,115,78,117,109,40,119,44,32,48,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,78,80,111,105,110,116,115,59,10,102,117,110,99,116,105,111,110,32,88,40,119,58,98,97,116,91,58,119,107,98,93,41,32,58,98,97,116,91,58,100,98,108,93,59,10,99,32,58,61,32,71,101,116,67,111,111,114,100,105,110,97,116,101,40,119,44,32,48,41,59,10,114,101,116,117,114,110,32,99,59,10,101,110,100,32,88,59,10,102,117,110,99,116,105,111,110,32,89,40,119,58,98,97,116,91,58,119,107,98,93,41,32,58,98,97,116,91,58,100,98,108,93,59,10,99,32,58,61,32,71,101,116,67,111,111,114,100,105,110,97,116,101,40,119,44,32,49,41,59,10,114,101,116,117,114,110,32,99,59,10,101,110,100,32,89,59,10,102,117,110,99,116,105,111,110,32,90,40,119,58,98,97,116,
 
91,58,119,107,98,93,41,32,58,98,97,116,91,58,100,98,108,93,59,10,99,32,58,61,32,71,101,116,67,111,111,114,100,105,110,97,116,101,40,119,44,32,50,41,59,10,114,101,116,117,114,110,32,99,59,10,101,110,100,32,90,59,10,102,117,110,99,116,105,111,110,32,78,117,109,73,110,116,101,114,105,111,114,82,105,110,103,115,40,119,58,98,97,116,91,58,119,107,98,93,41,32,58,98,97,116,91,58,105,110,116,93,59,10,120,32,58,61,32,98,97,116,103,101,111,109,46,78,117,109,82,105,110,103,115,40,119,44,32,48,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,78,117,109,73,110,116,101,114,105,111,114,82,105,110,103,115,59,10,102,117,110,99,116,105,111,110,32,78,82,105,110,103,115,40,119,58,98,97,116,91,58,119,107,98,93,41,32,58,98,97,116,91,58,105,110,116,93,59,10,120,32,58,61,32,98,97,116,103,101,111,109,46,78,117,109,82,105,110,103,115,40,119,44,32,49,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,78,82,105,110,103,115,59,10,102,117,110,99,116,105,111,110,32,88,77,105,110,70,114,111,10
 
9,87,75,66,40,103,58,98,97,116,91,58,119,107,98,93,41,32,58,98,97,116,91,58,100,98,108,93,59,10,120,32,58,61,32,99,111,111,114,100,105,110,97,116,101,70,114,111,109,87,75,66,40,103,44,32,49,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,88,77,105,110,70,114,111,109,87,75,66,59,10,102,117,110,99,116,105,111,110,32,89,77,105,110,70,114,111,109,87,75,66,40,103,58,98,97,116,91,58,119,107,98,93,41,32,58,98,97,116,91,58,100,98,108,93,59,10,120,32,58,61,32,99,111,111,114,100,105,110,97,116,101,70,114,111,109,87,75,66,40,103,44,32,50,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,89,77,105,110,70,114,111,109,87,75,66,59,10,102,117,110,99,116,105,111,110,32,88,77,97,120,70,114,111,109,87,75,66,40,103,58,98,97,116,91,58,119,107,98,93,41,32,58,98,97,116,91,58,100,98,108,93,59,10,120,32,58,61,32,99,111,111,114,100,105,110,97,116,101,70,114,111,109,87,75,66,40,103,44,32,51,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,88,77,97,120,70,114,111,109,87,75,6
 
6,59,10,102,117,110,99,116,105,111,110,32,89,77,97,120,70,114,111,109,87,75,66,40,103,58,98,97,116,91,58,119,107,98,93,41,32,58,98,97,116,91,58,100,98,108,93,59,10,120,32,58,61,32,99,111,111,114,100,105,110,97,116,101,70,114,111,109,87,75,66,40,103,44,32,52,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,89,77,97,120,70,114,111,109,87,75,66,59,10,102,117,110,99,116,105,111,110,32,88,77,105,110,70,114,111,109,77,66,82,40,98,58,98,97,116,91,58,109,98,114,93,41,32,58,98,97,116,91,58,100,98,108,93,59,10,120,32,58,61,32,99,111,111,114,100,105,110,97,116,101,70,114,111,109,77,66,82,40,98,44,32,49,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,88,77,105,110,70,114,111,109,77,66,82,59,10,102,117,110,99,116,105,111,110,32,89,77,105,110,70,114,111,109,77,66,82,40,98,58,98,97,116,91,58,109,98,114,93,41,32,58,98,97,116,91,58,100,98,108,93,59,10,120,32,58,61,32,99,111,111,114,100,105,110,97,116,101,70,114,111,109,77,66,82,40,98,44,32,50,41,59,10,114,101,116,117,114,110
 
,32,120,59,10,101,110,100,32,89,77,105,110,70,114,111,109,77,66,82,59,10,102,117,110,99,116,105,111,110,32,88,77,97,120,70,114,111,109,77,66,82,40,98,58,98,97,116,91,58,109,98,114,93,41,32,58,98,97,116,91,58,100,98,108,93,59,10,120,32,58,61,32,99,111,111,114,100,105,110,97,116,101,70,114,111,109,77,66,82,40,98,44,32,51,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,88,77,97,120,70,114,111,109,77,66,82,59,10,102,117,110,99,116,105,111,110,32,89,77,97,120,70,114,111,109,77,66,82,40,98,58,98,97,116,91,58,109,98,114,93,41,32,58,98,97,116,91,58,100,98,108,93,59,10,120,32,58,61,32,99,111,111,114,100,105,110,97,116,101,70,114,111,109,77,66,82,40,98,44,32,52,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,89,77,97,120,70,114,111,109,77,66,82,59,10,102,117,110,99,116,105,111,110,32,99,97,108,99,46,119,107,98,40,32,119,107,116,58,115,116,114,44,32,115,114,105,100,58,105,110,116,44,32,116,121,112,101,58,105,110,116,32,41,32,58,119,107,98,59,10,120,32,58,61,32,103,101
 
,111,109,46,70,114,111,109,84,101,120,116,40,119,107,116,44,48,44,48,41,59,10,114,101,116,117,114,110,32,120,59,10,101,110,100,32,119,107,98,59,0};
+static const unsigned char geom_functions[] = {
+'m','o','d','u','l','e',' ','g','e','o','m',';','\n',
+'f','u','n','c','t','i','o','n',' 
','A','s','T','e','x','t','(','w',':','w','k','b',')',' 
',':','s','t','r',';','\n',
+'x',' ',':','=',' ','T','o','T','e','x','t','(','w',',','0',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','A','s','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','A','s','E','W','K','T','(','w',':','w','k','b',')',' 
',':','s','t','r',';','\n',
+'x',' ',':','=',' ','T','o','T','e','x','t','(','w',',','1',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','A','s','E','W','K','T',';','\n',
+'f','u','n','c','t','i','o','n',' 
','G','e','o','m','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','w','k','b',';',' ','x',' 
',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','s','r','i','d',',','0',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','G','e','o','m','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','P','o','i','n','t','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','w','k','b',';',' ','x',' 
',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','s','r','i','d',',','1',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','P','o','i','n','t','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','L','i','n','e','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','s','r','i','d',',','2',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','L','i','n','e','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','P','o','l','y','g','o','n','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','s','r','i','d',',','4',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' 
','P','o','l','y','g','o','n','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','P','o','i','n','t','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','s','r','i','d',',','5',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' 
','M','P','o','i','n','t','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','L','i','n','e','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','s','r','i','d',',','6',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','M','L','i','n','e','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','P','o','l','y','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','s','r','i','d',',','7',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','M','P','o','l','y','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','G','e','o','m','C','o','l','l','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','s','r','i','d',',','8',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' 
','G','e','o','m','C','o','l','l','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','G','e','o','m','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',')','
 ',':','w','k','b',';',' ','x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','0',',','0',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','G','e','o','m','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','P','o','i','n','t','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',')','
 ',':','w','k','b',';',' ','x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','0',',','1',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','P','o','i','n','t','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','L','i','n','e','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',')','
 ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','0',',','2',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','L','i','n','e','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','P','o','l','y','g','o','n','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',')','
 ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','0',',','4',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' 
','P','o','l','y','g','o','n','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','P','o','i','n','t','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',')','
 ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','0',',','5',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' 
','M','P','o','i','n','t','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','L','i','n','e','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',')','
 ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','0',',','6',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','M','L','i','n','e','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','P','o','l','y','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',')','
 ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','0',',','7',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','M','P','o','l','y','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','G','e','o','m','C','o','l','l','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',')','
 ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','0',',','8',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' 
','G','e','o','m','C','o','l','l','F','r','o','m','T','e','x','t',';','\n',
+'\n',
+'f','u','n','c','t','i','o','n',' 
','N','u','m','I','n','t','e','r','i','o','r','R','i','n','g','s','(','w',':','w','k','b',')','
 ',':','i','n','t',';','\n',
+'x',' ',':','=',' 
','g','e','o','m','.','N','u','m','R','i','n','g','s','(','w',',',' 
','0',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' 
','N','u','m','I','n','t','e','r','i','o','r','R','i','n','g','s',';','\n',
+'f','u','n','c','t','i','o','n',' 
','N','R','i','n','g','s','(','w',':','w','k','b',')',' 
',':','i','n','t',';','\n',
+'x',' ',':','=',' 
','g','e','o','m','.','N','u','m','R','i','n','g','s','(','w',',',' 
','1',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','N','R','i','n','g','s',';','\n',
+'f','u','n','c','t','i','o','n',' 
','B','d','P','o','l','y','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','M','L','i','n','e','S','t','r','i','n','g','T','o','P','o','l','y','g','o','n','(','w','k','t',',','s','r','i','d',',','0',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' 
','B','d','P','o','l','y','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','B','d','M','P','o','l','y','F','r','o','m','T','e','x','t','(','w','k','t',':','s','t','r',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','M','L','i','n','e','S','t','r','i','n','g','T','o','P','o','l','y','g','o','n','(','w','k','t',',','s','r','i','d',',','1',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' 
','B','d','M','P','o','l','y','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','a','k','e','P','o','i','n','t','(','x',':','d','b','l',',',' 
','y',':','d','b','l',')',' ',':','w','k','b',';','\n',
+'p',' ',':','=',' 
','M','a','k','e','P','o','i','n','t','X','Y','Z','M','(','x',',',' ','y',',',' 
','0',':','d','b','l',',',' ','0',':','d','b','l',',',' ','0',')',';','\n',
+'r','e','t','u','r','n',' ','p',';','\n',
+'e','n','d',' ','M','a','k','e','P','o','i','n','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','a','k','e','P','o','i','n','t','(','x',':','d','b','l',',',' 
','y',':','d','b','l',',',' ','z',':','d','b','l',')',' 
',':','w','k','b',';','\n',
+'p',' ',':','=',' 
','M','a','k','e','P','o','i','n','t','X','Y','Z','M','(','x',',',' ','y',',',' 
','z',',',' ','0',':','d','b','l',',',' ','1','0',')',';','\n',
+'r','e','t','u','r','n',' ','p',';','\n',
+'e','n','d',' ','M','a','k','e','P','o','i','n','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','a','k','e','P','o','i','n','t','M','(','x',':','d','b','l',',',' 
','y',':','d','b','l',',',' ','m',':','d','b','l',')',' 
',':','w','k','b',';','\n',
+'p',' ',':','=',' 
','M','a','k','e','P','o','i','n','t','X','Y','Z','M','(','x',',',' ','y',',',' 
','0',':','d','b','l',',',' ','m',',',' ','1',')',';','\n',
+'r','e','t','u','r','n',' ','p',';','\n',
+'e','n','d',' ','M','a','k','e','P','o','i','n','t','M',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','a','k','e','P','o','i','n','t','(','x',':','d','b','l',',',' 
','y',':','d','b','l',',',' ','z',':','d','b','l',',',' 
','m',':','d','b','l',')',' ',':','w','k','b',';','\n',
+'p',' ',':','=',' 
','M','a','k','e','P','o','i','n','t','X','Y','Z','M','(','x',',',' ','y',',',' 
','z',',',' ','m',',',' ','1','1',')',';','\n',
+'r','e','t','u','r','n',' ','p',';','\n',
+'e','n','d',' ','M','a','k','e','P','o','i','n','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','G','e','o','m','e','t','r','y','T','y','p','e','1','(','w',':','w','k','b',')','
 ',':','s','t','r',';','\n',
+'x',' ',':','=',' 
','G','e','o','m','e','t','r','y','T','y','p','e','(','w',',',' 
','0',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','G','e','o','m','e','t','r','y','T','y','p','e','1',';','\n',
+'f','u','n','c','t','i','o','n',' 
','G','e','o','m','e','t','r','y','T','y','p','e','2','(','w',':','w','k','b',')','
 ',':','s','t','r',';','\n',
+'x',' ',':','=',' 
','G','e','o','m','e','t','r','y','T','y','p','e','(','w',',',' 
','1',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','G','e','o','m','e','t','r','y','T','y','p','e','2',';','\n',
+'f','u','n','c','t','i','o','n',' ','X','(','w',':','w','k','b',')',' 
',':','d','b','l',';','\n',
+'c',' ',':','=',' 
','G','e','t','C','o','o','r','d','i','n','a','t','e','(','w',',',' 
','0',')',';','\n',
+'r','e','t','u','r','n',' ','c',';','\n',
+'e','n','d',' ','X',';','\n',
+'f','u','n','c','t','i','o','n',' ','Y','(','w',':','w','k','b',')',' 
',':','d','b','l',';','\n',
+'c',' ',':','=',' 
','G','e','t','C','o','o','r','d','i','n','a','t','e','(','w',',',' 
','1',')',';','\n',
+'r','e','t','u','r','n',' ','c',';','\n',
+'e','n','d',' ','Y',';','\n',
+'f','u','n','c','t','i','o','n',' ','Z','(','w',':','w','k','b',')',' 
',':','d','b','l',';','\n',
+'c',' ',':','=',' 
','G','e','t','C','o','o','r','d','i','n','a','t','e','(','w',',',' 
','2',')',';','\n',
+'r','e','t','u','r','n',' ','c',';','\n',
+'e','n','d',' ','Z',';','\n',
+'f','u','n','c','t','i','o','n',' 
','F','o','r','c','e','2','D','(','g',':','w','k','b',')',' 
',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','F','o','r','c','e','D','i','m','e','n','s','i','o','n','s','(','g',',',' 
','2',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','F','o','r','c','e','2','D',';','\n',
+'f','u','n','c','t','i','o','n',' 
','F','o','r','c','e','3','D','(','g',':','w','k','b',')',' 
',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','F','o','r','c','e','D','i','m','e','n','s','i','o','n','s','(','g',',',' 
','3',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','F','o','r','c','e','3','D',';','\n',
+'f','u','n','c','t','i','o','n',' 
','T','r','a','n','s','l','a','t','e','(','g',':','w','k','b',',',' 
','d','x',':','d','b','l',',',' ','d','y',':','d','b','l',')',' 
',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','T','r','a','n','s','l','a','t','e','3','D','(','g',',','d','x',',','d','y',',','0',':','d','b','l',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','T','r','a','n','s','l','a','t','e',';','\n',
+'f','u','n','c','t','i','o','n',' 
','T','r','a','n','s','l','a','t','e','(','g',':','w','k','b',',',' 
','d','x',':','d','b','l',',',' ','d','y',':','d','b','l',',',' 
','d','z',':','d','b','l',')',' ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','T','r','a','n','s','l','a','t','e','3','D','(','g',',','d','x',',','d','y',',','d','z',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','T','r','a','n','s','l','a','t','e',';','\n',
+'f','u','n','c','t','i','o','n',' 
','N','u','m','P','o','i','n','t','s','(','w',':','w','k','b',')',' 
',':','i','n','t',';','\n',
+'x',' ',':','=',' ','P','o','i','n','t','s','N','u','m','(','w',',',' 
','1',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','N','u','m','P','o','i','n','t','s',';','\n',
+'f','u','n','c','t','i','o','n',' 
','N','P','o','i','n','t','s','(','w',':','w','k','b',')',' 
',':','i','n','t',';','\n',
+'x',' ',':','=',' ','P','o','i','n','t','s','N','u','m','(','w',',',' 
','0',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','N','P','o','i','n','t','s',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','a','k','e','E','n','v','e','l','o','p','e','(','x','m','i','n',':','d','b','l',',','
 ','y','m','i','n',':','d','b','l',',',' 
','x','m','a','x',':','d','b','l',',',' ','y','m','a','x',':','d','b','l',',',' 
','s','r','i','d',':','i','n','t',')',' ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','E','n','v','e','l','o','p','e','F','r','o','m','C','o','o','r','d','i','n','a','t','e','s','(','x','m','i','n',',','
 ','y','m','i','n',',',' ','x','m','a','x',',',' ','y','m','a','x',',',' 
','s','r','i','d',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','M','a','k','e','E','n','v','e','l','o','p','e',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','a','k','e','E','n','v','e','l','o','p','e','(','x','m','i','n',':','d','b','l',',','
 ','y','m','i','n',':','d','b','l',',',' 
','x','m','a','x',':','d','b','l',',',' ','y','m','a','x',':','d','b','l',')',' 
',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','E','n','v','e','l','o','p','e','F','r','o','m','C','o','o','r','d','i','n','a','t','e','s','(','x','m','i','n',',','
 ','y','m','i','n',',',' ','x','m','a','x',',',' ','y','m','a','x',',',' 
','0',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','M','a','k','e','E','n','v','e','l','o','p','e',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','a','k','e','P','o','l','y','g','o','n','(','e','x','t','e','r','n','a','l',':','w','k','b',')','
 ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','P','o','l','y','g','o','n','(','e','x','t','e','r','n','a','l',',',' 
','n','i','l',':','b','a','t','[',':','w','k','b',']',',',' ','0',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','M','a','k','e','P','o','l','y','g','o','n',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','a','k','e','P','o','l','y','g','o','n','(','e','x','t','e','r','n','a','l',':','w','k','b',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','w','k','b',';','\n',
+'x',' ',':','=',' 
','P','o','l','y','g','o','n','(','e','x','t','e','r','n','a','l',',',' 
','n','i','l',':','b','a','t','[',':','w','k','b',']',',',' 
','s','r','i','d',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','M','a','k','e','P','o','l','y','g','o','n',';','\n',
+'\n',
+'f','u','n','c','t','i','o','n',' 
','X','M','i','n','F','r','o','m','W','K','B','(','g',':','w','k','b',')',' 
',':','d','b','l',';','\n',
+'x',' ',':','=',' 
','c','o','o','r','d','i','n','a','t','e','F','r','o','m','W','K','B','(','g',',','
 ','1',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','X','M','i','n','F','r','o','m','W','K','B',';','\n',
+'f','u','n','c','t','i','o','n',' 
','Y','M','i','n','F','r','o','m','W','K','B','(','g',':','w','k','b',')',' 
',':','d','b','l',';','\n',
+'x',' ',':','=',' 
','c','o','o','r','d','i','n','a','t','e','F','r','o','m','W','K','B','(','g',',','
 ','2',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','Y','M','i','n','F','r','o','m','W','K','B',';','\n',
+'f','u','n','c','t','i','o','n',' 
','X','M','a','x','F','r','o','m','W','K','B','(','g',':','w','k','b',')',' 
',':','d','b','l',';','\n',
+'x',' ',':','=',' 
','c','o','o','r','d','i','n','a','t','e','F','r','o','m','W','K','B','(','g',',','
 ','3',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','X','M','a','x','F','r','o','m','W','K','B',';','\n',
+'f','u','n','c','t','i','o','n',' 
','Y','M','a','x','F','r','o','m','W','K','B','(','g',':','w','k','b',')',' 
',':','d','b','l',';','\n',
+'x',' ',':','=',' 
','c','o','o','r','d','i','n','a','t','e','F','r','o','m','W','K','B','(','g',',','
 ','4',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','Y','M','a','x','F','r','o','m','W','K','B',';','\n',
+'f','u','n','c','t','i','o','n',' 
','X','M','i','n','F','r','o','m','M','B','R','(','b',':','m','b','r',')',' 
',':','d','b','l',';','\n',
+'x',' ',':','=',' 
','c','o','o','r','d','i','n','a','t','e','F','r','o','m','M','B','R','(','b',',','
 ','1',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','X','M','i','n','F','r','o','m','M','B','R',';','\n',
+'f','u','n','c','t','i','o','n',' 
','Y','M','i','n','F','r','o','m','M','B','R','(','b',':','m','b','r',')',' 
',':','d','b','l',';','\n',
+'x',' ',':','=',' 
','c','o','o','r','d','i','n','a','t','e','F','r','o','m','M','B','R','(','b',',','
 ','2',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','Y','M','i','n','F','r','o','m','M','B','R',';','\n',
+'f','u','n','c','t','i','o','n',' 
','X','M','a','x','F','r','o','m','M','B','R','(','b',':','m','b','r',')',' 
',':','d','b','l',';','\n',
+'x',' ',':','=',' 
','c','o','o','r','d','i','n','a','t','e','F','r','o','m','M','B','R','(','b',',','
 ','3',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','X','M','a','x','F','r','o','m','M','B','R',';','\n',
+'f','u','n','c','t','i','o','n',' 
','Y','M','a','x','F','r','o','m','M','B','R','(','b',':','m','b','r',')',' 
',':','d','b','l',';','\n',
+'x',' ',':','=',' 
','c','o','o','r','d','i','n','a','t','e','F','r','o','m','M','B','R','(','b',',','
 ','4',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','Y','M','a','x','F','r','o','m','M','B','R',';','\n',
+'m','o','d','u','l','e',' ','b','a','t','g','e','o','m',';','\n',
+'f','u','n','c','t','i','o','n',' 
','G','e','o','m','F','r','o','m','T','e','x','t','(','w','k','t',':','b','a','t','[',':','s','t','r',']',',','
 ','s','r','i','d',':','i','n','t',')',' 
',':','b','a','t','[',':','w','k','b',']',';',' ','x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','s','r','i','d',',','0',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','G','e','o','m','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','P','o','i','n','t','F','r','o','m','T','e','x','t','(','w','k','t',':','b','a','t','[',':','s','t','r',']',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','b','a','t','[',' 
',':','w','k','b',']',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','s','r','i','d',',','1',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','P','o','i','n','t','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','L','i','n','e','F','r','o','m','T','e','x','t','(','w','k','t',':','b','a','t','[',':','s','t','r',']',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','b','a','t','[',' 
',':','w','k','b',']',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','s','r','i','d',',','2',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','L','i','n','e','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','P','o','l','y','g','o','n','F','r','o','m','T','e','x','t','(','w','k','t',':','b','a','t','[',':','s','t','r',']',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','b','a','t','[',' 
',':','w','k','b',']',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','s','r','i','d',',','4',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' 
','P','o','l','y','g','o','n','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','P','o','i','n','t','F','r','o','m','T','e','x','t','(','w','k','t',':','b','a','t','[',':','s','t','r',']',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','b','a','t','[',' 
',':','w','k','b',']',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','s','r','i','d',',','5',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' 
','M','P','o','i','n','t','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','L','i','n','e','F','r','o','m','T','e','x','t','(','w','k','t',':','b','a','t','[',':','s','t','r',']',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','b','a','t','[',' 
',':','w','k','b',']',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','s','r','i','d',',','6',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','M','L','i','n','e','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','P','o','l','y','F','r','o','m','T','e','x','t','(','w','k','t',':','b','a','t','[',':','s','t','r',']',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','b','a','t','[',' 
',':','w','k','b',']',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','s','r','i','d',',','7',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','M','P','o','l','y','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','G','e','o','m','C','o','l','l','F','r','o','m','T','e','x','t','(','w','k','t',':','b','a','t','[',':','s','t','r',']',',','
 ','s','r','i','d',':','i','n','t',')',' ',':','b','a','t','[',' 
',':','w','k','b',']',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','s','r','i','d',',','8',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' 
','G','e','o','m','C','o','l','l','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','G','e','o','m','F','r','o','m','T','e','x','t','(','w','k','t',':','b','a','t','[',':','s','t','r',']',')','
 ',':','b','a','t','[',':','w','k','b',']',';',' ','x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','0',',','0',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','G','e','o','m','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','P','o','i','n','t','F','r','o','m','T','e','x','t','(','w','k','t',':','b','a','t','[',':','s','t','r',']',')','
 ',':','b','a','t','[',' ',':','w','k','b',']',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','0',',','1',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','P','o','i','n','t','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','L','i','n','e','F','r','o','m','T','e','x','t','(','w','k','t',':','b','a','t','[',':','s','t','r',']',')','
 ',':','b','a','t','[',' ',':','w','k','b',']',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','0',',','2',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','L','i','n','e','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','P','o','l','y','g','o','n','F','r','o','m','T','e','x','t','(','w','k','t',':','b','a','t','[',':','s','t','r',']',')','
 ',':','b','a','t','[',' ',':','w','k','b',']',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','0',',','4',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' 
','P','o','l','y','g','o','n','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','P','o','i','n','t','F','r','o','m','T','e','x','t','(','w','k','t',':','b','a','t','[',':','s','t','r',']',')','
 ',':','b','a','t','[',' ',':','w','k','b',']',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','0',',','5',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' 
','M','P','o','i','n','t','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','L','i','n','e','F','r','o','m','T','e','x','t','(','w','k','t',':','b','a','t','[',':','s','t','r',']',')','
 ',':','b','a','t','[',' ',':','w','k','b',']',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','0',',','6',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','M','L','i','n','e','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','P','o','l','y','F','r','o','m','T','e','x','t','(','w','k','t',':','b','a','t','[',':','s','t','r',']',')','
 ',':','b','a','t','[',' ',':','w','k','b',']',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','0',',','7',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','M','P','o','l','y','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','G','e','o','m','C','o','l','l','F','r','o','m','T','e','x','t','(','w','k','t',':','b','a','t','[',':','s','t','r',']',')','
 ',':','b','a','t','[',' ',':','w','k','b',']',';','\n',
+'x',' ',':','=',' 
','F','r','o','m','T','e','x','t','(','w','k','t',',','0',',','8',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' 
','G','e','o','m','C','o','l','l','F','r','o','m','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','A','s','T','e','x','t','(','w',':','b','a','t','[',':','w','k','b',']',')',' 
',':','b','a','t','[',':','s','t','r',']',';','\n',
+'x',' ',':','=',' ','T','o','T','e','x','t','(','w',',','0',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','A','s','T','e','x','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','A','s','E','W','K','T','(','w',':','b','a','t','[',':','w','k','b',']',')',' 
',':','b','a','t','[',':','s','t','r',']',';','\n',
+'x',' ',':','=',' ','T','o','T','e','x','t','(','w',',','1',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','A','s','E','W','K','T',';','\n',
+'f','u','n','c','t','i','o','n',' 
','G','e','o','m','e','t','r','y','T','y','p','e','1','(','w',':','b','a','t','[',':','w','k','b',']',')','
 ',':','b','a','t','[',':','s','t','r',']',';','\n',
+'x',' ',':','=',' 
','G','e','o','m','e','t','r','y','T','y','p','e','(','w',',',' 
','0',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','G','e','o','m','e','t','r','y','T','y','p','e','1',';','\n',
+'f','u','n','c','t','i','o','n',' 
','G','e','o','m','e','t','r','y','T','y','p','e','2','(','w',':','b','a','t','[',':','w','k','b',']',')','
 ',':','b','a','t','[',':','s','t','r',']',';','\n',
+'x',' ',':','=',' 
','G','e','o','m','e','t','r','y','T','y','p','e','(','w',',',' 
','1',')',';','\n',
+'r','e','t','u','r','n',' ','x',';','\n',
+'e','n','d',' ','G','e','o','m','e','t','r','y','T','y','p','e','2',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','a','k','e','P','o','i','n','t','(','x',':','b','a','t','[',':','d','b','l',']',',','
 ','y',':','b','a','t','[',':','d','b','l',']',')',' 
',':','b','a','t','[',':','w','k','b',']',';','\n',
+'p',' ',':','=',' 
','M','a','k','e','P','o','i','n','t','X','Y','Z','M','(','x',',',' ','y',',',' 
','n','i','l',':','b','a','t','[',':','d','b','l',']',',',' 
','n','i','l',':','b','a','t',',',' ','0',')',';','\n',
+'r','e','t','u','r','n',' ','p',';','\n',
+'e','n','d',' ','M','a','k','e','P','o','i','n','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','a','k','e','P','o','i','n','t','(','x',':','b','a','t','[',':','d','b','l',']',',','
 ','y',':','b','a','t','[',':','d','b','l',']',',',' 
','z',':','b','a','t','[',':','d','b','l',']',')',' 
',':','b','a','t','[',':','w','k','b',']',';','\n',
+'p',' ',':','=',' 
','M','a','k','e','P','o','i','n','t','X','Y','Z','M','(','x',',',' ','y',',',' 
','z',',',' ','n','i','l',':','b','a','t','[',':','d','b','l',']',',',' 
','1','0',')',';','\n',
+'r','e','t','u','r','n',' ','p',';','\n',
+'e','n','d',' ','M','a','k','e','P','o','i','n','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','a','k','e','P','o','i','n','t','M','(','x',':','b','a','t','[',':','d','b','l',']',',','
 ','y',':','b','a','t','[',':','d','b','l',']',',',' 
','m',':','b','a','t','[',':','d','b','l',']',')',' 
',':','b','a','t','[',':','w','k','b',']',';','\n',
+'p',' ',':','=',' 
','M','a','k','e','P','o','i','n','t','X','Y','Z','M','(','x',',',' ','y',',',' 
','n','i','l',':','b','a','t','[',':','d','b','l',']',',',' ','m',',',' 
','1',')',';','\n',
+'r','e','t','u','r','n',' ','p',';','\n',
+'e','n','d',' ','M','a','k','e','P','o','i','n','t','M',';','\n',
+'f','u','n','c','t','i','o','n',' 
','M','a','k','e','P','o','i','n','t','(','x',':','b','a','t','[',':','d','b','l',']',',','
 ','y',':','b','a','t','[',':','d','b','l',']',',',' 
','z',':','b','a','t','[',':','d','b','l',']',',',' 
','m',':','b','a','t','[',':','d','b','l',']',')',' 
',':','b','a','t','[',':','w','k','b',']',';','\n',
+'p',' ',':','=',' 
','M','a','k','e','P','o','i','n','t','X','Y','Z','M','(','x',',',' ','y',',',' 
','z',',',' ','m',',',' ','1','1',')',';','\n',
+'r','e','t','u','r','n',' ','p',';','\n',
+'e','n','d',' ','M','a','k','e','P','o','i','n','t',';','\n',
+'f','u','n','c','t','i','o','n',' 
','N','u','m','P','o','i','n','t','s','(','w',':','b','a','t','[',':','w','k','b',']',')','
 ',':','b','a','t','[',':','i','n','t',']',';','\n',
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to