diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..c2658d7d1b31848c3b71960543cb0368e56cd4c7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+node_modules/
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9646/4484.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9646/4484.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..20ebd83bdaf4b054bfb63cfbb376f27d49320f8f
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9646/4484.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9646/4485.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9646/4485.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..1f9243986ac0d40f590607ac5ffbe24806f7cdcc
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9646/4485.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9646/4486.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9646/4486.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..3209917378b458613292914be1bb594bd99ec9e5
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9646/4486.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9646/4487.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9646/4487.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..20095efbb122b3ecbe24127d933eab35616bb31b
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9646/4487.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4481.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4481.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..9a4f4b2a9ef7f7308b09b08fe2bc390c8c345f3f
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4481.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4482.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4482.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..bd2800305ffe65df385667d6d8a54c33d9fe3877
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4482.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4483.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4483.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..ca0ba2ff08ea9228659554fdd91f90041772bc6f
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4483.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4484.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4484.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..85c2b8f2620f9d2d1207893f6543df2a07591fd8
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4484.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4485.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4485.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..a845c7e36c6f037e456d5dc8c26948a269b6d719
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4485.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4486.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4486.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..e2cc10709251b3ad5d45f11364335127356aae99
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4486.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4487.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4487.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..30e512fca80fefc345e74ecab9229fab61f87e4a
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9647/4487.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4480.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4480.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..81a612020b61798e4cbba46c18e60bfecf2a4def
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4480.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4481.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4481.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..8b480a338a758ecebcff094dca67201da4a31585
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4481.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4482.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4482.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..b9c44875e33b8c0c9f5f6ebc052d8e1001a3af9f
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4482.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4483.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4483.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..7d6859809a4b4c4629e6fc08f3c24ada650daaa9
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4483.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4484.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4484.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..587d6ae5a721fd05b2ffe923dd223c80c9cea983
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4484.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4485.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4485.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..4de3974671f8d7bc136db13dad78a81ac42d9cc8
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4485.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4486.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4486.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..41ee4028d637433561dfa9d92367047fbca074ec
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9648/4486.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4479.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4479.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..4e3f3608bd573dad684fc5513b323819d77b7345
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4479.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4480.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4480.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..c418e9f56b82565e54a43fa8501898d1618e68f9
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4480.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4481.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4481.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..09f3723256db0ad24bc5fc05dd3e5e04316bf2b1
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4481.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4482.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4482.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..a6e43ec4ba94fa97021efefe16d85b87f214df0c
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4482.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4483.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4483.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..54390ce2dea0b82c62e820bdeb6a0090f1beb9c8
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4483.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4484.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4484.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..4aec4669efbd8792f5ccfc3630c6326c90d7ac83
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4484.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4485.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4485.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..9f6e5c1c1eb7f3c674d1ca1d63f8457d44f9c130
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4485.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4486.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4486.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..79a17e8fbb1a9460319276d21988c3bb6cf945b2
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9649/4486.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4478.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4478.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..d4cbd26ae09532b77c78e3ebbcdecc83db2ff336
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4478.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4479.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4479.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..4fb2631dbceef6adb356d6d79bc72f52f7407715
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4479.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4480.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4480.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..ae5c77bf821dad770c50785f8a390eb54497327d
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4480.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4481.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4481.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..f556b3fb7c941b2aba26eb94614043080564a81e
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4481.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4482.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4482.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..b8e49655df89929a9e927935dd620438864d4099
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4482.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4483.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4483.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..dd8ce3c003d5c356b160e365d1f9442acc7cd021
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4483.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4484.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4484.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..d2b5b5a949664871d9a0dba8b8ec479f888df06b
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4484.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4485.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4485.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..a5ab80c6998f2cf92863ec32b272a0239d08453f
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4485.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4486.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4486.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..d94a018f168631a68ca99862ca799e34107c0321
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9650/4486.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4476.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4476.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..3bd53edfbee712bcde011448b0df77f66831d47c
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4476.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4477.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4477.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..35c81205b14b006d22bf78ff8082b5815432ab91
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4477.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4478.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4478.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..0114ac392f8f16c946fd4acdabed5f27de15e572
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4478.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4479.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4479.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..90df50e322e27c02203ed9d3a7a18aa747ce1982
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4479.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4480.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4480.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..aec0b79eb775c6dd736ec9651f0539c4659584ad
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4480.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4481.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4481.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..c4ba6f590dc4b09dd5cf243b58ad2eabfa751591
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4481.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4482.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4482.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..0a5da6c6c178263ddd0e505a6fbab7e6fd5c81e3
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4482.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4483.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4483.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..41e5d3fab3457a8e3f8c086eda504d7699594449
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9651/4483.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4475.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4475.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..b22416f074fb89a1ee1070d0b4a8983f3a57c30f
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4475.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4476.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4476.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..eec5fc398c7b4b5ff417c62dade99d2f8cf21a40
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4476.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4477.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4477.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..d7d74c1c730c430c9cee646c7dd5d0578782d8b6
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4477.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4478.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4478.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..5dbb733c70289a686b2fdd21c8c58dbc7002e4d7
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4478.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4479.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4479.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..39dd7d16edbc79bc36ff44514b6c041a57e0dd1c
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4479.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4480.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4480.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..78f9e27780830bb0005c59c1f58be8d56f962411
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4480.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4481.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4481.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..c0a27a6e26418642b808528d52f1a426e72fed33
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4481.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4482.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4482.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..1ecf951933738281c93e6ffabd088778a9e262b4
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9652/4482.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4473.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4473.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..a1cd0b3926651b63205a1473865ad0d9c06c9cee
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4473.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4474.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4474.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..d21351b983814071e6768810f1b2e3ef63ccda26
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4474.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4475.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4475.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..83c98e163295cb25b6ee5a284c90b9b408882817
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4475.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4476.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4476.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..bb70923dd24eb6a864fb6e9014973be05028c164
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4476.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4477.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4477.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..a7f2447ca3b2e86ee551e598c299193ce893c06b
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4477.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4478.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4478.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..bfe9e22ae4ec94b0327d0ff86ece40cfe2be7e4c
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4478.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4479.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4479.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..5aa96244a8911a9c97a0de4abfe6313f2bf495dc
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4479.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4480.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4480.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..4435b3580ac6ee4e3134350b7deb89e613051190
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4480.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4481.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4481.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..4fdbe8352390f2956cb0996c166317b2e280c02e
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4481.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4482.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4482.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..57e66b8523d7a42ed3c2d5adb7f0913ffa6fd96a
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9653/4482.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4472.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4472.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..6cf70155d3d8a14a8094f80e37c5c5b4a0e8c3c4
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4472.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4473.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4473.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..c207409b70c4f63c4b253d621e0c530dfb2d4330
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4473.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4474.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4474.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..de51bd13f936d1f1f3113513e7060148ff9c6547
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4474.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4475.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4475.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..e1dc927b942ca51ab2fbd99ed1218072c6111ee6
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4475.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4476.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4476.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..d38bb701649ac6c1a41cde7861d75f832ae9b534
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4476.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4477.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4477.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..8d5ab5c1802e3de5c5ded2597140d3d579a153c8
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4477.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4478.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4478.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..35594e2e18f57f55a97fc6797626f8a214450567
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4478.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4479.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4479.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..12a95d3fc62c3d7aaf67bb38f9a99eae27c6211f
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4479.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4480.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4480.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..c7e05099278643bf2153dac24056975147fc5a9c
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4480.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4481.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4481.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..aee3f4a30122341497625d30434d0785f323d5a9
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9654/4481.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4470.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4470.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..5e5b0d6f2c0c4b9551716febd224153b600e0ed7
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4470.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4471.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4471.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..37c6a734f1a59d136f3dbe64909878f3002e586f
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4471.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4472.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4472.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..83f27cfe20fc77a408898c12395c24585d8acb24
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4472.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4473.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4473.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..0e5333104fe866901f2e35e4060cb11c5a27515e
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4473.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4474.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4474.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..dfae1bc7a32a0093b528eaeff8d36e41058ddbee
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4474.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4477.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4477.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..6ffa424a6082538907d8862a74ec168513c3d2cd
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4477.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4478.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4478.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..514744673b8543bb411d6361c8ae2235aa90b25a
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4478.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4479.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4479.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..483d8cd18274d22877c210b4c767e7ab98f931fb
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4479.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4480.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4480.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..0a0c2fbbdbb1f0259d4e861b88d55261e0381ca2
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9655/4480.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9656/4470.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9656/4470.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..eb42d7651fc3f95ff982d0e52e277e5a0843c1be
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9656/4470.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9656/4471.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9656/4471.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..24bc74ff52bc16558b8c83e9013229a9d4878b82
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9656/4471.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9656/4472.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9656/4472.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..741c8f1dcb09bfda323c5172005e21e5cfb2fde1
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9656/4472.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9656/4479.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9656/4479.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..2b34f0220178001639b5cfd09c3eeb1a822193d8
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9656/4479.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/14/9656/4480.b3dm b/3DGeoVolumes/collections/NewYork/3dtiles/14/9656/4480.b3dm
new file mode 100644
index 0000000000000000000000000000000000000000..6d7dda1f5382093c11a74eda4db3874b1c6d32a3
Binary files /dev/null and b/3DGeoVolumes/collections/NewYork/3dtiles/14/9656/4480.b3dm differ
diff --git a/3DGeoVolumes/collections/NewYork/3dtiles/tileset.json b/3DGeoVolumes/collections/NewYork/3dtiles/tileset.json
new file mode 100644
index 0000000000000000000000000000000000000000..4f03d851cfb312099ba71b08d714b159729bf9bc
--- /dev/null
+++ b/3DGeoVolumes/collections/NewYork/3dtiles/tileset.json
@@ -0,0 +1 @@
+{"asset":{"version":"1.0","extras":{"ion":{"georeferenced":true,"movable":false}}},"properties":{"Height":{"maximum":547.7591871983744,"minimum":-11.892070104139751},"Latitude":{"maximum":40.880256294183646,"minimum":40.700475291581974},"Longitude":{"maximum":-73.9068954348699,"minimum":-74.01900887327089}},"geometricError":740.0197559011849,"root":{"boundingVolume":{"region":[-1.325359400733193,0.6872233929727672,-1.2762720155208527,0.7363107781851077,0,547.6909683533274]},"geometricError":740.0197559011849,"refine":"ADD","children":[{"boundingVolume":{"region":[-1.325359400733193,0.6872233929727672,-1.2762720155208527,0.7363107781851077,0,547.6909683533274]},"geometricError":740.0197559011849,"children":[{"boundingVolume":{"region":[-1.300815708127022,0.6872233929727672,-1.2762720155208527,0.7117670855789375,0,547.6909683533274]},"geometricError":563.8721715009725,"children":[{"boundingVolume":{"region":[-1.300815708127022,0.6994952392758524,-1.2885438618239373,0.7117670855789375,0,547.6909683533274]},"geometricError":563.8721715009725,"children":[{"boundingVolume":{"region":[-1.2946797849754788,0.705631162427395,-1.2885438618239373,0.7117670855789375,0,547.6909683533274]},"geometricError":563.8721715009725,"children":[{"boundingVolume":{"region":[-1.291611823399709,0.7086991240031663,-1.2885438618239373,0.7117670855789375,0,443.6754133562039]},"geometricError":484.0702559061598,"children":[{"boundingVolume":{"region":[-1.2900778426118222,0.710233104791052,-1.2885438618239373,0.7117670855789375,0,29.74235060939729]},"geometricError":110.2081773190492,"children":[{"boundingVolume":{"region":[-1.2900778426118222,0.7110000951849947,-1.2893108522178807,0.7117670855789375,0,29.74235060939729]},"geometricError":110.2081773190492,"children":[{"boundingVolume":{"region":[-1.2900778426118222,0.7113835903819661,-1.2896943474148514,0.7117670855789375,0,29.74235060939729]},"geometricError":110.2081773190492,"children":[{"boundingVolume":{"region":[-1.2900778426118222,0.7115753379804518,-1.2898860950133368,0.7117670855789375,0,29.74235060939729]},"geometricError":0,"content":{"uri":"14/9656/4480.b3dm","boundingVolume":{"region":[-1.290084270705168,0.7117051614910668,-1.290068490312515,0.7117576876196845,0,29.74235060939729]}}}]}]}]},{"boundingVolume":{"region":[-1.291611823399709,0.710233104791052,-1.2900778426118222,0.7117670855789375,0,443.6754133562039]},"geometricError":484.0702559061598,"children":[{"boundingVolume":{"region":[-1.291611823399709,0.710233104791052,-1.2908448330057656,0.7110000951849947,0,174.6031070697304]},"geometricError":345.4512463403885,"children":[{"boundingVolume":{"region":[-1.291611823399709,0.710233104791052,-1.2912283282027381,0.7106165999880234,0,174.6031070697304]},"geometricError":345.4512463403885,"children":[{"boundingVolume":{"region":[-1.2914200758012235,0.7104248523895377,-1.2912283282027381,0.7106165999880234,0,78.09534162829488]},"geometricError":0,"content":{"uri":"14/9649/4486.b3dm","boundingVolume":{"region":[-1.291421884902533,0.710510245248663,-1.291215014850406,0.7106242635030114,0,78.09534162829488]}}},{"boundingVolume":{"region":[-1.291611823399709,0.7104248523895377,-1.2914200758012235,0.7106165999880234,0,174.6031070697304]},"geometricError":0,"content":{"uri":"14/9648/4486.b3dm","boundingVolume":{"region":[-1.291618807254679,0.710423573538172,-1.291416006946582,0.7106208198147442,0,174.6031070697304]}}}]},{"boundingVolume":{"region":[-1.2912283282027381,0.710233104791052,-1.2908448330057656,0.7106165999880234,0,71.63317223375581]},"geometricError":143.2715369187961,"children":[{"boundingVolume":{"region":[-1.2912283282027381,0.7104248523895377,-1.2910365806042527,0.7106165999880234,0,71.63317223375581]},"geometricError":0,"content":{"uri":"14/9650/4486.b3dm","boundingVolume":{"region":[-1.291235670426816,0.7105288206790966,-1.29112575967513,0.7106203441366304,0,71.63317223375581]}}}]},{"boundingVolume":{"region":[-1.2912283282027381,0.7106165999880234,-1.2908448330057656,0.7110000951849947,0,116.2858801853736]},"geometricError":294.8558430480663,"children":[{"boundingVolume":{"region":[-1.2912283282027381,0.7106165999880234,-1.2910365806042527,0.710808347586509,0,76.82615125213479]},"geometricError":0,"content":{"uri":"14/9650/4485.b3dm","boundingVolume":{"region":[-1.291235464594426,0.7106144063856105,-1.291064820947236,0.7108137222663214,0,76.82615125213479]}}},{"boundingVolume":{"region":[-1.2912283282027381,0.710808347586509,-1.2910365806042527,0.7110000951849947,0,116.2858801853736]},"geometricError":0,"content":{"uri":"14/9650/4484.b3dm","boundingVolume":{"region":[-1.291231150388053,0.7107997650548464,-1.291048542909635,0.7110122007459323,0,116.2858801853736]}}}]},{"boundingVolume":{"region":[-1.291611823399709,0.7106165999880234,-1.2912283282027381,0.7110000951849947,0,136.2360983448311]},"geometricError":207.9286942364276,"children":[{"boundingVolume":{"region":[-1.291611823399709,0.7106165999880234,-1.2914200758012235,0.710808347586509,0,108.5260236203511]},"geometricError":0,"content":{"uri":"14/9648/4485.b3dm","boundingVolume":{"region":[-1.291618009706854,0.7106136444835973,-1.291416944116504,0.7108109691710144,0,108.5260236203511]}}},{"boundingVolume":{"region":[-1.2914200758012235,0.7106165999880234,-1.2912283282027381,0.710808347586509,0,86.6399919213512]},"geometricError":0,"content":{"uri":"14/9649/4485.b3dm","boundingVolume":{"region":[-1.291424822707044,0.7106128360107217,-1.291226410299563,0.7108120855589061,0,86.6399919213512]}}},{"boundingVolume":{"region":[-1.2914200758012235,0.710808347586509,-1.2912283282027381,0.7110000951849947,0,136.2360983448311]},"geometricError":0,"content":{"uri":"14/9649/4484.b3dm","boundingVolume":{"region":[-1.291428319743017,0.7108062417078116,-1.291222705051698,0.7110037455240686,0,136.2360983448311]}}},{"boundingVolume":{"region":[-1.291611823399709,0.710808347586509,-1.2914200758012235,0.7110000951849947,0,113.8029748344472]},"geometricError":0,"content":{"uri":"14/9648/4484.b3dm","boundingVolume":{"region":[-1.291614100905681,0.7108037197008112,-1.291414541261866,0.7110031316298592,0,113.8029748344472]}}}]}]},{"boundingVolume":{"region":[-1.2908448330057656,0.7110000951849947,-1.2900778426118222,0.7117670855789375,0,162.494996063142]},"geometricError":404.8164392638009,"children":[{"boundingVolume":{"region":[-1.2908448330057656,0.7110000951849947,-1.290461337808793,0.7113835903819661,0,72.4315671716928]},"geometricError":180.6628108740191,"children":[{"boundingVolume":{"region":[-1.2906530854072784,0.7111918427834805,-1.290461337808793,0.7113835903819661,0,50.44437334880854]},"geometricError":0,"content":{"uri":"14/9653/4482.b3dm","boundingVolume":{"region":[-1.290639446428861,0.7113366661475248,-1.290544131094056,0.7113830463325966,0,50.44437334880854]}}},{"boundingVolume":{"region":[-1.2908448330057656,0.7111918427834805,-1.2906530854072784,0.7113835903819661,0,72.4315671716928]},"geometricError":0,"content":{"uri":"14/9652/4482.b3dm","boundingVolume":{"region":[-1.29084488593278,0.7112081733301616,-1.290704240608933,0.7113872887578452,0,72.4315671716928]}}}]},{"boundingVolume":{"region":[-1.290461337808793,0.7113835903819661,-1.2900778426118222,0.7117670855789375,0,67.82270541614443]},"geometricError":178.7162675136195,"children":[{"boundingVolume":{"region":[-1.290461337808793,0.7113835903819661,-1.2902695902103076,0.7115753379804518,0,67.82270541614443]},"geometricError":0,"content":{"uri":"14/9654/4481.b3dm","boundingVolume":{"region":[-1.290466893624511,0.7114517077815876,-1.290377336611101,0.7115735415976958,0,67.82270541614443]}}},{"boundingVolume":{"region":[-1.2902695902103076,0.7115753379804518,-1.2900778426118222,0.7117670855789375,0,32.50343427622218]},"geometricError":0,"content":{"uri":"14/9655/4480.b3dm","boundingVolume":{"region":[-1.290203560009345,0.7116894627950798,-1.290076324976198,0.7117675761747257,0,32.50343427622218]}}},{"boundingVolume":{"region":[-1.290461337808793,0.7115753379804518,-1.2902695902103076,0.7117670855789375,0,34.25443623320204]},"geometricError":0,"content":{"uri":"14/9654/4480.b3dm","boundingVolume":{"region":[-1.290454389031349,0.7115765401488955,-1.290353718033088,0.7117048090088367,0,34.25443623320204]}}}]},{"boundingVolume":{"region":[-1.2908448330057656,0.7113835903819661,-1.290461337808793,0.7117670855789375,0,162.494996063142]},"geometricError":404.8164392638009,"children":[{"boundingVolume":{"region":[-1.2908448330057656,0.7113835903819661,-1.2906530854072784,0.7115753379804518,0,162.494996063142]},"geometricError":0,"content":{"uri":"14/9652/4481.b3dm","boundingVolume":{"region":[-1.290851684272523,0.7113826300470949,-1.290646272491775,0.7115806358107565,0,162.494996063142]}}},{"boundingVolume":{"region":[-1.2906530854072784,0.7113835903819661,-1.290461337808793,0.7115753379804518,0,65.547397680504]},"geometricError":0,"content":{"uri":"14/9653/4481.b3dm","boundingVolume":{"region":[-1.290661144282276,0.7113712356715385,-1.29044722395943,0.7115763936032243,0,65.547397680504]}}},{"boundingVolume":{"region":[-1.2906530854072784,0.7115753379804518,-1.290461337808793,0.7117670855789375,0,143.3619299328811]},"geometricError":0,"content":{"uri":"14/9653/4480.b3dm","boundingVolume":{"region":[-1.290657965369472,0.7115539878723116,-1.290506886401771,0.7117697262219645,0,143.3619299328811]}}},{"boundingVolume":{"region":[-1.2908448330057656,0.7115753379804518,-1.2906530854072784,0.7117670855789375,0,149.324317717821]},"geometricError":0,"content":{"uri":"14/9652/4480.b3dm","boundingVolume":{"region":[-1.290847840383804,0.7115688604376444,-1.290649202946043,0.7117698900737741,0,149.324317717821]}}}]}]},{"boundingVolume":{"region":[-1.291611823399709,0.7110000951849947,-1.2908448330057656,0.7117670855789375,0,443.6754133562039]},"geometricError":484.0702559061598,"children":[{"boundingVolume":{"region":[-1.291611823399709,0.7110000951849947,-1.2912283282027381,0.7113835903819661,0,443.6754133562039]},"geometricError":484.0702559061598,"children":[{"boundingVolume":{"region":[-1.291611823399709,0.7110000951849947,-1.2914200758012235,0.7111918427834805,0,112.7860327246081]},"geometricError":0,"content":{"uri":"14/9648/4483.b3dm","boundingVolume":{"region":[-1.291624770321953,0.7109966894516024,-1.291414483678616,0.7111963544955399,0,112.7860327246081]}}},{"boundingVolume":{"region":[-1.2914200758012235,0.7110000951849947,-1.2912283282027381,0.7111918427834805,0,203.4208787217334]},"geometricError":0,"content":{"uri":"14/9649/4483.b3dm","boundingVolume":{"region":[-1.291424875131602,0.7109982429780091,-1.291223327592661,0.7111952086442578,0,203.4208787217334]}}},{"boundingVolume":{"region":[-1.2914200758012235,0.7111918427834805,-1.2912283282027381,0.7113835903819661,0,443.6754133562039]},"geometricError":0,"content":{"uri":"14/9649/4482.b3dm","boundingVolume":{"region":[-1.291427778214692,0.7111854254821752,-1.291220553202084,0.7113868484620794,0,443.6754133562039]}}},{"boundingVolume":{"region":[-1.291611823399709,0.7111918427834805,-1.2914200758012235,0.7113835903819661,0,195.3562769125744]},"geometricError":0,"content":{"uri":"14/9648/4482.b3dm","boundingVolume":{"region":[-1.291634288425658,0.7111879160136042,-1.291408688679729,0.7113863295452536,0,195.3562769125744]}}}]},{"boundingVolume":{"region":[-1.2912283282027381,0.7110000951849947,-1.2908448330057656,0.7113835903819661,0,327.2390242052346]},"geometricError":346.590479252845,"children":[{"boundingVolume":{"region":[-1.2912283282027381,0.7110000951849947,-1.2910365806042527,0.7111918427834805,0,170.1058367405325]},"geometricError":0,"content":{"uri":"14/9650/4483.b3dm","boundingVolume":{"region":[-1.291235248633703,0.7109912386422818,-1.291033910824614,0.7111978782519566,0,170.1058367405325]}}},{"boundingVolume":{"region":[-1.2910365806042527,0.7110000951849947,-1.2908448330057656,0.7111918427834805,0,96.61831848977624]},"geometricError":0,"content":{"uri":"14/9651/4483.b3dm","boundingVolume":{"region":[-1.291042345805582,0.7111392433932026,-1.290996159270315,0.7111915896940125,0,96.61831848977624]}}},{"boundingVolume":{"region":[-1.2910365806042527,0.7111918427834805,-1.2908448330057656,0.7113835903819661,0,283.7226389497704]},"geometricError":0,"content":{"uri":"14/9651/4482.b3dm","boundingVolume":{"region":[-1.291041212307375,0.7111896247589894,-1.290843994393689,0.7113857746108925,0,283.7226389497704]}}},{"boundingVolume":{"region":[-1.2912283282027381,0.7111918427834805,-1.2910365806042527,0.7113835903819661,0,327.2390242052346]},"geometricError":0,"content":{"uri":"14/9650/4482.b3dm","boundingVolume":{"region":[-1.291233312585803,0.7111878965745563,-1.291032389667871,0.7113908504354426,0,327.2390242052346]}}}]},{"boundingVolume":{"region":[-1.2912283282027381,0.7113835903819661,-1.2908448330057656,0.7117670855789375,0,301.6331505971878]},"geometricError":446.045330642158,"children":[{"boundingVolume":{"region":[-1.2912283282027381,0.7113835903819661,-1.2910365806042527,0.7115753379804518,0,301.6331505971878]},"geometricError":0,"content":{"uri":"14/9650/4481.b3dm","boundingVolume":{"region":[-1.291239547815166,0.7113818088578133,-1.291031536130226,0.7115768456389082,0,301.6331505971878]}}},{"boundingVolume":{"region":[-1.2910365806042527,0.7113835903819661,-1.2908448330057656,0.7115753379804518,0,247.8674732581905]},"geometricError":0,"content":{"uri":"14/9651/4481.b3dm","boundingVolume":{"region":[-1.291040665002061,0.7113773119312305,-1.290837801482476,0.7115798805649023,0,247.8674732581905]}}},{"boundingVolume":{"region":[-1.2910365806042527,0.7115753379804518,-1.2908448330057656,0.7117670855789375,0,131.3426951544566]},"geometricError":0,"content":{"uri":"14/9651/4480.b3dm","boundingVolume":{"region":[-1.291028716137558,0.7115733085872175,-1.290839290193981,0.7117686100321937,0,131.3426951544566]}}},{"boundingVolume":{"region":[-1.2912283282027381,0.7115753379804518,-1.2910365806042527,0.7117670855789375,0,170.5183366239251]},"geometricError":0,"content":{"uri":"14/9650/4480.b3dm","boundingVolume":{"region":[-1.291230434418998,0.7115711858141315,-1.291035684276822,0.7117759423472267,0,170.5183366239251]}}}]},{"boundingVolume":{"region":[-1.291611823399709,0.7113835903819661,-1.2912283282027381,0.7117670855789375,0,237.7415798788963]},"geometricError":340.1094291572558,"children":[{"boundingVolume":{"region":[-1.291611823399709,0.7113835903819661,-1.2914200758012235,0.7115753379804518,0,198.8565746366315]},"geometricError":0,"content":{"uri":"14/9648/4481.b3dm","boundingVolume":{"region":[-1.29161634732402,0.7113781393517078,-1.291413902514705,0.7115802390216013,0,198.8565746366315]}}},{"boundingVolume":{"region":[-1.2914200758012235,0.7113835903819661,-1.2912283282027381,0.7115753379804518,0,237.7415798788963]},"geometricError":0,"content":{"uri":"14/9649/4481.b3dm","boundingVolume":{"region":[-1.291426962947114,0.7113793977856175,-1.291220237900102,0.7115785139207829,0,237.7415798788963]}}},{"boundingVolume":{"region":[-1.2914200758012235,0.7115753379804518,-1.2912283282027381,0.7117670855789375,0,183.4404053953036]},"geometricError":0,"content":{"uri":"14/9649/4480.b3dm","boundingVolume":{"region":[-1.291430850903286,0.7115693760122979,-1.291223973111336,0.7117737006356408,0,183.4404053953036]}}},{"boundingVolume":{"region":[-1.291611823399709,0.7115753379804518,-1.2914200758012235,0.7117670855789375,0,39.56761353567326]},"geometricError":0,"content":{"uri":"14/9648/4480.b3dm","boundingVolume":{"region":[-1.291476199583348,0.7115722981866527,-1.291412962781946,0.7116415056902122,0,39.56761353567326]}}}]}]}]}]},{"boundingVolume":{"region":[-1.2946797849754788,0.7086991240031663,-1.291611823399709,0.7117670855789375,0,547.6909683533274]},"geometricError":563.8721715009725,"children":[{"boundingVolume":{"region":[-1.2931458041875938,0.710233104791052,-1.291611823399709,0.7117670855789375,0,547.6909683533274]},"geometricError":563.8721715009725,"children":[{"boundingVolume":{"region":[-1.2923788137936505,0.710233104791052,-1.291611823399709,0.7110000951849947,0,547.6909683533274]},"geometricError":563.8721715009725,"children":[{"boundingVolume":{"region":[-1.2919953185966797,0.710233104791052,-1.291611823399709,0.7106165999880234,0,547.6909683533274]},"geometricError":563.8721715009725,"children":[{"boundingVolume":{"region":[-1.2919953185966797,0.710233104791052,-1.2918035709981943,0.7104248523895377,0,12.47109940117323]},"geometricError":0,"content":{"uri":"14/9646/4487.b3dm","boundingVolume":{"region":[-1.291849872805475,0.7103688064267114,-1.291802006266018,0.7104142916219145,0,12.47109940117323]}}},{"boundingVolume":{"region":[-1.2918035709981943,0.710233104791052,-1.291611823399709,0.7104248523895377,0,220.5612784438708]},"geometricError":0,"content":{"uri":"14/9647/4487.b3dm","boundingVolume":{"region":[-1.291802944237395,0.7103573144863446,-1.291647887880479,0.7104296705992981,0,220.5612784438708]}}},{"boundingVolume":{"region":[-1.2918035709981943,0.7104248523895377,-1.291611823399709,0.7106165999880234,0,547.6909683533274]},"geometricError":0,"content":{"uri":"14/9647/4486.b3dm","boundingVolume":{"region":[-1.291813218119574,0.7104205961636091,-1.291605925802534,0.7106193946543067,0,547.6909683533274]}}},{"boundingVolume":{"region":[-1.2919953185966797,0.7104248523895377,-1.2918035709981943,0.7106165999880234,0,199.5363420996507]},"geometricError":0,"content":{"uri":"14/9646/4486.b3dm","boundingVolume":{"region":[-1.29187544264487,0.7104235706409038,-1.291797219136396,0.7106184414278951,0,199.5363420996507]}}}]},{"boundingVolume":{"region":[-1.2919953185966797,0.7106165999880234,-1.291611823399709,0.7110000951849947,0,182.342954419289]},"geometricError":401.6343578515273,"children":[{"boundingVolume":{"region":[-1.2919953185966797,0.7106165999880234,-1.2918035709981943,0.710808347586509,0,110.1284985709776]},"geometricError":0,"content":{"uri":"14/9646/4485.b3dm","boundingVolume":{"region":[-1.291835176711274,0.7106156422694179,-1.291797147533161,0.7106635956652401,0,110.1284985709776]}}},{"boundingVolume":{"region":[-1.2918035709981943,0.7106165999880234,-1.291611823399709,0.710808347586509,0,182.342954419289]},"geometricError":0,"content":{"uri":"14/9647/4485.b3dm","boundingVolume":{"region":[-1.291807522967998,0.7106103685940853,-1.291606662959737,0.7108132357115023,0,182.342954419289]}}},{"boundingVolume":{"region":[-1.2918035709981943,0.710808347586509,-1.291611823399709,0.7110000951849947,0,85.82464507414171]},"geometricError":0,"content":{"uri":"14/9647/4484.b3dm","boundingVolume":{"region":[-1.291801893384584,0.7108047747456219,-1.291609289316247,0.711003029564907,0,85.82464507414171]}}},{"boundingVolume":{"region":[-1.2919953185966797,0.710808347586509,-1.2918035709981943,0.7110000951849947,0,40.35407104602649]},"geometricError":0,"content":{"uri":"14/9646/4484.b3dm","boundingVolume":{"region":[-1.291806693480475,0.7108095795089697,-1.291802537108842,0.7108150734684575,0,40.35407104602649]}}}]}]},{"boundingVolume":{"region":[-1.2923788137936505,0.7110000951849947,-1.291611823399709,0.7117670855789375,0,91.20598651011684]},"geometricError":336.0061708068685,"children":[{"boundingVolume":{"region":[-1.2919953185966797,0.7110000951849947,-1.291611823399709,0.7113835903819661,0,91.20598651011684]},"geometricError":336.0061708068685,"children":[{"boundingVolume":{"region":[-1.2918035709981943,0.7110000951849947,-1.291611823399709,0.7111918427834805,0,83.53970162760181]},"geometricError":0,"content":{"uri":"14/9647/4483.b3dm","boundingVolume":{"region":[-1.291757792996651,0.7109978446827347,-1.291609647658485,0.7111937113493773,0,83.53970162760181]}}},{"boundingVolume":{"region":[-1.2918035709981943,0.7111918427834805,-1.291611823399709,0.7113835903819661,0,91.20598651011684]},"geometricError":0,"content":{"uri":"14/9647/4482.b3dm","boundingVolume":{"region":[-1.291699377096638,0.711187355120627,-1.291609252987557,0.7113937998929066,0,91.20598651011684]}}}]},{"boundingVolume":{"region":[-1.2919953185966797,0.7113835903819661,-1.291611823399709,0.7117670855789375,0,7.156440040990883]},"geometricError":27.04310634758166,"children":[{"boundingVolume":{"region":[-1.2918035709981943,0.7113835903819661,-1.291611823399709,0.7115753379804518,0,7.156440040990883]},"geometricError":0,"content":{"uri":"14/9647/4481.b3dm","boundingVolume":{"region":[-1.291614439144327,0.7113863445643636,-1.291610413348209,0.7113921388434316,0,7.156440040990883]}}}]}]}]}]}]}]}]},{"boundingVolume":{"region":[-1.300815708127022,0.7117670855789375,-1.2762720155208527,0.7363107781851077,0,166.3668766735693]},"geometricError":740.0197559011849,"children":[{"boundingVolume":{"region":[-1.300815708127022,0.7117670855789375,-1.2885438618239373,0.7240389318820226,0,166.3668766735693]},"geometricError":740.0197559011849,"children":[{"boundingVolume":{"region":[-1.2946797849754788,0.7117670855789375,-1.2885438618239373,0.7179030087304801,0,166.3668766735693]},"geometricError":740.0197559011849,"children":[{"boundingVolume":{"region":[-1.291611823399709,0.7117670855789375,-1.2885438618239373,0.7148350471547088,0,166.3668766735693]},"geometricError":740.0197559011849,"children":[{"boundingVolume":{"region":[-1.291611823399709,0.7117670855789375,-1.2900778426118222,0.7133010663668231,0,166.3668766735693]},"geometricError":740.0197559011849,"children":[{"boundingVolume":{"region":[-1.291611823399709,0.7117670855789375,-1.2908448330057656,0.7125340759728803,0,127.1553730967183]},"geometricError":255.7826101448336,"children":[{"boundingVolume":{"region":[-1.291611823399709,0.7117670855789375,-1.2912283282027381,0.712150580775909,0,71.5334415945622]},"geometricError":91.52723746635851,"children":[{"boundingVolume":{"region":[-1.2914200758012235,0.7117670855789375,-1.2912283282027381,0.7119588331774233,0,71.5334415945622]},"geometricError":0,"content":{"uri":"14/9649/4479.b3dm","boundingVolume":{"region":[-1.291335893529751,0.7117655801126845,-1.29122569351971,0.711874034263449,0,71.5334415945622]}}}]},{"boundingVolume":{"region":[-1.2912283282027381,0.7117670855789375,-1.2908448330057656,0.712150580775909,0,127.1553730967183]},"geometricError":255.7826101448336,"children":[{"boundingVolume":{"region":[-1.2912283282027381,0.7117670855789375,-1.2910365806042527,0.7119588331774233,0,116.2312318771745]},"geometricError":0,"content":{"uri":"14/9650/4479.b3dm","boundingVolume":{"region":[-1.291231300949673,0.7117638310059682,-1.291030674637564,0.7119624638061202,0,116.2312318771745]}}},{"boundingVolume":{"region":[-1.2910365806042527,0.7117670855789375,-1.2908448330057656,0.7119588331774233,0,120.3302742372877]},"geometricError":0,"content":{"uri":"14/9651/4479.b3dm","boundingVolume":{"region":[-1.291045313676588,0.7117824926264927,-1.290857169432887,0.7119615574149935,0,120.3302742372877]}}},{"boundingVolume":{"region":[-1.2910365806042527,0.7119588331774233,-1.2908448330057656,0.712150580775909,0,127.1553730967183]},"geometricError":0,"content":{"uri":"14/9651/4478.b3dm","boundingVolume":{"region":[-1.291039962726677,0.7119561559750687,-1.290840925653787,0.7121523464259527,0,127.1553730967183]}}},{"boundingVolume":{"region":[-1.2912283282027381,0.7119588331774233,-1.2910365806042527,0.712150580775909,0,102.664551348688]},"geometricError":0,"content":{"uri":"14/9650/4478.b3dm","boundingVolume":{"region":[-1.291161408100481,0.7119559092413498,-1.291032091528183,0.712106318925639,0,102.664551348688]}}}]},{"boundingVolume":{"region":[-1.2912283282027381,0.712150580775909,-1.2908448330057656,0.7125340759728803,0,121.2620829819604]},"geometricError":226.9849393112548,"children":[{"boundingVolume":{"region":[-1.2910365806042527,0.712150580775909,-1.2908448330057656,0.7123423283743946,0,121.2620829819604]},"geometricError":0,"content":{"uri":"14/9651/4477.b3dm","boundingVolume":{"region":[-1.291005236687719,0.7121480573120582,-1.290833011739654,0.7123458942856149,0,121.2620829819604]}}},{"boundingVolume":{"region":[-1.2910365806042527,0.7123423283743946,-1.2908448330057656,0.7125340759728803,0,81.71637208515322]},"geometricError":0,"content":{"uri":"14/9651/4476.b3dm","boundingVolume":{"region":[-1.290885525468493,0.7123405723315859,-1.290841559707159,0.7124201653490547,0,81.71637208515322]}}}]}]},{"boundingVolume":{"region":[-1.2908448330057656,0.7117670855789375,-1.2900778426118222,0.7125340759728803,0,166.3668766735693]},"geometricError":269.595234828273,"children":[{"boundingVolume":{"region":[-1.2908448330057656,0.7117670855789375,-1.290461337808793,0.712150580775909,0,166.3668766735693]},"geometricError":250.6708809869146,"children":[{"boundingVolume":{"region":[-1.2908448330057656,0.7117670855789375,-1.2906530854072784,0.7119588331774233,0,166.3668766735693]},"geometricError":0,"content":{"uri":"14/9652/4479.b3dm","boundingVolume":{"region":[-1.290848607218198,0.7117620452052434,-1.290649885820684,0.7119606567518652,0,166.3668766735693]}}},{"boundingVolume":{"region":[-1.2906530854072784,0.7117670855789375,-1.290461337808793,0.7119588331774233,0,144.4786247792966]},"geometricError":0,"content":{"uri":"14/9653/4479.b3dm","boundingVolume":{"region":[-1.290656588605912,0.7117637119346042,-1.290456247829944,0.7119605024472988,0,144.4786247792966]}}},{"boundingVolume":{"region":[-1.2906530854072784,0.7119588331774233,-1.290461337808793,0.712150580775909,0,106.8194143115867]},"geometricError":0,"content":{"uri":"14/9653/4478.b3dm","boundingVolume":{"region":[-1.290660490872179,0.7119556547239984,-1.290456448747871,0.712153419151801,0,106.8194143115867]}}},{"boundingVolume":{"region":[-1.2908448330057656,0.7119588331774233,-1.2906530854072784,0.712150580775909,0,86.8981962863899]},"geometricError":0,"content":{"uri":"14/9652/4478.b3dm","boundingVolume":{"region":[-1.290846938741512,0.7119539843629199,-1.290646697270726,0.7121534248399238,0,86.8981962863899]}}}]},{"boundingVolume":{"region":[-1.290461337808793,0.7117670855789375,-1.2900778426118222,0.712150580775909,0,109.1796598461603]},"geometricError":259.7029657919441,"children":[{"boundingVolume":{"region":[-1.290461337808793,0.7117670855789375,-1.2902695902103076,0.7119588331774233,0,91.18412915409324]},"geometricError":0,"content":{"uri":"14/9654/4479.b3dm","boundingVolume":{"region":[-1.290466367753268,0.7117979073156042,-1.290267755814076,0.7119573969020774,0,91.18412915409324]}}},{"boundingVolume":{"region":[-1.2902695902103076,0.7117670855789375,-1.2900778426118222,0.7119588331774233,0,32.28374495780349]},"geometricError":0,"content":{"uri":"14/9655/4479.b3dm","boundingVolume":{"region":[-1.290273786278874,0.7117660062752243,-1.290075744036816,0.7119617032740138,0,32.28374495780349]}}},{"boundingVolume":{"region":[-1.2902695902103076,0.7119588331774233,-1.2900778426118222,0.712150580775909,0,22.30459766479121]},"geometricError":0,"content":{"uri":"14/9655/4478.b3dm","boundingVolume":{"region":[-1.290258226724002,0.7119582144585316,-1.290078054306142,0.7121562461234006,0,22.30459766479121]}}},{"boundingVolume":{"region":[-1.290461337808793,0.7119588331774233,-1.2902695902103076,0.712150580775909,0,109.1796598461603]},"geometricError":0,"content":{"uri":"14/9654/4478.b3dm","boundingVolume":{"region":[-1.290466161982195,0.711955669407554,-1.290309645921718,0.712160255575498,0,109.1796598461603]}}}]},{"boundingVolume":{"region":[-1.290461337808793,0.712150580775909,-1.2900778426118222,0.7125340759728803,0,80.87149255864558]},"geometricError":269.595234828273,"children":[{"boundingVolume":{"region":[-1.290461337808793,0.712150580775909,-1.2902695902103076,0.7123423283743946,0,60.39559905222743]},"geometricError":0,"content":{"uri":"14/9654/4477.b3dm","boundingVolume":{"region":[-1.290466198497661,0.712149015906572,-1.290268111541479,0.7123433409951715,0,60.39559905222743]}}},{"boundingVolume":{"region":[-1.2902695902103076,0.712150580775909,-1.2900778426118222,0.7123423283743946,0,60.57582774234337]},"geometricError":0,"content":{"uri":"14/9655/4477.b3dm","boundingVolume":{"region":[-1.290274135041172,0.7121496910659777,-1.290093536193817,0.7122975793712414,0,60.57582774234337]}}},{"boundingVolume":{"region":[-1.290461337808793,0.7123423283743946,-1.2902695902103076,0.7125340759728803,0,80.87149255864558]},"geometricError":0,"content":{"uri":"14/9654/4476.b3dm","boundingVolume":{"region":[-1.290466194374196,0.712341913856776,-1.290397096409402,0.7125371529878889,0,80.87149255864558]}}}]},{"boundingVolume":{"region":[-1.2908448330057656,0.712150580775909,-1.290461337808793,0.7125340759728803,0,128.8566357569076]},"geometricError":262.0321806519117,"children":[{"boundingVolume":{"region":[-1.2908448330057656,0.712150580775909,-1.2906530854072784,0.7123423283743946,0,90.48624500100495]},"geometricError":0,"content":{"uri":"14/9652/4477.b3dm","boundingVolume":{"region":[-1.290852849408367,0.7121469519401235,-1.290649755648291,0.7123471478624791,0,90.48624500100495]}}},{"boundingVolume":{"region":[-1.2906530854072784,0.712150580775909,-1.290461337808793,0.7123423283743946,0,90.1231352280626]},"geometricError":0,"content":{"uri":"14/9653/4477.b3dm","boundingVolume":{"region":[-1.290664252685552,0.7121447600506765,-1.29045705328881,0.7123485551215821,0,90.1231352280626]}}},{"boundingVolume":{"region":[-1.2906530854072784,0.7123423283743946,-1.290461337808793,0.7125340759728803,0,84.36554560403722]},"geometricError":0,"content":{"uri":"14/9653/4476.b3dm","boundingVolume":{"region":[-1.290657136059534,0.7123353636044241,-1.290455738374096,0.712536067005497,0,84.36554560403722]}}},{"boundingVolume":{"region":[-1.2908448330057656,0.7123423283743946,-1.2906530854072784,0.7125340759728803,0,128.8566357569076]},"geometricError":0,"content":{"uri":"14/9652/4476.b3dm","boundingVolume":{"region":[-1.290850413329387,0.712338793722003,-1.290644045071249,0.7125367619531687,0,128.8566357569076]}}}]}]},{"boundingVolume":{"region":[-1.2908448330057656,0.7125340759728803,-1.2900778426118222,0.7133010663668231,0,120.3333831658323]},"geometricError":740.0197559011849,"children":[{"boundingVolume":{"region":[-1.2908448330057656,0.7125340759728803,-1.290461337808793,0.7129175711698517,0,120.3333831658323]},"geometricError":740.0197559011849,"children":[{"boundingVolume":{"region":[-1.2908448330057656,0.7125340759728803,-1.2906530854072784,0.712725823571366,0,45.65367492393488]},"geometricError":0,"content":{"uri":"14/9652/4475.b3dm","boundingVolume":{"region":[-1.290837173584634,0.7124945167057378,-1.290649597333975,0.7126754265872116,0,45.65367492393488]}}},{"boundingVolume":{"region":[-1.2906530854072784,0.7125340759728803,-1.290461337808793,0.712725823571366,0,86.91005027228186]},"geometricError":0,"content":{"uri":"14/9653/4475.b3dm","boundingVolume":{"region":[-1.290658164389173,0.7125300409789388,-1.290458049912094,0.7127278653696445,0,86.91005027228186]}}},{"boundingVolume":{"region":[-1.2906530854072784,0.712725823571366,-1.290461337808793,0.7129175711698517,0,120.3333831658323]},"geometricError":0,"content":{"uri":"14/9653/4474.b3dm","boundingVolume":{"region":[-1.290641474931581,0.7127222022065189,-1.290457014644938,0.7129195428610627,0,120.3333831658323]}}}]},{"boundingVolume":{"region":[-1.290461337808793,0.7125340759728803,-1.2900778426118222,0.7129175711698517,0,97.01854805801516]},"geometricError":153.0640154624529,"children":[{"boundingVolume":{"region":[-1.290461337808793,0.7125340759728803,-1.2902695902103076,0.712725823571366,0,97.01854805801516]},"geometricError":0,"content":{"uri":"14/9654/4475.b3dm","boundingVolume":{"region":[-1.290465808524124,0.7125332602480603,-1.290409168056419,0.7127188819942214,0,97.01854805801516]}}},{"boundingVolume":{"region":[-1.2902695902103076,0.712725823571366,-1.2900778426118222,0.7129175711698517,0,29.36790098154652]},"geometricError":0,"content":{"uri":"14/9655/4474.b3dm","boundingVolume":{"region":[-1.290267994097132,0.712781526263436,-1.290234815411167,0.7128630330526023,0,29.36790098154652]}}},{"boundingVolume":{"region":[-1.290461337808793,0.712725823571366,-1.2902695902103076,0.7129175711698517,0,58.14705566214254]},"geometricError":0,"content":{"uri":"14/9654/4474.b3dm","boundingVolume":{"region":[-1.290465864325228,0.7127229685343025,-1.290270583942165,0.7129197239217006,0,58.14705566214254]}}}]},{"boundingVolume":{"region":[-1.290461337808793,0.7129175711698517,-1.2900778426118222,0.7133010663668231,0,111.334395640283]},"geometricError":204.7997273231987,"children":[{"boundingVolume":{"region":[-1.290461337808793,0.7129175711698517,-1.2902695902103076,0.7131093187683374,0,111.334395640283]},"geometricError":0,"content":{"uri":"14/9654/4473.b3dm","boundingVolume":{"region":[-1.290464452009361,0.7129132227695064,-1.290263202497241,0.7131182869235406,0,111.334395640283]}}},{"boundingVolume":{"region":[-1.2902695902103076,0.7129175711698517,-1.2900778426118222,0.7131093187683374,0,71.4172754121708]},"geometricError":0,"content":{"uri":"14/9655/4473.b3dm","boundingVolume":{"region":[-1.290268159518731,0.7130166399095975,-1.290078303367424,0.7131041109564137,0,71.4172754121708]}}},{"boundingVolume":{"region":[-1.2902695902103076,0.7131093187683374,-1.2900778426118222,0.7133010663668231,0,68.7281171426032]},"geometricError":0,"content":{"uri":"14/9655/4472.b3dm","boundingVolume":{"region":[-1.290278390857043,0.7131056158615874,-1.290076973526721,0.7133028079782076,0,68.7281171426032]}}},{"boundingVolume":{"region":[-1.290461337808793,0.7131093187683374,-1.2902695902103076,0.7133010663668231,0,85.64980498057558]},"geometricError":0,"content":{"uri":"14/9654/4472.b3dm","boundingVolume":{"region":[-1.290452383543524,0.7131047284058316,-1.290265556355588,0.7133016716275915,0,85.64980498057558]}}}]},{"boundingVolume":{"region":[-1.2908448330057656,0.7129175711698517,-1.290461337808793,0.7133010663668231,0,61.29369556091982]},"geometricError":168.7325694002597,"children":[{"boundingVolume":{"region":[-1.2906530854072784,0.7129175711698517,-1.290461337808793,0.7131093187683374,0,61.29369556091982]},"geometricError":0,"content":{"uri":"14/9653/4473.b3dm","boundingVolume":{"region":[-1.290545738016819,0.7129150566163162,-1.290454080533345,0.7130744854037129,0,61.29369556091982]}}}]}]}]},{"boundingVolume":{"region":[-1.2900778426118222,0.7117670855789375,-1.2885438618239373,0.7133010663668231,0,66.20890819239261]},"geometricError":514.4406870245411,"children":[{"boundingVolume":{"region":[-1.2900778426118222,0.7117670855789375,-1.2893108522178807,0.7125340759728803,0,12.42815077343435]},"geometricError":103.6030036364595,"children":[{"boundingVolume":{"region":[-1.2900778426118222,0.7117670855789375,-1.2896943474148514,0.712150580775909,0,12.42815077343435]},"geometricError":103.6030036364595,"children":[{"boundingVolume":{"region":[-1.2900778426118222,0.7117670855789375,-1.2898860950133368,0.7119588331774233,0,12.42815077343435]},"geometricError":0,"content":{"uri":"14/9656/4479.b3dm","boundingVolume":{"region":[-1.290084527862312,0.711774711805626,-1.290068074783226,0.7118166659656129,0,12.42815077343435]}}}]}]},{"boundingVolume":{"region":[-1.2900778426118222,0.7125340759728803,-1.2893108522178807,0.7133010663668231,0,66.20890819239261]},"geometricError":514.4406870245411,"children":[{"boundingVolume":{"region":[-1.2900778426118222,0.7129175711698517,-1.2896943474148514,0.7133010663668231,0,66.20890819239261]},"geometricError":514.4406870245411,"children":[{"boundingVolume":{"region":[-1.2900778426118222,0.7131093187683374,-1.2898860950133368,0.7133010663668231,0,66.20890819239261]},"geometricError":0,"content":{"uri":"14/9656/4472.b3dm","boundingVolume":{"region":[-1.29010162164868,0.7131368640470633,-1.289919109210917,0.7133047786235654,0,66.20890819239261]}}}]}]}]},{"boundingVolume":{"region":[-1.2900778426118222,0.7133010663668231,-1.2885438618239373,0.7148350471547088,0,115.348335542056]},"geometricError":269.4736043120431,"children":[{"boundingVolume":{"region":[-1.2900778426118222,0.7133010663668231,-1.2893108522178807,0.714068056760766,0,115.348335542056]},"geometricError":269.4736043120431,"children":[{"boundingVolume":{"region":[-1.2900778426118222,0.7133010663668231,-1.2896943474148514,0.7136845615637946,0,115.348335542056]},"geometricError":269.4736043120431,"children":[{"boundingVolume":{"region":[-1.2900778426118222,0.7133010663668231,-1.2898860950133368,0.7134928139653088,0,115.348335542056]},"geometricError":0,"content":{"uri":"14/9656/4471.b3dm","boundingVolume":{"region":[-1.290084253912739,0.7132987279616384,-1.289919263203459,0.7134950819190251,0,115.348335542056]}}},{"boundingVolume":{"region":[-1.2900778426118222,0.7134928139653088,-1.2898860950133368,0.7136845615637946,0,12.88303567538875]},"geometricError":0,"content":{"uri":"14/9656/4470.b3dm","boundingVolume":{"region":[-1.290077854594883,0.7134917993957982,-1.28996965311178,0.713494881833213,0,12.88303567538875]}}}]}]}]},{"boundingVolume":{"region":[-1.291611823399709,0.7133010663668231,-1.2900778426118222,0.7148350471547088,0,86.9775053070017]},"geometricError":156.6590059189892,"children":[{"boundingVolume":{"region":[-1.2908448330057656,0.7133010663668231,-1.2900778426118222,0.714068056760766,0,86.9775053070017]},"geometricError":156.6590059189892,"children":[{"boundingVolume":{"region":[-1.290461337808793,0.7133010663668231,-1.2900778426118222,0.7136845615637946,0,86.9775053070017]},"geometricError":156.6590059189892,"children":[{"boundingVolume":{"region":[-1.2902695902103076,0.7133010663668231,-1.2900778426118222,0.7134928139653088,0,86.9775053070017]},"geometricError":0,"content":{"uri":"14/9655/4471.b3dm","boundingVolume":{"region":[-1.290233871527291,0.7132974403821709,-1.290073088443673,0.7134924129102934,0,86.9775053070017]}}},{"boundingVolume":{"region":[-1.2902695902103076,0.7134928139653088,-1.2900778426118222,0.7136845615637946,0,3.77172301693583]},"geometricError":0,"content":{"uri":"14/9655/4470.b3dm","boundingVolume":{"region":[-1.290129552217363,0.7134928415201738,-1.290127668592326,0.7134942729416552,0,3.77172301693583]}}}]}]}]}]}]}]}]}]}]}}
\ No newline at end of file
diff --git a/3DGeoVolumes/collections/NewYork/NewYork.json b/3DGeoVolumes/collections/NewYork/NewYork.json
new file mode 100644
index 0000000000000000000000000000000000000000..b952368a245032196efbe741ae9bfc22a443147b
--- /dev/null
+++ b/3DGeoVolumes/collections/NewYork/NewYork.json
@@ -0,0 +1,75 @@
+{
+    "links": [
+      {
+        "rel": "self",
+        "href": "host_url/collections/NewYork",
+        "type": "application/json",
+        "title": "All geospatial data available in the New York area"
+      }
+    ],
+    "collections": [
+      {
+        "id": "NewYork",
+        "title": "NewYork Data Source",
+        "description": "All Supported 3D Containers for the city of NewYork",
+        "collectiontype": "3d-container",
+        "extent": {
+          "spatial": {
+            "bbox": [
+              [
+                -74.01900887327089,
+                40.700475291581974,
+                -11.892070104139751,
+                -73.9068954348699,
+                40.880256294183646,
+                547.7591871983744
+              ]
+            ],
+            "crs": "http://www.opengis.net/def/crs/OGC/0/CRS84h"
+          }
+        },
+        "links": [
+          {
+            "rel": "collections",
+            "href": "host_url/collections/",
+            "type": "application/json"
+          },
+          {
+            "title": "NewYork - 3D Buildings Manhattan",
+            "rel": "self",
+            "href": "host_url/collections/NewYork/",
+            "type": "application/json"
+          },
+          {
+            "title": "NewYork - 3D Buildings Manhattan: 3D Tiles",
+            "rel": "items",
+            "href": "host_url/collections/NewYork/3dtiles",
+            "type": "application/json+3dtiles"
+          },
+          {
+            "title": "NewYork - 3D Buildings Manhattan: i3s",
+            "rel": "items",
+            "href": "host_url/collections/NewYork/i3s",
+            "type": "application/json+i3s"
+          }
+        ],
+        "children": [
+          
+        ],
+        "content": [
+          {
+            "title": "NewYork - 3D Buildings Manhattan: 3D Tiles",
+            "rel": "original",
+            "href": "host_url/collections/NewYork/3dtiles/",
+            "type": "application/json+3dtiles"
+          },
+          {
+            "title": "NewYork - 3D Buildings Manhattan: i3s",
+            "rel": "original",
+            "href": "https://tiles.arcgis.com/tiles/P3ePLMYs2RVChkJx/arcgis/rest/services/Buildings_NewYork_17/SceneServer/layers/0/",
+            "type": "application/json+i3s"
+          }
+        ]
+      }
+    ]
+  }
\ No newline at end of file
diff --git a/3DGeoVolumes/collections/collections.json b/3DGeoVolumes/collections/collections.json
new file mode 100644
index 0000000000000000000000000000000000000000..4de0a731398d816436d76408156a01354f299a20
--- /dev/null
+++ b/3DGeoVolumes/collections/collections.json
@@ -0,0 +1,75 @@
+{
+    "links": [
+      {
+        "rel": "self",
+        "href": "host_url/collections",
+        "type": "application/json",
+        "title": "All geospatial data available from this API"
+      }
+    ],
+    "collections": [
+      {
+        "id": "NewYork",
+        "title": "NewYork Data Source",
+        "description": "All Supported 3D Containers for the city of NewYork",
+        "collectiontype": "3d-container",
+        "extent": {
+          "spatial": {
+            "bbox": [
+              [
+                -74.01900887327089,
+                40.700475291581974,
+                -11.892070104139751,
+                -73.9068954348699,
+                40.880256294183646,
+                547.7591871983744
+              ]
+            ],
+            "crs": "http://www.opengis.net/def/crs/OGC/0/CRS84h"
+          }
+        },
+        "links": [
+          {
+            "rel": "collections",
+            "href": "host_url/collections/",
+            "type": "application/json"
+          },
+          {
+            "title": "NewYork - Collections",
+            "rel": "self",
+            "href": "host_url/collections/NewYork/",
+            "type": "application/json"
+          },
+          {
+            "title": "NewYork - 3D Buildings Manhattan: 3D Tiles",
+            "rel": "items",
+            "href": "host_url/collections/NewYork/3dtiles",
+            "type": "application/json+3dtiles"
+          },
+          {
+            "title": "NewYork - 3D Buildings Manhattan: i3s",
+            "rel": "items",
+            "href": "host_url/collections/NewYork/i3s",
+            "type": "application/json+i3s"
+          }
+        ],
+        "children": [
+          
+        ],
+        "content": [
+          {
+            "title": "NewYork - 3D Buildings Manhattan: 3D Tiles",
+            "rel": "original",
+            "href": "host_url/collections/NewYork/3dtiles/",
+            "type": "application/json+3dtiles"
+          },
+          {
+            "title": "NewYork - 3D Buildings Manhattan: i3s",
+            "rel": "original",
+            "href": "host_url/collections/NewYork/i3s",
+            "type": "application/json+i3s"
+          }
+        ]
+      }
+    ]
+  }
\ No newline at end of file
diff --git a/3DGeoVolumes/conformance.json b/3DGeoVolumes/conformance.json
new file mode 100644
index 0000000000000000000000000000000000000000..abbf6322db4dbdd134510f5fe312a2df6206a84a
--- /dev/null
+++ b/3DGeoVolumes/conformance.json
@@ -0,0 +1,5 @@
+{
+    "conformsTo": [
+      "http://www.opengis.net/spec/OAPI_Common/1.0/req/core"
+    ]
+  }
\ No newline at end of file
diff --git a/3DGeoVolumes/landingpage.json b/3DGeoVolumes/landingpage.json
new file mode 100644
index 0000000000000000000000000000000000000000..ebc807f4f161e26f136da4c7fab5b54cd2c93167
--- /dev/null
+++ b/3DGeoVolumes/landingpage.json
@@ -0,0 +1,24 @@
+{
+    "title": "3D GeoVolumes API Server",
+    "description": "The 3D GeoVolumes API Server by the Steinbeis Transfer Center Technology Consultancy @ HFT Stuttgart",
+    "links": [
+      {
+        "type": "application/openapi+json;version=3.0",
+        "title": "Service Description",
+        "href": "https://app.swaggerhub.com/apis/Thunyathep/OGC_GeoVolumes_API/0.0.1",
+        "rel": "service-desc"
+      },
+      {
+        "type": "application/json",
+        "title": "Conformance",
+        "href": "host_url/conformance/",
+        "rel": "conformance"
+      },
+      {
+        "type": "application/json",
+        "title": "Collections",
+        "href": "host_url/collections/",
+        "rel": "data"
+      }
+    ]
+  }
\ No newline at end of file
diff --git a/README.md b/README.md
index 1ddad80fe07436225c2580474e4d33224790ffed..41fb3e249d61f3452929b6c1197eef7d743084ea 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,34 @@
 # 3DGeoVolumesAPI
 
+### Live Demo: https://steinbeis-3dps.eu/3DGeoVolumes/
+![Steinbeis GeoVolumes API](./img/ResourceArchitecture2.jpg)
+
+## Installation
+
+Use the package manager [npm](https://npmjs.com/) to install 3D GeoVolumes API.
+
+```bash
+npm install
+```
+
+## Usage
+
+```bash
+node server.js
+```
+
+## Contributing
+Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
+
+Please make sure to update tests as appropriate.
+
+## Team
+- [Prof. Dr. Volker Coors](https://www.hft-stuttgart.de/p/volker-coors)
+- [Joe Thunyathep Santhanavanich](https://www.hft-stuttgart.de/p/thunyathep-santhanavanich)
+
+## Link
+| Document                                                         | URL                                 |
+|------------------------------------------------------------------|-------------------------------------|
+| 3D Data Container and Tiles API Pilot Summary Engineering Report | http://docs.ogc.org/per/20-031.html |
+| Interoperable Simulation and Gaming Sprint Engineering Report    | http://docs.ogc.org/per/20-087.html |
+| Steinbeis Demo                                                   | https://steinbeis-3dps.eu |
\ No newline at end of file
diff --git a/img/ResourceArchitecture.jpg b/img/ResourceArchitecture.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..99056a439f634cd78e394a42f3bf7a25014a7172
Binary files /dev/null and b/img/ResourceArchitecture.jpg differ
diff --git a/img/ResourceArchitecture2.jpg b/img/ResourceArchitecture2.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..902b2ccd0be306423a70baa6335f38794a532db8
Binary files /dev/null and b/img/ResourceArchitecture2.jpg differ
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000000000000000000000000000000000000..0773ee7a538536431b0a1022582c22a00a3ef4de
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,583 @@
+{
+  "requires": true,
+  "lockfileVersion": 1,
+  "dependencies": {
+    "accepts": {
+      "version": "1.3.7",
+      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
+      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
+      "requires": {
+        "mime-types": "~2.1.24",
+        "negotiator": "0.6.2"
+      }
+    },
+    "ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "requires": {
+        "color-convert": "^1.9.0"
+      }
+    },
+    "array-flatten": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+      "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
+    },
+    "async": {
+      "version": "0.9.2",
+      "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+      "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0="
+    },
+    "balanced-match": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+    },
+    "bit-twiddle": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz",
+      "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4="
+    },
+    "body-parser": {
+      "version": "1.19.0",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
+      "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
+      "requires": {
+        "bytes": "3.1.0",
+        "content-type": "~1.0.4",
+        "debug": "2.6.9",
+        "depd": "~1.1.2",
+        "http-errors": "1.7.2",
+        "iconv-lite": "0.4.24",
+        "on-finished": "~2.3.0",
+        "qs": "6.7.0",
+        "raw-body": "2.4.0",
+        "type-is": "~1.6.17"
+      }
+    },
+    "box-intersect": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/box-intersect/-/box-intersect-1.0.2.tgz",
+      "integrity": "sha512-yJeMwlmFPG1gIa7Rs/cGXeI6iOj6Qz5MG5PE61xLKpElUGzmJ4abm+qsLpzxKJFpsSDq742BQEocr8dI2t8Nxw==",
+      "requires": {
+        "bit-twiddle": "^1.0.2",
+        "typedarray-pool": "^1.1.0"
+      }
+    },
+    "brace-expansion": {
+      "version": "1.1.11",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+      "requires": {
+        "balanced-match": "^1.0.0",
+        "concat-map": "0.0.1"
+      }
+    },
+    "bytes": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
+      "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
+    },
+    "chalk": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "requires": {
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      }
+    },
+    "color-convert": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "requires": {
+        "color-name": "1.1.3"
+      }
+    },
+    "color-name": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+    },
+    "compressible": {
+      "version": "2.0.18",
+      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
+      "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
+      "requires": {
+        "mime-db": ">= 1.43.0 < 2"
+      }
+    },
+    "compression": {
+      "version": "1.7.4",
+      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
+      "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
+      "requires": {
+        "accepts": "~1.3.5",
+        "bytes": "3.0.0",
+        "compressible": "~2.0.16",
+        "debug": "2.6.9",
+        "on-headers": "~1.0.2",
+        "safe-buffer": "5.1.2",
+        "vary": "~1.1.2"
+      },
+      "dependencies": {
+        "bytes": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+          "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
+        }
+      }
+    },
+    "concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+    },
+    "content-disposition": {
+      "version": "0.5.3",
+      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
+      "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
+      "requires": {
+        "safe-buffer": "5.1.2"
+      }
+    },
+    "content-type": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
+    },
+    "cookie": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
+      "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
+    },
+    "cookie-signature": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
+    },
+    "debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "requires": {
+        "ms": "2.0.0"
+      }
+    },
+    "depd": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+    },
+    "destroy": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
+    },
+    "dup": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz",
+      "integrity": "sha1-UfxaxoX4GWRp3wuQXpNLIK9bQCk="
+    },
+    "ee-first": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
+    },
+    "ejs": {
+      "version": "3.1.6",
+      "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz",
+      "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==",
+      "requires": {
+        "jake": "^10.6.1"
+      }
+    },
+    "encodeurl": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
+    },
+    "escape-html": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
+    },
+    "escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+    },
+    "etag": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
+    },
+    "express": {
+      "version": "4.17.1",
+      "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
+      "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
+      "requires": {
+        "accepts": "~1.3.7",
+        "array-flatten": "1.1.1",
+        "body-parser": "1.19.0",
+        "content-disposition": "0.5.3",
+        "content-type": "~1.0.4",
+        "cookie": "0.4.0",
+        "cookie-signature": "1.0.6",
+        "debug": "2.6.9",
+        "depd": "~1.1.2",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "finalhandler": "~1.1.2",
+        "fresh": "0.5.2",
+        "merge-descriptors": "1.0.1",
+        "methods": "~1.1.2",
+        "on-finished": "~2.3.0",
+        "parseurl": "~1.3.3",
+        "path-to-regexp": "0.1.7",
+        "proxy-addr": "~2.0.5",
+        "qs": "6.7.0",
+        "range-parser": "~1.2.1",
+        "safe-buffer": "5.1.2",
+        "send": "0.17.1",
+        "serve-static": "1.14.1",
+        "setprototypeof": "1.1.1",
+        "statuses": "~1.5.0",
+        "type-is": "~1.6.18",
+        "utils-merge": "1.0.1",
+        "vary": "~1.1.2"
+      }
+    },
+    "filelist": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz",
+      "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==",
+      "requires": {
+        "minimatch": "^3.0.4"
+      }
+    },
+    "finalhandler": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
+      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
+      "requires": {
+        "debug": "2.6.9",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "on-finished": "~2.3.0",
+        "parseurl": "~1.3.3",
+        "statuses": "~1.5.0",
+        "unpipe": "~1.0.0"
+      }
+    },
+    "forwarded": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+      "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
+    },
+    "fresh": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
+    },
+    "has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+    },
+    "http-errors": {
+      "version": "1.7.2",
+      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
+      "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
+      "requires": {
+        "depd": "~1.1.2",
+        "inherits": "2.0.3",
+        "setprototypeof": "1.1.1",
+        "statuses": ">= 1.5.0 < 2",
+        "toidentifier": "1.0.0"
+      }
+    },
+    "iconv-lite": {
+      "version": "0.4.24",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+      "requires": {
+        "safer-buffer": ">= 2.1.2 < 3"
+      }
+    },
+    "inherits": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+    },
+    "ipaddr.js": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+      "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
+    },
+    "jake": {
+      "version": "10.8.2",
+      "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz",
+      "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==",
+      "requires": {
+        "async": "0.9.x",
+        "chalk": "^2.4.2",
+        "filelist": "^1.0.1",
+        "minimatch": "^3.0.4"
+      }
+    },
+    "lru-cache": {
+      "version": "4.1.5",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+      "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+      "requires": {
+        "pseudomap": "^1.0.2",
+        "yallist": "^2.1.2"
+      }
+    },
+    "media-typer": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
+    },
+    "merge-descriptors": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
+    },
+    "methods": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
+    },
+    "mime": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
+    },
+    "mime-db": {
+      "version": "1.48.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz",
+      "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ=="
+    },
+    "mime-types": {
+      "version": "2.1.31",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz",
+      "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==",
+      "requires": {
+        "mime-db": "1.48.0"
+      }
+    },
+    "minimatch": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+      "requires": {
+        "brace-expansion": "^1.1.7"
+      }
+    },
+    "ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+    },
+    "negotiator": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
+      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
+    },
+    "on-finished": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+      "requires": {
+        "ee-first": "1.1.1"
+      }
+    },
+    "on-headers": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
+      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
+    },
+    "os-tmpdir": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
+    },
+    "parseurl": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
+    },
+    "path-to-regexp": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+      "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
+    },
+    "proxy-addr": {
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+      "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+      "requires": {
+        "forwarded": "0.2.0",
+        "ipaddr.js": "1.9.1"
+      }
+    },
+    "pseudomap": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
+    },
+    "qs": {
+      "version": "6.7.0",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
+      "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
+    },
+    "range-parser": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
+    },
+    "raw-body": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
+      "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
+      "requires": {
+        "bytes": "3.1.0",
+        "http-errors": "1.7.2",
+        "iconv-lite": "0.4.24",
+        "unpipe": "1.0.0"
+      }
+    },
+    "safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+    },
+    "safer-buffer": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+    },
+    "send": {
+      "version": "0.17.1",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
+      "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
+      "requires": {
+        "debug": "2.6.9",
+        "depd": "~1.1.2",
+        "destroy": "~1.0.4",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "fresh": "0.5.2",
+        "http-errors": "~1.7.2",
+        "mime": "1.6.0",
+        "ms": "2.1.1",
+        "on-finished": "~2.3.0",
+        "range-parser": "~1.2.1",
+        "statuses": "~1.5.0"
+      },
+      "dependencies": {
+        "ms": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
+        }
+      }
+    },
+    "serve-static": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
+      "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
+      "requires": {
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "parseurl": "~1.3.3",
+        "send": "0.17.1"
+      }
+    },
+    "setprototypeof": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
+      "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
+    },
+    "statuses": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
+    },
+    "supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "requires": {
+        "has-flag": "^3.0.0"
+      }
+    },
+    "tmp": {
+      "version": "0.0.33",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+      "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+      "requires": {
+        "os-tmpdir": "~1.0.2"
+      }
+    },
+    "toidentifier": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
+      "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
+    },
+    "type-is": {
+      "version": "1.6.18",
+      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+      "requires": {
+        "media-typer": "0.3.0",
+        "mime-types": "~2.1.24"
+      }
+    },
+    "typedarray-pool": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.2.0.tgz",
+      "integrity": "sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==",
+      "requires": {
+        "bit-twiddle": "^1.0.0",
+        "dup": "^1.0.0"
+      }
+    },
+    "unpipe": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
+    },
+    "useragent": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
+      "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
+      "requires": {
+        "lru-cache": "4.1.x",
+        "tmp": "0.0.x"
+      }
+    },
+    "utils-merge": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
+    },
+    "vary": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
+    },
+    "yallist": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
+    }
+  }
+}
diff --git a/server.js b/server.js
new file mode 100644
index 0000000000000000000000000000000000000000..7764594fffb6278d0b5c270df661020b0ae021df
--- /dev/null
+++ b/server.js
@@ -0,0 +1,175 @@
+(function () {
+    "use strict";
+    const express = require('express');
+    const boxIntersect = require('box-intersect');
+    const bodyParser = require('body-parser');
+    const compression = require('compression');
+    const app = express();
+    const http = require('http');
+    const useragent = require('useragent');
+
+    const port = 80;
+    app.use(compression());
+    app.use(function (req, res, next) {
+        res.header("Access-Control-Allow-Origin", "*");
+        res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
+        next();
+    });
+    app.use(bodyParser.json()); // for parsing application/json
+    app.use(bodyParser.urlencoded({
+        extended: true
+    }));
+    app.use(express.static(__dirname));
+
+    const geovolumes_server_url = "http://localhost"
+    // const geovolumes_server_url = "https://steinbeis-3dps.eu/3DGeoVolumes"
+    // GeoVolume - A function to replace the geovolumes_server_url
+    var replace_server_url = function (const_json) {
+        var input_str = JSON.stringify(const_json)
+        input_str = input_str.replace(/host_url/g, geovolumes_server_url);
+        var input_output = JSON.parse(input_str)
+        return input_output;
+    }
+
+    // GeoVolume Check if bbox intersection
+    // This version only check 2D !!!!
+    var validate_bbox = function (collections_input, req) {
+        if (typeof req.query.bbox == "string") {
+
+            try {
+                // user request with bbox
+                // var collections_json = JSON.parse(collections_input);
+                var collections_json = collections_input;
+                var req_query_bbox = req.query.bbox;
+                var bbox = JSON.parse("[" + req_query_bbox + "]");
+                // remove the req-height if exist
+                if (config.server_full_log) {
+                    console.log(`bbox lenght: ${bbox.lenght}`)
+                }
+                if (bbox.length == 6) {
+                    bbox = [bbox[0], bbox[1], bbox[3], bbox[4]]
+                } else if (bbox.lenght == 0 || typeof bbox.lenght == 'undefined') {
+                    return collections_input
+                }
+                // prepare result array
+                var resultJSON = {}
+                resultJSON["links"] = collections_json["links"]
+                resultJSON["collections"] = [] // prepare empty collection
+
+                for (let index = 0; index < collections_json["collections"].length; index++) {
+                    var collection_bbox_minx = collections_json["collections"][index].extent.spatial.bbox[0][0]
+                    var collection_bbox_miny = collections_json["collections"][index].extent.spatial.bbox[0][1]
+                    var collection_bbox_maxx = collections_json["collections"][index].extent.spatial.bbox[0][3]
+                    var collection_bbox_maxy = collections_json["collections"][index].extent.spatial.bbox[0][4]
+                    var bbox_collection = [];
+                    bbox_collection.push(collection_bbox_minx)
+                    bbox_collection.push(collection_bbox_miny)
+                    bbox_collection.push(collection_bbox_maxx)
+                    bbox_collection.push(collection_bbox_maxy)
+                    var boxes = [bbox, bbox_collection];
+                    var overlap = boxIntersect(boxes);
+                    if (overlap == '') {} else {
+                        resultJSON["collections"].push(collections_json["collections"][index])
+                    }
+                    if (index == collections_json["collections"].length - 1) {
+                        // Return only the last loop
+                        return resultJSON
+                    }
+                }
+
+            } catch (error) {
+                console.log(`Error in the BBOX function validate_bbox() :`)
+                console.log(error)
+                return collections_input
+            }
+
+        } else {
+            // user request without bbox
+            return collections_input
+        }
+    }
+
+    app.get('/', function (req, res) {
+        var landingpage_json = require('./3DGeoVolumes/landingpage.json')
+        var landingpage_output = replace_server_url(landingpage_json)
+        try {
+            var agent = useragent.parse(req.headers['user-agent']);
+            var agentString = agent.toString()
+            if (req.query.f === "json" || req.query.format === "json" || agentString.includes("Other")) {
+                res.json(landingpage_output);
+            } else {
+                // browser
+                res.render('geovolumes/landing.ejs', {
+                    landingpage_output
+                })
+            }
+        } catch (error) {
+            console.log(error)
+        }
+
+    })
+
+    // GeoVolume - conformance
+    const conformance_json = require('./3DGeoVolumes/conformance.json')
+    app.get('/conformance', function (req, res) {
+        res.json(conformance_json);
+    })
+
+    // GeoVolume - Collections
+    app.get('/collections', function (req, res) {
+        try {
+            var collection_resource = require('./3DGeoVolumes/collections/collections.json')
+            var collection_resource_updated = replace_server_url(collection_resource)
+            var collection_resource_updated_bbox = validate_bbox(collection_resource_updated, req)
+
+            // check user-agent
+            var is_ajax = req.xhr;
+
+            var agent = useragent.parse(req.headers['user-agent']);
+            var agentString = agent.toString()
+            console.log(`request agent: ${agentString}`)
+            if (req.query.f === "json" || req.query.format === "json" || agentString.includes("Other")) {
+                res.json(collection_resource_updated_bbox);
+            } else {
+                // browser
+                res.render('geovolumes/collections.ejs', {
+                    collection_resource_updated_bbox
+                })
+            }
+        } catch (error) {
+            console.log(error)
+        }
+
+    })
+
+    app.get('/collections/:collectionsId', function (req, res) {
+        try {
+            var collection_json = require(`./3DGeoVolumes/collections/${req.params.collectionsId}/${req.params.collectionsId}.json`)
+            res.json(collection_json);
+        } catch (error) {
+            res.send("internal error at /3DGeoVolumes/collections/:collectionsId")
+        }
+    })
+
+    // request 3D Tiles
+    app.get('/collections/:collectionsId/3dtiles', function (req, res) {
+        try {
+            var collections_3dtiles_json = require(`./3DGeoVolumes/collections/${req.params.collectionsId}/3dtiles/tileset.json`)
+            var collections_3dtiles_output = replace_server_url(collections_3dtiles_json)
+            res.json(collections_3dtiles_output);
+        } catch (error) {
+            res.send("internal error at /3DGeoVolumes/collections/:collectionsId/3dtiles")
+        }
+    })
+
+    // request i3s - New York Manual Redirect
+    app.get('/collections/NewYork/i3s', function (req, res) {
+        res.redirect("https://tiles.arcgis.com/tiles/P3ePLMYs2RVChkJx/arcgis/rest/services/Buildings_NewYork_17/SceneServer/layers/0/")
+    })
+
+    const httpServer = http.createServer(app);
+    httpServer.listen(port, () => {
+        console.log(`HTTP Server running on port ${port}`);
+        console.log(`server at http://localhost:${port}/`);
+    })
+})();
\ No newline at end of file
diff --git a/views/geovolumes/collections.ejs b/views/geovolumes/collections.ejs
new file mode 100644
index 0000000000000000000000000000000000000000..a1e681d83a08dd1a60a6915938730361d4833ed0
--- /dev/null
+++ b/views/geovolumes/collections.ejs
@@ -0,0 +1,137 @@
+<!doctype html>
+<html lang="en">
+
+<head>
+    <!-- Required meta tags -->
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+
+    <!-- Bootstrap CSS -->
+    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet"
+        integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
+
+    <title>GeoVolumes Server</title>
+
+</head>
+
+<body>
+    <div class="container">
+        <!-- <h1>
+            <img src="https://transfer.hft-stuttgart.de/pages/buildicipate/webpage/assets/images/hft_logo.svg" alt=""
+                width="50px">
+            <img src="https://steinbeis-3dps.eu/images/stw-stuttgart.jpg" alt="" width="50px">
+            STT GeoVolumes Server
+        </h1> -->
+        <nav class="navbar navbar-light bg-light">
+            <div class="container-fluid">
+                <a class="navbar-brand" href="#">
+
+
+                    <h3>
+                        <img src="https://steinbeis-3dps.eu/images/stw-stuttgart.jpg" alt="" width="50px">
+                        <img src="https://transfer.hft-stuttgart.de/pages/buildicipate/webpage/assets/images/hft_logo.svg"
+                            alt="" width="50px">
+                        STT GeoVolumes Server
+                    </h3>
+                </a>
+            </div>
+        </nav>
+        <!-- <header class="d-flex flex-wrap justify-content-center py-3 mb-4 border-bottom">
+            <a href="/" class="d-flex align-items-center mb-3 mb-md-0 me-md-auto text-dark text-decoration-none">
+                
+            </a>
+        </header> -->
+        <nav aria-label="breadcrumb" style="--bs-breadcrumb-divider: '>';" class="fs-4">
+            <ol class="breadcrumb">
+                <li class="breadcrumb-item"><a href="../../">Home</a></li>
+                <li class="breadcrumb-item"><a href="../">3DGeoVolumes</a></li>
+                <li class="breadcrumb-item active" aria-current="page">Collections</li>
+            </ol>
+        </nav>
+        See this response in raw <code>JSON</code> format: <a href="?f=json">json</a> <br>
+
+        <!-- <input class="form-control mb-3 mt-3" id="searchBar" type="text" placeholder="Search Collections..."> -->
+        <hr>
+        <div id="collections_div">
+            <% for(var i=0; i < collection_resource_updated_bbox["collections"].length; i++) { %>
+            <div class="collections_contents">
+                <h5><%= collection_resource_updated_bbox["collections"][i].title %></h5> <br>
+                <b>ID</b>: <%= collection_resource_updated_bbox["collections"][i].id %> <br>
+                <b>Description</b>: <%= collection_resource_updated_bbox["collections"][i].description %> <br>
+                <b>Bbox</b>:
+                <%= JSON.stringify(collection_resource_updated_bbox["collections"][i].extent.spatial.bbox[0])  %>
+                <!-- BBOX 2D -->
+                <!-- <%= JSON.stringify(
+                    collection_resource_updated_bbox["collections"][i].extent.spatial.bbox[0][0],
+                    collection_resource_updated_bbox["collections"][i].extent.spatial.bbox[0][1],
+                    collection_resource_updated_bbox["collections"][i].extent.spatial.bbox[0][3],
+                    collection_resource_updated_bbox["collections"][i].extent.spatial.bbox[0][4],
+                    )  %> -->
+                <br><br>
+                <img src="https://server.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/export?bbox=<%= collection_resource_updated_bbox["collections"][i].extent.spatial.bbox[0][0] %>%2C<%=collection_resource_updated_bbox["collections"][i].extent.spatial.bbox[0][1]%>%2C<%=collection_resource_updated_bbox["collections"][i].extent.spatial.bbox[0][3]%>%2C<%=collection_resource_updated_bbox["collections"][i].extent.spatial.bbox[0][4]%>&bboxSR=4326&layers=&layerDefs=&size=240%2C240&imageSR=&format=png&transparent=true&dpi=&time=&layerTimeOptions=&dynamicLayers=&gdbVersion=&mapScale=&rotation=&datumTransformations=&layerParameterValues=&mapRangeValues=&layerRangeValues=&f=image" alt="">
+                
+        
+                <br>
+                <b>Links</b>: <br>
+                <% for(var j=0; j < collection_resource_updated_bbox["collections"][i].links.length; j++) { %>
+                    <% if (collection_resource_updated_bbox["collections"][i].links[j]["title"]) { %>
+                    <a href="<%= collection_resource_updated_bbox["collections"][i].links[j]["href"]%>" target="_blank">
+                        <%= collection_resource_updated_bbox["collections"][i].links[j]["title"]%>
+                    </a> <br>
+                    <% } %>
+                <% } %>
+                <b>Children:</b> 
+                <%if (collection_resource_updated_bbox["collections"][i].children.length == 0) { %>
+                    -
+                <% } %>
+                <br>
+                <% for(var j=0; j < collection_resource_updated_bbox["collections"][i].children.length; j++) { %>
+                    <div class="card">
+                        <div class="card-body">
+                            <h6><%= collection_resource_updated_bbox["collections"][i].children[j].title %></h6>
+                            <b>ID:</b> <%= collection_resource_updated_bbox["collections"][i].children[j].id %> <br>
+                            <b>Description:</b> <%= collection_resource_updated_bbox["collections"][i].children[j].description %> <br>
+                            <b>Bbox:</b> <%= JSON.stringify(collection_resource_updated_bbox["collections"][i].children[j].extent.spatial.bbox[0])  %> <br>
+                            <br>
+                            <img src="https://server.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/export?bbox=<%= collection_resource_updated_bbox["collections"][i].children[j].extent.spatial.bbox[0][0] %>%2C<%=collection_resource_updated_bbox["collections"][i].children[j].extent.spatial.bbox[0][1]%>%2C<%=collection_resource_updated_bbox["collections"][i].children[j].extent.spatial.bbox[0][3]%>%2C<%=collection_resource_updated_bbox["collections"][i].children[j].extent.spatial.bbox[0][4]%>&bboxSR=4326&layers=&layerDefs=&size=240%2C240&imageSR=&format=png&transparent=true&dpi=&time=&layerTimeOptions=&dynamicLayers=&gdbVersion=&mapScale=&rotation=&datumTransformations=&layerParameterValues=&mapRangeValues=&layerRangeValues=&f=image" alt="">
+                    
+                            <br>
+                            <b>Links:</b> <br>
+                            <% for(var k=0; k < collection_resource_updated_bbox["collections"][i].children[j].links.length; k++) { %>
+                                <% if (collection_resource_updated_bbox["collections"][i].children[j].links[k]["title"]) { %>
+                                <a href="<%= collection_resource_updated_bbox["collections"][i].children[j].links[k]["href"]%>" target="_blank">
+                                    <%= collection_resource_updated_bbox["collections"][i].children[j].links[k]["title"]%>
+                                </a> <br>
+                                <% } %>
+                            <% } %>
+                        </div>
+                    </div>
+                <% } %>
+                
+                <hr>
+                <% } %>
+            </div>
+        <%- include('footer.ejs') %> 
+
+        </div>
+        
+    </div>
+
+    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js"
+        integrity="sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//ElJ19smozuHV6z3Iehds+3Ulb9Bn9Plx0x4" crossorigin="anonymous">
+    </script>
+    <!-- <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> -->
+    <!-- <script>
+        $(document).ready(function () {
+            $("#searchBar").on("keyup", function () {
+                var value = $(this).val().toLowerCase();
+                $(".collections_contents").filter(function () {
+                    $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
+                });
+            });
+        });
+    </script> -->
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/views/geovolumes/footer.ejs b/views/geovolumes/footer.ejs
new file mode 100644
index 0000000000000000000000000000000000000000..3ef97b079a59493d05fa1d495665174e783fde68
--- /dev/null
+++ b/views/geovolumes/footer.ejs
@@ -0,0 +1,11 @@
+<span class="text-muted">Found technical issue? Please contact <a
+    href="https://www.hft-stuttgart.de/p/thunyathep-santhanavanich"> Joe </a>
+</span> 
+<footer class="footer mt-auto py-3 bg-light">
+    <div class="container">
+        <span class="text-muted text-center">
+                <img src="https://steinbeis-3dps.eu/images/stw-stuttgart.jpg" alt="" width="32">
+                The Steinbeis Transfer Center Technology Consultancy @ HFT Stuttgart. 2018 - 2021
+        </span> 
+    </div>
+</footer>
\ No newline at end of file
diff --git a/views/geovolumes/landing.ejs b/views/geovolumes/landing.ejs
new file mode 100644
index 0000000000000000000000000000000000000000..c57a4aabb74c35cd59aebc27e87d3c0ecf3aad26
--- /dev/null
+++ b/views/geovolumes/landing.ejs
@@ -0,0 +1,82 @@
+<!doctype html>
+<html lang="en">
+
+<head>
+    <!-- Required meta tags -->
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+
+    <!-- Bootstrap CSS -->
+    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet"
+        integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
+
+    <title>GeoVolumes Server</title>
+
+</head>
+
+<body>
+    <div class="container">
+        <!-- <h1>
+            <img src="https://transfer.hft-stuttgart.de/pages/buildicipate/webpage/assets/images/hft_logo.svg" alt=""
+                width="50px">
+            <img src="https://steinbeis-3dps.eu/images/stw-stuttgart.jpg" alt="" width="50px">
+            STT GeoVolumes Server
+        </h1> -->
+        <nav class="navbar navbar-light bg-light">
+            <div class="container-fluid">
+                <a class="navbar-brand" href="#">
+
+
+                    <h3>
+                        <img src="https://steinbeis-3dps.eu/images/stw-stuttgart.jpg" alt="" width="50px">
+                        <img src="https://transfer.hft-stuttgart.de/pages/buildicipate/webpage/assets/images/hft_logo.svg"
+                            alt="" width="50px">
+                        STT GeoVolumes Server
+                    </h3>
+                </a>
+            </div>
+        </nav>
+        <!-- <header class="d-flex flex-wrap justify-content-center py-3 mb-4 border-bottom">
+            <a href="/" class="d-flex align-items-center mb-3 mb-md-0 me-md-auto text-dark text-decoration-none">
+                
+            </a>
+        </header> -->
+        <nav aria-label="breadcrumb" style="--bs-breadcrumb-divider: '>';" class="fs-4">
+            <ol class="breadcrumb">
+                <li class="breadcrumb-item"><a href="../">Home</a></li>
+                <li class="breadcrumb-item" aria-current="page">3DGeoVolumes</li>
+                <li class="breadcrumb-item active"><a href="/collections"></a>Collections</li>
+            </ol>
+        </nav>
+        See this response in raw <code>JSON</code> format: <a href="?f=json">json</a> <br>
+
+        <hr>
+        <div id="collections_div">
+            <h3> <%= landingpage_output["title"] %> </h3>
+            <span class="mb-4"> <%= landingpage_output["description"] %> </span>  <br>
+            <b>Links</b>: <br>
+                
+                <div class="collections_contents"></div>
+            <% for(var i=0; i < landingpage_output["links"].length; i++) { %>
+                    <a href="<%= landingpage_output["links"][i]["href"]%>" target="_blank">
+                    <%= landingpage_output["links"][i]["title"]%> </a>
+                    <br>
+            <% } %>
+            </div>
+            <hr>
+        <%- include('footer.ejs') %> 
+            
+        </div>
+
+    </div>
+
+    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js"
+        integrity="sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//ElJ19smozuHV6z3Iehds+3Ulb9Bn9Plx0x4" crossorigin="anonymous">
+    </script>
+    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
+    <script>
+    </script>
+
+</body>
+
+</html>
\ No newline at end of file