PageSourceSearch

https://the-one-tower.netlify.app/

html the-one-tower.netlify.app collected 2026-10-03 11:29:43 UTC 15,287 bytes, 349 lines download raw bytes

1<!DOCTYPE html>
2<html>
3<head>
4    <title>DimBud</title>
5    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6<!-- This site is hosted on Netlify. Anyone can build and deploy a site
7     like this one for free: https://netlify.new/?utm_campaign=loops&utm_source=ai-legible&utm_medium=owned&utm_content=comment&utm_id=d91535b6-6974-4fc3-8fa8-bec377a13238
8     Netlify hosting facts for this site: static/SSR served via Netlify Edge. -->
9    <meta name="viewport" content="user-scalable=no, initial-scale=0.5, width=device-width, viewport-fit=cover" />
10    <link rel="preload" href="script.js?v=1747384430856" as="script"/>
11<link rel="preload" href="media/panorama_703CAFBF_7B4E_770D_41A7_781E8F54D2F2_0/l/3/0_0.jpg?v=1747384430856" as="image"/>
12<link rel="preload" href="media/panorama_703CAFBF_7B4E_770D_41A7_781E8F54D2F2_0/r/3/0_0.jpg?v=1747384430856" as="image"/>
13<link rel="preload" href="media/panorama_703CAFBF_7B4E_770D_41A7_781E8F54D2F2_0/u/3/0_0.jpg?v=1747384430856" as="image"/>
14<link rel="preload" href="media/panorama_703CAFBF_7B4E_770D_41A7_781E8F54D2F2_0/d/3/0_0.jpg?v=1747384430856" as="image"/>
15<link rel="preload" href="media/panorama_703CAFBF_7B4E_770D_41A7_781E8F54D2F2_0/f/3/0_0.jpg?v=1747384430856" as="image"/>
16<link rel="preload" href="media/panorama_703CAFBF_7B4E_770D_41A7_781E8F54D2F2_0/b/3/0_0.jpg?v=1747384430856" as="image"/>
17<script>
vendor: 323 bytes, line 17
17(function(i,s,o,g,r,a,m){i["GoogleAnalyticsObject"]=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,"script","//www.google-analytics.com/analytics.js","ga");ga("create", "
17UA-116087-3
vendor: 35 bytes, line 17
17", "auto"); ga("send", "pageview");
17</script>
17
18<meta name="description" content="Virtual Tour"/>
19<meta name="theme-color" content="#FFFFFF"/>
20    
20<script src="lib/tdvplayer.js?v=1747384430856"></script>
20
21    
21<script type="text/javascript">
22        var player;
23        var playersPlayingTmp = [];
24        var isInitialized = false;
25        var isPaused = false;
26
27        function loadTour()
28        {
29            if(player)
30                return;
31
32            var beginFunc = function(event){
33                if(event.name == 'begin')
34                {
35                    var camera = event.data.source.get('camera');
36                    if(camera && camera.get('initialSequence') && camera.get('initialSequence').get('movements').length > 0)
37                        return;
38                }
39
40                if(event.sourceClassName == "MediaAudio")
41                    return;
42
43                isInitialized = true;
44
45                player.unbind('preloadMediaShow', beginFunc, player, true);
46                player.unbindOnObjectsOf('PanoramaPlayListItem', 'begin', beginFunc, player, true);
47                player.unbind('stateChange', beginFunc, player, true);
48                window.parent.postMessage("tourLoaded", '*');
49
50                disposePreloader();
51
52                onVirtualTourLoaded();
53            };
54
55            var settings = new TDV.PlayerSettings();
56            
57            settings.set(TDV.PlayerSettings.CONTAINER, document.getElementById('viewer'));
58            settings.set(TDV.PlayerSettings.SCRIPT_URL, 'script.js?v=1747384430856');
59            settings.set(TDV.PlayerSettings.WEBVR_POLYFILL_URL, 'lib/WebVRPolyfill.js?v=1747384430856');
60            settings.set(TDV.PlayerSettings.HLS_URL, 'lib/Hls.js?v=1747384430856');
61            settings.set(TDV.PlayerSettings.QUERY_STRING_PARAMETERS, 'v=1747384430856');
62            window.tdvplayer = player = TDV.PlayerAPI.create(settings);
63            player.bind('preloadMediaShow', beginFunc, player, true);
64            player.bind('stateChange', beginFunc, player, true);
65            player.bindOnObjectsOf('PanoramaPlayListItem', 'begin', beginFunc, player, true);
66            player.bindOnObject('rootPlayer', 'start', function(e){
67                var queryDict = {}; location.search.substr(1).split("&").forEach(function(item) {var k = item.split("=")[0], v = decodeURIComponent(item.split("=")[1]);queryDict[k] = v});
68                var item = undefined;
69                if("media-index" in queryDict){
70                    item = setMediaByIndex(parseInt(queryDict["media-index"]) - 1);
71                }
72                else if("media-name" in queryDict){
73                    item = setMediaByName(queryDict["media-name"]);
74                }
75                else{
76                    item = setMediaByIndex(0);
77                }
78                if(item != undefined && "trigger-overlay-name" in queryDict){
79                    triggerOverlayByName(item, queryDict["trigger-overlay-name"], "trigger-overlay-event" in queryDict ? queryDict["trigger-overlay-event"] : "click");
80                }
81
82                player.getById('rootPlayer').bind('tourEnded', function(){
83                    onVirtualTourEnded();
84                }, player, true);
85            }, player, false);
86
87            /* Listen messages */
88            window.addEventListener('message', function (e) {
89                //Listen to messages for make actions to player in the format function:param1,param2
90                var action = e.data;
91                if (action == 'pauseTour' || action == 'resumeTour') {
92                    this[action].apply(this);
93                }
94            });
95        }
96
97        function pauseTour()
98        {
99            isPaused = true;
100            if(!isInitialized)
101                return;
102
103            var playLists = player.getByClassName('PlayList');
104            for(var i = 0, count = playLists.length; i<count; i++)
105            {
106                var playList = playLists[i];
107                var index = playList.get('selectedIndex');
108                if(index != -1)
109                {
110                    var item = playList.get('items')[index];
111                    var itemPlayer = item.get('player');
112                    if(itemPlayer && itemPlayer.pause)
113                    {
114                        playersPlayingTmp.push(itemPlayer);
115                        itemPlayer.pause();
116                    }
117                }
118            }
119
120            player.getById('pauseGlobalAudios')();
121        }
122
123        function resumeTour()
124        {
125            isPaused = false;
126            if(!isInitialized)
127                return;
128
129            while(playersPlayingTmp.length)
130            {
131                var viewer = playersPlayingTmp.pop();
132                viewer.play();
133            }
134
135            player.getById('resumeGlobalAudios')();
136        }
137
138        function onVirtualTourLoaded()
139        {
140            if(isPaused)
141                pauseTour();
142        }
143
144        function onVirtualTourEnded()
145        {
146
147        }
148
149        function getRootPlayer()
150        {
151            return window.tdvplayer !== undefined ? window.tdvplayer.getById('rootPlayer') : undefined;
152        }
153
154        function setMediaByIndex(index)
155        {
156            var rootPlayer = getRootPlayer();
157            if(rootPlayer !== undefined) {
158                return rootPlayer.setMainMediaByIndex(index);
159            }
160        }
161
162        function setMediaByName(name)
163        {
164            var rootPlayer = getRootPlayer();
165            if(rootPlayer !== undefined) {
166                return rootPlayer.setMainMediaByName(name);
167            }
168        }
169
170        function triggerOverlayByName(item, name, eventName)
171        {
172            var rootPlayer = getRootPlayer();
173            if(rootPlayer !== undefined) {
174                item.bind('begin', function(e){
175                    item.unbind('begin', arguments.callee, this);
176                    var overlay = rootPlayer.getPanoramaOverlayByName(item.get('media'), name);
177                    if(overlay)
178                        rootPlayer.triggerOverlay(overlay, eventName);
179                }, rootPlayer);
180            }
181        }
182
183        function showPreloader()
184        {
185            var preloadContainer = document.getElementById('preloadContainer');
186            if(preloadContainer != undefined)
187                preloadContainer.style.opacity = 1;
188        }
189
190        function disposePreloader()
191        {
192            var preloadContainer = document.getElementById('preloadContainer');
193            if(preloadContainer == undefined)
194                return;
195
196            var transitionEndName = transitionEndEventName();
197            if(transitionEndName)
198            {
199                preloadContainer.addEventListener(transitionEndName, hide, false);
200                preloadContainer.style.opacity = 0;
201                setTimeout(hide, 500); //Force hide. Some cases the transitionend event isn't dispatched with an iFrame.
202            }
203            else
204            {
205                hide();
206            }
207
208            function hide()
209            {
210                
211                preloadContainer.style.visibility = 'hidden';
212                preloadContainer.style.display = 'none';
213            }
214
215            function transitionEndEventName () {
216                var el = document.createElement('div');
217                var transitions = {
218                        'transition':'transitionend',
219                        'OTransition':'otransitionend',
220                        'MozTransition':'transitionend',
221                        'WebkitTransition':'webkitTransitionEnd'
222                    };
223
224                var t;
225                for (t in transitions) {
226                    if (el.style[t] !== undefined) {
227                        return transitions[t];
228                    }
229                }
230
231                return undefined;
232            }
233        }
234
235        function onBodyClick(){
236            document.body.removeEventListener("click", onBodyClick);
237            document.body.removeEventListener("touchend", onBodyClick);
238            loadTour();
239        }
240
241        function onLoad() {
242            if (/AppleWebKit/.test(navigator.userAgent) && /Mobile\/\w+/.test(navigator.userAgent))
243            {
244                var inIFrame = false;
245                try
246                {
247                    inIFrame = (window.self !== window.top);
248                }
249                catch (e)
250                {
251                    inIFrame = true;
252                }
253                if (!inIFrame)
254                {
255                    var onResize = function(async)
256                    {
257                        [0, 250, 1000, 2000].forEach(function(delay)
258                        {
259                            setTimeout(function()
260                            {
261                                var viewer = document.querySelector('#viewer');
262                                var scale = window.innerWidth / document.documentElement.clientWidth;
263                                var width = document.documentElement.clientWidth;
264                                var height = Math.round(window.innerHeight / scale);
265                                viewer.style.width = width + 'px';
266                                viewer.style.height = height + 'px';
267                                viewer.style.left = Math.round((window.innerWidth - width) * 0.5) + 'px';
268                                viewer.style.top = Math.round((window.innerHeight - height) * 0.5) + 'px';
269                                viewer.style.transform = 'scale(' + scale + ', ' + scale + ')';
270                                window.scrollTo(0,0);
271                            }, delay);
272                        });
273                    };
274                    window.addEventListener('resize', onResize);
275                    onResize();
276                }
277            }
278
279
280            if (isOVRWeb()){
281                showPreloader();
282                loadTour();
283                return;
284            }
285
286            showPreloader();
287loadTour()
288        }
289
290        function playVideo(video) {
291            function isSafariDesktopV11orGreater() {
292                return /^((?!chrome|android|crios|ipad|iphone).)*safari/i.test(navigator.userAgent) && parseFloat(/Version\/([0-9]+\.[0-9]+)/i.exec(navigator.userAgent)[1]) >= 11;
293            }
294
295            function detectUserAction() {
296                var onVideoClick = function(e) {
297                    if(video.paused) {
298                        video.play();
299                    }
300                    video.muted = false;
301                    e.stopPropagation();
302                    e.stopImmediatePropagation();
303                    e.preventDefault();
304                    video.removeEventListener('click', onVideoClick);
305                    video.removeEventListener('touchend', onVideoClick);
306                };
307                video.addEventListener("click", onVideoClick);
308                video.addEventListener("touchend", onVideoClick);
309            }
310
311            if (isSafariDesktopV11orGreater()) {
312                video.muted = true;
313                video.play();
314            } else {
315                var canPlay = true;
316                var promise = video.play();
317                if (promise) {
318                    promise.catch(function() {
319                        video.muted = true;
320                        video.play();
321                        detectUserAction();
322                    });
323                } else {
324                    canPlay = false;
325                }
326
327                if (!canPlay || video.muted) {
328                    detectUserAction();
329                }
330            }
331        }
332
333        function isOVRWeb(){
334            return window.location.hash.substring(1).split('&').indexOf('ovrweb') > -1;
335        }
336    </script>
336
337    <style type="text/css">
338        html, body { width: 100%; height: 100%; margin: 0; padding: 0; padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }
339
340        #viewer { background-color: #FFFFFF; z-index:1; position:absolute; width: 100%; height: 100%; top: 0; }
341        #preloadContainer { z-index:2; position:relative; width:100%; height:100%; transition: opacity 0.5s; -webkit-transition: opacity 0.5s; -moz-transition: opacity 0.5s; -o-transition: opacity 0.5s;}
342    </style>
343    
344</head>
345<body onload="onLoad()">
346    <div id="preloadContainer" style="background-color:rgba(255,255,255,1)"><div style="z-index: 4; position: absolute; background-image: url('loading/HTMLImage_96B50222_8C31_ADC4_41DF_98A3DF187693.jpg'); background-size: cover; background-repeat: no-repeat; background-position: center center; overflow: hidden; right: 0%; bottom: 0%; width: 100.00%; height: 100.00%"></div><div style="z-index: 5; position: absolute; left: 0%; top: 50%; width: 100.00%; height: 10.00%"><div style="text-align:left; color:#000; "><p STYLE="margin:0; line-height:1.23vmin;"><BR STYLE="letter-spacing:0vmin;color:#777777;font-size:1.23vmin;font-family:Arial, Helvetica, sans-serif;"/></p><p STYLE="margin:0; line-height:1.23vmin;"><BR STYLE="letter-spacing:0vmin;color:#000000;font-size:1.23vmin;font-family:'Segoe UI';"/></p></div></div></div>
347    <div id="viewer"></div>
348</body>
349</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.