From: Bborie Park Date: Wed, 8 Feb 2012 16:11:13 +0000 (+0000) Subject: Added regression tests for raster2pgsql loader. Ticket is #1388 X-Git-Tag: 2.0.0alpha4~7 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=03ee5561c22ae415314ac315416b2f6bf5c9fb9d;p=postgis Added regression tests for raster2pgsql loader. Ticket is #1388 git-svn-id: http://svn.osgeo.org/postgis/trunk@9098 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/raster/loader/raster2pgsql.c b/raster/loader/raster2pgsql.c index 41516f6ef..405e201a4 100644 --- a/raster/loader/raster2pgsql.c +++ b/raster/loader/raster2pgsql.c @@ -1671,6 +1671,12 @@ convert_raster(int idx, RTLOADERCFG *config, RASTERINFO *info, STRINGBUFFER *til xtile * info->tile_size[0], ytile * info->tile_size[1], &(gt[0]), &(gt[3]) ); + /* + rtinfo(_("tile (%d, %d) gt = (%f, %f, %f, %f, %f, %f)"), + xtile, ytile, + gt[0], gt[1], gt[2], gt[3], gt[4], gt[5] + ); + */ /* create VRT dataset */ hdsDst = VRTCreate(info->tile_size[0], info->tile_size[1]); diff --git a/raster/test/regress/Makefile.in b/raster/test/regress/Makefile.in index 8cca0a92c..f1dce2ed9 100644 --- a/raster/test/regress/Makefile.in +++ b/raster/test/regress/Makefile.in @@ -119,12 +119,16 @@ TEST_BUGS = \ tickets TEST_LOADER = \ - loader/basic + loader/Basic \ + loader/BasicCopy \ + loader/Tiled10x10 \ + loader/Tiled10x10Copy TESTS = $(TEST_METADATA) $(TEST_IO) $(TEST_FUNC) \ $(TEST_PROPS) $(TEST_BANDPROPS) \ $(TEST_UTILITY) $(TEST_GIST) $(TEST_SREL) \ - $(TEST_BUGS) + $(TEST_BUGS) \ + $(TEST_LOADER) all: @echo "Use 'make check' to run all tests" diff --git a/raster/test/regress/loader/Basic-post.sh b/raster/test/regress/loader/Basic-post.sh new file mode 100755 index 000000000..1bdc985a4 --- /dev/null +++ b/raster/test/regress/loader/Basic-post.sh @@ -0,0 +1 @@ +rm -f loader/Basic.tif diff --git a/raster/test/regress/loader/Basic-pre.sh b/raster/test/regress/loader/Basic-pre.sh new file mode 100755 index 000000000..9e4c254a9 --- /dev/null +++ b/raster/test/regress/loader/Basic-pre.sh @@ -0,0 +1 @@ +cp loader/testraster.tif loader/Basic.tif diff --git a/raster/test/regress/loader/Basic.select.expected b/raster/test/regress/loader/Basic.select.expected new file mode 100644 index 000000000..06ae1a70f --- /dev/null +++ b/raster/test/regress/loader/Basic.select.expected @@ -0,0 +1,74 @@ +0|1.0000000000|-1.0000000000|90|90|t|f|3|{8BUI,8BUI,8BUI}|{NULL,NULL,NULL}|{f,f,f}|01030000000100000005000000000000000000000000000000008056C00000000000000000000000000000000000000000008056400000000000000000000000000080564000000000008056C0000000000000000000000000008056C0 +0103000000010000000500000000000000000034400000000000000000000000000000344000000000000024C00000000000003E4000000000000024C00000000000003E40000000000000000000000000000034400000000000000000|0 +0103000000010000000500000000000000000044400000000000000000000000000000444000000000000024C0000000000000494000000000000024C00000000000004940000000000000000000000000000044400000000000000000|0 +010300000001000000050000000000000000004E4000000000000000000000000000004E4000000000000024C0000000000080514000000000000024C0000000000080514000000000000000000000000000004E400000000000000000|0 +01030000000100000005000000000000000000000000000000000034C000000000000000000000000000003EC000000000000024400000000000003EC0000000000000244000000000000034C0000000000000000000000000000034C0|0 +01030000000100000005000000000000000000344000000000000034C000000000000034400000000000003EC00000000000003E400000000000003EC00000000000003E4000000000000034C0000000000000344000000000000034C0|0 +01030000000100000005000000000000000000444000000000000034C000000000000044400000000000003EC000000000000049400000000000003EC0000000000000494000000000000034C0000000000000444000000000000034C0|0 +010300000001000000050000000000000000004E4000000000000034C00000000000004E400000000000003EC000000000008051400000000000003EC0000000000080514000000000000034C00000000000004E4000000000000034C0|0 +01030000000100000005000000000000000000544000000000000034C000000000000054400000000000003EC000000000008056400000000000003EC0000000000080564000000000000034C0000000000000544000000000000034C0|0 +01030000000100000005000000000000000000000000000000000044C0000000000000000000000000000049C0000000000000244000000000000049C0000000000000244000000000000044C0000000000000000000000000000044C0|0 +01030000000100000005000000000000000000344000000000000044C0000000000000344000000000000049C00000000000003E4000000000000049C00000000000003E4000000000000044C0000000000000344000000000000044C0|0 +01030000000100000005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0|0 +010300000001000000050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C0|0 +01030000000100000005000000000000000000544000000000000044C0000000000000544000000000000049C0000000000080564000000000000049C0000000000080564000000000000044C0000000000000544000000000000044C0|0 +0103000000010000000500000000000000000000000000000000004EC0000000000000000000000000008051C0000000000000244000000000008051C000000000000024400000000000004EC000000000000000000000000000004EC0|0 +0103000000010000000500000000000000000034400000000000004EC0000000000000344000000000008051C00000000000003E4000000000008051C00000000000003E400000000000004EC000000000000034400000000000004EC0|0 +0103000000010000000500000000000000000044400000000000004EC0000000000000444000000000008051C0000000000000494000000000008051C000000000000049400000000000004EC000000000000044400000000000004EC0|0 +010300000001000000050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC0|0 +0103000000010000000500000000000000000054400000000000004EC0000000000000544000000000008051C0000000000080564000000000008051C000000000008056400000000000004EC000000000000054400000000000004EC0|0 +01030000000A0000004000000000000000000000000000000000000000000000000000000000000000000034C0000000000000244000000000000034C000000000000024400000000000003EC000000000000022400000000000003EC000000000000000000000000000003EC0000000000000000000000000000044C0000000000000244000000000000044C0000000000000244000000000000049C0000000000000224000000000000049C0000000000000000000000000000049C000000000000000000000000000004EC000000000000024400000000000004EC0000000000000244000000000008051C0000000000000224000000000008051C0000000000000000000000000008051C0000000000000000000000000000054C0000000000000244000000000000054C0000000000000244000000000008056C0000000000000344000000000008056C0000000000000344000000000000054C00000000000003E4000000000000054C00000000000003E4000000000008056C0000000000000444000000000008056C0000000000000444000000000000054C0000000000000494000000000000054C0000000000000494000000000008056C00000000000004E4000000000008056C00000000000004E4000000000000054C0000000000080514000000000000054C0000000000080514000000000008056C0000000000000544000000000008056C0000000000000544000000000000054C0000000000040564000000000000054C0000000000080564000000000000054C0000000000080564000000000008051C0000000000000544000000000008051C000000000000054400000000000004EC000000000004056400000000000004EC000000000008056400000000000004EC0000000000080564000000000000049C0000000000000544000000000000049C0000000000000544000000000000044C0000000000040564000000000000044C0000000000080564000000000000044C000000000008056400000000000003EC000000000000054400000000000003EC0000000000000544000000000000034C0000000000040564000000000000034C0000000000080564000000000000034C00000000000805640000000000000000000000000008051400000000000000000000000000080514000000000000024C00000000000004E4000000000000024C00000000000004E40000000000000000000000000000049400000000000000000000000000000494000000000000024C0000000000000444000000000000024C0000000000000444000000000000000000000000000003E4000000000000000000000000000003E4000000000000024C0000000000000344000000000000024C0000000000000344000000000000000000000000000000000000000000000000005000000000000000000344000000000000044C00000000000003E4000000000000044C00000000000003E4000000000000049C0000000000000344000000000000049C0000000000000344000000000000044C005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC0050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C00500000000000000000044400000000000004EC0000000000000444000000000008051C0000000000000494000000000008051C000000000000049400000000000004EC000000000000044400000000000004EC00500000000000000000034400000000000004EC00000000000003E400000000000004EC00000000000003E4000000000008051C0000000000000344000000000008051C000000000000034400000000000004EC0050000000000000000004E4000000000000034C0000000000080514000000000000034C000000000008051400000000000003EC00000000000004E400000000000003EC00000000000004E4000000000000034C005000000000000000000344000000000000034C000000000000034400000000000003EC00000000000003E400000000000003EC00000000000003E4000000000000034C0000000000000344000000000000034C005000000000000000000444000000000000034C0000000000000494000000000000034C000000000000049400000000000003EC000000000000044400000000000003EC0000000000000444000000000000034C0|255 +01030000000100000005000000000000000000000000000000000054C0000000000000000000000000008056C0000000000000244000000000008056C0000000000000244000000000000054C0000000000000000000000000000054C0|0 +01030000000100000005000000000000000000344000000000000054C0000000000000344000000000008056C00000000000003E4000000000008056C00000000000003E4000000000000054C0000000000000344000000000000054C0|0 +01030000000100000005000000000000000000444000000000000054C0000000000000444000000000008056C0000000000000494000000000008056C0000000000000494000000000000054C0000000000000444000000000000054C0|0 +010300000001000000050000000000000000004E4000000000000054C00000000000004E4000000000008056C0000000000080514000000000008056C0000000000080514000000000000054C00000000000004E4000000000000054C0|0 +01030000000100000005000000000000000000544000000000000054C0000000000000544000000000008056C0000000000080564000000000008056C0000000000080564000000000000054C0000000000000544000000000000054C0|0 +0103000000010000000500000000000000000000000000000000000000000000000000000000000000000024C0000000000000244000000000000024C00000000000002440000000000000000000000000000000000000000000000000|0 +0103000000010000000500000000000000000034400000000000000000000000000000344000000000000024C00000000000003E4000000000000024C00000000000003E40000000000000000000000000000034400000000000000000|0 +0103000000010000000500000000000000000044400000000000000000000000000000444000000000000024C0000000000000494000000000000024C00000000000004940000000000000000000000000000044400000000000000000|0 +010300000001000000050000000000000000004E4000000000000000000000000000004E4000000000000024C0000000000080514000000000000024C0000000000080514000000000000000000000000000004E400000000000000000|0 +01030000000100000005000000000000000000000000000000000034C000000000000000000000000000003EC000000000000024400000000000003EC0000000000000244000000000000034C0000000000000000000000000000034C0|0 +01030000000100000005000000000000000000344000000000000034C000000000000034400000000000003EC00000000000003E400000000000003EC00000000000003E4000000000000034C0000000000000344000000000000034C0|0 +01030000000100000005000000000000000000444000000000000034C000000000000044400000000000003EC000000000000049400000000000003EC0000000000000494000000000000034C0000000000000444000000000000034C0|0 +010300000001000000050000000000000000004E4000000000000034C00000000000004E400000000000003EC000000000008051400000000000003EC0000000000080514000000000000034C00000000000004E4000000000000034C0|0 +01030000000100000005000000000000000000544000000000000034C000000000000054400000000000003EC000000000008056400000000000003EC0000000000080564000000000000034C0000000000000544000000000000034C0|0 +01030000000100000005000000000000000000000000000000000044C0000000000000000000000000000049C0000000000000244000000000000049C0000000000000244000000000000044C0000000000000000000000000000044C0|0 +01030000000100000005000000000000000000344000000000000044C0000000000000344000000000000049C00000000000003E4000000000000049C00000000000003E4000000000000044C0000000000000344000000000000044C0|0 +01030000000100000005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0|0 +010300000001000000050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C0|0 +01030000000100000005000000000000000000544000000000000044C0000000000000544000000000000049C0000000000080564000000000000049C0000000000080564000000000000044C0000000000000544000000000000044C0|0 +0103000000010000000500000000000000000000000000000000004EC0000000000000000000000000008051C0000000000000244000000000008051C000000000000024400000000000004EC000000000000000000000000000004EC0|0 +0103000000010000000500000000000000000034400000000000004EC0000000000000344000000000008051C00000000000003E4000000000008051C00000000000003E400000000000004EC000000000000034400000000000004EC0|0 +0103000000010000000500000000000000000044400000000000004EC0000000000000444000000000008051C0000000000000494000000000008051C000000000000049400000000000004EC000000000000044400000000000004EC0|0 +010300000001000000050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC0|0 +0103000000010000000500000000000000000054400000000000004EC0000000000000544000000000008051C0000000000080564000000000008051C000000000008056400000000000004EC000000000000054400000000000004EC0|0 +01030000000A0000004100000000000000000024400000000000000000000000000000244000000000000024C0000000000000224000000000000024C0000000000000000000000000000024C0000000000000000000000000000034C0000000000000244000000000000034C000000000000024400000000000003EC000000000000022400000000000003EC000000000000000000000000000003EC0000000000000000000000000000044C0000000000000244000000000000044C0000000000000244000000000000049C0000000000000224000000000000049C0000000000000000000000000000049C000000000000000000000000000004EC000000000000024400000000000004EC0000000000000244000000000008051C0000000000000224000000000008051C0000000000000000000000000008051C0000000000000000000000000008056C0000000000000344000000000008056C0000000000000344000000000000054C00000000000003E4000000000000054C00000000000003E4000000000008056C0000000000000444000000000008056C0000000000000444000000000000054C0000000000000494000000000000054C0000000000000494000000000008056C00000000000004E4000000000008056C00000000000004E4000000000000054C0000000000080514000000000000054C0000000000080514000000000008056C0000000000000544000000000008056C0000000000000544000000000000054C0000000000040564000000000000054C0000000000080564000000000000054C0000000000080564000000000008051C0000000000000544000000000008051C000000000000054400000000000004EC000000000004056400000000000004EC000000000008056400000000000004EC0000000000080564000000000000049C0000000000000544000000000000049C0000000000000544000000000000044C0000000000040564000000000000044C0000000000080564000000000000044C000000000008056400000000000003EC000000000000054400000000000003EC0000000000000544000000000000034C0000000000040564000000000000034C0000000000080564000000000000034C00000000000805640000000000000000000000000008051400000000000000000000000000080514000000000000024C00000000000004E4000000000000024C00000000000004E40000000000000000000000000000049400000000000000000000000000000494000000000000024C0000000000000444000000000000024C0000000000000444000000000000000000000000000003E4000000000000000000000000000003E4000000000000024C0000000000000344000000000000024C00000000000003440000000000000000000000000000024400000000000000000050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC005000000000000000000344000000000000044C0000000000000344000000000000049C00000000000003E4000000000000049C00000000000003E4000000000000044C0000000000000344000000000000044C00500000000000000000034400000000000004EC00000000000003E400000000000004EC00000000000003E4000000000008051C0000000000000344000000000008051C000000000000034400000000000004EC005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0050000000000000000004E4000000000000034C0000000000080514000000000000034C000000000008051400000000000003EC00000000000004E400000000000003EC00000000000004E4000000000000034C0050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C005000000000000000000444000000000000034C0000000000000494000000000000034C000000000000049400000000000003EC000000000000044400000000000003EC0000000000000444000000000000034C00500000000000000000044400000000000004EC000000000000049400000000000004EC0000000000000494000000000008051C0000000000000444000000000008051C000000000000044400000000000004EC005000000000000000000344000000000000034C00000000000003E4000000000000034C00000000000003E400000000000003EC000000000000034400000000000003EC0000000000000344000000000000034C0|255 +01030000000100000005000000000000000000344000000000000054C0000000000000344000000000008056C00000000000003E4000000000008056C00000000000003E4000000000000054C0000000000000344000000000000054C0|0 +01030000000100000005000000000000000000444000000000000054C0000000000000444000000000008056C0000000000000494000000000008056C0000000000000494000000000000054C0000000000000444000000000000054C0|0 +010300000001000000050000000000000000004E4000000000000054C00000000000004E4000000000008056C0000000000080514000000000008056C0000000000080514000000000000054C00000000000004E4000000000000054C0|0 +01030000000100000005000000000000000000544000000000000054C0000000000000544000000000008056C0000000000080564000000000008056C0000000000080564000000000000054C0000000000000544000000000000054C0|0 +0103000000010000000500000000000000000000000000000000000000000000000000000000000000000024C0000000000000244000000000000024C00000000000002440000000000000000000000000000000000000000000000000|0 +0103000000010000000500000000000000000034400000000000000000000000000000344000000000000024C00000000000003E4000000000000024C00000000000003E40000000000000000000000000000034400000000000000000|0 +0103000000010000000500000000000000000044400000000000000000000000000000444000000000000024C0000000000000494000000000000024C00000000000004940000000000000000000000000000044400000000000000000|0 +010300000001000000050000000000000000004E4000000000000000000000000000004E4000000000000024C0000000000080514000000000000024C0000000000080514000000000000000000000000000004E400000000000000000|0 +0103000000010000000500000000000000000054400000000000000000000000000000544000000000000024C0000000000080564000000000000024C00000000000805640000000000000000000000000000054400000000000000000|0 +01030000000100000005000000000000000000000000000000000034C000000000000000000000000000003EC000000000000024400000000000003EC0000000000000244000000000000034C0000000000000000000000000000034C0|0 +01030000000100000005000000000000000000344000000000000034C000000000000034400000000000003EC00000000000003E400000000000003EC00000000000003E4000000000000034C0000000000000344000000000000034C0|0 +01030000000100000005000000000000000000444000000000000034C000000000000044400000000000003EC000000000000049400000000000003EC0000000000000494000000000000034C0000000000000444000000000000034C0|0 +010300000001000000050000000000000000004E4000000000000034C00000000000004E400000000000003EC000000000008051400000000000003EC0000000000080514000000000000034C00000000000004E4000000000000034C0|0 +01030000000100000005000000000000000000544000000000000034C000000000000054400000000000003EC000000000008056400000000000003EC0000000000080564000000000000034C0000000000000544000000000000034C0|0 +01030000000100000005000000000000000000000000000000000044C0000000000000000000000000000049C0000000000000244000000000000049C0000000000000244000000000000044C0000000000000000000000000000044C0|0 +01030000000100000005000000000000000000344000000000000044C0000000000000344000000000000049C00000000000003E4000000000000049C00000000000003E4000000000000044C0000000000000344000000000000044C0|0 +01030000000100000005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0|0 +010300000001000000050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C0|0 +01030000000100000005000000000000000000544000000000000044C0000000000000544000000000000049C0000000000080564000000000000049C0000000000080564000000000000044C0000000000000544000000000000044C0|0 +0103000000010000000500000000000000000000000000000000004EC0000000000000000000000000008051C0000000000000244000000000008051C000000000000024400000000000004EC000000000000000000000000000004EC0|0 +0103000000010000000500000000000000000034400000000000004EC0000000000000344000000000008051C00000000000003E4000000000008051C00000000000003E400000000000004EC000000000000034400000000000004EC0|0 +0103000000010000000500000000000000000044400000000000004EC0000000000000444000000000008051C0000000000000494000000000008051C000000000000049400000000000004EC000000000000044400000000000004EC0|0 +010300000001000000050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC0|0 +0103000000010000000500000000000000000054400000000000004EC0000000000000544000000000008051C0000000000080564000000000008051C000000000008056400000000000004EC000000000000054400000000000004EC0|0 +01030000000A0000004300000000000000000024400000000000000000000000000000244000000000000024C0000000000000224000000000000024C0000000000000000000000000000024C0000000000000000000000000000034C0000000000000244000000000000034C000000000000024400000000000003EC000000000000022400000000000003EC000000000000000000000000000003EC0000000000000000000000000000044C0000000000000244000000000000044C0000000000000244000000000000049C0000000000000224000000000000049C0000000000000000000000000000049C000000000000000000000000000004EC000000000000024400000000000004EC0000000000000244000000000008051C0000000000000224000000000008051C0000000000000000000000000008051C0000000000000000000000000000054C0000000000000244000000000000054C0000000000000244000000000008056C0000000000000344000000000008056C0000000000000344000000000000054C00000000000003E4000000000000054C00000000000003E4000000000008056C0000000000000444000000000008056C0000000000000444000000000000054C0000000000000494000000000000054C0000000000000494000000000008056C00000000000004E4000000000008056C00000000000004E4000000000000054C0000000000080514000000000000054C0000000000080514000000000008056C0000000000040564000000000008056C0000000000080564000000000008056C0000000000080564000000000008051C0000000000000544000000000008051C000000000000054400000000000004EC000000000004056400000000000004EC000000000008056400000000000004EC0000000000080564000000000000049C0000000000000544000000000000049C0000000000000544000000000000044C0000000000040564000000000000044C0000000000080564000000000000044C000000000008056400000000000003EC000000000000054400000000000003EC0000000000000544000000000000034C0000000000040564000000000000034C0000000000080564000000000000034C0000000000080564000000000000024C0000000000000544000000000000024C00000000000005440000000000000000000000000008051400000000000000000000000000080514000000000000024C00000000000004E4000000000000024C00000000000004E40000000000000000000000000000049400000000000000000000000000000494000000000000024C0000000000000444000000000000024C0000000000000444000000000000000000000000000003E4000000000000000000000000000003E4000000000000024C0000000000000344000000000000024C00000000000003440000000000000000000000000000024400000000000000000050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC005000000000000000000344000000000000044C0000000000000344000000000000049C00000000000003E4000000000000049C00000000000003E4000000000000044C0000000000000344000000000000044C00500000000000000000034400000000000004EC00000000000003E400000000000004EC00000000000003E4000000000008051C0000000000000344000000000008051C000000000000034400000000000004EC005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0050000000000000000004E4000000000000034C0000000000080514000000000000034C000000000008051400000000000003EC00000000000004E400000000000003EC00000000000004E4000000000000034C0050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C005000000000000000000444000000000000034C0000000000000494000000000000034C000000000000049400000000000003EC000000000000044400000000000003EC0000000000000444000000000000034C00500000000000000000044400000000000004EC000000000000049400000000000004EC0000000000000494000000000008051C0000000000000444000000000008051C000000000000044400000000000004EC005000000000000000000344000000000000034C00000000000003E4000000000000034C00000000000003E400000000000003EC000000000000034400000000000003EC0000000000000344000000000000034C0|255 +01030000000100000005000000000000000000000000000000000054C0000000000000000000000000008056C0000000000000244000000000008056C0000000000000244000000000000054C0000000000000000000000000000054C0|0 +01030000000100000005000000000000000000344000000000000054C0000000000000344000000000008056C00000000000003E4000000000008056C00000000000003E4000000000000054C0000000000000344000000000000054C0|0 +01030000000100000005000000000000000000444000000000000054C0000000000000444000000000008056C0000000000000494000000000008056C0000000000000494000000000000054C0000000000000444000000000000054C0|0 +010300000001000000050000000000000000004E4000000000000054C00000000000004E4000000000008056C0000000000080514000000000008056C0000000000080514000000000000054C00000000000004E4000000000000054C0|0 diff --git a/raster/test/regress/loader/Basic.select.sql b/raster/test/regress/loader/Basic.select.sql new file mode 100644 index 000000000..de526ece9 --- /dev/null +++ b/raster/test/regress/loader/Basic.select.sql @@ -0,0 +1,4 @@ +SELECT srid, scale_x::numeric(16, 10), scale_y::numeric(16, 10), blocksize_x, blocksize_y, same_alignment, regular_blocking, num_bands, pixel_types, nodata_values::numeric(16,10)[], out_db, extent FROM raster_columns WHERE r_table_name = 'loadedrast' AND r_raster_column = 'the_rast'; +SELECT geom, val FROM (SELECT (ST_DumpAsPolygons(the_rast, 1)).* FROM loadedrast) foo; +SELECT geom, val FROM (SELECT (ST_DumpAsPolygons(the_rast, 2)).* FROM loadedrast) foo; +SELECT geom, val FROM (SELECT (ST_DumpAsPolygons(the_rast, 3)).* FROM loadedrast) foo; diff --git a/raster/test/regress/loader/Basic.sql.expected b/raster/test/regress/loader/Basic.sql.expected new file mode 100644 index 000000000..6884abcd5 --- /dev/null +++ b/raster/test/regress/loader/Basic.sql.expected @@ -0,0 +1,5 @@ +BEGIN; +CREATE TABLE "loadedrast" ("rid" serial PRIMARY KEY,"the_rast" raster); +INSERT INTO "loadedrast" ("the_rast") VALUES ('0100000300000000000000F03F000000000000F0BF0000000000000000000000000000000000000000000000000000000000000000000000005A005A000400FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000040000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000040000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'::raster); +SELECT AddRasterConstraints('','loadedrast','the_rast',TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,TRUE,TRUE,TRUE,TRUE,TRUE); +END; diff --git a/raster/test/regress/loader/BasicCopy-post.sh b/raster/test/regress/loader/BasicCopy-post.sh new file mode 100755 index 000000000..4f09b618a --- /dev/null +++ b/raster/test/regress/loader/BasicCopy-post.sh @@ -0,0 +1 @@ +rm -f loader/BasicCopy.tif diff --git a/raster/test/regress/loader/BasicCopy-pre.sh b/raster/test/regress/loader/BasicCopy-pre.sh new file mode 100755 index 000000000..bb0ad1303 --- /dev/null +++ b/raster/test/regress/loader/BasicCopy-pre.sh @@ -0,0 +1 @@ +cp loader/testraster.tif loader/BasicCopy.tif diff --git a/raster/test/regress/loader/BasicCopy.opts b/raster/test/regress/loader/BasicCopy.opts new file mode 100644 index 000000000..b18b986b0 --- /dev/null +++ b/raster/test/regress/loader/BasicCopy.opts @@ -0,0 +1 @@ +-Y diff --git a/raster/test/regress/loader/BasicCopy.select.expected b/raster/test/regress/loader/BasicCopy.select.expected new file mode 100644 index 000000000..06ae1a70f --- /dev/null +++ b/raster/test/regress/loader/BasicCopy.select.expected @@ -0,0 +1,74 @@ +0|1.0000000000|-1.0000000000|90|90|t|f|3|{8BUI,8BUI,8BUI}|{NULL,NULL,NULL}|{f,f,f}|01030000000100000005000000000000000000000000000000008056C00000000000000000000000000000000000000000008056400000000000000000000000000080564000000000008056C0000000000000000000000000008056C0 +0103000000010000000500000000000000000034400000000000000000000000000000344000000000000024C00000000000003E4000000000000024C00000000000003E40000000000000000000000000000034400000000000000000|0 +0103000000010000000500000000000000000044400000000000000000000000000000444000000000000024C0000000000000494000000000000024C00000000000004940000000000000000000000000000044400000000000000000|0 +010300000001000000050000000000000000004E4000000000000000000000000000004E4000000000000024C0000000000080514000000000000024C0000000000080514000000000000000000000000000004E400000000000000000|0 +01030000000100000005000000000000000000000000000000000034C000000000000000000000000000003EC000000000000024400000000000003EC0000000000000244000000000000034C0000000000000000000000000000034C0|0 +01030000000100000005000000000000000000344000000000000034C000000000000034400000000000003EC00000000000003E400000000000003EC00000000000003E4000000000000034C0000000000000344000000000000034C0|0 +01030000000100000005000000000000000000444000000000000034C000000000000044400000000000003EC000000000000049400000000000003EC0000000000000494000000000000034C0000000000000444000000000000034C0|0 +010300000001000000050000000000000000004E4000000000000034C00000000000004E400000000000003EC000000000008051400000000000003EC0000000000080514000000000000034C00000000000004E4000000000000034C0|0 +01030000000100000005000000000000000000544000000000000034C000000000000054400000000000003EC000000000008056400000000000003EC0000000000080564000000000000034C0000000000000544000000000000034C0|0 +01030000000100000005000000000000000000000000000000000044C0000000000000000000000000000049C0000000000000244000000000000049C0000000000000244000000000000044C0000000000000000000000000000044C0|0 +01030000000100000005000000000000000000344000000000000044C0000000000000344000000000000049C00000000000003E4000000000000049C00000000000003E4000000000000044C0000000000000344000000000000044C0|0 +01030000000100000005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0|0 +010300000001000000050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C0|0 +01030000000100000005000000000000000000544000000000000044C0000000000000544000000000000049C0000000000080564000000000000049C0000000000080564000000000000044C0000000000000544000000000000044C0|0 +0103000000010000000500000000000000000000000000000000004EC0000000000000000000000000008051C0000000000000244000000000008051C000000000000024400000000000004EC000000000000000000000000000004EC0|0 +0103000000010000000500000000000000000034400000000000004EC0000000000000344000000000008051C00000000000003E4000000000008051C00000000000003E400000000000004EC000000000000034400000000000004EC0|0 +0103000000010000000500000000000000000044400000000000004EC0000000000000444000000000008051C0000000000000494000000000008051C000000000000049400000000000004EC000000000000044400000000000004EC0|0 +010300000001000000050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC0|0 +0103000000010000000500000000000000000054400000000000004EC0000000000000544000000000008051C0000000000080564000000000008051C000000000008056400000000000004EC000000000000054400000000000004EC0|0 +01030000000A0000004000000000000000000000000000000000000000000000000000000000000000000034C0000000000000244000000000000034C000000000000024400000000000003EC000000000000022400000000000003EC000000000000000000000000000003EC0000000000000000000000000000044C0000000000000244000000000000044C0000000000000244000000000000049C0000000000000224000000000000049C0000000000000000000000000000049C000000000000000000000000000004EC000000000000024400000000000004EC0000000000000244000000000008051C0000000000000224000000000008051C0000000000000000000000000008051C0000000000000000000000000000054C0000000000000244000000000000054C0000000000000244000000000008056C0000000000000344000000000008056C0000000000000344000000000000054C00000000000003E4000000000000054C00000000000003E4000000000008056C0000000000000444000000000008056C0000000000000444000000000000054C0000000000000494000000000000054C0000000000000494000000000008056C00000000000004E4000000000008056C00000000000004E4000000000000054C0000000000080514000000000000054C0000000000080514000000000008056C0000000000000544000000000008056C0000000000000544000000000000054C0000000000040564000000000000054C0000000000080564000000000000054C0000000000080564000000000008051C0000000000000544000000000008051C000000000000054400000000000004EC000000000004056400000000000004EC000000000008056400000000000004EC0000000000080564000000000000049C0000000000000544000000000000049C0000000000000544000000000000044C0000000000040564000000000000044C0000000000080564000000000000044C000000000008056400000000000003EC000000000000054400000000000003EC0000000000000544000000000000034C0000000000040564000000000000034C0000000000080564000000000000034C00000000000805640000000000000000000000000008051400000000000000000000000000080514000000000000024C00000000000004E4000000000000024C00000000000004E40000000000000000000000000000049400000000000000000000000000000494000000000000024C0000000000000444000000000000024C0000000000000444000000000000000000000000000003E4000000000000000000000000000003E4000000000000024C0000000000000344000000000000024C0000000000000344000000000000000000000000000000000000000000000000005000000000000000000344000000000000044C00000000000003E4000000000000044C00000000000003E4000000000000049C0000000000000344000000000000049C0000000000000344000000000000044C005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC0050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C00500000000000000000044400000000000004EC0000000000000444000000000008051C0000000000000494000000000008051C000000000000049400000000000004EC000000000000044400000000000004EC00500000000000000000034400000000000004EC00000000000003E400000000000004EC00000000000003E4000000000008051C0000000000000344000000000008051C000000000000034400000000000004EC0050000000000000000004E4000000000000034C0000000000080514000000000000034C000000000008051400000000000003EC00000000000004E400000000000003EC00000000000004E4000000000000034C005000000000000000000344000000000000034C000000000000034400000000000003EC00000000000003E400000000000003EC00000000000003E4000000000000034C0000000000000344000000000000034C005000000000000000000444000000000000034C0000000000000494000000000000034C000000000000049400000000000003EC000000000000044400000000000003EC0000000000000444000000000000034C0|255 +01030000000100000005000000000000000000000000000000000054C0000000000000000000000000008056C0000000000000244000000000008056C0000000000000244000000000000054C0000000000000000000000000000054C0|0 +01030000000100000005000000000000000000344000000000000054C0000000000000344000000000008056C00000000000003E4000000000008056C00000000000003E4000000000000054C0000000000000344000000000000054C0|0 +01030000000100000005000000000000000000444000000000000054C0000000000000444000000000008056C0000000000000494000000000008056C0000000000000494000000000000054C0000000000000444000000000000054C0|0 +010300000001000000050000000000000000004E4000000000000054C00000000000004E4000000000008056C0000000000080514000000000008056C0000000000080514000000000000054C00000000000004E4000000000000054C0|0 +01030000000100000005000000000000000000544000000000000054C0000000000000544000000000008056C0000000000080564000000000008056C0000000000080564000000000000054C0000000000000544000000000000054C0|0 +0103000000010000000500000000000000000000000000000000000000000000000000000000000000000024C0000000000000244000000000000024C00000000000002440000000000000000000000000000000000000000000000000|0 +0103000000010000000500000000000000000034400000000000000000000000000000344000000000000024C00000000000003E4000000000000024C00000000000003E40000000000000000000000000000034400000000000000000|0 +0103000000010000000500000000000000000044400000000000000000000000000000444000000000000024C0000000000000494000000000000024C00000000000004940000000000000000000000000000044400000000000000000|0 +010300000001000000050000000000000000004E4000000000000000000000000000004E4000000000000024C0000000000080514000000000000024C0000000000080514000000000000000000000000000004E400000000000000000|0 +01030000000100000005000000000000000000000000000000000034C000000000000000000000000000003EC000000000000024400000000000003EC0000000000000244000000000000034C0000000000000000000000000000034C0|0 +01030000000100000005000000000000000000344000000000000034C000000000000034400000000000003EC00000000000003E400000000000003EC00000000000003E4000000000000034C0000000000000344000000000000034C0|0 +01030000000100000005000000000000000000444000000000000034C000000000000044400000000000003EC000000000000049400000000000003EC0000000000000494000000000000034C0000000000000444000000000000034C0|0 +010300000001000000050000000000000000004E4000000000000034C00000000000004E400000000000003EC000000000008051400000000000003EC0000000000080514000000000000034C00000000000004E4000000000000034C0|0 +01030000000100000005000000000000000000544000000000000034C000000000000054400000000000003EC000000000008056400000000000003EC0000000000080564000000000000034C0000000000000544000000000000034C0|0 +01030000000100000005000000000000000000000000000000000044C0000000000000000000000000000049C0000000000000244000000000000049C0000000000000244000000000000044C0000000000000000000000000000044C0|0 +01030000000100000005000000000000000000344000000000000044C0000000000000344000000000000049C00000000000003E4000000000000049C00000000000003E4000000000000044C0000000000000344000000000000044C0|0 +01030000000100000005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0|0 +010300000001000000050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C0|0 +01030000000100000005000000000000000000544000000000000044C0000000000000544000000000000049C0000000000080564000000000000049C0000000000080564000000000000044C0000000000000544000000000000044C0|0 +0103000000010000000500000000000000000000000000000000004EC0000000000000000000000000008051C0000000000000244000000000008051C000000000000024400000000000004EC000000000000000000000000000004EC0|0 +0103000000010000000500000000000000000034400000000000004EC0000000000000344000000000008051C00000000000003E4000000000008051C00000000000003E400000000000004EC000000000000034400000000000004EC0|0 +0103000000010000000500000000000000000044400000000000004EC0000000000000444000000000008051C0000000000000494000000000008051C000000000000049400000000000004EC000000000000044400000000000004EC0|0 +010300000001000000050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC0|0 +0103000000010000000500000000000000000054400000000000004EC0000000000000544000000000008051C0000000000080564000000000008051C000000000008056400000000000004EC000000000000054400000000000004EC0|0 +01030000000A0000004100000000000000000024400000000000000000000000000000244000000000000024C0000000000000224000000000000024C0000000000000000000000000000024C0000000000000000000000000000034C0000000000000244000000000000034C000000000000024400000000000003EC000000000000022400000000000003EC000000000000000000000000000003EC0000000000000000000000000000044C0000000000000244000000000000044C0000000000000244000000000000049C0000000000000224000000000000049C0000000000000000000000000000049C000000000000000000000000000004EC000000000000024400000000000004EC0000000000000244000000000008051C0000000000000224000000000008051C0000000000000000000000000008051C0000000000000000000000000008056C0000000000000344000000000008056C0000000000000344000000000000054C00000000000003E4000000000000054C00000000000003E4000000000008056C0000000000000444000000000008056C0000000000000444000000000000054C0000000000000494000000000000054C0000000000000494000000000008056C00000000000004E4000000000008056C00000000000004E4000000000000054C0000000000080514000000000000054C0000000000080514000000000008056C0000000000000544000000000008056C0000000000000544000000000000054C0000000000040564000000000000054C0000000000080564000000000000054C0000000000080564000000000008051C0000000000000544000000000008051C000000000000054400000000000004EC000000000004056400000000000004EC000000000008056400000000000004EC0000000000080564000000000000049C0000000000000544000000000000049C0000000000000544000000000000044C0000000000040564000000000000044C0000000000080564000000000000044C000000000008056400000000000003EC000000000000054400000000000003EC0000000000000544000000000000034C0000000000040564000000000000034C0000000000080564000000000000034C00000000000805640000000000000000000000000008051400000000000000000000000000080514000000000000024C00000000000004E4000000000000024C00000000000004E40000000000000000000000000000049400000000000000000000000000000494000000000000024C0000000000000444000000000000024C0000000000000444000000000000000000000000000003E4000000000000000000000000000003E4000000000000024C0000000000000344000000000000024C00000000000003440000000000000000000000000000024400000000000000000050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC005000000000000000000344000000000000044C0000000000000344000000000000049C00000000000003E4000000000000049C00000000000003E4000000000000044C0000000000000344000000000000044C00500000000000000000034400000000000004EC00000000000003E400000000000004EC00000000000003E4000000000008051C0000000000000344000000000008051C000000000000034400000000000004EC005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0050000000000000000004E4000000000000034C0000000000080514000000000000034C000000000008051400000000000003EC00000000000004E400000000000003EC00000000000004E4000000000000034C0050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C005000000000000000000444000000000000034C0000000000000494000000000000034C000000000000049400000000000003EC000000000000044400000000000003EC0000000000000444000000000000034C00500000000000000000044400000000000004EC000000000000049400000000000004EC0000000000000494000000000008051C0000000000000444000000000008051C000000000000044400000000000004EC005000000000000000000344000000000000034C00000000000003E4000000000000034C00000000000003E400000000000003EC000000000000034400000000000003EC0000000000000344000000000000034C0|255 +01030000000100000005000000000000000000344000000000000054C0000000000000344000000000008056C00000000000003E4000000000008056C00000000000003E4000000000000054C0000000000000344000000000000054C0|0 +01030000000100000005000000000000000000444000000000000054C0000000000000444000000000008056C0000000000000494000000000008056C0000000000000494000000000000054C0000000000000444000000000000054C0|0 +010300000001000000050000000000000000004E4000000000000054C00000000000004E4000000000008056C0000000000080514000000000008056C0000000000080514000000000000054C00000000000004E4000000000000054C0|0 +01030000000100000005000000000000000000544000000000000054C0000000000000544000000000008056C0000000000080564000000000008056C0000000000080564000000000000054C0000000000000544000000000000054C0|0 +0103000000010000000500000000000000000000000000000000000000000000000000000000000000000024C0000000000000244000000000000024C00000000000002440000000000000000000000000000000000000000000000000|0 +0103000000010000000500000000000000000034400000000000000000000000000000344000000000000024C00000000000003E4000000000000024C00000000000003E40000000000000000000000000000034400000000000000000|0 +0103000000010000000500000000000000000044400000000000000000000000000000444000000000000024C0000000000000494000000000000024C00000000000004940000000000000000000000000000044400000000000000000|0 +010300000001000000050000000000000000004E4000000000000000000000000000004E4000000000000024C0000000000080514000000000000024C0000000000080514000000000000000000000000000004E400000000000000000|0 +0103000000010000000500000000000000000054400000000000000000000000000000544000000000000024C0000000000080564000000000000024C00000000000805640000000000000000000000000000054400000000000000000|0 +01030000000100000005000000000000000000000000000000000034C000000000000000000000000000003EC000000000000024400000000000003EC0000000000000244000000000000034C0000000000000000000000000000034C0|0 +01030000000100000005000000000000000000344000000000000034C000000000000034400000000000003EC00000000000003E400000000000003EC00000000000003E4000000000000034C0000000000000344000000000000034C0|0 +01030000000100000005000000000000000000444000000000000034C000000000000044400000000000003EC000000000000049400000000000003EC0000000000000494000000000000034C0000000000000444000000000000034C0|0 +010300000001000000050000000000000000004E4000000000000034C00000000000004E400000000000003EC000000000008051400000000000003EC0000000000080514000000000000034C00000000000004E4000000000000034C0|0 +01030000000100000005000000000000000000544000000000000034C000000000000054400000000000003EC000000000008056400000000000003EC0000000000080564000000000000034C0000000000000544000000000000034C0|0 +01030000000100000005000000000000000000000000000000000044C0000000000000000000000000000049C0000000000000244000000000000049C0000000000000244000000000000044C0000000000000000000000000000044C0|0 +01030000000100000005000000000000000000344000000000000044C0000000000000344000000000000049C00000000000003E4000000000000049C00000000000003E4000000000000044C0000000000000344000000000000044C0|0 +01030000000100000005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0|0 +010300000001000000050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C0|0 +01030000000100000005000000000000000000544000000000000044C0000000000000544000000000000049C0000000000080564000000000000049C0000000000080564000000000000044C0000000000000544000000000000044C0|0 +0103000000010000000500000000000000000000000000000000004EC0000000000000000000000000008051C0000000000000244000000000008051C000000000000024400000000000004EC000000000000000000000000000004EC0|0 +0103000000010000000500000000000000000034400000000000004EC0000000000000344000000000008051C00000000000003E4000000000008051C00000000000003E400000000000004EC000000000000034400000000000004EC0|0 +0103000000010000000500000000000000000044400000000000004EC0000000000000444000000000008051C0000000000000494000000000008051C000000000000049400000000000004EC000000000000044400000000000004EC0|0 +010300000001000000050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC0|0 +0103000000010000000500000000000000000054400000000000004EC0000000000000544000000000008051C0000000000080564000000000008051C000000000008056400000000000004EC000000000000054400000000000004EC0|0 +01030000000A0000004300000000000000000024400000000000000000000000000000244000000000000024C0000000000000224000000000000024C0000000000000000000000000000024C0000000000000000000000000000034C0000000000000244000000000000034C000000000000024400000000000003EC000000000000022400000000000003EC000000000000000000000000000003EC0000000000000000000000000000044C0000000000000244000000000000044C0000000000000244000000000000049C0000000000000224000000000000049C0000000000000000000000000000049C000000000000000000000000000004EC000000000000024400000000000004EC0000000000000244000000000008051C0000000000000224000000000008051C0000000000000000000000000008051C0000000000000000000000000000054C0000000000000244000000000000054C0000000000000244000000000008056C0000000000000344000000000008056C0000000000000344000000000000054C00000000000003E4000000000000054C00000000000003E4000000000008056C0000000000000444000000000008056C0000000000000444000000000000054C0000000000000494000000000000054C0000000000000494000000000008056C00000000000004E4000000000008056C00000000000004E4000000000000054C0000000000080514000000000000054C0000000000080514000000000008056C0000000000040564000000000008056C0000000000080564000000000008056C0000000000080564000000000008051C0000000000000544000000000008051C000000000000054400000000000004EC000000000004056400000000000004EC000000000008056400000000000004EC0000000000080564000000000000049C0000000000000544000000000000049C0000000000000544000000000000044C0000000000040564000000000000044C0000000000080564000000000000044C000000000008056400000000000003EC000000000000054400000000000003EC0000000000000544000000000000034C0000000000040564000000000000034C0000000000080564000000000000034C0000000000080564000000000000024C0000000000000544000000000000024C00000000000005440000000000000000000000000008051400000000000000000000000000080514000000000000024C00000000000004E4000000000000024C00000000000004E40000000000000000000000000000049400000000000000000000000000000494000000000000024C0000000000000444000000000000024C0000000000000444000000000000000000000000000003E4000000000000000000000000000003E4000000000000024C0000000000000344000000000000024C00000000000003440000000000000000000000000000024400000000000000000050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC005000000000000000000344000000000000044C0000000000000344000000000000049C00000000000003E4000000000000049C00000000000003E4000000000000044C0000000000000344000000000000044C00500000000000000000034400000000000004EC00000000000003E400000000000004EC00000000000003E4000000000008051C0000000000000344000000000008051C000000000000034400000000000004EC005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0050000000000000000004E4000000000000034C0000000000080514000000000000034C000000000008051400000000000003EC00000000000004E400000000000003EC00000000000004E4000000000000034C0050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C005000000000000000000444000000000000034C0000000000000494000000000000034C000000000000049400000000000003EC000000000000044400000000000003EC0000000000000444000000000000034C00500000000000000000044400000000000004EC000000000000049400000000000004EC0000000000000494000000000008051C0000000000000444000000000008051C000000000000044400000000000004EC005000000000000000000344000000000000034C00000000000003E4000000000000034C00000000000003E400000000000003EC000000000000034400000000000003EC0000000000000344000000000000034C0|255 +01030000000100000005000000000000000000000000000000000054C0000000000000000000000000008056C0000000000000244000000000008056C0000000000000244000000000000054C0000000000000000000000000000054C0|0 +01030000000100000005000000000000000000344000000000000054C0000000000000344000000000008056C00000000000003E4000000000008056C00000000000003E4000000000000054C0000000000000344000000000000054C0|0 +01030000000100000005000000000000000000444000000000000054C0000000000000444000000000008056C0000000000000494000000000008056C0000000000000494000000000000054C0000000000000444000000000000054C0|0 +010300000001000000050000000000000000004E4000000000000054C00000000000004E4000000000008056C0000000000080514000000000008056C0000000000080514000000000000054C00000000000004E4000000000000054C0|0 diff --git a/raster/test/regress/loader/BasicCopy.select.sql b/raster/test/regress/loader/BasicCopy.select.sql new file mode 100644 index 000000000..de526ece9 --- /dev/null +++ b/raster/test/regress/loader/BasicCopy.select.sql @@ -0,0 +1,4 @@ +SELECT srid, scale_x::numeric(16, 10), scale_y::numeric(16, 10), blocksize_x, blocksize_y, same_alignment, regular_blocking, num_bands, pixel_types, nodata_values::numeric(16,10)[], out_db, extent FROM raster_columns WHERE r_table_name = 'loadedrast' AND r_raster_column = 'the_rast'; +SELECT geom, val FROM (SELECT (ST_DumpAsPolygons(the_rast, 1)).* FROM loadedrast) foo; +SELECT geom, val FROM (SELECT (ST_DumpAsPolygons(the_rast, 2)).* FROM loadedrast) foo; +SELECT geom, val FROM (SELECT (ST_DumpAsPolygons(the_rast, 3)).* FROM loadedrast) foo; diff --git a/raster/test/regress/loader/BasicCopy.sql.expected b/raster/test/regress/loader/BasicCopy.sql.expected new file mode 100644 index 000000000..313577c28 --- /dev/null +++ b/raster/test/regress/loader/BasicCopy.sql.expected @@ -0,0 +1,7 @@ +BEGIN; +CREATE TABLE "loadedrast" ("rid" serial PRIMARY KEY,"the_rast" raster); +COPY "loadedrast" ("the_rast") FROM stdin; +0100000300000000000000F03F000000000000F0BF0000000000000000000000000000000000000000000000000000000000000000000000005A005A000400FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000040000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000040000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +\. +SELECT AddRasterConstraints('','loadedrast','the_rast',TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,TRUE,TRUE,TRUE,TRUE,TRUE); +END; diff --git a/raster/test/regress/loader/Tiled10x10-post.sh b/raster/test/regress/loader/Tiled10x10-post.sh new file mode 100755 index 000000000..0b4a7cac7 --- /dev/null +++ b/raster/test/regress/loader/Tiled10x10-post.sh @@ -0,0 +1 @@ +rm -f loader/Tiled10x10.tif diff --git a/raster/test/regress/loader/Tiled10x10-pre.sh b/raster/test/regress/loader/Tiled10x10-pre.sh new file mode 100755 index 000000000..d4b61297c --- /dev/null +++ b/raster/test/regress/loader/Tiled10x10-pre.sh @@ -0,0 +1 @@ +cp loader/testraster.tif loader/Tiled10x10.tif diff --git a/raster/test/regress/loader/Tiled10x10.opts b/raster/test/regress/loader/Tiled10x10.opts new file mode 100644 index 000000000..292f1f070 --- /dev/null +++ b/raster/test/regress/loader/Tiled10x10.opts @@ -0,0 +1 @@ +-t 10x10 diff --git a/raster/test/regress/loader/Tiled10x10.select.expected b/raster/test/regress/loader/Tiled10x10.select.expected new file mode 100644 index 000000000..40bd61009 --- /dev/null +++ b/raster/test/regress/loader/Tiled10x10.select.expected @@ -0,0 +1,244 @@ +0|1.0000000000|-1.0000000000|10|10|t|f|3|{8BUI,8BUI,8BUI}|{NULL,NULL,NULL}|{f,f,f}|01030000000100000005000000000000000000000000000000008056C00000000000000000000000000000000000000000008056400000000000000000000000000080564000000000008056C0000000000000000000000000008056C0 +0103000000010000000500000000000000000000000000000000000000000000000000000000000000000024C0000000000000244000000000000024C00000000000002440000000000000000000000000000000000000000000000000|255 +0103000000010000000500000000000000000024400000000000000000000000000000244000000000000024C0000000000000344000000000000024C00000000000003440000000000000000000000000000024400000000000000000|255 +0103000000010000000500000000000000000034400000000000000000000000000000344000000000000024C00000000000003E4000000000000024C00000000000003E40000000000000000000000000000034400000000000000000|0 +010300000001000000050000000000000000003E4000000000000000000000000000003E4000000000000024C0000000000000444000000000000024C0000000000000444000000000000000000000000000003E400000000000000000|255 +0103000000010000000500000000000000000044400000000000000000000000000000444000000000000024C0000000000000494000000000000024C00000000000004940000000000000000000000000000044400000000000000000|0 +0103000000010000000500000000000000000049400000000000000000000000000000494000000000000024C00000000000004E4000000000000024C00000000000004E40000000000000000000000000000049400000000000000000|255 +010300000001000000050000000000000000004E4000000000000000000000000000004E4000000000000024C0000000000080514000000000000024C0000000000080514000000000000000000000000000004E400000000000000000|0 +0103000000010000000500000000000000008051400000000000000000000000000080514000000000000024C0000000000000544000000000000024C00000000000005440000000000000000000000000008051400000000000000000|255 +0103000000010000000500000000000000000054400000000000000000000000000000544000000000000024C0000000000080564000000000000024C00000000000805640000000000000000000000000000054400000000000000000|255 +01030000000100000005000000000000000000000000000000000024C0000000000000000000000000000034C0000000000000244000000000000034C0000000000000244000000000000024C0000000000000000000000000000024C0|255 +01030000000100000005000000000000000000244000000000000024C0000000000000244000000000000034C0000000000000344000000000000034C0000000000000344000000000000024C0000000000000244000000000000024C0|255 +01030000000100000005000000000000000000344000000000000024C0000000000000344000000000000034C00000000000003E4000000000000034C00000000000003E4000000000000024C0000000000000344000000000000024C0|255 +010300000001000000050000000000000000003E4000000000000024C00000000000003E4000000000000034C0000000000000444000000000000034C0000000000000444000000000000024C00000000000003E4000000000000024C0|255 +01030000000100000005000000000000000000444000000000000024C0000000000000444000000000000034C0000000000000494000000000000034C0000000000000494000000000000024C0000000000000444000000000000024C0|255 +01030000000100000005000000000000000000494000000000000024C0000000000000494000000000000034C00000000000004E4000000000000034C00000000000004E4000000000000024C0000000000000494000000000000024C0|255 +010300000001000000050000000000000000004E4000000000000024C00000000000004E4000000000000034C0000000000080514000000000000034C0000000000080514000000000000024C00000000000004E4000000000000024C0|255 +01030000000100000005000000000000000080514000000000000024C0000000000080514000000000000034C0000000000000544000000000000034C0000000000000544000000000000024C0000000000080514000000000000024C0|255 +01030000000100000005000000000000000000544000000000000024C0000000000000544000000000000034C0000000000080564000000000000034C0000000000080564000000000000024C0000000000000544000000000000024C0|255 +01030000000100000005000000000000000000000000000000000034C000000000000000000000000000003EC000000000000024400000000000003EC0000000000000244000000000000034C0000000000000000000000000000034C0|0 +01030000000100000005000000000000000000244000000000000034C000000000000024400000000000003EC000000000000034400000000000003EC0000000000000344000000000000034C0000000000000244000000000000034C0|255 +01030000000100000005000000000000000000344000000000000034C000000000000034400000000000003EC00000000000003E400000000000003EC00000000000003E4000000000000034C0000000000000344000000000000034C0|0 +010300000001000000050000000000000000003E4000000000000034C00000000000003E400000000000003EC000000000000044400000000000003EC0000000000000444000000000000034C00000000000003E4000000000000034C0|255 +01030000000100000005000000000000000000444000000000000034C000000000000044400000000000003EC000000000000049400000000000003EC0000000000000494000000000000034C0000000000000444000000000000034C0|0 +01030000000100000005000000000000000000494000000000000034C000000000000049400000000000003EC00000000000004E400000000000003EC00000000000004E4000000000000034C0000000000000494000000000000034C0|255 +010300000001000000050000000000000000004E4000000000000034C00000000000004E400000000000003EC000000000008051400000000000003EC0000000000080514000000000000034C00000000000004E4000000000000034C0|0 +01030000000100000005000000000000000080514000000000000034C000000000008051400000000000003EC000000000000054400000000000003EC0000000000000544000000000000034C0000000000080514000000000000034C0|255 +01030000000100000005000000000000000000544000000000000034C000000000000054400000000000003EC000000000008056400000000000003EC0000000000080564000000000000034C0000000000000544000000000000034C0|0 +0103000000010000000500000000000000000000000000000000003EC0000000000000000000000000000044C0000000000000244000000000000044C000000000000024400000000000003EC000000000000000000000000000003EC0|255 +0103000000010000000500000000000000000024400000000000003EC0000000000000244000000000000044C0000000000000344000000000000044C000000000000034400000000000003EC000000000000024400000000000003EC0|255 +0103000000010000000500000000000000000034400000000000003EC0000000000000344000000000000044C00000000000003E4000000000000044C00000000000003E400000000000003EC000000000000034400000000000003EC0|255 +010300000001000000050000000000000000003E400000000000003EC00000000000003E4000000000000044C0000000000000444000000000000044C000000000000044400000000000003EC00000000000003E400000000000003EC0|255 +0103000000010000000500000000000000000044400000000000003EC0000000000000444000000000000044C0000000000000494000000000000044C000000000000049400000000000003EC000000000000044400000000000003EC0|255 +0103000000010000000500000000000000000049400000000000003EC0000000000000494000000000000044C00000000000004E4000000000000044C00000000000004E400000000000003EC000000000000049400000000000003EC0|255 +010300000001000000050000000000000000004E400000000000003EC00000000000004E4000000000000044C0000000000080514000000000000044C000000000008051400000000000003EC00000000000004E400000000000003EC0|255 +0103000000010000000500000000000000008051400000000000003EC0000000000080514000000000000044C0000000000000544000000000000044C000000000000054400000000000003EC000000000008051400000000000003EC0|255 +0103000000010000000500000000000000000054400000000000003EC0000000000000544000000000000044C0000000000080564000000000000044C000000000008056400000000000003EC000000000000054400000000000003EC0|255 +01030000000100000005000000000000000000000000000000000044C0000000000000000000000000000049C0000000000000244000000000000049C0000000000000244000000000000044C0000000000000000000000000000044C0|0 +01030000000100000005000000000000000000244000000000000044C0000000000000244000000000000049C0000000000000344000000000000049C0000000000000344000000000000044C0000000000000244000000000000044C0|255 +01030000000100000005000000000000000000344000000000000044C0000000000000344000000000000049C00000000000003E4000000000000049C00000000000003E4000000000000044C0000000000000344000000000000044C0|0 +010300000001000000050000000000000000003E4000000000000044C00000000000003E4000000000000049C0000000000000444000000000000049C0000000000000444000000000000044C00000000000003E4000000000000044C0|255 +01030000000100000005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0|0 +01030000000100000005000000000000000000494000000000000044C0000000000000494000000000000049C00000000000004E4000000000000049C00000000000004E4000000000000044C0000000000000494000000000000044C0|255 +010300000001000000050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C0|0 +01030000000100000005000000000000000080514000000000000044C0000000000080514000000000000049C0000000000000544000000000000049C0000000000000544000000000000044C0000000000080514000000000000044C0|255 +01030000000100000005000000000000000000544000000000000044C0000000000000544000000000000049C0000000000080564000000000000049C0000000000080564000000000000044C0000000000000544000000000000044C0|0 +01030000000100000005000000000000000000000000000000000049C000000000000000000000000000004EC000000000000024400000000000004EC0000000000000244000000000000049C0000000000000000000000000000049C0|255 +01030000000100000005000000000000000000244000000000000049C000000000000024400000000000004EC000000000000034400000000000004EC0000000000000344000000000000049C0000000000000244000000000000049C0|255 +01030000000100000005000000000000000000344000000000000049C000000000000034400000000000004EC00000000000003E400000000000004EC00000000000003E4000000000000049C0000000000000344000000000000049C0|255 +010300000001000000050000000000000000003E4000000000000049C00000000000003E400000000000004EC000000000000044400000000000004EC0000000000000444000000000000049C00000000000003E4000000000000049C0|255 +01030000000100000005000000000000000000444000000000000049C000000000000044400000000000004EC000000000000049400000000000004EC0000000000000494000000000000049C0000000000000444000000000000049C0|255 +01030000000100000005000000000000000000494000000000000049C000000000000049400000000000004EC00000000000004E400000000000004EC00000000000004E4000000000000049C0000000000000494000000000000049C0|255 +010300000001000000050000000000000000004E4000000000000049C00000000000004E400000000000004EC000000000008051400000000000004EC0000000000080514000000000000049C00000000000004E4000000000000049C0|255 +01030000000100000005000000000000000080514000000000000049C000000000008051400000000000004EC000000000000054400000000000004EC0000000000000544000000000000049C0000000000080514000000000000049C0|255 +01030000000100000005000000000000000000544000000000000049C000000000000054400000000000004EC000000000008056400000000000004EC0000000000080564000000000000049C0000000000000544000000000000049C0|255 +0103000000010000000500000000000000000000000000000000004EC0000000000000000000000000008051C0000000000000244000000000008051C000000000000024400000000000004EC000000000000000000000000000004EC0|0 +0103000000010000000500000000000000000024400000000000004EC0000000000000244000000000008051C0000000000000344000000000008051C000000000000034400000000000004EC000000000000024400000000000004EC0|255 +0103000000010000000500000000000000000034400000000000004EC0000000000000344000000000008051C00000000000003E4000000000008051C00000000000003E400000000000004EC000000000000034400000000000004EC0|0 +010300000001000000050000000000000000003E400000000000004EC00000000000003E4000000000008051C0000000000000444000000000008051C000000000000044400000000000004EC00000000000003E400000000000004EC0|255 +0103000000010000000500000000000000000044400000000000004EC0000000000000444000000000008051C0000000000000494000000000008051C000000000000049400000000000004EC000000000000044400000000000004EC0|0 +0103000000010000000500000000000000000049400000000000004EC0000000000000494000000000008051C00000000000004E4000000000008051C00000000000004E400000000000004EC000000000000049400000000000004EC0|255 +010300000001000000050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC0|0 +0103000000010000000500000000000000008051400000000000004EC0000000000080514000000000008051C0000000000000544000000000008051C000000000000054400000000000004EC000000000008051400000000000004EC0|255 +0103000000010000000500000000000000000054400000000000004EC0000000000000544000000000008051C0000000000080564000000000008051C000000000008056400000000000004EC000000000000054400000000000004EC0|0 +01030000000100000005000000000000000000000000000000008051C0000000000000000000000000000054C0000000000000244000000000000054C0000000000000244000000000008051C0000000000000000000000000008051C0|255 +01030000000100000005000000000000000000244000000000008051C0000000000000244000000000000054C0000000000000344000000000000054C0000000000000344000000000008051C0000000000000244000000000008051C0|255 +01030000000100000005000000000000000000344000000000008051C0000000000000344000000000000054C00000000000003E4000000000000054C00000000000003E4000000000008051C0000000000000344000000000008051C0|255 +010300000001000000050000000000000000003E4000000000008051C00000000000003E4000000000000054C0000000000000444000000000000054C0000000000000444000000000008051C00000000000003E4000000000008051C0|255 +01030000000100000005000000000000000000444000000000008051C0000000000000444000000000000054C0000000000000494000000000000054C0000000000000494000000000008051C0000000000000444000000000008051C0|255 +01030000000100000005000000000000000000494000000000008051C0000000000000494000000000000054C00000000000004E4000000000000054C00000000000004E4000000000008051C0000000000000494000000000008051C0|255 +010300000001000000050000000000000000004E4000000000008051C00000000000004E4000000000000054C0000000000080514000000000000054C0000000000080514000000000008051C00000000000004E4000000000008051C0|255 +01030000000100000005000000000000000080514000000000008051C0000000000080514000000000000054C0000000000000544000000000000054C0000000000000544000000000008051C0000000000080514000000000008051C0|255 +01030000000100000005000000000000000000544000000000008051C0000000000000544000000000000054C0000000000080564000000000000054C0000000000080564000000000008051C0000000000000544000000000008051C0|255 +01030000000100000005000000000000000000000000000000000054C0000000000000000000000000008056C0000000000000244000000000008056C0000000000000244000000000000054C0000000000000000000000000000054C0|0 +01030000000100000005000000000000000000244000000000000054C0000000000000244000000000008056C0000000000000344000000000008056C0000000000000344000000000000054C0000000000000244000000000000054C0|255 +01030000000100000005000000000000000000344000000000000054C0000000000000344000000000008056C00000000000003E4000000000008056C00000000000003E4000000000000054C0000000000000344000000000000054C0|0 +010300000001000000050000000000000000003E4000000000000054C00000000000003E4000000000008056C0000000000000444000000000008056C0000000000000444000000000000054C00000000000003E4000000000000054C0|255 +01030000000100000005000000000000000000444000000000000054C0000000000000444000000000008056C0000000000000494000000000008056C0000000000000494000000000000054C0000000000000444000000000000054C0|0 +01030000000100000005000000000000000000494000000000000054C0000000000000494000000000008056C00000000000004E4000000000008056C00000000000004E4000000000000054C0000000000000494000000000000054C0|255 +010300000001000000050000000000000000004E4000000000000054C00000000000004E4000000000008056C0000000000080514000000000008056C0000000000080514000000000000054C00000000000004E4000000000000054C0|0 +01030000000100000005000000000000000080514000000000000054C0000000000080514000000000008056C0000000000000544000000000008056C0000000000000544000000000000054C0000000000080514000000000000054C0|255 +01030000000100000005000000000000000000544000000000000054C0000000000000544000000000008056C0000000000080564000000000008056C0000000000080564000000000000054C0000000000000544000000000000054C0|0 +0103000000010000000500000000000000000000000000000000000000000000000000000000000000000024C0000000000000244000000000000024C00000000000002440000000000000000000000000000000000000000000000000|0 +0103000000010000000500000000000000000024400000000000000000000000000000244000000000000024C0000000000000344000000000000024C00000000000003440000000000000000000000000000024400000000000000000|255 +0103000000010000000500000000000000000034400000000000000000000000000000344000000000000024C00000000000003E4000000000000024C00000000000003E40000000000000000000000000000034400000000000000000|0 +010300000001000000050000000000000000003E4000000000000000000000000000003E4000000000000024C0000000000000444000000000000024C0000000000000444000000000000000000000000000003E400000000000000000|255 +0103000000010000000500000000000000000044400000000000000000000000000000444000000000000024C0000000000000494000000000000024C00000000000004940000000000000000000000000000044400000000000000000|0 +0103000000010000000500000000000000000049400000000000000000000000000000494000000000000024C00000000000004E4000000000000024C00000000000004E40000000000000000000000000000049400000000000000000|255 +010300000001000000050000000000000000004E4000000000000000000000000000004E4000000000000024C0000000000080514000000000000024C0000000000080514000000000000000000000000000004E400000000000000000|0 +0103000000010000000500000000000000008051400000000000000000000000000080514000000000000024C0000000000000544000000000000024C00000000000005440000000000000000000000000008051400000000000000000|255 +0103000000010000000500000000000000000054400000000000000000000000000000544000000000000024C0000000000080564000000000000024C00000000000805640000000000000000000000000000054400000000000000000|255 +01030000000100000005000000000000000000000000000000000024C0000000000000000000000000000034C0000000000000244000000000000034C0000000000000244000000000000024C0000000000000000000000000000024C0|255 +01030000000100000005000000000000000000244000000000000024C0000000000000244000000000000034C0000000000000344000000000000034C0000000000000344000000000000024C0000000000000244000000000000024C0|255 +01030000000100000005000000000000000000344000000000000024C0000000000000344000000000000034C00000000000003E4000000000000034C00000000000003E4000000000000024C0000000000000344000000000000024C0|255 +010300000001000000050000000000000000003E4000000000000024C00000000000003E4000000000000034C0000000000000444000000000000034C0000000000000444000000000000024C00000000000003E4000000000000024C0|255 +01030000000100000005000000000000000000444000000000000024C0000000000000444000000000000034C0000000000000494000000000000034C0000000000000494000000000000024C0000000000000444000000000000024C0|255 +01030000000100000005000000000000000000494000000000000024C0000000000000494000000000000034C00000000000004E4000000000000034C00000000000004E4000000000000024C0000000000000494000000000000024C0|255 +010300000001000000050000000000000000004E4000000000000024C00000000000004E4000000000000034C0000000000080514000000000000034C0000000000080514000000000000024C00000000000004E4000000000000024C0|255 +01030000000100000005000000000000000080514000000000000024C0000000000080514000000000000034C0000000000000544000000000000034C0000000000000544000000000000024C0000000000080514000000000000024C0|255 +01030000000100000005000000000000000000544000000000000024C0000000000000544000000000000034C0000000000080564000000000000034C0000000000080564000000000000024C0000000000000544000000000000024C0|255 +01030000000100000005000000000000000000000000000000000034C000000000000000000000000000003EC000000000000024400000000000003EC0000000000000244000000000000034C0000000000000000000000000000034C0|0 +01030000000100000005000000000000000000244000000000000034C000000000000024400000000000003EC000000000000034400000000000003EC0000000000000344000000000000034C0000000000000244000000000000034C0|255 +01030000000100000005000000000000000000344000000000000034C000000000000034400000000000003EC00000000000003E400000000000003EC00000000000003E4000000000000034C0000000000000344000000000000034C0|0 +010300000001000000050000000000000000003E4000000000000034C00000000000003E400000000000003EC000000000000044400000000000003EC0000000000000444000000000000034C00000000000003E4000000000000034C0|255 +01030000000100000005000000000000000000444000000000000034C000000000000044400000000000003EC000000000000049400000000000003EC0000000000000494000000000000034C0000000000000444000000000000034C0|0 +01030000000100000005000000000000000000494000000000000034C000000000000049400000000000003EC00000000000004E400000000000003EC00000000000004E4000000000000034C0000000000000494000000000000034C0|255 +010300000001000000050000000000000000004E4000000000000034C00000000000004E400000000000003EC000000000008051400000000000003EC0000000000080514000000000000034C00000000000004E4000000000000034C0|0 +01030000000100000005000000000000000080514000000000000034C000000000008051400000000000003EC000000000000054400000000000003EC0000000000000544000000000000034C0000000000080514000000000000034C0|255 +01030000000100000005000000000000000000544000000000000034C000000000000054400000000000003EC000000000008056400000000000003EC0000000000080564000000000000034C0000000000000544000000000000034C0|0 +0103000000010000000500000000000000000000000000000000003EC0000000000000000000000000000044C0000000000000244000000000000044C000000000000024400000000000003EC000000000000000000000000000003EC0|255 +0103000000010000000500000000000000000024400000000000003EC0000000000000244000000000000044C0000000000000344000000000000044C000000000000034400000000000003EC000000000000024400000000000003EC0|255 +0103000000010000000500000000000000000034400000000000003EC0000000000000344000000000000044C00000000000003E4000000000000044C00000000000003E400000000000003EC000000000000034400000000000003EC0|255 +010300000001000000050000000000000000003E400000000000003EC00000000000003E4000000000000044C0000000000000444000000000000044C000000000000044400000000000003EC00000000000003E400000000000003EC0|255 +0103000000010000000500000000000000000044400000000000003EC0000000000000444000000000000044C0000000000000494000000000000044C000000000000049400000000000003EC000000000000044400000000000003EC0|255 +0103000000010000000500000000000000000049400000000000003EC0000000000000494000000000000044C00000000000004E4000000000000044C00000000000004E400000000000003EC000000000000049400000000000003EC0|255 +010300000001000000050000000000000000004E400000000000003EC00000000000004E4000000000000044C0000000000080514000000000000044C000000000008051400000000000003EC00000000000004E400000000000003EC0|255 +0103000000010000000500000000000000008051400000000000003EC0000000000080514000000000000044C0000000000000544000000000000044C000000000000054400000000000003EC000000000008051400000000000003EC0|255 +0103000000010000000500000000000000000054400000000000003EC0000000000000544000000000000044C0000000000080564000000000000044C000000000008056400000000000003EC000000000000054400000000000003EC0|255 +01030000000100000005000000000000000000000000000000000044C0000000000000000000000000000049C0000000000000244000000000000049C0000000000000244000000000000044C0000000000000000000000000000044C0|0 +01030000000100000005000000000000000000244000000000000044C0000000000000244000000000000049C0000000000000344000000000000049C0000000000000344000000000000044C0000000000000244000000000000044C0|255 +01030000000100000005000000000000000000344000000000000044C0000000000000344000000000000049C00000000000003E4000000000000049C00000000000003E4000000000000044C0000000000000344000000000000044C0|0 +010300000001000000050000000000000000003E4000000000000044C00000000000003E4000000000000049C0000000000000444000000000000049C0000000000000444000000000000044C00000000000003E4000000000000044C0|255 +01030000000100000005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0|0 +01030000000100000005000000000000000000494000000000000044C0000000000000494000000000000049C00000000000004E4000000000000049C00000000000004E4000000000000044C0000000000000494000000000000044C0|255 +010300000001000000050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C0|0 +01030000000100000005000000000000000080514000000000000044C0000000000080514000000000000049C0000000000000544000000000000049C0000000000000544000000000000044C0000000000080514000000000000044C0|255 +01030000000100000005000000000000000000544000000000000044C0000000000000544000000000000049C0000000000080564000000000000049C0000000000080564000000000000044C0000000000000544000000000000044C0|0 +01030000000100000005000000000000000000000000000000000049C000000000000000000000000000004EC000000000000024400000000000004EC0000000000000244000000000000049C0000000000000000000000000000049C0|255 +01030000000100000005000000000000000000244000000000000049C000000000000024400000000000004EC000000000000034400000000000004EC0000000000000344000000000000049C0000000000000244000000000000049C0|255 +01030000000100000005000000000000000000344000000000000049C000000000000034400000000000004EC00000000000003E400000000000004EC00000000000003E4000000000000049C0000000000000344000000000000049C0|255 +010300000001000000050000000000000000003E4000000000000049C00000000000003E400000000000004EC000000000000044400000000000004EC0000000000000444000000000000049C00000000000003E4000000000000049C0|255 +01030000000100000005000000000000000000444000000000000049C000000000000044400000000000004EC000000000000049400000000000004EC0000000000000494000000000000049C0000000000000444000000000000049C0|255 +01030000000100000005000000000000000000494000000000000049C000000000000049400000000000004EC00000000000004E400000000000004EC00000000000004E4000000000000049C0000000000000494000000000000049C0|255 +010300000001000000050000000000000000004E4000000000000049C00000000000004E400000000000004EC000000000008051400000000000004EC0000000000080514000000000000049C00000000000004E4000000000000049C0|255 +01030000000100000005000000000000000080514000000000000049C000000000008051400000000000004EC000000000000054400000000000004EC0000000000000544000000000000049C0000000000080514000000000000049C0|255 +01030000000100000005000000000000000000544000000000000049C000000000000054400000000000004EC000000000008056400000000000004EC0000000000080564000000000000049C0000000000000544000000000000049C0|255 +0103000000010000000500000000000000000000000000000000004EC0000000000000000000000000008051C0000000000000244000000000008051C000000000000024400000000000004EC000000000000000000000000000004EC0|0 +0103000000010000000500000000000000000024400000000000004EC0000000000000244000000000008051C0000000000000344000000000008051C000000000000034400000000000004EC000000000000024400000000000004EC0|255 +0103000000010000000500000000000000000034400000000000004EC0000000000000344000000000008051C00000000000003E4000000000008051C00000000000003E400000000000004EC000000000000034400000000000004EC0|0 +010300000001000000050000000000000000003E400000000000004EC00000000000003E4000000000008051C0000000000000444000000000008051C000000000000044400000000000004EC00000000000003E400000000000004EC0|255 +0103000000010000000500000000000000000044400000000000004EC0000000000000444000000000008051C0000000000000494000000000008051C000000000000049400000000000004EC000000000000044400000000000004EC0|0 +0103000000010000000500000000000000000049400000000000004EC0000000000000494000000000008051C00000000000004E4000000000008051C00000000000004E400000000000004EC000000000000049400000000000004EC0|255 +010300000001000000050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC0|0 +0103000000010000000500000000000000008051400000000000004EC0000000000080514000000000008051C0000000000000544000000000008051C000000000000054400000000000004EC000000000008051400000000000004EC0|255 +0103000000010000000500000000000000000054400000000000004EC0000000000000544000000000008051C0000000000080564000000000008051C000000000008056400000000000004EC000000000000054400000000000004EC0|0 +01030000000100000005000000000000000000000000000000008051C0000000000000000000000000000054C0000000000000244000000000000054C0000000000000244000000000008051C0000000000000000000000000008051C0|255 +01030000000100000005000000000000000000244000000000008051C0000000000000244000000000000054C0000000000000344000000000000054C0000000000000344000000000008051C0000000000000244000000000008051C0|255 +01030000000100000005000000000000000000344000000000008051C0000000000000344000000000000054C00000000000003E4000000000000054C00000000000003E4000000000008051C0000000000000344000000000008051C0|255 +010300000001000000050000000000000000003E4000000000008051C00000000000003E4000000000000054C0000000000000444000000000000054C0000000000000444000000000008051C00000000000003E4000000000008051C0|255 +01030000000100000005000000000000000000444000000000008051C0000000000000444000000000000054C0000000000000494000000000000054C0000000000000494000000000008051C0000000000000444000000000008051C0|255 +01030000000100000005000000000000000000494000000000008051C0000000000000494000000000000054C00000000000004E4000000000000054C00000000000004E4000000000008051C0000000000000494000000000008051C0|255 +010300000001000000050000000000000000004E4000000000008051C00000000000004E4000000000000054C0000000000080514000000000000054C0000000000080514000000000008051C00000000000004E4000000000008051C0|255 +01030000000100000005000000000000000080514000000000008051C0000000000080514000000000000054C0000000000000544000000000000054C0000000000000544000000000008051C0000000000080514000000000008051C0|255 +01030000000100000005000000000000000000544000000000008051C0000000000000544000000000000054C0000000000080564000000000000054C0000000000080564000000000008051C0000000000000544000000000008051C0|255 +01030000000100000005000000000000000000000000000000000054C0000000000000000000000000008056C0000000000000244000000000008056C0000000000000244000000000000054C0000000000000000000000000000054C0|255 +01030000000100000005000000000000000000244000000000000054C0000000000000244000000000008056C0000000000000344000000000008056C0000000000000344000000000000054C0000000000000244000000000000054C0|255 +01030000000100000005000000000000000000344000000000000054C0000000000000344000000000008056C00000000000003E4000000000008056C00000000000003E4000000000000054C0000000000000344000000000000054C0|0 +010300000001000000050000000000000000003E4000000000000054C00000000000003E4000000000008056C0000000000000444000000000008056C0000000000000444000000000000054C00000000000003E4000000000000054C0|255 +01030000000100000005000000000000000000444000000000000054C0000000000000444000000000008056C0000000000000494000000000008056C0000000000000494000000000000054C0000000000000444000000000000054C0|0 +01030000000100000005000000000000000000494000000000000054C0000000000000494000000000008056C00000000000004E4000000000008056C00000000000004E4000000000000054C0000000000000494000000000000054C0|255 +010300000001000000050000000000000000004E4000000000000054C00000000000004E4000000000008056C0000000000080514000000000008056C0000000000080514000000000000054C00000000000004E4000000000000054C0|0 +01030000000100000005000000000000000080514000000000000054C0000000000080514000000000008056C0000000000000544000000000008056C0000000000000544000000000000054C0000000000080514000000000000054C0|255 +01030000000100000005000000000000000000544000000000000054C0000000000000544000000000008056C0000000000080564000000000008056C0000000000080564000000000000054C0000000000000544000000000000054C0|0 +0103000000010000000500000000000000000000000000000000000000000000000000000000000000000024C0000000000000244000000000000024C00000000000002440000000000000000000000000000000000000000000000000|0 +0103000000010000000500000000000000000024400000000000000000000000000000244000000000000024C0000000000000344000000000000024C00000000000003440000000000000000000000000000024400000000000000000|255 +0103000000010000000500000000000000000034400000000000000000000000000000344000000000000024C00000000000003E4000000000000024C00000000000003E40000000000000000000000000000034400000000000000000|0 +010300000001000000050000000000000000003E4000000000000000000000000000003E4000000000000024C0000000000000444000000000000024C0000000000000444000000000000000000000000000003E400000000000000000|255 +0103000000010000000500000000000000000044400000000000000000000000000000444000000000000024C0000000000000494000000000000024C00000000000004940000000000000000000000000000044400000000000000000|0 +0103000000010000000500000000000000000049400000000000000000000000000000494000000000000024C00000000000004E4000000000000024C00000000000004E40000000000000000000000000000049400000000000000000|255 +010300000001000000050000000000000000004E4000000000000000000000000000004E4000000000000024C0000000000080514000000000000024C0000000000080514000000000000000000000000000004E400000000000000000|0 +0103000000010000000500000000000000008051400000000000000000000000000080514000000000000024C0000000000000544000000000000024C00000000000005440000000000000000000000000008051400000000000000000|255 +0103000000010000000500000000000000000054400000000000000000000000000000544000000000000024C0000000000080564000000000000024C00000000000805640000000000000000000000000000054400000000000000000|0 +01030000000100000005000000000000000000000000000000000024C0000000000000000000000000000034C0000000000000244000000000000034C0000000000000244000000000000024C0000000000000000000000000000024C0|255 +01030000000100000005000000000000000000244000000000000024C0000000000000244000000000000034C0000000000000344000000000000034C0000000000000344000000000000024C0000000000000244000000000000024C0|255 +01030000000100000005000000000000000000344000000000000024C0000000000000344000000000000034C00000000000003E4000000000000034C00000000000003E4000000000000024C0000000000000344000000000000024C0|255 +010300000001000000050000000000000000003E4000000000000024C00000000000003E4000000000000034C0000000000000444000000000000034C0000000000000444000000000000024C00000000000003E4000000000000024C0|255 +01030000000100000005000000000000000000444000000000000024C0000000000000444000000000000034C0000000000000494000000000000034C0000000000000494000000000000024C0000000000000444000000000000024C0|255 +01030000000100000005000000000000000000494000000000000024C0000000000000494000000000000034C00000000000004E4000000000000034C00000000000004E4000000000000024C0000000000000494000000000000024C0|255 +010300000001000000050000000000000000004E4000000000000024C00000000000004E4000000000000034C0000000000080514000000000000034C0000000000080514000000000000024C00000000000004E4000000000000024C0|255 +01030000000100000005000000000000000080514000000000000024C0000000000080514000000000000034C0000000000000544000000000000034C0000000000000544000000000000024C0000000000080514000000000000024C0|255 +01030000000100000005000000000000000000544000000000000024C0000000000000544000000000000034C0000000000080564000000000000034C0000000000080564000000000000024C0000000000000544000000000000024C0|255 +01030000000100000005000000000000000000000000000000000034C000000000000000000000000000003EC000000000000024400000000000003EC0000000000000244000000000000034C0000000000000000000000000000034C0|0 +01030000000100000005000000000000000000244000000000000034C000000000000024400000000000003EC000000000000034400000000000003EC0000000000000344000000000000034C0000000000000244000000000000034C0|255 +01030000000100000005000000000000000000344000000000000034C000000000000034400000000000003EC00000000000003E400000000000003EC00000000000003E4000000000000034C0000000000000344000000000000034C0|0 +010300000001000000050000000000000000003E4000000000000034C00000000000003E400000000000003EC000000000000044400000000000003EC0000000000000444000000000000034C00000000000003E4000000000000034C0|255 +01030000000100000005000000000000000000444000000000000034C000000000000044400000000000003EC000000000000049400000000000003EC0000000000000494000000000000034C0000000000000444000000000000034C0|0 +01030000000100000005000000000000000000494000000000000034C000000000000049400000000000003EC00000000000004E400000000000003EC00000000000004E4000000000000034C0000000000000494000000000000034C0|255 +010300000001000000050000000000000000004E4000000000000034C00000000000004E400000000000003EC000000000008051400000000000003EC0000000000080514000000000000034C00000000000004E4000000000000034C0|0 +01030000000100000005000000000000000080514000000000000034C000000000008051400000000000003EC000000000000054400000000000003EC0000000000000544000000000000034C0000000000080514000000000000034C0|255 +01030000000100000005000000000000000000544000000000000034C000000000000054400000000000003EC000000000008056400000000000003EC0000000000080564000000000000034C0000000000000544000000000000034C0|0 +0103000000010000000500000000000000000000000000000000003EC0000000000000000000000000000044C0000000000000244000000000000044C000000000000024400000000000003EC000000000000000000000000000003EC0|255 +0103000000010000000500000000000000000024400000000000003EC0000000000000244000000000000044C0000000000000344000000000000044C000000000000034400000000000003EC000000000000024400000000000003EC0|255 +0103000000010000000500000000000000000034400000000000003EC0000000000000344000000000000044C00000000000003E4000000000000044C00000000000003E400000000000003EC000000000000034400000000000003EC0|255 +010300000001000000050000000000000000003E400000000000003EC00000000000003E4000000000000044C0000000000000444000000000000044C000000000000044400000000000003EC00000000000003E400000000000003EC0|255 +0103000000010000000500000000000000000044400000000000003EC0000000000000444000000000000044C0000000000000494000000000000044C000000000000049400000000000003EC000000000000044400000000000003EC0|255 +0103000000010000000500000000000000000049400000000000003EC0000000000000494000000000000044C00000000000004E4000000000000044C00000000000004E400000000000003EC000000000000049400000000000003EC0|255 +010300000001000000050000000000000000004E400000000000003EC00000000000004E4000000000000044C0000000000080514000000000000044C000000000008051400000000000003EC00000000000004E400000000000003EC0|255 +0103000000010000000500000000000000008051400000000000003EC0000000000080514000000000000044C0000000000000544000000000000044C000000000000054400000000000003EC000000000008051400000000000003EC0|255 +0103000000010000000500000000000000000054400000000000003EC0000000000000544000000000000044C0000000000080564000000000000044C000000000008056400000000000003EC000000000000054400000000000003EC0|255 +01030000000100000005000000000000000000000000000000000044C0000000000000000000000000000049C0000000000000244000000000000049C0000000000000244000000000000044C0000000000000000000000000000044C0|0 +01030000000100000005000000000000000000244000000000000044C0000000000000244000000000000049C0000000000000344000000000000049C0000000000000344000000000000044C0000000000000244000000000000044C0|255 +01030000000100000005000000000000000000344000000000000044C0000000000000344000000000000049C00000000000003E4000000000000049C00000000000003E4000000000000044C0000000000000344000000000000044C0|0 +010300000001000000050000000000000000003E4000000000000044C00000000000003E4000000000000049C0000000000000444000000000000049C0000000000000444000000000000044C00000000000003E4000000000000044C0|255 +01030000000100000005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0|0 +01030000000100000005000000000000000000494000000000000044C0000000000000494000000000000049C00000000000004E4000000000000049C00000000000004E4000000000000044C0000000000000494000000000000044C0|255 +010300000001000000050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C0|0 +01030000000100000005000000000000000080514000000000000044C0000000000080514000000000000049C0000000000000544000000000000049C0000000000000544000000000000044C0000000000080514000000000000044C0|255 +01030000000100000005000000000000000000544000000000000044C0000000000000544000000000000049C0000000000080564000000000000049C0000000000080564000000000000044C0000000000000544000000000000044C0|0 +01030000000100000005000000000000000000000000000000000049C000000000000000000000000000004EC000000000000024400000000000004EC0000000000000244000000000000049C0000000000000000000000000000049C0|255 +01030000000100000005000000000000000000244000000000000049C000000000000024400000000000004EC000000000000034400000000000004EC0000000000000344000000000000049C0000000000000244000000000000049C0|255 +01030000000100000005000000000000000000344000000000000049C000000000000034400000000000004EC00000000000003E400000000000004EC00000000000003E4000000000000049C0000000000000344000000000000049C0|255 +010300000001000000050000000000000000003E4000000000000049C00000000000003E400000000000004EC000000000000044400000000000004EC0000000000000444000000000000049C00000000000003E4000000000000049C0|255 +01030000000100000005000000000000000000444000000000000049C000000000000044400000000000004EC000000000000049400000000000004EC0000000000000494000000000000049C0000000000000444000000000000049C0|255 +01030000000100000005000000000000000000494000000000000049C000000000000049400000000000004EC00000000000004E400000000000004EC00000000000004E4000000000000049C0000000000000494000000000000049C0|255 +010300000001000000050000000000000000004E4000000000000049C00000000000004E400000000000004EC000000000008051400000000000004EC0000000000080514000000000000049C00000000000004E4000000000000049C0|255 +01030000000100000005000000000000000080514000000000000049C000000000008051400000000000004EC000000000000054400000000000004EC0000000000000544000000000000049C0000000000080514000000000000049C0|255 +01030000000100000005000000000000000000544000000000000049C000000000000054400000000000004EC000000000008056400000000000004EC0000000000080564000000000000049C0000000000000544000000000000049C0|255 +0103000000010000000500000000000000000000000000000000004EC0000000000000000000000000008051C0000000000000244000000000008051C000000000000024400000000000004EC000000000000000000000000000004EC0|0 +0103000000010000000500000000000000000024400000000000004EC0000000000000244000000000008051C0000000000000344000000000008051C000000000000034400000000000004EC000000000000024400000000000004EC0|255 +0103000000010000000500000000000000000034400000000000004EC0000000000000344000000000008051C00000000000003E4000000000008051C00000000000003E400000000000004EC000000000000034400000000000004EC0|0 +010300000001000000050000000000000000003E400000000000004EC00000000000003E4000000000008051C0000000000000444000000000008051C000000000000044400000000000004EC00000000000003E400000000000004EC0|255 +0103000000010000000500000000000000000044400000000000004EC0000000000000444000000000008051C0000000000000494000000000008051C000000000000049400000000000004EC000000000000044400000000000004EC0|0 +0103000000010000000500000000000000000049400000000000004EC0000000000000494000000000008051C00000000000004E4000000000008051C00000000000004E400000000000004EC000000000000049400000000000004EC0|255 +010300000001000000050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC0|0 +0103000000010000000500000000000000008051400000000000004EC0000000000080514000000000008051C0000000000000544000000000008051C000000000000054400000000000004EC000000000008051400000000000004EC0|255 +0103000000010000000500000000000000000054400000000000004EC0000000000000544000000000008051C0000000000080564000000000008051C000000000008056400000000000004EC000000000000054400000000000004EC0|0 +01030000000100000005000000000000000000000000000000008051C0000000000000000000000000000054C0000000000000244000000000000054C0000000000000244000000000008051C0000000000000000000000000008051C0|255 +01030000000100000005000000000000000000244000000000008051C0000000000000244000000000000054C0000000000000344000000000000054C0000000000000344000000000008051C0000000000000244000000000008051C0|255 +01030000000100000005000000000000000000344000000000008051C0000000000000344000000000000054C00000000000003E4000000000000054C00000000000003E4000000000008051C0000000000000344000000000008051C0|255 +010300000001000000050000000000000000003E4000000000008051C00000000000003E4000000000000054C0000000000000444000000000000054C0000000000000444000000000008051C00000000000003E4000000000008051C0|255 +01030000000100000005000000000000000000444000000000008051C0000000000000444000000000000054C0000000000000494000000000000054C0000000000000494000000000008051C0000000000000444000000000008051C0|255 +01030000000100000005000000000000000000494000000000008051C0000000000000494000000000000054C00000000000004E4000000000000054C00000000000004E4000000000008051C0000000000000494000000000008051C0|255 +010300000001000000050000000000000000004E4000000000008051C00000000000004E4000000000000054C0000000000080514000000000000054C0000000000080514000000000008051C00000000000004E4000000000008051C0|255 +01030000000100000005000000000000000080514000000000008051C0000000000080514000000000000054C0000000000000544000000000000054C0000000000000544000000000008051C0000000000080514000000000008051C0|255 +01030000000100000005000000000000000000544000000000008051C0000000000000544000000000000054C0000000000080564000000000000054C0000000000080564000000000008051C0000000000000544000000000008051C0|255 +01030000000100000005000000000000000000000000000000000054C0000000000000000000000000008056C0000000000000244000000000008056C0000000000000244000000000000054C0000000000000000000000000000054C0|0 +01030000000100000005000000000000000000244000000000000054C0000000000000244000000000008056C0000000000000344000000000008056C0000000000000344000000000000054C0000000000000244000000000000054C0|255 +01030000000100000005000000000000000000344000000000000054C0000000000000344000000000008056C00000000000003E4000000000008056C00000000000003E4000000000000054C0000000000000344000000000000054C0|0 +010300000001000000050000000000000000003E4000000000000054C00000000000003E4000000000008056C0000000000000444000000000008056C0000000000000444000000000000054C00000000000003E4000000000000054C0|255 +01030000000100000005000000000000000000444000000000000054C0000000000000444000000000008056C0000000000000494000000000008056C0000000000000494000000000000054C0000000000000444000000000000054C0|0 +01030000000100000005000000000000000000494000000000000054C0000000000000494000000000008056C00000000000004E4000000000008056C00000000000004E4000000000000054C0000000000000494000000000000054C0|255 +010300000001000000050000000000000000004E4000000000000054C00000000000004E4000000000008056C0000000000080514000000000008056C0000000000080514000000000000054C00000000000004E4000000000000054C0|0 +01030000000100000005000000000000000080514000000000000054C0000000000080514000000000008056C0000000000000544000000000008056C0000000000000544000000000000054C0000000000080514000000000000054C0|255 +01030000000100000005000000000000000000544000000000000054C0000000000000544000000000008056C0000000000080564000000000008056C0000000000080564000000000000054C0000000000000544000000000000054C0|255 diff --git a/raster/test/regress/loader/Tiled10x10.select.sql b/raster/test/regress/loader/Tiled10x10.select.sql new file mode 100644 index 000000000..de526ece9 --- /dev/null +++ b/raster/test/regress/loader/Tiled10x10.select.sql @@ -0,0 +1,4 @@ +SELECT srid, scale_x::numeric(16, 10), scale_y::numeric(16, 10), blocksize_x, blocksize_y, same_alignment, regular_blocking, num_bands, pixel_types, nodata_values::numeric(16,10)[], out_db, extent FROM raster_columns WHERE r_table_name = 'loadedrast' AND r_raster_column = 'the_rast'; +SELECT geom, val FROM (SELECT (ST_DumpAsPolygons(the_rast, 1)).* FROM loadedrast) foo; +SELECT geom, val FROM (SELECT (ST_DumpAsPolygons(the_rast, 2)).* FROM loadedrast) foo; +SELECT geom, val FROM (SELECT (ST_DumpAsPolygons(the_rast, 3)).* FROM loadedrast) foo; diff --git a/raster/test/regress/loader/Tiled10x10Copy-post.sh b/raster/test/regress/loader/Tiled10x10Copy-post.sh new file mode 100755 index 000000000..d0adf0864 --- /dev/null +++ b/raster/test/regress/loader/Tiled10x10Copy-post.sh @@ -0,0 +1 @@ +rm -f loader/Tiled10x10Copy.tif diff --git a/raster/test/regress/loader/Tiled10x10Copy-pre.sh b/raster/test/regress/loader/Tiled10x10Copy-pre.sh new file mode 100755 index 000000000..25391744b --- /dev/null +++ b/raster/test/regress/loader/Tiled10x10Copy-pre.sh @@ -0,0 +1 @@ +cp loader/testraster.tif loader/Tiled10x10Copy.tif diff --git a/raster/test/regress/loader/Tiled10x10Copy.opts b/raster/test/regress/loader/Tiled10x10Copy.opts new file mode 100644 index 000000000..cbdb7ab33 --- /dev/null +++ b/raster/test/regress/loader/Tiled10x10Copy.opts @@ -0,0 +1 @@ +-t 10x10 -Y diff --git a/raster/test/regress/loader/Tiled10x10Copy.select.expected b/raster/test/regress/loader/Tiled10x10Copy.select.expected new file mode 100644 index 000000000..40bd61009 --- /dev/null +++ b/raster/test/regress/loader/Tiled10x10Copy.select.expected @@ -0,0 +1,244 @@ +0|1.0000000000|-1.0000000000|10|10|t|f|3|{8BUI,8BUI,8BUI}|{NULL,NULL,NULL}|{f,f,f}|01030000000100000005000000000000000000000000000000008056C00000000000000000000000000000000000000000008056400000000000000000000000000080564000000000008056C0000000000000000000000000008056C0 +0103000000010000000500000000000000000000000000000000000000000000000000000000000000000024C0000000000000244000000000000024C00000000000002440000000000000000000000000000000000000000000000000|255 +0103000000010000000500000000000000000024400000000000000000000000000000244000000000000024C0000000000000344000000000000024C00000000000003440000000000000000000000000000024400000000000000000|255 +0103000000010000000500000000000000000034400000000000000000000000000000344000000000000024C00000000000003E4000000000000024C00000000000003E40000000000000000000000000000034400000000000000000|0 +010300000001000000050000000000000000003E4000000000000000000000000000003E4000000000000024C0000000000000444000000000000024C0000000000000444000000000000000000000000000003E400000000000000000|255 +0103000000010000000500000000000000000044400000000000000000000000000000444000000000000024C0000000000000494000000000000024C00000000000004940000000000000000000000000000044400000000000000000|0 +0103000000010000000500000000000000000049400000000000000000000000000000494000000000000024C00000000000004E4000000000000024C00000000000004E40000000000000000000000000000049400000000000000000|255 +010300000001000000050000000000000000004E4000000000000000000000000000004E4000000000000024C0000000000080514000000000000024C0000000000080514000000000000000000000000000004E400000000000000000|0 +0103000000010000000500000000000000008051400000000000000000000000000080514000000000000024C0000000000000544000000000000024C00000000000005440000000000000000000000000008051400000000000000000|255 +0103000000010000000500000000000000000054400000000000000000000000000000544000000000000024C0000000000080564000000000000024C00000000000805640000000000000000000000000000054400000000000000000|255 +01030000000100000005000000000000000000000000000000000024C0000000000000000000000000000034C0000000000000244000000000000034C0000000000000244000000000000024C0000000000000000000000000000024C0|255 +01030000000100000005000000000000000000244000000000000024C0000000000000244000000000000034C0000000000000344000000000000034C0000000000000344000000000000024C0000000000000244000000000000024C0|255 +01030000000100000005000000000000000000344000000000000024C0000000000000344000000000000034C00000000000003E4000000000000034C00000000000003E4000000000000024C0000000000000344000000000000024C0|255 +010300000001000000050000000000000000003E4000000000000024C00000000000003E4000000000000034C0000000000000444000000000000034C0000000000000444000000000000024C00000000000003E4000000000000024C0|255 +01030000000100000005000000000000000000444000000000000024C0000000000000444000000000000034C0000000000000494000000000000034C0000000000000494000000000000024C0000000000000444000000000000024C0|255 +01030000000100000005000000000000000000494000000000000024C0000000000000494000000000000034C00000000000004E4000000000000034C00000000000004E4000000000000024C0000000000000494000000000000024C0|255 +010300000001000000050000000000000000004E4000000000000024C00000000000004E4000000000000034C0000000000080514000000000000034C0000000000080514000000000000024C00000000000004E4000000000000024C0|255 +01030000000100000005000000000000000080514000000000000024C0000000000080514000000000000034C0000000000000544000000000000034C0000000000000544000000000000024C0000000000080514000000000000024C0|255 +01030000000100000005000000000000000000544000000000000024C0000000000000544000000000000034C0000000000080564000000000000034C0000000000080564000000000000024C0000000000000544000000000000024C0|255 +01030000000100000005000000000000000000000000000000000034C000000000000000000000000000003EC000000000000024400000000000003EC0000000000000244000000000000034C0000000000000000000000000000034C0|0 +01030000000100000005000000000000000000244000000000000034C000000000000024400000000000003EC000000000000034400000000000003EC0000000000000344000000000000034C0000000000000244000000000000034C0|255 +01030000000100000005000000000000000000344000000000000034C000000000000034400000000000003EC00000000000003E400000000000003EC00000000000003E4000000000000034C0000000000000344000000000000034C0|0 +010300000001000000050000000000000000003E4000000000000034C00000000000003E400000000000003EC000000000000044400000000000003EC0000000000000444000000000000034C00000000000003E4000000000000034C0|255 +01030000000100000005000000000000000000444000000000000034C000000000000044400000000000003EC000000000000049400000000000003EC0000000000000494000000000000034C0000000000000444000000000000034C0|0 +01030000000100000005000000000000000000494000000000000034C000000000000049400000000000003EC00000000000004E400000000000003EC00000000000004E4000000000000034C0000000000000494000000000000034C0|255 +010300000001000000050000000000000000004E4000000000000034C00000000000004E400000000000003EC000000000008051400000000000003EC0000000000080514000000000000034C00000000000004E4000000000000034C0|0 +01030000000100000005000000000000000080514000000000000034C000000000008051400000000000003EC000000000000054400000000000003EC0000000000000544000000000000034C0000000000080514000000000000034C0|255 +01030000000100000005000000000000000000544000000000000034C000000000000054400000000000003EC000000000008056400000000000003EC0000000000080564000000000000034C0000000000000544000000000000034C0|0 +0103000000010000000500000000000000000000000000000000003EC0000000000000000000000000000044C0000000000000244000000000000044C000000000000024400000000000003EC000000000000000000000000000003EC0|255 +0103000000010000000500000000000000000024400000000000003EC0000000000000244000000000000044C0000000000000344000000000000044C000000000000034400000000000003EC000000000000024400000000000003EC0|255 +0103000000010000000500000000000000000034400000000000003EC0000000000000344000000000000044C00000000000003E4000000000000044C00000000000003E400000000000003EC000000000000034400000000000003EC0|255 +010300000001000000050000000000000000003E400000000000003EC00000000000003E4000000000000044C0000000000000444000000000000044C000000000000044400000000000003EC00000000000003E400000000000003EC0|255 +0103000000010000000500000000000000000044400000000000003EC0000000000000444000000000000044C0000000000000494000000000000044C000000000000049400000000000003EC000000000000044400000000000003EC0|255 +0103000000010000000500000000000000000049400000000000003EC0000000000000494000000000000044C00000000000004E4000000000000044C00000000000004E400000000000003EC000000000000049400000000000003EC0|255 +010300000001000000050000000000000000004E400000000000003EC00000000000004E4000000000000044C0000000000080514000000000000044C000000000008051400000000000003EC00000000000004E400000000000003EC0|255 +0103000000010000000500000000000000008051400000000000003EC0000000000080514000000000000044C0000000000000544000000000000044C000000000000054400000000000003EC000000000008051400000000000003EC0|255 +0103000000010000000500000000000000000054400000000000003EC0000000000000544000000000000044C0000000000080564000000000000044C000000000008056400000000000003EC000000000000054400000000000003EC0|255 +01030000000100000005000000000000000000000000000000000044C0000000000000000000000000000049C0000000000000244000000000000049C0000000000000244000000000000044C0000000000000000000000000000044C0|0 +01030000000100000005000000000000000000244000000000000044C0000000000000244000000000000049C0000000000000344000000000000049C0000000000000344000000000000044C0000000000000244000000000000044C0|255 +01030000000100000005000000000000000000344000000000000044C0000000000000344000000000000049C00000000000003E4000000000000049C00000000000003E4000000000000044C0000000000000344000000000000044C0|0 +010300000001000000050000000000000000003E4000000000000044C00000000000003E4000000000000049C0000000000000444000000000000049C0000000000000444000000000000044C00000000000003E4000000000000044C0|255 +01030000000100000005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0|0 +01030000000100000005000000000000000000494000000000000044C0000000000000494000000000000049C00000000000004E4000000000000049C00000000000004E4000000000000044C0000000000000494000000000000044C0|255 +010300000001000000050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C0|0 +01030000000100000005000000000000000080514000000000000044C0000000000080514000000000000049C0000000000000544000000000000049C0000000000000544000000000000044C0000000000080514000000000000044C0|255 +01030000000100000005000000000000000000544000000000000044C0000000000000544000000000000049C0000000000080564000000000000049C0000000000080564000000000000044C0000000000000544000000000000044C0|0 +01030000000100000005000000000000000000000000000000000049C000000000000000000000000000004EC000000000000024400000000000004EC0000000000000244000000000000049C0000000000000000000000000000049C0|255 +01030000000100000005000000000000000000244000000000000049C000000000000024400000000000004EC000000000000034400000000000004EC0000000000000344000000000000049C0000000000000244000000000000049C0|255 +01030000000100000005000000000000000000344000000000000049C000000000000034400000000000004EC00000000000003E400000000000004EC00000000000003E4000000000000049C0000000000000344000000000000049C0|255 +010300000001000000050000000000000000003E4000000000000049C00000000000003E400000000000004EC000000000000044400000000000004EC0000000000000444000000000000049C00000000000003E4000000000000049C0|255 +01030000000100000005000000000000000000444000000000000049C000000000000044400000000000004EC000000000000049400000000000004EC0000000000000494000000000000049C0000000000000444000000000000049C0|255 +01030000000100000005000000000000000000494000000000000049C000000000000049400000000000004EC00000000000004E400000000000004EC00000000000004E4000000000000049C0000000000000494000000000000049C0|255 +010300000001000000050000000000000000004E4000000000000049C00000000000004E400000000000004EC000000000008051400000000000004EC0000000000080514000000000000049C00000000000004E4000000000000049C0|255 +01030000000100000005000000000000000080514000000000000049C000000000008051400000000000004EC000000000000054400000000000004EC0000000000000544000000000000049C0000000000080514000000000000049C0|255 +01030000000100000005000000000000000000544000000000000049C000000000000054400000000000004EC000000000008056400000000000004EC0000000000080564000000000000049C0000000000000544000000000000049C0|255 +0103000000010000000500000000000000000000000000000000004EC0000000000000000000000000008051C0000000000000244000000000008051C000000000000024400000000000004EC000000000000000000000000000004EC0|0 +0103000000010000000500000000000000000024400000000000004EC0000000000000244000000000008051C0000000000000344000000000008051C000000000000034400000000000004EC000000000000024400000000000004EC0|255 +0103000000010000000500000000000000000034400000000000004EC0000000000000344000000000008051C00000000000003E4000000000008051C00000000000003E400000000000004EC000000000000034400000000000004EC0|0 +010300000001000000050000000000000000003E400000000000004EC00000000000003E4000000000008051C0000000000000444000000000008051C000000000000044400000000000004EC00000000000003E400000000000004EC0|255 +0103000000010000000500000000000000000044400000000000004EC0000000000000444000000000008051C0000000000000494000000000008051C000000000000049400000000000004EC000000000000044400000000000004EC0|0 +0103000000010000000500000000000000000049400000000000004EC0000000000000494000000000008051C00000000000004E4000000000008051C00000000000004E400000000000004EC000000000000049400000000000004EC0|255 +010300000001000000050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC0|0 +0103000000010000000500000000000000008051400000000000004EC0000000000080514000000000008051C0000000000000544000000000008051C000000000000054400000000000004EC000000000008051400000000000004EC0|255 +0103000000010000000500000000000000000054400000000000004EC0000000000000544000000000008051C0000000000080564000000000008051C000000000008056400000000000004EC000000000000054400000000000004EC0|0 +01030000000100000005000000000000000000000000000000008051C0000000000000000000000000000054C0000000000000244000000000000054C0000000000000244000000000008051C0000000000000000000000000008051C0|255 +01030000000100000005000000000000000000244000000000008051C0000000000000244000000000000054C0000000000000344000000000000054C0000000000000344000000000008051C0000000000000244000000000008051C0|255 +01030000000100000005000000000000000000344000000000008051C0000000000000344000000000000054C00000000000003E4000000000000054C00000000000003E4000000000008051C0000000000000344000000000008051C0|255 +010300000001000000050000000000000000003E4000000000008051C00000000000003E4000000000000054C0000000000000444000000000000054C0000000000000444000000000008051C00000000000003E4000000000008051C0|255 +01030000000100000005000000000000000000444000000000008051C0000000000000444000000000000054C0000000000000494000000000000054C0000000000000494000000000008051C0000000000000444000000000008051C0|255 +01030000000100000005000000000000000000494000000000008051C0000000000000494000000000000054C00000000000004E4000000000000054C00000000000004E4000000000008051C0000000000000494000000000008051C0|255 +010300000001000000050000000000000000004E4000000000008051C00000000000004E4000000000000054C0000000000080514000000000000054C0000000000080514000000000008051C00000000000004E4000000000008051C0|255 +01030000000100000005000000000000000080514000000000008051C0000000000080514000000000000054C0000000000000544000000000000054C0000000000000544000000000008051C0000000000080514000000000008051C0|255 +01030000000100000005000000000000000000544000000000008051C0000000000000544000000000000054C0000000000080564000000000000054C0000000000080564000000000008051C0000000000000544000000000008051C0|255 +01030000000100000005000000000000000000000000000000000054C0000000000000000000000000008056C0000000000000244000000000008056C0000000000000244000000000000054C0000000000000000000000000000054C0|0 +01030000000100000005000000000000000000244000000000000054C0000000000000244000000000008056C0000000000000344000000000008056C0000000000000344000000000000054C0000000000000244000000000000054C0|255 +01030000000100000005000000000000000000344000000000000054C0000000000000344000000000008056C00000000000003E4000000000008056C00000000000003E4000000000000054C0000000000000344000000000000054C0|0 +010300000001000000050000000000000000003E4000000000000054C00000000000003E4000000000008056C0000000000000444000000000008056C0000000000000444000000000000054C00000000000003E4000000000000054C0|255 +01030000000100000005000000000000000000444000000000000054C0000000000000444000000000008056C0000000000000494000000000008056C0000000000000494000000000000054C0000000000000444000000000000054C0|0 +01030000000100000005000000000000000000494000000000000054C0000000000000494000000000008056C00000000000004E4000000000008056C00000000000004E4000000000000054C0000000000000494000000000000054C0|255 +010300000001000000050000000000000000004E4000000000000054C00000000000004E4000000000008056C0000000000080514000000000008056C0000000000080514000000000000054C00000000000004E4000000000000054C0|0 +01030000000100000005000000000000000080514000000000000054C0000000000080514000000000008056C0000000000000544000000000008056C0000000000000544000000000000054C0000000000080514000000000000054C0|255 +01030000000100000005000000000000000000544000000000000054C0000000000000544000000000008056C0000000000080564000000000008056C0000000000080564000000000000054C0000000000000544000000000000054C0|0 +0103000000010000000500000000000000000000000000000000000000000000000000000000000000000024C0000000000000244000000000000024C00000000000002440000000000000000000000000000000000000000000000000|0 +0103000000010000000500000000000000000024400000000000000000000000000000244000000000000024C0000000000000344000000000000024C00000000000003440000000000000000000000000000024400000000000000000|255 +0103000000010000000500000000000000000034400000000000000000000000000000344000000000000024C00000000000003E4000000000000024C00000000000003E40000000000000000000000000000034400000000000000000|0 +010300000001000000050000000000000000003E4000000000000000000000000000003E4000000000000024C0000000000000444000000000000024C0000000000000444000000000000000000000000000003E400000000000000000|255 +0103000000010000000500000000000000000044400000000000000000000000000000444000000000000024C0000000000000494000000000000024C00000000000004940000000000000000000000000000044400000000000000000|0 +0103000000010000000500000000000000000049400000000000000000000000000000494000000000000024C00000000000004E4000000000000024C00000000000004E40000000000000000000000000000049400000000000000000|255 +010300000001000000050000000000000000004E4000000000000000000000000000004E4000000000000024C0000000000080514000000000000024C0000000000080514000000000000000000000000000004E400000000000000000|0 +0103000000010000000500000000000000008051400000000000000000000000000080514000000000000024C0000000000000544000000000000024C00000000000005440000000000000000000000000008051400000000000000000|255 +0103000000010000000500000000000000000054400000000000000000000000000000544000000000000024C0000000000080564000000000000024C00000000000805640000000000000000000000000000054400000000000000000|255 +01030000000100000005000000000000000000000000000000000024C0000000000000000000000000000034C0000000000000244000000000000034C0000000000000244000000000000024C0000000000000000000000000000024C0|255 +01030000000100000005000000000000000000244000000000000024C0000000000000244000000000000034C0000000000000344000000000000034C0000000000000344000000000000024C0000000000000244000000000000024C0|255 +01030000000100000005000000000000000000344000000000000024C0000000000000344000000000000034C00000000000003E4000000000000034C00000000000003E4000000000000024C0000000000000344000000000000024C0|255 +010300000001000000050000000000000000003E4000000000000024C00000000000003E4000000000000034C0000000000000444000000000000034C0000000000000444000000000000024C00000000000003E4000000000000024C0|255 +01030000000100000005000000000000000000444000000000000024C0000000000000444000000000000034C0000000000000494000000000000034C0000000000000494000000000000024C0000000000000444000000000000024C0|255 +01030000000100000005000000000000000000494000000000000024C0000000000000494000000000000034C00000000000004E4000000000000034C00000000000004E4000000000000024C0000000000000494000000000000024C0|255 +010300000001000000050000000000000000004E4000000000000024C00000000000004E4000000000000034C0000000000080514000000000000034C0000000000080514000000000000024C00000000000004E4000000000000024C0|255 +01030000000100000005000000000000000080514000000000000024C0000000000080514000000000000034C0000000000000544000000000000034C0000000000000544000000000000024C0000000000080514000000000000024C0|255 +01030000000100000005000000000000000000544000000000000024C0000000000000544000000000000034C0000000000080564000000000000034C0000000000080564000000000000024C0000000000000544000000000000024C0|255 +01030000000100000005000000000000000000000000000000000034C000000000000000000000000000003EC000000000000024400000000000003EC0000000000000244000000000000034C0000000000000000000000000000034C0|0 +01030000000100000005000000000000000000244000000000000034C000000000000024400000000000003EC000000000000034400000000000003EC0000000000000344000000000000034C0000000000000244000000000000034C0|255 +01030000000100000005000000000000000000344000000000000034C000000000000034400000000000003EC00000000000003E400000000000003EC00000000000003E4000000000000034C0000000000000344000000000000034C0|0 +010300000001000000050000000000000000003E4000000000000034C00000000000003E400000000000003EC000000000000044400000000000003EC0000000000000444000000000000034C00000000000003E4000000000000034C0|255 +01030000000100000005000000000000000000444000000000000034C000000000000044400000000000003EC000000000000049400000000000003EC0000000000000494000000000000034C0000000000000444000000000000034C0|0 +01030000000100000005000000000000000000494000000000000034C000000000000049400000000000003EC00000000000004E400000000000003EC00000000000004E4000000000000034C0000000000000494000000000000034C0|255 +010300000001000000050000000000000000004E4000000000000034C00000000000004E400000000000003EC000000000008051400000000000003EC0000000000080514000000000000034C00000000000004E4000000000000034C0|0 +01030000000100000005000000000000000080514000000000000034C000000000008051400000000000003EC000000000000054400000000000003EC0000000000000544000000000000034C0000000000080514000000000000034C0|255 +01030000000100000005000000000000000000544000000000000034C000000000000054400000000000003EC000000000008056400000000000003EC0000000000080564000000000000034C0000000000000544000000000000034C0|0 +0103000000010000000500000000000000000000000000000000003EC0000000000000000000000000000044C0000000000000244000000000000044C000000000000024400000000000003EC000000000000000000000000000003EC0|255 +0103000000010000000500000000000000000024400000000000003EC0000000000000244000000000000044C0000000000000344000000000000044C000000000000034400000000000003EC000000000000024400000000000003EC0|255 +0103000000010000000500000000000000000034400000000000003EC0000000000000344000000000000044C00000000000003E4000000000000044C00000000000003E400000000000003EC000000000000034400000000000003EC0|255 +010300000001000000050000000000000000003E400000000000003EC00000000000003E4000000000000044C0000000000000444000000000000044C000000000000044400000000000003EC00000000000003E400000000000003EC0|255 +0103000000010000000500000000000000000044400000000000003EC0000000000000444000000000000044C0000000000000494000000000000044C000000000000049400000000000003EC000000000000044400000000000003EC0|255 +0103000000010000000500000000000000000049400000000000003EC0000000000000494000000000000044C00000000000004E4000000000000044C00000000000004E400000000000003EC000000000000049400000000000003EC0|255 +010300000001000000050000000000000000004E400000000000003EC00000000000004E4000000000000044C0000000000080514000000000000044C000000000008051400000000000003EC00000000000004E400000000000003EC0|255 +0103000000010000000500000000000000008051400000000000003EC0000000000080514000000000000044C0000000000000544000000000000044C000000000000054400000000000003EC000000000008051400000000000003EC0|255 +0103000000010000000500000000000000000054400000000000003EC0000000000000544000000000000044C0000000000080564000000000000044C000000000008056400000000000003EC000000000000054400000000000003EC0|255 +01030000000100000005000000000000000000000000000000000044C0000000000000000000000000000049C0000000000000244000000000000049C0000000000000244000000000000044C0000000000000000000000000000044C0|0 +01030000000100000005000000000000000000244000000000000044C0000000000000244000000000000049C0000000000000344000000000000049C0000000000000344000000000000044C0000000000000244000000000000044C0|255 +01030000000100000005000000000000000000344000000000000044C0000000000000344000000000000049C00000000000003E4000000000000049C00000000000003E4000000000000044C0000000000000344000000000000044C0|0 +010300000001000000050000000000000000003E4000000000000044C00000000000003E4000000000000049C0000000000000444000000000000049C0000000000000444000000000000044C00000000000003E4000000000000044C0|255 +01030000000100000005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0|0 +01030000000100000005000000000000000000494000000000000044C0000000000000494000000000000049C00000000000004E4000000000000049C00000000000004E4000000000000044C0000000000000494000000000000044C0|255 +010300000001000000050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C0|0 +01030000000100000005000000000000000080514000000000000044C0000000000080514000000000000049C0000000000000544000000000000049C0000000000000544000000000000044C0000000000080514000000000000044C0|255 +01030000000100000005000000000000000000544000000000000044C0000000000000544000000000000049C0000000000080564000000000000049C0000000000080564000000000000044C0000000000000544000000000000044C0|0 +01030000000100000005000000000000000000000000000000000049C000000000000000000000000000004EC000000000000024400000000000004EC0000000000000244000000000000049C0000000000000000000000000000049C0|255 +01030000000100000005000000000000000000244000000000000049C000000000000024400000000000004EC000000000000034400000000000004EC0000000000000344000000000000049C0000000000000244000000000000049C0|255 +01030000000100000005000000000000000000344000000000000049C000000000000034400000000000004EC00000000000003E400000000000004EC00000000000003E4000000000000049C0000000000000344000000000000049C0|255 +010300000001000000050000000000000000003E4000000000000049C00000000000003E400000000000004EC000000000000044400000000000004EC0000000000000444000000000000049C00000000000003E4000000000000049C0|255 +01030000000100000005000000000000000000444000000000000049C000000000000044400000000000004EC000000000000049400000000000004EC0000000000000494000000000000049C0000000000000444000000000000049C0|255 +01030000000100000005000000000000000000494000000000000049C000000000000049400000000000004EC00000000000004E400000000000004EC00000000000004E4000000000000049C0000000000000494000000000000049C0|255 +010300000001000000050000000000000000004E4000000000000049C00000000000004E400000000000004EC000000000008051400000000000004EC0000000000080514000000000000049C00000000000004E4000000000000049C0|255 +01030000000100000005000000000000000080514000000000000049C000000000008051400000000000004EC000000000000054400000000000004EC0000000000000544000000000000049C0000000000080514000000000000049C0|255 +01030000000100000005000000000000000000544000000000000049C000000000000054400000000000004EC000000000008056400000000000004EC0000000000080564000000000000049C0000000000000544000000000000049C0|255 +0103000000010000000500000000000000000000000000000000004EC0000000000000000000000000008051C0000000000000244000000000008051C000000000000024400000000000004EC000000000000000000000000000004EC0|0 +0103000000010000000500000000000000000024400000000000004EC0000000000000244000000000008051C0000000000000344000000000008051C000000000000034400000000000004EC000000000000024400000000000004EC0|255 +0103000000010000000500000000000000000034400000000000004EC0000000000000344000000000008051C00000000000003E4000000000008051C00000000000003E400000000000004EC000000000000034400000000000004EC0|0 +010300000001000000050000000000000000003E400000000000004EC00000000000003E4000000000008051C0000000000000444000000000008051C000000000000044400000000000004EC00000000000003E400000000000004EC0|255 +0103000000010000000500000000000000000044400000000000004EC0000000000000444000000000008051C0000000000000494000000000008051C000000000000049400000000000004EC000000000000044400000000000004EC0|0 +0103000000010000000500000000000000000049400000000000004EC0000000000000494000000000008051C00000000000004E4000000000008051C00000000000004E400000000000004EC000000000000049400000000000004EC0|255 +010300000001000000050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC0|0 +0103000000010000000500000000000000008051400000000000004EC0000000000080514000000000008051C0000000000000544000000000008051C000000000000054400000000000004EC000000000008051400000000000004EC0|255 +0103000000010000000500000000000000000054400000000000004EC0000000000000544000000000008051C0000000000080564000000000008051C000000000008056400000000000004EC000000000000054400000000000004EC0|0 +01030000000100000005000000000000000000000000000000008051C0000000000000000000000000000054C0000000000000244000000000000054C0000000000000244000000000008051C0000000000000000000000000008051C0|255 +01030000000100000005000000000000000000244000000000008051C0000000000000244000000000000054C0000000000000344000000000000054C0000000000000344000000000008051C0000000000000244000000000008051C0|255 +01030000000100000005000000000000000000344000000000008051C0000000000000344000000000000054C00000000000003E4000000000000054C00000000000003E4000000000008051C0000000000000344000000000008051C0|255 +010300000001000000050000000000000000003E4000000000008051C00000000000003E4000000000000054C0000000000000444000000000000054C0000000000000444000000000008051C00000000000003E4000000000008051C0|255 +01030000000100000005000000000000000000444000000000008051C0000000000000444000000000000054C0000000000000494000000000000054C0000000000000494000000000008051C0000000000000444000000000008051C0|255 +01030000000100000005000000000000000000494000000000008051C0000000000000494000000000000054C00000000000004E4000000000000054C00000000000004E4000000000008051C0000000000000494000000000008051C0|255 +010300000001000000050000000000000000004E4000000000008051C00000000000004E4000000000000054C0000000000080514000000000000054C0000000000080514000000000008051C00000000000004E4000000000008051C0|255 +01030000000100000005000000000000000080514000000000008051C0000000000080514000000000000054C0000000000000544000000000000054C0000000000000544000000000008051C0000000000080514000000000008051C0|255 +01030000000100000005000000000000000000544000000000008051C0000000000000544000000000000054C0000000000080564000000000000054C0000000000080564000000000008051C0000000000000544000000000008051C0|255 +01030000000100000005000000000000000000000000000000000054C0000000000000000000000000008056C0000000000000244000000000008056C0000000000000244000000000000054C0000000000000000000000000000054C0|255 +01030000000100000005000000000000000000244000000000000054C0000000000000244000000000008056C0000000000000344000000000008056C0000000000000344000000000000054C0000000000000244000000000000054C0|255 +01030000000100000005000000000000000000344000000000000054C0000000000000344000000000008056C00000000000003E4000000000008056C00000000000003E4000000000000054C0000000000000344000000000000054C0|0 +010300000001000000050000000000000000003E4000000000000054C00000000000003E4000000000008056C0000000000000444000000000008056C0000000000000444000000000000054C00000000000003E4000000000000054C0|255 +01030000000100000005000000000000000000444000000000000054C0000000000000444000000000008056C0000000000000494000000000008056C0000000000000494000000000000054C0000000000000444000000000000054C0|0 +01030000000100000005000000000000000000494000000000000054C0000000000000494000000000008056C00000000000004E4000000000008056C00000000000004E4000000000000054C0000000000000494000000000000054C0|255 +010300000001000000050000000000000000004E4000000000000054C00000000000004E4000000000008056C0000000000080514000000000008056C0000000000080514000000000000054C00000000000004E4000000000000054C0|0 +01030000000100000005000000000000000080514000000000000054C0000000000080514000000000008056C0000000000000544000000000008056C0000000000000544000000000000054C0000000000080514000000000000054C0|255 +01030000000100000005000000000000000000544000000000000054C0000000000000544000000000008056C0000000000080564000000000008056C0000000000080564000000000000054C0000000000000544000000000000054C0|0 +0103000000010000000500000000000000000000000000000000000000000000000000000000000000000024C0000000000000244000000000000024C00000000000002440000000000000000000000000000000000000000000000000|0 +0103000000010000000500000000000000000024400000000000000000000000000000244000000000000024C0000000000000344000000000000024C00000000000003440000000000000000000000000000024400000000000000000|255 +0103000000010000000500000000000000000034400000000000000000000000000000344000000000000024C00000000000003E4000000000000024C00000000000003E40000000000000000000000000000034400000000000000000|0 +010300000001000000050000000000000000003E4000000000000000000000000000003E4000000000000024C0000000000000444000000000000024C0000000000000444000000000000000000000000000003E400000000000000000|255 +0103000000010000000500000000000000000044400000000000000000000000000000444000000000000024C0000000000000494000000000000024C00000000000004940000000000000000000000000000044400000000000000000|0 +0103000000010000000500000000000000000049400000000000000000000000000000494000000000000024C00000000000004E4000000000000024C00000000000004E40000000000000000000000000000049400000000000000000|255 +010300000001000000050000000000000000004E4000000000000000000000000000004E4000000000000024C0000000000080514000000000000024C0000000000080514000000000000000000000000000004E400000000000000000|0 +0103000000010000000500000000000000008051400000000000000000000000000080514000000000000024C0000000000000544000000000000024C00000000000005440000000000000000000000000008051400000000000000000|255 +0103000000010000000500000000000000000054400000000000000000000000000000544000000000000024C0000000000080564000000000000024C00000000000805640000000000000000000000000000054400000000000000000|0 +01030000000100000005000000000000000000000000000000000024C0000000000000000000000000000034C0000000000000244000000000000034C0000000000000244000000000000024C0000000000000000000000000000024C0|255 +01030000000100000005000000000000000000244000000000000024C0000000000000244000000000000034C0000000000000344000000000000034C0000000000000344000000000000024C0000000000000244000000000000024C0|255 +01030000000100000005000000000000000000344000000000000024C0000000000000344000000000000034C00000000000003E4000000000000034C00000000000003E4000000000000024C0000000000000344000000000000024C0|255 +010300000001000000050000000000000000003E4000000000000024C00000000000003E4000000000000034C0000000000000444000000000000034C0000000000000444000000000000024C00000000000003E4000000000000024C0|255 +01030000000100000005000000000000000000444000000000000024C0000000000000444000000000000034C0000000000000494000000000000034C0000000000000494000000000000024C0000000000000444000000000000024C0|255 +01030000000100000005000000000000000000494000000000000024C0000000000000494000000000000034C00000000000004E4000000000000034C00000000000004E4000000000000024C0000000000000494000000000000024C0|255 +010300000001000000050000000000000000004E4000000000000024C00000000000004E4000000000000034C0000000000080514000000000000034C0000000000080514000000000000024C00000000000004E4000000000000024C0|255 +01030000000100000005000000000000000080514000000000000024C0000000000080514000000000000034C0000000000000544000000000000034C0000000000000544000000000000024C0000000000080514000000000000024C0|255 +01030000000100000005000000000000000000544000000000000024C0000000000000544000000000000034C0000000000080564000000000000034C0000000000080564000000000000024C0000000000000544000000000000024C0|255 +01030000000100000005000000000000000000000000000000000034C000000000000000000000000000003EC000000000000024400000000000003EC0000000000000244000000000000034C0000000000000000000000000000034C0|0 +01030000000100000005000000000000000000244000000000000034C000000000000024400000000000003EC000000000000034400000000000003EC0000000000000344000000000000034C0000000000000244000000000000034C0|255 +01030000000100000005000000000000000000344000000000000034C000000000000034400000000000003EC00000000000003E400000000000003EC00000000000003E4000000000000034C0000000000000344000000000000034C0|0 +010300000001000000050000000000000000003E4000000000000034C00000000000003E400000000000003EC000000000000044400000000000003EC0000000000000444000000000000034C00000000000003E4000000000000034C0|255 +01030000000100000005000000000000000000444000000000000034C000000000000044400000000000003EC000000000000049400000000000003EC0000000000000494000000000000034C0000000000000444000000000000034C0|0 +01030000000100000005000000000000000000494000000000000034C000000000000049400000000000003EC00000000000004E400000000000003EC00000000000004E4000000000000034C0000000000000494000000000000034C0|255 +010300000001000000050000000000000000004E4000000000000034C00000000000004E400000000000003EC000000000008051400000000000003EC0000000000080514000000000000034C00000000000004E4000000000000034C0|0 +01030000000100000005000000000000000080514000000000000034C000000000008051400000000000003EC000000000000054400000000000003EC0000000000000544000000000000034C0000000000080514000000000000034C0|255 +01030000000100000005000000000000000000544000000000000034C000000000000054400000000000003EC000000000008056400000000000003EC0000000000080564000000000000034C0000000000000544000000000000034C0|0 +0103000000010000000500000000000000000000000000000000003EC0000000000000000000000000000044C0000000000000244000000000000044C000000000000024400000000000003EC000000000000000000000000000003EC0|255 +0103000000010000000500000000000000000024400000000000003EC0000000000000244000000000000044C0000000000000344000000000000044C000000000000034400000000000003EC000000000000024400000000000003EC0|255 +0103000000010000000500000000000000000034400000000000003EC0000000000000344000000000000044C00000000000003E4000000000000044C00000000000003E400000000000003EC000000000000034400000000000003EC0|255 +010300000001000000050000000000000000003E400000000000003EC00000000000003E4000000000000044C0000000000000444000000000000044C000000000000044400000000000003EC00000000000003E400000000000003EC0|255 +0103000000010000000500000000000000000044400000000000003EC0000000000000444000000000000044C0000000000000494000000000000044C000000000000049400000000000003EC000000000000044400000000000003EC0|255 +0103000000010000000500000000000000000049400000000000003EC0000000000000494000000000000044C00000000000004E4000000000000044C00000000000004E400000000000003EC000000000000049400000000000003EC0|255 +010300000001000000050000000000000000004E400000000000003EC00000000000004E4000000000000044C0000000000080514000000000000044C000000000008051400000000000003EC00000000000004E400000000000003EC0|255 +0103000000010000000500000000000000008051400000000000003EC0000000000080514000000000000044C0000000000000544000000000000044C000000000000054400000000000003EC000000000008051400000000000003EC0|255 +0103000000010000000500000000000000000054400000000000003EC0000000000000544000000000000044C0000000000080564000000000000044C000000000008056400000000000003EC000000000000054400000000000003EC0|255 +01030000000100000005000000000000000000000000000000000044C0000000000000000000000000000049C0000000000000244000000000000049C0000000000000244000000000000044C0000000000000000000000000000044C0|0 +01030000000100000005000000000000000000244000000000000044C0000000000000244000000000000049C0000000000000344000000000000049C0000000000000344000000000000044C0000000000000244000000000000044C0|255 +01030000000100000005000000000000000000344000000000000044C0000000000000344000000000000049C00000000000003E4000000000000049C00000000000003E4000000000000044C0000000000000344000000000000044C0|0 +010300000001000000050000000000000000003E4000000000000044C00000000000003E4000000000000049C0000000000000444000000000000049C0000000000000444000000000000044C00000000000003E4000000000000044C0|255 +01030000000100000005000000000000000000444000000000000044C0000000000000444000000000000049C0000000000000494000000000000049C0000000000000494000000000000044C0000000000000444000000000000044C0|0 +01030000000100000005000000000000000000494000000000000044C0000000000000494000000000000049C00000000000004E4000000000000049C00000000000004E4000000000000044C0000000000000494000000000000044C0|255 +010300000001000000050000000000000000004E4000000000000044C00000000000004E4000000000000049C0000000000080514000000000000049C0000000000080514000000000000044C00000000000004E4000000000000044C0|0 +01030000000100000005000000000000000080514000000000000044C0000000000080514000000000000049C0000000000000544000000000000049C0000000000000544000000000000044C0000000000080514000000000000044C0|255 +01030000000100000005000000000000000000544000000000000044C0000000000000544000000000000049C0000000000080564000000000000049C0000000000080564000000000000044C0000000000000544000000000000044C0|0 +01030000000100000005000000000000000000000000000000000049C000000000000000000000000000004EC000000000000024400000000000004EC0000000000000244000000000000049C0000000000000000000000000000049C0|255 +01030000000100000005000000000000000000244000000000000049C000000000000024400000000000004EC000000000000034400000000000004EC0000000000000344000000000000049C0000000000000244000000000000049C0|255 +01030000000100000005000000000000000000344000000000000049C000000000000034400000000000004EC00000000000003E400000000000004EC00000000000003E4000000000000049C0000000000000344000000000000049C0|255 +010300000001000000050000000000000000003E4000000000000049C00000000000003E400000000000004EC000000000000044400000000000004EC0000000000000444000000000000049C00000000000003E4000000000000049C0|255 +01030000000100000005000000000000000000444000000000000049C000000000000044400000000000004EC000000000000049400000000000004EC0000000000000494000000000000049C0000000000000444000000000000049C0|255 +01030000000100000005000000000000000000494000000000000049C000000000000049400000000000004EC00000000000004E400000000000004EC00000000000004E4000000000000049C0000000000000494000000000000049C0|255 +010300000001000000050000000000000000004E4000000000000049C00000000000004E400000000000004EC000000000008051400000000000004EC0000000000080514000000000000049C00000000000004E4000000000000049C0|255 +01030000000100000005000000000000000080514000000000000049C000000000008051400000000000004EC000000000000054400000000000004EC0000000000000544000000000000049C0000000000080514000000000000049C0|255 +01030000000100000005000000000000000000544000000000000049C000000000000054400000000000004EC000000000008056400000000000004EC0000000000080564000000000000049C0000000000000544000000000000049C0|255 +0103000000010000000500000000000000000000000000000000004EC0000000000000000000000000008051C0000000000000244000000000008051C000000000000024400000000000004EC000000000000000000000000000004EC0|0 +0103000000010000000500000000000000000024400000000000004EC0000000000000244000000000008051C0000000000000344000000000008051C000000000000034400000000000004EC000000000000024400000000000004EC0|255 +0103000000010000000500000000000000000034400000000000004EC0000000000000344000000000008051C00000000000003E4000000000008051C00000000000003E400000000000004EC000000000000034400000000000004EC0|0 +010300000001000000050000000000000000003E400000000000004EC00000000000003E4000000000008051C0000000000000444000000000008051C000000000000044400000000000004EC00000000000003E400000000000004EC0|255 +0103000000010000000500000000000000000044400000000000004EC0000000000000444000000000008051C0000000000000494000000000008051C000000000000049400000000000004EC000000000000044400000000000004EC0|0 +0103000000010000000500000000000000000049400000000000004EC0000000000000494000000000008051C00000000000004E4000000000008051C00000000000004E400000000000004EC000000000000049400000000000004EC0|255 +010300000001000000050000000000000000004E400000000000004EC00000000000004E4000000000008051C0000000000080514000000000008051C000000000008051400000000000004EC00000000000004E400000000000004EC0|0 +0103000000010000000500000000000000008051400000000000004EC0000000000080514000000000008051C0000000000000544000000000008051C000000000000054400000000000004EC000000000008051400000000000004EC0|255 +0103000000010000000500000000000000000054400000000000004EC0000000000000544000000000008051C0000000000080564000000000008051C000000000008056400000000000004EC000000000000054400000000000004EC0|0 +01030000000100000005000000000000000000000000000000008051C0000000000000000000000000000054C0000000000000244000000000000054C0000000000000244000000000008051C0000000000000000000000000008051C0|255 +01030000000100000005000000000000000000244000000000008051C0000000000000244000000000000054C0000000000000344000000000000054C0000000000000344000000000008051C0000000000000244000000000008051C0|255 +01030000000100000005000000000000000000344000000000008051C0000000000000344000000000000054C00000000000003E4000000000000054C00000000000003E4000000000008051C0000000000000344000000000008051C0|255 +010300000001000000050000000000000000003E4000000000008051C00000000000003E4000000000000054C0000000000000444000000000000054C0000000000000444000000000008051C00000000000003E4000000000008051C0|255 +01030000000100000005000000000000000000444000000000008051C0000000000000444000000000000054C0000000000000494000000000000054C0000000000000494000000000008051C0000000000000444000000000008051C0|255 +01030000000100000005000000000000000000494000000000008051C0000000000000494000000000000054C00000000000004E4000000000000054C00000000000004E4000000000008051C0000000000000494000000000008051C0|255 +010300000001000000050000000000000000004E4000000000008051C00000000000004E4000000000000054C0000000000080514000000000000054C0000000000080514000000000008051C00000000000004E4000000000008051C0|255 +01030000000100000005000000000000000080514000000000008051C0000000000080514000000000000054C0000000000000544000000000000054C0000000000000544000000000008051C0000000000080514000000000008051C0|255 +01030000000100000005000000000000000000544000000000008051C0000000000000544000000000000054C0000000000080564000000000000054C0000000000080564000000000008051C0000000000000544000000000008051C0|255 +01030000000100000005000000000000000000000000000000000054C0000000000000000000000000008056C0000000000000244000000000008056C0000000000000244000000000000054C0000000000000000000000000000054C0|0 +01030000000100000005000000000000000000244000000000000054C0000000000000244000000000008056C0000000000000344000000000008056C0000000000000344000000000000054C0000000000000244000000000000054C0|255 +01030000000100000005000000000000000000344000000000000054C0000000000000344000000000008056C00000000000003E4000000000008056C00000000000003E4000000000000054C0000000000000344000000000000054C0|0 +010300000001000000050000000000000000003E4000000000000054C00000000000003E4000000000008056C0000000000000444000000000008056C0000000000000444000000000000054C00000000000003E4000000000000054C0|255 +01030000000100000005000000000000000000444000000000000054C0000000000000444000000000008056C0000000000000494000000000008056C0000000000000494000000000000054C0000000000000444000000000000054C0|0 +01030000000100000005000000000000000000494000000000000054C0000000000000494000000000008056C00000000000004E4000000000008056C00000000000004E4000000000000054C0000000000000494000000000000054C0|255 +010300000001000000050000000000000000004E4000000000000054C00000000000004E4000000000008056C0000000000080514000000000008056C0000000000080514000000000000054C00000000000004E4000000000000054C0|0 +01030000000100000005000000000000000080514000000000000054C0000000000080514000000000008056C0000000000000544000000000008056C0000000000000544000000000000054C0000000000080514000000000000054C0|255 +01030000000100000005000000000000000000544000000000000054C0000000000000544000000000008056C0000000000080564000000000008056C0000000000080564000000000000054C0000000000000544000000000000054C0|255 diff --git a/raster/test/regress/loader/Tiled10x10Copy.select.sql b/raster/test/regress/loader/Tiled10x10Copy.select.sql new file mode 100644 index 000000000..de526ece9 --- /dev/null +++ b/raster/test/regress/loader/Tiled10x10Copy.select.sql @@ -0,0 +1,4 @@ +SELECT srid, scale_x::numeric(16, 10), scale_y::numeric(16, 10), blocksize_x, blocksize_y, same_alignment, regular_blocking, num_bands, pixel_types, nodata_values::numeric(16,10)[], out_db, extent FROM raster_columns WHERE r_table_name = 'loadedrast' AND r_raster_column = 'the_rast'; +SELECT geom, val FROM (SELECT (ST_DumpAsPolygons(the_rast, 1)).* FROM loadedrast) foo; +SELECT geom, val FROM (SELECT (ST_DumpAsPolygons(the_rast, 2)).* FROM loadedrast) foo; +SELECT geom, val FROM (SELECT (ST_DumpAsPolygons(the_rast, 3)).* FROM loadedrast) foo; diff --git a/regress/run_test b/regress/run_test index 356e1e90d..412d52d3a 100755 --- a/regress/run_test +++ b/regress/run_test @@ -8,6 +8,10 @@ DB=postgis_reg SHP2PGSQL=../loader/shp2pgsql PGSQL2SHP=../loader/pgsql2shp +# raster2pgsql is relative to the place where this script +# would be called: raster/test/regress +RASTER2PGSQL=../../loader/raster2pgsql + ################################################### # # Usage ./run_test [] @@ -443,6 +447,107 @@ run_loader_test () return 0 } +# +# This runs the loader once and checks the output of it. +# It will NOT run if neither the expected SQL nor the expected +# select results file exists, unless you pass true for the final +# parameter. +# +# $1 - Description of this run of the loader, used for error messages. +# $2 - Table name to load into. +# $3 - The name of the file containing what the +# SQL generated by shp2pgsql should look like. +# $4 - The name of the file containing the expected results of +# SELECT rast FROM _tblname should look like. +# $5 - Command line options for raster2pgsql. +# $6 - If you pass true, this will run the loader even if neither +# of the expected results files exists (though of course +# the results won't be compared with anything). +# +run_raster_loader_and_check_output() +{ + _description=$1 + _tblname=$2 + _expected_sql_file=$3 + _expected_select_results_file=$4 + _loader_options=$5 + _run_always=$6 + # ON_ERROR_STOP is used by psql to return non-0 on an error + _psql_opts="--no-psqlrc --variable ON_ERROR_STOP=true" + + if [ -n "$_run_always" -o -r "$_expected_sql_file" -o -r "$_expected_select_results_file" ]; then + show_progress + + # Produce the output SQL file. + ${RASTER2PGSQL} $_loader_options -C -f the_rast ${TEST}.tif $_tblname \ + > ${TMPDIR}/loader.out \ + 2> ${TMPDIR}/loader.err + + if [ $? -gt 0 ]; then + fail " $_description: running raster2pgsql" "${TMPDIR}/loader.err" + return 1 + fi + + # Compare the output SQL file with the expected if there is one. + if [ -r $_expected_sql_file ]; then + show_progress + if diff "${TMPDIR}/loader.out" "$_expected_sql_file" > /dev/null; then + : + else + fail " $_description: actual SQL does not match expected.", \ + "${TMPDIR}/loader.out" + fi + fi + + # Run the loader SQL script. + show_progress + ${PSQL} ${_psql_opts} -f ${TMPDIR}/loader.out "${DB}" > ${TMPDIR}/loader.err 2>&1 + if [ $? -gt 0 ]; then + fail " $_description: running raster2pgsql output" "${TMPDIR}/loader.err" + return 1 + fi + + # Run the select script (if there is one) + if [ -r "${TEST}.select.sql" ]; then + if run_simple_test "${TEST}.select.sql" "$_expected_select_results_file" "$_description"; then + : + else + # That will have already called fail, so just return an error. + return 1 + fi + fi + fi + return 0 +} + +# +# run_raster_loader_test +# +# Load a raster with different methods +# +# raster input is ${TEST}.tif, expected output is {$TEST}.expected +# +run_raster_loader_test () +{ + # See if there is a custom command-line options file + _custom_opts="" + if [ -r ${TEST}.opts ]; then + _custom_opts=`grep -v ^\s*# ${TEST}.opts` + fi + + tblname="loadedrast" + + if run_raster_loader_and_check_output "test" "${tblname}" "${TEST}.sql.expected" "${TEST}.select.expected" \ + "$_custom_opts" "true"; then + : + else + return 1 + fi + drop_table_if_exists "${tblname}" >> ${TMPDIR}/regress_log 2>&1 + + return 0 +} + # Log an initialization error and optionally drop the db init_db_error () { @@ -536,7 +641,7 @@ if [ -z "$1" ]; then echo " --nocreate do not create the regression database on start" >&2 echo " --upgrade source the upgrade scripts on start" >&2 echo " --nodrop do not drop the regression database on exit" >&2 - echo " --raster load also topology extension" >&2 + echo " --raster load also raster extension" >&2 echo " --topology load also topology extension" >&2 echo " --clean cleanup test logs on exit" >&2 echo " --expect save obtained output as expected" >&2 @@ -732,6 +837,12 @@ while [ -n "$1" ]; do if run_loader_test; then pass fi + # Check .tif *before* .sql as loader test could + # create the .sql + elif [ -r "${TEST}.tif" ]; then + if run_raster_loader_test; then + pass + fi elif [ -r "${TEST}.sql" ]; then if run_simple_test ${TEST}.sql ${TEST}_expected; then pass