diff --git a/config.toml b/config.toml
index bd6f90c0..03120eed 100755
--- a/config.toml
+++ b/config.toml
@@ -123,6 +123,12 @@ hasChildren = true
URL = "https://moodle.bildung-lsa.de/gcg"
weight = 2
+ [[menu.main]]
+ parent = "Digitale Angebote"
+ name = "Digitale führung durch das Schulhaus"
+ URL = "vr"
+ weight = 3
+
[[menu.main]]
name = "Für Schüler und Eltern"
weight = 3
@@ -168,7 +174,6 @@ name = "Kontakt"
URL = "contact"
weight = 5
-
# footer menu
[[menu.footer]]
diff --git a/data/de/homepage.yml b/data/de/homepage.yml
index e37cb6b5..cf840cac 100644
--- a/data/de/homepage.yml
+++ b/data/de/homepage.yml
@@ -127,11 +127,15 @@ about:
* Da die Wesite noch im Aufbau ist fehlen noch viele Inhalte und mehrere Bereiche. \n
* Der Quellcode der Website ist [hier](https://github.com/eesev9ie/gcg-website) abrufbar. \n
* Dieser Bereich wird in der Zukunft einen Kurztext über die Schule enthalten.\n
- * Weitere Informationen gibt es im [passenden Blogbeitrag](/de/blog/new-site/)"
+ * Weitere Informationen gibt es im [passenden Blogbeitrag](/de/blog/new-site/)
+
+ ## Tag der offenen Tür
+
+ Da in diesem Schuljahr kein gewöhnlicher Tag der offenen Tür stattfinden kann, bieten wir hiermit eine digitale Führung durch das Schulhaus an."
button:
enable : true
- label : "Über die Schule"
- link : "about"
+ label : "Digitale Führung durch das Schulhaus"
+ link : "vr"
############################# Course ################################
diff --git a/resources/_gen/assets/scss/scss/style.scss_f300667da4f5b5f84e1a9e0702b2fdde.content b/resources/_gen/assets/scss/scss/style.scss_f300667da4f5b5f84e1a9e0702b2fdde.content
index 25a14018..513b218c 100644
--- a/resources/_gen/assets/scss/scss/style.scss_f300667da4f5b5f84e1a9e0702b2fdde.content
+++ b/resources/_gen/assets/scss/scss/style.scss_f300667da4f5b5f84e1a9e0702b2fdde.content
@@ -114,7 +114,7 @@ h6, .h6 {
background: #ffab08;
color: #ffbc3b; }
-.btn-primary:not(:disabled):not(.disabled).active,
+.btn-primary.active:not(:disabled):not(.disabled),
.btn-primary:not(:disabled):not(.disabled):active,
.show > .btn-primary.dropdown-toggle {
color: #fff;
diff --git a/static/vr/data.js b/static/vr/data.js
new file mode 100644
index 00000000..c2eec634
--- /dev/null
+++ b/static/vr/data.js
@@ -0,0 +1,213 @@
+var APP_DATA = {
+ "scenes": [
+ {
+ "id": "0-san-francisco",
+ "name": "San Francisco",
+ "levels": [
+ {
+ "tileSize": 256,
+ "size": 256,
+ "fallbackOnly": true
+ },
+ {
+ "tileSize": 512,
+ "size": 512
+ },
+ {
+ "tileSize": 512,
+ "size": 1024
+ },
+ {
+ "tileSize": 512,
+ "size": 2048
+ }
+ ],
+ "faceSize": 1571.5,
+ "initialViewParameters": {
+ "yaw": 1.628731098497962,
+ "pitch": 0.112272279609261,
+ "fov": 1.3900591270580378
+ },
+ "linkHotspots": [
+ {
+ "yaw": 1.6728928501031755,
+ "pitch": -0.08252116146336874,
+ "rotation": 6.283185307179586,
+ "target": "2-schlafzimmer"
+ }
+ ],
+ "infoHotspots": [
+ {
+ "yaw": 2.1959942749563464,
+ "pitch": 0.3502609665210201,
+ "title": "Lorem ipsum ",
+ "text": "
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. "
+ }
+ ]
+ },
+ {
+ "id": "1-golden-gate-bridge",
+ "name": "Golden Gate Bridge",
+ "levels": [
+ {
+ "tileSize": 256,
+ "size": 256,
+ "fallbackOnly": true
+ },
+ {
+ "tileSize": 512,
+ "size": 512
+ },
+ {
+ "tileSize": 512,
+ "size": 1024
+ },
+ {
+ "tileSize": 512,
+ "size": 2048
+ }
+ ],
+ "faceSize": 1568.5,
+ "initialViewParameters": {
+ "pitch": 0,
+ "yaw": 0,
+ "fov": 1.5707963267948966
+ },
+ "linkHotspots": [
+ {
+ "yaw": -1.3626509967165372,
+ "pitch": 0.1809987436227729,
+ "rotation": 0,
+ "target": "3-miami"
+ },
+ {
+ "yaw": 3.12673487759844,
+ "pitch": 0.3545497178692312,
+ "rotation": 0,
+ "target": "2-schlafzimmer"
+ }
+ ],
+ "infoHotspots": []
+ },
+ {
+ "id": "2-schlafzimmer",
+ "name": "Schlafzimmer",
+ "levels": [
+ {
+ "tileSize": 256,
+ "size": 256,
+ "fallbackOnly": true
+ },
+ {
+ "tileSize": 512,
+ "size": 512
+ },
+ {
+ "tileSize": 512,
+ "size": 1024
+ },
+ {
+ "tileSize": 512,
+ "size": 2048
+ }
+ ],
+ "faceSize": 1718.5,
+ "initialViewParameters": {
+ "pitch": 0,
+ "yaw": 0,
+ "fov": 1.5707963267948966
+ },
+ "linkHotspots": [
+ {
+ "yaw": 0.36315495679741616,
+ "pitch": 0.157679890305376,
+ "rotation": 0,
+ "target": "1-golden-gate-bridge"
+ }
+ ],
+ "infoHotspots": []
+ },
+ {
+ "id": "3-miami",
+ "name": "Miami",
+ "levels": [
+ {
+ "tileSize": 256,
+ "size": 256,
+ "fallbackOnly": true
+ },
+ {
+ "tileSize": 512,
+ "size": 512
+ },
+ {
+ "tileSize": 512,
+ "size": 1024
+ },
+ {
+ "tileSize": 512,
+ "size": 2048
+ }
+ ],
+ "faceSize": 2048,
+ "initialViewParameters": {
+ "pitch": 0,
+ "yaw": 0,
+ "fov": 1.5707963267948966
+ },
+ "linkHotspots": [
+ {
+ "yaw": 1.9039237094892787,
+ "pitch": 0.2814622722785156,
+ "rotation": 0,
+ "target": "4-panorama"
+ },
+ {
+ "yaw": 3.0436352502239483,
+ "pitch": 0.22521519934523582,
+ "rotation": 0,
+ "target": "0-san-francisco"
+ }
+ ],
+ "infoHotspots": []
+ },
+ {
+ "id": "4-panorama",
+ "name": "Panorama",
+ "levels": [
+ {
+ "tileSize": 256,
+ "size": 256,
+ "fallbackOnly": true
+ },
+ {
+ "tileSize": 512,
+ "size": 512
+ },
+ {
+ "tileSize": 512,
+ "size": 1024
+ },
+ {
+ "tileSize": 512,
+ "size": 2048
+ }
+ ],
+ "faceSize": 1824,
+ "initialViewParameters": {
+ "pitch": 0,
+ "yaw": 0,
+ "fov": 1.5707963267948966
+ },
+ "linkHotspots": [],
+ "infoHotspots": []
+ }
+ ],
+ "name": "Georg-Cantor-Gymnasium: Virtueller Tag der offenen Tür",
+ "settings": {
+ "mouseViewMode": "drag",
+ "autorotateEnabled": true,
+ "fullscreenButton": true,
+ "viewControlButtons": true
+ }
+};
diff --git a/static/vr/img/close.png b/static/vr/img/close.png
new file mode 100644
index 00000000..9642d448
Binary files /dev/null and b/static/vr/img/close.png differ
diff --git a/static/vr/img/collapse.png b/static/vr/img/collapse.png
new file mode 100644
index 00000000..658e7c20
Binary files /dev/null and b/static/vr/img/collapse.png differ
diff --git a/static/vr/img/down.png b/static/vr/img/down.png
new file mode 100644
index 00000000..eb1a59cc
Binary files /dev/null and b/static/vr/img/down.png differ
diff --git a/static/vr/img/expand.png b/static/vr/img/expand.png
new file mode 100644
index 00000000..88b385a6
Binary files /dev/null and b/static/vr/img/expand.png differ
diff --git a/static/vr/img/fullscreen.png b/static/vr/img/fullscreen.png
new file mode 100644
index 00000000..8a9c9ade
Binary files /dev/null and b/static/vr/img/fullscreen.png differ
diff --git a/static/vr/img/info.png b/static/vr/img/info.png
new file mode 100644
index 00000000..34a2d261
Binary files /dev/null and b/static/vr/img/info.png differ
diff --git a/static/vr/img/left.png b/static/vr/img/left.png
new file mode 100644
index 00000000..4889ab01
Binary files /dev/null and b/static/vr/img/left.png differ
diff --git a/static/vr/img/link.png b/static/vr/img/link.png
new file mode 100644
index 00000000..c392ea88
Binary files /dev/null and b/static/vr/img/link.png differ
diff --git a/static/vr/img/minus.png b/static/vr/img/minus.png
new file mode 100644
index 00000000..43f84c0d
Binary files /dev/null and b/static/vr/img/minus.png differ
diff --git a/static/vr/img/pause.png b/static/vr/img/pause.png
new file mode 100644
index 00000000..a19d7244
Binary files /dev/null and b/static/vr/img/pause.png differ
diff --git a/static/vr/img/play.png b/static/vr/img/play.png
new file mode 100644
index 00000000..611e46f9
Binary files /dev/null and b/static/vr/img/play.png differ
diff --git a/static/vr/img/plus.png b/static/vr/img/plus.png
new file mode 100644
index 00000000..575b553f
Binary files /dev/null and b/static/vr/img/plus.png differ
diff --git a/static/vr/img/right.png b/static/vr/img/right.png
new file mode 100644
index 00000000..62b4649a
Binary files /dev/null and b/static/vr/img/right.png differ
diff --git a/static/vr/img/up.png b/static/vr/img/up.png
new file mode 100644
index 00000000..f50fb0a2
Binary files /dev/null and b/static/vr/img/up.png differ
diff --git a/static/vr/img/windowed.png b/static/vr/img/windowed.png
new file mode 100644
index 00000000..05a207a7
Binary files /dev/null and b/static/vr/img/windowed.png differ
diff --git a/static/vr/index.html b/static/vr/index.html
new file mode 100644
index 00000000..45090acd
--- /dev/null
+++ b/static/vr/index.html
@@ -0,0 +1,92 @@
+
+
+
+Georg-Cantor-Gymnasium: Virtueller Tag der offenen Tür
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/static/vr/index.js b/static/vr/index.js
new file mode 100644
index 00000000..7004c141
--- /dev/null
+++ b/static/vr/index.js
@@ -0,0 +1,392 @@
+/*
+ * Copyright 2016 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+'use strict';
+
+(function() {
+ var Marzipano = window.Marzipano;
+ var bowser = window.bowser;
+ var screenfull = window.screenfull;
+ var data = window.APP_DATA;
+
+ // Grab elements from DOM.
+ var panoElement = document.querySelector('#pano');
+ var sceneNameElement = document.querySelector('#titleBar .sceneName');
+ var sceneListElement = document.querySelector('#sceneList');
+ var sceneElements = document.querySelectorAll('#sceneList .scene');
+ var sceneListToggleElement = document.querySelector('#sceneListToggle');
+ var autorotateToggleElement = document.querySelector('#autorotateToggle');
+ var fullscreenToggleElement = document.querySelector('#fullscreenToggle');
+
+ // Detect desktop or mobile mode.
+ if (window.matchMedia) {
+ var setMode = function() {
+ if (mql.matches) {
+ document.body.classList.remove('desktop');
+ document.body.classList.add('mobile');
+ } else {
+ document.body.classList.remove('mobile');
+ document.body.classList.add('desktop');
+ }
+ };
+ var mql = matchMedia("(max-width: 500px), (max-height: 500px)");
+ setMode();
+ mql.addListener(setMode);
+ } else {
+ document.body.classList.add('desktop');
+ }
+
+ // Detect whether we are on a touch device.
+ document.body.classList.add('no-touch');
+ window.addEventListener('touchstart', function() {
+ document.body.classList.remove('no-touch');
+ document.body.classList.add('touch');
+ });
+
+ // Use tooltip fallback mode on IE < 11.
+ if (bowser.msie && parseFloat(bowser.version) < 11) {
+ document.body.classList.add('tooltip-fallback');
+ }
+
+ // Viewer options.
+ var viewerOpts = {
+ controls: {
+ mouseViewMode: data.settings.mouseViewMode
+ }
+ };
+
+ // Initialize viewer.
+ var viewer = new Marzipano.Viewer(panoElement, viewerOpts);
+
+ // Create scenes.
+ var scenes = data.scenes.map(function(data) {
+ var urlPrefix = "tiles";
+ var source = Marzipano.ImageUrlSource.fromString(
+ urlPrefix + "/" + data.id + "/{z}/{f}/{y}/{x}.jpg",
+ { cubeMapPreviewUrl: urlPrefix + "/" + data.id + "/preview.jpg" });
+ var geometry = new Marzipano.CubeGeometry(data.levels);
+
+ var limiter = Marzipano.RectilinearView.limit.traditional(data.faceSize, 100*Math.PI/180, 120*Math.PI/180);
+ var view = new Marzipano.RectilinearView(data.initialViewParameters, limiter);
+
+ var scene = viewer.createScene({
+ source: source,
+ geometry: geometry,
+ view: view,
+ pinFirstLevel: true
+ });
+
+ // Create link hotspots.
+ data.linkHotspots.forEach(function(hotspot) {
+ var element = createLinkHotspotElement(hotspot);
+ scene.hotspotContainer().createHotspot(element, { yaw: hotspot.yaw, pitch: hotspot.pitch });
+ });
+
+ // Create info hotspots.
+ data.infoHotspots.forEach(function(hotspot) {
+ var element = createInfoHotspotElement(hotspot);
+ scene.hotspotContainer().createHotspot(element, { yaw: hotspot.yaw, pitch: hotspot.pitch });
+ });
+
+ return {
+ data: data,
+ scene: scene,
+ view: view
+ };
+ });
+
+ // Set up autorotate, if enabled.
+ var autorotate = Marzipano.autorotate({
+ yawSpeed: 0.03,
+ targetPitch: 0,
+ targetFov: Math.PI/2
+ });
+ if (data.settings.autorotateEnabled) {
+ autorotateToggleElement.classList.add('enabled');
+ }
+
+ // Set handler for autorotate toggle.
+ autorotateToggleElement.addEventListener('click', toggleAutorotate);
+
+ // Set up fullscreen mode, if supported.
+ if (screenfull.enabled && data.settings.fullscreenButton) {
+ document.body.classList.add('fullscreen-enabled');
+ fullscreenToggleElement.addEventListener('click', function() {
+ screenfull.toggle();
+ });
+ screenfull.on('change', function() {
+ if (screenfull.isFullscreen) {
+ fullscreenToggleElement.classList.add('enabled');
+ } else {
+ fullscreenToggleElement.classList.remove('enabled');
+ }
+ });
+ } else {
+ document.body.classList.add('fullscreen-disabled');
+ }
+
+ // Set handler for scene list toggle.
+ sceneListToggleElement.addEventListener('click', toggleSceneList);
+
+ // Start with the scene list open on desktop.
+ if (!document.body.classList.contains('mobile')) {
+ showSceneList();
+ }
+
+ // Set handler for scene switch.
+ scenes.forEach(function(scene) {
+ var el = document.querySelector('#sceneList .scene[data-id="' + scene.data.id + '"]');
+ el.addEventListener('click', function() {
+ switchScene(scene);
+ // On mobile, hide scene list after selecting a scene.
+ if (document.body.classList.contains('mobile')) {
+ hideSceneList();
+ }
+ });
+ });
+
+ // DOM elements for view controls.
+ var viewUpElement = document.querySelector('#viewUp');
+ var viewDownElement = document.querySelector('#viewDown');
+ var viewLeftElement = document.querySelector('#viewLeft');
+ var viewRightElement = document.querySelector('#viewRight');
+ var viewInElement = document.querySelector('#viewIn');
+ var viewOutElement = document.querySelector('#viewOut');
+
+ // Dynamic parameters for controls.
+ var velocity = 0.7;
+ var friction = 3;
+
+ // Associate view controls with elements.
+ var controls = viewer.controls();
+ controls.registerMethod('upElement', new Marzipano.ElementPressControlMethod(viewUpElement, 'y', -velocity, friction), true);
+ controls.registerMethod('downElement', new Marzipano.ElementPressControlMethod(viewDownElement, 'y', velocity, friction), true);
+ controls.registerMethod('leftElement', new Marzipano.ElementPressControlMethod(viewLeftElement, 'x', -velocity, friction), true);
+ controls.registerMethod('rightElement', new Marzipano.ElementPressControlMethod(viewRightElement, 'x', velocity, friction), true);
+ controls.registerMethod('inElement', new Marzipano.ElementPressControlMethod(viewInElement, 'zoom', -velocity, friction), true);
+ controls.registerMethod('outElement', new Marzipano.ElementPressControlMethod(viewOutElement, 'zoom', velocity, friction), true);
+
+ function sanitize(s) {
+ return s.replace('&', '&').replace('<', '<').replace('>', '>');
+ }
+
+ function switchScene(scene) {
+ stopAutorotate();
+ scene.view.setParameters(scene.data.initialViewParameters);
+ scene.scene.switchTo();
+ startAutorotate();
+ updateSceneName(scene);
+ updateSceneList(scene);
+ }
+
+ function updateSceneName(scene) {
+ sceneNameElement.innerHTML = sanitize(scene.data.name);
+ }
+
+ function updateSceneList(scene) {
+ for (var i = 0; i < sceneElements.length; i++) {
+ var el = sceneElements[i];
+ if (el.getAttribute('data-id') === scene.data.id) {
+ el.classList.add('current');
+ } else {
+ el.classList.remove('current');
+ }
+ }
+ }
+
+ function showSceneList() {
+ sceneListElement.classList.add('enabled');
+ sceneListToggleElement.classList.add('enabled');
+ }
+
+ function hideSceneList() {
+ sceneListElement.classList.remove('enabled');
+ sceneListToggleElement.classList.remove('enabled');
+ }
+
+ function toggleSceneList() {
+ sceneListElement.classList.toggle('enabled');
+ sceneListToggleElement.classList.toggle('enabled');
+ }
+
+ function startAutorotate() {
+ if (!autorotateToggleElement.classList.contains('enabled')) {
+ return;
+ }
+ viewer.startMovement(autorotate);
+ viewer.setIdleMovement(3000, autorotate);
+ }
+
+ function stopAutorotate() {
+ viewer.stopMovement();
+ viewer.setIdleMovement(Infinity);
+ }
+
+ function toggleAutorotate() {
+ if (autorotateToggleElement.classList.contains('enabled')) {
+ autorotateToggleElement.classList.remove('enabled');
+ stopAutorotate();
+ } else {
+ autorotateToggleElement.classList.add('enabled');
+ startAutorotate();
+ }
+ }
+
+ function createLinkHotspotElement(hotspot) {
+
+ // Create wrapper element to hold icon and tooltip.
+ var wrapper = document.createElement('div');
+ wrapper.classList.add('hotspot');
+ wrapper.classList.add('link-hotspot');
+
+ // Create image element.
+ var icon = document.createElement('img');
+ icon.src = 'img/link.png';
+ icon.classList.add('link-hotspot-icon');
+
+ // Set rotation transform.
+ var transformProperties = [ '-ms-transform', '-webkit-transform', 'transform' ];
+ for (var i = 0; i < transformProperties.length; i++) {
+ var property = transformProperties[i];
+ icon.style[property] = 'rotate(' + hotspot.rotation + 'rad)';
+ }
+
+ // Add click event handler.
+ wrapper.addEventListener('click', function() {
+ switchScene(findSceneById(hotspot.target));
+ });
+
+ // Prevent touch and scroll events from reaching the parent element.
+ // This prevents the view control logic from interfering with the hotspot.
+ stopTouchAndScrollEventPropagation(wrapper);
+
+ // Create tooltip element.
+ var tooltip = document.createElement('div');
+ tooltip.classList.add('hotspot-tooltip');
+ tooltip.classList.add('link-hotspot-tooltip');
+ tooltip.innerHTML = findSceneDataById(hotspot.target).name;
+
+ wrapper.appendChild(icon);
+ wrapper.appendChild(tooltip);
+
+ return wrapper;
+ }
+
+ function createInfoHotspotElement(hotspot) {
+
+ // Create wrapper element to hold icon and tooltip.
+ var wrapper = document.createElement('div');
+ wrapper.classList.add('hotspot');
+ wrapper.classList.add('info-hotspot');
+
+ // Create hotspot/tooltip header.
+ var header = document.createElement('div');
+ header.classList.add('info-hotspot-header');
+
+ // Create image element.
+ var iconWrapper = document.createElement('div');
+ iconWrapper.classList.add('info-hotspot-icon-wrapper');
+ var icon = document.createElement('img');
+ icon.src = 'img/info.png';
+ icon.classList.add('info-hotspot-icon');
+ iconWrapper.appendChild(icon);
+
+ // Create title element.
+ var titleWrapper = document.createElement('div');
+ titleWrapper.classList.add('info-hotspot-title-wrapper');
+ var title = document.createElement('div');
+ title.classList.add('info-hotspot-title');
+ title.innerHTML = hotspot.title;
+ titleWrapper.appendChild(title);
+
+ // Create close element.
+ var closeWrapper = document.createElement('div');
+ closeWrapper.classList.add('info-hotspot-close-wrapper');
+ var closeIcon = document.createElement('img');
+ closeIcon.src = 'img/close.png';
+ closeIcon.classList.add('info-hotspot-close-icon');
+ closeWrapper.appendChild(closeIcon);
+
+ // Construct header element.
+ header.appendChild(iconWrapper);
+ header.appendChild(titleWrapper);
+ header.appendChild(closeWrapper);
+
+ // Create text element.
+ var text = document.createElement('div');
+ text.classList.add('info-hotspot-text');
+ text.innerHTML = hotspot.text;
+
+ // Place header and text into wrapper element.
+ wrapper.appendChild(header);
+ wrapper.appendChild(text);
+
+ // Create a modal for the hotspot content to appear on mobile mode.
+ var modal = document.createElement('div');
+ modal.innerHTML = wrapper.innerHTML;
+ modal.classList.add('info-hotspot-modal');
+ document.body.appendChild(modal);
+
+ var toggle = function() {
+ wrapper.classList.toggle('visible');
+ modal.classList.toggle('visible');
+ };
+
+ // Show content when hotspot is clicked.
+ wrapper.querySelector('.info-hotspot-header').addEventListener('click', toggle);
+
+ // Hide content when close icon is clicked.
+ modal.querySelector('.info-hotspot-close-wrapper').addEventListener('click', toggle);
+
+ // Prevent touch and scroll events from reaching the parent element.
+ // This prevents the view control logic from interfering with the hotspot.
+ stopTouchAndScrollEventPropagation(wrapper);
+
+ return wrapper;
+ }
+
+ // Prevent touch and scroll events from reaching the parent element.
+ function stopTouchAndScrollEventPropagation(element, eventList) {
+ var eventList = [ 'touchstart', 'touchmove', 'touchend', 'touchcancel',
+ 'wheel', 'mousewheel' ];
+ for (var i = 0; i < eventList.length; i++) {
+ element.addEventListener(eventList[i], function(event) {
+ event.stopPropagation();
+ });
+ }
+ }
+
+ function findSceneById(id) {
+ for (var i = 0; i < scenes.length; i++) {
+ if (scenes[i].data.id === id) {
+ return scenes[i];
+ }
+ }
+ return null;
+ }
+
+ function findSceneDataById(id) {
+ for (var i = 0; i < data.scenes.length; i++) {
+ if (data.scenes[i].id === id) {
+ return data.scenes[i];
+ }
+ }
+ return null;
+ }
+
+ // Display the initial scene.
+ switchScene(scenes[0]);
+
+})();
diff --git a/static/vr/style.css b/static/vr/style.css
new file mode 100755
index 00000000..011d3a76
--- /dev/null
+++ b/static/vr/style.css
@@ -0,0 +1,831 @@
+* {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ -ms-text-size-adjust: none;
+ -moz-text-size-adjust: none;
+ -webkit-text-size-adjust: none;
+ text-size-adjust: none;
+ -webkit-user-drag: none;
+ -webkit-touch-callout: none;
+ -ms-content-zooming: none;
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
+}
+
+html, body {
+ width: 100%;
+ height: 100%;
+ padding: 0;
+ margin: 0;
+ overflow: hidden;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 16px;
+ background-color: #000;
+ color: #fff;
+}
+
+a, a:hover, a:active, a:visited {
+ text-decoration: none;
+ color: inherit;
+}
+
+#pano {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+}
+
+#titleBar {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 40px;
+ height: 40px;
+ text-align: center;
+}
+
+.mobile #titleBar {
+ height: 50px;
+ right: 50px;
+}
+
+/* If there is a fullscreen button the title bar must make space for it */
+body.fullscreen-enabled #titleBar {
+ right: 80px;
+}
+
+body.fullscreen-enabled.mobile #titleBar {
+ right: 100px;
+}
+
+/* If there are multiple scenes the title bar must make space for the scene list toggle */
+body.multiple-scenes #titleBar {
+ left: 40px;
+}
+
+body.multiple-scenes.mobile #titleBar {
+ left: 50px;
+}
+
+#titleBar .sceneName {
+ width: 100%;
+ height: 100%;
+ line-height: 30px;
+ padding: 5px;
+ background-color: #1a1a37;
+ background-color: #1a1a37;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+
+ -moz-user-select: text;
+ -webkit-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+}
+
+.mobile #titleBar .sceneName {
+ line-height: 40px;
+}
+
+#fullscreenToggle {
+ display: none;
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 40px;
+ height: 40px;
+ padding: 5px;
+ background-color: #ffbc3b;
+}
+
+.mobile #fullscreenToggle {
+ width: 50px;
+ height: 50px;
+}
+
+body.fullscreen-enabled #fullscreenToggle {
+ display: block;
+}
+
+#fullscreenToggle .icon {
+ position: absolute;
+ top: 5px;
+ right: 5px;
+ width: 30px;
+ height: 30px;
+}
+
+.mobile #fullscreenToggle .icon {
+ top: 10px;
+ right: 10px;
+}
+
+#fullscreenToggle .icon.on {
+ display: none;
+}
+
+#fullscreenToggle .icon.off {
+ display: block;
+}
+
+#fullscreenToggle.enabled .icon.on {
+ display: block;
+}
+
+#fullscreenToggle.enabled .icon.off {
+ display: none;
+}
+
+#autorotateToggle {
+ display: block;
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 40px;
+ height: 40px;
+ padding: 5px;
+ background-color: #ffbc3b;
+}
+
+.mobile #autorotateToggle {
+ width: 50px;
+ height: 50px;
+}
+
+/* If there is a fullscreen button, autorotate must placed a bit to the left */
+body.fullscreen-enabled #autorotateToggle {
+ right: 40px;
+}
+
+body.fullscreen-enabled.mobile #autorotateToggle {
+ right: 50px;
+}
+
+#autorotateToggle .icon {
+ position: absolute;
+ top: 5px;
+ right: 5px;
+ width: 30px;
+ height: 30px;
+}
+
+.mobile #autorotateToggle .icon {
+ top: 10px;
+ right: 10px;
+}
+
+#autorotateToggle .icon.on {
+ display: none;
+}
+
+#autorotateToggle .icon.off {
+ display: block;
+}
+
+#autorotateToggle.enabled .icon.on {
+ display: block;
+}
+
+#autorotateToggle.enabled .icon.off {
+ display: none;
+}
+
+#sceneListToggle {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 40px;
+ height: 40px;
+ padding: 5px;
+ background-color: #ffbc3b;
+}
+
+.mobile #sceneListToggle {
+ width: 50px;
+ height: 50px;
+}
+
+#sceneListToggle .text {
+ position: absolute;
+ top: 5px;
+ left: 15px;
+ width: 100%;
+ line-height: 30px;
+}
+
+#sceneListToggle .icon {
+ position: absolute;
+ top: 5px;
+ right: 5px;
+ width: 30px;
+ height: 30px;
+}
+
+.mobile #sceneListToggle .icon {
+ top: 10px;
+ right: 10px;
+}
+
+#sceneListToggle .icon.on {
+ display: none;
+}
+
+#sceneListToggle .icon.off {
+ display: block;
+}
+
+#sceneListToggle.enabled .icon.on {
+ display: block;
+}
+
+#sceneListToggle.enabled .icon.off {
+ display: none;
+}
+
+#sceneList {
+ position: absolute;
+ top: 0;
+ left: -220px;
+ padding-top: 40px;
+ width: 220px;
+ max-height: 100%;
+ overflow-x: hidden;
+ overflow-y: auto;
+ margin-left: 0;
+ -webkit-transition: margin-left 0.5s ease-in-out;
+ transition: margin-left 0.5s ease-in-out;
+}
+
+.mobile #sceneList {
+ padding-top: 50px;
+}
+
+#sceneList .scenes {
+ width: 100%;
+ background-color: #1a1a37;
+}
+
+.mobile #sceneList {
+ width: 100%;
+ height: 100%;
+ left: -100%;
+}
+
+.mobile #sceneList.enabled {
+ margin-left: 100%;
+}
+
+.mobile #sceneList .scenes {
+ height: 100%;
+}
+
+#sceneList.enabled {
+ margin-left: 220px;
+}
+
+#sceneList .scene {
+ display: block;
+ width: 100%;
+ height: 30px;
+}
+
+.mobile #sceneList .scene {
+ height: 40px;
+}
+
+#sceneList .scene .text {
+ width: 100%;
+ height: 100%;
+ padding: 0 15px;
+ line-height: 30px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.mobile #sceneList .scene .text {
+ line-height: 40px;
+}
+
+.no-touch #sceneList .scene:hover {
+ background-color: rgb(103,115,131);
+ background-color: rgba(103,115,131,0.8);
+}
+
+#sceneList .scene.current {
+ background-color: rgb(103,115,131);
+ background-color: #ffbc3b;
+}
+
+/* Hide scene list when only a single scene exists */
+body.single-scene #sceneList, body.single-scene #sceneListToggle {
+ display: none;
+}
+
+/* Link hotspot */
+
+.link-hotspot {
+ width: 60px;
+ height: 60px;
+ margin-left: -30px;
+ margin-top: -30px;
+ opacity: 0.9;
+ -webkit-transition: opacity 0.2s;
+ transition: opacity 0.2s;
+}
+
+.no-touch .link-hotspot:hover {
+ opacity: 1;
+}
+
+.mobile .link-hotspot {
+ width: 70px;
+ height: 70px;
+}
+
+.link-hotspot-icon {
+ width: 100%;
+ height: 100%;
+ cursor: pointer;
+}
+
+.link-hotspot-tooltip {
+ position: absolute;
+ left: 100%;
+ top: 14px; /* ( 60 - (16 + 2*8) ) / 2 */
+
+ margin-left: 3px;
+
+ font-size: 16px;
+
+ max-width: 300px;
+
+ padding: 8px 10px;
+
+ border-radius: 5px;
+
+ background-color: rgb(58,68,84);
+ background-color: #1a1a37;
+
+ color: #fff;
+
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+
+ cursor: pointer;
+
+ opacity: 0;
+
+ -ms-transform: translateX(-8px);
+ -webkit-transform: translateX(-8px);
+ transform: translateX(-8px);
+
+ -webkit-transition: -ms-transform 0.3s,
+ -webkit-transform 0.3s,
+ transform 0.3s,
+ opacity 0.3s;
+ transition: -ms-transform 0.3s,
+ -webkit-transform 0.3s,
+ transform 0.3s,
+ opacity 0.3s;
+}
+
+.mobile .link-hotspot {
+ top: 19px; /* ( 70 - (16 + 2*8) ) / 2 */
+}
+
+.no-touch .link-hotspot:hover .link-hotspot-tooltip {
+ opacity: 1;
+ -ms-transform: translateX(0);
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+}
+
+/* Prevent tooltip from triggering */
+.link-hotspot-tooltip {
+ pointer-events: none;
+}
+.no-touch .link-hotspot:hover .link-hotspot-tooltip {
+ pointer-events: all;
+}
+
+/* Fallback mode without pointer-events (IE8-10) */
+.tooltip-fallback .link-hotspot-tooltip {
+ display: none;
+}
+.no-touch .tooltip-fallback .link-hotspot:hover .link-hotspot-tooltip {
+ display: block;
+}
+
+/* Info hotspot */
+
+.info-hotspot {
+ line-height: 1.2em;
+ opacity: 0.9;
+ -webkit-transition: opacity 0.2s 0.2s;
+ transition: opacity 0.2s 0.2s;
+}
+
+.no-touch .info-hotspot:hover {
+ opacity: 1;
+ -webkit-transition: opacity 0.2s;
+ transition: opacity 0.2s;
+}
+
+.info-hotspot.visible {
+ opacity: 1
+}
+
+.info-hotspot .info-hotspot-header {
+ width: 40px;
+ height: 40px;
+ border-radius: 20px;
+ background-color: #1a1a37;
+ cursor: pointer;
+ -webkit-transition: width 0.3s ease-in-out 0.5s,
+ border-radius 0.3s ease-in-out 0.5s;
+ transition: width 0.3s ease-in-out 0.5s,
+ border-radius 0.3s ease-in-out 0.5s;
+}
+
+.mobile .info-hotspot .info-hotspot-header {
+ width: 50px;
+ height: 50px;
+ border-radius: 25px;
+}
+
+.desktop.no-touch .info-hotspot .info-hotspot-header:hover {
+ width: 460px;
+ border-radius: 5px;
+ -webkit-transition: width 0.3s ease-in-out,
+ border-radius 0.3s ease-in-out;
+ transition: width 0.3s ease-in-out,
+ border-radius 0.3s ease-in-out;
+}
+
+.desktop .info-hotspot.visible .info-hotspot-header,
+.desktop.no-touch .info-hotspot.visible .info-hotspot-header:hover {
+ width: 460px;
+ border-radius: 5px;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+ -webkit-transition: width 0.3s ease-in-out,
+ border-radius 0.3s ease-in-out;
+ transition: width 0.3s ease-in-out,
+ border-radius 0.3s ease-in-out;
+}
+
+.info-hotspot .info-hotspot-icon-wrapper {
+ width: 40px;
+ height: 40px;
+}
+
+.mobile .info-hotspot .info-hotspot-icon-wrapper {
+ width: 50px;
+ height: 50px;
+}
+
+.info-hotspot .info-hotspot-icon {
+ width: 90%;
+ height: 90%;
+ margin: 5%;
+}
+
+.info-hotspot .info-hotspot-title-wrapper {
+ position: absolute;
+ left: 40px;
+ top: 0;
+ width: 0;
+ height: 40px;
+ padding: 0;
+ overflow: hidden;
+ -webkit-transition: width 0s 0.4s,
+ padding 0s 0.4s;
+ transition: width 0s 0.4s,
+ padding 0s 0.4s;
+}
+
+.desktop .info-hotspot.visible .info-hotspot-title-wrapper,
+.desktop.no-touch .info-hotspot .info-hotspot-header:hover .info-hotspot-title-wrapper {
+ width: 420px;
+ padding: 0 5px;
+ -webkit-transition: width 0s 0.4s,
+ padding 0s 0.4s;
+ transition: width 0s 0.4s,
+ padding 0s 0.4s;
+}
+
+.info-hotspot .info-hotspot-title-wrapper:before {
+ content: '';
+ display: inline-block;
+ vertical-align: middle;
+ height: 100%;
+}
+
+.info-hotspot .info-hotspot-title {
+ display: inline-block;
+ vertical-align: middle;
+
+ -moz-user-select: text;
+ -webkit-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+}
+
+.info-hotspot .info-hotspot-close-wrapper {
+ position: absolute;
+ left: 460px;
+ top: 0;
+ height: 40px;
+ width: 40px;
+ border-top-right-radius: 5px;
+ background-color: #ffbc3b;
+ visibility: hidden;
+ -ms-transform: perspective(200px) rotateY(90deg);
+ -webkit-transform: perspective(200px) rotateY(90deg);
+ transform: perspective(200px) rotateY(90deg);
+ -ms-transform-origin: 0 50% 0;
+ -webkit-transform-origin: 0 50% 0;
+ transform-origin: 0 50% 0;
+ -webkit-transition: -ms-transform 0.3s 0.3s,
+ -webkit-transform 0.3s 0.3s,
+ transform 0.3s 0.3s,
+ visibility 0s 0.6s;
+ transition: -ms-transform 0.3s 0.3s,
+ -webkit-transform 0.3s 0.3s,
+ transform 0.3s 0.3s,
+ visibility 0s 0.6s;
+}
+
+.desktop .info-hotspot.visible .info-hotspot-close-wrapper {
+ visibility: visible;
+ -ms-transform: perspective(200px) rotateY(0deg);
+ -webkit-transform: perspective(200px) rotateY(0deg);
+ transform: perspective(200px) rotateY(0deg);
+ -webkit-transition: -ms-transform 0.3s,
+ -webkit-transform 0.3s,
+ transform 0.3s,
+ visibility 0s 0s;
+ transition: -ms-transform 0.3s,
+ -webkit-transform 0.3s,
+ transform 0.3s,
+ visibility 0s 0s;
+}
+
+.info-hotspot .info-hotspot-close-icon {
+ width: 70%;
+ height: 70%;
+ margin: 15%;
+}
+
+.info-hotspot .info-hotspot-text {
+ position: absolute;
+ width: 400px;
+ height: auto;
+ max-height: 200px;
+ top: 40px;
+ left: 0;
+ padding: 10px;
+ background-color: #1a1a37;
+ border-bottom-right-radius: 5px;
+ border-bottom-left-radius: 5px;
+ overflow-y: auto;
+ visibility: hidden;
+ /* rotate(90deg) causes transition flicker on Firefox 58 */
+ -ms-transform: perspective(200px) rotateX(-89.999deg);
+ -webkit-transform: perspective(200px) rotateX(-89.999deg);
+ transform: perspective(200px) rotateX(-89.999deg);
+ -ms-transform-origin: 50% 0 0;
+ -webkit-transform-origin: 50% 0 0;
+ transform-origin: 50% 0 0;
+ -webkit-transition: -ms-transform 0.3s,
+ -webkit-transform 0.3s,
+ transform 0.3s,
+ visibility 0s 0.3s;
+ transition: -ms-transform 0.3s,
+ -webkit-transform 0.3s,
+ transform 0.3s,
+ visibility 0s 0.3s;
+
+ -moz-user-select: text;
+ -webkit-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+}
+
+.desktop .info-hotspot.visible .info-hotspot-text {
+ visibility: visible;
+ -ms-transform: perspective(200px) rotateX(0deg);
+ -webkit-transform: perspective(200px) rotateX(0deg);
+ transform: perspective(200px) rotateX(0deg);
+ -webkit-transition: -ms-transform 0.3s 0.3s,
+ -webkit-transform 0.3s 0.3s,
+ transform 0.3s 0.3s,
+ visibility 0s 0s;
+ transition: -ms-transform 0.3s 0.3s,
+ -webkit-transform 0.3s 0.3s,
+ transform 0.3s 0.3s,
+ visibility 0s 0s;
+}
+
+/* Info hotspot modal */
+
+.desktop .info-hotspot-modal {
+ display: none;
+}
+
+.info-hotspot-modal {
+ top: 0;
+ left: 0;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ z-index: 11000 !important;
+ background-color: rgba(0,0,0,.5);
+ line-height: 1.2em;
+ opacity: 0;
+ visibility: hidden;
+ -webkit-transition: opacity 0.2s ease-in-out 0.5s,
+ visibility 0s 0.7s;
+ transition: opacity 0.2s ease-in-out 0.5s,
+ visibility 0s 0.7s;
+}
+
+.info-hotspot-modal.visible {
+ opacity: 1;
+ visibility: visible;
+ -webkit-transition: opacity 0.2s ease-in-out,
+ visibility 0s 0s;
+ transition: opacity 0.2s ease-in-out,
+ visibility 0s 0s;
+}
+
+.info-hotspot-modal .info-hotspot-header {
+ position: absolute;
+ top: 60px;
+ left: 10px;
+ right: 10px;
+ width: auto;
+ height: 50px;
+ background-color: rgb(103,115,131);
+ background-color: rgba(103,115,131,0.8);
+ opacity: 0;
+ -webkit-transition: opacity 0.3s ease-in-out 0.2s;
+ transition: opacity 0.3s ease-in-out 0.2s;
+}
+
+.info-hotspot-modal.visible .info-hotspot-header {
+ opacity: 1;
+ -webkit-transition: opacity 0.3s ease-in-out 0.2s;
+ transition: opacity 0.3s ease-in-out 0.2s;
+}
+
+.info-hotspot-modal .info-hotspot-icon-wrapper {
+ width: 50px;
+ height: 50px;
+}
+
+.info-hotspot-modal .info-hotspot-icon {
+ width: 90%;
+ height: 90%;
+ margin: 5%;
+}
+
+.info-hotspot-modal .info-hotspot-title-wrapper {
+ position: absolute;
+ top: 0;
+ left: 50px;
+ right: 50px;
+ width: auto;
+ height: 50px;
+ padding: 0 10px;
+}
+
+.info-hotspot-modal .info-hotspot-title-wrapper:before {
+ content: '';
+ display: inline-block;
+ vertical-align: middle;
+ height: 100%;
+}
+
+.info-hotspot-modal .info-hotspot-title {
+ display: inline-block;
+ vertical-align: middle;
+
+ -moz-user-select: text;
+ -webkit-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+}
+
+.info-hotspot-modal .info-hotspot-close-wrapper {
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 50px;
+ height: 50px;
+ background-color: rgb(78,88,104);
+ background-color: rgba(78,88,104,0.8);
+ cursor: pointer;
+}
+
+.info-hotspot-modal .info-hotspot-close-icon {
+ width: 70%;
+ height: 70%;
+ margin: 15%;
+}
+
+.info-hotspot-modal .info-hotspot-text {
+ position: absolute;
+ top: 110px;
+ bottom: 10px;
+ left: 10px;
+ right: 10px;
+ padding: 10px;
+ background-color: rgb(58,68,84);
+ background-color: rgba(58,68,84,0.8);
+ overflow-y: auto;
+ opacity: 0;
+ -webkit-transition: opacity 0.3s ease-in-out;
+ transition: opacity 0.3s ease-in-out;
+
+ -moz-user-select: text;
+ -webkit-user-select: text;
+ -ms-user-select: text;
+ user-select: text;
+}
+
+.info-hotspot-modal.visible .info-hotspot-text {
+ opacity: 1;
+ -webkit-transition: opacity 0.3s ease-in-out 0.4s;
+ transition: opacity 0.3s ease-in-out 0.4s;
+}
+
+/* View control buttons */
+
+.viewControlButton {
+ display: none;
+ position: absolute;
+ bottom: 0;
+ left: 50%;
+ width: 40px;
+ height: 40px;
+ padding: 5px;
+ background-color: rgb(103,115,131);
+ background-color: #ffbc3b;
+}
+
+body.view-control-buttons .viewControlButton {
+ display: block;
+}
+
+/* Hide controls when width is too small */
+@media (max-width: 600px) {
+ body.view-control-buttons .viewControlButton {
+ display: none;
+ }
+}
+
+.viewControlButton .icon {
+ position: absolute;
+ top: 5px;
+ right: 5px;
+ width: 30px;
+ height: 30px;
+}
+
+/* Center is at margin-left: -20px */
+.viewControlButton-1 {
+ margin-left: -145px;
+}
+.viewControlButton-2 {
+ margin-left: -95px;
+}
+.viewControlButton-3 {
+ margin-left: -45px;
+}
+.viewControlButton-4 {
+ margin-left: 5px;
+}
+.viewControlButton-5 {
+ margin-left: 55px;
+}
+.viewControlButton-6 {
+ margin-left: 105px;
+}
+
+.feature-icon {
+ font-size: 60px;
+ display: inline-block;
+}
diff --git a/static/vr/tiles/0-san-francisco/1/b/0/0.jpg b/static/vr/tiles/0-san-francisco/1/b/0/0.jpg
new file mode 100644
index 00000000..6d0bca75
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/1/b/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/1/d/0/0.jpg b/static/vr/tiles/0-san-francisco/1/d/0/0.jpg
new file mode 100644
index 00000000..a7e62c68
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/1/d/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/1/f/0/0.jpg b/static/vr/tiles/0-san-francisco/1/f/0/0.jpg
new file mode 100644
index 00000000..911ed0e8
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/1/f/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/1/l/0/0.jpg b/static/vr/tiles/0-san-francisco/1/l/0/0.jpg
new file mode 100644
index 00000000..c379566f
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/1/l/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/1/r/0/0.jpg b/static/vr/tiles/0-san-francisco/1/r/0/0.jpg
new file mode 100644
index 00000000..05a1994d
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/1/r/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/1/u/0/0.jpg b/static/vr/tiles/0-san-francisco/1/u/0/0.jpg
new file mode 100644
index 00000000..151204cd
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/1/u/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/b/0/0.jpg b/static/vr/tiles/0-san-francisco/2/b/0/0.jpg
new file mode 100644
index 00000000..3a2c65d6
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/b/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/b/0/1.jpg b/static/vr/tiles/0-san-francisco/2/b/0/1.jpg
new file mode 100644
index 00000000..f3f2469f
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/b/0/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/b/1/0.jpg b/static/vr/tiles/0-san-francisco/2/b/1/0.jpg
new file mode 100644
index 00000000..544ecb06
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/b/1/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/b/1/1.jpg b/static/vr/tiles/0-san-francisco/2/b/1/1.jpg
new file mode 100644
index 00000000..903c5e40
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/b/1/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/d/0/0.jpg b/static/vr/tiles/0-san-francisco/2/d/0/0.jpg
new file mode 100644
index 00000000..70b237ad
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/d/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/d/0/1.jpg b/static/vr/tiles/0-san-francisco/2/d/0/1.jpg
new file mode 100644
index 00000000..c4d3d41c
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/d/0/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/d/1/0.jpg b/static/vr/tiles/0-san-francisco/2/d/1/0.jpg
new file mode 100644
index 00000000..d59e3e16
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/d/1/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/d/1/1.jpg b/static/vr/tiles/0-san-francisco/2/d/1/1.jpg
new file mode 100644
index 00000000..587b7592
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/d/1/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/f/0/0.jpg b/static/vr/tiles/0-san-francisco/2/f/0/0.jpg
new file mode 100644
index 00000000..a2c0e277
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/f/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/f/0/1.jpg b/static/vr/tiles/0-san-francisco/2/f/0/1.jpg
new file mode 100644
index 00000000..40b2c2c2
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/f/0/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/f/1/0.jpg b/static/vr/tiles/0-san-francisco/2/f/1/0.jpg
new file mode 100644
index 00000000..eeaf9526
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/f/1/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/f/1/1.jpg b/static/vr/tiles/0-san-francisco/2/f/1/1.jpg
new file mode 100644
index 00000000..f7270e20
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/f/1/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/l/0/0.jpg b/static/vr/tiles/0-san-francisco/2/l/0/0.jpg
new file mode 100644
index 00000000..1c5ffe86
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/l/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/l/0/1.jpg b/static/vr/tiles/0-san-francisco/2/l/0/1.jpg
new file mode 100644
index 00000000..e742bef5
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/l/0/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/l/1/0.jpg b/static/vr/tiles/0-san-francisco/2/l/1/0.jpg
new file mode 100644
index 00000000..408bb051
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/l/1/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/l/1/1.jpg b/static/vr/tiles/0-san-francisco/2/l/1/1.jpg
new file mode 100644
index 00000000..cd9994e3
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/l/1/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/r/0/0.jpg b/static/vr/tiles/0-san-francisco/2/r/0/0.jpg
new file mode 100644
index 00000000..e5cf7182
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/r/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/r/0/1.jpg b/static/vr/tiles/0-san-francisco/2/r/0/1.jpg
new file mode 100644
index 00000000..c7a4febf
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/r/0/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/r/1/0.jpg b/static/vr/tiles/0-san-francisco/2/r/1/0.jpg
new file mode 100644
index 00000000..0ecba737
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/r/1/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/r/1/1.jpg b/static/vr/tiles/0-san-francisco/2/r/1/1.jpg
new file mode 100644
index 00000000..2ea329eb
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/r/1/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/u/0/0.jpg b/static/vr/tiles/0-san-francisco/2/u/0/0.jpg
new file mode 100644
index 00000000..8a41c64e
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/u/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/u/0/1.jpg b/static/vr/tiles/0-san-francisco/2/u/0/1.jpg
new file mode 100644
index 00000000..57564ce9
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/u/0/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/u/1/0.jpg b/static/vr/tiles/0-san-francisco/2/u/1/0.jpg
new file mode 100644
index 00000000..e74be70e
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/u/1/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/2/u/1/1.jpg b/static/vr/tiles/0-san-francisco/2/u/1/1.jpg
new file mode 100644
index 00000000..59cc3e1e
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/2/u/1/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/b/0/0.jpg b/static/vr/tiles/0-san-francisco/3/b/0/0.jpg
new file mode 100644
index 00000000..d52f82e7
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/b/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/b/0/1.jpg b/static/vr/tiles/0-san-francisco/3/b/0/1.jpg
new file mode 100644
index 00000000..1ca180b6
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/b/0/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/b/0/2.jpg b/static/vr/tiles/0-san-francisco/3/b/0/2.jpg
new file mode 100644
index 00000000..1f595ce8
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/b/0/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/b/0/3.jpg b/static/vr/tiles/0-san-francisco/3/b/0/3.jpg
new file mode 100644
index 00000000..0863336d
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/b/0/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/b/1/0.jpg b/static/vr/tiles/0-san-francisco/3/b/1/0.jpg
new file mode 100644
index 00000000..c078257e
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/b/1/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/b/1/1.jpg b/static/vr/tiles/0-san-francisco/3/b/1/1.jpg
new file mode 100644
index 00000000..ef75f8ef
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/b/1/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/b/1/2.jpg b/static/vr/tiles/0-san-francisco/3/b/1/2.jpg
new file mode 100644
index 00000000..1dcb4681
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/b/1/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/b/1/3.jpg b/static/vr/tiles/0-san-francisco/3/b/1/3.jpg
new file mode 100644
index 00000000..07496f52
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/b/1/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/b/2/0.jpg b/static/vr/tiles/0-san-francisco/3/b/2/0.jpg
new file mode 100644
index 00000000..66e4aa19
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/b/2/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/b/2/1.jpg b/static/vr/tiles/0-san-francisco/3/b/2/1.jpg
new file mode 100644
index 00000000..c22e84c3
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/b/2/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/b/2/2.jpg b/static/vr/tiles/0-san-francisco/3/b/2/2.jpg
new file mode 100644
index 00000000..6e898ea5
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/b/2/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/b/2/3.jpg b/static/vr/tiles/0-san-francisco/3/b/2/3.jpg
new file mode 100644
index 00000000..18394f69
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/b/2/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/b/3/0.jpg b/static/vr/tiles/0-san-francisco/3/b/3/0.jpg
new file mode 100644
index 00000000..2d23a6dc
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/b/3/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/b/3/1.jpg b/static/vr/tiles/0-san-francisco/3/b/3/1.jpg
new file mode 100644
index 00000000..fb447442
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/b/3/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/b/3/2.jpg b/static/vr/tiles/0-san-francisco/3/b/3/2.jpg
new file mode 100644
index 00000000..ce83a57c
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/b/3/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/b/3/3.jpg b/static/vr/tiles/0-san-francisco/3/b/3/3.jpg
new file mode 100644
index 00000000..2a091c0d
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/b/3/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/d/0/0.jpg b/static/vr/tiles/0-san-francisco/3/d/0/0.jpg
new file mode 100644
index 00000000..9caefa2d
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/d/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/d/0/1.jpg b/static/vr/tiles/0-san-francisco/3/d/0/1.jpg
new file mode 100644
index 00000000..eb3026b5
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/d/0/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/d/0/2.jpg b/static/vr/tiles/0-san-francisco/3/d/0/2.jpg
new file mode 100644
index 00000000..d556c459
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/d/0/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/d/0/3.jpg b/static/vr/tiles/0-san-francisco/3/d/0/3.jpg
new file mode 100644
index 00000000..e451859c
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/d/0/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/d/1/0.jpg b/static/vr/tiles/0-san-francisco/3/d/1/0.jpg
new file mode 100644
index 00000000..f8125b9d
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/d/1/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/d/1/1.jpg b/static/vr/tiles/0-san-francisco/3/d/1/1.jpg
new file mode 100644
index 00000000..33e39eef
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/d/1/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/d/1/2.jpg b/static/vr/tiles/0-san-francisco/3/d/1/2.jpg
new file mode 100644
index 00000000..7d0c985c
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/d/1/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/d/1/3.jpg b/static/vr/tiles/0-san-francisco/3/d/1/3.jpg
new file mode 100644
index 00000000..c7f19fab
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/d/1/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/d/2/0.jpg b/static/vr/tiles/0-san-francisco/3/d/2/0.jpg
new file mode 100644
index 00000000..3d61a190
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/d/2/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/d/2/1.jpg b/static/vr/tiles/0-san-francisco/3/d/2/1.jpg
new file mode 100644
index 00000000..f112f27d
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/d/2/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/d/2/2.jpg b/static/vr/tiles/0-san-francisco/3/d/2/2.jpg
new file mode 100644
index 00000000..08d5a44f
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/d/2/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/d/2/3.jpg b/static/vr/tiles/0-san-francisco/3/d/2/3.jpg
new file mode 100644
index 00000000..1ea839e6
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/d/2/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/d/3/0.jpg b/static/vr/tiles/0-san-francisco/3/d/3/0.jpg
new file mode 100644
index 00000000..0a10c185
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/d/3/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/d/3/1.jpg b/static/vr/tiles/0-san-francisco/3/d/3/1.jpg
new file mode 100644
index 00000000..834f733b
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/d/3/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/d/3/2.jpg b/static/vr/tiles/0-san-francisco/3/d/3/2.jpg
new file mode 100644
index 00000000..f9eca788
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/d/3/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/d/3/3.jpg b/static/vr/tiles/0-san-francisco/3/d/3/3.jpg
new file mode 100644
index 00000000..5ac1e379
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/d/3/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/f/0/0.jpg b/static/vr/tiles/0-san-francisco/3/f/0/0.jpg
new file mode 100644
index 00000000..370221de
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/f/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/f/0/1.jpg b/static/vr/tiles/0-san-francisco/3/f/0/1.jpg
new file mode 100644
index 00000000..7b0d7e77
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/f/0/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/f/0/2.jpg b/static/vr/tiles/0-san-francisco/3/f/0/2.jpg
new file mode 100644
index 00000000..9276c2a1
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/f/0/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/f/0/3.jpg b/static/vr/tiles/0-san-francisco/3/f/0/3.jpg
new file mode 100644
index 00000000..85baa6bf
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/f/0/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/f/1/0.jpg b/static/vr/tiles/0-san-francisco/3/f/1/0.jpg
new file mode 100644
index 00000000..5c13f35b
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/f/1/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/f/1/1.jpg b/static/vr/tiles/0-san-francisco/3/f/1/1.jpg
new file mode 100644
index 00000000..87b73246
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/f/1/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/f/1/2.jpg b/static/vr/tiles/0-san-francisco/3/f/1/2.jpg
new file mode 100644
index 00000000..861bea84
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/f/1/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/f/1/3.jpg b/static/vr/tiles/0-san-francisco/3/f/1/3.jpg
new file mode 100644
index 00000000..cb2d4a1e
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/f/1/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/f/2/0.jpg b/static/vr/tiles/0-san-francisco/3/f/2/0.jpg
new file mode 100644
index 00000000..e4cfb2a7
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/f/2/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/f/2/1.jpg b/static/vr/tiles/0-san-francisco/3/f/2/1.jpg
new file mode 100644
index 00000000..57c9adeb
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/f/2/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/f/2/2.jpg b/static/vr/tiles/0-san-francisco/3/f/2/2.jpg
new file mode 100644
index 00000000..08937862
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/f/2/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/f/2/3.jpg b/static/vr/tiles/0-san-francisco/3/f/2/3.jpg
new file mode 100644
index 00000000..4eb33faa
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/f/2/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/f/3/0.jpg b/static/vr/tiles/0-san-francisco/3/f/3/0.jpg
new file mode 100644
index 00000000..eda7b354
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/f/3/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/f/3/1.jpg b/static/vr/tiles/0-san-francisco/3/f/3/1.jpg
new file mode 100644
index 00000000..84b4b13c
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/f/3/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/f/3/2.jpg b/static/vr/tiles/0-san-francisco/3/f/3/2.jpg
new file mode 100644
index 00000000..47730d00
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/f/3/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/f/3/3.jpg b/static/vr/tiles/0-san-francisco/3/f/3/3.jpg
new file mode 100644
index 00000000..2c2bf225
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/f/3/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/l/0/0.jpg b/static/vr/tiles/0-san-francisco/3/l/0/0.jpg
new file mode 100644
index 00000000..c7a843e2
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/l/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/l/0/1.jpg b/static/vr/tiles/0-san-francisco/3/l/0/1.jpg
new file mode 100644
index 00000000..3375e617
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/l/0/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/l/0/2.jpg b/static/vr/tiles/0-san-francisco/3/l/0/2.jpg
new file mode 100644
index 00000000..63f76a12
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/l/0/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/l/0/3.jpg b/static/vr/tiles/0-san-francisco/3/l/0/3.jpg
new file mode 100644
index 00000000..71b70b94
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/l/0/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/l/1/0.jpg b/static/vr/tiles/0-san-francisco/3/l/1/0.jpg
new file mode 100644
index 00000000..955172aa
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/l/1/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/l/1/1.jpg b/static/vr/tiles/0-san-francisco/3/l/1/1.jpg
new file mode 100644
index 00000000..c34f1dbe
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/l/1/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/l/1/2.jpg b/static/vr/tiles/0-san-francisco/3/l/1/2.jpg
new file mode 100644
index 00000000..6207d54d
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/l/1/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/l/1/3.jpg b/static/vr/tiles/0-san-francisco/3/l/1/3.jpg
new file mode 100644
index 00000000..202886c3
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/l/1/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/l/2/0.jpg b/static/vr/tiles/0-san-francisco/3/l/2/0.jpg
new file mode 100644
index 00000000..e618e948
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/l/2/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/l/2/1.jpg b/static/vr/tiles/0-san-francisco/3/l/2/1.jpg
new file mode 100644
index 00000000..10913be4
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/l/2/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/l/2/2.jpg b/static/vr/tiles/0-san-francisco/3/l/2/2.jpg
new file mode 100644
index 00000000..0612a5bf
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/l/2/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/l/2/3.jpg b/static/vr/tiles/0-san-francisco/3/l/2/3.jpg
new file mode 100644
index 00000000..dd7a32ff
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/l/2/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/l/3/0.jpg b/static/vr/tiles/0-san-francisco/3/l/3/0.jpg
new file mode 100644
index 00000000..31911f86
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/l/3/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/l/3/1.jpg b/static/vr/tiles/0-san-francisco/3/l/3/1.jpg
new file mode 100644
index 00000000..a3d5a5a3
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/l/3/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/l/3/2.jpg b/static/vr/tiles/0-san-francisco/3/l/3/2.jpg
new file mode 100644
index 00000000..82c79080
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/l/3/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/l/3/3.jpg b/static/vr/tiles/0-san-francisco/3/l/3/3.jpg
new file mode 100644
index 00000000..95276109
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/l/3/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/r/0/0.jpg b/static/vr/tiles/0-san-francisco/3/r/0/0.jpg
new file mode 100644
index 00000000..e0fc8618
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/r/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/r/0/1.jpg b/static/vr/tiles/0-san-francisco/3/r/0/1.jpg
new file mode 100644
index 00000000..0f1bf770
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/r/0/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/r/0/2.jpg b/static/vr/tiles/0-san-francisco/3/r/0/2.jpg
new file mode 100644
index 00000000..cff744d2
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/r/0/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/r/0/3.jpg b/static/vr/tiles/0-san-francisco/3/r/0/3.jpg
new file mode 100644
index 00000000..fb876bd3
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/r/0/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/r/1/0.jpg b/static/vr/tiles/0-san-francisco/3/r/1/0.jpg
new file mode 100644
index 00000000..8d3e2d25
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/r/1/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/r/1/1.jpg b/static/vr/tiles/0-san-francisco/3/r/1/1.jpg
new file mode 100644
index 00000000..00c89d83
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/r/1/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/r/1/2.jpg b/static/vr/tiles/0-san-francisco/3/r/1/2.jpg
new file mode 100644
index 00000000..8e60c03f
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/r/1/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/r/1/3.jpg b/static/vr/tiles/0-san-francisco/3/r/1/3.jpg
new file mode 100644
index 00000000..e9a575bb
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/r/1/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/r/2/0.jpg b/static/vr/tiles/0-san-francisco/3/r/2/0.jpg
new file mode 100644
index 00000000..4652724e
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/r/2/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/r/2/1.jpg b/static/vr/tiles/0-san-francisco/3/r/2/1.jpg
new file mode 100644
index 00000000..d8156355
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/r/2/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/r/2/2.jpg b/static/vr/tiles/0-san-francisco/3/r/2/2.jpg
new file mode 100644
index 00000000..6b854910
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/r/2/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/r/2/3.jpg b/static/vr/tiles/0-san-francisco/3/r/2/3.jpg
new file mode 100644
index 00000000..5afa5d26
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/r/2/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/r/3/0.jpg b/static/vr/tiles/0-san-francisco/3/r/3/0.jpg
new file mode 100644
index 00000000..613d67e5
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/r/3/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/r/3/1.jpg b/static/vr/tiles/0-san-francisco/3/r/3/1.jpg
new file mode 100644
index 00000000..6ab1c864
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/r/3/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/r/3/2.jpg b/static/vr/tiles/0-san-francisco/3/r/3/2.jpg
new file mode 100644
index 00000000..06ba1706
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/r/3/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/r/3/3.jpg b/static/vr/tiles/0-san-francisco/3/r/3/3.jpg
new file mode 100644
index 00000000..41950a41
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/r/3/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/u/0/0.jpg b/static/vr/tiles/0-san-francisco/3/u/0/0.jpg
new file mode 100644
index 00000000..6f759f3b
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/u/0/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/u/0/1.jpg b/static/vr/tiles/0-san-francisco/3/u/0/1.jpg
new file mode 100644
index 00000000..e0e81b9c
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/u/0/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/u/0/2.jpg b/static/vr/tiles/0-san-francisco/3/u/0/2.jpg
new file mode 100644
index 00000000..eb8a57c0
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/u/0/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/u/0/3.jpg b/static/vr/tiles/0-san-francisco/3/u/0/3.jpg
new file mode 100644
index 00000000..8b19ed62
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/u/0/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/u/1/0.jpg b/static/vr/tiles/0-san-francisco/3/u/1/0.jpg
new file mode 100644
index 00000000..2a43e28b
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/u/1/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/u/1/1.jpg b/static/vr/tiles/0-san-francisco/3/u/1/1.jpg
new file mode 100644
index 00000000..7b0f64ee
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/u/1/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/u/1/2.jpg b/static/vr/tiles/0-san-francisco/3/u/1/2.jpg
new file mode 100644
index 00000000..8fd11cbb
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/u/1/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/u/1/3.jpg b/static/vr/tiles/0-san-francisco/3/u/1/3.jpg
new file mode 100644
index 00000000..987aea86
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/u/1/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/u/2/0.jpg b/static/vr/tiles/0-san-francisco/3/u/2/0.jpg
new file mode 100644
index 00000000..ab6cba61
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/u/2/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/u/2/1.jpg b/static/vr/tiles/0-san-francisco/3/u/2/1.jpg
new file mode 100644
index 00000000..8e0d51f0
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/u/2/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/u/2/2.jpg b/static/vr/tiles/0-san-francisco/3/u/2/2.jpg
new file mode 100644
index 00000000..ef1972a6
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/u/2/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/u/2/3.jpg b/static/vr/tiles/0-san-francisco/3/u/2/3.jpg
new file mode 100644
index 00000000..0ef5dca6
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/u/2/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/u/3/0.jpg b/static/vr/tiles/0-san-francisco/3/u/3/0.jpg
new file mode 100644
index 00000000..6a78ec4d
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/u/3/0.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/u/3/1.jpg b/static/vr/tiles/0-san-francisco/3/u/3/1.jpg
new file mode 100644
index 00000000..25ad44a2
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/u/3/1.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/u/3/2.jpg b/static/vr/tiles/0-san-francisco/3/u/3/2.jpg
new file mode 100644
index 00000000..cffc8550
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/u/3/2.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/3/u/3/3.jpg b/static/vr/tiles/0-san-francisco/3/u/3/3.jpg
new file mode 100644
index 00000000..485b6ff7
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/3/u/3/3.jpg differ
diff --git a/static/vr/tiles/0-san-francisco/preview.jpg b/static/vr/tiles/0-san-francisco/preview.jpg
new file mode 100644
index 00000000..49c943ba
Binary files /dev/null and b/static/vr/tiles/0-san-francisco/preview.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/1/b/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/1/b/0/0.jpg
new file mode 100644
index 00000000..7550818b
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/1/b/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/1/d/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/1/d/0/0.jpg
new file mode 100644
index 00000000..2320e869
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/1/d/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/1/f/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/1/f/0/0.jpg
new file mode 100644
index 00000000..ac1dd5b0
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/1/f/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/1/l/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/1/l/0/0.jpg
new file mode 100644
index 00000000..38f47e5d
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/1/l/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/1/r/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/1/r/0/0.jpg
new file mode 100644
index 00000000..a8313da3
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/1/r/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/1/u/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/1/u/0/0.jpg
new file mode 100644
index 00000000..ab06f081
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/1/u/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/b/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/2/b/0/0.jpg
new file mode 100644
index 00000000..29356080
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/b/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/b/0/1.jpg b/static/vr/tiles/1-golden-gate-bridge/2/b/0/1.jpg
new file mode 100644
index 00000000..4ed59d53
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/b/0/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/b/1/0.jpg b/static/vr/tiles/1-golden-gate-bridge/2/b/1/0.jpg
new file mode 100644
index 00000000..2c5f9e85
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/b/1/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/b/1/1.jpg b/static/vr/tiles/1-golden-gate-bridge/2/b/1/1.jpg
new file mode 100644
index 00000000..f5636860
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/b/1/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/d/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/2/d/0/0.jpg
new file mode 100644
index 00000000..39f12283
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/d/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/d/0/1.jpg b/static/vr/tiles/1-golden-gate-bridge/2/d/0/1.jpg
new file mode 100644
index 00000000..e405eecf
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/d/0/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/d/1/0.jpg b/static/vr/tiles/1-golden-gate-bridge/2/d/1/0.jpg
new file mode 100644
index 00000000..9322ab34
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/d/1/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/d/1/1.jpg b/static/vr/tiles/1-golden-gate-bridge/2/d/1/1.jpg
new file mode 100644
index 00000000..33aa1bda
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/d/1/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/f/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/2/f/0/0.jpg
new file mode 100644
index 00000000..0e143d83
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/f/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/f/0/1.jpg b/static/vr/tiles/1-golden-gate-bridge/2/f/0/1.jpg
new file mode 100644
index 00000000..467801a0
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/f/0/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/f/1/0.jpg b/static/vr/tiles/1-golden-gate-bridge/2/f/1/0.jpg
new file mode 100644
index 00000000..fe18094a
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/f/1/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/f/1/1.jpg b/static/vr/tiles/1-golden-gate-bridge/2/f/1/1.jpg
new file mode 100644
index 00000000..2db50dc9
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/f/1/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/l/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/2/l/0/0.jpg
new file mode 100644
index 00000000..e7f49a55
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/l/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/l/0/1.jpg b/static/vr/tiles/1-golden-gate-bridge/2/l/0/1.jpg
new file mode 100644
index 00000000..c5c3b487
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/l/0/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/l/1/0.jpg b/static/vr/tiles/1-golden-gate-bridge/2/l/1/0.jpg
new file mode 100644
index 00000000..c261026d
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/l/1/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/l/1/1.jpg b/static/vr/tiles/1-golden-gate-bridge/2/l/1/1.jpg
new file mode 100644
index 00000000..8f00822c
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/l/1/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/r/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/2/r/0/0.jpg
new file mode 100644
index 00000000..ed86b831
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/r/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/r/0/1.jpg b/static/vr/tiles/1-golden-gate-bridge/2/r/0/1.jpg
new file mode 100644
index 00000000..709389d1
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/r/0/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/r/1/0.jpg b/static/vr/tiles/1-golden-gate-bridge/2/r/1/0.jpg
new file mode 100644
index 00000000..fe2a9f15
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/r/1/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/r/1/1.jpg b/static/vr/tiles/1-golden-gate-bridge/2/r/1/1.jpg
new file mode 100644
index 00000000..2723809a
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/r/1/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/u/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/2/u/0/0.jpg
new file mode 100644
index 00000000..9b6decd6
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/u/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/u/0/1.jpg b/static/vr/tiles/1-golden-gate-bridge/2/u/0/1.jpg
new file mode 100644
index 00000000..48151757
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/u/0/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/u/1/0.jpg b/static/vr/tiles/1-golden-gate-bridge/2/u/1/0.jpg
new file mode 100644
index 00000000..18bf082d
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/u/1/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/2/u/1/1.jpg b/static/vr/tiles/1-golden-gate-bridge/2/u/1/1.jpg
new file mode 100644
index 00000000..93a5ca53
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/2/u/1/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/b/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/b/0/0.jpg
new file mode 100644
index 00000000..173c3304
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/b/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/b/0/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/b/0/1.jpg
new file mode 100644
index 00000000..8e6c31e0
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/b/0/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/b/0/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/b/0/2.jpg
new file mode 100644
index 00000000..0f6e261a
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/b/0/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/b/0/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/b/0/3.jpg
new file mode 100644
index 00000000..57f466d6
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/b/0/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/b/1/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/b/1/0.jpg
new file mode 100644
index 00000000..718194e1
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/b/1/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/b/1/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/b/1/1.jpg
new file mode 100644
index 00000000..c3df15ee
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/b/1/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/b/1/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/b/1/2.jpg
new file mode 100644
index 00000000..c7b4db45
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/b/1/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/b/1/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/b/1/3.jpg
new file mode 100644
index 00000000..f135d893
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/b/1/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/b/2/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/b/2/0.jpg
new file mode 100644
index 00000000..4743054b
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/b/2/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/b/2/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/b/2/1.jpg
new file mode 100644
index 00000000..b5fb8c80
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/b/2/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/b/2/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/b/2/2.jpg
new file mode 100644
index 00000000..9b1cf92c
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/b/2/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/b/2/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/b/2/3.jpg
new file mode 100644
index 00000000..a42686d3
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/b/2/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/b/3/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/b/3/0.jpg
new file mode 100644
index 00000000..1f1661eb
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/b/3/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/b/3/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/b/3/1.jpg
new file mode 100644
index 00000000..390e9c19
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/b/3/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/b/3/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/b/3/2.jpg
new file mode 100644
index 00000000..72a9412d
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/b/3/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/b/3/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/b/3/3.jpg
new file mode 100644
index 00000000..2fb6c772
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/b/3/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/d/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/d/0/0.jpg
new file mode 100644
index 00000000..f033cf59
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/d/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/d/0/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/d/0/1.jpg
new file mode 100644
index 00000000..74cdf3a2
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/d/0/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/d/0/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/d/0/2.jpg
new file mode 100644
index 00000000..254aec26
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/d/0/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/d/0/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/d/0/3.jpg
new file mode 100644
index 00000000..7e175ae0
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/d/0/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/d/1/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/d/1/0.jpg
new file mode 100644
index 00000000..16783498
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/d/1/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/d/1/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/d/1/1.jpg
new file mode 100644
index 00000000..6a8d6771
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/d/1/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/d/1/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/d/1/2.jpg
new file mode 100644
index 00000000..eff72dc7
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/d/1/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/d/1/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/d/1/3.jpg
new file mode 100644
index 00000000..2046b597
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/d/1/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/d/2/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/d/2/0.jpg
new file mode 100644
index 00000000..10f85bca
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/d/2/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/d/2/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/d/2/1.jpg
new file mode 100644
index 00000000..f9eb1064
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/d/2/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/d/2/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/d/2/2.jpg
new file mode 100644
index 00000000..c8e8c3aa
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/d/2/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/d/2/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/d/2/3.jpg
new file mode 100644
index 00000000..26750432
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/d/2/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/d/3/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/d/3/0.jpg
new file mode 100644
index 00000000..c99722d5
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/d/3/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/d/3/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/d/3/1.jpg
new file mode 100644
index 00000000..78ad4d4c
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/d/3/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/d/3/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/d/3/2.jpg
new file mode 100644
index 00000000..191cc194
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/d/3/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/d/3/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/d/3/3.jpg
new file mode 100644
index 00000000..8e444248
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/d/3/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/f/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/f/0/0.jpg
new file mode 100644
index 00000000..b854026d
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/f/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/f/0/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/f/0/1.jpg
new file mode 100644
index 00000000..3d2bc563
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/f/0/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/f/0/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/f/0/2.jpg
new file mode 100644
index 00000000..6de5be5b
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/f/0/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/f/0/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/f/0/3.jpg
new file mode 100644
index 00000000..824c2318
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/f/0/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/f/1/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/f/1/0.jpg
new file mode 100644
index 00000000..275c49f4
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/f/1/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/f/1/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/f/1/1.jpg
new file mode 100644
index 00000000..777c04f9
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/f/1/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/f/1/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/f/1/2.jpg
new file mode 100644
index 00000000..57dbf098
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/f/1/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/f/1/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/f/1/3.jpg
new file mode 100644
index 00000000..bdf865e5
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/f/1/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/f/2/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/f/2/0.jpg
new file mode 100644
index 00000000..7fe39cdd
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/f/2/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/f/2/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/f/2/1.jpg
new file mode 100644
index 00000000..92bc83d4
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/f/2/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/f/2/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/f/2/2.jpg
new file mode 100644
index 00000000..1042990e
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/f/2/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/f/2/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/f/2/3.jpg
new file mode 100644
index 00000000..d3fe8a37
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/f/2/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/f/3/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/f/3/0.jpg
new file mode 100644
index 00000000..49a9e57e
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/f/3/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/f/3/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/f/3/1.jpg
new file mode 100644
index 00000000..eefc4285
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/f/3/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/f/3/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/f/3/2.jpg
new file mode 100644
index 00000000..256e884e
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/f/3/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/f/3/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/f/3/3.jpg
new file mode 100644
index 00000000..8fa84451
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/f/3/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/l/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/l/0/0.jpg
new file mode 100644
index 00000000..b58f4d7c
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/l/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/l/0/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/l/0/1.jpg
new file mode 100644
index 00000000..289d946a
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/l/0/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/l/0/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/l/0/2.jpg
new file mode 100644
index 00000000..a677b09e
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/l/0/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/l/0/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/l/0/3.jpg
new file mode 100644
index 00000000..883a9853
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/l/0/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/l/1/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/l/1/0.jpg
new file mode 100644
index 00000000..4eb144f0
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/l/1/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/l/1/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/l/1/1.jpg
new file mode 100644
index 00000000..f3c1c748
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/l/1/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/l/1/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/l/1/2.jpg
new file mode 100644
index 00000000..0bc68dd9
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/l/1/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/l/1/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/l/1/3.jpg
new file mode 100644
index 00000000..624a0054
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/l/1/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/l/2/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/l/2/0.jpg
new file mode 100644
index 00000000..e33fb8e2
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/l/2/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/l/2/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/l/2/1.jpg
new file mode 100644
index 00000000..302fd840
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/l/2/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/l/2/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/l/2/2.jpg
new file mode 100644
index 00000000..4d5d8a11
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/l/2/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/l/2/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/l/2/3.jpg
new file mode 100644
index 00000000..d76ab226
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/l/2/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/l/3/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/l/3/0.jpg
new file mode 100644
index 00000000..1de8557c
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/l/3/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/l/3/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/l/3/1.jpg
new file mode 100644
index 00000000..ef993c6b
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/l/3/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/l/3/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/l/3/2.jpg
new file mode 100644
index 00000000..604d3b65
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/l/3/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/l/3/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/l/3/3.jpg
new file mode 100644
index 00000000..fbaa7b76
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/l/3/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/r/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/r/0/0.jpg
new file mode 100644
index 00000000..8ec61f33
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/r/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/r/0/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/r/0/1.jpg
new file mode 100644
index 00000000..eefa97b7
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/r/0/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/r/0/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/r/0/2.jpg
new file mode 100644
index 00000000..11060c10
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/r/0/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/r/0/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/r/0/3.jpg
new file mode 100644
index 00000000..fa284473
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/r/0/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/r/1/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/r/1/0.jpg
new file mode 100644
index 00000000..3a5bcaac
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/r/1/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/r/1/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/r/1/1.jpg
new file mode 100644
index 00000000..cc687568
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/r/1/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/r/1/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/r/1/2.jpg
new file mode 100644
index 00000000..9f64c9d2
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/r/1/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/r/1/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/r/1/3.jpg
new file mode 100644
index 00000000..fd5d86f0
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/r/1/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/r/2/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/r/2/0.jpg
new file mode 100644
index 00000000..50951a95
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/r/2/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/r/2/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/r/2/1.jpg
new file mode 100644
index 00000000..e08b3430
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/r/2/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/r/2/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/r/2/2.jpg
new file mode 100644
index 00000000..ef0dca35
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/r/2/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/r/2/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/r/2/3.jpg
new file mode 100644
index 00000000..f5c20b17
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/r/2/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/r/3/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/r/3/0.jpg
new file mode 100644
index 00000000..04bb6e13
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/r/3/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/r/3/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/r/3/1.jpg
new file mode 100644
index 00000000..4ef87965
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/r/3/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/r/3/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/r/3/2.jpg
new file mode 100644
index 00000000..ec2deac0
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/r/3/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/r/3/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/r/3/3.jpg
new file mode 100644
index 00000000..f4ce4100
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/r/3/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/u/0/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/u/0/0.jpg
new file mode 100644
index 00000000..faf60824
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/u/0/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/u/0/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/u/0/1.jpg
new file mode 100644
index 00000000..bef29b55
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/u/0/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/u/0/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/u/0/2.jpg
new file mode 100644
index 00000000..06de5744
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/u/0/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/u/0/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/u/0/3.jpg
new file mode 100644
index 00000000..a87036b3
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/u/0/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/u/1/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/u/1/0.jpg
new file mode 100644
index 00000000..610bce1b
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/u/1/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/u/1/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/u/1/1.jpg
new file mode 100644
index 00000000..332975ba
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/u/1/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/u/1/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/u/1/2.jpg
new file mode 100644
index 00000000..3c08a2e8
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/u/1/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/u/1/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/u/1/3.jpg
new file mode 100644
index 00000000..fc06ac66
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/u/1/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/u/2/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/u/2/0.jpg
new file mode 100644
index 00000000..fac377ca
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/u/2/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/u/2/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/u/2/1.jpg
new file mode 100644
index 00000000..4bfcfed3
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/u/2/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/u/2/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/u/2/2.jpg
new file mode 100644
index 00000000..b9057345
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/u/2/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/u/2/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/u/2/3.jpg
new file mode 100644
index 00000000..066bec9f
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/u/2/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/u/3/0.jpg b/static/vr/tiles/1-golden-gate-bridge/3/u/3/0.jpg
new file mode 100644
index 00000000..047a3f2b
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/u/3/0.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/u/3/1.jpg b/static/vr/tiles/1-golden-gate-bridge/3/u/3/1.jpg
new file mode 100644
index 00000000..9ed77e44
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/u/3/1.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/u/3/2.jpg b/static/vr/tiles/1-golden-gate-bridge/3/u/3/2.jpg
new file mode 100644
index 00000000..12628242
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/u/3/2.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/3/u/3/3.jpg b/static/vr/tiles/1-golden-gate-bridge/3/u/3/3.jpg
new file mode 100644
index 00000000..e10dea8d
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/3/u/3/3.jpg differ
diff --git a/static/vr/tiles/1-golden-gate-bridge/preview.jpg b/static/vr/tiles/1-golden-gate-bridge/preview.jpg
new file mode 100644
index 00000000..dd757b54
Binary files /dev/null and b/static/vr/tiles/1-golden-gate-bridge/preview.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/1/b/0/0.jpg b/static/vr/tiles/2-schlafzimmer/1/b/0/0.jpg
new file mode 100644
index 00000000..0bb50026
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/1/b/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/1/d/0/0.jpg b/static/vr/tiles/2-schlafzimmer/1/d/0/0.jpg
new file mode 100644
index 00000000..c46cc59b
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/1/d/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/1/f/0/0.jpg b/static/vr/tiles/2-schlafzimmer/1/f/0/0.jpg
new file mode 100644
index 00000000..0a790a39
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/1/f/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/1/l/0/0.jpg b/static/vr/tiles/2-schlafzimmer/1/l/0/0.jpg
new file mode 100644
index 00000000..f8893581
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/1/l/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/1/r/0/0.jpg b/static/vr/tiles/2-schlafzimmer/1/r/0/0.jpg
new file mode 100644
index 00000000..e328be3f
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/1/r/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/1/u/0/0.jpg b/static/vr/tiles/2-schlafzimmer/1/u/0/0.jpg
new file mode 100644
index 00000000..c4a4ab95
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/1/u/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/b/0/0.jpg b/static/vr/tiles/2-schlafzimmer/2/b/0/0.jpg
new file mode 100644
index 00000000..9451315d
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/b/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/b/0/1.jpg b/static/vr/tiles/2-schlafzimmer/2/b/0/1.jpg
new file mode 100644
index 00000000..803dede6
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/b/0/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/b/1/0.jpg b/static/vr/tiles/2-schlafzimmer/2/b/1/0.jpg
new file mode 100644
index 00000000..ebbfca65
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/b/1/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/b/1/1.jpg b/static/vr/tiles/2-schlafzimmer/2/b/1/1.jpg
new file mode 100644
index 00000000..a136082b
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/b/1/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/d/0/0.jpg b/static/vr/tiles/2-schlafzimmer/2/d/0/0.jpg
new file mode 100644
index 00000000..bc4d915f
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/d/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/d/0/1.jpg b/static/vr/tiles/2-schlafzimmer/2/d/0/1.jpg
new file mode 100644
index 00000000..6943b9b7
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/d/0/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/d/1/0.jpg b/static/vr/tiles/2-schlafzimmer/2/d/1/0.jpg
new file mode 100644
index 00000000..4536b5c2
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/d/1/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/d/1/1.jpg b/static/vr/tiles/2-schlafzimmer/2/d/1/1.jpg
new file mode 100644
index 00000000..898f5800
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/d/1/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/f/0/0.jpg b/static/vr/tiles/2-schlafzimmer/2/f/0/0.jpg
new file mode 100644
index 00000000..43703316
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/f/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/f/0/1.jpg b/static/vr/tiles/2-schlafzimmer/2/f/0/1.jpg
new file mode 100644
index 00000000..78391684
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/f/0/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/f/1/0.jpg b/static/vr/tiles/2-schlafzimmer/2/f/1/0.jpg
new file mode 100644
index 00000000..66c6f011
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/f/1/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/f/1/1.jpg b/static/vr/tiles/2-schlafzimmer/2/f/1/1.jpg
new file mode 100644
index 00000000..d3cd9745
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/f/1/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/l/0/0.jpg b/static/vr/tiles/2-schlafzimmer/2/l/0/0.jpg
new file mode 100644
index 00000000..4b6e96cb
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/l/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/l/0/1.jpg b/static/vr/tiles/2-schlafzimmer/2/l/0/1.jpg
new file mode 100644
index 00000000..884556be
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/l/0/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/l/1/0.jpg b/static/vr/tiles/2-schlafzimmer/2/l/1/0.jpg
new file mode 100644
index 00000000..d4fb6479
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/l/1/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/l/1/1.jpg b/static/vr/tiles/2-schlafzimmer/2/l/1/1.jpg
new file mode 100644
index 00000000..f9dbdd41
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/l/1/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/r/0/0.jpg b/static/vr/tiles/2-schlafzimmer/2/r/0/0.jpg
new file mode 100644
index 00000000..b2058fe9
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/r/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/r/0/1.jpg b/static/vr/tiles/2-schlafzimmer/2/r/0/1.jpg
new file mode 100644
index 00000000..c48232a3
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/r/0/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/r/1/0.jpg b/static/vr/tiles/2-schlafzimmer/2/r/1/0.jpg
new file mode 100644
index 00000000..f13bb299
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/r/1/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/r/1/1.jpg b/static/vr/tiles/2-schlafzimmer/2/r/1/1.jpg
new file mode 100644
index 00000000..4047895f
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/r/1/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/u/0/0.jpg b/static/vr/tiles/2-schlafzimmer/2/u/0/0.jpg
new file mode 100644
index 00000000..b4760bcb
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/u/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/u/0/1.jpg b/static/vr/tiles/2-schlafzimmer/2/u/0/1.jpg
new file mode 100644
index 00000000..3729c32c
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/u/0/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/u/1/0.jpg b/static/vr/tiles/2-schlafzimmer/2/u/1/0.jpg
new file mode 100644
index 00000000..4ce468d8
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/u/1/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/2/u/1/1.jpg b/static/vr/tiles/2-schlafzimmer/2/u/1/1.jpg
new file mode 100644
index 00000000..e920d458
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/2/u/1/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/b/0/0.jpg b/static/vr/tiles/2-schlafzimmer/3/b/0/0.jpg
new file mode 100644
index 00000000..27274cca
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/b/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/b/0/1.jpg b/static/vr/tiles/2-schlafzimmer/3/b/0/1.jpg
new file mode 100644
index 00000000..4f6ba32f
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/b/0/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/b/0/2.jpg b/static/vr/tiles/2-schlafzimmer/3/b/0/2.jpg
new file mode 100644
index 00000000..9f21a69a
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/b/0/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/b/0/3.jpg b/static/vr/tiles/2-schlafzimmer/3/b/0/3.jpg
new file mode 100644
index 00000000..7f210bbf
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/b/0/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/b/1/0.jpg b/static/vr/tiles/2-schlafzimmer/3/b/1/0.jpg
new file mode 100644
index 00000000..c6334a45
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/b/1/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/b/1/1.jpg b/static/vr/tiles/2-schlafzimmer/3/b/1/1.jpg
new file mode 100644
index 00000000..c5855ac5
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/b/1/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/b/1/2.jpg b/static/vr/tiles/2-schlafzimmer/3/b/1/2.jpg
new file mode 100644
index 00000000..60da6b7c
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/b/1/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/b/1/3.jpg b/static/vr/tiles/2-schlafzimmer/3/b/1/3.jpg
new file mode 100644
index 00000000..7feba1ca
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/b/1/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/b/2/0.jpg b/static/vr/tiles/2-schlafzimmer/3/b/2/0.jpg
new file mode 100644
index 00000000..1333ba9c
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/b/2/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/b/2/1.jpg b/static/vr/tiles/2-schlafzimmer/3/b/2/1.jpg
new file mode 100644
index 00000000..8ab18010
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/b/2/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/b/2/2.jpg b/static/vr/tiles/2-schlafzimmer/3/b/2/2.jpg
new file mode 100644
index 00000000..5b11093a
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/b/2/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/b/2/3.jpg b/static/vr/tiles/2-schlafzimmer/3/b/2/3.jpg
new file mode 100644
index 00000000..d31bae1a
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/b/2/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/b/3/0.jpg b/static/vr/tiles/2-schlafzimmer/3/b/3/0.jpg
new file mode 100644
index 00000000..614d3df6
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/b/3/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/b/3/1.jpg b/static/vr/tiles/2-schlafzimmer/3/b/3/1.jpg
new file mode 100644
index 00000000..766ccc29
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/b/3/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/b/3/2.jpg b/static/vr/tiles/2-schlafzimmer/3/b/3/2.jpg
new file mode 100644
index 00000000..1ac1c216
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/b/3/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/b/3/3.jpg b/static/vr/tiles/2-schlafzimmer/3/b/3/3.jpg
new file mode 100644
index 00000000..82b2a8a9
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/b/3/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/d/0/0.jpg b/static/vr/tiles/2-schlafzimmer/3/d/0/0.jpg
new file mode 100644
index 00000000..8e5207b0
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/d/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/d/0/1.jpg b/static/vr/tiles/2-schlafzimmer/3/d/0/1.jpg
new file mode 100644
index 00000000..e1c00f1d
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/d/0/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/d/0/2.jpg b/static/vr/tiles/2-schlafzimmer/3/d/0/2.jpg
new file mode 100644
index 00000000..4063c1a0
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/d/0/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/d/0/3.jpg b/static/vr/tiles/2-schlafzimmer/3/d/0/3.jpg
new file mode 100644
index 00000000..3ccd267c
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/d/0/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/d/1/0.jpg b/static/vr/tiles/2-schlafzimmer/3/d/1/0.jpg
new file mode 100644
index 00000000..2fd529a6
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/d/1/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/d/1/1.jpg b/static/vr/tiles/2-schlafzimmer/3/d/1/1.jpg
new file mode 100644
index 00000000..58b5eb50
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/d/1/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/d/1/2.jpg b/static/vr/tiles/2-schlafzimmer/3/d/1/2.jpg
new file mode 100644
index 00000000..4136b9a0
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/d/1/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/d/1/3.jpg b/static/vr/tiles/2-schlafzimmer/3/d/1/3.jpg
new file mode 100644
index 00000000..3ed212f8
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/d/1/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/d/2/0.jpg b/static/vr/tiles/2-schlafzimmer/3/d/2/0.jpg
new file mode 100644
index 00000000..9503e88f
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/d/2/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/d/2/1.jpg b/static/vr/tiles/2-schlafzimmer/3/d/2/1.jpg
new file mode 100644
index 00000000..2aaa8a6e
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/d/2/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/d/2/2.jpg b/static/vr/tiles/2-schlafzimmer/3/d/2/2.jpg
new file mode 100644
index 00000000..f415aaaa
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/d/2/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/d/2/3.jpg b/static/vr/tiles/2-schlafzimmer/3/d/2/3.jpg
new file mode 100644
index 00000000..22179dbe
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/d/2/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/d/3/0.jpg b/static/vr/tiles/2-schlafzimmer/3/d/3/0.jpg
new file mode 100644
index 00000000..7b13b9c9
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/d/3/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/d/3/1.jpg b/static/vr/tiles/2-schlafzimmer/3/d/3/1.jpg
new file mode 100644
index 00000000..64741c4b
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/d/3/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/d/3/2.jpg b/static/vr/tiles/2-schlafzimmer/3/d/3/2.jpg
new file mode 100644
index 00000000..71674218
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/d/3/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/d/3/3.jpg b/static/vr/tiles/2-schlafzimmer/3/d/3/3.jpg
new file mode 100644
index 00000000..028e7e5d
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/d/3/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/f/0/0.jpg b/static/vr/tiles/2-schlafzimmer/3/f/0/0.jpg
new file mode 100644
index 00000000..accf292d
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/f/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/f/0/1.jpg b/static/vr/tiles/2-schlafzimmer/3/f/0/1.jpg
new file mode 100644
index 00000000..8266467a
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/f/0/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/f/0/2.jpg b/static/vr/tiles/2-schlafzimmer/3/f/0/2.jpg
new file mode 100644
index 00000000..f93afa68
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/f/0/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/f/0/3.jpg b/static/vr/tiles/2-schlafzimmer/3/f/0/3.jpg
new file mode 100644
index 00000000..08f219ee
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/f/0/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/f/1/0.jpg b/static/vr/tiles/2-schlafzimmer/3/f/1/0.jpg
new file mode 100644
index 00000000..f1aca854
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/f/1/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/f/1/1.jpg b/static/vr/tiles/2-schlafzimmer/3/f/1/1.jpg
new file mode 100644
index 00000000..73b1b573
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/f/1/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/f/1/2.jpg b/static/vr/tiles/2-schlafzimmer/3/f/1/2.jpg
new file mode 100644
index 00000000..fcc398d4
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/f/1/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/f/1/3.jpg b/static/vr/tiles/2-schlafzimmer/3/f/1/3.jpg
new file mode 100644
index 00000000..59a99009
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/f/1/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/f/2/0.jpg b/static/vr/tiles/2-schlafzimmer/3/f/2/0.jpg
new file mode 100644
index 00000000..1984f8a8
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/f/2/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/f/2/1.jpg b/static/vr/tiles/2-schlafzimmer/3/f/2/1.jpg
new file mode 100644
index 00000000..5f8bff03
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/f/2/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/f/2/2.jpg b/static/vr/tiles/2-schlafzimmer/3/f/2/2.jpg
new file mode 100644
index 00000000..dfeb016f
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/f/2/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/f/2/3.jpg b/static/vr/tiles/2-schlafzimmer/3/f/2/3.jpg
new file mode 100644
index 00000000..5f54147a
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/f/2/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/f/3/0.jpg b/static/vr/tiles/2-schlafzimmer/3/f/3/0.jpg
new file mode 100644
index 00000000..1745352d
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/f/3/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/f/3/1.jpg b/static/vr/tiles/2-schlafzimmer/3/f/3/1.jpg
new file mode 100644
index 00000000..6a1edd73
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/f/3/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/f/3/2.jpg b/static/vr/tiles/2-schlafzimmer/3/f/3/2.jpg
new file mode 100644
index 00000000..70f641b3
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/f/3/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/f/3/3.jpg b/static/vr/tiles/2-schlafzimmer/3/f/3/3.jpg
new file mode 100644
index 00000000..9e0bf5f6
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/f/3/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/l/0/0.jpg b/static/vr/tiles/2-schlafzimmer/3/l/0/0.jpg
new file mode 100644
index 00000000..6617d0b8
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/l/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/l/0/1.jpg b/static/vr/tiles/2-schlafzimmer/3/l/0/1.jpg
new file mode 100644
index 00000000..3daba271
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/l/0/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/l/0/2.jpg b/static/vr/tiles/2-schlafzimmer/3/l/0/2.jpg
new file mode 100644
index 00000000..fc4bf6b7
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/l/0/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/l/0/3.jpg b/static/vr/tiles/2-schlafzimmer/3/l/0/3.jpg
new file mode 100644
index 00000000..d47441af
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/l/0/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/l/1/0.jpg b/static/vr/tiles/2-schlafzimmer/3/l/1/0.jpg
new file mode 100644
index 00000000..6df4855f
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/l/1/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/l/1/1.jpg b/static/vr/tiles/2-schlafzimmer/3/l/1/1.jpg
new file mode 100644
index 00000000..cded06a9
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/l/1/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/l/1/2.jpg b/static/vr/tiles/2-schlafzimmer/3/l/1/2.jpg
new file mode 100644
index 00000000..9ad68915
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/l/1/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/l/1/3.jpg b/static/vr/tiles/2-schlafzimmer/3/l/1/3.jpg
new file mode 100644
index 00000000..a56bad8a
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/l/1/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/l/2/0.jpg b/static/vr/tiles/2-schlafzimmer/3/l/2/0.jpg
new file mode 100644
index 00000000..bb39d431
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/l/2/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/l/2/1.jpg b/static/vr/tiles/2-schlafzimmer/3/l/2/1.jpg
new file mode 100644
index 00000000..6d2ac67a
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/l/2/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/l/2/2.jpg b/static/vr/tiles/2-schlafzimmer/3/l/2/2.jpg
new file mode 100644
index 00000000..1e72cf51
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/l/2/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/l/2/3.jpg b/static/vr/tiles/2-schlafzimmer/3/l/2/3.jpg
new file mode 100644
index 00000000..d02dfbe9
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/l/2/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/l/3/0.jpg b/static/vr/tiles/2-schlafzimmer/3/l/3/0.jpg
new file mode 100644
index 00000000..bf50d529
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/l/3/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/l/3/1.jpg b/static/vr/tiles/2-schlafzimmer/3/l/3/1.jpg
new file mode 100644
index 00000000..6a01a4ba
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/l/3/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/l/3/2.jpg b/static/vr/tiles/2-schlafzimmer/3/l/3/2.jpg
new file mode 100644
index 00000000..aa9f5932
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/l/3/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/l/3/3.jpg b/static/vr/tiles/2-schlafzimmer/3/l/3/3.jpg
new file mode 100644
index 00000000..9ed3d3de
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/l/3/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/r/0/0.jpg b/static/vr/tiles/2-schlafzimmer/3/r/0/0.jpg
new file mode 100644
index 00000000..56eff902
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/r/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/r/0/1.jpg b/static/vr/tiles/2-schlafzimmer/3/r/0/1.jpg
new file mode 100644
index 00000000..91e86fa2
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/r/0/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/r/0/2.jpg b/static/vr/tiles/2-schlafzimmer/3/r/0/2.jpg
new file mode 100644
index 00000000..07c6a240
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/r/0/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/r/0/3.jpg b/static/vr/tiles/2-schlafzimmer/3/r/0/3.jpg
new file mode 100644
index 00000000..b4acb1e9
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/r/0/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/r/1/0.jpg b/static/vr/tiles/2-schlafzimmer/3/r/1/0.jpg
new file mode 100644
index 00000000..e38c2631
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/r/1/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/r/1/1.jpg b/static/vr/tiles/2-schlafzimmer/3/r/1/1.jpg
new file mode 100644
index 00000000..74f91011
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/r/1/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/r/1/2.jpg b/static/vr/tiles/2-schlafzimmer/3/r/1/2.jpg
new file mode 100644
index 00000000..873206ba
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/r/1/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/r/1/3.jpg b/static/vr/tiles/2-schlafzimmer/3/r/1/3.jpg
new file mode 100644
index 00000000..ca9b9516
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/r/1/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/r/2/0.jpg b/static/vr/tiles/2-schlafzimmer/3/r/2/0.jpg
new file mode 100644
index 00000000..ec6cb8d9
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/r/2/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/r/2/1.jpg b/static/vr/tiles/2-schlafzimmer/3/r/2/1.jpg
new file mode 100644
index 00000000..3777faa8
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/r/2/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/r/2/2.jpg b/static/vr/tiles/2-schlafzimmer/3/r/2/2.jpg
new file mode 100644
index 00000000..364e3be6
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/r/2/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/r/2/3.jpg b/static/vr/tiles/2-schlafzimmer/3/r/2/3.jpg
new file mode 100644
index 00000000..e47c47c0
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/r/2/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/r/3/0.jpg b/static/vr/tiles/2-schlafzimmer/3/r/3/0.jpg
new file mode 100644
index 00000000..02c44c24
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/r/3/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/r/3/1.jpg b/static/vr/tiles/2-schlafzimmer/3/r/3/1.jpg
new file mode 100644
index 00000000..9b9ca8f7
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/r/3/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/r/3/2.jpg b/static/vr/tiles/2-schlafzimmer/3/r/3/2.jpg
new file mode 100644
index 00000000..3f4f2856
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/r/3/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/r/3/3.jpg b/static/vr/tiles/2-schlafzimmer/3/r/3/3.jpg
new file mode 100644
index 00000000..473090a2
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/r/3/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/u/0/0.jpg b/static/vr/tiles/2-schlafzimmer/3/u/0/0.jpg
new file mode 100644
index 00000000..1c44d891
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/u/0/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/u/0/1.jpg b/static/vr/tiles/2-schlafzimmer/3/u/0/1.jpg
new file mode 100644
index 00000000..8846f1a6
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/u/0/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/u/0/2.jpg b/static/vr/tiles/2-schlafzimmer/3/u/0/2.jpg
new file mode 100644
index 00000000..6e30cec2
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/u/0/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/u/0/3.jpg b/static/vr/tiles/2-schlafzimmer/3/u/0/3.jpg
new file mode 100644
index 00000000..ebe013e6
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/u/0/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/u/1/0.jpg b/static/vr/tiles/2-schlafzimmer/3/u/1/0.jpg
new file mode 100644
index 00000000..5ae2e9ec
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/u/1/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/u/1/1.jpg b/static/vr/tiles/2-schlafzimmer/3/u/1/1.jpg
new file mode 100644
index 00000000..79f8f2f1
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/u/1/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/u/1/2.jpg b/static/vr/tiles/2-schlafzimmer/3/u/1/2.jpg
new file mode 100644
index 00000000..d2723b99
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/u/1/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/u/1/3.jpg b/static/vr/tiles/2-schlafzimmer/3/u/1/3.jpg
new file mode 100644
index 00000000..8004ea41
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/u/1/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/u/2/0.jpg b/static/vr/tiles/2-schlafzimmer/3/u/2/0.jpg
new file mode 100644
index 00000000..02c415d0
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/u/2/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/u/2/1.jpg b/static/vr/tiles/2-schlafzimmer/3/u/2/1.jpg
new file mode 100644
index 00000000..004ee6bc
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/u/2/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/u/2/2.jpg b/static/vr/tiles/2-schlafzimmer/3/u/2/2.jpg
new file mode 100644
index 00000000..c5e77449
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/u/2/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/u/2/3.jpg b/static/vr/tiles/2-schlafzimmer/3/u/2/3.jpg
new file mode 100644
index 00000000..089a5d6e
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/u/2/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/u/3/0.jpg b/static/vr/tiles/2-schlafzimmer/3/u/3/0.jpg
new file mode 100644
index 00000000..4c3a36e6
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/u/3/0.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/u/3/1.jpg b/static/vr/tiles/2-schlafzimmer/3/u/3/1.jpg
new file mode 100644
index 00000000..76cefd17
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/u/3/1.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/u/3/2.jpg b/static/vr/tiles/2-schlafzimmer/3/u/3/2.jpg
new file mode 100644
index 00000000..f9ad8137
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/u/3/2.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/3/u/3/3.jpg b/static/vr/tiles/2-schlafzimmer/3/u/3/3.jpg
new file mode 100644
index 00000000..f5f95c1a
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/3/u/3/3.jpg differ
diff --git a/static/vr/tiles/2-schlafzimmer/preview.jpg b/static/vr/tiles/2-schlafzimmer/preview.jpg
new file mode 100644
index 00000000..a2999434
Binary files /dev/null and b/static/vr/tiles/2-schlafzimmer/preview.jpg differ
diff --git a/static/vr/tiles/3-miami/1/b/0/0.jpg b/static/vr/tiles/3-miami/1/b/0/0.jpg
new file mode 100644
index 00000000..0447fa6f
Binary files /dev/null and b/static/vr/tiles/3-miami/1/b/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/1/d/0/0.jpg b/static/vr/tiles/3-miami/1/d/0/0.jpg
new file mode 100644
index 00000000..c2a8c0b5
Binary files /dev/null and b/static/vr/tiles/3-miami/1/d/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/1/f/0/0.jpg b/static/vr/tiles/3-miami/1/f/0/0.jpg
new file mode 100644
index 00000000..6f76f7da
Binary files /dev/null and b/static/vr/tiles/3-miami/1/f/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/1/l/0/0.jpg b/static/vr/tiles/3-miami/1/l/0/0.jpg
new file mode 100644
index 00000000..221f4d3d
Binary files /dev/null and b/static/vr/tiles/3-miami/1/l/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/1/r/0/0.jpg b/static/vr/tiles/3-miami/1/r/0/0.jpg
new file mode 100644
index 00000000..3f5463a1
Binary files /dev/null and b/static/vr/tiles/3-miami/1/r/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/1/u/0/0.jpg b/static/vr/tiles/3-miami/1/u/0/0.jpg
new file mode 100644
index 00000000..2a7ea986
Binary files /dev/null and b/static/vr/tiles/3-miami/1/u/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/2/b/0/0.jpg b/static/vr/tiles/3-miami/2/b/0/0.jpg
new file mode 100644
index 00000000..4237815d
Binary files /dev/null and b/static/vr/tiles/3-miami/2/b/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/2/b/0/1.jpg b/static/vr/tiles/3-miami/2/b/0/1.jpg
new file mode 100644
index 00000000..e2deb01f
Binary files /dev/null and b/static/vr/tiles/3-miami/2/b/0/1.jpg differ
diff --git a/static/vr/tiles/3-miami/2/b/1/0.jpg b/static/vr/tiles/3-miami/2/b/1/0.jpg
new file mode 100644
index 00000000..8493775f
Binary files /dev/null and b/static/vr/tiles/3-miami/2/b/1/0.jpg differ
diff --git a/static/vr/tiles/3-miami/2/b/1/1.jpg b/static/vr/tiles/3-miami/2/b/1/1.jpg
new file mode 100644
index 00000000..79fb9a4e
Binary files /dev/null and b/static/vr/tiles/3-miami/2/b/1/1.jpg differ
diff --git a/static/vr/tiles/3-miami/2/d/0/0.jpg b/static/vr/tiles/3-miami/2/d/0/0.jpg
new file mode 100644
index 00000000..60de63f1
Binary files /dev/null and b/static/vr/tiles/3-miami/2/d/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/2/d/0/1.jpg b/static/vr/tiles/3-miami/2/d/0/1.jpg
new file mode 100644
index 00000000..d46fa02e
Binary files /dev/null and b/static/vr/tiles/3-miami/2/d/0/1.jpg differ
diff --git a/static/vr/tiles/3-miami/2/d/1/0.jpg b/static/vr/tiles/3-miami/2/d/1/0.jpg
new file mode 100644
index 00000000..33a5a1f3
Binary files /dev/null and b/static/vr/tiles/3-miami/2/d/1/0.jpg differ
diff --git a/static/vr/tiles/3-miami/2/d/1/1.jpg b/static/vr/tiles/3-miami/2/d/1/1.jpg
new file mode 100644
index 00000000..c734a690
Binary files /dev/null and b/static/vr/tiles/3-miami/2/d/1/1.jpg differ
diff --git a/static/vr/tiles/3-miami/2/f/0/0.jpg b/static/vr/tiles/3-miami/2/f/0/0.jpg
new file mode 100644
index 00000000..c67af393
Binary files /dev/null and b/static/vr/tiles/3-miami/2/f/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/2/f/0/1.jpg b/static/vr/tiles/3-miami/2/f/0/1.jpg
new file mode 100644
index 00000000..61f8fb78
Binary files /dev/null and b/static/vr/tiles/3-miami/2/f/0/1.jpg differ
diff --git a/static/vr/tiles/3-miami/2/f/1/0.jpg b/static/vr/tiles/3-miami/2/f/1/0.jpg
new file mode 100644
index 00000000..3d2a7c59
Binary files /dev/null and b/static/vr/tiles/3-miami/2/f/1/0.jpg differ
diff --git a/static/vr/tiles/3-miami/2/f/1/1.jpg b/static/vr/tiles/3-miami/2/f/1/1.jpg
new file mode 100644
index 00000000..f5f1e844
Binary files /dev/null and b/static/vr/tiles/3-miami/2/f/1/1.jpg differ
diff --git a/static/vr/tiles/3-miami/2/l/0/0.jpg b/static/vr/tiles/3-miami/2/l/0/0.jpg
new file mode 100644
index 00000000..b60381d2
Binary files /dev/null and b/static/vr/tiles/3-miami/2/l/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/2/l/0/1.jpg b/static/vr/tiles/3-miami/2/l/0/1.jpg
new file mode 100644
index 00000000..d5767184
Binary files /dev/null and b/static/vr/tiles/3-miami/2/l/0/1.jpg differ
diff --git a/static/vr/tiles/3-miami/2/l/1/0.jpg b/static/vr/tiles/3-miami/2/l/1/0.jpg
new file mode 100644
index 00000000..42218678
Binary files /dev/null and b/static/vr/tiles/3-miami/2/l/1/0.jpg differ
diff --git a/static/vr/tiles/3-miami/2/l/1/1.jpg b/static/vr/tiles/3-miami/2/l/1/1.jpg
new file mode 100644
index 00000000..dd0a45e4
Binary files /dev/null and b/static/vr/tiles/3-miami/2/l/1/1.jpg differ
diff --git a/static/vr/tiles/3-miami/2/r/0/0.jpg b/static/vr/tiles/3-miami/2/r/0/0.jpg
new file mode 100644
index 00000000..916d9854
Binary files /dev/null and b/static/vr/tiles/3-miami/2/r/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/2/r/0/1.jpg b/static/vr/tiles/3-miami/2/r/0/1.jpg
new file mode 100644
index 00000000..c8947c05
Binary files /dev/null and b/static/vr/tiles/3-miami/2/r/0/1.jpg differ
diff --git a/static/vr/tiles/3-miami/2/r/1/0.jpg b/static/vr/tiles/3-miami/2/r/1/0.jpg
new file mode 100644
index 00000000..76eae805
Binary files /dev/null and b/static/vr/tiles/3-miami/2/r/1/0.jpg differ
diff --git a/static/vr/tiles/3-miami/2/r/1/1.jpg b/static/vr/tiles/3-miami/2/r/1/1.jpg
new file mode 100644
index 00000000..6c8826ac
Binary files /dev/null and b/static/vr/tiles/3-miami/2/r/1/1.jpg differ
diff --git a/static/vr/tiles/3-miami/2/u/0/0.jpg b/static/vr/tiles/3-miami/2/u/0/0.jpg
new file mode 100644
index 00000000..12c7917f
Binary files /dev/null and b/static/vr/tiles/3-miami/2/u/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/2/u/0/1.jpg b/static/vr/tiles/3-miami/2/u/0/1.jpg
new file mode 100644
index 00000000..d1fe2a1b
Binary files /dev/null and b/static/vr/tiles/3-miami/2/u/0/1.jpg differ
diff --git a/static/vr/tiles/3-miami/2/u/1/0.jpg b/static/vr/tiles/3-miami/2/u/1/0.jpg
new file mode 100644
index 00000000..7705af03
Binary files /dev/null and b/static/vr/tiles/3-miami/2/u/1/0.jpg differ
diff --git a/static/vr/tiles/3-miami/2/u/1/1.jpg b/static/vr/tiles/3-miami/2/u/1/1.jpg
new file mode 100644
index 00000000..0402eca6
Binary files /dev/null and b/static/vr/tiles/3-miami/2/u/1/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/b/0/0.jpg b/static/vr/tiles/3-miami/3/b/0/0.jpg
new file mode 100644
index 00000000..8b49f968
Binary files /dev/null and b/static/vr/tiles/3-miami/3/b/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/b/0/1.jpg b/static/vr/tiles/3-miami/3/b/0/1.jpg
new file mode 100644
index 00000000..796e4826
Binary files /dev/null and b/static/vr/tiles/3-miami/3/b/0/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/b/0/2.jpg b/static/vr/tiles/3-miami/3/b/0/2.jpg
new file mode 100644
index 00000000..bb3d9add
Binary files /dev/null and b/static/vr/tiles/3-miami/3/b/0/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/b/0/3.jpg b/static/vr/tiles/3-miami/3/b/0/3.jpg
new file mode 100644
index 00000000..8ad106b8
Binary files /dev/null and b/static/vr/tiles/3-miami/3/b/0/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/b/1/0.jpg b/static/vr/tiles/3-miami/3/b/1/0.jpg
new file mode 100644
index 00000000..6afd3639
Binary files /dev/null and b/static/vr/tiles/3-miami/3/b/1/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/b/1/1.jpg b/static/vr/tiles/3-miami/3/b/1/1.jpg
new file mode 100644
index 00000000..fab26295
Binary files /dev/null and b/static/vr/tiles/3-miami/3/b/1/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/b/1/2.jpg b/static/vr/tiles/3-miami/3/b/1/2.jpg
new file mode 100644
index 00000000..56409cb9
Binary files /dev/null and b/static/vr/tiles/3-miami/3/b/1/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/b/1/3.jpg b/static/vr/tiles/3-miami/3/b/1/3.jpg
new file mode 100644
index 00000000..95f37016
Binary files /dev/null and b/static/vr/tiles/3-miami/3/b/1/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/b/2/0.jpg b/static/vr/tiles/3-miami/3/b/2/0.jpg
new file mode 100644
index 00000000..45a1068f
Binary files /dev/null and b/static/vr/tiles/3-miami/3/b/2/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/b/2/1.jpg b/static/vr/tiles/3-miami/3/b/2/1.jpg
new file mode 100644
index 00000000..c8b4f45c
Binary files /dev/null and b/static/vr/tiles/3-miami/3/b/2/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/b/2/2.jpg b/static/vr/tiles/3-miami/3/b/2/2.jpg
new file mode 100644
index 00000000..550c1c14
Binary files /dev/null and b/static/vr/tiles/3-miami/3/b/2/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/b/2/3.jpg b/static/vr/tiles/3-miami/3/b/2/3.jpg
new file mode 100644
index 00000000..a130968c
Binary files /dev/null and b/static/vr/tiles/3-miami/3/b/2/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/b/3/0.jpg b/static/vr/tiles/3-miami/3/b/3/0.jpg
new file mode 100644
index 00000000..4f7435ff
Binary files /dev/null and b/static/vr/tiles/3-miami/3/b/3/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/b/3/1.jpg b/static/vr/tiles/3-miami/3/b/3/1.jpg
new file mode 100644
index 00000000..8f4b445b
Binary files /dev/null and b/static/vr/tiles/3-miami/3/b/3/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/b/3/2.jpg b/static/vr/tiles/3-miami/3/b/3/2.jpg
new file mode 100644
index 00000000..dcd5d7e6
Binary files /dev/null and b/static/vr/tiles/3-miami/3/b/3/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/b/3/3.jpg b/static/vr/tiles/3-miami/3/b/3/3.jpg
new file mode 100644
index 00000000..7c711320
Binary files /dev/null and b/static/vr/tiles/3-miami/3/b/3/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/d/0/0.jpg b/static/vr/tiles/3-miami/3/d/0/0.jpg
new file mode 100644
index 00000000..8f045559
Binary files /dev/null and b/static/vr/tiles/3-miami/3/d/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/d/0/1.jpg b/static/vr/tiles/3-miami/3/d/0/1.jpg
new file mode 100644
index 00000000..29ddd8df
Binary files /dev/null and b/static/vr/tiles/3-miami/3/d/0/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/d/0/2.jpg b/static/vr/tiles/3-miami/3/d/0/2.jpg
new file mode 100644
index 00000000..e9e10566
Binary files /dev/null and b/static/vr/tiles/3-miami/3/d/0/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/d/0/3.jpg b/static/vr/tiles/3-miami/3/d/0/3.jpg
new file mode 100644
index 00000000..d7d8153d
Binary files /dev/null and b/static/vr/tiles/3-miami/3/d/0/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/d/1/0.jpg b/static/vr/tiles/3-miami/3/d/1/0.jpg
new file mode 100644
index 00000000..2c3236b8
Binary files /dev/null and b/static/vr/tiles/3-miami/3/d/1/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/d/1/1.jpg b/static/vr/tiles/3-miami/3/d/1/1.jpg
new file mode 100644
index 00000000..0ba26c4e
Binary files /dev/null and b/static/vr/tiles/3-miami/3/d/1/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/d/1/2.jpg b/static/vr/tiles/3-miami/3/d/1/2.jpg
new file mode 100644
index 00000000..0799b850
Binary files /dev/null and b/static/vr/tiles/3-miami/3/d/1/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/d/1/3.jpg b/static/vr/tiles/3-miami/3/d/1/3.jpg
new file mode 100644
index 00000000..8e1f4fd6
Binary files /dev/null and b/static/vr/tiles/3-miami/3/d/1/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/d/2/0.jpg b/static/vr/tiles/3-miami/3/d/2/0.jpg
new file mode 100644
index 00000000..2236c56b
Binary files /dev/null and b/static/vr/tiles/3-miami/3/d/2/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/d/2/1.jpg b/static/vr/tiles/3-miami/3/d/2/1.jpg
new file mode 100644
index 00000000..cbdb9fa7
Binary files /dev/null and b/static/vr/tiles/3-miami/3/d/2/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/d/2/2.jpg b/static/vr/tiles/3-miami/3/d/2/2.jpg
new file mode 100644
index 00000000..e60c55f7
Binary files /dev/null and b/static/vr/tiles/3-miami/3/d/2/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/d/2/3.jpg b/static/vr/tiles/3-miami/3/d/2/3.jpg
new file mode 100644
index 00000000..71479f64
Binary files /dev/null and b/static/vr/tiles/3-miami/3/d/2/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/d/3/0.jpg b/static/vr/tiles/3-miami/3/d/3/0.jpg
new file mode 100644
index 00000000..92d59c2b
Binary files /dev/null and b/static/vr/tiles/3-miami/3/d/3/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/d/3/1.jpg b/static/vr/tiles/3-miami/3/d/3/1.jpg
new file mode 100644
index 00000000..62ff6762
Binary files /dev/null and b/static/vr/tiles/3-miami/3/d/3/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/d/3/2.jpg b/static/vr/tiles/3-miami/3/d/3/2.jpg
new file mode 100644
index 00000000..1f67aed5
Binary files /dev/null and b/static/vr/tiles/3-miami/3/d/3/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/d/3/3.jpg b/static/vr/tiles/3-miami/3/d/3/3.jpg
new file mode 100644
index 00000000..3c29edd1
Binary files /dev/null and b/static/vr/tiles/3-miami/3/d/3/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/f/0/0.jpg b/static/vr/tiles/3-miami/3/f/0/0.jpg
new file mode 100644
index 00000000..8fc59ab9
Binary files /dev/null and b/static/vr/tiles/3-miami/3/f/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/f/0/1.jpg b/static/vr/tiles/3-miami/3/f/0/1.jpg
new file mode 100644
index 00000000..1f23d10f
Binary files /dev/null and b/static/vr/tiles/3-miami/3/f/0/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/f/0/2.jpg b/static/vr/tiles/3-miami/3/f/0/2.jpg
new file mode 100644
index 00000000..bf289380
Binary files /dev/null and b/static/vr/tiles/3-miami/3/f/0/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/f/0/3.jpg b/static/vr/tiles/3-miami/3/f/0/3.jpg
new file mode 100644
index 00000000..5475717c
Binary files /dev/null and b/static/vr/tiles/3-miami/3/f/0/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/f/1/0.jpg b/static/vr/tiles/3-miami/3/f/1/0.jpg
new file mode 100644
index 00000000..55214721
Binary files /dev/null and b/static/vr/tiles/3-miami/3/f/1/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/f/1/1.jpg b/static/vr/tiles/3-miami/3/f/1/1.jpg
new file mode 100644
index 00000000..ed3dae8b
Binary files /dev/null and b/static/vr/tiles/3-miami/3/f/1/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/f/1/2.jpg b/static/vr/tiles/3-miami/3/f/1/2.jpg
new file mode 100644
index 00000000..35cde2bd
Binary files /dev/null and b/static/vr/tiles/3-miami/3/f/1/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/f/1/3.jpg b/static/vr/tiles/3-miami/3/f/1/3.jpg
new file mode 100644
index 00000000..7314337a
Binary files /dev/null and b/static/vr/tiles/3-miami/3/f/1/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/f/2/0.jpg b/static/vr/tiles/3-miami/3/f/2/0.jpg
new file mode 100644
index 00000000..c0efb5aa
Binary files /dev/null and b/static/vr/tiles/3-miami/3/f/2/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/f/2/1.jpg b/static/vr/tiles/3-miami/3/f/2/1.jpg
new file mode 100644
index 00000000..ee5ed941
Binary files /dev/null and b/static/vr/tiles/3-miami/3/f/2/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/f/2/2.jpg b/static/vr/tiles/3-miami/3/f/2/2.jpg
new file mode 100644
index 00000000..cde05829
Binary files /dev/null and b/static/vr/tiles/3-miami/3/f/2/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/f/2/3.jpg b/static/vr/tiles/3-miami/3/f/2/3.jpg
new file mode 100644
index 00000000..77e8d7e2
Binary files /dev/null and b/static/vr/tiles/3-miami/3/f/2/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/f/3/0.jpg b/static/vr/tiles/3-miami/3/f/3/0.jpg
new file mode 100644
index 00000000..1fb3394a
Binary files /dev/null and b/static/vr/tiles/3-miami/3/f/3/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/f/3/1.jpg b/static/vr/tiles/3-miami/3/f/3/1.jpg
new file mode 100644
index 00000000..7489a6a8
Binary files /dev/null and b/static/vr/tiles/3-miami/3/f/3/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/f/3/2.jpg b/static/vr/tiles/3-miami/3/f/3/2.jpg
new file mode 100644
index 00000000..1646ef4c
Binary files /dev/null and b/static/vr/tiles/3-miami/3/f/3/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/f/3/3.jpg b/static/vr/tiles/3-miami/3/f/3/3.jpg
new file mode 100644
index 00000000..140ced6a
Binary files /dev/null and b/static/vr/tiles/3-miami/3/f/3/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/l/0/0.jpg b/static/vr/tiles/3-miami/3/l/0/0.jpg
new file mode 100644
index 00000000..78332734
Binary files /dev/null and b/static/vr/tiles/3-miami/3/l/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/l/0/1.jpg b/static/vr/tiles/3-miami/3/l/0/1.jpg
new file mode 100644
index 00000000..48126228
Binary files /dev/null and b/static/vr/tiles/3-miami/3/l/0/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/l/0/2.jpg b/static/vr/tiles/3-miami/3/l/0/2.jpg
new file mode 100644
index 00000000..2c63943a
Binary files /dev/null and b/static/vr/tiles/3-miami/3/l/0/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/l/0/3.jpg b/static/vr/tiles/3-miami/3/l/0/3.jpg
new file mode 100644
index 00000000..994f50a0
Binary files /dev/null and b/static/vr/tiles/3-miami/3/l/0/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/l/1/0.jpg b/static/vr/tiles/3-miami/3/l/1/0.jpg
new file mode 100644
index 00000000..b700f8e3
Binary files /dev/null and b/static/vr/tiles/3-miami/3/l/1/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/l/1/1.jpg b/static/vr/tiles/3-miami/3/l/1/1.jpg
new file mode 100644
index 00000000..dc1e0ff4
Binary files /dev/null and b/static/vr/tiles/3-miami/3/l/1/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/l/1/2.jpg b/static/vr/tiles/3-miami/3/l/1/2.jpg
new file mode 100644
index 00000000..79de556b
Binary files /dev/null and b/static/vr/tiles/3-miami/3/l/1/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/l/1/3.jpg b/static/vr/tiles/3-miami/3/l/1/3.jpg
new file mode 100644
index 00000000..5282fa41
Binary files /dev/null and b/static/vr/tiles/3-miami/3/l/1/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/l/2/0.jpg b/static/vr/tiles/3-miami/3/l/2/0.jpg
new file mode 100644
index 00000000..2b9ba108
Binary files /dev/null and b/static/vr/tiles/3-miami/3/l/2/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/l/2/1.jpg b/static/vr/tiles/3-miami/3/l/2/1.jpg
new file mode 100644
index 00000000..363ba394
Binary files /dev/null and b/static/vr/tiles/3-miami/3/l/2/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/l/2/2.jpg b/static/vr/tiles/3-miami/3/l/2/2.jpg
new file mode 100644
index 00000000..7eb6774f
Binary files /dev/null and b/static/vr/tiles/3-miami/3/l/2/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/l/2/3.jpg b/static/vr/tiles/3-miami/3/l/2/3.jpg
new file mode 100644
index 00000000..8b75d55a
Binary files /dev/null and b/static/vr/tiles/3-miami/3/l/2/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/l/3/0.jpg b/static/vr/tiles/3-miami/3/l/3/0.jpg
new file mode 100644
index 00000000..1b7142de
Binary files /dev/null and b/static/vr/tiles/3-miami/3/l/3/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/l/3/1.jpg b/static/vr/tiles/3-miami/3/l/3/1.jpg
new file mode 100644
index 00000000..eb1e2fcc
Binary files /dev/null and b/static/vr/tiles/3-miami/3/l/3/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/l/3/2.jpg b/static/vr/tiles/3-miami/3/l/3/2.jpg
new file mode 100644
index 00000000..4677e122
Binary files /dev/null and b/static/vr/tiles/3-miami/3/l/3/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/l/3/3.jpg b/static/vr/tiles/3-miami/3/l/3/3.jpg
new file mode 100644
index 00000000..450aef76
Binary files /dev/null and b/static/vr/tiles/3-miami/3/l/3/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/r/0/0.jpg b/static/vr/tiles/3-miami/3/r/0/0.jpg
new file mode 100644
index 00000000..9da1ccad
Binary files /dev/null and b/static/vr/tiles/3-miami/3/r/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/r/0/1.jpg b/static/vr/tiles/3-miami/3/r/0/1.jpg
new file mode 100644
index 00000000..f334ffb7
Binary files /dev/null and b/static/vr/tiles/3-miami/3/r/0/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/r/0/2.jpg b/static/vr/tiles/3-miami/3/r/0/2.jpg
new file mode 100644
index 00000000..b427622f
Binary files /dev/null and b/static/vr/tiles/3-miami/3/r/0/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/r/0/3.jpg b/static/vr/tiles/3-miami/3/r/0/3.jpg
new file mode 100644
index 00000000..e8e1222f
Binary files /dev/null and b/static/vr/tiles/3-miami/3/r/0/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/r/1/0.jpg b/static/vr/tiles/3-miami/3/r/1/0.jpg
new file mode 100644
index 00000000..373c2910
Binary files /dev/null and b/static/vr/tiles/3-miami/3/r/1/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/r/1/1.jpg b/static/vr/tiles/3-miami/3/r/1/1.jpg
new file mode 100644
index 00000000..01f89bac
Binary files /dev/null and b/static/vr/tiles/3-miami/3/r/1/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/r/1/2.jpg b/static/vr/tiles/3-miami/3/r/1/2.jpg
new file mode 100644
index 00000000..ed0a44d6
Binary files /dev/null and b/static/vr/tiles/3-miami/3/r/1/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/r/1/3.jpg b/static/vr/tiles/3-miami/3/r/1/3.jpg
new file mode 100644
index 00000000..9a278e01
Binary files /dev/null and b/static/vr/tiles/3-miami/3/r/1/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/r/2/0.jpg b/static/vr/tiles/3-miami/3/r/2/0.jpg
new file mode 100644
index 00000000..c33be1b5
Binary files /dev/null and b/static/vr/tiles/3-miami/3/r/2/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/r/2/1.jpg b/static/vr/tiles/3-miami/3/r/2/1.jpg
new file mode 100644
index 00000000..02949615
Binary files /dev/null and b/static/vr/tiles/3-miami/3/r/2/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/r/2/2.jpg b/static/vr/tiles/3-miami/3/r/2/2.jpg
new file mode 100644
index 00000000..fd838787
Binary files /dev/null and b/static/vr/tiles/3-miami/3/r/2/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/r/2/3.jpg b/static/vr/tiles/3-miami/3/r/2/3.jpg
new file mode 100644
index 00000000..a460798f
Binary files /dev/null and b/static/vr/tiles/3-miami/3/r/2/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/r/3/0.jpg b/static/vr/tiles/3-miami/3/r/3/0.jpg
new file mode 100644
index 00000000..0c35755a
Binary files /dev/null and b/static/vr/tiles/3-miami/3/r/3/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/r/3/1.jpg b/static/vr/tiles/3-miami/3/r/3/1.jpg
new file mode 100644
index 00000000..9015eb76
Binary files /dev/null and b/static/vr/tiles/3-miami/3/r/3/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/r/3/2.jpg b/static/vr/tiles/3-miami/3/r/3/2.jpg
new file mode 100644
index 00000000..da94702e
Binary files /dev/null and b/static/vr/tiles/3-miami/3/r/3/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/r/3/3.jpg b/static/vr/tiles/3-miami/3/r/3/3.jpg
new file mode 100644
index 00000000..ab56f266
Binary files /dev/null and b/static/vr/tiles/3-miami/3/r/3/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/u/0/0.jpg b/static/vr/tiles/3-miami/3/u/0/0.jpg
new file mode 100644
index 00000000..44b80aa6
Binary files /dev/null and b/static/vr/tiles/3-miami/3/u/0/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/u/0/1.jpg b/static/vr/tiles/3-miami/3/u/0/1.jpg
new file mode 100644
index 00000000..212acf81
Binary files /dev/null and b/static/vr/tiles/3-miami/3/u/0/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/u/0/2.jpg b/static/vr/tiles/3-miami/3/u/0/2.jpg
new file mode 100644
index 00000000..bf09fbe0
Binary files /dev/null and b/static/vr/tiles/3-miami/3/u/0/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/u/0/3.jpg b/static/vr/tiles/3-miami/3/u/0/3.jpg
new file mode 100644
index 00000000..9f037263
Binary files /dev/null and b/static/vr/tiles/3-miami/3/u/0/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/u/1/0.jpg b/static/vr/tiles/3-miami/3/u/1/0.jpg
new file mode 100644
index 00000000..1558d201
Binary files /dev/null and b/static/vr/tiles/3-miami/3/u/1/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/u/1/1.jpg b/static/vr/tiles/3-miami/3/u/1/1.jpg
new file mode 100644
index 00000000..1ae9efa7
Binary files /dev/null and b/static/vr/tiles/3-miami/3/u/1/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/u/1/2.jpg b/static/vr/tiles/3-miami/3/u/1/2.jpg
new file mode 100644
index 00000000..57ae8295
Binary files /dev/null and b/static/vr/tiles/3-miami/3/u/1/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/u/1/3.jpg b/static/vr/tiles/3-miami/3/u/1/3.jpg
new file mode 100644
index 00000000..ba8541fc
Binary files /dev/null and b/static/vr/tiles/3-miami/3/u/1/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/u/2/0.jpg b/static/vr/tiles/3-miami/3/u/2/0.jpg
new file mode 100644
index 00000000..b6f039ba
Binary files /dev/null and b/static/vr/tiles/3-miami/3/u/2/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/u/2/1.jpg b/static/vr/tiles/3-miami/3/u/2/1.jpg
new file mode 100644
index 00000000..8a17b58e
Binary files /dev/null and b/static/vr/tiles/3-miami/3/u/2/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/u/2/2.jpg b/static/vr/tiles/3-miami/3/u/2/2.jpg
new file mode 100644
index 00000000..9cd1412a
Binary files /dev/null and b/static/vr/tiles/3-miami/3/u/2/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/u/2/3.jpg b/static/vr/tiles/3-miami/3/u/2/3.jpg
new file mode 100644
index 00000000..19b79afa
Binary files /dev/null and b/static/vr/tiles/3-miami/3/u/2/3.jpg differ
diff --git a/static/vr/tiles/3-miami/3/u/3/0.jpg b/static/vr/tiles/3-miami/3/u/3/0.jpg
new file mode 100644
index 00000000..47cdc9bd
Binary files /dev/null and b/static/vr/tiles/3-miami/3/u/3/0.jpg differ
diff --git a/static/vr/tiles/3-miami/3/u/3/1.jpg b/static/vr/tiles/3-miami/3/u/3/1.jpg
new file mode 100644
index 00000000..ff8a0df6
Binary files /dev/null and b/static/vr/tiles/3-miami/3/u/3/1.jpg differ
diff --git a/static/vr/tiles/3-miami/3/u/3/2.jpg b/static/vr/tiles/3-miami/3/u/3/2.jpg
new file mode 100644
index 00000000..081be088
Binary files /dev/null and b/static/vr/tiles/3-miami/3/u/3/2.jpg differ
diff --git a/static/vr/tiles/3-miami/3/u/3/3.jpg b/static/vr/tiles/3-miami/3/u/3/3.jpg
new file mode 100644
index 00000000..be548e4f
Binary files /dev/null and b/static/vr/tiles/3-miami/3/u/3/3.jpg differ
diff --git a/static/vr/tiles/3-miami/preview.jpg b/static/vr/tiles/3-miami/preview.jpg
new file mode 100644
index 00000000..89f060ea
Binary files /dev/null and b/static/vr/tiles/3-miami/preview.jpg differ
diff --git a/static/vr/tiles/4-panorama/1/b/0/0.jpg b/static/vr/tiles/4-panorama/1/b/0/0.jpg
new file mode 100644
index 00000000..4129a581
Binary files /dev/null and b/static/vr/tiles/4-panorama/1/b/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/1/d/0/0.jpg b/static/vr/tiles/4-panorama/1/d/0/0.jpg
new file mode 100644
index 00000000..0477bed2
Binary files /dev/null and b/static/vr/tiles/4-panorama/1/d/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/1/f/0/0.jpg b/static/vr/tiles/4-panorama/1/f/0/0.jpg
new file mode 100644
index 00000000..43e0fb75
Binary files /dev/null and b/static/vr/tiles/4-panorama/1/f/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/1/l/0/0.jpg b/static/vr/tiles/4-panorama/1/l/0/0.jpg
new file mode 100644
index 00000000..11bf4ccb
Binary files /dev/null and b/static/vr/tiles/4-panorama/1/l/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/1/r/0/0.jpg b/static/vr/tiles/4-panorama/1/r/0/0.jpg
new file mode 100644
index 00000000..07bba49e
Binary files /dev/null and b/static/vr/tiles/4-panorama/1/r/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/1/u/0/0.jpg b/static/vr/tiles/4-panorama/1/u/0/0.jpg
new file mode 100644
index 00000000..5987e4ec
Binary files /dev/null and b/static/vr/tiles/4-panorama/1/u/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/b/0/0.jpg b/static/vr/tiles/4-panorama/2/b/0/0.jpg
new file mode 100644
index 00000000..3f34cfd0
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/b/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/b/0/1.jpg b/static/vr/tiles/4-panorama/2/b/0/1.jpg
new file mode 100644
index 00000000..966dae62
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/b/0/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/b/1/0.jpg b/static/vr/tiles/4-panorama/2/b/1/0.jpg
new file mode 100644
index 00000000..6cde5adf
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/b/1/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/b/1/1.jpg b/static/vr/tiles/4-panorama/2/b/1/1.jpg
new file mode 100644
index 00000000..deaf02e4
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/b/1/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/d/0/0.jpg b/static/vr/tiles/4-panorama/2/d/0/0.jpg
new file mode 100644
index 00000000..b955d560
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/d/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/d/0/1.jpg b/static/vr/tiles/4-panorama/2/d/0/1.jpg
new file mode 100644
index 00000000..d66d0f46
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/d/0/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/d/1/0.jpg b/static/vr/tiles/4-panorama/2/d/1/0.jpg
new file mode 100644
index 00000000..51494ad9
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/d/1/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/d/1/1.jpg b/static/vr/tiles/4-panorama/2/d/1/1.jpg
new file mode 100644
index 00000000..d51505f6
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/d/1/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/f/0/0.jpg b/static/vr/tiles/4-panorama/2/f/0/0.jpg
new file mode 100644
index 00000000..b21e6b60
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/f/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/f/0/1.jpg b/static/vr/tiles/4-panorama/2/f/0/1.jpg
new file mode 100644
index 00000000..4e6001d3
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/f/0/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/f/1/0.jpg b/static/vr/tiles/4-panorama/2/f/1/0.jpg
new file mode 100644
index 00000000..5817b027
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/f/1/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/f/1/1.jpg b/static/vr/tiles/4-panorama/2/f/1/1.jpg
new file mode 100644
index 00000000..240514e5
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/f/1/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/l/0/0.jpg b/static/vr/tiles/4-panorama/2/l/0/0.jpg
new file mode 100644
index 00000000..7c9ea695
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/l/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/l/0/1.jpg b/static/vr/tiles/4-panorama/2/l/0/1.jpg
new file mode 100644
index 00000000..b4ab5206
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/l/0/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/l/1/0.jpg b/static/vr/tiles/4-panorama/2/l/1/0.jpg
new file mode 100644
index 00000000..40e8970d
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/l/1/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/l/1/1.jpg b/static/vr/tiles/4-panorama/2/l/1/1.jpg
new file mode 100644
index 00000000..903b7c1a
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/l/1/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/r/0/0.jpg b/static/vr/tiles/4-panorama/2/r/0/0.jpg
new file mode 100644
index 00000000..b3790da6
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/r/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/r/0/1.jpg b/static/vr/tiles/4-panorama/2/r/0/1.jpg
new file mode 100644
index 00000000..2d7add8c
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/r/0/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/r/1/0.jpg b/static/vr/tiles/4-panorama/2/r/1/0.jpg
new file mode 100644
index 00000000..44a32879
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/r/1/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/r/1/1.jpg b/static/vr/tiles/4-panorama/2/r/1/1.jpg
new file mode 100644
index 00000000..e91af8ad
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/r/1/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/u/0/0.jpg b/static/vr/tiles/4-panorama/2/u/0/0.jpg
new file mode 100644
index 00000000..4f748324
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/u/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/u/0/1.jpg b/static/vr/tiles/4-panorama/2/u/0/1.jpg
new file mode 100644
index 00000000..d2304240
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/u/0/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/u/1/0.jpg b/static/vr/tiles/4-panorama/2/u/1/0.jpg
new file mode 100644
index 00000000..391e1758
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/u/1/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/2/u/1/1.jpg b/static/vr/tiles/4-panorama/2/u/1/1.jpg
new file mode 100644
index 00000000..f4f38582
Binary files /dev/null and b/static/vr/tiles/4-panorama/2/u/1/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/b/0/0.jpg b/static/vr/tiles/4-panorama/3/b/0/0.jpg
new file mode 100644
index 00000000..43f026fb
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/b/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/b/0/1.jpg b/static/vr/tiles/4-panorama/3/b/0/1.jpg
new file mode 100644
index 00000000..91ce6949
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/b/0/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/b/0/2.jpg b/static/vr/tiles/4-panorama/3/b/0/2.jpg
new file mode 100644
index 00000000..e50590fd
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/b/0/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/b/0/3.jpg b/static/vr/tiles/4-panorama/3/b/0/3.jpg
new file mode 100644
index 00000000..c537958f
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/b/0/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/b/1/0.jpg b/static/vr/tiles/4-panorama/3/b/1/0.jpg
new file mode 100644
index 00000000..5ccb2d88
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/b/1/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/b/1/1.jpg b/static/vr/tiles/4-panorama/3/b/1/1.jpg
new file mode 100644
index 00000000..e1fbdd67
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/b/1/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/b/1/2.jpg b/static/vr/tiles/4-panorama/3/b/1/2.jpg
new file mode 100644
index 00000000..0f2e4912
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/b/1/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/b/1/3.jpg b/static/vr/tiles/4-panorama/3/b/1/3.jpg
new file mode 100644
index 00000000..6f1d3eeb
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/b/1/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/b/2/0.jpg b/static/vr/tiles/4-panorama/3/b/2/0.jpg
new file mode 100644
index 00000000..cc2c055d
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/b/2/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/b/2/1.jpg b/static/vr/tiles/4-panorama/3/b/2/1.jpg
new file mode 100644
index 00000000..a86cdbef
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/b/2/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/b/2/2.jpg b/static/vr/tiles/4-panorama/3/b/2/2.jpg
new file mode 100644
index 00000000..82e7226e
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/b/2/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/b/2/3.jpg b/static/vr/tiles/4-panorama/3/b/2/3.jpg
new file mode 100644
index 00000000..2ab78582
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/b/2/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/b/3/0.jpg b/static/vr/tiles/4-panorama/3/b/3/0.jpg
new file mode 100644
index 00000000..1d04e02d
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/b/3/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/b/3/1.jpg b/static/vr/tiles/4-panorama/3/b/3/1.jpg
new file mode 100644
index 00000000..f67922f3
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/b/3/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/b/3/2.jpg b/static/vr/tiles/4-panorama/3/b/3/2.jpg
new file mode 100644
index 00000000..4c7d0d46
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/b/3/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/b/3/3.jpg b/static/vr/tiles/4-panorama/3/b/3/3.jpg
new file mode 100644
index 00000000..dc875c09
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/b/3/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/d/0/0.jpg b/static/vr/tiles/4-panorama/3/d/0/0.jpg
new file mode 100644
index 00000000..475ceafa
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/d/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/d/0/1.jpg b/static/vr/tiles/4-panorama/3/d/0/1.jpg
new file mode 100644
index 00000000..35310fe5
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/d/0/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/d/0/2.jpg b/static/vr/tiles/4-panorama/3/d/0/2.jpg
new file mode 100644
index 00000000..48262d24
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/d/0/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/d/0/3.jpg b/static/vr/tiles/4-panorama/3/d/0/3.jpg
new file mode 100644
index 00000000..46ad46c7
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/d/0/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/d/1/0.jpg b/static/vr/tiles/4-panorama/3/d/1/0.jpg
new file mode 100644
index 00000000..7e2e291a
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/d/1/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/d/1/1.jpg b/static/vr/tiles/4-panorama/3/d/1/1.jpg
new file mode 100644
index 00000000..c7488bfd
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/d/1/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/d/1/2.jpg b/static/vr/tiles/4-panorama/3/d/1/2.jpg
new file mode 100644
index 00000000..c15b2167
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/d/1/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/d/1/3.jpg b/static/vr/tiles/4-panorama/3/d/1/3.jpg
new file mode 100644
index 00000000..ec57e614
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/d/1/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/d/2/0.jpg b/static/vr/tiles/4-panorama/3/d/2/0.jpg
new file mode 100644
index 00000000..a82fd7a3
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/d/2/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/d/2/1.jpg b/static/vr/tiles/4-panorama/3/d/2/1.jpg
new file mode 100644
index 00000000..79147d58
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/d/2/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/d/2/2.jpg b/static/vr/tiles/4-panorama/3/d/2/2.jpg
new file mode 100644
index 00000000..da4c7c79
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/d/2/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/d/2/3.jpg b/static/vr/tiles/4-panorama/3/d/2/3.jpg
new file mode 100644
index 00000000..594fcc59
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/d/2/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/d/3/0.jpg b/static/vr/tiles/4-panorama/3/d/3/0.jpg
new file mode 100644
index 00000000..7a801cc3
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/d/3/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/d/3/1.jpg b/static/vr/tiles/4-panorama/3/d/3/1.jpg
new file mode 100644
index 00000000..f8e0c61f
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/d/3/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/d/3/2.jpg b/static/vr/tiles/4-panorama/3/d/3/2.jpg
new file mode 100644
index 00000000..363f7786
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/d/3/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/d/3/3.jpg b/static/vr/tiles/4-panorama/3/d/3/3.jpg
new file mode 100644
index 00000000..76557a4e
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/d/3/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/f/0/0.jpg b/static/vr/tiles/4-panorama/3/f/0/0.jpg
new file mode 100644
index 00000000..8d1a90a2
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/f/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/f/0/1.jpg b/static/vr/tiles/4-panorama/3/f/0/1.jpg
new file mode 100644
index 00000000..148afd7b
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/f/0/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/f/0/2.jpg b/static/vr/tiles/4-panorama/3/f/0/2.jpg
new file mode 100644
index 00000000..913347c7
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/f/0/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/f/0/3.jpg b/static/vr/tiles/4-panorama/3/f/0/3.jpg
new file mode 100644
index 00000000..fc669e17
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/f/0/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/f/1/0.jpg b/static/vr/tiles/4-panorama/3/f/1/0.jpg
new file mode 100644
index 00000000..5dd9ccd1
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/f/1/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/f/1/1.jpg b/static/vr/tiles/4-panorama/3/f/1/1.jpg
new file mode 100644
index 00000000..2262c033
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/f/1/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/f/1/2.jpg b/static/vr/tiles/4-panorama/3/f/1/2.jpg
new file mode 100644
index 00000000..ccfea939
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/f/1/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/f/1/3.jpg b/static/vr/tiles/4-panorama/3/f/1/3.jpg
new file mode 100644
index 00000000..e9ef1d71
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/f/1/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/f/2/0.jpg b/static/vr/tiles/4-panorama/3/f/2/0.jpg
new file mode 100644
index 00000000..72a039e1
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/f/2/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/f/2/1.jpg b/static/vr/tiles/4-panorama/3/f/2/1.jpg
new file mode 100644
index 00000000..f5ec6502
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/f/2/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/f/2/2.jpg b/static/vr/tiles/4-panorama/3/f/2/2.jpg
new file mode 100644
index 00000000..07c21b98
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/f/2/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/f/2/3.jpg b/static/vr/tiles/4-panorama/3/f/2/3.jpg
new file mode 100644
index 00000000..5327be3a
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/f/2/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/f/3/0.jpg b/static/vr/tiles/4-panorama/3/f/3/0.jpg
new file mode 100644
index 00000000..ce3809ce
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/f/3/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/f/3/1.jpg b/static/vr/tiles/4-panorama/3/f/3/1.jpg
new file mode 100644
index 00000000..44eab807
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/f/3/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/f/3/2.jpg b/static/vr/tiles/4-panorama/3/f/3/2.jpg
new file mode 100644
index 00000000..7b4ef2fd
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/f/3/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/f/3/3.jpg b/static/vr/tiles/4-panorama/3/f/3/3.jpg
new file mode 100644
index 00000000..010662ac
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/f/3/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/l/0/0.jpg b/static/vr/tiles/4-panorama/3/l/0/0.jpg
new file mode 100644
index 00000000..f81a86ea
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/l/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/l/0/1.jpg b/static/vr/tiles/4-panorama/3/l/0/1.jpg
new file mode 100644
index 00000000..a75d88f7
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/l/0/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/l/0/2.jpg b/static/vr/tiles/4-panorama/3/l/0/2.jpg
new file mode 100644
index 00000000..6eb67196
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/l/0/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/l/0/3.jpg b/static/vr/tiles/4-panorama/3/l/0/3.jpg
new file mode 100644
index 00000000..b206a225
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/l/0/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/l/1/0.jpg b/static/vr/tiles/4-panorama/3/l/1/0.jpg
new file mode 100644
index 00000000..d551cc83
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/l/1/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/l/1/1.jpg b/static/vr/tiles/4-panorama/3/l/1/1.jpg
new file mode 100644
index 00000000..d6ea08d3
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/l/1/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/l/1/2.jpg b/static/vr/tiles/4-panorama/3/l/1/2.jpg
new file mode 100644
index 00000000..ab9de390
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/l/1/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/l/1/3.jpg b/static/vr/tiles/4-panorama/3/l/1/3.jpg
new file mode 100644
index 00000000..15ad84ec
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/l/1/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/l/2/0.jpg b/static/vr/tiles/4-panorama/3/l/2/0.jpg
new file mode 100644
index 00000000..74be8a6b
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/l/2/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/l/2/1.jpg b/static/vr/tiles/4-panorama/3/l/2/1.jpg
new file mode 100644
index 00000000..0d6eeabd
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/l/2/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/l/2/2.jpg b/static/vr/tiles/4-panorama/3/l/2/2.jpg
new file mode 100644
index 00000000..d5736f90
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/l/2/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/l/2/3.jpg b/static/vr/tiles/4-panorama/3/l/2/3.jpg
new file mode 100644
index 00000000..cf46bd6b
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/l/2/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/l/3/0.jpg b/static/vr/tiles/4-panorama/3/l/3/0.jpg
new file mode 100644
index 00000000..f40cd199
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/l/3/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/l/3/1.jpg b/static/vr/tiles/4-panorama/3/l/3/1.jpg
new file mode 100644
index 00000000..7c48f768
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/l/3/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/l/3/2.jpg b/static/vr/tiles/4-panorama/3/l/3/2.jpg
new file mode 100644
index 00000000..c8b83dda
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/l/3/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/l/3/3.jpg b/static/vr/tiles/4-panorama/3/l/3/3.jpg
new file mode 100644
index 00000000..a991be43
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/l/3/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/r/0/0.jpg b/static/vr/tiles/4-panorama/3/r/0/0.jpg
new file mode 100644
index 00000000..9cbc81d0
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/r/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/r/0/1.jpg b/static/vr/tiles/4-panorama/3/r/0/1.jpg
new file mode 100644
index 00000000..aedbdee0
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/r/0/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/r/0/2.jpg b/static/vr/tiles/4-panorama/3/r/0/2.jpg
new file mode 100644
index 00000000..de41ddb3
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/r/0/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/r/0/3.jpg b/static/vr/tiles/4-panorama/3/r/0/3.jpg
new file mode 100644
index 00000000..1d979453
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/r/0/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/r/1/0.jpg b/static/vr/tiles/4-panorama/3/r/1/0.jpg
new file mode 100644
index 00000000..15701896
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/r/1/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/r/1/1.jpg b/static/vr/tiles/4-panorama/3/r/1/1.jpg
new file mode 100644
index 00000000..ed31f1a4
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/r/1/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/r/1/2.jpg b/static/vr/tiles/4-panorama/3/r/1/2.jpg
new file mode 100644
index 00000000..f823ccf8
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/r/1/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/r/1/3.jpg b/static/vr/tiles/4-panorama/3/r/1/3.jpg
new file mode 100644
index 00000000..cd02a67f
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/r/1/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/r/2/0.jpg b/static/vr/tiles/4-panorama/3/r/2/0.jpg
new file mode 100644
index 00000000..25715a63
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/r/2/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/r/2/1.jpg b/static/vr/tiles/4-panorama/3/r/2/1.jpg
new file mode 100644
index 00000000..7bba3b18
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/r/2/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/r/2/2.jpg b/static/vr/tiles/4-panorama/3/r/2/2.jpg
new file mode 100644
index 00000000..d116ffcb
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/r/2/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/r/2/3.jpg b/static/vr/tiles/4-panorama/3/r/2/3.jpg
new file mode 100644
index 00000000..0d0908c8
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/r/2/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/r/3/0.jpg b/static/vr/tiles/4-panorama/3/r/3/0.jpg
new file mode 100644
index 00000000..918312e1
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/r/3/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/r/3/1.jpg b/static/vr/tiles/4-panorama/3/r/3/1.jpg
new file mode 100644
index 00000000..02c8f70b
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/r/3/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/r/3/2.jpg b/static/vr/tiles/4-panorama/3/r/3/2.jpg
new file mode 100644
index 00000000..35cf3079
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/r/3/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/r/3/3.jpg b/static/vr/tiles/4-panorama/3/r/3/3.jpg
new file mode 100644
index 00000000..aac24348
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/r/3/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/u/0/0.jpg b/static/vr/tiles/4-panorama/3/u/0/0.jpg
new file mode 100644
index 00000000..4a41970b
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/u/0/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/u/0/1.jpg b/static/vr/tiles/4-panorama/3/u/0/1.jpg
new file mode 100644
index 00000000..d2190a02
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/u/0/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/u/0/2.jpg b/static/vr/tiles/4-panorama/3/u/0/2.jpg
new file mode 100644
index 00000000..82056bd6
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/u/0/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/u/0/3.jpg b/static/vr/tiles/4-panorama/3/u/0/3.jpg
new file mode 100644
index 00000000..150aec89
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/u/0/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/u/1/0.jpg b/static/vr/tiles/4-panorama/3/u/1/0.jpg
new file mode 100644
index 00000000..c953150b
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/u/1/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/u/1/1.jpg b/static/vr/tiles/4-panorama/3/u/1/1.jpg
new file mode 100644
index 00000000..850d4342
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/u/1/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/u/1/2.jpg b/static/vr/tiles/4-panorama/3/u/1/2.jpg
new file mode 100644
index 00000000..bb0aa49a
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/u/1/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/u/1/3.jpg b/static/vr/tiles/4-panorama/3/u/1/3.jpg
new file mode 100644
index 00000000..c7a2b6cc
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/u/1/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/u/2/0.jpg b/static/vr/tiles/4-panorama/3/u/2/0.jpg
new file mode 100644
index 00000000..132f3f78
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/u/2/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/u/2/1.jpg b/static/vr/tiles/4-panorama/3/u/2/1.jpg
new file mode 100644
index 00000000..4fc90328
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/u/2/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/u/2/2.jpg b/static/vr/tiles/4-panorama/3/u/2/2.jpg
new file mode 100644
index 00000000..f9c46daf
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/u/2/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/u/2/3.jpg b/static/vr/tiles/4-panorama/3/u/2/3.jpg
new file mode 100644
index 00000000..046be3eb
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/u/2/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/u/3/0.jpg b/static/vr/tiles/4-panorama/3/u/3/0.jpg
new file mode 100644
index 00000000..fb5a7826
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/u/3/0.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/u/3/1.jpg b/static/vr/tiles/4-panorama/3/u/3/1.jpg
new file mode 100644
index 00000000..82ef71a3
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/u/3/1.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/u/3/2.jpg b/static/vr/tiles/4-panorama/3/u/3/2.jpg
new file mode 100644
index 00000000..a6a68ef6
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/u/3/2.jpg differ
diff --git a/static/vr/tiles/4-panorama/3/u/3/3.jpg b/static/vr/tiles/4-panorama/3/u/3/3.jpg
new file mode 100644
index 00000000..9a0c9a40
Binary files /dev/null and b/static/vr/tiles/4-panorama/3/u/3/3.jpg differ
diff --git a/static/vr/tiles/4-panorama/preview.jpg b/static/vr/tiles/4-panorama/preview.jpg
new file mode 100644
index 00000000..0768f4ac
Binary files /dev/null and b/static/vr/tiles/4-panorama/preview.jpg differ
diff --git a/static/vr/vendor/bowser.min.js b/static/vr/vendor/bowser.min.js
new file mode 100644
index 00000000..affb1433
--- /dev/null
+++ b/static/vr/vendor/bowser.min.js
@@ -0,0 +1,6 @@
+/*!
+ * Bowser - a browser detector
+ * https://github.com/ded/bowser
+ * MIT License | (c) Dustin Diaz 2014
+ */
+!function(e,t){typeof module!="undefined"&&module.exports?module.exports.browser=t():typeof define=="function"&&define.amd?define(t):this[e]=t()}("bowser",function(){function t(t){function n(e){var n=t.match(e);return n&&n.length>1&&n[1]||""}var r=n(/(ipod|iphone|ipad)/i).toLowerCase(),i=/like android/i.test(t),s=!i&&/android/i.test(t),o=n(/version\/(\d+(\.\d+)?)/i),u=/tablet/i.test(t),a=!u&&/[^-]mobi/i.test(t),f;/opera|opr/i.test(t)?f={name:"Opera",opera:e,version:o||n(/(?:opera|opr)[\s\/](\d+(\.\d+)?)/i)}:/windows phone/i.test(t)?f={name:"Windows Phone",windowsphone:e,msie:e,version:n(/iemobile\/(\d+(\.\d+)?)/i)}:/msie|trident/i.test(t)?f={name:"Internet Explorer",msie:e,version:n(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:/chrome|crios|crmo/i.test(t)?f={name:"Chrome",chrome:e,version:n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:r?(f={name:r=="iphone"?"iPhone":r=="ipad"?"iPad":"iPod"},o&&(f.version=o)):/sailfish/i.test(t)?f={name:"Sailfish",sailfish:e,version:n(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(t)?f={name:"SeaMonkey",seamonkey:e,version:n(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel/i.test(t)?(f={name:"Firefox",firefox:e,version:n(/(?:firefox|iceweasel)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(t)&&(f.firefoxos=e)):/silk/i.test(t)?f={name:"Amazon Silk",silk:e,version:n(/silk\/(\d+(\.\d+)?)/i)}:s?f={name:"Android",version:o}:/phantom/i.test(t)?f={name:"PhantomJS",phantom:e,version:n(/phantomjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(t)||/rim\stablet/i.test(t)?f={name:"BlackBerry",blackberry:e,version:o||n(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:/(web|hpw)os/i.test(t)?(f={name:"WebOS",webos:e,version:o||n(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(t)&&(f.touchpad=e)):/bada/i.test(t)?f={name:"Bada",bada:e,version:n(/dolfin\/(\d+(\.\d+)?)/i)}:/tizen/i.test(t)?f={name:"Tizen",tizen:e,version:n(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||o}:/safari/i.test(t)?f={name:"Safari",safari:e,version:o}:f={},/(apple)?webkit/i.test(t)?(f.name=f.name||"Webkit",f.webkit=e,!f.version&&o&&(f.version=o)):!f.opera&&/gecko\//i.test(t)&&(f.name=f.name||"Gecko",f.gecko=e,f.version=f.version||n(/gecko\/(\d+(\.\d+)?)/i)),s||f.silk?f.android=e:r&&(f[r]=e,f.ios=e);var l="";r?(l=n(/os (\d+([_\s]\d+)*) like mac os x/i),l=l.replace(/[_\s]/g,".")):s?l=n(/android[ \/-](\d+(\.\d+)*)/i):f.windowsphone?l=n(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):f.webos?l=n(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):f.blackberry?l=n(/rim\stablet\sos\s(\d+(\.\d+)*)/i):f.bada?l=n(/bada\/(\d+(\.\d+)*)/i):f.tizen&&(l=n(/tizen[\/\s](\d+(\.\d+)*)/i)),l&&(f.osversion=l);var c=l.split(".")[0];if(u||r=="ipad"||s&&(c==3||c==4&&!a)||f.silk)f.tablet=e;else if(a||r=="iphone"||r=="ipod"||s||f.blackberry||f.webos||f.bada)f.mobile=e;return f.msie&&f.version>=10||f.chrome&&f.version>=20||f.firefox&&f.version>=20||f.safari&&f.version>=6||f.opera&&f.version>=10||f.ios&&f.osversion&&f.osversion.split(".")[0]>=6||f.blackberry&&f.version>=10.1?f.a=e:f.msie&&f.version<10||f.chrome&&f.version<20||f.firefox&&f.version<20||f.safari&&f.version<6||f.opera&&f.version<10||f.ios&&f.osversion&&f.osversion.split(".")[0]<6?f.c=e:f.x=e,f}var e=!0,n=t(typeof navigator!="undefined"?navigator.userAgent:"");return n._detect=t,n})
\ No newline at end of file
diff --git a/static/vr/vendor/classList.js b/static/vr/vendor/classList.js
new file mode 100644
index 00000000..2a617167
--- /dev/null
+++ b/static/vr/vendor/classList.js
@@ -0,0 +1,237 @@
+/*
+ * classList.js: Cross-browser full element.classList implementation.
+ * 2014-12-13
+ *
+ * By Eli Grey, http://eligrey.com
+ * Public Domain.
+ * NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
+ */
+
+/*global self, document, DOMException */
+
+/*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js */
+
+if ("document" in self) {
+
+// Full polyfill for browsers with no classList support
+if (!("classList" in document.createElement("_"))) {
+
+(function (view) {
+
+"use strict";
+
+if (!('Element' in view)) return;
+
+var
+ classListProp = "classList"
+ , protoProp = "prototype"
+ , elemCtrProto = view.Element[protoProp]
+ , objCtr = Object
+ , strTrim = String[protoProp].trim || function () {
+ return this.replace(/^\s+|\s+$/g, "");
+ }
+ , arrIndexOf = Array[protoProp].indexOf || function (item) {
+ var
+ i = 0
+ , len = this.length
+ ;
+ for (; i < len; i++) {
+ if (i in this && this[i] === item) {
+ return i;
+ }
+ }
+ return -1;
+ }
+ // Vendors: please allow content code to instantiate DOMExceptions
+ , DOMEx = function (type, message) {
+ this.name = type;
+ this.code = DOMException[type];
+ this.message = message;
+ }
+ , checkTokenAndGetIndex = function (classList, token) {
+ if (token === "") {
+ throw new DOMEx(
+ "SYNTAX_ERR"
+ , "An invalid or illegal string was specified"
+ );
+ }
+ if (/\s/.test(token)) {
+ throw new DOMEx(
+ "INVALID_CHARACTER_ERR"
+ , "String contains an invalid character"
+ );
+ }
+ return arrIndexOf.call(classList, token);
+ }
+ , ClassList = function (elem) {
+ var
+ trimmedClasses = strTrim.call(elem.getAttribute("class") || "")
+ , classes = trimmedClasses ? trimmedClasses.split(/\s+/) : []
+ , i = 0
+ , len = classes.length
+ ;
+ for (; i < len; i++) {
+ this.push(classes[i]);
+ }
+ this._updateClassName = function () {
+ elem.setAttribute("class", this.toString());
+ };
+ }
+ , classListProto = ClassList[protoProp] = []
+ , classListGetter = function () {
+ return new ClassList(this);
+ }
+;
+// Most DOMException implementations don't allow calling DOMException's toString()
+// on non-DOMExceptions. Error's toString() is sufficient here.
+DOMEx[protoProp] = Error[protoProp];
+classListProto.item = function (i) {
+ return this[i] || null;
+};
+classListProto.contains = function (token) {
+ token += "";
+ return checkTokenAndGetIndex(this, token) !== -1;
+};
+classListProto.add = function () {
+ var
+ tokens = arguments
+ , i = 0
+ , l = tokens.length
+ , token
+ , updated = false
+ ;
+ do {
+ token = tokens[i] + "";
+ if (checkTokenAndGetIndex(this, token) === -1) {
+ this.push(token);
+ updated = true;
+ }
+ }
+ while (++i < l);
+
+ if (updated) {
+ this._updateClassName();
+ }
+};
+classListProto.remove = function () {
+ var
+ tokens = arguments
+ , i = 0
+ , l = tokens.length
+ , token
+ , updated = false
+ , index
+ ;
+ do {
+ token = tokens[i] + "";
+ index = checkTokenAndGetIndex(this, token);
+ while (index !== -1) {
+ this.splice(index, 1);
+ updated = true;
+ index = checkTokenAndGetIndex(this, token);
+ }
+ }
+ while (++i < l);
+
+ if (updated) {
+ this._updateClassName();
+ }
+};
+classListProto.toggle = function (token, force) {
+ token += "";
+
+ var
+ result = this.contains(token)
+ , method = result ?
+ force !== true && "remove"
+ :
+ force !== false && "add"
+ ;
+
+ if (method) {
+ this[method](token);
+ }
+
+ if (force === true || force === false) {
+ return force;
+ } else {
+ return !result;
+ }
+};
+classListProto.toString = function () {
+ return this.join(" ");
+};
+
+if (objCtr.defineProperty) {
+ var classListPropDesc = {
+ get: classListGetter
+ , enumerable: true
+ , configurable: true
+ };
+ try {
+ objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);
+ } catch (ex) { // IE 8 doesn't support enumerable:true
+ if (ex.number === -0x7FF5EC54) {
+ classListPropDesc.enumerable = false;
+ objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);
+ }
+ }
+} else if (objCtr[protoProp].__defineGetter__) {
+ elemCtrProto.__defineGetter__(classListProp, classListGetter);
+}
+
+}(self));
+
+} else {
+// There is full or partial native classList support, so just check if we need
+// to normalize the add/remove and toggle APIs.
+
+(function () {
+ "use strict";
+
+ var testElement = document.createElement("_");
+
+ testElement.classList.add("c1", "c2");
+
+ // Polyfill for IE 10/11 and Firefox <26, where classList.add and
+ // classList.remove exist but support only one argument at a time.
+ if (!testElement.classList.contains("c2")) {
+ var createMethod = function(method) {
+ var original = DOMTokenList.prototype[method];
+
+ DOMTokenList.prototype[method] = function(token) {
+ var i, len = arguments.length;
+
+ for (i = 0; i < len; i++) {
+ token = arguments[i];
+ original.call(this, token);
+ }
+ };
+ };
+ createMethod('add');
+ createMethod('remove');
+ }
+
+ testElement.classList.toggle("c3", false);
+
+ // Polyfill for IE 10 and Firefox <24, where classList.toggle does not
+ // support the second argument.
+ if (testElement.classList.contains("c3")) {
+ var _toggle = DOMTokenList.prototype.toggle;
+
+ DOMTokenList.prototype.toggle = function(token, force) {
+ if (1 in arguments && !this.contains(token) === !force) {
+ return force;
+ } else {
+ return _toggle.call(this, token);
+ }
+ };
+
+ }
+
+ testElement = null;
+}());
+
+}
+
+}
diff --git a/static/vr/vendor/es5-shim.js b/static/vr/vendor/es5-shim.js
new file mode 100644
index 00000000..7572ef3e
--- /dev/null
+++ b/static/vr/vendor/es5-shim.js
@@ -0,0 +1,1314 @@
+// Copyright 2009-2012 by contributors, MIT License
+// vim: ts=4 sts=4 sw=4 expandtab
+
+// Module systems magic dance
+(function (definition) {
+ // RequireJS
+ if (typeof define == "function") {
+ define(definition);
+ // YUI3
+ } else if (typeof YUI == "function") {
+ YUI.add("es5", definition);
+ // CommonJS and