1<!doctype html> 2<html lang="en"> 3<head> 4<meta charset="utf-8"> 5 6<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 7 8<title>RVOvernights - Home</title>
9<script type="text/javascript"> 10 window.bubble_session_uid = '1790616292534x146594644059588220'; 11</script>
vendor: 1 bytes, line 11
11
12<script type="text/javascript"> 13 window.headers_source_maps = [["plugin_main_headers_1498171554228x105618760361836540",216,220],["plugin_main_headers_1499780054879x111265002286743550",221,226],["plugin_main_headers_1511219683528x454660121898516500",227,231],["plugin_main_headers_1552401463205x225714219237769200",232,239],["plugin_main_headers_1580238841425x582072028873097200",240,271],["plugin_main_headers_1582601241392x653181519983018000",272,273],["plugin_main_headers_1599995578736x177952455708377100",274,286],["plugin_main_headers_1605374038476x675095182407893000",287,291],["plugin_main_headers_1609209698393x206083649188921340",292,293],["plugin_main_headers_1618916043803x877032991371296800",294,541],["plugin_main_headers_1656156230536x298565765509152800",542,546],["plugin_main_headers_1661717622628x490300288223674400",547,554],["plugin_main_headers_1684902368159x419120401826185200",555,629],["plugin_main_headers_1765444535861x896795619890036700",630,631],["plugin_page_headers_ABj",632,634],["plugin_page_headers_AAC",635,637],["custom_app_header",639,662]] 14</script>
vendor: 1 bytes, line 14
14
15<script type="text/javascript"> 16function make_proxy(target, name) { 17 return new Proxy(target, { 18 get: function(target, prop) { 19 if (prop in target) { 20 return target[prop]; 21 } 22 throw new Error('The variable ' + name + ' is not fully initialized yet'); 23 } 24 }); 25} 26window.appquery = make_proxy({ 27 app_version: function() { return "live"; }, 28 last_change: function() { return "65504620879";}, 29}, 'appquery'); 30window.Lib = new Proxy(function() {}, { 31 get: function(target, prop) { 32 if (prop === 'is_skeleton') { 33 return true; 34 } 35 throw new Error('The variable ' + Lib + ' is not fully initialized yet'); 36 }, 37 apply: function() { 38 return make_proxy({ 39 current_user: function() { 40 return make_proxy({ id: "1790616292534x146594644059588220" }, 'Lib().current_user'); 41 } 42 }, 'Lib()'); 43 } 44}); 45</script>
vendor: 1 bytes, line 45
45
46<script type="text/javascript"> 47function load_error_function (event) { 48 return window.load_error_log.push({ msg: event.message, error_url: event.filename, line: event.lineno, col: event.colno }) 49} 50window.load_error_log = []; 51window.addEventListener('error', load_error_function); 52window.disableLoadErrorFunction = function () { 53 window.removeEventListener('error', load_error_function); 54} 55</script>
55 56<meta name="referrer" content="origin">
57<script type="text/javascript"> 58if (!window._bubble_page_load_data) { 59 window._bubble_page_load_data = {} 60} 61if (!window._bubble_page_load_data.js_execution_timings) { 62 window._bubble_page_load_data.js_execution_timings = {} 63} 64window._bubble_page_load_data.js_execution_timings['pre_early_js'] = Date.now(); 65</script>
65<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/early_js/05ae9fe83d6b755291132aab9d325d70918aafd336da1bd91a41a31c8b25734b/early.js"></script>
65<script type="text/javascript"> 66if (!window._bubble_page_load_data) { 67 window._bubble_page_load_data = {} 68} 69if (!window._bubble_page_load_data.js_execution_timings) { 70 window._bubble_page_load_data.js_execution_timings = {} 71} 72window._bubble_page_load_data.js_execution_timings['post_early_js'] = Date.now(); 73</script>
vendor: 1 bytes, line 73
73
74<script type="text/javascript">(function () { 75 function onWebFontFinish () { 76 window.google_web_fonts_active = true; 77if (window.google_web_fonts_active_cb) { 78 window.google_web_fonts_active_cb(); 79} 80 (function fontface_loaded_snippet (font) { 81 if (window.fontface_loaded == null) { 82 window.fontface_loaded = {} 83 } 84 if (font != null) { 85 window.fontface_loaded[font] = true 86 } else { 87 window.all_fontface_loaded = true 88 } 89 if (window.fontface_webfonts_loaded_cb) { 90 return window.fontface_webfonts_loaded_cb(font) 91 } 92})() 93 } 94 const WebFontConfig = {'google': { families: ["Didact Gothic:regular","Inter:300","Inter:regular","Inter:regular","Inter:500","Inter:500","Inter:600","Inter:600","Inter:700","Inter:800","League Spartan:regular","League Spartan:500","League Spartan:600","League Spartan:700","Manrope:regular","Manrope:500","Manrope:700","Manrope:800","Teachers:regular","Teachers:500","Teachers:700"] },'custom': { families: ["SF Pro Bold","SF Pro Medium","SF Pro Regular"], urls: ["https://e0a96cc2463e889cd2914f75aaab2cb7.cdn.bubble.io/f1690907192868x210912477761751260/sfProBold.css","https://e0a96cc2463e889cd2914f75aaab2cb7.cdn.bubble.io/f1690907207632x226087860121514180/sfProMedium.css","https://e0a96cc2463e889cd2914f75aaab2cb7.cdn.bubble.io/f1690907213900x288645405335887800/sfProRegular.css"]}, 95 active: function() { 96 onWebFontFinish() 97 }, 98 inactive: function() { 99 console.log('Failed to load all the fonts'); 100 onWebFontFinish() 101 }, 102 fontinactive: function(family_name, fvd) { 103 console.log('fontinactive being called for ' + family_name + ', Google says the fonts didnt render'); 104 onWebFontFinish() 105 } 106 } 107 window.WebFont.load(WebFontConfig); 108})();</script>
vendor: 1 bytes, line 108
108
109<script> 110(function initialize_data() { 111const xhr = new XMLHttpRequest(); 112xhr.onreadystatechange = function() { 113 if (this.readyState === 4 && this.status === 200) { 114 const data = JSON.parse(this.responseText); 115 116 function init_data() { 117 data.forEach(function(d) { 118 Lib().db_instance().initialize_data(d.id, d.data, d.type, d.version); 119 }) 120 } 121 122 if (window.Lib && window.Lib.is_skeleton == null) { 123 init_data(); 124 } else { 125 window.Lib_post_load = init_data; 126 } 127 } 128}; 129xhr.open("GET", "https://rvovernights.app/api/1.1/init/data?location=" + encodeURIComponent(window.location.href), true); 130xhr.send(); 131})(); 132</script>
vendor: 1 bytes, line 132
132
133<script type="text/javascript">window.gm_key = "AIzaSyBXz3n4dOfB5V8h_aw954os-lWgh8K1n64";</script>
vendor: 1 bytes, line 133
133
134<script type="text/javascript">window.glrl_key_status = false;</script>
vendor: 1 bytes, line 134
134
135<script type="text/javascript">window.bubble_page_load_id = "1790616292599x1085";</script>
vendor: 1 bytes, line 135
135
136<script type="text/javascript">window.bubble_plp_token = "1790616292892.Pn3F/JM8Bf+WY+66J/dCXzADtJup4IjA7VCti4YE22Y=";</script>
vendor: 1 bytes, line 136
136
137<script type="text/javascript">window.bubble_is_leanjs = false;</script>
vendor: 1 bytes, line 137
137
138<script type="text/javascript">window.bubble_shim_modules = false;</script>
138 139<link rel="icon" type="image/png" href="https://e0a96cc2463e889cd2914f75aaab2cb7.cdn.bubble.io/cdn-cgi/image/w=128,h=,f=auto,dpr=1,fit=contain/f1680793168893x291265414762168060/Group%2034.png" /> 140<meta name="fragment" content="!"> 141<meta name="description" content="RVOvernights offers a member-based subscription to stay overnight at local businesses."> 142<link rel="canonical" href="https://rvovernights.app/"/> 143<meta property="og:title" content="RVOvernights - Let your guests stay the night" /> 144<meta name="twitter:title" content="RVOvernights - Let your guests stay the night" /> 145<meta property="og:site_name" content="RVOvernights" /> 146<meta name="twitter:site_name" content="RVOvernights" /> 147<meta property="og:description" content="RVOvernights offers a member-based subscription to stay overnight at local businesses." /> 148<meta name="twitter:description" content="RVOvernights offers a member-based subscription to stay overnight at local businesses." /> 149<link rel="image_src" href="https://d1muf25xaso8hp.cloudfront.net/https%3A%2F%2Fe0a96cc2463e889cd2914f75aaab2cb7.cdn.bubble.io%2Ff1693685759014x379049771760762400%2FWhere%2520will%2520you%2520stay%2520next%2520%252836%2520x%252024%2520in%2529.pdf?w=&h=&auto=compress&dpr=1&fit=max" /> 150<meta property="og:image" content="https://d1muf25xaso8hp.cloudfront.net/https%3A%2F%2Fe0a96cc2463e889cd2914f75aaab2cb7.cdn.bubble.io%2Ff1693685759014x379049771760762400%2FWhere%2520will%2520you%2520stay%2520next%2520%252836%2520x%252024%2520in%2529.pdf?w=&h=&auto=compress&dpr=1&fit=max" /> 151<meta name="twitter:image:src" content="https://d1muf25xaso8hp.cloudfront.net/https%3A%2F%2Fe0a96cc2463e889cd2914f75aaab2cb7.cdn.bubble.io%2Ff1693685759014x379049771760762400%2FWhere%2520will%2520you%2520stay%2520next%2520%252836%2520x%252024%2520in%2529.pdf?w=&h=&auto=compress&dpr=1&fit=max" /> 152<meta property="fb:app_id" content="560406789349169" /> 153<meta property="og:url" content="https://rvovernights.app/" /> 154<meta property="og:type" content="website" /> 155<meta name="twitter:card" content="summary_large_image" /> 156<meta name="viewport" content="width=device-width,initial-scale=1.0">
157<script type="text/javascript">window._p = '{"id":"app_team_2023","no_branding":true,"import_export_csv":true,"custom_domain":true}';</script>
vendor: 1 bytes, line 157
157
158<script type="text/javascript">window.bubble_page_name = "index";</script>
vendor: 1 bytes, line 158
158
159<script type="text/javascript">window.__bubble_module_mode = false;</script>
159 160<link type="text/css" href="/package/run_css/d2f0836f6c9b9853124a6510e48c46e1960fdbd94ad7f8fa23c6d269e94dbc9d/rvovernightsapp/live/index/xfalse/xfalse/run.css" rel="stylesheet">
161<script type="text/javascript"> 162if (!window._bubble_page_load_data) { 163 window._bubble_page_load_data = {} 164} 165if (!window._bubble_page_load_data.js_execution_timings) { 166 window._bubble_page_load_data.js_execution_timings = {} 167} 168window._bubble_page_load_data.js_execution_timings['pre_run_js'] = Date.now(); 169</script>
vendor: 1 bytes, line 169
169
170<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/pre_run_jquery_js/dee903a9e36db713e4c86d0cdd96d921e37be0c1293ed8dee29e2e4d7713b9ff/pre_run_jquery.js"></script>
vendor: 1 bytes, line 170
170
171<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/run_js/0e021cfb544305cb0985da3d6c5fc0d1845317f53d1318c1c7805236e6e85c77/xfalse/x29/run.js"></script>
vendor: 1 bytes, line 171
171
172<script type="text/javascript"> 173if (!window._bubble_page_load_data) { 174 window._bubble_page_load_data = {} 175} 176if (!window._bubble_page_load_data.js_execution_timings) { 177 window._bubble_page_load_data.js_execution_timings = {} 178} 179window._bubble_page_load_data.js_execution_timings['post_run_js'] = Date.now(); 180</script>
vendor: 1 bytes, line 180
180
181<script type="text/javascript"> 182if (!window._bubble_page_load_data) { 183 window._bubble_page_load_data = {} 184} 185if (!window._bubble_page_load_data.js_execution_timings) { 186 window._bubble_page_load_data.js_execution_timings = {} 187} 188window._bubble_page_load_data.js_execution_timings['pre_static_js'] = Date.now(); 189</script>
189<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/static_js/f7bc56145779e26cc79a5a529f0fe16898773b3f48b2d273d1a6d311d052ba6d/rvovernightsapp/live/index/xnull/xfalse/xfalse/xfalse/static.js"></script>
189<script type="text/javascript"> 190if (!window._bubble_page_load_data) { 191 window._bubble_page_load_data = {} 192} 193if (!window._bubble_page_load_data.js_execution_timings) { 194 window._bubble_page_load_data.js_execution_timings = {} 195} 196window._bubble_page_load_data.js_execution_timings['post_static_js'] = Date.now(); 197</script>
vendor: 1 bytes, line 197
197
198<script type="text/javascript"> 199if (!window._bubble_page_load_data) { 200 window._bubble_page_load_data = {} 201} 202if (!window._bubble_page_load_data.js_execution_timings) { 203 window._bubble_page_load_data.js_execution_timings = {} 204} 205window._bubble_page_load_data.js_execution_timings['pre_dynamic_js'] = Date.now(); 206</script>
206<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/dynamic_js/5b296ee77918bf2519293f95e854903df7caa6bb0a2aaf8c7d588103f1010801/rvovernightsapp/live/index/xnull/xfalse/xfalse/en_us/xfalse/xfalse/dynamic.js"></script>
206<script type="text/javascript"> 207if (!window._bubble_page_load_data) { 208 window._bubble_page_load_data = {} 209} 210if (!window._bubble_page_load_data.js_execution_timings) { 211 window._bubble_page_load_data.js_execution_timings = {} 212} 213window._bubble_page_load_data.js_execution_timings['post_dynamic_js'] = Date.now(); 214</script>
vendor: 1 bytes, line 214
214
215<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_start_execution = Date.now();</script>
215 216<!-- 1498171554228x105618760361836540 -->
217<script type="module"> 218 import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js"; 219 pluginAnalyzer("1498171554228x105618760361836540"); 220</script>
220 221<!-- 1499780054879x111265002286743550 -->
222<script type="module"> 223 import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js"; 224 pluginAnalyzer("1499780054879x111265002286743550"); 225</script>
vendor: 1 bytes, line 225
225
226<script id="apexcharts" src="https://cdnjs.cloudflare.com/ajax/libs/apexcharts/3.37.3/apexcharts.min.js"></script>
226 227<!-- 1511219683528x454660121898516500 -->
228<script type="module"> 229 import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js"; 230 pluginAnalyzer("1511219683528x454660121898516500"); 231</script>
231 232<!-- 1552401463205x225714219237769200 -->
233<script> 234class evaluation{constructor(e=500){this.gap=e,this.queue=[],this.isExecuting=!1,this.url=window.location.href,this.url&&-1!=this.url.indexOf("version-test")&&(this.isTestVersion=!0),window.pendingRemoveLoading&&this.removeLoading()}addToQueue(e,i={},s={}){this.queue.push({command:e,options:i,config:s}),this.processQueue()}addToTopOfQueue(e,i={},s={}){this.queue.unshift({command:e,options:i,config:s})}isPendingRemoveLoading(){return this.queue.length>0&&"removeLoading"==this.queue[0].command}processItem(){this.isExecuting=!0;var data=this.queue[0],allowed=!0;if(data.config.minVersion&&this.releaseVersion&&this.releaseVersion<data.config.minVersion&&(allowed=!1,this.showWarning("Upgrade BDK Native Engine","to use this feature")),data.config.maxVersion&&this.releaseVersion&&this.releaseVersion>data.config.maxVersion&&(allowed=!1),data.config.platform&&this.platform&&this.platform.toLowerCase()!=data.config.platform.toLowerCase()&&(allowed=!1),allowed)try{eval("$agent.trigger('"+data.command+"',"+JSON.stringify(data.options)+");")}catch(e){data.config.errorMessage&&console.log(data.config.errorMessage)}this.isNative&&this.queue.shift(),this.isNative||this.isPendingRemoveLoading||this.addToTopOfQueue("removeLoading"),setTimeout(this.processQueue.bind(this,[!0]),this.gap)}processQueue(e){e?this.queue.length>0?this.processItem():this.isExecuting=!1:!this.isExecuting&&this.queue.length>0&&this.processItem()}removeLoading(){this.isNative||this.pendingRemoveLoading||(this.addToTopOfQueue("removeLoading"),this.processQueue())}showWarning(title,description){this.isTestVersion&&eval("$agent.trigger('showBanner',"+JSON.stringify({title:title,description:description})+");")}}window.nativeprocessor=new evaluation(500); 235</script>
vendor: 1 bytes, line 235
235
236<script> 237window.injectCSS=function(e){let o=document.createElement("style");return o.innerText=e,document.head.appendChild(o),o},window.adjustedPageHeight=!1,window.advancedconfig="",document.addEventListener("DOMContentLoaded",function(){if(window){if(window.advancedconfig)try{window.bdkusersettings=JSON.parse(window.advancedconfig)}catch(e){window.bdkusersettings={}}else window.bdkusersettings={remove_loading:"automatic"};window.nativeprocessor?("manual"!==window.bdkusersettings.remove_loading?window.nativeprocessor.removeLoading():console.log("user will remove loading via workflow"),window.nativeprocessor.addToQueue("sendDeviceInfoToBubble"),window.nativeprocessor.processQueue()):window.pendingRemoveLoading=!0}else console.log("could not find window object")},!1),window.NativeReceivers={AddressBook:{},TakePhoto:{},SelectPhoto:{},Screenshot:{},AppInfo:{},ListTypeMenu:{},Barcode:{},DeviceLocation:{},DeviceVariable:{},HeaderMenuClicked:{},CaptureAudio:{},TakeVideo:{},SelectVideo:{},collectPopup:{},BackButtonPressed:{},PurchaseSuccess_ios:{},PurchaseFailed_ios:{},ReceiptsReceived_ios:{},PurchaseSuccess_android:{},PurchaseFailed_android:{},ReceiptsReceived_android:{},Datepicker:{},Optionpicker:{},Biometrics:{},SmartLogin:{}},window.activeReceivers={AddressBook:null,TakePhoto:null,SelectPhoto:null,Screenshot:null,AppInfo:null,ListTypeMenu:null,Barcode:null,DeviceLocation:null,DeviceVariable:null,HeaderMenuClicked:null,CaptureAudio:null,TakeVideo:null,SelectVideo:null,collectPopup:null,Datepicker:null,Optionpicker:null,Biometrics:null,SmartLogin:null},window.validateData=function(e){return null!=e&&(-1===e.indexOf("{{")&&-1===e.indexOf("$env")&&-1===e.indexOf("$get")&&-1===e.indexOf("$cache")&&-1===e.indexOf("}}"))},window.collectDeviceInfo=function(e,o,i,n,c,t,r,a,d,s,w,v,l,u,f,h,p,g,R,k,N){try{window.bdkNativeInfo={playerId:e,pushToken:o,deviceWidth:i,deviceHeight:n,deviceOS:c,deviceOSVersion:t,deviceLanguage:r,cameraPermissionStatus:a,contactsPermissionStatus:d,audiorecordPermissionStatus:s,externalstoragePermissionStatus:w,locationPermissionStatus:v,versionName:l,versionCode:u,deviceModel:f,bdkRelease:h,biometricsAvailable:"available"==p,smartLoginAvailable:"available"==g},window.validateData(R)&&(window.bdkNativeInfo.appTrackingPermissionStatus=R),window.validateData(k)&&(window.bdkNativeInfo.idfa=k),window.validateData(N)&&(window.bdkNativeInfo.viewType=N),window.nativeprocessor.isNative=!0,window.nativeprocessor.platform=c,window.nativeprocessor.releaseVersion=parseFloat(h),Object.keys(window.NativeReceivers.AppInfo).forEach(function(e){window.NativeReceivers.AppInfo[e](window.bdkNativeInfo)}),"ios"===c.toLowerCase()&&window.detectLinks(),window.nativeprocessor.isNative&&!window.adjustedPageHeight&&(window.injectCSS("body {\n min-height: calc(100vh - 39px);\n }\n .main-page.bubble-element.Page {\n min-height: calc(100vh - 39px);\n }"),window.adjustedPageHeight=!0)}catch(e){}},window.checkIfVersion=function(e,o){var i=!0;return o&&Number(window.bdkNativeInfo.bdkRelease)>o?i=!1:Number(window.bdkNativeInfo.bdkRelease)<e&&(i=!1),i},window.getContacts=function(e){try{var o=window.activeReceivers.AddressBook;window.NativeReceivers.AddressBook[o](e)}catch(e){console.log("No receiver found for information")}},window.collectSnapshot=function(e){try{var o=window.activeReceivers.Screenshot;window.NativeReceivers.Screenshot[o](e)}catch(e){console.log("No receiver found for information")}},window.onBiometricAuthentication_ios=function(e,o){try{var i=window.activeReceivers.Biometrics;window.NativeReceivers.Biometrics[i](e,o)}catch(e){console.log("No receiver found for biometrics")}},window.onBiometricAuthentication_android=function(e,o){try{var i=window.activeReceivers.Biometrics;window.NativeReceivers.Biometrics[i](e,o)}catch(e){console.log("No receiver found for biometrics")}},window.onLoginViaCredentials=function(e,o){try{var i=window.activeReceivers.SmartLogin;-1!=e.indexOf("{{")&&(e=null),-1!=o.indexOf("{{")&&(o=null),window.NativeReceivers.SmartLogin[i](e,o)}catch(e){console.log("No receiver found for smartlogin")}},window.pickPhoto=function(e,o,i,n){try{var c=window.activeReceivers.SelectPhoto;window.NativeReceivers.SelectPhoto[c](e,o,i,n)}catch(e){console.log("No receiver found for information")}},window.pickVideo=function(e,o,i,n){try{var c=window.activeReceivers.SelectVideo;window.NativeReceivers.SelectVideo[c](e,o,i,n)}catch(e){console.log("No receiver found for information")}},window.capturePhoto=function(e,o,i,n){try{var c=window.activeReceivers.TakePhoto;window.NativeReceivers.TakePhoto[c](e,o,i,n)}catch(e){console.log("No receiver found for information")}}
237,window.captureVideo=function(e,o,i,n){try{var c=window.activeReceivers.TakeVideo;window.NativeReceivers.TakeVideo[c](e,o,i,n)}catch(e){console.log("No receiver found for information")}},window.collectMenuClick=function(e){try{var o=window.activeReceivers.ListTypeMenu;window.NativeReceivers.ListTypeMenu[o](e)}catch(e){console.log("No receiver found for list type menu information")}},window.collectBarcode=function(e){try{var o=window.activeReceivers.Barcode;window.NativeReceivers.Barcode[o](e)}catch(e){console.log("No receiver found for barcode information")}},window.collectLocation=function(e){try{Object.keys(window.NativeReceivers.DeviceLocation).forEach(function(o){window.NativeReceivers.DeviceLocation[o](e)})}catch(e){console.log("error capturing location info to receivers")}},window.collectDeviceVariable=function(e,o){try{var i=window.activeReceivers.DeviceVariable;window.NativeReceivers.DeviceVariable[i](e,o)}catch(e){console.log("No receiver found for device variable")}},window.headerMenuClicked=function(){try{Object.keys(window.NativeReceivers.HeaderMenuClicked).forEach(function(e){window.NativeReceivers.HeaderMenuClicked[e]()})}catch(e){console.log("error sending header menu click event to receivers")}},window.recordAudio=function(e,o,i,n){try{var c=window.activeReceivers.CaptureAudio;window.NativeReceivers.CaptureAudio[c](e,o,i,n)}catch(e){console.log("No receiver found for information")}},window.collectPopup=function(e){try{var o=window.activeReceivers.collectPopup;window.NativeReceivers.collectPopup[o](e)}catch(e){console.log("No receiver found for information")}},window.collectDateTime=function(e){try{var o=window.activeReceivers.Datepicker;window.NativeReceivers.Datepicker[o](e)}catch(e){console.log("No receiver found for date information")}},window.collectOption=function(e){try{var o=window.activeReceivers.Optionpicker;window.NativeReceivers.Optionpicker[o](e)}catch(e){console.log("No receiver found for option information")}},window.backButtonPressed=function(){try{Object.keys(window.NativeReceivers.BackButtonPressed).forEach(function(e){window.NativeReceivers.BackButtonPressed[e]()})}catch(e){console.log("error sending header menu click event to receivers")}},window.BackButtonPressed=window.backButtonPressed,window.onPurchaseSuccess_ios=function(e){try{Object.keys(window.NativeReceivers.PurchaseSuccess_ios).forEach(function(o){window.NativeReceivers.PurchaseSuccess_ios[o](e)})}catch(e){console.log("error sending successful ios in app purchase data to receivers")}},window.onPurchaseFailed_ios=function(e){try{Object.keys(window.NativeReceivers.PurchaseFailed_ios).forEach(function(o){window.NativeReceivers.PurchaseFailed_ios[o](e)})}catch(e){console.log("error sending failed ios in app purchase data to receivers")}},window.onReceiptDataReceived_ios=function(e){try{Object.keys(window.NativeReceivers.ReceiptsReceived_ios).forEach(function(o){window.NativeReceivers.ReceiptsReceived_ios[o](e)})}catch(e){console.log("error sending receipts of ios in app purchase data to receivers")}},window.onPurchaseSuccess_android=function(e){try{Object.keys(window.NativeReceivers.PurchaseSuccess_android).forEach(function(o){window.NativeReceivers.PurchaseSuccess_android[o](e)})}catch(e){console.log("error sending successful android in app purchase data to receivers")}},window.onPurchaseFailed_android=function(e){try{Object.keys(window.NativeReceivers.PurchaseFailed_android).forEach(function(o){window.NativeReceivers.PurchaseFailed_android[o](e)})}catch(e){console.log("error sending failed android in app purchase data to receivers")}},window.onReceiptDataReceived_android=function(e){try{Object.keys(window.NativeReceivers.ReceiptsReceived_android).forEach(function(o){window.NativeReceivers.ReceiptsReceived_android[o](e)})}catch(e){console.log("error sending receipts of android in app purchase data to receivers")}},window.detectLinks=function(){if(!window.detection_status){console.log("started detection");var e=document.body,o={childList:!0,subtree:!0},i=function(e){if(!window.need_to_resolve){for(var o=0;o<e.length;++o)e[o].addedNodes.length>0&&document.querySelectorAll("a[target='_blank']").length>0&&(window.need_to_resolve=!0);window.need_to_resolve&&(document.querySelectorAll("a[target='_blank']").forEach(function(e){-1==e.href.indexOf("https://bubble.io/?utm_source=app_mention")&&(e.target="_self")}),window.need_to_resolve=!1)}},n=new MutationObserver(i);n.observe(e,o)}return window.detection_status=!0,!0}; 238</script>
vendor: 1 bytes, line 238
238
239<script src="https://e0a96cc2463e889cd2914f75aaab2cb7.cdn.bubble.io/f1664489218713x811279010926034800/URI.min.js"></script>
239 240<!-- 1580238841425x582072028873097200 --> 241<style> 242 243 blockquote { 244 border-left: 4px solid #ccc; 245 margin-bottom: 5px; 246 margin-top: 5px; 247 padding-left: 16px; 248 } 249 250 ul, ol { 251 list-style-position: outside; 252 } 253 254 .ql-font .ql-picker-label:first-child::before { 255 font-family: inherit; 256 overflow: hide; 257 } 258 259 .ql-font .ql-picker-label { 260 overflow: hidden; 261 } 262 263 .regular-header-icon { 264 color: #444; 265 } 266 267 .tooltip-header-icon { 268 color: #ccc; 269 } 270 271</style> 272<!-- 1582601241392x653181519983018000 -->
273<script src="https://e0a96cc2463e889cd2914f75aaab2cb7.cdn.bubble.io/f1581785748644x612892952682557000/papaparse.min.js"></script>
273 274<!-- 1599995578736x177952455708377100 --> 275<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/swiper-bundle.min.css"/>
276<script src="https://cdn.jsdelivr.net/npm/[email protected]/swiper-bundle.min.js"></script>
276 277<style> 278 .swiper-slide { 279 -webkit-transform-style: preserve-3d !important; 280 -webkit-backface-visibility: hidden !important; 281 } 282 283 .swiper-wrapper { 284 -webkit-transform-style: preserve-3d !important; 285 } 286</style> 287<!-- 1605374038476x675095182407893000 -->
288<script type='module'> 289 import {trackPluginUsage} from 'https://pluginpul.se/initialize.min.js' 290 trackPluginUsage('1605374038476x675095182407893000'); 291</script>
291 292<!-- 1609209698393x206083649188921340 -->
293<script src="//meta.cdn.bubble.io/f1671767180129x463026607934953200/qrcode.js" type="text/javascript" charset="utf-8"></script>
293 294<!-- 1618916043803x877032991371296800 -->
295<script defer src="//meta.cdn.bubble.io/f1678588430465x230578802325048350/icons.js"></script>
295 296
297<script> 298 const allSelect2 = /\[(hi.*)\](.*)\[\/(hi.*)\]/; 299 const colormatch2 = /#[0-9A-f]{3,6}#/; 300 const fillMatcher2 = /fill="currentColor"/; 301 302 function replaceIcon(btn) { 303 const btn_nodes = Array.from(btn.childNodes); 304 305 if (!btn_nodes) return; 306 307 const text_node = btn_nodes.find( 308 (node) => node.nodeName === "#text" && node.data.trim().length > 0 309 ); 310 311 if (!text_node) return; 312 313 let content = text_node.data; 314 315 let iconColor = content.match(colormatch2); 316 317 content = content.replace(colormatch2, ""); 318 319 const iconMarkup = content.match(allSelect2); 320 if (!iconMarkup) { 321 if (btn.getAttribute("data-heroicon-last-text")) { 322 const current_text = Array.from(btn.childNodes).find( 323 (node) => node.nodeName === "#text" && node.data.trim().length > 0 324 ); 325 if ( 326 current_text && 327 current_text.data !== btn.getAttribute("data-heroicon-last-text") 328 ) { 329 btn.setAttribute("data-heroicon-last-text", current_text.data); 330 btn.childNodes.forEach((node) => { 331 if (node.nodeName !== "#text") { 332 node.remove(); 333 } 334 if (node.nodeName === "#text" && node.data.trim().length == 0) { 335 node.remove(); 336 } 337 }); 338 } 339 } 340 return; 341 } 342 343 if (iconMarkup[1] != iconMarkup[3]) return; 344 345 const iconProps = iconMarkup[1].slice(2).split("-"); 346 347 const props = { 348 name: iconMarkup[2], 349 size: "20px", 350 color: btn.innerHTML.match(colormatch2) 351 ? btn.innerHTML.match(colormatch2)[0].slice(0, -1) 352 : undefined, 353 set: "mini", 354 position: undefined, 355 iconHTML: undefined, 356 style: 'style="', 357 spacing: "8px", 358 stroke_width: "1.5px", 359 }; 360 361 if (props.color) { 362 props.iconHTML = props.iconHTML.replace( 363 fillMatcher2, 364 "fill=" + iconColor 365 ); 366 } 367 368 iconProps.forEach((property) => { 369 switch (property) { 370 case "l": 371 props.position = "left"; 372 break; 373 case "r": 374 props.position = "right"; 375 break; 376 case "b": 377 props.position = "center"; 378 break; 379 case "o": 380 props.set = "outlined"; 381 break; 382 case "s": 383 props.set = "solid"; 384 break; 385 } 386 if (/m[0-99]+/.test(property)) { 387 const matched = property.match(/m([0-99]+)/); 388 props.spacing = `${matched[1]}px`; 389 } 390 if (/w[0-99]+/.test(property)) { 391 const matched = property.match(/w([0-99]+)/); 392 props.stroke_width = `${matched[1]}px`; 393 } 394 395 const number = Number(property); 396 397 if (number && number > 0) { 398 props.size = String(number) + "px"; 399 } 400 }); 401 402 if (window[`heroicons_${props.set}`].has(props.name)) { 403 props.iconHTML = window[`heroicons_${props.set}`].get(props.name); 404 } else { 405 return; 406 } 407 408 btn.classList.add("heroicon"); 409 410 props.style += ` ${props.set == "outlined" ? ` stroke-width: ${props.stroke_width};` : "" 411 } height: ${props.size}; width: ${props.size}; `; 412 413 let insertBefore = props.iconHTML.lastIndexOf("viewBox"); 414 415 btn.childNodes.forEach((node) => { 416 if (node.nodeName === "#text" && node.data.trim().length > 0) { 417 node.data = node.data.replace(allSelect2, ""); 418 btn.setAttribute("data-heroicon-last-text", node.data); 419 } 420 }); 421 422 btn.childNodes.forEach((node) => { 423 if (node.nodeName !== "#text") { 424 node.remove(); 425 } 426 if (node.nodeName === "#text" && node.data.trim().length == 0) { 427 node.remove(); 428 } 429 }); 430 431 if (props.position == "left") { 432 let styledHTML = 433 props.iconHTML.substring(0, insertBefore) + 434 props.style + 435 `margin-right:${props.spacing}"` + 436 props.iconHTML.substring(insertBefore); 437 btn.insertAdjacentHTML("afterbegin", styledHTML); 438 } else if (props.position == "right") { 439 let styledHTML = 440 props.iconHTML.substring(0, insertBefore) + 441 props.style + 442 `margin-left:${props.spacing}"` + 443 props.iconHTML.substring(insertBefore); 444 btn.insertAdjacentHTML("beforeend", styledHTML); 445 } else { 446 let styledHTML = 447 props.iconHTML.substring(0, insertBefore) + 448 props.style + 449 `"` + 450 props.iconHTML.substring(insertBefore); 451 btn.insertAdjacentHTML("beforeend", styledHTML); 452 } 453 } 454 455 document.addEventListener("DOMContentLoaded", function () {
456 let config = { 457 subtree: true, 458 childList: true, 459 attributes: true, 460 characterData: true, 461 }; 462 463 let callback = function (mutationsList, observer) { 464 for (let mutation of mutationsList) { 465 if (mutation.target.tagName === "BUTTON") { 466 replaceIcon(mutation.target); 467 } else if (mutation.addedNodes) { 468 mutation.addedNodes.forEach((node) => { 469 if (node.tagName == "BUTTON") { 470 replaceIcon(node); 471 } 472 }); 473 } else if ( 474 mutation.target.nodeName === "#text" && 475 mutation.target.parentElement && 476 mutation.target.parentElement.tagName === "BUTTON" 477 ) { 478 replaceIcon(mutation.target.parentElement); 479 } 480 Array.from(document.querySelectorAll("button")).forEach((btn) => 481 replaceIcon(btn) 482 ); 483 } 484 }; 485 486 const observer = new MutationObserver(callback); 487 observer.observe(document, config); 488 }); 489</script>
489 490 491<style> 492 .animate-spin>circle { 493 color: inherit; 494 opacity: 25%; 495 } 496 497 .animate-spin { 498 animation: 1s linear infinite spin; 499 } 500 501 @keyframes spin { 502 from { 503 transform: rotate(0); 504 } 505 506 to { 507 transform: rotate(360deg); 508 } 509 } 510 511 .heroicon { 512 display: inline-flex !important; 513 align-items: center !important; 514 justify-content: center; 515 gap: 0 !important; 516 } 517 518 .dots_one { 519 stroke: currentColor; 520 fill: currentColor; 521 animation: dots 0.8s linear infinite; 522 animation-delay: -0.8s; 523 margin-right: 1px; 524 } 525 526 .dots_two { 527 animation-delay: -0.65s; 528 } 529 530 .dots_three { 531 animation-delay: -0.5s; 532 } 533 534 @keyframes dots { 535 536 93.75%, 537 100% { 538 opacity: 0.2; 539 } 540 } 541</style> 542<!-- 1656156230536x298565765509152800 -->
543<script type="module"> 544 import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js"; 545 pluginAnalyzer("1656156230536x298565765509152800"); 546</script>
546 547<!-- 1661717622628x490300288223674400 -->
548<script type="text/javascript"> 549 (function(c,l,a,r,i,t,y){ 550 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 551 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i+"?ref=bubble"; 552 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 553 })(window, document, "clarity", "script", "oo7dyj80ck"); 554</script>
554 555<!-- 1684902368159x419120401826185200 -->
556<script> 557 function customReplacer(key, value) { 558 if (!value) { 559 return value; 560 } 561 if (value.get) { 562 if (value.length) { 563 // a Bubble list 564 return value.get(0, value.length()); 565 } 566 if (value.get("_id")) { 567 return value.get("_id"); 568 } 569 if (value.get("display")) { 570 return value.get("display"); 571 } 572 } 573 return value; 574 }; 575 576 function customJSONStringify(json) { 577 return JSON.stringify(json, customReplacer); 578 }; 579 580 var originalSetItem = Storage.prototype.setItem; 581 var originalRemoveItem = Storage.prototype.removeItem; 582 var originalClear = Storage.prototype.clear; 583 584 function checkStorageIdentifier(storage) { 585 if (storage === window.localStorage) { 586 return "local"; 587 } 588 if (storage === window.sessionStorage) { 589 return "session"; 590 } 591 return null; 592 } 593 594 function patchedSetItem(keyName, keyValue) { 595 originalSetItem.apply(this, arguments); 596 const identifier = checkStorageIdentifier(this); 597 if (!identifier) return; 598 const event = new CustomEvent(`storage:${identifier}:set`, {detail: {keyName: keyName, keyValue: keyValue}}); 599 window.dispatchEvent(event); 600 }; 601 602 if (Storage.prototype.setItem !== patchedSetItem) { 603 Storage.prototype.setItem = patchedSetItem; 604 } 605 606 function patchedRemoveItem(keyName) { 607 originalRemoveItem.apply(this, arguments); 608 const identifier = checkStorageIdentifier(this); 609 if (!identifier) return; 610 const event = new CustomEvent(`storage:${identifier}:remove`, {detail: {keyName: keyName}}); 611 window.dispatchEvent(event); 612 }; 613 614 if (Storage.prototype.removeItem !== patchedRemoveItem) { 615 Storage.prototype.removeItem = patchedRemoveItem; 616 } 617 618 function patchedClear() { 619 originalClear.apply(this, arguments); 620 const identifier = checkStorageIdentifier(this); 621 if (!identifier) return; 622 const event = new CustomEvent(`storage:${identifier}:clear`); 623 window.dispatchEvent(event); 624 }; 625 626 if (Storage.prototype.clear !== patchedClear) { 627 Storage.prototype.clear = patchedClear; 628 } 629</script>
629 630<!-- 1765444535861x896795619890036700 --> 631<meta name="buildprint-plugin-verification" content="buildprint-verify-sqqpw9kvkx2g37u8"> 632<!-- ABj --> 633<style>.hicon { transition-property: fill, stroke; transition-duration: var(--transition-duration); transition-timing-function: var(--transition-easing);}</style> 634 635<!-- AAC --> 636<!--
636<script type="text/javascript" id="toast-notifications" src="//e0a96cc2463e889cd2914f75aaab2cb7.cdn.bubble.io/f1699658967437x634928126656080600/toast.js"></script>
636 --> 637
638<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_end_execution = Date.now();</script>
638 639<!-- custom app meta header --> 640<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 641 642
643<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
643 644
644<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.34/moment-timezone-with-data.min.js"></script>
644 645 646<!-- Global site tag (gtag.js) - Google Ads -->
vendor: 64 bytes, lines 646-647
646 647<script async src="https://www.googletagmanager.com/gtag/js?id=
647AW-11448986253
vendor: 12 bytes, line 647
647"></script>
648<script> 649
vendor: 138 bytes, lines 649-654
649window.dataLayer = window.dataLayer || []; 650 function gtag() { dataLayer.push(arguments); } 651 652 gtag('js', new Date()); 653 654 gtag('config', '
654AW-11448986253
vendor: 7 bytes, lines 654-656
654'); 655 656
656gtag('set', 'linker', { 657 'domains': ['rvovernights.com', 'rvovernights.app'], 658 'accept_incoming': true, 659 'decorate_forms': true, 660 'url_position': 'query' 661 }); 662</script>
662 663</head> 664<body>
664<script type="text/javascript"> 665window.addEventListener('DOMContentLoaded', function () { 666 if (window.appquery == null) { 667 (function() { 668 const html = ` 669 <div class="error-card"> 670 <div class="error-section"> 671 <div class="error-title">Your browser was unable to load some necessary resources</div> 672 <div class="error-message">Contact your IT network administrator to allow access to: 673 ⢠d3dqmih97rcqmh.cloudfront.net 674 ⢠e0a96cc2463e889cd2914f75aaab2cb7.cdn.bubble.io/ 675 ⢠d1muf25xaso8hp.cloudfront.net</div> 676 </div> 677 </div> 678 ` 679 680 const css = document.createElement('style') 681 css.type = 'text/css' 682 css.appendChild( 683 document.createTextNode(` 684 .error-overlay { 685 width: 100%; 686 height: 100%; 687 background: rgba(0,0,0,0.30); 688 overflow: hidden; 689 display: flex; 690 justify-content: center; 691 align-items: flex-start; 692 position: fixed; 693 inset: 0; 694 z-index: 999999; 695 } 696 697 .error-card { 698 width: 500px; 699 margin: 40px; 700 background: white; 701 box-shadow: 0px 1px 2px rgba(0,0,0,0.10); 702 border-radius: 8px; 703 display: flex; 704 flex-direction: column; 705 } 706 707 .error-section { 708 padding: 40px; 709 display: flex; 710 flex-direction: column; 711 gap: 12px; 712 } 713 714 .error-title { 715 color: #1A1A1A; 716 font-size: 18px; 717 font-family: Arial, sans-serif; 718 font-weight: 600; 719 line-height: 28px; 720 } 721 722 .error-message { 723 color: #525252; 724 font-size: 14px; 725 font-family: Arial, sans-serif; 726 font-weight: 400; 727 line-height: 20px; 728 white-space: pre-wrap; 729 } 730 `) 731 ) 732 document.head.appendChild(css) 733 734 const container = document.createElement('div') 735 container.className = 'error-overlay' 736 container.innerHTML = html 737 document.body.appendChild(container) 738 })() 739 httpRequest = new XMLHttpRequest(); 740httpRequest.open('POST', '/user/m', true); 741httpRequest.setRequestHeader('Content-Type', 'application/json'); 742httpRequest.send(JSON.stringify({measures: {page_load_error: 1, url: document.location.href, errors: window.load_error_log}})); 743 }; 744}); 745</script>
745<script type="text/javascript">window.addEventListener('DOMContentLoaded', function () {if (window.appquery && window.app == null) {(function() { 746 const html = ` 747 <div class="error-card"> 748 <div class="error-section"> 749 <div class="error-title">Your browser was unable to load the application</div> 750 <div class="error-message">We've been notified of the issue. Please try again in a few moments and make sure not to use ad-blockers.</div> 751 </div> 752 </div> 753 ` 754 755 const css = document.createElement('style') 756 css.type = 'text/css' 757 css.appendChild( 758 document.createTextNode(` 759 .error-overlay { 760 width: 100%; 761 height: 100%; 762 background: rgba(0,0,0,0.30); 763 overflow: hidden; 764 display: flex; 765 justify-content: center; 766 align-items: flex-start; 767 position: fixed; 768 inset: 0; 769 z-index: 999999; 770 } 771 772 .error-card { 773 width: 500px; 774 margin: 40px; 775 background: white; 776 box-shadow: 0px 1px 2px rgba(0,0,0,0.10); 777 border-radius: 8px; 778 display: flex; 779 flex-direction: column; 780 } 781 782 .error-section { 783 padding: 40px; 784 display: flex; 785 flex-direction: column; 786 gap: 12px; 787 } 788 789 .error-title { 790 color: #1A1A1A; 791 font-size: 18px; 792 font-family: Arial, sans-serif; 793 font-weight: 600; 794 line-height: 28px; 795 } 796 797 .error-message { 798 color: #525252; 799 font-size: 14px; 800 font-family: Arial, sans-serif; 801 font-weight: 400; 802 line-height: 20px; 803 white-space: pre-wrap; 804 } 805 `) 806 ) 807 document.head.appendChild(css) 808 809 const container = document.createElement('div') 810 container.className = 'error-overlay' 811 container.innerHTML = html 812 document.body.appendChild(container) 813 })()}});</script>
813 814<img style="display: none;" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" /> 815</body> 816</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.