1<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="note" content="environment=development"/><style>.gatsby-image-wrapper{position:relative;overflow:hidden}.gatsby-image-wrapper picture.object-fit-polyfill{position:static!important}.gatsby-image-wrapper img{bottom:0;height:100%;left:0;margin:0;max-width:none;padding:0;position:absolute;right:0;top:0;width:100%;object-fit:cover}.gatsby-image-wrapper [data-main-image]{opacity:0;transform:translateZ(0);transition:opacity .25s linear;will-change:opacity}.gatsby-image-wrapper-constrained{display:inline-block;vertical-align:top}</style><noscript><style>.gatsby-image-wrapper noscript [data-main-image]{opacity:1!important}.gatsby-image-wrapper [data-placeholder-image]{opacity:0!important}</style></noscript>
1<script type="module">const e="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;e&&document.body.addEventListener("load",(function(e){const t=e.target;if(void 0===t.dataset.mainImage)return;if(void 0===t.dataset.gatsbyImageSsr)return;let a=null,n=t;for(;null===a&&n;)void 0!==n.parentNode.dataset.gatsbyImageWrapper&&(a=n.parentNode),n=n.parentNode;const o=a.querySelector("[data-placeholder-image]"),r=new Image;r.src=t.currentSrc,r.decode().catch((()=>{})).then((()=>{t.style.opacity=1,o&&(o.style.opacity=0,o.style.transition="opacity 500ms linear")}))}),!0);</script>
1<link rel="sitemap" type="application/xml" href="/sitemap-index.xml"/>
1<script data-ot-ignore="">if (["stage--qlik-www.netlify.app","qlik-master-preview.onrender.com","main--qlik-www.netlify.app","www.qlik.com"].includes(window.location.host)) {(function(){window.dataLayer = window.dataLayer || [];window.dataLayer.push({"site":"www"}); (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl+'';f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer', 'GTM-P7VJSX'); 2 try { 3 var s = document.querySelector("script[src*='googletagmanager.com/gtm.js']"); 4 if (s) { s.setAttribute('data-ot-ignore', ''); } 5 } catch(e) {} 6 })();} else {window.dataLayer = [];}</script>
6<link rel="icon" href="/favicon-32x32.png?v=2d8023c3b2369d28e981716a746231f0" type="image/png"/><link rel="manifest" href="/manifest.webmanifest" crossorigin="anonymous"/><link rel="apple-touch-icon" sizes="48x48" href="/icons/icon-48x48.png?v=2d8023c3b2369d28e981716a746231f0"/><link rel="apple-touch-icon" sizes="72x72" href="/icons/icon-72x72.png?v=2d8023c3b2369d28e981716a746231f0"/><link rel="apple-touch-icon" sizes="96x96" href="/icons/icon-96x96.png?v=2d8023c3b2369d28e981716a746231f0"/><link rel="apple-touch-icon" sizes="144x144" href="/icons/icon-144x144.png?v=2d8023c3b2369d28e981716a746231f0"/><link rel="apple-touch-icon" sizes="192x192" href="/icons/icon-192x192.png?v=2d8023c3b2369d28e981716a746231f0"/><link rel="apple-touch-icon" sizes="256x256" href="/icons/icon-256x256.png?v=2d8023c3b2369d28e981716a746231f0"/><link rel="apple-touch-icon" sizes="384x384" href="/icons/icon-384x384.png?v=2d8023c3b2369d28e981716a746231f0"/><link rel="apple-touch-icon" sizes="512x512" href="/icons/icon-512x512.png?v=2d8023c3b2369d28e981716a746231f0"/><link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com"/>
6<script id="vwoCode" type="text/plain" class="optanon-category-C0002"> 7 window._vwo_code || (function () { 8 var account_id=538716, 9 w=window, 10 d=document; 11 version=2.2, 12 settings_tolerance=2000, 13 hide_element='body', 14 hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important'; 15 /* DO NOT EDIT BELOW THIS LINE */ 16 if(f=!1,v=d.querySelector('#vwoCode'),cc={},-1<d.URL.indexOf('__vwo_disable__')||w._vwo_code)return;try{var e=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=e&&'object'==typeof e?e:{}}catch(e){}function r(t){try{return decodeURIComponent(t)}catch(e){return t}}var s=function(){var e={combination:[],combinationChoose:[],split:[],exclude:[],uuid:null,consent:null,optOut:null},t=d.cookie||'';if(!t)return e;for(var n,i,o=/(?:^|;s*)(?:(_vis_opt_exp_(d+)_combi=([^;]*))|(_vis_opt_exp_(d+)_combi_choose=([^;]*))|(_vis_opt_exp_(d+)_split=([^:;]*))|(_vis_opt_exp_(d+)_exclude=[^;]*)|(_vis_opt_out=([^;]*))|(_vwo_global_opt_out=[^;]*)|(_vwo_uuid=([^;]*))|(_vwo_consent=([^;]*)))/g;null!==(n=o.exec(t));)try{n[1]?e.combination.push({id:n[2],value:r(n[3])}):n[4]?e.combinationChoose.push({id:n[5],value:r(n[6])}):n[7]?e.split.push({id:n[8],value:r(n[9])}):n[10]?e.exclude.push({id:n[11]}):n[12]?e.optOut=r(n[13]):n[14]?e.optOut=!0:n[15]?e.uuid=r(n[16]):n[17]&&(i=r(n[18]),e.consent=i&&3<=i.length?i.substring(0,3):null)}catch(e){}return e}();function i(){var e=function(){if(w.VWO&&Array.isArray(w.VWO))for(var e=0;e<w.VWO.length;e++){var t=w.VWO[e];if(Array.isArray(t)&&('setVisitorId'===t[0]||'setSessionId'===t[0]))return!0}return!1}(),t='a='+account_id+'&u='+encodeURIComponent(w._vis_opt_url||d.URL)+'&vn='+version+'&ph=1'+('undefined'!=typeof platform?'&p='+platform:'')+'&st='+w.performance.now();e||((n=function(){var e,t=[],n={},i=w.VWO&&w.VWO.appliedCampaigns||{};for(e in i){var o=i[e]&&i[e].v;o&&(t.push(e+'-'+o+'-1'),n[e]=!0)}if(s&&s.combination)for(var r=0;r<s.combination.length;r++){var a=s.combination[r];n[a.id]||t.push(a.id+'-'+a.value)}return t.join('|')}())&&(t+='&c='+n),(n=function(){var e=[],t={};if(s&&s.combinationChoose)for(var n=0;n<s.combinationChoose.length;n++){var i=s.combinationChoose[n];e.push(i.id+'-'+i.value),t[i.id]=!0}if(s&&s.split)for(var o=0;o<s.split.length;o++)t[(i=s.split[o]).id]||e.push(i.id+'-'+i.value);return e.join('|')}())&&(t+='&cc='+n),(n=function(){var e={},t=[];if(w.VWO&&Array.isArray(w.VWO))for(var n=0;n<w.VWO.length;n++){var i=w.VWO[n];if(Array.isArray(i)&&'setVariation'===i[0]&&i[1]&&Array.isArray(i[1]))for(var o=0;o<i[1].length;o++){var r,a=i[1][o];a&&'object'==typeof a&&(r=a.e,a=a.v,r&&a&&(e[r]=a))}}for(r in e)t.push(r+'-'+e[r]);return t.join('|')}())&&(t+='&sv='+n)),s&&s.optOut&&(t+='&o='+s.optOut);var n=function(){var e=[],t={};if(s&&s.exclude)for(var n=0;n<s.exclude.length;n++){var i=s.exclude[n];t[i.id]||(e.push(i.id),t[i.id]=!0)}return e.join('|')}();return n&&(t+='&e='+n),s&&s.uuid&&(t+='&id='+s.uuid),s&&s.consent&&(t+='&consent='+s.consent),w.name&&-1<w.name.indexOf('_vis_preview')&&(t+='&pM=true'),w.VWO&&w.VWO.ed&&(t+='&ed='+w.VWO.ed),t}code={nonce:v&&v.nonce,library_tolerance:function(){return'undefined'!=typeof library_tolerance?library_tolerance:void 0},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){return performance.getEntriesByName('first-contentful-paint')[0]?'':'string'==typeof cc.hE?cc.hE:hide_element},getVersion:function(){return version},finish:function(e){var t;f||(f=!0,(t=d.getElementById('_vis_opt_path_hides'))&&t.parentNode.removeChild(t),e&&((new Image).src='https://dev.visualwebsiteoptimizer.com/ee.gif?a='+account_id+e))},finished:function(){return f},addScript:function(e){var t=d.createElement('script');t.type='text/javascript',e.src?t.src=e.src:t.text=e.text,v&&t.setAttribute('nonce',v.nonce),d.getElementsByTagName('head')[0].appendChild(t)},load:function(e,t){t=t||{};var n=new XMLHttpRequest;n.open('GET',e,!0),n.withCredentials=!t.dSC,n.responseType=t.responseType||'text',n.onload=function(){if(t.onloadCb)return t.onloadCb(n,e);200===n.status?_vwo_code.addScript({text:n.responseText}):_vwo_code.finish('&e=loading_failure:'+e)},n.onerror=function(){if(t.onerrorCb)return t.onerrorCb(e);_vwo_code.finish('&e=loading_failure:'+e)},n.send()},init:function(){var e,t=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish()}
16,t),'body'!==this.hide_element()?(n=d.createElement('style'),e=(t=this.hide_element())?t+this.hide_element_style():'',t=d.getElementsByTagName('head')[0],n.setAttribute('id','_vis_opt_path_hides'),v&&n.setAttribute('nonce',v.nonce),n.setAttribute('type','text/css'),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(d.createTextNode(e)),t.appendChild(n)):(n=d.getElementsByTagName('head')[0],(e=d.createElement('div')).style.cssText='z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;',e.setAttribute('id','_vis_opt_path_hides'),e.classList.add('_vis_hide_layer'),n.parentNode.insertBefore(e,n.nextSibling));var n='https://dev.visualwebsiteoptimizer.com/j.php?'+i();-1!==w.location.search.indexOf('_vwo_xhr')?this.addScript({src:n}):this.load(n+'&x=true',{l:1})}};w._vwo_code=code;code.init();})(); 17 </script>
17<style>:root{ --site-font: 'Inter', 'Inter Fallback'; }</style><link rel="preload" href="/fonts/Inter-compressed.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><style> 18 19 @font-face { 20 font-family: "Inter Fallback"; 21 src:local(Helvetica-Light), local(Arial) ; 22 font-weight: 100 400; 23 font-style: normal; 24 size-adjust: 103%; 25 font-display: swap; 26 } 27 28 @font-face { 29 font-family: "Inter Fallback"; 30 src:local(Helvetica-Bold), local("Arial Bold") ; 31 font-weight: 400 900; 32 font-style: normal; 33 font-display: swap; 34 } 35 36 /* latin */ 37 @font-face { 38 font-family: 'Inter'; 39 font-style: normal; 40 font-weight: 100 900; 41 font-display: swap; 42 src: url('/fonts/Inter-compressed.woff2') format("woff2"); 43 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 44 } 45 /* latin-ext */ 46 @font-face { 47 font-family: 'Inter'; 48 font-style: normal; 49 font-weight: 100 900; 50 font-display: swap; 51 src: url('/fonts/Inter-compressed-ext.woff2') format("woff2"); 52 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 53 } 54 </style><link rel="preload" href="/fonts/InterRTMOverrides-Light.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link rel="preload" href="/fonts/InterRTMOverrides-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link rel="preload" href="/fonts/InterRTMOverrides-Bold.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><style> 55 /* Light 300 */ 56 @font-face { 57 font-family: "Inter R TM Overrides"; 58 src: url("/fonts/InterRTMOverrides-Light.woff2") format("woff2"); 59 font-style: normal; 60 font-weight: 100 300; 61 unicode-range: U+00AE; 62 font-display: swap; 63 } 64 65 /* Regular 400 */ 66 @font-face { 67 font-family: "Inter R TM Overrides"; 68 src: url("/fonts/InterRTMOverrides-Regular.woff2") format("woff2"); 69 font-style: normal; 70 font-weight: 400 500; 71 unicode-range: U+00AE; 72 font-display: swap; 73 } 74 75 /* Bold 700 */ 76 @font-face { 77 font-family: "Inter R TM Overrides"; 78 src: url("/fonts/InterRTMOverrides-Bold.woff2") format("woff2"); 79 font-style: normal; 80 font-weight: 600 900; 81 unicode-range: U+00AE; 82 font-display: swap; 83 } 84 85 </style>
85<script> 86 (function() { 87 var didInit = false; 88 if (typeof window.Munchkin !== "undefined") didInit = true; 89 function initMunchkin() { 90 if(didInit === false) { 91 didInit = true; 92 Munchkin.init('049-DKK-796', {"altIds":["347-IAT-677"]}); 93 } 94 } 95 var s = document.createElement('script'); 96 s.type = 'text/plain'; 97 s.className = 'optanon-category-C0004'; 98 s.async = true; 99 s.src = '//munchkin.marketo.net/munchkin.js'; 100 s.onreadystatechange = function() { 101 if (this.readyState == 'complete' || this.readyState == 'loaded') { 102 initMunchkin(); 103 } 104 }; 105 s.onload = initMunchkin; 106 document.getElementsByTagName('head')[0].appendChild(s); 107 })(); 108 </script>
108<script src="/socket.io/socket.io.js"></script>
108<link rel="stylesheet" href="/commons.css"/></head><body>
108<script> 109 (() => { 110 const cookieName = "_notification"; 111 112 const rawCookie = document.cookie 113 .split("; ") 114 .find((cookie) => cookie.startsWith(cookieName + "=")) 115 ?.split("=") 116 .slice(1) 117 .join("="); 118 119 120 if (rawCookie) { 121 decodeURIComponent(rawCookie) 122 .split(",") 123 .map((v) => v.trim()) 124 .filter((v) => /^[0-9]+$/.test(v)) 125 .forEach((el) => { 126 document.documentElement.style.setProperty( 127 "--hide-notification-bar-" + el, 128 "none" 129 ); 130 }); 131 } 132 })(); 133 </script>
133<div id="___gatsby"></div>
133<script type="text/javascript"> 134 var getMktoToken = function() { 135 // Define token variable for return 136 var token = ""; 137 138 // Cookie name to search for 139 var cookieName = "_mkto_trk="; 140 141 // Split cookie string into array 142 var cookieArray = document.cookie.split(';'); 143 144 // Review array of cookies 145 for(var i=0;i < cookieArray.length;i++) { 146 // Define cookie name 147 var c = cookieArray[i]; 148 149 // Remove leading whitespace 150 while (c.charAt(0)==' ') c = c.substring(1,c.length); 151 152 // If cookie name matches, return the value 153 if (c.indexOf(cookieName) == 0) token = c.substring(cookieName.length,c.length); 154 } 155 156 if (token) { 157 // Split token string into array 158 var tokenArray = token.split('&'); 159 160 // Run through results, split by ":" and return the token value 161 for(var i=0; i<tokenArray.length; i++) { 162 var splitVal = tokenArray[i].split(':'); 163 if (splitVal[0] === 'token') token = splitVal[1]; 164 } 165 } 166 167 // Return the token 168 return token; 169 } 170 171 window.adaSettings = { 172 metaFields: { 173 mkto_token: getMktoToken(), 174 }, 175 handle: "qlik-martech-gen-sandbox", 176 cluster: "eu" 177 }; 178 </script>
178<script defer="" src="https://static.ada.support/embed2.js"></script>
178<script src="/framework.js"></script>
178<script src="/commons.js"></script>
178</body></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.