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>R4R | Home</title>
9<script type="text/javascript"> 10 window.bubble_session_uid = '1791394877207x168877733154673140'; 11</script>
vendor: 1 bytes, line 11
11
12<script type="text/javascript"> 13 window.headers_source_maps = [["plugin_main_headers_1497473108162x748255442121523200",215,226],["plugin_main_headers_1511317157580x426888521791832060",227,231],["plugin_main_headers_1522764260176x251116930203648000",232,236],["plugin_main_headers_1539124824422x194279356396994560",237,239],["plugin_main_headers_1561684393787x915395376236986400",240,244],["plugin_main_headers_1599995578736x177952455708377100",245,258],["plugin_main_headers_1618916043803x877032991371296800",259,476],["plugin_main_headers_1649513217691x427261680952541200",477,494],["plugin_main_headers_1662221683867x944302965243510800",495,504],["plugin_main_headers_1676994665892x380718722738290700",505,643],["plugin_main_headers_1700870791046x293277418732126200",644,787],["plugin_main_headers_1701287959788x680247986285445100",788,836],["plugin_page_headers_AAI",837,839],["plugin_page_headers_AAC",840,842],["custom_app_header",844,867]] 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 "65510479511";}, 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: "1791394877207x168877733154673140" }, '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: ["Inter:regular","Inter:500","Inter:600","Manrope:300","Manrope:regular","Manrope:regular","Manrope:500","Manrope:500","Manrope:600","Manrope:600","Manrope:700","Manrope:700","Manrope:800","Poppins:regular","Poppins:500","Poppins:600"] }, 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://ready4remodel.com/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 = "AIzaSyDODDnoxJ-Dyx3V0bx7BzyMkTB1JO_O4cw";</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 = "1791394877345x2214";</script>
vendor: 1 bytes, line 135
135
136<script type="text/javascript">window.bubble_plp_token = "1791394877540.fJ77tvHYFN3CY+JOjLnvZYWU0L8u1joVreJkgfUIc0M=";</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/svg+xml" href="//1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/f1725512761680x894620565887033600/Vector.svg" /> 140<meta name="fragment" content="!"> 141<meta name="description" content="Ready4Remodel gives you the power to visualize upgrades, estimate costs, and finance everything all into one loan."> 142<link rel="canonical" href="https://ready4remodel.com/"/> 143<meta property="og:title" content="Ready 4 Remodel" /> 144<meta name="twitter:title" content="Ready 4 Remodel" /> 145<meta property="og:site_name" content="Ready4Remodel" /> 146<meta name="twitter:site_name" content="Ready4Remodel" /> 147<meta property="og:description" content="Ready4Remodel gives you the power to visualize upgrades, estimate costs, and finance everything all into one loan." /> 148<meta name="twitter:description" content="Ready4Remodel gives you the power to visualize upgrades, estimate costs, and finance everything all into one loan." /> 149<link rel="image_src" href="https://1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1734752370844x802581301263221000/FB%20Group%20Cover%20%28YouTube%20Thumbnail%29%20%281%29.png" /> 150<meta property="og:image" content="https://1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1734752370844x802581301263221000/FB%20Group%20Cover%20%28YouTube%20Thumbnail%29%20%281%29.png" /> 151<meta name="twitter:image:src" content="https://1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1734752370844x802581301263221000/FB%20Group%20Cover%20%28YouTube%20Thumbnail%29%20%281%29.png" /> 152<meta property="og:url" content="https://ready4remodel.com/" /> 153<meta property="og:type" content="website" /> 154<meta name="twitter:card" content="summary_large_image" /> 155<meta name="viewport" content="width=device-width,initial-scale=1.0">
156<script type="text/javascript">window._p = '{"id":"app_starter_2023","no_branding":true,"import_export_csv":true,"custom_domain":true}';</script>
vendor: 1 bytes, line 156
156
157<script type="text/javascript">window.bubble_page_name = "index";</script>
vendor: 1 bytes, line 157
157
158<script type="text/javascript">window.__bubble_module_mode = false;</script>
158 159<link type="text/css" href="/package/run_css/f2ddfbd0af04d09cd197cef9fc0a9d4d1a2c3eaefaedc3a02f71f961c7cc0a71/realestatebuild-2024/live/index/xfalse/xfalse/run.css" rel="stylesheet">
160<script type="text/javascript"> 161if (!window._bubble_page_load_data) { 162 window._bubble_page_load_data = {} 163} 164if (!window._bubble_page_load_data.js_execution_timings) { 165 window._bubble_page_load_data.js_execution_timings = {} 166} 167window._bubble_page_load_data.js_execution_timings['pre_run_js'] = Date.now(); 168</script>
vendor: 1 bytes, line 168
168
169<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 169
169
170<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/run_js/f3f2fb8a0fc3f0a4d568fae31eca0c6821beda506658857d6709499a44cef32f/xfalse/x31/run.js"></script>
vendor: 1 bytes, line 170
170
171<script type="text/javascript"> 172if (!window._bubble_page_load_data) { 173 window._bubble_page_load_data = {} 174} 175if (!window._bubble_page_load_data.js_execution_timings) { 176 window._bubble_page_load_data.js_execution_timings = {} 177} 178window._bubble_page_load_data.js_execution_timings['post_run_js'] = Date.now(); 179</script>
vendor: 1 bytes, line 179
179
180<script type="text/javascript"> 181if (!window._bubble_page_load_data) { 182 window._bubble_page_load_data = {} 183} 184if (!window._bubble_page_load_data.js_execution_timings) { 185 window._bubble_page_load_data.js_execution_timings = {} 186} 187window._bubble_page_load_data.js_execution_timings['pre_static_js'] = Date.now(); 188</script>
188<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/static_js/09c583ca5ae9821c1043b20bb8243282e2a8e01ebc6806a8913c0c7888a10d5c/realestatebuild-2024/live/index/xnull/xfalse/xfalse/xfalse/static.js"></script>
188<script type="text/javascript"> 189if (!window._bubble_page_load_data) { 190 window._bubble_page_load_data = {} 191} 192if (!window._bubble_page_load_data.js_execution_timings) { 193 window._bubble_page_load_data.js_execution_timings = {} 194} 195window._bubble_page_load_data.js_execution_timings['post_static_js'] = Date.now(); 196</script>
vendor: 1 bytes, line 196
196
197<script type="text/javascript"> 198if (!window._bubble_page_load_data) { 199 window._bubble_page_load_data = {} 200} 201if (!window._bubble_page_load_data.js_execution_timings) { 202 window._bubble_page_load_data.js_execution_timings = {} 203} 204window._bubble_page_load_data.js_execution_timings['pre_dynamic_js'] = Date.now(); 205</script>
205<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/dynamic_js/0b49530e3dc4417733a78a4d2b8a0a90d0f94bca0854ada0d7bd491f4d035cf0/realestatebuild-2024/live/index/xnull/xfalse/xfalse/en_us/xfalse/xfalse/dynamic.js"></script>
205<script type="text/javascript"> 206if (!window._bubble_page_load_data) { 207 window._bubble_page_load_data = {} 208} 209if (!window._bubble_page_load_data.js_execution_timings) { 210 window._bubble_page_load_data.js_execution_timings = {} 211} 212window._bubble_page_load_data.js_execution_timings['post_dynamic_js'] = Date.now(); 213</script>
vendor: 1 bytes, line 213
213
214<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_start_execution = Date.now();</script>
214 215<!-- 1497473108162x748255442121523200 -->
216<script type="text/javascript" src="//1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/f1618227041113x740068462949819800/clipboard.min.js"></script>
216 217
218<script type="module"> 219 import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js"; 220 pluginAnalyzer("1497473108162x748255442121523200"); 221</script>
221 222
223<script type="module"> 224 import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js"; 225 pluginAnalyzer("1497473108162x748255442121523200"); 226</script>
226 227<!-- 1511317157580x426888521791832060 -->
228<script type="module"> 229 import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js"; 230 pluginAnalyzer("1511317157580x426888521791832060"); 231</script>
231 232<!-- 1522764260176x251116930203648000 -->
233<script type="module"> 234 import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js"; 235 pluginAnalyzer("1522764260176x251116930203648000"); 236</script>
236 237<!-- 1539124824422x194279356396994560 -->
238<script src="//1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/f1539208662229x803640740225091600/download.js"></script>
238 239 240<!-- 1561684393787x915395376236986400 -->
241<script type="module"> 242 import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js"; 243 pluginAnalyzer("1561684393787x915395376236986400"); 244</script>
244 245<!-- 1599995578736x177952455708377100 --> 246<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/swiper-bundle.min.css"/>
247<script src="https://cdn.jsdelivr.net/npm/[email protected]/swiper-bundle.min.js"></script>
247 248<style> 249 .swiper-fade .swiper-slide:not(.swiper-slide-active){ 250 opacity: 0 !important; 251 } 252</style> 253
254<script src="https://cdn.jsdelivr.net/npm/eruda"></script>
vendor: 1 bytes, line 254
254
255<script> 256 const urlParams = new URLSearchParams(window.location.search); 257 if (urlParams.get('console') === 'true') { eruda.init(); } 258</script>
258 259<!-- 1618916043803x877032991371296800 -->
260<script defer src="//meta.cdn.bubble.io/f1678588430465x230578802325048350/icons.js"></script>
260 261
262<script> 263 const allSelect2 = /\[(hi.*)\](.*)\[\/(hi.*)\]/; 264 const colormatch2 = /#[0-9A-f]{3,6}#/; 265 const fillMatcher2 = /fill="currentColor"/; 266 267 function replaceIcon(btn) { 268 let content = btn.getAttribute("title"); 269 270 if (!content) return; 271 272 let iconColor = content.match(colormatch2); 273 content = content.replace(colormatch2, ""); 274 const iconMarkup = content.match(allSelect2); 275 if (!iconMarkup) { 276 return; 277 } 278 279 if (iconMarkup[1] != iconMarkup[3]) return; 280 281 const iconProps = iconMarkup[1].slice(2).split("-"); 282 283 const props = { 284 name: iconMarkup[2], 285 size: "20px", 286 color: btn.innerHTML.match(colormatch2) 287 ? btn.innerHTML.match(colormatch2)[0].slice(0, -1) 288 : undefined, 289 set: "mini", 290 position: undefined, 291 iconHTML: undefined, 292 style: 'style="', 293 spacing: "8px", 294 stroke_width: "1.5px", 295 }; 296 297 if (props.color) { 298 props.iconHTML = props.iconHTML.replace( 299 fillMatcher2, 300 "fill=" + iconColor 301 ); 302 } 303 304 iconProps.forEach((property) => { 305 switch (property) { 306 case "l": 307 props.position = "left"; 308 break; 309 case "r": 310 props.position = "right"; 311 break; 312 case "b": 313 props.position = "center"; 314 break; 315 case "o": 316 props.set = "outlined"; 317 break; 318 case "s": 319 props.set = "solid"; 320 break; 321 } 322 if (/m[0-99]+/.test(property)) { 323 const matched = property.match(/m([0-99]+)/); 324 props.spacing = `${matched[1]}px`; 325 } 326 if (/w[0-99]+/.test(property)) { 327 const matched = property.match(/w([0-99]+)/); 328 props.stroke_width = `${matched[1]/10}px`; 329 } 330 331 const number = Number(property); 332 333 if (number && number > 0) { 334 props.size = String(number) + "px"; 335 } 336 }); 337 338 if (props.name == "no-icon") { 339 btn.classList.add("heroicon"); 340 341 btn.setAttribute("title", btn.getAttribute("title").replace(allSelect2, "").replace(/\u00AD/g, '')); 342 btn.childNodes.forEach((node) => { 343 if (node.nodeName !== "#text") { 344 node.remove(); 345 } 346 347 }); 348 return; 349 } 350 351 if (window[`heroicons_${props.set}`].has(props.name)) { 352 props.iconHTML = window[`heroicons_${props.set}`].get(props.name); 353 } else { 354 return; 355 } 356 357 btn.classList.add("heroicon"); 358 359 props.style += ` ${props.set == "outlined" ? ` stroke-width: ${props.stroke_width};` : "" 360 } height: ${props.size}; width: ${props.size}; `; 361 362 let insertBefore = props.iconHTML.lastIndexOf("viewBox"); 363 364 btn.setAttribute("title", btn.getAttribute("title").replace(allSelect2, "").replace(/\u00AD/g, '')); 365 btn.childNodes.forEach((node) => { 366 if (node.nodeName !== "#text") { 367 node.remove(); 368 } 369 }); 370 371 btn.style.display = "inline-flex"; 372 btn.style.alignItems = "center"; 373 374 if (props.position == "left") { 375 let styledHTML = 376 props.iconHTML.substring(0, insertBefore) + 377 props.style + 378 `margin-right:${props.spacing}"` + 379 props.iconHTML.substring(insertBefore); 380 btn.insertAdjacentHTML("afterbegin", styledHTML); 381 } else if (props.position == "right") { 382 let styledHTML = 383 props.iconHTML.substring(0, insertBefore) + 384 props.style + 385 `margin-left:${props.spacing}"` + 386 props.iconHTML.substring(insertBefore); 387 btn.insertAdjacentHTML("beforeend", styledHTML); 388 } else { 389 let styledHTML = 390 props.iconHTML.substring(0, insertBefore) + 391 props.style + 392 `"` + 393 props.iconHTML.substring(insertBefore); 394 btn.insertAdjacentHTML("beforeend", styledHTML); 395 } 396 } 397 398 document.addEventListener("DOMContentLoaded", function () {
399 let config = { 400 subtree: true, 401 childList: true, 402 attributes: true, 403 characterData: false, 404 attributeFilter: ["title"] 405 }; 406 407 let callback = function (mutationsList, observer) { 408 for (let mutation of mutationsList) { 409 if (mutation.target.tagName === "BUTTON") { 410 replaceIcon(mutation.target); 411 } else if (mutation.addedNodes) { 412 mutation.addedNodes.forEach((node) => { 413 if (node.tagName == "BUTTON") { 414 replaceIcon(node); 415 } 416 }); 417 } 418 } 419 }; 420 421 const observer = new MutationObserver(callback); 422 observer.observe(document, config); 423 }); 424</script>
424 425 426<style> 427 .animate-spin>circle { 428 color: inherit; 429 opacity: 25%; 430 } 431 432 .animate-spin { 433 animation: 1s linear infinite spin; 434 } 435 436 @keyframes spin { 437 from { 438 transform: rotate(0); 439 } 440 441 to { 442 transform: rotate(360deg); 443 } 444 } 445 446 .heroicon { 447 display: inline-flex; 448 align-items: center; 449 justify-content: center; 450 gap: 0 !important; 451 } 452 453 .dots_one { 454 stroke: currentColor; 455 fill: currentColor; 456 animation: dots 0.8s linear infinite; 457 animation-delay: -0.8s; 458 margin-right: 1px; 459 } 460 461 .dots_two { 462 animation-delay: -0.65s; 463 } 464 465 .dots_three { 466 animation-delay: -0.5s; 467 } 468 469 @keyframes dots { 470 471 93.75%, 472 100% { 473 opacity: 0.2; 474 } 475 } 476</style> 477<!-- 1649513217691x427261680952541200 --> 478<link href='https://unpkg.com/[email protected]/css/boxicons.min.css' rel='stylesheet'>
479<script src="https://unpkg.com/[email protected]/dist/boxicons.js"></script>
479 480
481<script> 482 483 bc_frames = {}; 484 485 let iconType = new Map(); 486 487 iconType.set("Solid","bxs"); 488 iconType.set("Regular","bx"); 489 iconType.set("Logo","bxl"); 490 491 492 bc_frames.iconType = iconType; 493 494</script>
494 495<!-- 1662221683867x944302965243510800 --> 496<link 497 rel="stylesheet" 498 href="//1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/f1720426822605x280176523562138720/style.css" 499 media="all" 500 /> 501
501<script src="//1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/f1738221401703x131369379098960290/bubbletoast.umd.cjs"></script>
501 502
502<script> 503 window._currentBubbleToasts = []; 504 </script>
504 505<!-- 1676994665892x380718722738290700 --> 506 507
508<script> 509window['key1'] = 'a' 510window['key2'] = 'b' 511window['key3'] = 'c' 512window['key4'] = 'd' 513window['key5'] = 'e' 514window['key6'] = 'f' 515window['key7'] = 'g' 516window['key8'] = 'h' 517window['key9'] = 'i' 518window['key10'] = 'j' 519 520 if (window.column1name == null || window.column1name == 'undefined') { 521 window.column1name = 'Column 1' 522 } 523 if (window.column2name == null || window.column2name == 'undefined') { 524 window.column2name = 'Column 2' 525 } if (window.column3name == null || window.column3name == 'undefined') { 526 window.column3name = 'Column 3' 527 } if (window.column4name == null || window.column4name == 'undefined') { 528 window.column4name = 'Column 4' 529 } if (window.column5name == null || window.column5name == 'undefined') { 530 window.column5name = 'Column 5' 531 } if (window.column6name == null || window.column6name == 'undefined') { 532 window.column6name = 'Column 6' 533 } if (window.column7name == null || window.column7name == 'undefined') { 534 window.column7name = 'Column 7' 535 } if (window.column8name == null || window.column8name == 'undefined') { 536 window.column8name = 'Column 8' 537 } if (window.column9name == null || window.column9name == 'undefined') { 538 window.column9name = 'Column 8' 539 } if (window.column10name == null || window.column10name == 'undefined') { 540 window.column10name = 'Column 10' 541 } 542 543window['rvar'] = {}; 544 545window.addRvarInstance = function(list_name, instance) { 546 if (!window['rvar'][list_name]) { 547 window['rvar'][list_name] = { 548 data: [], 549 instances: [], 550 maxlength: 100000 551 }; 552 } 553 if (instance) { 554 if ((window['rvar'][list_name]['instances']).indexOf(instance) == -1) { 555 (window['rvar'][list_name]['instances']).push(instance); 556 } 557 } 558} 559 560window.publishRvarValue = function(list_name) { 561 var column1_list = [], 562 column2_list = [], 563 column3_list = [], 564 column4_list = [], 565 column5_list = [], 566 column6_list = [], 567 column7_list = [], 568 column8_list = [], 569 column9_list = [], 570 column10_list = []; 571 572 (window['rvar'][list_name]['data']).forEach(function(cell, i) { 573 if (window['rvar'][list_name]['maxlength'] > i) { 574 column1_list[i] = cell.column1; 575 column2_list[i] = cell.column2; 576 column3_list[i] = cell.column3; 577 column4_list[i] = cell.column4; 578 column5_list[i] = cell.column5; 579 column6_list[i] = cell.column6; 580 column7_list[i] = cell.column7; 581 column8_list[i] = cell.column8; 582 column9_list[i] = cell.column9; 583 column10_list[i] = cell.column10; 584 585 } 586 }); 587 let returnJSON = [{'a':window.column1name,'b':window.column2name,'c':window.column3name, 'd':window.column4name, 'e':window.column5name, 'f':window.column6name, 'g':window.column7name, 'h':window.column8name, 'i':window.column9name, 'j':window.column10name}] 588 column1_list.map((elm, ind) => { 589 returnJSON.push({ 590 [window.key1]: column1_list[ind], 591 [window.key2]: column2_list[ind], 592 [window.key3]: column3_list[ind], 593 [window.key4]: column4_list[ind], 594 [window.key5]: column5_list[ind], 595 [window.key6]: column6_list[ind], 596 [window.key7]: column7_list[ind], 597 [window.key8]: column8_list[ind], 598 [window.key9]: column9_list[ind], 599 [window.key10]: column10_list[ind] 600 }) 601 }) 602 603 function postDataToInstance(thisinstance) { 604 thisinstance.publishState('jsonstring', JSON.stringify(returnJSON,null,3)) 605 606 607 var dataStr = "data:text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(returnJSON)); 608 thisinstance.publishState('json_file', dataStr) 609 window.jsonfile = returnJSON 610 thisinstance.publishState('column_1_list', []); 611 thisinstance.publishState('column_2_list', []); 612 thisinstance.publishState('column_3_list', []); 613 thisinstance.publishState('column_4_list', []); 614 thisinstance.publishState('column_5_list', []); 615 thisinstance.publishState('column_6_list', []); 616 thisinstance.publishState('column_7_list', []); 617 thisinstance.publishState('column_8_list', []); 618 thisinstance.publishState('column_9_list', []); 619 thisinstance.publishState('column_10_list', []); 620 621 622 thisinstance.publishState('column_1_list', column1_list); 623 thisinstance.publishState('column_2_list', column2_list); 624 thisinstance.publishState('column_3_list', column3_list); 625 thisinstance.publishState('column_4_list', column4_list); 626 thisinstance.publishState('column_5_list', column5_list); 627 thisinstance.publishState('column_6_list', column6_list); 628 thisinstance.publishState('column_7_list', column7_list); 629 thisinstance.publishState('column_8_list', column8_list); 630 thisinstance.publishState('column_9_list', column9_list); 631 thisinstance.publishState('column_10_list', column10_list); 632} 633 634 635 (window.rvar)[list_name]['instances'].forEach(postDataToInstance); 636 637 638} 639 640</script>
640 641 642 643 644<!-- 1700870791046x293277418732126200 -->
645<script type="module" src="https://unpkg.com/@popperjs/core@2"></script>
vendor: 1 bytes, line 645
645
646<script type="module" src="https://unpkg.com/tippy.js@6"></script>
646 647 648<link rel="stylesheet" href="https://unpkg.com/tippy.js@6/animations/shift-away.css"/> 649<link rel="stylesheet" href="https://unpkg.com/[email protected]/themes/.css"/> 650
651<script type="module"> 652 function _0x3ba3(_0x34000c, _0x83d3d5) { 653 const _0xd9c792 = _0xd9c7(); 654 return _0x3ba3 = function (_0x3ba313, _0x17a63a) { 655 _0x3ba313 = _0x3ba313 - 0x190; 656 let _0x45a8b5 = _0xd9c792[_0x3ba313]; 657 return _0x45a8b5; 658 }, _0x3ba3(_0x34000c, _0x83d3d5); 659} 660(function (_0x20ae5c, _0x51f5f8) { 661 const _0x1926ad = _0x3ba3, _0x2b66f8 = _0x20ae5c(); 662 while (!![]) { 663 try { 664 const _0x56cf61 = -parseInt(_0x1926ad(0x1a3)) / 0x1 + -parseInt(_0x1926ad(0x190)) / 0x2 + -parseInt(_0x1926ad(0x198)) / 0x3 + parseInt(_0x1926ad(0x199)) / 0x4 * (parseInt(_0x1926ad(0x1ac)) / 0x5) + parseInt(_0x1926ad(0x1a4)) / 0x6 + -parseInt(_0x1926ad(0x195)) / 0x7 + parseInt(_0x1926ad(0x1a7)) / 0x8; 665 if (_0x56cf61 === _0x51f5f8) 666 break; 667 else 668 _0x2b66f8['push'](_0x2b66f8['shift']()); 669 } catch (_0x29de7d) { 670 _0x2b66f8['push'](_0x2b66f8['shift']()); 671 } 672 } 673}(_0xd9c7, 0x52c24)); 674function hhh() { 675 const _0x1c0583 = _0x3ba3; 676 document[_0x1c0583(0x197)](_0x1c0583(0x1a9), function () { 677 const _0x62a14c = _0x1c0583; 678 function _0x42111b(_0x18b4f8, _0x2430b0, _0x2e165b = _0x62a14c(0x1a6), _0x103065 = _0x62a14c(0x1ab), _0x318009 = !![], _0x3e7cc4 = [ 679 0x0, 680 0x0 681 ]) { 682 const _0x4e866a = _0x62a14c; 683 _0x18b4f8['_tippy'] ? (_0x18b4f8['_tippy']['setContent'](_0x2430b0), _0x18b4f8[_0x4e866a(0x193)]['setProps']({ 684 'placement': _0x2e165b, 685 'animation': _0x103065 686 })) : tippy(_0x18b4f8, { 687 'theme': _0x4e866a(0x19e), 688 'content': _0x2430b0, 689 'placement': _0x2e165b, 690 'animation': _0x103065, 691 'allowHTML': !![], 692 'arrow': _0x318009, 693 'offset': _0x3e7cc4 694 }); 695 } 696 function _0x465e5d(_0x48f7f1) { 697 const _0x210654 = _0x62a14c; 698 if (_0x48f7f1[_0x210654(0x1a1)](_0x210654(0x1ad)) && _0x48f7f1[_0x210654(0x19b)](_0x210654(0x1ad))['trim']() !== '') { 699 const _0x3a79c2 = _0x48f7f1[_0x210654(0x19b)](_0x210654(0x1ad))['trim'](), _0x105347 = /^\[(.*?)\](.*)/, _0x42f570 = _0x3a79c2[_0x210654(0x19c)](_0x105347); 700 if (_0x42f570) { 701 const [_0xe301, _0x451e1a, _0x4d81ba] = _0x42f570, _0x5b5ace = _0x451e1a['split'](',')[_0x2
70110654(0x192)](_0x5e3254 => _0x5e3254[_0x210654(0x1aa)]()), _0xa5c531 = _0x5b5ace[0x0]; 702 let _0x67adf3 = 'shift-away', _0x14a55a = !![], _0x2ab229 = [ 703 0x0, 704 0x0 705 ]; 706 for (let _0x4fb2b0 = 0x1; _0x4fb2b0 < _0x5b5ace[_0x210654(0x19f)]; _0x4fb2b0++) { 707 if (_0x5b5ace[_0x4fb2b0] === _0x210654(0x19a)) 708 _0x67adf3 = _0x210654(0x19a); 709 if (_0x5b5ace[_0x4fb2b0] === _0x210654(0x191)) 710 _0x14a55a = ![]; 711 const _0x4112f1 = _0x5b5ace[_0x4fb2b0]['match'](/(\d+)\s+(\d+)/); 712 if (_0x4112f1) { 713 const [, _0x5ab566, _0x5bb965] = _0x4112f1[_0x210654(0x192)](Number); 714 _0x2ab229 = [ 715 _0x5ab566, 716 _0x5bb965 717 ]; 718 } 719 } 720 _0x42111b(_0x48f7f1, _0x4d81ba[_0x210654(0x1aa)](), _0xa5c531, _0x67adf3, _0x14a55a, _0x2ab229); 721 } else 722 _0x42111b(_0x48f7f1, _0x3a79c2); 723 _0x48f7f1['removeAttribute'](_0x210654(0x1ad)); 724 } 725 } 726 const _0x515489 = new MutationObserver(_0x37cd62 => { 727 const _0x5e200a = _0x62a14c; 728 _0x37cd62[_0x5e200a(0x194)](_0x1d9ccf => { 729 const _0x480161 = _0x5e200a; 730 _0x1d9ccf['type'] === 'attributes' && _0x1d9ccf['attributeName'] === 'title' && _0x1d9ccf[_0x480161(0x196)][_0x480161(0x19d)] === Node[_0x480161(0x1a5)] && _0x465e5d(_0x1d9ccf[_0x480161(0x196)]), _0x1d9ccf[_0x480161(0x1ae)][_0x480161(0x194)](_0x92904f => { 731 const _0x2c7cca = _0x480161; 732 _0x92904f['nodeType'] === Node['ELEMENT_NODE'] && (_0x465e5d(_0x92904f), _0x92904f[_0x2c7cca(0x1af)](_0x2c7cca(0x1a2))[_0x2c7cca(0x194)](_0x465e5d)); 733 }); 734 }); 735 }); 736 _0x515489[_0x62a14c(0x1a8)](document[_0x62a14c(0x1a0)], { 737 'childList': !![], 738 'subtree': !![], 739 'attributes': !![], 740 'attributeFilter': [_0x62a14c(0x1ad)] 741 }), document[_0x62a14c(0x1af)](_0x62a14c(0x1a2))[_0x62a14c(0x194)](_0x465e5d); 742 743 }); 744} 745function _0xd9c7() { 746 const _0x4e7acd = [ 747 'addEventListener', 748 '1671975NCKVCK', 749 '125680kKhryb', 750 'no-animation', 751 'getAttribute', 752 'match', 753 'nodeType', 754 '', 755 'length', 756 'body', 757 'hasAttribute', 758 '[title]', 759 '95830pkTjJf', 760 '1548720FAQDTi', 761 'ELEMENT_NODE', 762 'top', 763 '13212408dpzjKV', 764 'observe', 765 'DOMContentLoaded', 766 'trim', 767 'shift-away', 768 '40TXTMyl', 769 'title', 770 'addedNodes', 771 'querySelectorAll', 772 '1272538pUUoyd', 773 'no-arrow', 774 'map', 775 '_tippy', 776 'forEach', 777 '3728389YxgYeo', 778 'target' 779 ]; 780 _0xd9c7 = function () { 781 return _0x4e7acd; 782 }; 783 return _0xd9c7(); 784} 785 hhh(); 786 787</script>
787 788<!-- 1701287959788x680247986285445100 --> 789<style id="custom-scrollbar-styles"></style> 790
791<script> 792// Set default values 793var defaultTrackWidth = '12px'; 794var defaultTrackColour = '#f1f1f1'; 795var defaultTrackBorderRadius = '10px'; 796var defaultThumbColour = '#888888'; 797var defaultThumbBorderRadius = '10px'; 798var defaultThumbHoverColour = '#555555'; 799 800// Function to update the scrollbar styles 801function updateScrollbarStyles() { 802var trackWidth = '8' || defaultTrackWidth; 803var trackColour = '#FFFFFF' || defaultTrackColour; 804var trackBorderRadius = '1000' || defaultTrackBorderRadius; 805var thumbColour = '#98A2B3' || defaultThumbColour; 806var thumbBorderRadius = '1000' || defaultThumbBorderRadius; 807var thumbHoverColour = '#667085' || defaultThumbHoverColour; 808 809 810 // Generate the CSS string 811 var customScrollbarCSS = ` 812 ::-webkit-scrollbar { 813 width: ${trackWidth}px; 814 } 815 ::-webkit-scrollbar-track { 816 background: ${trackColour}; 817 border-radius: ${trackBorderRadius}px; 818 } 819 ::-webkit-scrollbar-thumb { 820 background: ${thumbColour}; 821 border-radius: ${thumbBorderRadius}px; 822 } 823 ::-webkit-scrollbar-thumb:hover { 824 background: ${thumbHoverColour}; 825 } 826`; 827 828 // Inject the CSS into the style tag 829 document.getElementById('custom-scrollbar-styles').textContent = customScrollbarCSS; 830} 831 832// Call the function to apply the styles 833updateScrollbarStyles(); 834</script>
834 835 836 837<!-- AAI --> 838<style>.outline { transition: stroke var(--transition-duration) var(--transition-easing); }</style> 839 840<!-- AAC -->
841<script defer src="https://cdn.jsdelivr.net/npm/img-comparison-slider@8/dist/index.js"></script>
841<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/img-comparison-slider@8/dist/styles.css"/> 842
843<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_end_execution = Date.now();</script>
843 844<!-- custom app meta header --> 845<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 845-846
845 846<script async src="https://www.googletagmanager.com/gtag/js?id=
846G-2LBGGECZYZ
vendor: 12 bytes, line 846
846"></script>
847<script> 848
vendor: 134 bytes, lines 848-852
848window.dataLayer = window.dataLayer || []; 849 function gtag(){dataLayer.push(arguments);} 850 gtag('js', new Date()); 851 852 gtag('config', '
852G-2LBGGECZYZ
vendor: 4 bytes, line 852
852');
853</script>
853 854
855<script type="text/javascript"> 856 (function(c,l,a,r,i,t,y){ 857 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 858 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 859 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 860 })(window, document, "clarity", "script", "qxbq1h51hx"); 861</script>
861 862
863<script 864 src="https://widgets.leadconnectorhq.com/loader.js" 865 data-resources-url="https://widgets.leadconnectorhq.com/chat-widget/loader.js" 866 data-widget-id="676f6b7c1f70dc7b19facad7" > 867 </script>
867 868</head> 869<body>
869<script type="text/javascript"> 870window.addEventListener('DOMContentLoaded', function () { 871 if (window.appquery == null) { 872 (function() { 873 const html = ` 874 <div class="error-card"> 875 <div class="error-section"> 876 <div class="error-title">Your browser was unable to load some necessary resources</div> 877 <div class="error-message">Contact your IT network administrator to allow access to: 878 ⢠d3dqmih97rcqmh.cloudfront.net 879 ⢠1f7b8abedfae73d00c9e5bcb5041db4e.cdn.bubble.io/ 880 ⢠d1muf25xaso8hp.cloudfront.net</div> 881 </div> 882 </div> 883 ` 884 885 const css = document.createElement('style') 886 css.type = 'text/css' 887 css.appendChild( 888 document.createTextNode(` 889 .error-overlay { 890 width: 100%; 891 height: 100%; 892 background: rgba(0,0,0,0.30); 893 overflow: hidden; 894 display: flex; 895 justify-content: center; 896 align-items: flex-start; 897 position: fixed; 898 inset: 0; 899 z-index: 999999; 900 } 901 902 .error-card { 903 width: 500px; 904 margin: 40px; 905 background: white; 906 box-shadow: 0px 1px 2px rgba(0,0,0,0.10); 907 border-radius: 8px; 908 display: flex; 909 flex-direction: column; 910 } 911 912 .error-section { 913 padding: 40px; 914 display: flex; 915 flex-direction: column; 916 gap: 12px; 917 } 918 919 .error-title { 920 color: #1A1A1A; 921 font-size: 18px; 922 font-family: Arial, sans-serif; 923 font-weight: 600; 924 line-height: 28px; 925 } 926 927 .error-message { 928 color: #525252; 929 font-size: 14px; 930 font-family: Arial, sans-serif; 931 font-weight: 400; 932 line-height: 20px; 933 white-space: pre-wrap; 934 } 935 `) 936 ) 937 document.head.appendChild(css) 938 939 const container = document.createElement('div') 940 container.className = 'error-overlay' 941 container.innerHTML = html 942 document.body.appendChild(container) 943 })() 944 httpRequest = new XMLHttpRequest(); 945httpRequest.open('POST', '/user/m', true); 946httpRequest.setRequestHeader('Content-Type', 'application/json'); 947httpRequest.send(JSON.stringify({measures: {page_load_error: 1, url: document.location.href, errors: window.load_error_log}})); 948 }; 949}); 950</script>
950<script> 951 function trackPageView() { 952 gtag('event', 'page_view', { page_path: window.location.pathname }); 953 } 954 window.addEventListener('load', trackPageView); 955</script>
955<script type="text/javascript">window.addEventListener('DOMContentLoaded', function () {if (window.appquery && window.app == null) {(function() { 956 const html = ` 957 <div class="error-card"> 958 <div class="error-section"> 959 <div class="error-title">Your browser was unable to load the application</div> 960 <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> 961 </div> 962 </div> 963 ` 964 965 const css = document.createElement('style') 966 css.type = 'text/css' 967 css.appendChild( 968 document.createTextNode(` 969 .error-overlay { 970 width: 100%; 971 height: 100%; 972 background: rgba(0,0,0,0.30); 973 overflow: hidden; 974 display: flex; 975 justify-content: center; 976 align-items: flex-start; 977 position: fixed; 978 inset: 0; 979 z-index: 999999; 980 } 981 982 .error-card { 983 width: 500px; 984 margin: 40px; 985 background: white; 986 box-shadow: 0px 1px 2px rgba(0,0,0,0.10); 987 border-radius: 8px; 988 display: flex; 989 flex-direction: column; 990 } 991 992 .error-section { 993 padding: 40px; 994 display: flex; 995 flex-direction: column; 996 gap: 12px; 997 } 998 999 .error-title { 1000 color: #1A1A1A; 1001 font-size: 18px; 1002 font-family: Arial, sans-serif; 1003 font-weight: 600; 1004 line-height: 28px; 1005 } 1006 1007 .error-message { 1008 color: #525252; 1009 font-size: 14px; 1010 font-family: Arial, sans-serif; 1011 font-weight: 400; 1012 line-height: 20px; 1013 white-space: pre-wrap; 1014 } 1015 `) 1016 ) 1017 document.head.appendChild(css) 1018 1019 const container = document.createElement('div') 1020 container.className = 'error-overlay' 1021 container.innerHTML = html 1022 document.body.appendChild(container) 1023 })()}});</script>
1023 1024<img style="display: none;" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" /> 1025</body> 1026</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.