CINXE.COM
WP React Starter: WordPress Plugin Boilerplate with React
<!DOCTYPE HTML> <html lang="en-US"> <head><meta charset="UTF-8"><script>if(navigator.userAgent.match(/MSIE|Internet Explorer/i)||navigator.userAgent.match(/Trident\/7\..*?rv:11/i)){var href=document.location.href;if(!href.match(/[?&]nowprocket/)){if(href.indexOf("?")==-1){if(href.indexOf("#")==-1){document.location.href=href+"?nowprocket=1"}else{document.location.href=href.replace("#","?nowprocket=1#")}}else{if(href.indexOf("#")==-1){document.location.href=href+"&nowprocket=1"}else{document.location.href=href.replace("#","&nowprocket=1#")}}}}</script><script>(()=>{class RocketLazyLoadScripts{constructor(){this.v="1.2.6",this.triggerEvents=["keydown","mousedown","mousemove","touchmove","touchstart","touchend","wheel"],this.userEventHandler=this.t.bind(this),this.touchStartHandler=this.i.bind(this),this.touchMoveHandler=this.o.bind(this),this.touchEndHandler=this.h.bind(this),this.clickHandler=this.u.bind(this),this.interceptedClicks=[],this.interceptedClickListeners=[],this.l(this),window.addEventListener("pageshow",(t=>{this.persisted=t.persisted,this.everythingLoaded&&this.m()})),this.CSPIssue=sessionStorage.getItem("rocketCSPIssue"),document.addEventListener("securitypolicyviolation",(t=>{this.CSPIssue||"script-src-elem"!==t.violatedDirective||"data"!==t.blockedURI||(this.CSPIssue=!0,sessionStorage.setItem("rocketCSPIssue",!0))})),document.addEventListener("DOMContentLoaded",(()=>{this.k()})),this.delayedScripts={normal:[],async:[],defer:[]},this.trash=[],this.allJQueries=[]}p(t){document.hidden?t.t():(this.triggerEvents.forEach((e=>window.addEventListener(e,t.userEventHandler,{passive:!0}))),window.addEventListener("touchstart",t.touchStartHandler,{passive:!0}),window.addEventListener("mousedown",t.touchStartHandler),document.addEventListener("visibilitychange",t.userEventHandler))}_(){this.triggerEvents.forEach((t=>window.removeEventListener(t,this.userEventHandler,{passive:!0}))),document.removeEventListener("visibilitychange",this.userEventHandler)}i(t){"HTML"!==t.target.tagName&&(window.addEventListener("touchend",this.touchEndHandler),window.addEventListener("mouseup",this.touchEndHandler),window.addEventListener("touchmove",this.touchMoveHandler,{passive:!0}),window.addEventListener("mousemove",this.touchMoveHandler),t.target.addEventListener("click",this.clickHandler),this.L(t.target,!0),this.S(t.target,"onclick","rocket-onclick"),this.C())}o(t){window.removeEventListener("touchend",this.touchEndHandler),window.removeEventListener("mouseup",this.touchEndHandler),window.removeEventListener("touchmove",this.touchMoveHandler,{passive:!0}),window.removeEventListener("mousemove",this.touchMoveHandler),t.target.removeEventListener("click",this.clickHandler),this.L(t.target,!1),this.S(t.target,"rocket-onclick","onclick"),this.M()}h(){window.removeEventListener("touchend",this.touchEndHandler),window.removeEventListener("mouseup",this.touchEndHandler),window.removeEventListener("touchmove",this.touchMoveHandler,{passive:!0}),window.removeEventListener("mousemove",this.touchMoveHandler)}u(t){t.target.removeEventListener("click",this.clickHandler),this.L(t.target,!1),this.S(t.target,"rocket-onclick","onclick"),this.interceptedClicks.push(t),t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),this.M()}O(){window.removeEventListener("touchstart",this.touchStartHandler,{passive:!0}),window.removeEventListener("mousedown",this.touchStartHandler),this.interceptedClicks.forEach((t=>{t.target.dispatchEvent(new MouseEvent("click",{view:t.view,bubbles:!0,cancelable:!0}))}))}l(t){EventTarget.prototype.addEventListenerWPRocketBase=EventTarget.prototype.addEventListener,EventTarget.prototype.addEventListener=function(e,i,o){"click"!==e||t.windowLoaded||i===t.clickHandler||t.interceptedClickListeners.push({target:this,func:i,options:o}),(this||window).addEventListenerWPRocketBase(e,i,o)}}L(t,e){this.interceptedClickListeners.forEach((i=>{i.target===t&&(e?t.removeEventListener("click",i.func,i.options):t.addEventListener("click",i.func,i.options))})),t.parentNode!==document.documentElement&&this.L(t.parentNode,e)}D(){return new Promise((t=>{this.P?this.M=t:t()}))}C(){this.P=!0}M(){this.P=!1}S(t,e,i){t.hasAttribute&&t.hasAttribute(e)&&(event.target.setAttribute(i,event.target.getAttribute(e)),event.target.removeAttribute(e))}t(){this._(this),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",this.R.bind(this)):this.R()}k(){let t=[];document.querySelectorAll("script[type=rocketlazyloadscript][data-rocket-src]").forEach((e=>{let i=e.getAttribute("data-rocket-src");if(i&&!i.startsWith("data:")){0===i.indexOf("//")&&(i=location.protocol+i);try{const o=new URL(i).origin;o!==location.origin&&t.push({src:o,crossOrigin:e.crossOrigin||"module"===e.getAttribute("data-rocket-type")})}catch(t){}}})),t=[...new Map(t.map((t=>[JSON.stringify(t),t]))).values()],this.T(t,"preconnect")}async R(){this.lastBreath=Date.now(),this.j(this),this.F(this),this.I(),this.W(),this.q(),await this.A(this.delayedScripts.normal),await this.A(this.delayedScripts.defer),await this.A(this.delayedScripts.async);try{await this.U(),await this.H(this),await this.J()}catch(t){console.error(t)}window.dispatchEvent(new Event("rocket-allScriptsLoaded")),this.everythingLoaded=!0,this.D().then((()=>{this.O()})),this.N()}W(){document.querySelectorAll("script[type=rocketlazyloadscript]").forEach((t=>{t.hasAttribute("data-rocket-src")?t.hasAttribute("async")&&!1!==t.async?this.delayedScripts.async.push(t):t.hasAttribute("defer")&&!1!==t.defer||"module"===t.getAttribute("data-rocket-type")?this.delayedScripts.defer.push(t):this.delayedScripts.normal.push(t):this.delayedScripts.normal.push(t)}))}async B(t){if(await this.G(),!0!==t.noModule||!("noModule"in HTMLScriptElement.prototype))return new Promise((e=>{let i;function o(){(i||t).setAttribute("data-rocket-status","executed"),e()}try{if(navigator.userAgent.indexOf("Firefox/")>0||""===navigator.vendor||this.CSPIssue)i=document.createElement("script"),[...t.attributes].forEach((t=>{let e=t.nodeName;"type"!==e&&("data-rocket-type"===e&&(e="type"),"data-rocket-src"===e&&(e="src"),i.setAttribute(e,t.nodeValue))})),t.text&&(i.text=t.text),i.hasAttribute("src")?(i.addEventListener("load",o),i.addEventListener("error",(function(){i.setAttribute("data-rocket-status","failed-network"),e()})),setTimeout((()=>{i.isConnected||e()}),1)):(i.text=t.text,o()),t.parentNode.replaceChild(i,t);else{const i=t.getAttribute("data-rocket-type"),s=t.getAttribute("data-rocket-src");i?(t.type=i,t.removeAttribute("data-rocket-type")):t.removeAttribute("type"),t.addEventListener("load",o),t.addEventListener("error",(i=>{this.CSPIssue&&i.target.src.startsWith("data:")?(console.log("WPRocket: data-uri blocked by CSP -> fallback"),t.removeAttribute("src"),this.B(t).then(e)):(t.setAttribute("data-rocket-status","failed-network"),e())})),s?(t.removeAttribute("data-rocket-src"),t.src=s):t.src="data:text/javascript;base64,"+window.btoa(unescape(encodeURIComponent(t.text)))}}catch(i){t.setAttribute("data-rocket-status","failed-transform"),e()}}));t.setAttribute("data-rocket-status","skipped")}async A(t){const e=t.shift();return e&&e.isConnected?(await this.B(e),this.A(t)):Promise.resolve()}q(){this.T([...this.delayedScripts.normal,...this.delayedScripts.defer,...this.delayedScripts.async],"preload")}T(t,e){var i=document.createDocumentFragment();t.forEach((t=>{const o=t.getAttribute&&t.getAttribute("data-rocket-src")||t.src;if(o&&!o.startsWith("data:")){const s=document.createElement("link");s.href=o,s.rel=e,"preconnect"!==e&&(s.as="script"),t.getAttribute&&"module"===t.getAttribute("data-rocket-type")&&(s.crossOrigin=!0),t.crossOrigin&&(s.crossOrigin=t.crossOrigin),t.integrity&&(s.integrity=t.integrity),i.appendChild(s),this.trash.push(s)}})),document.head.appendChild(i)}j(t){let e={};function i(i,o){return e[o].eventsToRewrite.indexOf(i)>=0&&!t.everythingLoaded?"rocket-"+i:i}function o(t,o){!function(t){e[t]||(e[t]={originalFunctions:{add:t.addEventListener,remove:t.removeEventListener},eventsToRewrite:[]},t.addEventListener=function(){arguments[0]=i(arguments[0],t),e[t].originalFunctions.add.apply(t,arguments)},t.removeEventListener=function(){arguments[0]=i(arguments[0],t),e[t].originalFunctions.remove.apply(t,arguments)})}(t),e[t].eventsToRewrite.push(o)}function s(e,i){let o=e[i];e[i]=null,Object.defineProperty(e,i,{get:()=>o||function(){},set(s){t.everythingLoaded?o=s:e["rocket"+i]=o=s}})}o(document,"DOMContentLoaded"),o(window,"DOMContentLoaded"),o(window,"load"),o(window,"pageshow"),o(document,"readystatechange"),s(document,"onreadystatechange"),s(window,"onload"),s(window,"onpageshow");try{Object.defineProperty(document,"readyState",{get:()=>t.rocketReadyState,set(e){t.rocketReadyState=e},configurable:!0}),document.readyState="loading"}catch(t){console.log("WPRocket DJE readyState conflict, bypassing")}}F(t){let e;function i(e){return t.everythingLoaded?e:e.split(" ").map((t=>"load"===t||0===t.indexOf("load.")?"rocket-jquery-load":t)).join(" ")}function o(o){function s(t){const e=o.fn[t];o.fn[t]=o.fn.init.prototype[t]=function(){return this[0]===window&&("string"==typeof arguments[0]||arguments[0]instanceof String?arguments[0]=i(arguments[0]):"object"==typeof arguments[0]&&Object.keys(arguments[0]).forEach((t=>{const e=arguments[0][t];delete arguments[0][t],arguments[0][i(t)]=e}))),e.apply(this,arguments),this}}o&&o.fn&&!t.allJQueries.includes(o)&&(o.fn.ready=o.fn.init.prototype.ready=function(e){return t.domReadyFired?e.bind(document)(o):document.addEventListener("rocket-DOMContentLoaded",(()=>e.bind(document)(o))),o([])},s("on"),s("one"),t.allJQueries.push(o)),e=o}o(window.jQuery),Object.defineProperty(window,"jQuery",{get:()=>e,set(t){o(t)}})}async H(t){const e=document.querySelector("script[data-webpack]");e&&(await async function(){return new Promise((t=>{e.addEventListener("load",t),e.addEventListener("error",t)}))}(),await t.K(),await t.H(t))}async U(){this.domReadyFired=!0;try{document.readyState="interactive"}catch(t){}await this.G(),document.dispatchEvent(new Event("rocket-readystatechange")),await this.G(),document.rocketonreadystatechange&&document.rocketonreadystatechange(),await this.G(),document.dispatchEvent(new Event("rocket-DOMContentLoaded")),await this.G(),window.dispatchEvent(new Event("rocket-DOMContentLoaded"))}async J(){try{document.readyState="complete"}catch(t){}await this.G(),document.dispatchEvent(new Event("rocket-readystatechange")),await this.G(),document.rocketonreadystatechange&&document.rocketonreadystatechange(),await this.G(),window.dispatchEvent(new Event("rocket-load")),await this.G(),window.rocketonload&&window.rocketonload(),await this.G(),this.allJQueries.forEach((t=>t(window).trigger("rocket-jquery-load"))),await this.G();const t=new Event("rocket-pageshow");t.persisted=this.persisted,window.dispatchEvent(t),await this.G(),window.rocketonpageshow&&window.rocketonpageshow({persisted:this.persisted}),this.windowLoaded=!0}m(){document.onreadystatechange&&document.onreadystatechange(),window.onload&&window.onload(),window.onpageshow&&window.onpageshow({persisted:this.persisted})}I(){const t=new Map;document.write=document.writeln=function(e){const i=document.currentScript;i||console.error("WPRocket unable to document.write this: "+e);const o=document.createRange(),s=i.parentElement;let n=t.get(i);void 0===n&&(n=i.nextSibling,t.set(i,n));const c=document.createDocumentFragment();o.setStart(c,0),c.appendChild(o.createContextualFragment(e)),s.insertBefore(c,n)}}async G(){Date.now()-this.lastBreath>45&&(await this.K(),this.lastBreath=Date.now())}async K(){return document.hidden?new Promise((t=>setTimeout(t))):new Promise((t=>requestAnimationFrame(t)))}N(){this.trash.forEach((t=>t.remove()))}static run(){const t=new RocketLazyLoadScripts;t.p(t)}}RocketLazyLoadScripts.run()})();</script> <title>WP React Starter: WordPress Plugin Boilerplate with React</title><style id="rocket-critical-css">:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.menu-item-object-language_switcher .trp-flag-image{display:inline-block;margin:-1px 5px;vertical-align:baseline;padding:0;border:0;border-radius:0}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;overflow-x:hidden}template{display:none}a{text-decoration:none;background:none;-webkit-text-decoration-skip:objects}img{height:auto;max-width:100%}button{vertical-align:top;text-transform:none;color:inherit;font:inherit;border:none;margin:0}button{overflow:visible;-webkit-appearance:button}::-moz-focus-inner{border:0}::-webkit-file-upload-button{font:inherit;border:0;outline:0;padding-left:0;background:none}table{border-collapse:collapse;border-spacing:0;width:100%}th{text-align:left}td,th{vertical-align:top;padding:0.6rem 1rem;border-bottom:1px solid;border-color:var(--color-content-border);outline:none!important}ul{list-style:none;margin:0;padding:0}:-webkit-full-screen-ancestor:not(iframe){animation:none!important}::-moz-placeholder{opacity:0.5;color:inherit}::-webkit-input-placeholder{color:inherit;opacity:0.5}html{font-family:var(--font-family,inherit);font-weight:var(--font-weight,400);font-size:var(--font-size,16px);font-style:var(--font-style,normal);text-transform:var(--text-transform,none);line-height:var(--line-height,28px);letter-spacing:var(--letter-spacing,0)}h1,h2{margin:0;padding-top:1.5rem;color:var(--color-content-heading)}h1:first-child{padding-top:0}p,ul,table{margin:0 0 1.5rem}p:empty{display:none}ul{list-style-type:disc;margin-left:2.5rem}li{margin:0 0 0.5rem}li>ul{margin-bottom:0.5rem;margin-top:0.5rem}h1:last-child,p:last-child,ul:last-child,li:last-child{margin-bottom:0}.l-section[class*="color_"] h1,.has_text_color h1{color:inherit}.hidden{display:none!important}.i-cf:after{content:'';display:block;clear:both}a{color:var(--color-content-link)}.l-canvas{margin:0 auto;width:100%;flex-grow:1;background:var(--color-content-bg-grad);color:var(--color-content-text)}@media screen and (min-width:1025px){body:not(.us_iframe){display:flex;flex-direction:column;min-height:100vh}}.l-subheader,.l-section{padding-left:2.5rem;padding-right:2.5rem}.l-section{position:relative;margin:0 auto}.l-section-img{position:absolute;top:0;left:0;right:0;bottom:0;background-position:center center;background-size:cover}.l-section-h{position:relative;margin:0 auto;width:100%;max-width:var(--site-content-width,1200px)}.l-section.height_medium{padding-top:4rem;padding-bottom:4rem}.header_hor .l-header.pos_fixed~.l-main>.l-section:first-of-type>.l-section-h{padding-top:var(--header-height)}.l-section.color_primary{background:var(--color-content-primary-grad);color:#fff}.l-section.parallax_ver>.l-section-img{background-attachment:fixed}.l-body .vc_row:after,.l-body .vc_row:before,.l-body .vc_column-inner:after,.l-body .vc_column-inner:before{display:none}.wpb_text_column:not(:last-child){margin-bottom:var(--text-block-margin-bottom,0px)}.rounded_none .w-header-show{border-radius:0!important}@media (max-width:1024px){.l-section.height_medium{padding-top:2.5rem;padding-bottom:2.5rem}}@media screen and (max-width:900px){.l-subheader{padding-left:1rem!important;padding-right:1rem!important}}@media screen and (max-width:600px){p{margin-bottom:1rem}h1,h2{padding-top:1rem}.w-header-show{margin:10px!important}.l-subheader,.l-section{padding-left:1.5rem;padding-right:1.5rem}.l-section.height_medium{padding-top:1.5rem;padding-bottom:1.5rem}}.g-cols.via_flex{display:flex;flex-wrap:wrap}.vc_column_container{display:flex;flex-direction:column;position:relative;border-color:var(--color-content-border)}.g-cols.via_flex>div>.vc_column-inner{display:flex;flex-direction:column;flex-grow:1;position:relative;border-color:inherit}.g-cols.via_flex.type_default{margin:0 -1.5rem}.g-cols.via_flex.type_default>div>.vc_column-inner{padding-left:1.5rem;padding-right:1.5rem}.l-header a{color:inherit}.l-subheader-cell{display:flex;align-items:center;flex-grow:1}.l-subheader-cell.at_left{justify-content:flex-start}.header_hor .l-subheader-cell.at_left>*{margin-right:1.4rem}.l-subheader-cell.at_center{justify-content:center}.l-subheader-cell.at_right{justify-content:flex-end}.header_hor .l-subheader-cell.at_right>*{margin-left:1.4rem}.l-subheader-cell:empty{display:none}.l-header:before{content:'auto';left:-100%;position:absolute;top:-100%;visibility:hidden!important}.l-header .w-image{flex-shrink:0}.w-image-h{display:block;height:inherit;max-height:inherit;border-radius:inherit;border-color:inherit!important;color:inherit!important}.w-image:not([class*="style_phone"]) .w-image-h{background:inherit}.w-image img{object-fit:contain;vertical-align:top;height:inherit;max-height:inherit;border-radius:inherit}.w-image[class*="ush_image_"] img{width:auto}.w-image-h[href]{position:relative}button::-moz-focus-inner{padding:0;border:0}.w-nav.type_desktop:not(.height_full){line-height:50px}.l-subheader-cell .w-nav{margin-left:0;margin-right:0}.w-nav-list{list-style:none;margin:0}.w-nav-list:not(.level_1){display:none}.w-nav.type_desktop .w-nav-list:not(.level_1){box-shadow:var(--box-shadow)}.w-nav.type_desktop .w-nav-list.level_2{text-align:left;position:absolute;left:0;z-index:120;min-width:12rem}.w-nav.type_desktop .w-nav-list.level_3{position:absolute;left:100%;top:0;z-index:121;min-width:12rem}.w-nav .menu-item{display:block;position:relative;margin:0}.w-nav-anchor{display:block;overflow:hidden;position:relative;outline:none!important}.w-nav-anchor:not(.w-btn){border:none!important}.w-nav.type_desktop .w-nav-anchor.level_1{z-index:1}.w-nav.type_desktop .w-nav-anchor:not(.level_1){line-height:1.5em;padding:0.6em 20px;white-space:nowrap}.w-nav-arrow{display:none;vertical-align:top;font-weight:normal;line-height:inherit;text-transform:none;text-align:center}.w-nav-arrow:before{content:'\f107';vertical-align:top;font-family:fontawesome;font-weight:400}.w-nav.type_desktop .w-nav-anchor.level_1 .w-nav-arrow:before{font-size:1.3em;margin-left:0.4em}.w-nav.type_desktop .w-nav-list.level_2 .w-nav-arrow:before{content:'\f105';font-size:1.3em}.header_hor .w-nav.type_desktop>.w-nav-list{display:flex;align-items:center}.header_hor .w-nav.type_desktop>.w-nav-list>.menu-item{flex-shrink:0}.w-nav.type_desktop.dropdown_opacity .w-nav-list:not(.level_1){display:block;visibility:hidden;opacity:0}.header_hor .l-subheader-cell.at_right .w-nav:last-child .w-nav-control{margin-right:-0.8rem}.w-nav-control{display:none;line-height:50px;height:50px;padding:0 0.8rem;color:inherit}.w-nav-icon{display:inline-block;vertical-align:top;font-size:20px;position:relative;height:inherit;width:1em}.w-nav-icon>div,.w-nav-icon>div:before,.w-nav-icon>div:after{content:'';display:block;position:absolute;height:0;width:inherit}.w-nav-icon>div{border-bottom:0.15em solid}.w-nav-icon>div:before,.w-nav-icon>div:after{border-bottom:inherit}.w-nav-icon>div{top:50%;transform:translateY(-50%)}.w-nav-icon>div:before{top:-0.3333em}.w-nav-icon>div:after{top:0.3333em}.w-nav-close{display:none;position:absolute;top:0;right:0;text-align:center;font-size:3rem;line-height:2;width:2em;opacity:0.5}.w-nav-close:before{content:'\f00d';font-family:fontawesome;font-weight:normal;vertical-align:top}@media screen and (max-width:767px){.w-nav-close{font-size:2rem}}@media screen and (max-width:480px){.w-nav-anchor.level_2,.w-nav-anchor.level_3{white-space:normal}}:root{--color-header-middle-bg:#ffffff;--color-header-middle-bg-grad:#ffffff;--color-header-middle-text:#535b7c;--color-header-middle-text-hover:#45b3dd;--color-header-transparent-bg:transparent;--color-header-transparent-bg-grad:transparent;--color-header-transparent-text:#ffffff;--color-header-transparent-text-hover:#ffffff;--color-chrome-toolbar:#f5f5f5;--color-chrome-toolbar-grad:#f5f5f5;--color-header-top-bg:#f5f5f5;--color-header-top-bg-grad:linear-gradient(0deg,#f5f5f5,#fff);--color-header-top-text:#333333;--color-header-top-text-hover:#45b3dd;--color-header-top-transparent-bg:rgba(0,0,0,0.2);--color-header-top-transparent-bg-grad:rgba(0,0,0,0.2);--color-header-top-transparent-text:rgba(255,255,255,0.66);--color-header-top-transparent-text-hover:#ffffff;--color-content-bg:#ffffff;--color-content-bg-grad:#ffffff;--color-content-bg-alt:#f0f3f7;--color-content-bg-alt-grad:#f0f3f7;--color-content-border:#e8e8e8;--color-content-heading:#3d3d3d;--color-content-heading-grad:#3d3d3d;--color-content-text:#666666;--color-content-link:#45b3dd;--color-content-link-hover:#469bc3;--color-content-primary:#45b3dd;--color-content-primary-grad:linear-gradient(135deg,#45b3dd,#469bc3);--color-content-secondary:#469bc3;--color-content-secondary-grad:linear-gradient(135deg,#469bc3,#45b3dd);--color-content-faded:#999999;--color-content-overlay:rgba(0,0,0,0.75);--color-content-overlay-grad:rgba(0,0,0,0.75);--color-alt-content-bg:#f5f9fc;--color-alt-content-bg-grad:#f5f9fc;--color-alt-content-bg-alt:#FFCC3E;--color-alt-content-bg-alt-grad:#FFCC3E;--color-alt-content-heading:#535b7c;--color-alt-content-heading-grad:#535b7c;--color-alt-content-text:#ffffff;--color-alt-content-primary:#45b3dd;--color-alt-content-primary-grad:linear-gradient(135deg,#45b3dd,#469bc3);--color-alt-content-secondary:#469bc3;--color-alt-content-secondary-grad:linear-gradient(135deg,#469bc3,#205160);--color-alt-content-overlay:#45b3dd;--color-alt-content-overlay-grad:linear-gradient(135deg,#45b3dd,#205160);--color-footer-bg:#333333;--color-footer-bg-grad:#333333;--color-footer-border:#444444;--color-footer-text:#999999;--color-footer-link:#999999;--color-footer-link-hover:#bababa;--color-subfooter-text:#f5f5f5;--color-content-primary-faded:rgba(69,179,221,0.15);--box-shadow:0 5px 15px rgba(0,0,0,.15);--box-shadow-up:0 -5px 15px rgba(0,0,0,.15);--site-canvas-width:1300px;--site-content-width:1080px;--text-block-margin-bottom:1.5rem;--inputs-font-size:1rem;--inputs-height:2.8rem;--inputs-padding:0.8rem;--inputs-border-width:0px;--inputs-text-color:var(--color-content-text)}:root{--font-family:Lato,sans-serif;--font-size:17px;--line-height:32px;--font-weight:400;--bold-font-weight:700;--text-transform:none;--font-style:normal;--letter-spacing:0em;--h1-font-family:"Nunito Sans";--h1-font-size:2.80rem;--h1-line-height:1.2;--h1-font-weight:600;--h1-bold-font-weight:700;--h1-text-transform:none;--h1-font-style:normal;--h1-letter-spacing:0em;--h1-margin-bottom:1.5rem;--h2-font-family:var(--h1-font-family);--h2-font-size:2rem;--h2-line-height:1.32;--h2-font-weight:var(--h1-font-weight);--h2-bold-font-weight:var(--h1-bold-font-weight);--h2-text-transform:var(--h1-text-transform);--h2-font-style:var(--h1-font-style);--h2-letter-spacing:0em;--h2-margin-bottom:1rem;--h2-color:var(--color-alt-content-heading);--h3-font-family:var(--h1-font-family);--h3-font-size:1.5rem;--h3-line-height:1.2;--h3-font-weight:400;--h3-bold-font-weight:var(--h1-bold-font-weight);--h3-text-transform:var(--h1-text-transform);--h3-font-style:var(--h1-font-style);--h3-letter-spacing:0em;--h3-margin-bottom:1.3rem;--h3-color:var(--color-alt-content-heading);--h4-font-family:var(--h1-font-family);--h4-font-size:1.3rem;--h4-line-height:1.2;--h4-font-weight:400;--h4-bold-font-weight:var(--h1-bold-font-weight);--h4-text-transform:var(--h1-text-transform);--h4-font-style:var(--h1-font-style);--h4-letter-spacing:0em;--h4-margin-bottom:1.5rem;--h4-color:var(--color-alt-content-heading);--h5-font-family:var(--h1-font-family);--h5-font-size:1.15rem;--h5-line-height:1.2;--h5-font-weight:400;--h5-bold-font-weight:var(--h1-bold-font-weight);--h5-text-transform:var(--h1-text-transform);--h5-font-style:var(--h1-font-style);--h5-letter-spacing:0em;--h5-margin-bottom:1.5rem;--h5-color:var(--color-alt-content-heading);--h6-font-family:var(--h1-font-family);--h6-font-size:1rem;--h6-line-height:1.2;--h6-font-weight:400;--h6-bold-font-weight:var(--h1-bold-font-weight);--h6-text-transform:var(--h1-text-transform);--h6-font-style:var(--h1-font-style);--h6-letter-spacing:0em;--h6-margin-bottom:1.5rem;--h6-color:var(--color-alt-content-heading)}@media (min-width:1051px) and (max-width:1280px){:root{--h5-font-size:1.1rem;--h6-font-size:1.3rem}}@media (min-width:769px) and (max-width:1050px){:root{--h5-font-size:1.1rem;--h6-font-size:1.3rem}}@media (max-width:768px){:root{--h1-font-size:2.3rem;--h2-font-size:2.0rem;--h4-font-size:1.5rem;--h5-font-size:1.4rem;--h6-font-size:1.3rem}}h1{font-family:var(--h1-font-family,inherit);font-weight:var(--h1-font-weight,inherit);font-size:var(--h1-font-size,inherit);font-style:var(--h1-font-style,inherit);line-height:var(--h1-line-height,1.4);letter-spacing:var(--h1-letter-spacing,inherit);text-transform:var(--h1-text-transform,inherit);margin-bottom:var(--h1-margin-bottom,1.5rem)}h2{font-family:var(--h2-font-family,inherit);font-weight:var(--h2-font-weight,inherit);font-size:var(--h2-font-size,inherit);font-style:var(--h2-font-style,inherit);line-height:var(--h2-line-height,1.4);letter-spacing:var(--h2-letter-spacing,inherit);text-transform:var(--h2-text-transform,inherit);margin-bottom:var(--h2-margin-bottom,1.5rem)}h2{color:var(--h2-color,inherit)}body{background:var(--color-content-bg-alt)}@media (max-width:768px){.g-cols>div:not([class*="vc_col-xs-"]){width:100%;margin:0 0 1.5rem}.g-cols:not(.reversed)>div:last-child{margin-bottom:0}}@media (min-width:769px){.vc_col-sm-12{width:100%}}@media (max-width:767px){.l-canvas{overflow:hidden}.g-cols.stacking_default.via_flex>div:not([class*="vc_col-xs"]){width:100%;margin:0 0 1.5rem}.g-cols.stacking_default.via_flex:not(.reversed)>div:last-child{margin-bottom:0}}a,button{outline:none!important}.w-header-show{background:rgba(0,0,0,0.3)}.header_hor .w-nav.type_desktop .menu-item-239 .w-nav-list.level_2{width:470px}.trp-language-switcher-container.menu-item .level_1 .trp-flag-image{position:absolute;top:15px;width:20px}a.w-nav-anchor.level_1>.w-nav-title .trp-ls-language-name{display:none}@media screen and (min-width:1150px){.trp-language-switcher-container.menu-item .level_1 .w-nav-arrow{margin-left:28px}}@media screen and (max-width:1149px){.trp-language-switcher-container.menu-item .level_1 .trp-flag-image{left:7px}a.w-nav-anchor.level_1>.w-nav-title .trp-ls-language-name{margin-left:30px;display:block}}#page-header .product{float:left;padding:0 0 1rem;border-bottom:1px solid rgba(0,0,0,0.1)}#page-header .product:last-child{border-bottom:none;padding-bottom:calc(1rem - 5px)}#page-header .product a.w-nav-anchor.level_2{all:unset;padding:1rem 1.5rem 0 1.5rem;display:block;float:left}#page-header .product .product-wrapper{display:flex;line-height:initial}#page-header .product .product-logo{width:60px;margin-right:20px}#page-header .product .product-logo img{width:60px;height:50px}#page-header .product .product-text{flex:1}#page-header .product .product-description{font-weight:400;font-size:0.8rem;color:#666666}#page-header .product ul.level_3{all:unset;display:flex;margin-top:2px;float:left}#page-header .product ul.level_3 li{float:left;font-size:0.8rem;line-height:initial;color:#666666}#page-header .product ul.level_3 li:first-child{margin-left:calc(1.5rem + 60px + 20px)}#page-header .product ul.level_3 li a{display:inline;padding:0}#page-header .product ul.level_3 li:after{all:unset;content:"";padding:0 10px}#page-header .product ul.level_3 li:last-child:after{content:""}#page-content{margin-top:--header-sticky-height}@media screen and (max-width:1149px){#page-header nav .w-nav-title span{display:inline-block}}#page-header nav .product-title{font-size:1.0rem}#page-header nav .level_3{font-size:0.9rem}#page-header nav ul a{font-size:1.1rem}#page-header nav .menu-item-object-language_switcher ul .trp-flag-image{margin-right:8px}.highlight{padding:10px;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:2px 2px 1px rgba(0,0,0,0.07);background-color:#ffcc3e;border-radius:1px;color:#535b7c}.text-shadow{text-shadow:2px 2px 1px rgba(0,0,0,0.07)}th{height:53px}th{border:1px solid #ddd;padding:10px;empty-cells:show}th{text-align:left}th+th{text-align:center;display:none}td,th{display:table-cell!important}</style><link rel="preload" data-rocket-preload as="image" href="https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/screenshot-for-wp-react-starter-instance-in-visual-studio-code-2-890x852.webp" imagesrcset="https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/screenshot-for-wp-react-starter-instance-in-visual-studio-code-2-890x852.webp 890w,https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/screenshot-for-wp-react-starter-instance-in-visual-studio-code-2-326x312.webp 326w,https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/screenshot-for-wp-react-starter-instance-in-visual-studio-code-2-13x12.webp 13w,https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/screenshot-for-wp-react-starter-instance-in-visual-studio-code-2-652x624.webp 652w,https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/screenshot-for-wp-react-starter-instance-in-visual-studio-code-2-1780x1703.webp 1780w,https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/screenshot-for-wp-react-starter-instance-in-visual-studio-code-2.webp 1920w" imagesizes="(max-width: 890px) 100vw, 890px" fetchpriority="high"> <meta name="description" content="WordPress plugin boilerplate that use React, TypeScript, and object-oriented PHP in a fully customizable Docker development environment, commited in a monorepo."> <meta name="thumbnail" content="https://devowl.io/wp-content/uploads/logo/wp-react-starter.svg"> <meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"> <link rel="canonical" href="https://devowl.io/wp-react-starter/"> <meta property="og:url" content="https://devowl.io/wp-react-starter/"> <meta property="og:site_name" content="devowl.io"> <meta property="og:locale" content="en_US"> <meta property="og:type" content="article"> <meta property="article:author" content="https://www.facebook.com/devowlio/"> <meta property="article:publisher" content="https://www.facebook.com/devowlio/"> <meta property="og:title" content="WP React Starter: WordPress Plugin Boilerplate with React"> <meta property="og:description" content="WordPress plugin boilerplate that use React, TypeScript, and object-oriented PHP in a fully customizable Docker development environment, commited in a monorepo."> <meta property="og:image" content="https://devowl.io/wp-content/uploads/logo/wp-react-starter.svg"> <meta property="og:image:secure_url" content="https://devowl.io/wp-content/uploads/logo/wp-react-starter.svg"> <meta property="og:image:width" content=""> <meta property="og:image:height" content=""> <meta property="og:image:alt" content="WP React Starter"> <meta property="fb:pages" content="165939027104880"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="WP React Starter: WordPress Plugin Boilerplate with React"> <meta name="twitter:description" content="WordPress plugin boilerplate that use React, TypeScript, and object-oriented PHP in a fully customizable Docker development environment, commited in a monorepo."> <meta name="twitter:image" content="https://devowl.io/wp-content/uploads/logo/wp-react-starter.svg"> <link rel="alternate" type="application/rss+xml" title="devowl.io » Feed" href="https://devowl.io/feed/" /> <script type="application/ld+json">{"@context":"https:\/\/schema.org","name":"Breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"WebPage","id":"https:\/\/devowl.io\/wp-react-starter\/#webpage","url":"https:\/\/devowl.io\/wp-react-starter\/","name":"WP React Starter"}}]}</script> <script consent-skip-blocker="1" data-skip-lazy-load="js-extra" data-cfasync="false"> (function(w,d){w[d]=w[d]||[];w.gtag=function(){w[d].push(arguments)}})(window,"dataLayer"); </script><script consent-skip-blocker="1" data-skip-lazy-load="js-extra" data-cfasync="false"> (function(c,l,a){c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};})(window, document, "clarity"); </script><script consent-skip-blocker="1" data-skip-lazy-load="js-extra" data-cfasync="false"> (function(w,d){w[d]=w[d]||[];w.gtag=function(){w[d].push(arguments)}})(window,"dataLayer"); </script><script consent-skip-blocker="1" data-skip-lazy-load="js-extra" data-cfasync="false">window.gtag && (()=>{gtag('set', 'url_passthrough', false); gtag('set', 'ads_data_redaction', true); for (const d of [{"ad_storage":"granted","ad_user_data":"granted","ad_personalization":"granted","analytics_storage":"granted","functionality_storage":"granted","personalization_storage":"granted","security_storage":"granted","wait_for_update":1000,"region":["AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AZ","BS","BH","BD","BB","BY","BZ","BJ","BM","BT","BO","BA","BW","BV","BR","IO","BN","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","CU","DJ","DM","DO","EC","EG","SV","GQ","ER","ET","FK","FO","FJ","GF","PF","TF","GA","GM","GE","GH","GI","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","IN","ID","IR","IQ","IM","IL","JM","JP","JE","JO","KZ","KE","KI","KR","KP","KW","KG","LA","LB","LS","LR","LY","MO","MK","MG","MW","MY","MV","ML","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","AN","NC","NZ","NI","NE","NG","NU","NF","MP","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PR","QA","RE","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SB","SO","ZA","GS","LK","SD","SR","SJ","SZ","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW"]},{"ad_storage":"denied","ad_user_data":"denied","ad_personalization":"denied","analytics_storage":"denied","functionality_storage":"denied","personalization_storage":"denied","security_storage":"denied","wait_for_update":1000}]) { gtag('consent', 'default', d); }})()</script><style>[consent-id]:not(.rcb-content-blocker):not([consent-transaction-complete]):not([consent-visual-use-parent^="children:"]):not([consent-confirm]){opacity:0!important;}</style><link rel="preload" href="https://devowl.io/wp-content/a4a141bfce0f203c8f63cf2066846b0b/dist/1887931031.js?ver=af932e55e5f194c31fb69933f509c364" as="script" /> <link rel="preload" href="https://devowl.io/wp-content/a4a141bfce0f203c8f63cf2066846b0b/dist/300185084.js?ver=8450c62d8d5e4bfec4076ec2391ee419" as="script" /> <link rel="preload" href="https://devowl.io/wp-content/plugins/real-cookie-banner-pro/public/lib/animate.css/animate.min.css?ver=4.1.1" as="style" /> <script data-cfasync="false" defer src="https://devowl.io/wp-content/a4a141bfce0f203c8f63cf2066846b0b/dist/1887931031.js?ver=af932e55e5f194c31fb69933f509c364" id="real-cookie-banner-pro-vendor-real-cookie-banner-pro-banner-js"></script> <script type="application/json" data-skip-lazy-load="js-extra" data-skip-moving="true" data-no-defer nitro-exclude data-alt-type="application/ld+json" data-dont-merge data-wpmeteor-nooptimize="true" data-cfasync="false" id="acd5e026c9bc39936fb2e0a084c58f0bc1-js-extra">{"slug":"real-cookie-banner-pro","textDomain":"real-cookie-banner","version":"4.8.4","restUrl":"https:\/\/devowl.io\/wp-json\/real-cookie-banner\/v1\/","restNamespace":"real-cookie-banner\/v1","restPathObfuscateOffset":"ed0fef9da651a15e","restRoot":"https:\/\/devowl.io\/wp-json\/","restQuery":{"_v":"4.8.4","_locale":"user","_dataLocale":"en_US"},"restNonce":"733d847b67","restRecreateNonceEndpoint":"https:\/\/devowl.io\/wp-admin\/admin-ajax.php?action=rest-nonce","publicUrl":"https:\/\/devowl.io\/wp-content\/plugins\/real-cookie-banner-pro\/public\/","chunkFolder":"dist","chunksLanguageFolder":"https:\/\/devowl.io\/wp-content\/languages\/mo-cache\/real-cookie-banner-pro\/","chunks":{},"others":{"customizeValuesBanner":"{\"layout\":{\"type\":\"dialog\",\"maxHeightEnabled\":true,\"maxHeight\":895,\"dialogMaxWidth\":560,\"dialogPosition\":\"middleCenter\",\"dialogMargin\":[0,0,0,0],\"bannerPosition\":\"bottom\",\"bannerMaxWidth\":700,\"dialogBorderRadius\":2,\"borderRadius\":3,\"animationIn\":\"slideInUp\",\"animationInDuration\":500,\"animationInOnlyMobile\":false,\"animationOut\":\"slideOutDown\",\"animationOutDuration\":300,\"animationOutOnlyMobile\":false,\"overlay\":true,\"overlayBg\":\"#626e75\",\"overlayBgAlpha\":64,\"overlayBlur\":2},\"decision\":{\"acceptAll\":\"button\",\"acceptEssentials\":\"button\",\"showCloseIcon\":false,\"acceptIndividual\":\"link\",\"buttonOrder\":\"all,essential,save,individual\",\"showGroups\":false,\"groupsFirstView\":false,\"saveButton\":\"afterChangeAll\"},\"design\":{\"bg\":\"#ffffff\",\"textAlign\":\"center\",\"linkTextDecoration\":\"underline\",\"borderWidth\":0,\"borderColor\":\"#0a0a0a\",\"fontSize\":15,\"fontColor\":\"#666666\",\"fontInheritFamily\":true,\"fontFamily\":\"Arial, Helvetica, sans-serif\",\"fontWeight\":\"normal\",\"boxShadowEnabled\":true,\"boxShadowOffsetX\":0,\"boxShadowOffsetY\":2,\"boxShadowBlurRadius\":5,\"boxShadowSpreadRadius\":1,\"boxShadowColor\":\"#666666\",\"boxShadowColorAlpha\":20},\"headerDesign\":{\"inheritBg\":true,\"bg\":\"#0a0a0a\",\"inheritTextAlign\":true,\"textAlign\":\"center\",\"padding\":[19,25,10,25],\"logo\":\"https:\\\/\\\/devowl.io\\\/wp-content\\\/uploads\\\/meta\\\/favicon-small.png\",\"logoRetina\":\"\",\"logoMaxHeight\":45,\"logoPosition\":\"left\",\"logoMargin\":[0,15,0,0],\"fontSize\":24,\"fontColor\":\"#2b2b2b\",\"fontInheritFamily\":true,\"fontFamily\":\"Arial, Helvetica, sans-serif\",\"fontWeight\":\"normal\",\"borderWidth\":0,\"borderColor\":\"#e2e2e2\",\"logoFitDim\":[45,45],\"logoAlt\":\"devowl.io logo\"},\"bodyDesign\":{\"padding\":[15,25,10,25],\"descriptionInheritFontSize\":true,\"descriptionFontSize\":14,\"dottedGroupsInheritFontSize\":true,\"dottedGroupsFontSize\":14,\"dottedGroupsBulletColor\":\"#45b3dd\",\"teachingsInheritTextAlign\":true,\"teachingsTextAlign\":\"center\",\"teachingsSeparatorActive\":true,\"teachingsSeparatorWidth\":50,\"teachingsSeparatorHeight\":3,\"teachingsSeparatorColor\":\"#45b3dd\",\"teachingsInheritFontSize\":false,\"teachingsFontSize\":14,\"teachingsInheritFontColor\":false,\"teachingsFontColor\":\"#666666\",\"accordionMargin\":[10,0,5,0],\"accordionPadding\":[5,10,5,10],\"accordionArrowType\":\"outlined\",\"accordionArrowColor\":\"#15779b\",\"accordionBg\":\"#ffffff\",\"accordionActiveBg\":\"#f9f9f9\",\"accordionHoverBg\":\"#efefef\",\"accordionBorderWidth\":1,\"accordionBorderColor\":\"#efefef\",\"accordionTitleFontSize\":14,\"accordionTitleFontColor\":\"#666666\",\"accordionTitleFontWeight\":\"normal\",\"accordionDescriptionMargin\":[5,0,0,0],\"accordionDescriptionFontSize\":12,\"accordionDescriptionFontColor\":\"#828282\",\"accordionDescriptionFontWeight\":\"normal\",\"acceptAllOneRowLayout\":false,\"acceptAllPadding\":[10,10,10,10],\"acceptAllBg\":\"#45b3dd\",\"acceptAllTextAlign\":\"center\",\"acceptAllFontSize\":19,\"acceptAllFontColor\":\"#ffffff\",\"acceptAllFontWeight\":\"normal\",\"acceptAllBorderWidth\":0,\"acceptAllBorderColor\":\"#000000\",\"acceptAllHoverBg\":\"#469bc3\",\"acceptAllHoverFontColor\":\"#ffffff\",\"acceptAllHoverBorderColor\":\"#000000\",\"acceptEssentialsUseAcceptAll\":false,\"acceptEssentialsButtonType\":\"\",\"acceptEssentialsPadding\":[10,10,10,10],\"acceptEssentialsBg\":\"#45b3dd\",\"acceptEssentialsTextAlign\":\"center\",\"acceptEssentialsFontSize\":19,\"acceptEssentialsFontColor\":\"#ffffff\",\"acceptEssentialsFontWeight\":\"normal\",\"acceptEssentialsBorderWidth\":0,\"acceptEssentialsBorderColor\":\"#45b3dd\",\"acceptEssentialsHoverBg\":\"#469bc3\",\"acceptEssentialsHoverFontColor\":\"#ffffff\",\"acceptEssentialsHoverBorderColor\":\"#469bc3\",\"acceptIndividualPadding\":[0,0,0,0],\"acceptIndividualBg\":\"#ffffff\",\"acceptIndividualTextAlign\":\"center\",\"acceptIndividualFontSize\":16,\"acceptIndividualFontColor\":\"#45b3dd\",\"acceptIndividualFontWeight\":\"normal\",\"acceptIndividualBorderWidth\":0,\"acceptIndividualBorderColor\":\"#000000\",\"acceptIndividualHoverBg\":\"#ffffff\",\"acceptIndividualHoverFontColor\":\"#469bc3\",\"acceptIndividualHoverBorderColor\":\"#000000\"},\"footerDesign\":{\"poweredByLink\":false,\"inheritBg\":false,\"bg\":\"#f4f4f4\",\"inheritTextAlign\":true,\"textAlign\":\"center\",\"padding\":[15,25,17,25],\"fontSize\":15,\"fontColor\":\"#7c7c7c\",\"fontInheritFamily\":true,\"fontFamily\":\"Arial, Helvetica, sans-serif\",\"fontWeight\":\"normal\",\"hoverFontColor\":\"#626e75\",\"borderWidth\":1,\"borderColor\":\"#e2e2e2\",\"languageSwitcher\":\"flags\"},\"texts\":{\"headline\":\"Privacy preferences\",\"description\":\"We use cookies and similar technologies on our website and process your personal data (e.g. IP address), for example, to personalize content and ads, to integrate media from third-party providers or to analyze traffic on our website. Data processing may also happen as a result of cookies being set. We share this data with third parties that we name in the privacy settings.<br \\\/><br \\\/>The data processing may take place with your consent or on the basis of a legitimate interest, which you can object to in the privacy settings. You have the right not to consent and to change or revoke your consent at a later time. For more information on the use of your data, please visit our {{privacyPolicy}}privacy policy{{\\\/privacyPolicy}}.\",\"acceptAll\":\"Accept all\",\"acceptEssentials\":\"Continue without consent\",\"acceptIndividual\":\"Set privacy settings individually\",\"poweredBy\":\"3\",\"dataProcessingInUnsafeCountries\":\"Some services process personal data in unsecure third countries. By consenting to the use of these services, you also consent to the processing of your data in these unsecure third countries in accordance with {{legalBasis}}. This involves risks that your data will be processed by authorities for control and monitoring purposes, perhaps without the possibility of a legal recourse.\",\"ageNoticeBanner\":\"You are under {{minAge}} years old? Then you cannot consent to optional services. Ask your parents or legal guardians to agree to these services with you.\",\"ageNoticeBlocker\":\"You are under {{minAge}} years old? Unfortunately, you are not permitted to consent to this service to view this content. Please ask your parents or guardians to agree to the service with you!\",\"listServicesNotice\":\"By accepting all services, you allow {{services}} to be loaded. These services are divided into groups {{serviceGroups}} according to their purpose (belonging marked with superscript numbers).\",\"listServicesLegitimateInterestNotice\":\"In addition, {{services}} are loaded based on a legitimate interest.\",\"tcfStacksCustomName\":\"Services with various purposes outside the TCF standard\",\"tcfStacksCustomDescription\":\"Services that do not share consents via the TCF standard, but via other technologies. These are divided into several groups according to their purpose. Some of them are used based on a legitimate interest (e.g. threat prevention), others are used only with your consent. Details about the individual groups and purposes of the services can be found in the individual privacy settings.\",\"consentForwardingExternalHosts\":\"Your consent is also applicable on {{websites}}.\",\"blockerHeadline\":\"{{name}} blocked due to privacy settings\",\"blockerLinkShowMissing\":\"Show all services you still need to agree to\",\"blockerLoadButton\":\"Accept services and load content\",\"blockerAcceptInfo\":\"Loading the blocked content will adjust your privacy settings. Content from this service will not be blocked in the future.\",\"stickyHistory\":\"Privacy settings history\",\"stickyRevoke\":\"Revoke consents\",\"stickyRevokeSuccessMessage\":\"You have successfully revoked consent for services with its cookies and personal data processing. The page will be reloaded now!\",\"stickyChange\":\"Change privacy settings\"},\"individualLayout\":{\"inheritDialogMaxWidth\":false,\"dialogMaxWidth\":825,\"inheritBannerMaxWidth\":false,\"bannerMaxWidth\":975,\"descriptionTextAlign\":\"left\"},\"group\":{\"checkboxBg\":\"#f0f0f0\",\"checkboxBorderWidth\":1,\"checkboxBorderColor\":\"#d2d2d2\",\"checkboxActiveColor\":\"#ffffff\",\"checkboxActiveBg\":\"#45b3dd\",\"checkboxActiveBorderColor\":\"#469bc3\",\"groupInheritBg\":true,\"groupBg\":\"#f9f9f9\",\"groupPadding\":[20,20,20,20],\"groupSpacing\":10,\"groupBorderRadius\":1,\"groupBorderWidth\":1,\"groupBorderColor\":\"#f4f4f4\",\"headlineFontSize\":16,\"headlineFontWeight\":\"normal\",\"headlineFontColor\":\"#2b2b2b\",\"descriptionFontSize\":15,\"descriptionFontColor\":\"#7c7c7c\",\"linkColor\":\"#7c7c7c\",\"linkHoverColor\":\"#626e75\",\"detailsHideLessRelevant\":true},\"saveButton\":{\"useAcceptAll\":false,\"type\":\"button\",\"padding\":[10,10,10,10],\"bg\":\"#45b3dd\",\"textAlign\":\"center\",\"fontSize\":19,\"fontColor\":\"#ffffff\",\"fontWeight\":\"normal\",\"borderWidth\":0,\"borderColor\":\"#45b3dd\",\"hoverBg\":\"#469bc3\",\"hoverFontColor\":\"#ffffff\",\"hoverBorderColor\":\"#000000\"},\"individualTexts\":{\"headline\":\"Individual privacy preferences\",\"description\":\"We use cookies and similar technologies on our website and process your personal data (e.g. IP address), for example, to personalize content and ads, to integrate media from third-party providers or to analyze traffic on our website. Data processing may also happen as a result of cookies being set. We share this data with third parties that we name in the privacy settings.<br \\\/><br \\\/>The data processing may take place with your consent or on the basis of a legitimate interest, which you can object to in the privacy settings. You have the right not to consent and to change or revoke your consent at a later time. For more information on the use of your data, please visit our {{privacyPolicy}}privacy policy{{\\\/privacyPolicy}}.<br \\\/><br \\\/>Below you will find an overview of all services used by this website. You can view detailed information about each service and agree to them individually or exercise your right to object.\",\"save\":\"Save custom choices\",\"showMore\":\"Show service information\",\"hideMore\":\"Hide service information\",\"postamble\":\"\"},\"mobile\":{\"enabled\":true,\"maxHeight\":442,\"hideHeader\":false,\"alignment\":\"bottom\",\"scalePercent\":91,\"scalePercentVertical\":-36},\"sticky\":{\"enabled\":true,\"animationsEnabled\":true,\"alignment\":\"left\",\"bubbleBorderRadius\":50,\"icon\":\"fingerprint\",\"iconCustom\":\"\",\"iconCustomRetina\":\"\",\"iconSize\":27,\"iconColor\":\"#ffffff\",\"bubbleMargin\":[10,20,20,20],\"bubblePadding\":14,\"bubbleBg\":\"#50b7e0\",\"bubbleBorderWidth\":0,\"bubbleBorderColor\":\"#10556f\",\"boxShadowEnabled\":true,\"boxShadowOffsetX\":0,\"boxShadowOffsetY\":3,\"boxShadowBlurRadius\":3,\"boxShadowSpreadRadius\":0,\"boxShadowColor\":\"#0a0000\",\"boxShadowColorAlpha\":20,\"bubbleHoverBg\":\"#ffffff\",\"bubbleHoverBorderColor\":\"#3d3d3d\",\"hoverIconColor\":\"#3d3d3d\",\"hoverIconCustom\":\"\",\"hoverIconCustomRetina\":\"\",\"menuFontSize\":16,\"menuBorderRadius\":5,\"menuItemSpacing\":10,\"menuItemPadding\":[5,10,5,10]},\"customCss\":{\"css\":\"\",\"antiAdBlocker\":\"y\"}}","isPro":true,"showProHints":false,"proUrl":"https:\/\/devowl.io\/go\/real-cookie-banner?source=rcb-lite","showLiteNotice":false,"frontend":{"groups":"[{\"id\":42,\"name\":\"Essential\",\"slug\":\"essential\",\"description\":\"Essential services are required for the basic functionality of the website. They only contain technically necessary services. These services cannot be objected to.\",\"isEssential\":true,\"isDefault\":true,\"items\":[{\"id\":1440,\"name\":\"Real Cookie Banner\",\"purpose\":\"Real Cookie Banner asks website visitors for consent to set cookies and process personal data. For this purpose, a UUID (pseudonymous identification of the user) is assigned to each website visitor, which is valid until the cookie expires to store the consent. Cookies are used to test whether cookies can be set, to store reference to documented consent, to store which services from which service groups the visitor has consented to, and, if consent is obtained under the Transparency & Consent Framework (TCF), to store consent in TCF partners, purposes, special purposes, features and special features. As part of the obligation to disclose according to GDPR, the collected consent is fully documented. This includes, in addition to the services and service groups to which the visitor has consented, and if consent is obtained according to the TCF standard, to which TCF partners, purposes and features the visitor has consented, all cookie banner settings at the time of consent as well as the technical circumstances (e.g. size of the displayed area at the time of consent) and the user interactions (e.g. clicking on buttons) that led to consent. Consent is collected once per language.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":true,\"provider\":\"devowl.io GmbH\",\"uniqueName\":\"real-cookie-banner\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"legal-requirement\",\"dataProcessingInCountries\":[],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"real_cookie_banner*\",\"host\":\"devowl.io\",\"duration\":365,\"durationUnit\":\"d\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"real_cookie_banner*-tcf\",\"host\":\"devowl.io\",\"duration\":365,\"durationUnit\":\"d\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"real_cookie_banner-test\",\"host\":\"devowl.io\",\"duration\":365,\"durationUnit\":\"d\",\"isSessionDuration\":false,\"purpose\":\"\"}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/devowl.io\\\/privacy-policy\\\/\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"executePriority\":10,\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"real-cookie-banner\"},{\"id\":1488,\"name\":\"Real Commerce\",\"purpose\":\"Real Commerce allows you to order and download products that can be purchased on this website via the Paddle.com checkout. It also provides a customer center where you can view orders, invoices and licenses. In addition, it shows coupon codes. Cookies are used to locally store the customer's address information entered, the login status in the customer center and different variants of texts.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":true,\"provider\":\"devowl.io GmbH\",\"uniqueName\":\"real-commerce\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"local\",\"name\":\"real-commerce-test\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"real-commerce-coupon-*\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"real-commerce-user-of-product\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"real-commerce-checkout-restore-values\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"real-commerce-support-restore-values\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"real-commerce-account-jwt\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/devowl.io\\\/privacy-policy\\\/\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"executePriority\":10,\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"\"},{\"id\":1486,\"name\":\"Paddle.com\",\"purpose\":\"Paddle.com is an e-commerce system that allows you to buy products on this website. The provider collects all payment details and forwards them to the preferred payment provider, e.g. Adyen or PayPal. Cookies are used to collect items and settings in a shopping cart, determine the variant of the displayed checkout process and link your way to the checkout with an affiliate partner account.\",\"providerContact\":{\"phone\":\"\",\"email\":\"privacy@paddle.com\",\"link\":\"https:\\\/\\\/www.paddle.com\\\/contact\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Paddle Payments Limited, Limerick House, Limerick Lane, Newbridge, Kildare, Ireland\",\"uniqueName\":\"paddle-com\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\",\"IE\",\"GB\"],\"dataProcessingInCountriesSpecialTreatments\":[\"standard-contractual-clauses\"],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"paddlejs_affiliate_analytics\",\"host\":\".devowl.io\",\"duration\":7,\"durationUnit\":\"d\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"paddlejs_campaign_affiliate\",\"host\":\".devowl.io\",\"duration\":7,\"durationUnit\":\"d\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"paddlejs_checkout_variant\",\"host\":\".devowl.io\",\"duration\":3,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"JSESSIONID\",\"host\":\"checkoutshopper-live.adyen.com\",\"duration\":5,\"durationUnit\":\"d\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"JSESSIONID\",\"host\":\".nr-data.net\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":true,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"paddleLoadingTime\",\"host\":\"buy.paddle.com\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"ljs-hide\",\"host\":\"buy.paddle.com\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"ljs-source-lang\",\"host\":\"buy.paddle.com\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"ljs-di\",\"host\":\"buy.paddle.com\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"ljs-cache\",\"host\":\"buy.paddle.com\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"ljs-lang\",\"host\":\"buy.paddle.com\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"ljs-visits\",\"host\":\"buy.paddle.com\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"*settings\",\"host\":\"buy.paddle.com\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/paddle.com\\\/privacy-buyers\\\/\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"executePriority\":10,\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"paddle-com\"},{\"id\":1487,\"name\":\"Cloudflare\",\"purpose\":\"Cloudflare protects websites from malicious traffic and stores parts of the website in the cache for faster delivery. Cloudflare can also deliver a cached version of the website if the server of the website is unavailable. The cookies are used to uniquely identify the user and classify him or her as a potential attacker and to determine the fastest available server.\",\"providerContact\":{\"phone\":\"\",\"email\":\"privacyquestions@cloudflare.com\",\"link\":\"https:\\\/\\\/support.cloudflare.com\\\/\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Cloudflare Inc., 101 Townsend St., San Francisco, CA 94107, United States\",\"uniqueName\":\"cloudflare\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\",\"CH\",\"GB\",\"DE\"],\"dataProcessingInCountriesSpecialTreatments\":[\"standard-contractual-clauses\",\"provider-is-self-certified-trans-atlantic-data-privacy-framework\"],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"_cflb\",\"host\":\".devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":true,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"_cf_bm\",\"host\":\".devowl.io\",\"duration\":30,\"durationUnit\":\"m\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"_cfduid \",\"host\":\".devowl.io\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"cf_ob_info\",\"host\":\".devowl.io\",\"duration\":1,\"durationUnit\":\"m\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__cfwaitingroom\",\"host\":\".devowl.io\",\"duration\":1,\"durationUnit\":\"d\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"cf_use_ob\",\"host\":\".devowl.io\",\"duration\":1,\"durationUnit\":\"m\",\"isSessionDuration\":false,\"purpose\":\"\"}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/www.cloudflare.com\\\/privacypolicy\\\/\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"executePriority\":10,\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"cloudflare\"},{\"id\":227265,\"name\":\"hCaptcha\",\"purpose\":\"hCaptcha is a solution for detecting bots, e. g. when entering data into online forms, and preventing spam. No cookies in the technical sense are set on the client of the user, but technical and personal data such as the IP address will be transmitted from the client to the server of the service provider to make the use of the service possible.\",\"providerContact\":{\"phone\":\"+1800 952 5210\",\"email\":\"\\u200dsupport@hcaptcha.com\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Intuition Machines, Inc., 350 Alabama St,, San Francisco, CA 94110, United States\",\"uniqueName\":\"hcaptcha\",\"isEmbeddingOnlyExternalResources\":true,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\"],\"dataProcessingInCountriesSpecialTreatments\":[\"standard-contractual-clauses\"],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"\",\"host\":\"\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/www.hcaptcha.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"executePriority\":10,\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"hcaptcha\"}]},{\"id\":43,\"name\":\"Functional\",\"slug\":\"functional\",\"description\":\"Functional services are necessary to provide features beyond the essential functionality such as prettier fonts, video playback or interactive web 2.0 features. Content from e.g. video platforms and social media platforms are blocked by default, and can be consented to. If the service is agreed to, this content is loaded automatically without further manual consent.\",\"isEssential\":false,\"isDefault\":true,\"items\":[{\"id\":1495,\"name\":\"YouTube\",\"purpose\":\"YouTube enables the embedding of content published on youtube.com into websites to enhance the website with videos. This requires processing the user\\u2019s IP-address and metadata. Cookies or cookie-like technologies can be stored and read. These can contain personal data and technical data like user IDs, consent, settings of the video player, connected devices, interactions with the service, push notifications and used account. This data can be used to collect visited websites, detailed statistics about user behavior, and it can be used to improve the services of Google. It can also be used for profiling, e.g. to provide you with personalized services, such as ads based on your interests or recommendations. This data may be linked by Google to the data of users logged in on the websites of Google (e.g. youtube.com and google.com). Google provides personal information to their affiliates and other trusted businesses or persons to process it for them, based on Google's instructions and in compliance with Google's privacy policy.\",\"providerContact\":{\"phone\":\"+1 650 253 0000\",\"email\":\"dpo-google@google.com\",\"link\":\"https:\\\/\\\/support.google.com\\\/\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland\",\"uniqueName\":\"wordpress-emojis-1\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\",\"IE\",\"CL\",\"NL\",\"BE\",\"FI\",\"DK\",\"TW\",\"JP\",\"SG\",\"BR\",\"GB\",\"FR\",\"DE\",\"PL\",\"ES\",\"IT\",\"CH\",\"IL\",\"KR\",\"IN\",\"HK\",\"AU\",\"QA\"],\"dataProcessingInCountriesSpecialTreatments\":[\"provider-is-self-certified-trans-atlantic-data-privacy-framework\"],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"SIDCC\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"NID\",\"host\":\".google.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"SIDCC\",\"host\":\".youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"YSC\",\"host\":\".youtube.com\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":true,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"VISITOR_INFO1_LIVE\",\"host\":\".youtube.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"PREF\",\"host\":\".youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"LOGIN_INFO\",\"host\":\".youtube.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"CONSENT\",\"host\":\".youtube.com\",\"duration\":9,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"CONSENT\",\"host\":\".google.com\",\"duration\":9,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-3PAPISID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"SAPISID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"APISID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"HSID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-3PSID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-3PAPISID\",\"host\":\".youtube.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"SAPISID\",\"host\":\".youtube.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"HSID\",\"host\":\".youtube.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"SSID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"SID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"SSID\",\"host\":\".youtube.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"APISID\",\"host\":\".youtube.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-3PSID\",\"host\":\".youtube.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"SID\",\"host\":\".youtube.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"OTZ\",\"host\":\"www.google.com\",\"duration\":1,\"durationUnit\":\"d\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"IDE\",\"host\":\".doubleclick.net\",\"duration\":9,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"SOCS\",\"host\":\".youtube.com\",\"duration\":9,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"SOCS\",\"host\":\".google.com\",\"duration\":9,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"yt-remote-device-id\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"yt-player-headers-readable\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"ytidb::LAST_RESULT_ENTRY_KEY\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"yt-fullerscreen-edu-button-shown-count\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"yt-remote-connected-devices\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"yt-player-bandwidth\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"indexedDb\",\"name\":\"LogsDatabaseV2:*||\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"indexedDb\",\"name\":\"ServiceWorkerLogsDatabase\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"indexedDb\",\"name\":\"YtldbMeta\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-YEC\",\"host\":\".youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"test_cookie\",\"host\":\".doubleclick.net\",\"duration\":1,\"durationUnit\":\"d\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"yt-player-quality\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"yt-player-performance-cap\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"yt-player-volume\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"indexedDb\",\"name\":\"PersistentEntityStoreDb:*||\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"indexedDb\",\"name\":\"yt-idb-pref-storage:*||\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"yt.innertube::nextId\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"yt.innertube::requests\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"yt-html5-player-modules::subtitlesModuleData::module-enabled\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"yt-remote-session-app\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"yt-remote-cast-installed\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"yt-player-volume\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"yt-remote-session-name\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"yt-remote-cast-available\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"yt-remote-fast-check-period\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"*||::yt-player::yt-player-lv\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"indexedDb\",\"name\":\"swpushnotificationsdb\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"indexedDb\",\"name\":\"yt-player-local-media:*||\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"indexedDb\",\"name\":\"yt-it-response-store:*||\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__HOST-GAPS\",\"host\":\"accounts.google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"OTZ\",\"host\":\"accounts.google.com\",\"duration\":1,\"durationUnit\":\"d\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-1PSIDCC\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-1PAPISID\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-3PSIDCC\",\"host\":\".youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-1PAPISID\",\"host\":\".youtube.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-1PSID\",\"host\":\".youtube.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-3PSIDCC\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-ENID\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"AEC\",\"host\":\".google.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-1PSID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"indexedDb\",\"name\":\"ytGefConfig:*||\",\"host\":\"https:\\\/\\\/www.youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Host-3PLSID\",\"host\":\"accounts.google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"LSID\",\"host\":\"accounts.google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"ACCOUNT_CHOOSER\",\"host\":\"accounts.google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Host-1PLSID\",\"host\":\"accounts.google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/policies.google.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"executePriority\":10,\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"youtube\"},{\"id\":227869,\"name\":\"Google reCAPTCHA\",\"purpose\":\"Google reCAPTCHA is a solution for preventing spam and detecting bots, e.g. when entering data into online forms. This requires processing the user\\u2019s IP-address and metadata. Cookies or cookie-like technologies can be stored and read. These can contain personal data and technical data like user ID, consent and security tokens. This data can be used to collect visited websites, and it can be used to improve the services of Google. This data may be linked by Google to the data of users logged in on the websites of Google (e.g. google.com and youtube.com). It can also be used for profiling, e.g. to provide you with personalized services, such as ads based on your interests or recommendations. Google provides personal information to their affiliates and other trusted businesses or persons to process it for them, based on Google's instructions and in compliance with Google's privacy policy.\",\"providerContact\":{\"phone\":\"+1 650 253 0000\",\"email\":\"dpo-google@google.com\",\"link\":\"https:\\\/\\\/support.google.com\\\/\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland\",\"uniqueName\":\"google-recaptcha\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\",\"IE\",\"AU\",\"BE\",\"BR\",\"CA\",\"CL\",\"FI\",\"FR\",\"DE\",\"HK\",\"IN\",\"ID\",\"IL\",\"IT\",\"JP\",\"KR\",\"NL\",\"PL\",\"QA\",\"SG\",\"ES\",\"CH\",\"TW\",\"GB\"],\"dataProcessingInCountriesSpecialTreatments\":[\"provider-is-self-certified-trans-atlantic-data-privacy-framework\"],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"NID\",\"host\":\".google.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"rc::a\",\"host\":\"www.google.com\",\"duration\":1,\"durationUnit\":\"s\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"rc::b\",\"host\":\"www.google.com\",\"duration\":1,\"durationUnit\":\"s\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"rc::c\",\"host\":\"www.google.com\",\"duration\":1,\"durationUnit\":\"s\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"SIDCC\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-3PAPISID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"SSID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"SAPISID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"APISID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"HSID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"SID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"rc::c\",\"host\":\"www.google.com\",\"duration\":1,\"durationUnit\":\"s\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"rc::b\",\"host\":\"www.google.com\",\"duration\":1,\"durationUnit\":\"s\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-3PSID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"_GRECAPTCHA\",\"host\":\"www.google.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-3PSIDCC\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-1PSIDCC\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-1PAPISID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-1PSID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"__Secure-ENID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"AEC\",\"host\":\".google.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"sb_wiz.zpc.gws-wiz.\",\"host\":\"www.google.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"sb_wiz.ueh\",\"host\":\"www.google.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"_c;;i\",\"host\":\"www.google.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"rc::f\",\"host\":\"www.google.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"_grecaptcha\",\"host\":\"https:\\\/\\\/devowl.io\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"SEARCH_SAMESITE\",\"host\":\".google.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"CONSENT\",\"host\":\".google.com\",\"duration\":18,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"1P_JAR\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/policies.google.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"executePriority\":10,\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":true,\"codeOnPageLoad\":\"\",\"presetId\":\"google-recaptcha\"},{\"id\":238885,\"name\":\"Cal.com\",\"purpose\":\"Cal.com enables the embedding of appointment bookings on websites to simplify the booking of appointments and enhance the website. This requires processing the user\\u2019s IP-address and metadata. Cookies or cookie-like technologies can be stored and read. These can contain personal data and technical data like user ID, calendar data and time information. Cal.com is operated on our own server.\",\"providerContact\":{\"phone\":\"\",\"email\":\"support@cal.com\",\"link\":\"\"},\"isProviderCurrentWebsite\":true,\"provider\":\"Cal.com, Inc., 2261 Market Street #4382, 94114 San Francisco, United States\",\"uniqueName\":\"cal-com\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"DE\",\"FR\"],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"__clnds\",\"host\":\"calendar.devowl.io\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"Stores an ID that can be recognised\"},{\"type\":\"local\",\"name\":\"nextauth.message\",\"host\":\"https:\\\/\\\/calendar.devowl.io\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"toggledConnectedCalendars\",\"host\":\"https:\\\/\\\/calendar.devowl.io\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"Stores connected calendars\"},{\"type\":\"local\",\"name\":\"timeOption.is24hClock\",\"host\":\"https:\\\/\\\/calendar.devowl.io\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"Stores which format the time should have\"},{\"type\":\"http\",\"name\":\"uid\",\"host\":\"calendar.devowl.io\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":true,\"purpose\":\"Stores an ID\"},{\"type\":\"http\",\"name\":\"__Secure-next-auth.callback-url\",\"host\":\".calendar.devowl.io\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":true,\"purpose\":\"Stores the URL when registering for an appointment\"},{\"type\":\"http\",\"name\":\"__Secure-next-auth.csrf-token\",\"host\":\".calendar.devowl.io\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":true,\"purpose\":\"Stores an ID when registering for an appointment\"}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/cal.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"executePriority\":10,\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"cal-com\"}]},{\"id\":44,\"name\":\"Statistics\",\"slug\":\"statistic\",\"description\":\"Statistics services are needed to collect pseudonymous data about the visitors of the website. The data enables us to understand visitors better and to optimize the website.\",\"isEssential\":false,\"isDefault\":true,\"items\":[{\"id\":1497,\"name\":\"Google Analytics\",\"purpose\":\"Google Analytics creates detailed statistics of user behavior on the website to obtain analysis information. This requires processing a user\\u2019s IP-address and metadata which can be used to determine a user's country, city and language. Cookies or cookie-like technologies can be stored and read. These can contain personal data and technical data like user ID which can provide the following additional information:\\n- time information about when and how long a user was or is on the different pages of the website\\n- device category (desktop, mobile and tablet), platform (web, iOS app or Android app), browser and screen resolution a user used\\n- where a user came from (e.g. origin website, search engine including the searched term, social media platform, newsletter, organic video, paid search or campaign)\\n- whether a user belongs to a target group\\\/audience or not\\n- what a user has done on the website and which events were triggered by actions of the user (e.g. page views, user engagement, scroll behaviour, clicks, added payment info and custom events like e-commerce tracking)\\n- conversions (e. g. if a user bought something and what was bought)\\n- gender, age and interest if an allocation is possible \\n\\nThis data can also be used by Google to collect visited websites, and it can be used to improve the services of Google. It can be linked across multiple domains, which are operated by this website operator, with other Google products (e.g. Google AdSense, Google Ads, BigQuery, Google Play) which the website operator uses. It can also be linked by Google to the data of users logged in on the websites of Google (e.g. google.com). Google provides personal information to their affiliates and other trusted businesses or persons to process it for them, based on Google's instructions and in compliance with Google's privacy policy. It can also be used for profiling by the website operator and Google, e.g. to provide a user with personalized services, such as ads based on a user's interests or recommendations.\",\"providerContact\":{\"phone\":\"+1 650 253 0000\",\"email\":\"dpo-google@google.com\",\"link\":\"https:\\\/\\\/support.google.com\\\/\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland\",\"uniqueName\":\"google-analytics-analytics-4\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\",\"IE\",\"AU\",\"BE\",\"BR\",\"CA\",\"CL\",\"FI\",\"FR\",\"DE\",\"HK\",\"IN\",\"ID\",\"IL\",\"IT\",\"JP\",\"KR\",\"NL\",\"PL\",\"QA\",\"SG\",\"ES\",\"CH\",\"TW\",\"GB\"],\"dataProcessingInCountriesSpecialTreatments\":[\"standard-contractual-clauses\",\"provider-is-self-certified-trans-atlantic-data-privacy-framework\"],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"_ga\",\"host\":\".devowl.io\",\"duration\":24,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"_ga_*\",\"host\":\".devowl.io\",\"duration\":24,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"}],\"codeDynamics\":{\"gaMeasurementId\":\"G-QK2G1Z2MJ9\"},\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/policies.google.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[\"ad_storage\",\"analytics_storage\",\"ad_personalization\",\"ad_user_data\"],\"executePriority\":10,\"codeOptIn\":\"base64-encoded:PHNjcmlwdCBhc3luYyB1bmlxdWUtd3JpdGUtbmFtZT0iZ3RhZyIgc3JjPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPXt7Z2FNZWFzdXJlbWVudElkfX0iPjwvc2NyaXB0Pgo8c2NyaXB0PgpndGFnKCdqcycsIG5ldyBEYXRlKCkpOwpndGFnKCdjb25maWcnLCAne3tnYU1lYXN1cmVtZW50SWR9fScpOwo8L3NjcmlwdD4=\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":true,\"codeOnPageLoad\":\"base64-encoded:PHNjcmlwdD4KKGZ1bmN0aW9uKHcsZCl7d1tkXT13W2RdfHxbXTt3Lmd0YWc9ZnVuY3Rpb24oKXt3W2RdLnB1c2goYXJndW1lbnRzKX19KSh3aW5kb3csImRhdGFMYXllciIpOwo8L3NjcmlwdD4=\",\"presetId\":\"google-analytics-analytics-4\"},{\"id\":233210,\"name\":\"VG WORT\",\"purpose\":\"The VG WORT sets a tracking pixel to measure accesses to texts to determine the copy probability of the text. In this way, the authors of this website participate in the payouts of VG WORT, which ensure the legal compensation for the use of copyrighted works in accordance with \\u00a7 53 UrhG in Germany. Cookies are used to identify the user and, if necessary, to be able to link data from several visits of the texts.\",\"providerContact\":{\"phone\":\"+49 0 89 514 120\",\"email\":\"vgw@vgwort.de\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Verwertungsgesellschaft WORT (VG WORT), Untere Weidenstra\\u00dfe 5, 81543 M\\u00fcnchen, Germany\",\"uniqueName\":\"vg-wort\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"DE\"],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"srp\",\"host\":\"vg01.met.vgwort.de\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":true,\"purpose\":\"\"}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/www.vgwort.de\\\/hilfsseiten\\\/datenschutz.html\",\"providerLegalNoticeUrl\":\"https:\\\/\\\/www.vgwort.de\\\/impressum.html\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"executePriority\":10,\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"vg-wort\"}]},{\"id\":45,\"name\":\"Marketing\",\"slug\":\"marketing\",\"description\":\"Marketing services are used by us and third parties to track the behaviour of individual visitors (across multiple pages), analyse the data collected and, for example, display personalized advertisements. These services enable us to track visitors across multiple websites.\",\"isEssential\":false,\"isDefault\":true,\"items\":[{\"id\":232734,\"name\":\"Affiliate Tracking\",\"purpose\":\"Our affiliate tracking allows us to pay commissions to e.g. bloggers or YouTubers for referring traffic to our website when a purchase is successfully completed. The tracking is used for billing purposes and no adjustments are made to the content or prices on our website. Cookies are used in case of consent to remember from which affiliate and affiliate link you were directed to our website.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":true,\"provider\":\"devowl.io GmbH\",\"uniqueName\":\"affiliate-tracking\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"DE\",\"FR\"],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"local\",\"name\":\"real-commerce-affiliate\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"real_commerce_affiliate\",\"host\":\"devowl.io\",\"duration\":30,\"durationUnit\":\"d\",\"isSessionDuration\":false,\"purpose\":\"\"}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/devowl.io\\\/privacy-policy\\\/\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"executePriority\":10,\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":true,\"codeOnPageLoad\":\"\",\"presetId\":\"\"},{\"id\":1499,\"name\":\"Reamaze (Chat)\",\"purpose\":\"Reamaze is a customer service tool that provides live chat for websites. The cookies are used to identify the user, associate previous messages with their chat history, show them proactive hints and collect detailed statistics on his\\\/her behavior.\",\"providerContact\":{\"phone\":\"\",\"email\":\"privacy@reamaze.com\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"GoDaddy.com, LLC, 2155 East GoDaddy Way, Tempe, AZ 85284 USA, United States\",\"uniqueName\":\"reamaze-chat\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\"],\"dataProcessingInCountriesSpecialTreatments\":[\"provider-is-self-certified-trans-atlantic-data-privacy-framework\"],\"technicalDefinitions\":[{\"type\":\"local\",\"name\":\"rmz.notifications_st\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"rmz.messagePrompts.state\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"rmz.account\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"rmz._vd\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"rmz.routeParams\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"rmz.popup.minimized\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"rmz.siteVisitTime\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"indexedDb\",\"name\":\"rmz.hideWhoop\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"session\",\"name\":\"rmz.seenLabel\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"rmz.ob.triggered\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"pusherTransportEncrypted\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"local\",\"name\":\"rmz.ob_conv\",\"host\":\"devowl.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"}],\"codeDynamics\":{\"reamazeAccountName\":\"devowl\"},\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/www.reamaze.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"executePriority\":10,\"codeOptIn\":\"base64-encoded:PHNjcmlwdCBhc3luYyBzcmM9Imh0dHBzOi8vY2RuLnJlYW1hemUuY29tL2Fzc2V0cy9yZWFtYXplLmpzIj48L3NjcmlwdD4KPHNjcmlwdD4KaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zdGFydHNXaXRoKCIvZGUvIikpIHsKICB2YXIgX3N1cHBvcnQgPSBfc3VwcG9ydCB8fCB7ICd1aSc6IHt9LCAndXNlcic6IHt9IH07CiAgX3N1cHBvcnRbJ2FjY291bnQnXSA9ICdkZXZvd2wnOwogIF9zdXBwb3J0Wyd1aSddWydjb250YWN0TW9kZSddID0gJ2RlZmF1bHQnOwogIF9zdXBwb3J0Wyd1aSddWydlbmFibGVLYiddID0gJ2ZhbHNlJzsKICBfc3VwcG9ydFsndWknXVsnc3R5bGVzJ10gPSB7CiAgICAgIHdpZGdldENvbG9yOiAncmdiKDY5LCAxNzksIDIyMSknLAogIH07CiAgX3N1cHBvcnRbJ3VpJ11bJ3Nob3V0Ym94RmFjZXNNb2RlJ10gPSAiY3VzdG9tIjsKICBfc3VwcG9ydFsndWknXVsnZmFjZXMnXSA9IFsiaHR0cHM6Ly9kZXZvd2wuaW8vd3AtY29udGVudC91cGxvYWRzL2xpdmUtY2hhdC9hdmF0YXItbWcuanBnIiwiaHR0cHM6Ly9kZXZvd2wuaW8vd3AtY29udGVudC91cGxvYWRzL2xpdmUtY2hhdC9hdmF0YXItamsuanBnIl07CiAgX3N1cHBvcnRbJ3VpJ11bJ3dpZGdldCddID0gewogICAgICBpY29uOiAnY2hhdCcsCiAgICAgIGRpc3BsYXlPbjogJ2FsbCcsCiAgICAgIGFsbG93Qm90UHJvY2Vzc2luZzogZmFsc2UsCiAgICAgIGxhYmVsOiBmYWxzZSwKICAgICAgcG9zaXRpb246IHsKICAgICAgYm90dG9tOiAnMjBweCcsCiAgICAgIHJpZ2h0OiAnMjBweCcKICAgICAgfSwKICAgICAgc2l6ZTogNTUsCiAgICAgIG1vYmlsZVBvc2l0aW9uOiB7CiAgICAgIGJvdHRvbTogJzIwcHgnLAogICAgICByaWdodDogJzIwcHgnCiAgICAgIH0sCiAgICAgIG1vYmlsZVNpemU6IDUwCiAgfTsKICBfc3VwcG9ydFsnY3VzdG9tX2ZpZWxkcyddID0gewogICAgICAncHJvZHVjdCc6IHsKICAgICAgcG9zOiAxNjMwNTI2NjA0MTg1LAogICAgICB0eXBlOiAnZHJvcGRvd24nLAogICAgICB2YWx1ZTogWydSZWFsIENvb2tpZSBCYW5uZXInLCdSZWFsIE1lZGlhIExpYnJhcnknLCdSZWFsIFBoeXNpY2FsIE1lZGlhJywnUmVhbCBDYXRlZ29yeSBNYW5hZ2VtZW50JywnUmVhbCBUaHVtYm5haWwgR2VuZXJhdG9yJywnQW5kZXJlcyddLAogICAgICByZXF1aXJlZDogZmFsc2UsCiAgICAgIHBsYWNlaG9sZGVyOiAnUHJvZHVrdDogVW0gd2VsY2hlcyBnZWh0IGVzPycsCiAgICAgIGRlZmF1bHRWYWx1ZTogJ3VuZGVmaW5lZCcsCiAgICAgIH0sCiAgICAgICdxdWVzdGlvblR5cGUnOiB7CiAgICAgIHBvczogMTYzMDUyNjYwNDE4NiwKICAgICAgdHlwZTogJ2Ryb3Bkb3duJywKICAgICAgdmFsdWU6IFsnRnJhZ2Ugdm9yIGRlbSBLYXVmJywnSWNoIGhhYmUgZWluIFByb2JsZW0gbWl0IG1laW5lbSBQcm9kdWt0JywnSWNoIGhhYmUgZWluIFByb2JsZW0gbWl0IG1laW5lciBMaXplbnovbWVpbmVtIEFjY291bnQnLCdGZWF0dXJlLVd1bnNjaCddLAogICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgcGxhY2Vob2xkZXI6ICdBcnQgZGVyIEZyYWdlOiBXb3J1bSBnZWh0IGVzPycsCiAgICAgIGRlZmF1bHRWYWx1ZTogJ3VuZGVmaW5lZCcsCiAgICAgIH0KICB9OwogIF9zdXBwb3J0WydhcHBzJ10gPSB7CiAgICAgIGZhcTogeyJlbmFibGVkIjpmYWxzZX0sCiAgICAgIHJlY2VudENvbnZlcnNhdGlvbnM6IHsiaGVhZGVyIjoiRGVpbmUgQ2hhdHMifSwKICAgICAgb3JkZXJzOiB7fQogIH07Cn0gZWxzZSB7CiAgdmFyIF9zdXBwb3J0ID0gX3N1cHBvcnQgfHwgeyAndWknOiB7fSwgJ3VzZXInOiB7fSB9OwogIF9zdXBwb3J0WydhY2NvdW50J10gPSAnZGV2b3dsJzsKICBfc3VwcG9ydFsndWknXVsnY29udGFjdE1vZGUnXSA9ICdkZWZhdWx0JzsKICBfc3VwcG9ydFsndWknXVsnZW5hYmxlS2InXSA9ICdmYWxzZSc7CiAgX3N1cHBvcnRbJ3VpJ11bJ3N0eWxlcyddID0gewogICAgd2lkZ2V0Q29sb3I6ICdyZ2IoNjksIDE3OSwgMjIxKScsCiAgfTsKICBfc3VwcG9ydFsndWknXVsnc2hvdXRib3hGYWNlc01vZGUnXSA9ICJjdXN0b20iOwogIF9zdXBwb3J0Wyd1aSddWydmYWNlcyddID0gWyJodHRwczovL2Rldm93bC5pby93cC1jb250ZW50L3VwbG9hZHMvbGl2ZS1jaGF0L2F2YXRhci1tZy5qcGciLCJodHRwczovL2Rldm93bC5pby93cC1jb250ZW50L3VwbG9hZHMvbGl2ZS1jaGF0L2F2YXRhci1qay5qcGciXTsKICBfc3VwcG9ydFsndWknXVsnd2lkZ2V0J10gPSB7CiAgICBpY29uOiAnY2hhdCcsCiAgICBkaXNwbGF5T246ICdhbGwnLAogICAgYWxsb3dCb3RQcm9jZXNzaW5nOiBmYWxzZSwKICAgIGxhYmVsOiBmYWxzZSwKICAgIHBvc2l0aW9uOiB7CiAgICAgIGJvdHRvbTogJzIwcHgnLAogICAgICByaWdodDogJzIwcHgnCiAgICB9LAogICAgc2l6ZTogNTUsCiAgICBtb2JpbGVQb3NpdGlvbjogewogICAgICBib3R0b206ICcyMHB4JywKICAgICAgcmlnaHQ6ICcyMHB4JwogICAgfSwKICAgIG1vYmlsZVNpemU6IDUwCiAgfTsKICBfc3VwcG9ydFsnY3VzdG9tX2ZpZWxkcyddID0gewogICAgJ3Byb2R1Y3QnOiB7CiAgICAgIHBvczogMTYzMDUyNjYwNDE4NSwKICAgICAgdHlwZTogJ2Ryb3Bkb3duJywKICAgICAgdmFsdWU6IFsnUmVhbCBDb29raWUgQmFubmVyJywnUmVhbCBNZWRpYSBMaWJyYXJ5JywnUmVhbCBQaHlzaWNhbCBNZWRpYScsJ1JlYWwgQ2F0ZWdvcnkgTWFuYWdlbWVudCcsJ1JlYWwgVGh1bWJuYWlsIEdlbmVyYXRvcicsJ090aGVyJ10sCiAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgcGxhY2Vob2xkZXI6ICdQcm9kdWN0OiBBYm91dCB3aGljaCBvbmUgaXMgaXQ\\\/JywKICAgICAgZGVmYXVsdFZhbHVlOiAndW5kZWZpbmVkJywKICAgIH0sCiAgICAncXVlc3Rpb25UeXBlJzogewogICAgICBwb3M6IDE2MzA1MjY2MDQxODYsCiAgICAgIHR5cGU6ICdkcm9wZG93bicsCiAgICAgIHZhbHVlOiBbJ1ByZS1zYWxlIHF1ZXN0aW9uJywnSSBoYXZlIGEgcHJvYmxlbSB3aXRoIG15IHByb2R1Y3QnLCdJIGhhdmUgYSBwcm9ibGVtIHdpdGggbXkgbGljZW5zZS9hY2NvdW50JywnRmVhdHVyZSByZXF1ZXN0J10sCiAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICBwbGFjZWhvbGRlcjogJ1F1ZXN0aW9uIHR5cGU6IFdoYXQgaXMgaXQgYWJvdXQ\\\/JywKICAgICAgZGVmYXVsdFZhbHVlOiAndW5kZWZpbmVkJywKICAgIH0KICB9OwogIF9zdXBwb3J0WydhcHBzJ10gPSB7CiAgICBmYXE6IHsiZW5hYmxlZCI6ZmFsc2V9LAogICAgcmVjZW50Q29udmVyc2F0aW9uczogeyJoZWFkZXIiOiJSZWNlbnQgQ29udmVyc2F0aW9ucyJ9LAogICAgb3JkZXJzOiB7fQogIH07CQp9Cjwvc2NyaXB0PgoKPHNjcmlwdD4KLy8gUmVhbWF6ZSBDdWUgLSBbREVdIFJlYWwgQ29va2llIEJhbm5lciAtIDFzdCB2aXN0aXQKaWYgKCh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgfHwgIiIpLnN0YXJ0c1dpdGgoIi9kZS93b3JkcHJlc3MtcmVhbC1jb29raWUtYmFubmVyLyIpKSB7CiAgdmFyIF9zdXBwb3J0ID0gX3N1cHBvcnQgfHwgeyAndWknOiB7fSwgJ3VzZXInOiB7fSB9OwogIF9zdXBwb3J0Lm91dGJvdW5kcyA9IF9zdXBwb3J0Lm91dGJvdW5kcyB8fCBbXTsKICBfc3VwcG9ydC5vdXRib3VuZHMucHVzaCh7CiAgICBpZDogIjE2MDQwIiwKICAgIG5hbWU6ICJSZWFsIENvb2tpZSBCYW5uZXIiLAogICAgbWVzc2FnZTogIkhhc3QgZHUgRnJhZ2VuIHp1IFJlYWwgQ29va2llIEJhbm5lcj8gV2lyIGJlYW50d29ydGVuIGFsbGVzLCB3YXMgZHUgd2lzc2VuIHdpbGxzdCEgJiMxMjgxMjk7JiM4MjA1OyYjOTc5NDsmIzY1MDM5OyIsCiAgICBzb3VuZDogdHJ1ZSwKICAgIHRyYW5zaWVudDogZmFsc2UsCiAgICBib3RzRW5hYmxlZDogZmFsc2UsCiAgICBlbmFibGVDdXN0b21GaWVsZHM6IGZhbHNlLAogICAgZGlzYWJsZUN1ZUNsaWNrOiBmYWxzZSwKICAgIHVzZXI6IHsKICAgICAgdHlwZTogInRlYW0iCiAgICB9LAogICAgYnV0dG9uczogWwogICAgICB7CiAgICAgICAgdGV4dDogIkNoYXQgc3RhcnRlbiIsCiAgICAgICAgcmVzcG9uc2U6IHRydWUKICAgICAgfSwKICAgIF0sCiAgICBydWxlczogWwogICAgICB7CiAgICAgICAgdHlwZTogInRpbWVPblNpdGUiLAogICAgICAgIG9wOiAiZ3JlYXRlclRoYW4iLAogICAgICAgIHZhbHVlOiAiMzBzIiwKICAgICAgfSwKICAgICAgewogICAgICAgIHR5cGU6ICJudGhWaXNpdCIsCiAgICAgICAgb3A6ICJlcXVhbHMiLAogICAgICAgIHZhbHVlOiAiMSIsCiAgICAgIH0sCiAgICBdLAogIH0pOwp9Cjwvc2NyaXB0Pgo8c2NyaXB0PgovLyBSZWFtYXplIEN1ZSAtIFtERV0gUmVhbCBDb29raWUgQmFubmVyIC0gMm5kIHZpc2l0CmlmICgod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lIHx8ICIiKS5zdGFydHNXaXRoKCIvZGUvd29yZHByZXNzLXJlYWwtY29va2llLWJhbm5lci8iKSkgewogIHZhciBfc3VwcG9ydCA9IF9zdXBwb3J0IHx8IHsgJ3VpJzoge30sICd1c2VyJzoge30gfTsKICBfc3VwcG9ydC5vdXRib3VuZHMgPSBfc3VwcG9ydC5vdXRib3VuZHMgfHwgW107CiAgX3N1cHBvcnQub3V0Ym91bmRzLnB1c2goewogICAgaWQ6ICIxNjA0MSIsCiAgICBuYW1lOiAiUmVhbCBDb29raWUgQmFubmVyIC0gMm5kIHZpc2l0IiwKICAgIG1lc3NhZ2U6ICImIzEyNzg1MDsgS2VpbmUgQW5nc3Qgdm9yIGRlciBEU0dWTyB1bmQgZVByaXZhY3kgUmljaHRsaW5pZS4gUmVhbCBDb29raWUgQmFubmVyIG1hY2h0IGVzIGRpciBlaW5mYWNoIENvb2tpZXMgcmljaHRpZyB6dSBzZXR6ZW4uIE5vY2ggRnJhZ2VuPyAmIzEyODU3ODsiLAogICAgc291bmQ6IHRydWUsCiAgICB0cmFuc2llbnQ6IGZhbHNlLAogICAgYm90c0VuYWJsZWQ6IGZhbHNlLAogICAgZW5hYmxlQ3VzdG9tRmllbGRzOiBmYWxzZSwKICAgIGRpc2FibGVDdWVDbGljazogZmFsc2UsCiAgICB1c2VyOiB7CiAgICAgIHR5cGU6ICJ0ZWFtIgogICAgfSwKICAgIGJ1dHRvbnM6IFsKICAgICAgewogICAgICAgIHRleHQ6ICJDaGF0IHN0YXJ0ZW4iLAogICAgICAgIHJlc3BvbnNlOiB0cnVlCiAgICAgIH0sCiAgICBdLAogICAgcnVsZXM6IFsKICAgICAgewogICAgICAgIHR5cGU6ICJ0aW1lT25QYWdlIiwKICAgICAgICBvcDogImdyZWF0ZXJUaGFuIiwKICAgICAgICB2YWx1ZTogIjIwcyIsCiAgICAgIH0sCiAgICAgIHsKICAgICAgICB0eXBlOiAibnRoVmlzaXQiLAogICAgICAgIG9wOiAiZXF1YWxzIiwKICAgICAgICB2YWx1ZTogIjIiLAogICAgICB9LAogICAgXSwKICB9KTsKfQo8L3NjcmlwdD4KPHNjcmlwdD4KLy8gUmVhbWF6ZSBDdWUgLSBbREVdIFJlYWwgQ29va2llIEJhbm5lciAtIDNuZCB2aXNpdAppZiAoKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSB8fCAiIikuc3RhcnRzV2l0aCgiL2RlL3dvcmRwcmVzcy1yZWFsLWNvb2tpZS1iYW5uZXIvIikpIHsKICB2YXIgX3N1cHBvcnQgPSBfc3VwcG9ydCB8fCB7ICd1aSc6IHt9LCAndXNlcic6IHt9IH07CiAgX3N1cHBvcnQub3V0Ym91bmRzID0gX3N1cHBvcnQub3V0Ym91bmRzIHx8IFtdOwogIF9zdXBwb3J0Lm91dGJvdW5kcy5wdXNoKHsKICAgIGlkOiAiMTYwNDIiLAogICAgbmFtZTogIlJlYWwgQ29va2llIEJhbm5lciAtIDNuZCB2aXNpdCIsCiAgICBtZXNzYWdlOiAiUmljaHRlIFJlYWwgQ29va2llIEJhbm5lciBub2NoIGhldXRlIGVpbiB1bmQgdmVybWVpZGUgcmVjaHRsaWNoZSBSaXNpa2VuLiBEdSBoYXN0IGVzIGluIGRlciBIYW5kISAmIzEyODE3MDsiLAogICAgc291bmQ6IHRydWUsCiAgICB0cmFuc2llbnQ6IGZhbHNlLAogICAgYm90c0VuYWJsZWQ6IGZhbHNlLAogICAgZW5hYmxlQ3VzdG9tRmllbGRzOiBmYWxzZSwKICAgIGRpc2FibGVDdWVDbGljazogZmFsc2UsCiAgICB1c2VyOiB7CiAgICAgIHR5cGU6ICJ0ZWFtIgogICAgfSwKICAgIGJ1dHRvbnM6IFsKICAgICAgewogICAgICAgIHRleHQ6ICJKZXR6dCBrYXVmZW4iLAogICAgICAgIHVybDogIiNwcmljaW5nIiwKICAgICAgICB0YXJnZXQ6ICJfdG9wIiwKICAgICAgfSwKICAgIF0sCiAgICBydWxlczogWwogICAgICB7CiAgICAgICAgdHlwZTogInRpbWVPblBhZ2UiLAogICAgICAgIG9wOiAiZ3JlYXRlclRoYW4iLAogICAgICAgIHZhbHVlOiAiMTBzIiwKICAgICAgfSwKICAgICAgewogICAgICAgIHR5cGU6ICJudGhWaXNpdCIsCiAgICAgICAgb3A6ICJlcXVhbHMiLAogICAgICAgIHZhbHVlOiAiMyIsCiAgICAgIH0sCiAgICBdLAogIH0pOwp9Cjwvc2NyaXB0PgoKPHNjcmlwdD4KLy8gUmVhbWF6ZSBDdWUgLSBbRU5dIFJlYWwgQ29va2llIEJhbm5lciAtIDFzdCB2aXN0aXQKaWYgKCh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgfHwgIiIpLnN0YXJ0c1dpdGgoIi93b3JkcHJlc3MtcmVhbC1jb29raWUtYmFubmVyLyIpKSB7CiAgdmFyIF9zdXBwb3J0ID0gX3N1cHBvcnQgfHwgeyAndWknOiB7fSwgJ3VzZXInOiB7fSB9OwogIF9zdXBwb3J0Lm91dGJvdW5kcyA9IF9zdXBwb3J0Lm91dGJvdW5kcyB8fCBbXTsKICBfc3VwcG9ydC5vdXRib3VuZHMucHVzaCh7CiAgICBpZDogIjE2MDQwIiwKICAgIG5hbWU6ICJSZWFsIENvb2tpZSBCYW5uZXIiLAogICAgbWVzc2FnZTogIkRvIHlvdSBoYXZlIHF1ZXN0aW9ucyBhYm91dCBSZWFsIENvb2tpZSBCYW5uZXI\\\/IFdlIGFuc3dlciB3aGF0ZXZlciB5b3Ugd2FudCB0byBrbm93ISAmIzEyODEyOTsmIzgyMDU7JiM5Nzk0OyYjNjUwMzk7IiwKICAgIHNvdW5kOiB0cnVlLAogICAgdHJhbnNpZW50OiBmYWxzZSwKICAgIGJvdHNFbmFibGVkOiBmYWxzZSwKICAgIGVuYWJsZUN1c3RvbUZpZWxkczogZmFsc2UsCiAgICBkaXNhYmxlQ3VlQ2xpY2s6IGZhbHNlLAogICAgdXNlcjogewogICAgICB0eXBlOiAidGVhbSIKICAgIH0sCiAgICBidXR0b25zOiBbCiAgICAgIHsKICAgICAgICB0ZXh0OiAiQ2hhdCBub3ciLAogICAgICAgIHJlc3BvbnNlOiB0cnVlCiAgICAgIH0sCiAgICBdLAogICAgcnVsZXM6IFsKICAgICAgewogICAgICAgIHR5cGU6ICJ0aW1lT25TaXRlIiwKICAgICAgICBvcDogImdyZWF0ZXJUaGFuIiwKICAgICAgICB2YWx1ZTogIjMwcyIsCiAgICAgIH0sCiAgICAgIHsKICAgICAgICB0eXBlOiAibnRoVmlzaXQiLAogICAgICAgIG9wOiAiZXF1YWxzIiwKICAgICAgICB2YWx1ZTogIjEiLAogICAgICB9LAogICAgXSwKICB9KTsKfQo8L3NjcmlwdD4KPHNjcmlwdD4KLy8gUmVhbWF6ZSBDdWUgLSBbRU5dIFJlYWwgQ29va2llIEJhbm5lciAtIDJzdCB2aXN0aXQKaWYgKCh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgfHwgIiIpLnN0YXJ0c1dpdGgoIi93b3JkcHJlc3MtcmVhbC1jb29raWUtYmFubmVyLyIpKSB7CiAgdmFyIF9zdXBwb3J0ID0gX3N1cHBvcnQgfHwgeyAndWknOiB7fSwgJ3VzZXInOiB7fSB9OwogIF9zdXBwb3J0Lm91dGJvdW5kcyA9IF9zdXBwb3J0Lm91dGJvdW5kcyB8fCBbXTsKICBfc3VwcG9ydC5vdXRib3VuZHMucHVzaCh7CiAgICBpZDogIjE2MDQxIiwKICAgIG5hbWU6ICJSZWFsIENvb2tpZSBCYW5uZXIgLSAybmQgdmlzaXQiLAogICAgbWVzc2FnZTogIiYjMTI3ODUwOyBEbyBub3Qgd29ycnkgYWJvdXQgdGhlIEdEUFIgYW5kIGVQcml2YWN5IERpcmVjdGl2ZS4gUmVhbCBDb29raWUgQmFubmVyIG1ha2VzIGl0IGVhc3kgdG8gc2V0IGNvb2tpZXMgY29ycmVjdGx5LiBTdGlsbCBxdWVzdGlvbnM\\\/ICYjMTI4NTc4OyIsCiAgICBzb3VuZDogdHJ1ZSwKICAgIHRyYW5zaWVudDogZmFsc2UsCiAgICBib3RzRW5hYmxlZDogZmFsc2UsCiAgICBlbmFibGVDdXN0b21GaWVsZHM6IGZhbHNlLAogICAgZGlzYWJsZUN1ZUNsaWNrOiBmYWxzZSwKICAgIHVzZXI6IHsKICAgICAgdHlwZTogInRlYW0iCiAgICB9LAogICAgYnV0dG9uczogWwogICAgICB7CiAgICAgICAgdGV4dDogIkNoYXQgbm93IiwKICAgICAgICByZXNwb25zZTogdHJ1ZQogICAgICB9LAogICAgXSwKICAgIHJ1bGVzOiBbCiAgICAgIHsKICAgICAgICB0eXBlOiAidGltZU9uUGFnZSIsCiAgICAgICAgb3A6ICJncmVhdGVyVGhhbiIsCiAgICAgICAgdmFsdWU6ICIyMHMiLAogICAgICB9LAogICAgICB7CiAgICAgICAgdHlwZTogIm50aFZpc2l0IiwKICAgICAgICBvcDogImVxdWFscyIsCiAgICAgICAgdmFsdWU6ICIyIiwKICAgICAgfSwKICAgIF0sCiAgfSk7Cn0KPC9zY3JpcHQ+CjxzY3JpcHQ+Ci8vIFJlYW1hemUgQ3VlIC0gW0VOXSBSZWFsIENvb2tpZSBCYW5uZXIgLSAzc3QgdmlzdGl0CmlmICgod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lIHx8ICIiKS5zdGFydHNXaXRoKCIvd29yZHByZXNzLXJlYWwtY29va2llLWJhbm5lci8iKSkgewogIHZhciBfc3VwcG9ydCA9IF9zdXBwb3J0IHx8IHsgJ3VpJzoge30sICd1c2VyJzoge30gfTsKICBfc3VwcG9ydC5vdXRib3VuZHMgPSBfc3VwcG9ydC5vdXRib3VuZHMgfHwgW107CiAgX3N1cHBvcnQub3V0Ym91bmRzLnB1c2goewogICAgaWQ6ICIxNjA0MiIsCiAgICBuYW1lOiAiUmVhbCBDb29raWUgQmFubmVyIC0gM25kIHZpc2l0IiwKICAgIG1lc3NhZ2U6ICJTZXQgdXAgUmVhbCBDb29raWUgQmFubmVyIHRvZGF5IGFuZCBhdm9pZCBsZWdhbCByaXNrcy4gWW91IGhhdmUgaXQgdW5kZXIgeW91ciBjb250cm9sISAmIzEyODE3MDsiLAogICAgc291bmQ6IHRydWUsCiAgICB0cmFuc2llbnQ6IGZhbHNlLAogICAgYm90c0VuYWJsZWQ6IGZhbHNlLAogICAgZW5hYmxlQ3VzdG9tRmllbGRzOiBmYWxzZSwKICAgIGRpc2FibGVDdWVDbGljazogZmFsc2UsCiAgICB1c2VyOiB7CiAgICAgIHR5cGU6ICJ0ZWFtIgogICAgfSwKICAgIGJ1dHRvbnM6IFsKICAgICAgewogICAgICAgIHRleHQ6ICJCdXkgbm93IiwKICAgICAgICB1cmw6ICIjcHJpY2luZyIsCiAgICAgICAgdGFyZ2V0OiAiX3RvcCIsCiAgICAgIH0sCiAgICBdLAogICAgcnVsZXM6IFsKICAgICAgewogICAgICAgIHR5cGU6ICJ0aW1lT25QYWdlIiwKICAgICAgICBvcDogImdyZWF0ZXJUaGFuIiwKICAgICAgICB2YWx1ZTogIjEwcyIsCiAgICAgIH0sCiAgICAgIHsKICAgICAgICB0eXBlOiAibnRoVmlzaXQiLAogICAgICAgIG9wOiAiZXF1YWxzIiwKICAgICAgICB2YWx1ZTogIjMiLAogICAgICB9LAogICAgXSwKICB9KTsKfQo8L3NjcmlwdD4KCjxzY3JpcHQ+Ci8vIFJlYW1hemUgQ3VlIC0gW0RFXSBSZWFsIE1lZGlhIExpYnJhcnkgLSAxc3QgdmlzdGl0CmlmICgod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lIHx8ICIiKS5zdGFydHNXaXRoKCIvZGUvd29yZHByZXNzLXJlYWwtbWVkaWEtbGlicmFyeS8iKSkgewogIHZhciBfc3VwcG9ydCA9IF9zdXBwb3J0IHx8IHsgJ3VpJzoge30sICd1c2VyJzoge30gfTsKICBfc3VwcG9ydC5vdXRib3VuZHMgPSBfc3VwcG9ydC5vdXRib3VuZHMgfHwgW107CiAgX3N1cHBvcnQub3V0Ym91bmRzLnB1c2goewogICAgaWQ6ICIyODM3IiwKICAgIG5hbWU6ICJkZXZvd2wuaW8gUmVhbCBNZWRpYSBMaWJyYXJ5LCAxdGggdmlzaXQiLAogICAgbWVzc2FnZTogIkR1IGludGVyZXNzaWVyc3QgZGljaCBmJiMyNTI7ciBSZWFsIE1lZGlhIExpYnJhcnksIGhhc3QgYWJlciBub2NoIEZyYWdlbj8gU2NocmVpYmUgdW5zIGVpbmZhY2ghICYjOTk5NTsiLAogICAgc291bmQ6IHRydWUsCiAgICB0cmFuc2llbnQ6IHRydWUsCiAgICBib3RzRW5hYmxlZDogZmFsc2UsCiAgICBlbmFibGVDdXN0b21GaWVsZHM6IGZhbHNlLAogICAgZGlzYWJsZUN1ZUNsaWNrOiBmYWxzZSwKICAgIHVzZXI6IHsKICAgICAgdHlwZTogInRlYW0iCiAgICB9LAogICAgYnV0dG9uczogWwogICAgICB7CiAgICAgICAgdGV4dDogIkNoYXQgc3RhcnRlbiIsCiAgICAgICAgcmVzcG9uc2U6IHRydWUKICAgICAgfSwKICAgIF0sCiAgICBydWxlczogWwogICAgICB7CiAgICAgICAgdHlwZTogInRpbWVPblNpdGUiLAogICAgICAgIG9wOiAiZ3JlYXRlclRoYW4iLAogICAgICAgIHZhbHVlOiAiMzBzIiwKICAgICAgfSwKICAgICAgewogICAgICAgIHR5cGU6ICJudGhWaXNpdCIsCiAgICAgICAgb3A6ICJlcXVhbHMiLAogICAgICAgIHZhbHVlOiAiMSIsCiAgICAgIH0sCiAgICBdLAogIH0pOwp9Cjwvc2NyaXB0Pgo8c2NyaXB0PgovLyBSZWFtYXplIEN1ZSAtIFtERV0gUmVhbCBNZWRpYSBMaWJyYXJ5IC0gMnN0IHZpc3RpdAppZiAoKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSB8fCAiIikuc3RhcnRzV2l0aCgiL2RlL3dvcmRwcmVzcy1yZWFsLW1lZGlhLWxpYnJhcnkvIikpIHsKICB2YXIgX3N1cHBvcnQgPSBfc3VwcG9ydCB8fCB7ICd1aSc6IHt9LCAndXNlcic6IHt9IH07CiAgX3N1cHBvcnQub3V0Ym91bmRzID0gX3N1cHBvcnQub3V0Ym91bmRzIHx8IFtdOwogIF9zdXBwb3J0Lm91dGJvdW5kcy5wdXNoKHsKICAgIGlkOiAiMjgzOCIsCiAgICBuYW1lOiAiZGV2b3dsLmlvIFJlYWwgTWVkaWEgTGlicmFyeSwgMnRoIHZpc2l0IiwKICAgIG1lc3NhZ2U6ICJIb2wgZGlyIGVpbmUgUmVhbCBNZWRpYSBMaWJyYXJ5LCBqZXR6dCEgT3JkbmVyLCBTYW1tbHVuZ2VuIHVuZCBHYWxlcmllbiBpbiBkZWluZW0gV29yZFByZXNzIHNpbmQgbnVyIGVpbmVuIEtsaWNrIGVudGZlcm50ICYjMTI4MDc2OyIsCiAgICBzb3VuZDogdHJ1ZSwKICAgIHRyYW5zaWVudDogdHJ1ZSwKICAgIGJvdHNFbmFibGVkOiBmYWxzZSwKICAgIGVuYWJsZUN1c3RvbUZpZWxkczogZmFsc2UsCiAgICBkaXNhYmxlQ3VlQ2xpY2s6IGZhbHNlLAogICAgdXNlcjogewogICAgICB0eXBlOiAidGVhbSIKICAgIH0sCiAgICBidXR0b25zOiBbCiAgICAgIHsKICAgICAgICB0ZXh0OiAiSmV0enQga2F1ZmVuIiwKICAgICAgICB1cmw6ICJodHRwczovL2Rldm93bC5pby9nby9jb2RlY2FueW9uL3JlYWwtbWVkaWEtbGlicmFyeT9zb3VyY2U9bGFuZGluZ3BhZ2Utcm1sIiwKICAgICAgfSwKICAgIF0sCiAgICBydWxlczogWwogICAgICB7CiAgICAgICAgdHlwZTogIm50aFZpc2l0IiwKICAgICAgICBvcDogImVxdWFscyIsCiAgICAgICAgdmFsdWU6ICIyIiwKICAgICAgfSwKICAgICAgewogICAgICAgIHR5cGU6ICJ0aW1lT25TaXRlIiwKICAgICAgICBvcDogImdyZWF0ZXJUaGFuIiwKICAgICAgICB2YWx1ZTogIjIwcyIsCiAgICAgIH0sCiAgICBdLAogIH0pOwp9Cjwvc2NyaXB0Pgo8c2NyaXB0PgovLyBSZWFtYXplIEN1ZSAtIFtERV0gUmVhbCBNZWRpYSBMaWJyYXJ5IC0gM3N0IHZpc3RpdAppZiAoKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSB8fCAiIikuc3RhcnRzV2l0aCgiL2RlL3dvcmRwcmVzcy1yZWFsLW1lZGlhLWxpYnJhcnkvIikpIHsKICB2YXIgX3N1cHBvcnQgPSBfc3VwcG9ydCB8fCB7ICd1aSc6IHt9LCAndXNlcic6IHt9IH07CiAgX3N1cHBvcnQub3V0Ym91bmRzID0gX3N1cHBvcnQub3V0Ym91bmRzIHx8IFtdOwogIF9zdXBwb3J0Lm91dGJvdW5kcy5wdXNoKHsKICAgIGlkOiAiMjgzOSIsCiAgICBuYW1lOiAiZGV2b3dsLmlvIFJlYWwgTWVkaWEgTGlicmFyeSwgM3RoIHZpc2l0IiwKICAgIG1lc3NhZ2U6ICJIZXV0ZSBoYXN0IGR1IGRpZSBDaGFuY2UsIGVpbmUgTWVuZ2UgWmVpdCBpbiBkZWluZXIgV29yZFByZXNzIE1lZGlhdGhlayB6dSBzcGFyZW4gJiMxMjg1MjU7IFNjaGVua2UgZGlyIG1laHIgRnJlaXplaXQhIiwKICAgIHNvdW5kOiB0cnVlLAogICAgdHJhbnNpZW50OiB0cnVlLAogICAgYm90c0VuYWJsZWQ6IGZhbHNlLAogICAgZW5hYmxlQ3VzdG9tRmllbGRzOiBmYWxzZSwKICAgIGRpc2FibGVDdWVDbGljazogZmFsc2UsCiAgICB1c2VyOiB7CiAgICAgIHR5cGU6ICJ0ZWFtIgogICAgfSwKICAgIGJ1dHRvbnM6IFsKICAgICAgewogICAgICAgIHRleHQ6ICJKZXR6dCBrYXVmZW4iLAogICAgICAgIHVybDogImh0dHBzOi8vZGV2b3dsLmlvL2dvL2NvZGVjYW55b24vcmVhbC1tZWRpYS1saWJyYXJ5P3NvdXJjZT1sYW5kaW5ncGFnZS1ybWwiLAogICAgICB9LAogICAgXSwKICAgIHJ1bGVzOiBbCiAgICAgIHsKICAgICAgICB0eXBlOiAibnRoVmlzaXQiLAogICAgICAgIG9wOiAiZ3JlYXRlclRoYW4iLAogICAgICAgIHZhbHVlOiAiMyIsCiAgICAgIH0sCiAgICAgIHsKICAgICAgICB0eXBlOiAidGltZU9uU2l0ZSIsCiAgICAgICAgb3A6ICJncmVhdGVyVGhhbiIsCiAgICAgICAgdmFsdWU6ICIxMHMiLAogICAgICB9LAogICAgXSwKICB9KTsKfQo8L3NjcmlwdD4KCjxzY3JpcHQ+Ci8vIFJlYW1hemUgQ3VlIC0gW0VOXSBSZWFsIE1lZGlhIExpYnJhcnkgLSAxc3QgdmlzdGl0CmlmICgod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lIHx8ICIiKS5zdGFydHNXaXRoKCIvd29yZHByZXNzLXJlYWwtbWVkaWEtbGlicmFyeS8iKSkgewogIHZhciBfc3VwcG9ydCA9IF9zdXBwb3J0IHx8IHsgJ3VpJzoge30sICd1c2VyJzoge30gfTsKICBfc3VwcG9ydC5vdXRib3VuZHMgPSBfc3VwcG9ydC5vdXRib3VuZHMgfHwgW107CiAgX3N1cHBvcnQub3V0Ym91bmRzLnB1c2goewogICAgaWQ6ICIyODM3IiwKICAgIG5hbWU6ICJkZXZvd2wuaW8gUmVhbCBNZWRpYSBMaWJyYXJ5LCAxdGggdmlzaXQiLAogICAgbWVzc2FnZTogIkFyZSB5b3UgaW50ZXJlc3RlZCBpbiBSZWFsIE1lZGlhIExpYnJhcnksIGJ1dCBoYXZlIHF1ZXN0aW9ucz8gSnVzdCBhc2sgdXMhICYjOTk5NTsiLAogICAgc291bmQ6IHRydWUsCiAgICB0cmFuc2llbnQ6IHRydWUsCiAgICBib3RzRW5hYmxlZDogZmFsc2UsCiAgICBlbmFibGVDdXN0b21GaWVsZHM6IGZhbHNlLAogICAgZGlzYWJsZUN1ZUNsaWNrOiBmYWxzZSwKICAgIHVzZXI6IHsKICAgICAgdHlwZTogInRlYW0iCiAgICB9LAogICAgYnV0dG9uczogWwogICAgICB7CiAgICAgICAgdGV4dDogIkNoYXQgbm93IiwKICAgICAgICByZXNwb25zZTogdHJ1ZQogICAgICB9LAogICAgXSwKICAgIHJ1bGVzOiBbCiAgICAgIHsKICAgICAgICB0eXBlOiAidGltZU9uU2l0ZSIsCiAgICAgICAgb3A6ICJncmVhdGVyVGhhbiIsCiAgICAgICAgdmFsdWU6ICIzMHMiLAogICAgICB9LAogICAgICB7CiAgICAgICAgdHlwZTogIm50aFZpc2l0IiwKICAgICAgICBvcDogImVxdWFscyIsCiAgICAgICAgdmFsdWU6ICIxIiwKICAgICAgfSwKICAgIF0sCiAgfSk7Cn0KPC9zY3JpcHQ+CjxzY3JpcHQ+Ci8vIFJlYW1hemUgQ3VlIC0gW0VOXSBSZWFsIE1lZGlhIExpYnJhcnkgLSAyc3QgdmlzdGl0CmlmICgod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lIHx8ICIiKS5zdGFydHNXaXRoKCIvd29yZHByZXNzLXJlYWwtbWVkaWEtbGlicmFyeS8iKSkgewogIHZhciBfc3VwcG9ydCA9IF9zdXBwb3J0IHx8IHsgJ3VpJzoge30sICd1c2VyJzoge30gfTsKICBfc3VwcG9ydC5vdXRib3VuZHMgPSBfc3VwcG9ydC5vdXRib3VuZHMgfHwgW107CiAgX3N1cHBvcnQub3V0Ym91bmRzLnB1c2goewogICAgaWQ6ICIyODM4IiwKICAgIG5hbWU6ICJkZXZvd2wuaW8gUmVhbCBNZWRpYSBMaWJyYXJ5LCAydGggdmlzaXQiLAogICAgbWVzc2FnZTogIkdldCBhIFJlYWwgTWVkaWEgTGlicmFyeSwgbm93ISBGb2xkZXJzLCBjb2xsZWN0aW9ucyBhbmQgZ2FsbGVyaWVzIGluIHlvdXIgV29yZFByZXNzIGFyZSBqdXN0IG9uZSBjbGljayBhd2F5ICYjMTI4MDc2OyIsCiAgICBzb3VuZDogdHJ1ZSwKICAgIHRyYW5zaWVudDogdHJ1ZSwKICAgIGJvdHNFbmFibGVkOiBmYWxzZSwKICAgIGVuYWJsZUN1c3RvbUZpZWxkczogZmFsc2UsCiAgICBkaXNhYmxlQ3VlQ2xpY2s6IGZhbHNlLAogICAgdXNlcjogewogICAgICB0eXBlOiAidGVhbSIKICAgIH0sCiAgICBidXR0b25zOiBbCiAgICAgIHsKICAgICAgICB0ZXh0OiAiQnV5IG5vdyIsCiAgICAgICAgdXJsOiAiaHR0cHM6Ly9kZXZvd2wuaW8vZ28vY29kZWNhbnlvbi9yZWFsLW1lZGlhLWxpYnJhcnk\\\/c291cmNlPWxhbmRpbmdwYWdlLXJtbCIsCiAgICAgIH0sCiAgICBdLAogICAgcnVsZXM6IFsKICAgICAgewogICAgICAgIHR5cGU6ICJudGhWaXNpdCIsCiAgICAgICAgb3A6ICJlcXVhbHMiLAogICAgICAgIHZhbHVlOiAiMiIsCiAgICAgIH0sCiAgICAgIHsKICAgICAgICB0eXBlOiAidGltZU9uU2l0ZSIsCiAgICAgICAgb3A6ICJncmVhdGVyVGhhbiIsCiAgICAgICAgdmFsdWU6ICIyMHMiLAogICAgICB9LAogICAgXSwKICB9KTsKfQo8L3NjcmlwdD4KPHNjcmlwdD4KLy8gUmVhbWF6ZSBDdWUgLSBbRU5dIFJlYWwgTWVkaWEgTGlicmFyeSAtIDNzdCB2aXN0aXQKaWYgKCh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgfHwgIiIpLnN0YXJ0c1dpdGgoIi93b3JkcHJlc3MtcmVhbC1tZWRpYS1saWJyYXJ5LyIpKSB7CiAgdmFyIF9zdXBwb3J0ID0gX3N1cHBvcnQgfHwgeyAndWknOiB7fSwgJ3VzZXInOiB7fSB9OwogIF9zdXBwb3J0Lm91dGJvdW5kcyA9IF9zdXBwb3J0Lm91dGJvdW5kcyB8fCBbXTsKICBfc3VwcG9ydC5vdXRib3VuZHMucHVzaCh7CiAgICBpZDogIjI4MzkiLAogICAgbmFtZTogImRldm93bC5pbyBSZWFsIE1lZGlhIExpYnJhcnksIDN0aCB2aXNpdCIsCiAgICBtZXNzYWdlOiAiVG9kYXkgeW91IGhhdmUgdGhlIGNoYW5jZSB0byBzYXZlIGEgbG90IG9mIHRpbWUgaW4geW91ciBXb3JkUHJlc3MgbWVkaWEgbGlicmFyeSAgJiMxMjg1MjU7IEdpdmUgeW91cnNlbGYgbW9yZSBmcmVlIHRpbWUhIiwKICAgIHNvdW5kOiB0cnVlLAogICAgdHJhbnNpZW50OiB0cnVlLAogICAgYm90c0VuYWJsZWQ6IGZhbHNlLAogICAgZW5hYmxlQ3VzdG9tRmllbGRzOiBmYWxzZSwKICAgIGRpc2FibGVDdWVDbGljazogZmFsc2UsCiAgICB1c2VyOiB7CiAgICAgIHR5cGU6ICJ0ZWFtIgogICAgfSwKICAgIGJ1dHRvbnM6IFsKICAgICAgewogICAgICAgIHRleHQ6ICJCdXkgbm93IiwKICAgICAgICB1cmw6ICJodHRwczovL2Rldm93bC5pby9nby9jb2RlY2FueW9uL3JlYWwtbWVkaWEtbGlicmFyeT9zb3VyY2U9bGFuZGluZ3BhZ2Utcm1sIiwKICAgICAgfSwKICAgIF0sCiAgICBydWxlczogWwogICAgICB7CiAgICAgICAgdHlwZTogIm50aFZpc2l0IiwKICAgICAgICBvcDogImdyZWF0ZXJUaGFuIiwKICAgICAgICB2YWx1ZTogIjMiLAogICAgICB9LAogICAgICB7CiAgICAgICAgdHlwZTogInRpbWVPblNpdGUiLAogICAgICAgIG9wOiAiZ3JlYXRlclRoYW4iLAogICAgICAgIHZhbHVlOiAiMTBzIiwKICAgICAgfSwKICAgIF0sCiAgfSk7Cn0KPC9zY3JpcHQ+Cgo8c2NyaXB0PgovLyBSZWFtYXplIEN1ZSAtIFtERV0gUmVhbCBQaHlzaWNhbCBNZWRpYQppZiAoKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSB8fCAiIikuc3RhcnRzV2l0aCgiL2RlL3dvcmRwcmVzcy1yZWFsLXBoeXNpY2FsLW1lZGlhLyIpKSB7CiAgdmFyIF9zdXBwb3J0ID0gX3N1cHBvcnQgfHwgeyAndWknOiB7fSwgJ3VzZXInOiB7fSB9OwogIF9zdXBwb3J0Lm91dGJvdW5kcyA9IF9zdXBwb3J0Lm91dGJvdW5kcyB8fCBbXTsKICBfc3VwcG9ydC5vdXRib3VuZHMucHVzaCh7CiAgICBpZDogIjE2MDM2IiwKICAgIG5hbWU6ICJSZWFsIFBoeXNpY2FsIE1lZGlhIiwKICAgIG1lc3NhZ2U6ICJTRU8tT3B0aW1pZXJ1bmcgZiYjMjUyO3IgQmlsZGVyIHdhciBub2NoIG5pZSBzbyBlaW5mYWNoIHdpZSBtaXQgUmVhbCBQaHlzaWNhbCBNZWRpYS4gTnV0emUgZGVpbmUgQ2hhbmNlISIsCiAgICBzb3VuZDogdHJ1ZSwKICAgIHRyYW5zaWVudDogZmFsc2UsCiAgICBib3RzRW5hYmxlZDogZmFsc2UsCiAgICBlbmFibGVDdXN0b21GaWVsZHM6IGZhbHNlLAogICAgZGlzYWJsZUN1ZUNsaWNrOiBmYWxzZSwKICAgIHVzZXI6IHsKICAgICAgdHlwZTogInRlYW0iCiAgICB9LAogICAgYnV0dG9uczogWwogICAgICB7CiAgICAgICAgdGV4dDogIkpldHp0IGthdWZlbiIsCiAgICAgICAgdXJsOiAiaHR0cHM6Ly9kZXZvd2wuaW8vZ28vY29kZWNhbnlvbi9yZWFsLXBoeXNpY2FsLW1lZGlhP3NvdXJjZT1sYW5kaW5ncGFnZS1ycG0iLAogICAgICB9LAogICAgXSwKICAgIHJ1bGVzOiBbCiAgICAgIHsKICAgICAgICB0eXBlOiAidGltZU9uU2l0ZSIsCiAgICAgICAgb3A6ICJncmVhdGVyVGhhbiIsCiAgICAgICAgdmFsdWU6ICIyMHMiLAogICAgICB9LAogICAgICB7CiAgICAgICAgdHlwZTogIm50aFZpc2l0IiwKICAgICAgICBvcDogImVxdWFscyIsCiAgICAgICAgdmFsdWU6ICIxIiwKICAgICAgfSwKICAgIF0sCiAgfSk7Cn0KPC9zY3JpcHQ+CjxzY3JpcHQ+Ci8vIFJlYW1hemUgQ3VlIC0gW0VOXSBSZWFsIFBoeXNpY2FsIE1lZGlhCmlmICgod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lIHx8ICIiKS5zdGFydHNXaXRoKCIvd29yZHByZXNzLXJlYWwtcGh5c2ljYWwtbWVkaWEvIikpIHsKICB2YXIgX3N1cHBvcnQgPSBfc3VwcG9ydCB8fCB7ICd1aSc6IHt9LCAndXNlcic6IHt9IH07CiAgX3N1cHBvcnQub3V0Ym91bmRzID0gX3N1cHBvcnQub3V0Ym91bmRzIHx8IFtdOwogIF9zdXBwb3J0Lm91dGJvdW5kcy5wdXNoKHsKICAgIGlkOiAiMTYwMzYiLAogICAgbmFtZTogIlJlYWwgUGh5c2ljYWwgTWVkaWEiLAogICAgbWVzc2FnZTogIlNFTyBvcHRpbWl6YXRpb24gZm9yIGltYWdlcyBoYXMgbmV2ZXIgYmVlbiBlYXNpZXIgdGhhbiB3aXRoIFJlYWwgUGh5c2ljYWwgTWVkaWEuIFRha2UgeW91ciBjaGFuY2UhIiwKICAgIHNvdW5kOiB0cnVlLAogICAgdHJhbnNpZW50OiBmYWxzZSwKICAgIGJvdHNFbmFibGVkOiBmYWxzZSwKICAgIGVuYWJsZUN1c3RvbUZpZWxkczogZmFsc2UsCiAgICBkaXNhYmxlQ3VlQ2xpY2s6IGZhbHNlLAogICAgdXNlcjogewogICAgICB0eXBlOiAidGVhbSIKICAgIH0sCiAgICBidXR0b25zOiBbCiAgICAgIHsKICAgICAgICB0ZXh0OiAiQnV5IG5vdyIsCiAgICAgICAgdXJsOiAiaHR0cHM6Ly9kZXZvd2wuaW8vZ28vY29kZWNhbnlvbi9yZWFsLXBoeXNpY2FsLW1lZGlhP3NvdXJjZT1sYW5kaW5ncGFnZS1ycG0iLAogICAgICB9LAogICAgXSwKICAgIHJ1bGVzOiBbCiAgICAgIHsKICAgICAgICB0eXBlOiAidGltZU9uU2l0ZSIsCiAgICAgICAgb3A6ICJncmVhdGVyVGhhbiIsCiAgICAgICAgdmFsdWU6ICIyMHMiLAogICAgICB9LAogICAgICB7CiAgICAgICAgdHlwZTogIm50aFZpc2l0IiwKICAgICAgICBvcDogImVxdWFscyIsCiAgICAgICAgdmFsdWU6ICIxIiwKICAgICAgfSwKICAgIF0sCiAgfSk7Cn0KPC9zY3JpcHQ+\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":true,\"codeOnPageLoad\":\"\",\"presetId\":\"reamaze-chat\"},{\"id\":1498,\"name\":\"Microsoft Clarity\",\"purpose\":\"Microsoft Clarity is a service for behavior analysis. It creates heat maps and session records of the website user. The cookies are used to identify the user across multiple sub-pages and to link the data collected during session recordings.\",\"providerContact\":{\"phone\":\"+1 425 7064400\",\"email\":\"msft@microsoft.com\",\"link\":\"https:\\\/\\\/support.microsoft.com\\\/\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Microsoft Corporation, One Microsoft Way, Redmond, WA 98052-6399, United States\",\"uniqueName\":\"microsoft-clarity\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\"],\"dataProcessingInCountriesSpecialTreatments\":[\"standard-contractual-clauses\",\"provider-is-self-certified-trans-atlantic-data-privacy-framework\"],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"_clck\",\"host\":\"devowl.io\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"}],\"codeDynamics\":{\"msClarityProjectId\":\"5nthqxyq1g\"},\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/clarity.microsoft.com\\\/terms\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"executePriority\":10,\"codeOptIn\":\"base64-encoded:PHNjcmlwdD4KICAgIChmdW5jdGlvbihjLGwsYSxyLGksdCx5KXsKICAgICAgICB0PWwuY3JlYXRlRWxlbWVudChyKTt0LmFzeW5jPTE7dC5zcmM9Imh0dHBzOi8vd3d3LmNsYXJpdHkubXMvdGFnLyIraTsKICAgICAgICB5PWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUocilbMF07eS5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0LHkpOwogICAgfSkod2luZG93LCBkb2N1bWVudCwgImNsYXJpdHkiLCAic2NyaXB0IiwgInt7bXNDbGFyaXR5UHJvamVjdElkfX0iKTsKPC9zY3JpcHQ+\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":true,\"codeOnPageLoad\":\"base64-encoded:PHNjcmlwdD4KICAgIChmdW5jdGlvbihjLGwsYSl7Y1thXT1jW2FdfHxmdW5jdGlvbigpeyhjW2FdLnE9Y1thXS5xfHxbXSkucHVzaChhcmd1bWVudHMpfTt9KSh3aW5kb3csIGRvY3VtZW50LCAiY2xhcml0eSIpOwo8L3NjcmlwdD4=\",\"presetId\":\"microsoft-clarity\"},{\"id\":227922,\"name\":\"Google Ads\",\"purpose\":\"Google Ads Conversation Tracking tracks the conversion rate and success of Google Ads campaigns. Cookies are used to differentiate users and track their behavior on the site in detail, and to associate this data with advertising data from the Google Ads advertising network. In addition, the data is used for so-called \\\"remarketing\\\" to display targeted advertising again to users who have already clicked on one of our advertisements within the Google Ads network. This data may be linked to data about users who have signed in to their Google accounts on google.com or a localized version of Google.\",\"providerContact\":{\"phone\":\"+1 650 253 0000\",\"email\":\"dpo-google@google.com\",\"link\":\"https:\\\/\\\/support.google.com\\\/\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland\",\"uniqueName\":\"google-ads-conversion-tracking\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\",\"IE\",\"AU\",\"BE\",\"BR\",\"CA\",\"CL\",\"FI\",\"FR\",\"DE\",\"HK\",\"IN\",\"ID\",\"IL\",\"IT\",\"JP\",\"KR\",\"NL\",\"PL\",\"QA\",\"SG\",\"ES\",\"CH\",\"TW\",\"GB\"],\"dataProcessingInCountriesSpecialTreatments\":[\"standard-contractual-clauses\",\"provider-is-self-certified-trans-atlantic-data-privacy-framework\"],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"test_cookie\",\"host\":\".doubleclick.net\",\"duration\":1,\"durationUnit\":\"d\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"IDE\",\"host\":\".doubleclick.net\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"CONSENT\",\"host\":\".google.com\",\"duration\":18,\"durationUnit\":\"y\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"1P_JAR\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"},{\"type\":\"http\",\"name\":\"_gcl_au\",\"host\":\".devowl.io\",\"duration\":3,\"durationUnit\":\"mo\",\"isSessionDuration\":false,\"purpose\":\"\"}],\"codeDynamics\":{\"gAdsId\":\"AW-668507196\"},\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/policies.google.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[\"ad_storage\",\"ad_user_data\",\"ad_personalization\",\"analytics_storage\"],\"executePriority\":10,\"codeOptIn\":\"base64-encoded:PHNjcmlwdCBhc3luYyB1bmlxdWUtd3JpdGUtbmFtZT0iZ3RhZyIgc3JjPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPXt7Z0Fkc0lkfX0iPjwvc2NyaXB0Pgo8c2NyaXB0PgogICAgZ3RhZygianMiLCBuZXcgRGF0ZSgpKTsKICAgIGd0YWcoImNvbmZpZyIsICJ7e2dBZHNJZH19Iik7Cjwvc2NyaXB0Pg==\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":true,\"codeOnPageLoad\":\"base64-encoded:PHNjcmlwdD4KKGZ1bmN0aW9uKHcsZCl7d1tkXT13W2RdfHxbXTt3Lmd0YWc9ZnVuY3Rpb24oKXt3W2RdLnB1c2goYXJndW1lbnRzKX19KSh3aW5kb3csImRhdGFMYXllciIpOwo8L3NjcmlwdD4=\",\"presetId\":\"google-ads-conversion-tracking\"}]}]","links":[{"id":237785,"label":"Privacy policy","pageType":"privacyPolicy","isExternalUrl":false,"pageId":22,"url":"https:\/\/devowl.io\/privacy-policy\/","hideCookieBanner":true,"isTargetBlank":true},{"id":239380,"label":"Cookie policy","pageType":"cookiePolicy","isExternalUrl":false,"pageId":239379,"url":"https:\/\/devowl.io\/cookie-policy\/","hideCookieBanner":true,"isTargetBlank":true},{"id":237786,"label":"Legal notice","pageType":"legalNotice","isExternalUrl":false,"pageId":85,"url":"https:\/\/devowl.io\/legal-notice\/","hideCookieBanner":true,"isTargetBlank":true}],"websiteOperator":{"address":"devowl.io GmbH, Tannet 12, 94539 Grafling","country":"DE","contactEmail":"base64-encoded:bWFpbEBkZXZvd2wuaW8=","contactPhone":"+4999120098959","contactFormUrl":false},"blocker":[{"id":238919,"name":"Cal.com","description":"","rules":["*C.Cal*","*calendar.devowl.io*","div[id=\"my-cal-inline\"]"],"criteria":"services","tcfVendors":[],"tcfPurposes":[],"services":[238885],"isVisual":true,"visualType":"default","visualMediaThumbnail":"0","visualContentType":"","isVisualDarkMode":false,"visualBlur":0,"visualDownloadThumbnail":false,"visualHeroButtonText":"","shouldForceToShowVisual":false,"presetId":"","visualThumbnail":null},{"id":237394,"name":"Sandbox Creator","description":"In order to set up a sandbox, you must allow us to verify that you are not a bot using Google reCAPTCHA.","rules":["div[class=\"mp-start-demo\"]","*google.com\/recaptcha\/api.js*"],"criteria":"services","tcfVendors":[],"tcfPurposes":[1],"services":[227869],"isVisual":true,"visualType":"default","visualMediaThumbnail":"0","visualContentType":"","isVisualDarkMode":false,"visualBlur":0,"visualDownloadThumbnail":false,"visualHeroButtonText":"","shouldForceToShowVisual":false,"presetId":"","visualThumbnail":null},{"id":233211,"name":"VG WORT","description":"","rules":["*met.vgwort.de*"],"criteria":"services","tcfVendors":[],"tcfPurposes":[1],"services":[233210],"isVisual":false,"visualType":"default","visualMediaThumbnail":"0","visualContentType":"","isVisualDarkMode":false,"visualBlur":0,"visualDownloadThumbnail":false,"visualHeroButtonText":"","shouldForceToShowVisual":false,"presetId":"vg-wort","visualThumbnail":null},{"id":1496,"name":"YouTube","description":"Video from YouTube has been blocked because you did not allow to load it.","rules":["*youtube.com*","*youtu.be*","*youtube-nocookie.com*","*ytimg.com*","*apis.google.com\/js\/platform.js*","div[class*=\"g-ytsubscribe\"]","*youtube.com\/subscribe_embed*","div[data-settings:matchesUrl()]","script[id=\"uael-video-subscribe-js\"]","div[class*=\"elementor-widget-premium-addon-video-box\"][data-settings*=\"youtube\"]","div[class*=\"td_wrapper_playlist_player_youtube\"]","*wp-content\/plugins\/wp-youtube-lyte\/lyte\/lyte-min.js*","*wp-content\/plugins\/youtube-embed-plus\/scripts\/*","*wp-content\/plugins\/youtube-embed-plus-pro\/scripts\/*","div[id^=\"epyt_gallery\"]","div[class^=\"epyt_gallery\"]","div[class*=\"tcb-yt-bg\"]","lite-youtube[videoid]","new OUVideo({*type:*yt","*\/wp-content\/plugins\/streamtube-core\/public\/assets\/vendor\/video.js\/youtube*","a[data-youtube:delegateClick()]","spidochetube","div[class*=\"spidochetube\"]","div[id^=\"eaelsv-player\"][data-plyr-provider=\"youtube\":visualParent(value=.elementor-widget-container)]","div[class*=\"be-youtube-embed\":visualParent(value=1),transformAttribute({ \"name\": \"data-video-id\", \"target\": \"data-video-id-url\", \"regexpReplace\": \"https:\/\/youtube.com\/watch?v=$1\" }),keepAttributes(value=class),jQueryHijackEach()]","*wp-content\/plugins\/hideyt-premium\/legacy\/hideyt*"],"criteria":"services","tcfVendors":[],"tcfPurposes":[],"services":[1495],"isVisual":true,"visualType":"hero","visualMediaThumbnail":"0","visualContentType":"video-player","isVisualDarkMode":false,"visualBlur":0,"visualDownloadThumbnail":true,"visualHeroButtonText":"","shouldForceToShowVisual":false,"presetId":"youtube","visualThumbnail":{"url":"https:\/\/devowl.io\/wp-content\/plugins\/real-cookie-banner-pro\/public\/images\/visual-content-blocker\/video-player-light.svg","width":580,"height":326,"hide":["overlay"],"titleType":"center"}}],"languageSwitcher":[{"name":"English","current":true,"flag":"https:\/\/devowl.io\/wp-content\/uploads\/common\/english.svg","url":"https:\/\/devowl.io\/wp-react-starter\/","locale":"en_US"},{"name":"German","current":false,"flag":"https:\/\/devowl.io\/wp-content\/uploads\/common\/german.svg","url":"https:\/\/devowl.io\/de\/wp-react-starter\/","locale":"de_DE"}],"predefinedDataProcessingInSafeCountriesLists":{"GDPR":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IS","IT","LI","LV","LT","LU","MT","NL","NO","PL","PT","RO","SK","SI","ES","SE"],"DSG":["CH"],"GDPR+DSG":[],"ADEQUACY_EU":["AD","AR","CA","FO","GG","IL","IM","JP","JE","NZ","KR","CH","GB","UY","US"],"ADEQUACY_CH":["DE","AD","AR","AT","BE","BG","CA","CY","HR","DK","ES","EE","FI","FR","GI","GR","GG","HU","IM","FO","IE","IS","IL","IT","JE","LV","LI","LT","LU","MT","MC","NO","NZ","NL","PL","PT","CZ","RO","GB","SK","SI","SE","UY","US"]},"decisionCookieName":"real_cookie_banner-v:3_blog:1_path:a7a501e-lang:en_US","revisionHash":"f7c10c037d1e89e6d93650df609d51f7","territorialLegalBasis":["gdpr-eprivacy"],"setCookiesViaManager":"none","isRespectDoNotTrack":false,"failedConsentDocumentationHandling":"essentials","isAcceptAllForBots":true,"isDataProcessingInUnsafeCountries":true,"isAgeNotice":true,"ageNoticeAgeLimit":16,"isListServicesNotice":true,"isBannerLessConsent":false,"isTcf":false,"isGcm":true,"isGcmListPurposes":true,"consentForwardingExternalHosts":["try.devowl.io","newsletter.devowl.io"],"hasLazyData":false},"anonymousContentUrl":"https:\/\/devowl.io\/wp-content\/a4a141bfce0f203c8f63cf2066846b0b\/dist\/","anonymousHash":"a4a141bfce0f203c8f63cf2066846b0b","hasDynamicPreDecisions":true,"isLicensed":true,"isDevLicense":false,"multilingualSkipHTMLForTag":"data-no-dynamic-translation","isCurrentlyInTranslationEditorPreview":false,"defaultLanguage":"en_US","currentLanguage":"en_US","activeLanguages":["en_US","de_DE"],"context":"lang:en_US","iso3166OneAlpha2":{"AF":"Afghanistan","AX":"Aland Islands","AL":"Albania","DZ":"Algeria","AS":"American Samoa","AD":"Andorra","AO":"Angola","AI":"Anguilla","AQ":"Antarctica","AG":"Antigua And Barbuda","AR":"Argentina","AM":"Armenia","AW":"Aruba","AU":"Australia","AT":"Austria","AZ":"Azerbaijan","BS":"Bahamas","BH":"Bahrain","BD":"Bangladesh","BB":"Barbados","BY":"Belarus","BE":"Belgium","BZ":"Belize","BJ":"Benin","BM":"Bermuda","BT":"Bhutan","BO":"Bolivia","BA":"Bosnia And Herzegovina","BW":"Botswana","BV":"Bouvet Island","BR":"Brazil","IO":"British Indian Ocean Territory","BN":"Brunei Darussalam","BG":"Bulgaria","BF":"Burkina Faso","BI":"Burundi","KH":"Cambodia","CM":"Cameroon","CA":"Canada","CV":"Cape Verde","KY":"Cayman Islands","CF":"Central African Republic","TD":"Chad","CL":"Chile","CN":"China","CX":"Christmas Island","CC":"Cocos (Keeling) Islands","CO":"Colombia","KM":"Comoros","CG":"Congo","CD":"Congo, Democratic Republic","CK":"Cook Islands","CR":"Costa Rica","CI":"Cote D'Ivoire","HR":"Croatia","CU":"Cuba","CY":"Cyprus","CZ":"Czech Republic","DK":"Denmark","DJ":"Djibouti","DM":"Dominica","DO":"Dominican Republic","EC":"Ecuador","EG":"Egypt","SV":"El Salvador","GQ":"Equatorial Guinea","ER":"Eritrea","EE":"Estonia","ET":"Ethiopia","FK":"Falkland Islands (Malvinas)","FO":"Faroe Islands","FM":"Federated States Of Micronesia","FJ":"Fiji","FI":"Finland","FR":"France","GF":"French Guiana","PF":"French Polynesia","TF":"French Southern and Antarctic Lands","GA":"Gabon","GM":"Gambia","GE":"Georgia","DE":"Germany","GH":"Ghana","GI":"Gibraltar","GR":"Greece","GL":"Greenland","GD":"Grenada","GP":"Guadeloupe","GU":"Guam","GT":"Guatemala","GG":"Guernsey","GN":"Guinea","GW":"Guinea-Bissau","GY":"Guyana","HT":"Haiti","HM":"Heard Island & Mcdonald Islands","VA":"Holy See (Vatican City State)","HN":"Honduras","HK":"Hong Kong","HU":"Hungary","IS":"Iceland","IN":"India","ID":"Indonesia","IR":"Iran, Islamic Republic Of","IQ":"Iraq","IE":"Ireland","IM":"Isle Of Man","IL":"Israel","IT":"Italy","JM":"Jamaica","JP":"Japan","JE":"Jersey","JO":"Jordan","KZ":"Kazakhstan","KE":"Kenya","KI":"Kiribati","KR":"Korea","KW":"Kuwait","KG":"Kyrgyzstan","LA":"Lao People's Democratic Republic","LV":"Latvia","LB":"Lebanon","LS":"Lesotho","LR":"Liberia","LY":"Libyan Arab Jamahiriya","LI":"Liechtenstein","LT":"Lithuania","LU":"Luxembourg","MO":"Macao","MK":"Macedonia","MG":"Madagascar","MW":"Malawi","MY":"Malaysia","MV":"Maldives","ML":"Mali","MT":"Malta","MH":"Marshall Islands","MQ":"Martinique","MR":"Mauritania","MU":"Mauritius","YT":"Mayotte","MX":"Mexico","MD":"Moldova","MC":"Monaco","MN":"Mongolia","ME":"Montenegro","MS":"Montserrat","MA":"Morocco","MZ":"Mozambique","MM":"Myanmar","NA":"Namibia","NR":"Nauru","NP":"Nepal","NL":"Netherlands","AN":"Netherlands Antilles","NC":"New Caledonia","NZ":"New Zealand","NI":"Nicaragua","NE":"Niger","NG":"Nigeria","NU":"Niue","NF":"Norfolk Island","KP":"North Korea","MP":"Northern Mariana Islands","NO":"Norway","OM":"Oman","PK":"Pakistan","PW":"Palau","PS":"Palestinian Territory, Occupied","PA":"Panama","PG":"Papua New Guinea","PY":"Paraguay","PE":"Peru","PH":"Philippines","PN":"Pitcairn","PL":"Poland","PT":"Portugal","PR":"Puerto Rico","QA":"Qatar","RE":"Reunion","RO":"Romania","RU":"Russian Federation","RW":"Rwanda","BL":"Saint Barthelemy","SH":"Saint Helena","KN":"Saint Kitts And Nevis","LC":"Saint Lucia","MF":"Saint Martin","PM":"Saint Pierre And Miquelon","VC":"Saint Vincent And Grenadines","WS":"Samoa","SM":"San Marino","ST":"Sao Tome And Principe","SA":"Saudi Arabia","SN":"Senegal","RS":"Serbia","SC":"Seychelles","SL":"Sierra Leone","SG":"Singapore","SK":"Slovakia","SI":"Slovenia","SB":"Solomon Islands","SO":"Somalia","ZA":"South Africa","GS":"South Georgia And Sandwich Isl.","ES":"Spain","LK":"Sri Lanka","SD":"Sudan","SR":"Suriname","SJ":"Svalbard And Jan Mayen","SZ":"Swaziland","SE":"Sweden","CH":"Switzerland","SY":"Syrian Arab Republic","TW":"Taiwan","TJ":"Tajikistan","TZ":"Tanzania","TH":"Thailand","TL":"Timor-Leste","TG":"Togo","TK":"Tokelau","TO":"Tonga","TT":"Trinidad And Tobago","TN":"Tunisia","TR":"Turkey","TM":"Turkmenistan","TC":"Turks And Caicos Islands","TV":"Tuvalu","UG":"Uganda","UA":"Ukraine","AE":"United Arab Emirates","GB":"United Kingdom","US":"United States","UM":"United States Outlying Islands","UY":"Uruguay","UZ":"Uzbekistan","VU":"Vanuatu","VE":"Venezuela","VN":"Vietnam","VG":"Virgin Islands, British","VI":"Virgin Islands, U.S.","WF":"Wallis And Futuna","EH":"Western Sahara","YE":"Yemen","ZM":"Zambia","ZW":"Zimbabwe"},"visualParentSelectors":{".et_pb_video_box":1,".et_pb_video_slider:has(>.et_pb_slider_carousel %s)":"self",".ast-oembed-container":1,".wpb_video_wrapper":1,".gdlr-core-pbf-background-wrap":1},"isPreventPreDecision":false,"isInvalidateImplicitUserConsent":false,"dependantVisibilityContainers":["[role=\"tabpanel\"]",".eael-tab-content-item",".wpcs_content_inner",".op3-contenttoggleitem-content",".op3-popoverlay-content",".pum-overlay","[data-elementor-type=\"popup\"]",".wp-block-ub-content-toggle-accordion-content-wrap",".w-popup-wrap",".oxy-lightbox_inner[data-inner-content=true]",".oxy-pro-accordion_body",".oxy-tab-content",".kt-accordion-panel",".vc_tta-panel-body",".mfp-hide","div[id^=\"tve_thrive_lightbox_\"]"],"disableDeduplicateExceptions":[".et_pb_video_slider"],"bannerDesignVersion":10,"bannerI18n":{"showMore":"Show more","hideMore":"Hide","showLessRelevantDetails":"Show more details (%s)","hideLessRelevantDetails":"Hide more details (%s)","other":"Other","legalBasis":"Use on legal basis of","territorialLegalBasisArticles":{"gdpr-eprivacy":{"dataProcessingInUnsafeCountries":"Art. 49 (1) (a) GDPR"},"dsg-switzerland":{"dataProcessingInUnsafeCountries":"Art. 17 (1) (a) DSG (Switzerland)"}},"legitimateInterest":"Legitimate interest","legalRequirement":"Compliance with a legal obligation","consent":"Consent","crawlerLinkAlert":"We have recognized that you are a crawler\/bot. Only natural persons must consent to cookies and processing of personal data. Therefore, the link has no function for you.","technicalCookieDefinitions":"Technical cookie definitions","technicalCookieName":"Technical cookie name","usesCookies":"Uses cookies","cookieRefresh":"Cookie refresh","usesNonCookieAccess":"Uses cookie-like information (LocalStorage, SessionStorage, IndexDB, etc.)","host":"Host","duration":"Duration","noExpiration":"No expiration","type":"Type","purpose":"Purpose","purposes":"Purposes","headerTitlePrivacyPolicyHistory":"History of your privacy settings","skipToConsentChoices":"Skip to consent choices","historyLabel":"Show consent from","historyItemLoadError":"Reading the consent has failed. Please try again later!","historySelectNone":"Not yet consented to","provider":"Provider","providerContactPhone":"Phone","providerContactEmail":"Email","providerContactLink":"Contact form","providerPrivacyPolicyUrl":"Privacy Policy","providerLegalNoticeUrl":"Legal notice","nonStandard":"Non-standardized data processing","nonStandardDesc":"Some services set cookies and\/or process personal data without complying with consent communication standards. These services are divided into several groups. So-called \"essential services\" are used based on legitimate interest and cannot be opted out (an objection may have to be made by email or letter in accordance with the privacy policy), while all other services are used only after consent has been given.","dataProcessingInThirdCountries":"Data processing in third countries","safetyMechanisms":{"label":"Safety mechanisms for data transmission","standardContractualClauses":"Standard contractual clauses","adequacyDecision":"Adequacy decision","eu":"EU","switzerland":"Switzerland","bindingCorporateRules":"Binding corporate rules","contractualGuaranteeSccSubprocessors":"Contractual guarantee for standard contractual clauses with sub-processors"},"durationUnit":{"n1":{"s":"second","m":"minute","h":"hour","d":"day","mo":"month","y":"year"},"nx":{"s":"seconds","m":"minutes","h":"hours","d":"days","mo":"months","y":"years"}},"close":"Close","closeWithoutSaving":"Close without saving","yes":"Yes","no":"No","unknown":"Unknown","none":"None","noLicense":"No license activated - not for production use!","devLicense":"Product license not for production use!","devLicenseLearnMore":"Learn more","devLicenseLink":"https:\/\/devowl.io\/knowledge-base\/license-installation-type\/","andSeparator":" and ","appropriateSafeguard":"Appropriate safeguard","dataProcessingInUnsafeCountries":"Data processing in unsafe third countries","gcm":{"teaching":"You also allow data processing in accordance with Google Consent Mode of participating partners on the basis of consent for the following purposes:","standard":"Data processing standardized according to Google Consent Mode","standardDesc":"Google Consent Mode is a standard for obtaining consents to the processing of personal data and the setting of cookies by participating partners. It is possible to give consent to data processing for defined purposes so that Google services and third-party tags integrated with Google Tag used on this website can only process data to the desired scope. If you do not consent, you will receive an offer that is less personalized for you. However, the most important services remain the same and there are no missing features that do not necessarily require your consent. Irrespective of this, in the section \"Non-standardized data processing\", it is possible to consent to the services or to exercise the right to object to legitimate interests. Details on the specific data processing can be found in the named section.","dataProcessingInService":"Additional purposes of data processing according to Google Consent Mode on the basis of consent (applies to all services)","purposes":{"ad_storage":"Storing and reading of data such as cookies (web) or device identifiers (apps) related to advertising.","ad_user_data":"Sending user data to Google for online advertising purposes.","ad_personalization":"Evaluation and display of personalized advertising.","analytics_storage":"Storing and reading of data such as cookies (web) or device identifiers (apps), related to analytics (e.g. visit duration).","functionality_storage":"Storing and reading of data that supports the functionality of the website or app (e.g. language settings).","personalization_storage":"Storing and reading of data related to personalization (e.g. video recommendations).","security_storage":"Storing and reading of data related to security (e.g. authentication functionality, fraud prevention, and other user protection)."}}},"pageRequestUuid4":"a21e0403e-e121-4801-9e37-c6566fd52c7e","pageByIdUrl":"https:\/\/devowl.io?page_id","pluginUrl":"https:\/\/devowl.io\/wordpress-real-cookie-banner\/"}}</script> <script data-skip-lazy-load="js-extra" data-skip-moving="true" data-no-defer nitro-exclude data-alt-type="application/ld+json" data-dont-merge data-wpmeteor-nooptimize="true" data-cfasync="false" id="acd5e026c9bc39936fb2e0a084c58f0bc2-js-extra"> (()=>{var x=function (a,b){return-1<["codeOptIn","codeOptOut","codeOnPageLoad","contactEmail"].indexOf(a)&&"string"==typeof b&&b.startsWith("base64-encoded:")?window.atob(b.substr(15)):b},t=(e,t)=>new Proxy(e,{get:(e,n)=>{let r=Reflect.get(e,n);return n===t&&"string"==typeof r&&(r=JSON.parse(r,x),Reflect.set(e,n,r)),r}}),n=JSON.parse(document.getElementById("acd5e026c9bc39936fb2e0a084c58f0bc1-js-extra").innerHTML,x);window.Proxy?n.others.frontend=t(n.others.frontend,"groups"):n.others.frontend.groups=JSON.parse(n.others.frontend.groups,x);window.Proxy?n.others=t(n.others,"customizeValuesBanner"):n.others.customizeValuesBanner=JSON.parse(n.others.customizeValuesBanner,x);;window.realCookieBanner=n})(); </script><script data-cfasync="false" id="real-cookie-banner-pro-banner-js-before"> ((a,b)=>{a[b]||(a[b]={unblockSync:()=>undefined},["consentSync"].forEach(c=>a[b][c]=()=>({cookie:null,consentGiven:!1,cookieOptIn:!0})),["consent","consentAll","unblock"].forEach(c=>a[b][c]=(...d)=>new Promise(e=>a.addEventListener(b,()=>{a[b][c](...d).then(e)},{once:!0}))))})(window,"consentApi"); </script> <script data-cfasync="false" defer src="https://devowl.io/wp-content/a4a141bfce0f203c8f63cf2066846b0b/dist/300185084.js?ver=8450c62d8d5e4bfec4076ec2391ee419" id="real-cookie-banner-pro-banner-js"></script> <link skip-rucss rel='preload' href='https://devowl.io/wp-content/plugins/real-cookie-banner-pro/public/lib/animate.css/animate.min.css?ver=4.1.1' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" media='all' /> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE"> <meta name="theme-color" content="#f5f5f5"> <link rel="preload" href="https://devowl.io/wp-content/uploads/font/nunito-sans-normal-400.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="https://devowl.io/wp-content/uploads/font/nunito-sans-normal-600.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="https://devowl.io/wp-content/uploads/font/lato-regular.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="https://devowl.io/wp-content/uploads/font/lato-bold.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="https://devowl.io/wp-content/uploads/font/nunito-sans-normal-800.woff2" as="font" type="font/woff2" crossorigin><style id='wp-emoji-styles-inline-css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link data-minify="1" rel='preload' href='https://devowl.io/wp-content/cache/min/1/wp-content/plugins/translatepress-multilingual/assets/css/trp-language-switcher.css?ver=1730475184' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" media='all' /> <link data-minify="1" rel='preload' href='https://devowl.io/wp-content/cache/min/1/wp-content/uploads/us-assets/devowl.io.css?ver=1730475184' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" media='all' /> <link rel='preload' href='https://devowl.io/wp-content/themes/Impreza-child/style.css?ver=8.27' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" media='all' /> <link data-minify="1" rel='preload' href='https://devowl.io/wp-content/cache/min/1/wp-content/uploads/smile_fonts/Defaults/Defaults.css?ver=1730475184' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" media='all' /> <link data-minify="1" rel='preload' href='https://devowl.io/wp-content/cache/min/1/wp-content/uploads/smile_fonts/devowl-icons/devowl-icons.css?ver=1730475184' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" media='all' /> <link rel='preload' href='https://devowl.io/wp-content/plugins/Ultimate_VC_Addons/assets/min-css/style.min.css?ver=3.19.9' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" media='all' /> <link rel='preload' href='https://devowl.io/wp-content/plugins/Ultimate_VC_Addons/assets/min-css/animate.min.css?ver=3.19.9' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" media='all' /> <link rel='preload' href='https://devowl.io/wp-content/plugins/Ultimate_VC_Addons/assets/min-css/tooltip.min.css?ver=3.19.9' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" media='all' /> <script src="https://devowl.io/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js" defer></script> <script type="rocketlazyloadscript" data-rocket-src="https://devowl.io/wp-content/plugins/Ultimate_VC_Addons/assets/min-js/ultimate-params.min.js?ver=3.19.9" id="ultimate-vc-params-js" defer></script> <script type="rocketlazyloadscript" data-rocket-src="https://devowl.io/wp-content/plugins/Ultimate_VC_Addons/assets/min-js/jquery-appear.min.js?ver=3.19.9" id="ultimate-appear-js" defer></script> <script type="rocketlazyloadscript" data-rocket-src="https://devowl.io/wp-content/plugins/Ultimate_VC_Addons/assets/min-js/custom.min.js?ver=3.19.9" id="ultimate-custom-js" defer></script> <script type="rocketlazyloadscript"></script><link rel="https://api.w.org/" href="https://devowl.io/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://devowl.io/wp-json/wp/v2/pages/94" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://devowl.io/xmlrpc.php?rsd" /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://devowl.io/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdevowl.io%2Fwp-react-starter%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://devowl.io/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdevowl.io%2Fwp-react-starter%2F&format=xml" /> <link rel="alternate" hreflang="en-US" href="https://devowl.io/wp-react-starter/"/> <link rel="alternate" hreflang="de-DE" href="https://devowl.io/de/wp-react-starter/"/> <link rel="alternate" hreflang="en" href="https://devowl.io/wp-react-starter/"/> <link rel="alternate" hreflang="de" href="https://devowl.io/de/wp-react-starter/"/> <script id="us_add_no_touch"> if ( ! /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( navigator.userAgent ) ) { document.getElementsByTagName( 'html' )[ 0 ].className += " no-touch"; } </script> <meta name="generator" content="Powered by WPBakery Page Builder - drag and drop page builder for WordPress."/> <style>.breadcrumb {list-style:none;margin:0;padding-inline-start:0;}.breadcrumb li {margin:0;display:inline-block;position:relative;}.breadcrumb li::after{content:' - ';margin-left:5px;margin-right:5px;}.breadcrumb li:last-child::after{display:none}</style><link rel="icon" href="https://devowl.io/wp-content/uploads/meta/favicon.webp" sizes="32x32" /> <link rel="icon" href="https://devowl.io/wp-content/uploads/meta/favicon.webp" sizes="192x192" /> <link rel="apple-touch-icon" href="https://devowl.io/wp-content/uploads/meta/favicon.webp" /> <meta name="msapplication-TileImage" content="https://devowl.io/wp-content/uploads/meta/favicon.png" /> <style type="text/css" data-type="vc_shortcodes-custom-css">%7B%22mobiles%22%3A%7B%22padding-bottom%22%3A%223rem%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_alt_content_bg%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22tablets%22%3A%7B%22padding-bottom%22%3A%220%22%7D%2C%22mobiles%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_alt_content_bg%22%2C%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22tablets%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22mobiles%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_alt_content_bg%22%2C%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22tablets%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22mobiles%22%3A%7B%22padding-top%22%3A%220%22%2C%22padding-bottom%22%3A%220%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_alt_content_bg%22%2C%22padding-top%22%3A%223rem%22%7D%2C%22tablets%22%3A%7B%22padding-top%22%3A%223rem%22%7D%2C%22mobiles%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%223rem%22%7D%7D%7B%22default%22%3A%7B%22padding-bottom%22%3A%220%22%7D%2C%22tablets%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22mobiles%22%3A%7B%22margin-top%22%3A%222rem%22%2C%22margin-bottom%22%3A%222rem%22%2C%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%7D%7B%22default%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22tablets%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22mobiles%22%3A%7B%22padding-top%22%3A%220%22%2C%22padding-bottom%22%3A%220%22%7D%7D%7B%22default%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22tablets%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22mobiles%22%3A%7B%22padding-top%22%3A%220%22%2C%22padding-bottom%22%3A%220%22%7D%7D%7B%22default%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%223rem%22%7D%2C%22tablets%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%223rem%22%7D%2C%22mobiles%22%3A%7B%22padding-top%22%3A%220%22%2C%22padding-bottom%22%3A%223rem%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_alt_content_bg%22%7D%2C%22mobiles%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%223rem%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_alt_content_bg%22%7D%7D%7B%22default%22%3A%7B%22padding-top%22%3A%226rem%22%2C%22padding-bottom%22%3A%226rem%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_content_bg_alt%22%2C%22margin-right%22%3A%225.5%25%22%2C%22padding-left%22%3A%2230px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2220px%22%2C%22padding-right%22%3A%2220px%22%2C%22border-radius%22%3A%220.1rem%22%2C%22box-shadow-v-offset%22%3A%222px%22%2C%22box-shadow-blur%22%3A%221px%22%2C%22box-shadow-color%22%3A%22rgba(0%2C0%2C0%2C0.07)%22%7D%2C%22tablets%22%3A%7B%22margin-left%22%3A%221.5rem%22%2C%22margin-bottom%22%3A%222.5rem%22%2C%22margin-right%22%3A%221.5rem%22%2C%22padding-left%22%3A%2220px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2240px%22%2C%22padding-right%22%3A%2220px%22%7D%2C%22mobiles%22%3A%7B%22margin-left%22%3A%221.5rem%22%2C%22margin-bottom%22%3A%221.5rem%22%2C%22margin-right%22%3A%221.5rem%22%2C%22padding-left%22%3A%2220px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2240px%22%2C%22padding-right%22%3A%2220px%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_content_bg_alt%22%2C%22margin-left%22%3A%225.5%25%22%2C%22padding-left%22%3A%2220px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2240px%22%2C%22padding-right%22%3A%2220px%22%2C%22border-radius%22%3A%220.1rem%22%2C%22box-shadow-v-offset%22%3A%222px%22%2C%22box-shadow-blur%22%3A%221px%22%2C%22box-shadow-color%22%3A%22rgba%280%2C0%2C0%2C0.07%29%22%7D%2C%22tablets%22%3A%7B%22margin-left%22%3A%221.5rem%22%2C%22margin-right%22%3A%221.5rem%22%2C%22padding-left%22%3A%2220px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2240px%22%2C%22padding-right%22%3A%2220px%22%7D%2C%22mobiles%22%3A%7B%22margin-left%22%3A%221.5rem%22%2C%22margin-bottom%22%3A%221.5rem%22%2C%22margin-right%22%3A%221.5rem%22%2C%22padding-left%22%3A%2220px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2240px%22%2C%22padding-right%22%3A%2220px%22%7D%7D%7B%22default%22%3A%7B%22text-align%22%3A%22center%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_content_bg_alt%22%2C%22padding-left%22%3A%2230px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2220px%22%2C%22padding-right%22%3A%2220px%22%2C%22border-radius%22%3A%220.1rem%22%2C%22box-shadow-v-offset%22%3A%222px%22%2C%22box-shadow-blur%22%3A%221px%22%2C%22box-shadow-color%22%3A%22rgba%280%2C0%2C0%2C0.07%29%22%7D%2C%22tablets%22%3A%7B%22padding-left%22%3A%2230px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2220px%22%2C%22padding-right%22%3A%2220px%22%7D%2C%22mobiles%22%3A%7B%22margin-left%22%3A%221.5rem%22%2C%22margin-right%22%3A%221.5rem%22%2C%22padding-left%22%3A%2230px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2220px%22%2C%22padding-right%22%3A%2220px%22%7D%7D%7B%22default%22%3A%7B%22text-align%22%3A%22center%22%7D%7D</style><noscript><style> .wpb_animate_when_almost_visible { opacity: 1; }</style></noscript><noscript><style id="rocket-lazyload-nojs-css">.rll-youtube-player, [data-lazy-src]{display:none !important;}</style></noscript><script type="rocketlazyloadscript"> /*! loadCSS rel=preload polyfill. [c]2017 Filament Group, Inc. MIT License */ (function(w){"use strict";if(!w.loadCSS){w.loadCSS=function(){}} var rp=loadCSS.relpreload={};rp.support=(function(){var ret;try{ret=w.document.createElement("link").relList.supports("preload")}catch(e){ret=!1} return function(){return ret}})();rp.bindMediaToggle=function(link){var finalMedia=link.media||"all";function enableStylesheet(){link.media=finalMedia} if(link.addEventListener){link.addEventListener("load",enableStylesheet)}else if(link.attachEvent){link.attachEvent("onload",enableStylesheet)} setTimeout(function(){link.rel="stylesheet";link.media="only x"});setTimeout(enableStylesheet,3000)};rp.poly=function(){if(rp.support()){return} var links=w.document.getElementsByTagName("link");for(var i=0;i<links.length;i++){var link=links[i];if(link.rel==="preload"&&link.getAttribute("as")==="style"&&!link.getAttribute("data-loadcss")){link.setAttribute("data-loadcss",!0);rp.bindMediaToggle(link)}}};if(!rp.support()){rp.poly();var run=w.setInterval(rp.poly,500);if(w.addEventListener){w.addEventListener("load",function(){rp.poly();w.clearInterval(run)})}else if(w.attachEvent){w.attachEvent("onload",function(){rp.poly();w.clearInterval(run)})}} if(typeof exports!=="undefined"){exports.loadCSS=loadCSS} else{w.loadCSS=loadCSS}}(typeof global!=="undefined"?global:this)) </script> <style id="us-icon-fonts">@font-face{font-display:block;font-style:normal;font-family:"fontawesome";font-weight:900;src:url("https://devowl.io/wp-content/themes/Impreza/fonts/fa-solid-900.woff2?ver=8.27") format("woff2")}.fas{font-family:"fontawesome";font-weight:900}</style> <style id="us-current-header-css"> .l-subheader.at_middle,.l-subheader.at_middle .w-dropdown-list,.l-subheader.at_middle .type_mobile .w-nav-list.level_1{background:var(--color-header-middle-bg);color:var(--color-header-middle-text)}.no-touch .l-subheader.at_middle a:hover,.no-touch .l-header.bg_transparent .l-subheader.at_middle .w-dropdown.opened a:hover{color:var(--color-header-middle-text-hover)}.l-header.bg_transparent:not(.sticky) .l-subheader.at_middle{background:var(--color-header-transparent-bg);color:var(--color-header-transparent-text)}.no-touch .l-header.bg_transparent:not(.sticky) .at_middle .w-cart-link:hover,.no-touch .l-header.bg_transparent:not(.sticky) .at_middle .w-text a:hover,.no-touch .l-header.bg_transparent:not(.sticky) .at_middle .w-html a:hover,.no-touch .l-header.bg_transparent:not(.sticky) .at_middle .w-nav>a:hover,.no-touch .l-header.bg_transparent:not(.sticky) .at_middle .w-menu a:hover,.no-touch .l-header.bg_transparent:not(.sticky) .at_middle .w-search>a:hover,.no-touch .l-header.bg_transparent:not(.sticky) .at_middle .w-dropdown a:hover,.no-touch .l-header.bg_transparent:not(.sticky) .at_middle .type_desktop .menu-item.level_1:hover>a{color:var(--color-header-transparent-text-hover)}.header_ver .l-header{background:var(--color-header-middle-bg);color:var(--color-header-middle-text)}@media (min-width:1151px){.hidden_for_default{display:none!important}.l-subheader.at_top{display:none}.l-subheader.at_bottom{display:none}.l-header{position:relative;z-index:111;width:100%}.l-subheader{margin:0 auto}.l-subheader.width_full{padding-left:1.5rem;padding-right:1.5rem}.l-subheader-h{display:flex;align-items:center;position:relative;margin:0 auto;max-width:var(--site-content-width,1200px);height:inherit}.w-header-show{display:none}.l-header.pos_fixed{position:fixed;left:0}.l-header.pos_fixed:not(.notransition) .l-subheader{transition-property:transform,background,box-shadow,line-height,height;transition-duration:.3s;transition-timing-function:cubic-bezier(.78,.13,.15,.86)}.headerinpos_bottom.sticky_first_section .l-header.pos_fixed{position:fixed!important}.header_hor .l-header.sticky_auto_hide{transition:transform .3s cubic-bezier(.78,.13,.15,.86) .1s}.header_hor .l-header.sticky_auto_hide.down{transform:translateY(-110%)}.l-header.bg_transparent:not(.sticky) .l-subheader{box-shadow:none!important;background:none}.l-header.bg_transparent~.l-main .l-section.width_full.height_auto:first-of-type>.l-section-h{padding-top:0!important;padding-bottom:0!important}.l-header.pos_static.bg_transparent{position:absolute;left:0}.l-subheader.width_full .l-subheader-h{max-width:none!important}.l-header.shadow_thin .l-subheader.at_middle,.l-header.shadow_thin .l-subheader.at_bottom{box-shadow:0 1px 0 rgba(0,0,0,0.08)}.l-header.shadow_wide .l-subheader.at_middle,.l-header.shadow_wide .l-subheader.at_bottom{box-shadow:0 3px 5px -1px rgba(0,0,0,0.1),0 2px 1px -1px rgba(0,0,0,0.05)}.header_hor .l-subheader-cell>.w-cart{margin-left:0;margin-right:0}:root{--header-height:100px;--header-sticky-height:80px}.l-header:before{content:'100'}.l-header.sticky:before{content:'80'}.l-subheader.at_top{line-height:40px;height:40px}.l-header.sticky .l-subheader.at_top{line-height:40px;height:40px}.l-subheader.at_middle{line-height:100px;height:100px}.l-header.sticky .l-subheader.at_middle{line-height:80px;height:80px}.l-subheader.at_bottom{line-height:50px;height:50px}.l-header.sticky .l-subheader.at_bottom{line-height:50px;height:50px}.headerinpos_above .l-header.pos_fixed{overflow:hidden;transition:transform 0.3s;transform:translate3d(0,-100%,0)}.headerinpos_above .l-header.pos_fixed.sticky{overflow:visible;transform:none}.headerinpos_above .l-header.pos_fixed~.l-section>.l-section-h,.headerinpos_above .l-header.pos_fixed~.l-main .l-section:first-of-type>.l-section-h{padding-top:0!important}.headerinpos_below .l-header.pos_fixed:not(.sticky){position:absolute;top:100%}.headerinpos_below .l-header.pos_fixed~.l-main>.l-section:first-of-type>.l-section-h{padding-top:0!important}.headerinpos_below .l-header.pos_fixed~.l-main .l-section.full_height:nth-of-type(2){min-height:100vh}.headerinpos_below .l-header.pos_fixed~.l-main>.l-section:nth-of-type(2)>.l-section-h{padding-top:var(--header-height)}.headerinpos_bottom .l-header.pos_fixed:not(.sticky){position:absolute;top:100vh}.headerinpos_bottom .l-header.pos_fixed~.l-main>.l-section:first-of-type>.l-section-h{padding-top:0!important}.headerinpos_bottom .l-header.pos_fixed~.l-main>.l-section:first-of-type>.l-section-h{padding-bottom:var(--header-height)}.headerinpos_bottom .l-header.pos_fixed.bg_transparent~.l-main .l-section.valign_center:not(.height_auto):first-of-type>.l-section-h{top:calc( var(--header-height) / 2 )}.headerinpos_bottom .l-header.pos_fixed:not(.sticky) .w-cart-dropdown,.headerinpos_bottom .l-header.pos_fixed:not(.sticky) .w-nav.type_desktop .w-nav-list.level_2{bottom:100%;transform-origin:0 100%}.headerinpos_bottom .l-header.pos_fixed:not(.sticky) .w-nav.type_mobile.m_layout_dropdown .w-nav-list.level_1{top:auto;bottom:100%;box-shadow:var(--box-shadow-up)}.headerinpos_bottom .l-header.pos_fixed:not(.sticky) .w-nav.type_desktop .w-nav-list.level_3,.headerinpos_bottom .l-header.pos_fixed:not(.sticky) .w-nav.type_desktop .w-nav-list.level_4{top:auto;bottom:0;transform-origin:0 100%}.headerinpos_bottom .l-header.pos_fixed:not(.sticky) .w-dropdown-list{top:auto;bottom:-0.4em;padding-top:0.4em;padding-bottom:2.4em}.admin-bar .l-header.pos_static.bg_solid~.l-main .l-section.full_height:first-of-type{min-height:calc( 100vh - var(--header-height) - 32px )}.admin-bar .l-header.pos_fixed:not(.sticky_auto_hide)~.l-main .l-section.full_height:not(:first-of-type){min-height:calc( 100vh - var(--header-sticky-height) - 32px )}.admin-bar.headerinpos_below .l-header.pos_fixed~.l-main .l-section.full_height:nth-of-type(2){min-height:calc(100vh - 32px)}}@media (min-width:1051px) and (max-width:1150px){.hidden_for_laptops{display:none!important}.l-subheader.at_top{display:none}.l-subheader.at_bottom{display:none}.l-header{position:relative;z-index:111;width:100%}.l-subheader{margin:0 auto}.l-subheader.width_full{padding-left:1.5rem;padding-right:1.5rem}.l-subheader-h{display:flex;align-items:center;position:relative;margin:0 auto;max-width:var(--site-content-width,1200px);height:inherit}.w-header-show{display:none}.l-header.pos_fixed{position:fixed;left:0}.l-header.pos_fixed:not(.notransition) .l-subheader{transition-property:transform,background,box-shadow,line-height,height;transition-duration:.3s;transition-timing-function:cubic-bezier(.78,.13,.15,.86)}.headerinpos_bottom.sticky_first_section .l-header.pos_fixed{position:fixed!important}.header_hor .l-header.sticky_auto_hide{transition:transform .3s cubic-bezier(.78,.13,.15,.86) .1s}.header_hor .l-header.sticky_auto_hide.down{transform:translateY(-110%)}.l-header.bg_transparent:not(.sticky) .l-subheader{box-shadow:none!important;background:none}.l-header.bg_transparent~.l-main .l-section.width_full.height_auto:first-of-type>.l-section-h{padding-top:0!important;padding-bottom:0!important}.l-header.pos_static.bg_transparent{position:absolute;left:0}.l-subheader.width_full .l-subheader-h{max-width:none!important}.l-header.shadow_thin .l-subheader.at_middle,.l-header.shadow_thin .l-subheader.at_bottom{box-shadow:0 1px 0 rgba(0,0,0,0.08)}.l-header.shadow_wide .l-subheader.at_middle,.l-header.shadow_wide .l-subheader.at_bottom{box-shadow:0 3px 5px -1px rgba(0,0,0,0.1),0 2px 1px -1px rgba(0,0,0,0.05)}.header_hor .l-subheader-cell>.w-cart{margin-left:0;margin-right:0}:root{--header-height:100px;--header-sticky-height:80px}.l-header:before{content:'100'}.l-header.sticky:before{content:'80'}.l-subheader.at_top{line-height:40px;height:40px}.l-header.sticky .l-subheader.at_top{line-height:40px;height:40px}.l-subheader.at_middle{line-height:100px;height:100px}.l-header.sticky .l-subheader.at_middle{line-height:80px;height:80px}.l-subheader.at_bottom{line-height:50px;height:50px}.l-header.sticky .l-subheader.at_bottom{line-height:50px;height:50px}.headerinpos_above .l-header.pos_fixed{overflow:hidden;transition:transform 0.3s;transform:translate3d(0,-100%,0)}.headerinpos_above .l-header.pos_fixed.sticky{overflow:visible;transform:none}.headerinpos_above .l-header.pos_fixed~.l-section>.l-section-h,.headerinpos_above .l-header.pos_fixed~.l-main .l-section:first-of-type>.l-section-h{padding-top:0!important}.headerinpos_below .l-header.pos_fixed:not(.sticky){position:absolute;top:100%}.headerinpos_below .l-header.pos_fixed~.l-main>.l-section:first-of-type>.l-section-h{padding-top:0!important}.headerinpos_below .l-header.pos_fixed~.l-main .l-section.full_height:nth-of-type(2){min-height:100vh}.headerinpos_below .l-header.pos_fixed~.l-main>.l-section:nth-of-type(2)>.l-section-h{padding-top:var(--header-height)}.headerinpos_bottom .l-header.pos_fixed:not(.sticky){position:absolute;top:100vh}.headerinpos_bottom .l-header.pos_fixed~.l-main>.l-section:first-of-type>.l-section-h{padding-top:0!important}.headerinpos_bottom .l-header.pos_fixed~.l-main>.l-section:first-of-type>.l-section-h{padding-bottom:var(--header-height)}.headerinpos_bottom .l-header.pos_fixed.bg_transparent~.l-main .l-section.valign_center:not(.height_auto):first-of-type>.l-section-h{top:calc( var(--header-height) / 2 )}.headerinpos_bottom .l-header.pos_fixed:not(.sticky) .w-cart-dropdown,.headerinpos_bottom .l-header.pos_fixed:not(.sticky) .w-nav.type_desktop .w-nav-list.level_2{bottom:100%;transform-origin:0 100%}.headerinpos_bottom .l-header.pos_fixed:not(.sticky) .w-nav.type_mobile.m_layout_dropdown .w-nav-list.level_1{top:auto;bottom:100%;box-shadow:var(--box-shadow-up)}.headerinpos_bottom .l-header.pos_fixed:not(.sticky) .w-nav.type_desktop .w-nav-list.level_3,.headerinpos_bottom .l-header.pos_fixed:not(.sticky) .w-nav.type_desktop .w-nav-list.level_4{top:auto;bottom:0;transform-origin:0 100%}.headerinpos_bottom .l-header.pos_fixed:not(.sticky) .w-dropdown-list{top:auto;bottom:-0.4em;padding-top:0.4em;padding-bottom:2.4em}.admin-bar .l-header.pos_static.bg_solid~.l-main .l-section.full_height:first-of-type{min-height:calc( 100vh - var(--header-height) - 32px )}.admin-bar .l-header.pos_fixed:not(.sticky_auto_hide)~.l-main .l-section.full_height:not(:first-of-type){min-height:calc( 100vh - var(--header-sticky-height) - 32px )}.admin-bar.headerinpos_below .l-header.pos_fixed~.l-main .l-section.full_height:nth-of-type(2){min-height:calc(100vh - 32px)}}@media (min-width:769px) and (max-width:1050px){.hidden_for_tablets{display:none!important}.l-subheader.at_top{display:none}.l-subheader.at_bottom{display:none}.l-header{position:relative;z-index:111;width:100%}.l-subheader{margin:0 auto}.l-subheader.width_full{padding-left:1.5rem;padding-right:1.5rem}.l-subheader-h{display:flex;align-items:center;position:relative;margin:0 auto;max-width:var(--site-content-width,1200px);height:inherit}.w-header-show{display:none}.l-header.pos_fixed{position:fixed;left:0}.l-header.pos_fixed:not(.notransition) .l-subheader{transition-property:transform,background,box-shadow,line-height,height;transition-duration:.3s;transition-timing-function:cubic-bezier(.78,.13,.15,.86)}.headerinpos_bottom.sticky_first_section .l-header.pos_fixed{position:fixed!important}.header_hor .l-header.sticky_auto_hide{transition:transform .3s cubic-bezier(.78,.13,.15,.86) .1s}.header_hor .l-header.sticky_auto_hide.down{transform:translateY(-110%)}.l-header.bg_transparent:not(.sticky) .l-subheader{box-shadow:none!important;background:none}.l-header.bg_transparent~.l-main .l-section.width_full.height_auto:first-of-type>.l-section-h{padding-top:0!important;padding-bottom:0!important}.l-header.pos_static.bg_transparent{position:absolute;left:0}.l-subheader.width_full .l-subheader-h{max-width:none!important}.l-header.shadow_thin .l-subheader.at_middle,.l-header.shadow_thin .l-subheader.at_bottom{box-shadow:0 1px 0 rgba(0,0,0,0.08)}.l-header.shadow_wide .l-subheader.at_middle,.l-header.shadow_wide .l-subheader.at_bottom{box-shadow:0 3px 5px -1px rgba(0,0,0,0.1),0 2px 1px -1px rgba(0,0,0,0.05)}.header_hor .l-subheader-cell>.w-cart{margin-left:0;margin-right:0}:root{--header-height:80px;--header-sticky-height:80px}.l-header:before{content:'80'}.l-header.sticky:before{content:'80'}.l-subheader.at_top{line-height:40px;height:40px}.l-header.sticky .l-subheader.at_top{line-height:40px;height:40px}.l-subheader.at_middle{line-height:80px;height:80px}.l-header.sticky .l-subheader.at_middle{line-height:80px;height:80px}.l-subheader.at_bottom{line-height:50px;height:50px}.l-header.sticky .l-subheader.at_bottom{line-height:50px;height:50px}}@media (max-width:768px){.hidden_for_mobiles{display:none!important}.l-subheader.at_top{display:none}.l-subheader.at_bottom{display:none}.l-header{position:relative;z-index:111;width:100%}.l-subheader{margin:0 auto}.l-subheader.width_full{padding-left:1.5rem;padding-right:1.5rem}.l-subheader-h{display:flex;align-items:center;position:relative;margin:0 auto;max-width:var(--site-content-width,1200px);height:inherit}.w-header-show{display:none}.l-header.pos_fixed{position:fixed;left:0}.l-header.pos_fixed:not(.notransition) .l-subheader{transition-property:transform,background,box-shadow,line-height,height;transition-duration:.3s;transition-timing-function:cubic-bezier(.78,.13,.15,.86)}.headerinpos_bottom.sticky_first_section .l-header.pos_fixed{position:fixed!important}.header_hor .l-header.sticky_auto_hide{transition:transform .3s cubic-bezier(.78,.13,.15,.86) .1s}.header_hor .l-header.sticky_auto_hide.down{transform:translateY(-110%)}.l-header.bg_transparent:not(.sticky) .l-subheader{box-shadow:none!important;background:none}.l-header.bg_transparent~.l-main .l-section.width_full.height_auto:first-of-type>.l-section-h{padding-top:0!important;padding-bottom:0!important}.l-header.pos_static.bg_transparent{position:absolute;left:0}.l-subheader.width_full .l-subheader-h{max-width:none!important}.l-header.shadow_thin .l-subheader.at_middle,.l-header.shadow_thin .l-subheader.at_bottom{box-shadow:0 1px 0 rgba(0,0,0,0.08)}.l-header.shadow_wide .l-subheader.at_middle,.l-header.shadow_wide .l-subheader.at_bottom{box-shadow:0 3px 5px -1px rgba(0,0,0,0.1),0 2px 1px -1px rgba(0,0,0,0.05)}.header_hor .l-subheader-cell>.w-cart{margin-left:0;margin-right:0}:root{--header-height:70px;--header-sticky-height:70px}.l-header:before{content:'70'}.l-header.sticky:before{content:'70'}.l-subheader.at_top{line-height:40px;height:40px}.l-header.sticky .l-subheader.at_top{line-height:40px;height:40px}.l-subheader.at_middle{line-height:70px;height:70px}.l-header.sticky .l-subheader.at_middle{line-height:70px;height:70px}.l-subheader.at_bottom{line-height:50px;height:50px}.l-header.sticky .l-subheader.at_bottom{line-height:50px;height:50px}}@media (min-width:1151px){.ush_image_1{height:55px!important}.l-header.sticky .ush_image_1{height:55px!important}}@media (min-width:1051px) and (max-width:1150px){.ush_image_1{height:55px!important}.l-header.sticky .ush_image_1{height:55px!important}}@media (min-width:769px) and (max-width:1050px){.ush_image_1{height:55px!important}.l-header.sticky .ush_image_1{height:55px!important}}@media (max-width:768px){.ush_image_1{height:50px!important}.l-header.sticky .ush_image_1{height:50px!important}}.header_hor .ush_menu_1.type_desktop .menu-item.level_1>a:not(.w-btn){padding-left:17px;padding-right:17px}.header_hor .ush_menu_1.type_desktop .menu-item.level_1>a.w-btn{margin-left:17px;margin-right:17px}.header_hor .ush_menu_1.type_desktop.align-edges>.w-nav-list.level_1{margin-left:-17px;margin-right:-17px}.header_ver .ush_menu_1.type_desktop .menu-item.level_1>a:not(.w-btn){padding-top:17px;padding-bottom:17px}.header_ver .ush_menu_1.type_desktop .menu-item.level_1>a.w-btn{margin-top:17px;margin-bottom:17px}.ush_menu_1.type_desktop .menu-item-has-children.level_1>a>.w-nav-arrow{display:inline-block}.ush_menu_1.type_desktop .menu-item:not(.level_1){font-size:1rem}.ush_menu_1.type_mobile .w-nav-anchor.level_1,.ush_menu_1.type_mobile .w-nav-anchor.level_1 + .w-nav-arrow{font-size:1.1rem}.ush_menu_1.type_mobile .w-nav-anchor:not(.level_1),.ush_menu_1.type_mobile .w-nav-anchor:not(.level_1) + .w-nav-arrow{font-size:0.9rem}@media (min-width:1151px){.ush_menu_1 .w-nav-icon{font-size:24px}}@media (min-width:1051px) and (max-width:1150px){.ush_menu_1 .w-nav-icon{font-size:32px}}@media (min-width:769px) and (max-width:1050px){.ush_menu_1 .w-nav-icon{font-size:24px}}@media (max-width:768px){.ush_menu_1 .w-nav-icon{font-size:24px}}.ush_menu_1 .w-nav-icon>div{border-width:2px}@media screen and (max-width:1149px){.w-nav.ush_menu_1>.w-nav-list.level_1{display:none}.ush_menu_1 .w-nav-control{display:block}}.ush_menu_1 .w-nav-item.level_1>a:not(.w-btn):focus,.no-touch .ush_menu_1 .w-nav-item.level_1.opened>a:not(.w-btn),.no-touch .ush_menu_1 .w-nav-item.level_1:hover>a:not(.w-btn){background:transparent;color:var(--color-header-middle-text-hover)}.ush_menu_1 .w-nav-item.level_1.current-menu-item>a:not(.w-btn),.ush_menu_1 .w-nav-item.level_1.current-menu-ancestor>a:not(.w-btn),.ush_menu_1 .w-nav-item.level_1.current-page-ancestor>a:not(.w-btn){background:transparent;color:var(--color-header-middle-text-hover)}.l-header.bg_transparent:not(.sticky) .ush_menu_1.type_desktop .w-nav-item.level_1.current-menu-item>a:not(.w-btn),.l-header.bg_transparent:not(.sticky) .ush_menu_1.type_desktop .w-nav-item.level_1.current-menu-ancestor>a:not(.w-btn),.l-header.bg_transparent:not(.sticky) .ush_menu_1.type_desktop .w-nav-item.level_1.current-page-ancestor>a:not(.w-btn){background:transparent;color:var(--color-header-transparent-text-hover)}.ush_menu_1 .w-nav-list:not(.level_1){background:var(--color-header-middle-bg);color:var(--color-header-middle-text)}.no-touch .ush_menu_1 .w-nav-item:not(.level_1)>a:focus,.no-touch .ush_menu_1 .w-nav-item:not(.level_1):hover>a{background:transparent;color:var(--color-header-middle-text-hover)}.ush_menu_1 .w-nav-item:not(.level_1).current-menu-item>a,.ush_menu_1 .w-nav-item:not(.level_1).current-menu-ancestor>a,.ush_menu_1 .w-nav-item:not(.level_1).current-page-ancestor>a{background:transparent;color:var(--color-header-middle-text-hover)}.ush_image_1{min-width:172px!important}.ush_menu_1{font-family:var(--h1-font-family)!important;font-weight:600!important;font-size:1rem!important}</style> <link rel="preload" href="https://devowl.io/wp-content/uploads/background/bg-overlay-01.webp" as="image" /> <link rel="preload" href="https://devowl.io/wp-content/uploads/background/bg-overlay-02.webp" as="image" /><style id="us-design-options-css">.us_custom_c5deda31{width:80px!important;margin-right:1.4rem!important}.us_custom_0259209c{color:var(--color-content-heading)!important}.us_custom_643cee40{color:var(--color-content-heading)!important;font-weight:700!important;font-size:2.8rem!important;line-height:3.3rem!important;margin-top:2rem!important;margin-bottom:2rem!important}.us_custom_dc431497{border-radius:5px!important;background:#232831!important}.us_custom_1c3e045a{padding-bottom:0!important;background:var(--color-alt-content-bg)!important}.us_custom_281d07bc{text-align:center!important;max-width:700px!important;margin-left:auto!important;margin-right:auto!important}.us_custom_a4788faa{padding-top:3rem!important;padding-bottom:0!important;background:var(--color-alt-content-bg)!important}.us_custom_f92bef97{margin-right:10%!important;border-radius:0.1rem!important;background:var(--color-content-bg-alt)!important;padding:40px 20px 20px 30px!important;box-shadow:0 2px 1px 0 rgba(0,0,0,0.07)!important}.us_custom_2a69c442{margin-left:auto!important;margin-bottom:30px!important;margin-right:auto!important}.us_custom_eb849559{text-align:center!important}.us_custom_06eeb9ea{margin-left:5%!important;margin-right:5%!important;border-radius:0.1rem!important;background:var(--color-content-bg-alt)!important;padding:40px 20px 40px 20px!important;box-shadow:0 2px 1px 0 rgba(0,0,0,0.07)!important}.us_custom_364ed92a{margin-left:10%!important;border-radius:0.1rem!important;background:var(--color-content-bg-alt)!important;padding:40px 20px 40px 20px!important;box-shadow:0 2px 1px 0 rgba(0,0,0,0.07)!important}.us_custom_b8a568cd{padding-top:3rem!important;padding-bottom:0!important;background:var(--color-alt-content-bg)!important}.us_custom_e1a29c0b{margin-right:5.5%!important;border-radius:0.1rem!important;background:var(--color-content-bg-alt)!important;padding:40px 20px 20px 30px!important;box-shadow:0 2px 1px 0 rgba(0,0,0,0.07)!important}.us_custom_096b1356{margin-left:5.5%!important;border-radius:0.1rem!important;background:var(--color-content-bg-alt)!important;padding:40px 20px 40px 20px!important;box-shadow:0 2px 1px 0 rgba(0,0,0,0.07)!important}.us_custom_cf8c654c{padding-top:3rem!important;background:var(--color-alt-content-bg)!important}.us_custom_fe0e39ad{padding-bottom:0!important}.us_custom_602c3f15{text-align:center!important;max-width:700px!important;margin-left:auto!important;margin-right:auto!important}.us_custom_04be88e9{padding-top:3rem!important;padding-bottom:0!important}.us_custom_ee90fb20{padding-top:3rem!important;padding-bottom:3rem!important}.us_custom_d5c87c52{border-radius:0.1rem!important;background:var(--color-content-bg-alt)!important;padding:40px 20px 20px 30px!important;box-shadow:0 2px 1px 0 rgba(0,0,0,0.07)!important}.us_custom_9305f4ae{background:var(--color-alt-content-bg)!important}.us_custom_a9be633b{background:var(--color-alt-content-bg)!important}.us_custom_0d54facf{padding-top:6rem!important;padding-bottom:6rem!important}.us_custom_967ee993{color:var(--color-subfooter-text)!important;font-family:var(--h1-font-family)!important;font-weight:600!important;font-size:1.2rem!important;margin-bottom:1rem!important}.us_custom_fa2efa7b{color:var(--color-footer-text)!important;font-size:0.85rem!important}.us_custom_722dab2c{width:50px!important}.us_custom_353f2abd{text-align:right!important}.us_custom_df28ae32{font-size:0.85rem!important;margin-bottom:0!important}.us_custom_07330b97{border-top-width:1px!important;border-color:var(--color-footer-border)!important;border-top-style:solid!important}.us_custom_3648943d{color:var(--color-footer-text)!important;text-align:center!important;font-size:0.85rem!important}@media (min-width:1051px) and (max-width:1280px){.us_custom_353f2abd{text-align:right!important}.us_custom_3648943d{text-align:center!important}}@media (min-width:769px) and (max-width:1050px){.us_custom_643cee40{color:var(--color-content-heading)!important;font-weight:700!important;font-size:2.8rem!important;line-height:3.3rem!important;margin-top:2rem!important;margin-bottom:2rem!important}.us_custom_1c3e045a{padding-bottom:0!important}.us_custom_281d07bc{text-align:center!important}.us_custom_a4788faa{padding-top:3rem!important;padding-bottom:0!important}.us_custom_f92bef97{margin-left:1.5rem!important;margin-bottom:2.5rem!important;padding:40px 20px 40px 20px!important}.us_custom_06eeb9ea{padding:40px 20px 40px 20px!important}.us_custom_364ed92a{margin-left:10%!important;padding:40px 20px 40px 20px!important}.us_custom_b8a568cd{padding-top:3rem!important;padding-bottom:0!important}.us_custom_e1a29c0b{margin-left:1.5rem!important;margin-bottom:2.5rem!important;margin-right:1.5rem!important;padding:40px 20px 40px 20px!important}.us_custom_096b1356{margin-left:1.5rem!important;margin-right:1.5rem!important;padding:40px 20px 40px 20px!important}.us_custom_cf8c654c{padding-top:3rem!important}.us_custom_fe0e39ad{padding-top:3rem!important;padding-bottom:0!important}.us_custom_04be88e9{padding-top:3rem!important;padding-bottom:0!important}.us_custom_ee90fb20{padding-top:3rem!important;padding-bottom:3rem!important}.us_custom_d5c87c52{padding:40px 20px 20px 30px!important}.us_custom_353f2abd{text-align:inherit!important}.us_custom_3648943d{color:var(--color-footer-text)!important;text-align:center!important;font-size:0.85rem!important}}@media (max-width:768px){.us_custom_f20375b7{padding-bottom:3rem!important}.us_custom_643cee40{color:var(--color-content-heading)!important;font-weight:700!important;font-size:2.3rem!important;line-height:3.3rem!important;margin-top:1rem!important;margin-bottom:1rem!important}.us_custom_1c3e045a{padding-top:3rem!important;padding-bottom:0!important}.us_custom_281d07bc{text-align:left!important}.us_custom_a4788faa{padding-top:3rem!important;padding-bottom:0!important}.us_custom_f92bef97{margin-left:1.5rem!important;margin-bottom:1.5rem!important;margin-right:1.5rem!important;padding:40px 20px 40px 20px!important}.us_custom_06eeb9ea{margin-bottom:1.5rem!important;padding:40px 20px 40px 20px!important}.us_custom_364ed92a{margin-left:1.5rem!important;margin-bottom:1.5rem!important;margin-right:1.5rem!important;padding:40px 20px 40px 20px!important}.us_custom_b8a568cd{padding-top:0!important;padding-bottom:0!important}.us_custom_e1a29c0b{margin-left:1.5rem!important;margin-bottom:1.5rem!important;margin-right:1.5rem!important;padding:40px 20px 40px 20px!important}.us_custom_096b1356{margin-left:1.5rem!important;margin-bottom:1.5rem!important;margin-right:1.5rem!important;padding:40px 20px 40px 20px!important}.us_custom_cf8c654c{padding-top:3rem!important;padding-bottom:3rem!important}.us_custom_fe0e39ad{margin-top:2rem!important;margin-bottom:2rem!important;padding-top:3rem!important;padding-bottom:0!important}.us_custom_04be88e9{padding-top:0!important;padding-bottom:0!important}.us_custom_ee90fb20{padding-top:0!important;padding-bottom:3rem!important}.us_custom_d5c87c52{margin-left:1.5rem!important;margin-right:1.5rem!important;padding:40px 20px 20px 30px!important}.us_custom_9305f4ae{padding-top:3rem!important;padding-bottom:3rem!important}.us_custom_353f2abd{text-align:inherit!important}.us_custom_3648943d{color:var(--color-footer-text)!important;text-align:left!important;font-size:0.85rem!important}}</style><style data-type="us_custom-css">.mejs-controls{display:none!important;visibility:hidden!important}.wp-video{margin:0 auto}.product-logo-boxed img{max-height:64px!important}.logo-php img{max-height:54px!important;margin:5px 0!important}</style><style data-type="vc_shortcodes-custom-css">%7B%22mobiles%22%3A%7B%22padding-bottom%22%3A%223rem%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_alt_content_bg%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22tablets%22%3A%7B%22padding-bottom%22%3A%220%22%7D%2C%22mobiles%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_alt_content_bg%22%2C%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22tablets%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22mobiles%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_alt_content_bg%22%2C%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22tablets%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22mobiles%22%3A%7B%22padding-top%22%3A%220%22%2C%22padding-bottom%22%3A%220%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_alt_content_bg%22%2C%22padding-top%22%3A%223rem%22%7D%2C%22tablets%22%3A%7B%22padding-top%22%3A%223rem%22%7D%2C%22mobiles%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%223rem%22%7D%7D%7B%22default%22%3A%7B%22padding-bottom%22%3A%220%22%7D%2C%22tablets%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22mobiles%22%3A%7B%22margin-top%22%3A%222rem%22%2C%22margin-bottom%22%3A%222rem%22%2C%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%7D%7B%22default%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22tablets%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22mobiles%22%3A%7B%22padding-top%22%3A%220%22%2C%22padding-bottom%22%3A%220%22%7D%7D%7B%22default%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22tablets%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%220%22%7D%2C%22mobiles%22%3A%7B%22padding-top%22%3A%220%22%2C%22padding-bottom%22%3A%220%22%7D%7D%7B%22default%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%223rem%22%7D%2C%22tablets%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%223rem%22%7D%2C%22mobiles%22%3A%7B%22padding-top%22%3A%220%22%2C%22padding-bottom%22%3A%223rem%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_alt_content_bg%22%7D%2C%22mobiles%22%3A%7B%22padding-top%22%3A%223rem%22%2C%22padding-bottom%22%3A%223rem%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_alt_content_bg%22%7D%7D%7B%22default%22%3A%7B%22padding-top%22%3A%226rem%22%2C%22padding-bottom%22%3A%226rem%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_content_bg_alt%22%2C%22margin-right%22%3A%225.5%25%22%2C%22padding-left%22%3A%2230px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2220px%22%2C%22padding-right%22%3A%2220px%22%2C%22border-radius%22%3A%220.1rem%22%2C%22box-shadow-v-offset%22%3A%222px%22%2C%22box-shadow-blur%22%3A%221px%22%2C%22box-shadow-color%22%3A%22rgba(0%2C0%2C0%2C0.07)%22%7D%2C%22tablets%22%3A%7B%22margin-left%22%3A%221.5rem%22%2C%22margin-bottom%22%3A%222.5rem%22%2C%22margin-right%22%3A%221.5rem%22%2C%22padding-left%22%3A%2220px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2240px%22%2C%22padding-right%22%3A%2220px%22%7D%2C%22mobiles%22%3A%7B%22margin-left%22%3A%221.5rem%22%2C%22margin-bottom%22%3A%221.5rem%22%2C%22margin-right%22%3A%221.5rem%22%2C%22padding-left%22%3A%2220px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2240px%22%2C%22padding-right%22%3A%2220px%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_content_bg_alt%22%2C%22margin-left%22%3A%225.5%25%22%2C%22padding-left%22%3A%2220px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2240px%22%2C%22padding-right%22%3A%2220px%22%2C%22border-radius%22%3A%220.1rem%22%2C%22box-shadow-v-offset%22%3A%222px%22%2C%22box-shadow-blur%22%3A%221px%22%2C%22box-shadow-color%22%3A%22rgba%280%2C0%2C0%2C0.07%29%22%7D%2C%22tablets%22%3A%7B%22margin-left%22%3A%221.5rem%22%2C%22margin-right%22%3A%221.5rem%22%2C%22padding-left%22%3A%2220px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2240px%22%2C%22padding-right%22%3A%2220px%22%7D%2C%22mobiles%22%3A%7B%22margin-left%22%3A%221.5rem%22%2C%22margin-bottom%22%3A%221.5rem%22%2C%22margin-right%22%3A%221.5rem%22%2C%22padding-left%22%3A%2220px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2240px%22%2C%22padding-right%22%3A%2220px%22%7D%7D%7B%22default%22%3A%7B%22text-align%22%3A%22center%22%7D%7D%7B%22default%22%3A%7B%22background-color%22%3A%22_content_bg_alt%22%2C%22padding-left%22%3A%2230px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2220px%22%2C%22padding-right%22%3A%2220px%22%2C%22border-radius%22%3A%220.1rem%22%2C%22box-shadow-v-offset%22%3A%222px%22%2C%22box-shadow-blur%22%3A%221px%22%2C%22box-shadow-color%22%3A%22rgba%280%2C0%2C0%2C0.07%29%22%7D%2C%22tablets%22%3A%7B%22padding-left%22%3A%2230px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2220px%22%2C%22padding-right%22%3A%2220px%22%7D%2C%22mobiles%22%3A%7B%22margin-left%22%3A%221.5rem%22%2C%22margin-right%22%3A%221.5rem%22%2C%22padding-left%22%3A%2230px%22%2C%22padding-top%22%3A%2240px%22%2C%22padding-bottom%22%3A%2220px%22%2C%22padding-right%22%3A%2220px%22%7D%7D%7B%22default%22%3A%7B%22text-align%22%3A%22center%22%7D%7D</style></head> <body class="page-template-default page page-id-94 page-parent l-body Impreza_8.27 us-core_8.27 header_hor links_underline rounded_none headerinpos_top state_default translatepress-en_US wpb-js-composer js-comp-ver-7.7.2 vc_responsive"> <div id="a21e0403e-e121-4801-9e37-c6566fd52c7e" consent-skip-blocker="1" class="" data-bg="background-color: rgba(98, 110, 117, 0.640);" style="background-color: rgba(98, 110, 117, 0.640); -moz-backdrop-filter:blur(2px);-o-backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px); position:fixed;top:0;left:0;right:0;bottom:0;z-index:999999;pointer-events:all;display:none;filter:none;max-width:100vw;max-height:100vh;transform:translateZ(0);" data-no-dynamic-translation></div> <div class="l-canvas type_wide"> <header id="page-header" class="l-header pos_fixed shadow_thin bg_solid id_163"><div class="l-subheader at_middle"><div class="l-subheader-h"><div class="l-subheader-cell at_left"><div class="w-image ush_image_1"><a href="/" aria-label="devowl.io logo" class="w-image-h" ><img width="326" height="326" src="https://devowl.io/wp-content/uploads/logo/devowlio-logo.svg" class="attachment-medium size-medium" alt="" loading="lazy" decoding="async" data-no-translation-src /></a></div></div><div class="l-subheader-cell at_center"></div><div class="l-subheader-cell at_right"><nav class="w-nav type_desktop ush_menu_1 dropdown_opacity m_align_left m_layout_dropdown"><a class="w-nav-control" aria-label="Menü" href="#" ><div class="w-nav-icon"><div></div></div></a><ul class="w-nav-list level_1 hide_for_mobiles hover_simple"><li id="menu-item-239" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-has-children w-nav-item level_1 menu-item-239"><a class="w-nav-anchor level_1" href="https://devowl.io/" ><span class="w-nav-title">WordPress Plugins</span><span class="w-nav-arrow"></span></a><ul class="w-nav-list level_2"><li id="menu-item-132" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children w-nav-item level_2 menu-item-132 product"><a class="w-nav-anchor level_2" href="https://devowl.io/wordpress-real-cookie-banner/" ><div class="product-wrapper"><div class="product-logo"><img width="304" height="283" src="https://devowl.io/wp-content/uploads/logo/main-menu/real-cookie-banner.svg" alt="" data-no-translation-src /></div><div class="product-text"><div class="product-title">Real Cookie Banner</div><div class="product-description">Obtain GDPR (DSGVO) and ePrivacy Directive (EU cookie law) compliant opt-in cookie consent.</div></div></div></a><ul class="w-nav-list level_3"><li id="menu-item-134" class="menu-item menu-item-type-post_type menu-item-object-page w-nav-item level_3 menu-item-134"><a class="w-nav-anchor level_3" href="https://devowl.io/wordpress-real-cookie-banner/compare/" ><span class="w-nav-title">👉 Compare with alternatives</span><span class="w-nav-arrow"></span></a></li><li id="menu-item-229073" class="menu-item menu-item-type-post_type menu-item-object-page w-nav-item level_3 menu-item-229073"><a class="w-nav-anchor level_3" href="https://devowl.io/wordpress-real-cookie-banner/cookie-experts/" ><span class="w-nav-title">🍪 Cookie Experts</span><span class="w-nav-arrow"></span></a></li></ul></li><li id="menu-item-137" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children w-nav-item level_2 menu-item-137 product"><a class="w-nav-anchor level_2" href="https://devowl.io/wordpress-real-media-library/" ><div class="product-wrapper"><div class="product-logo"><img width="313" height="281" src="https://devowl.io/wp-content/uploads/logo/main-menu/real-media-library.svg" alt="" data-no-translation-src /></div><div class="product-text"><div class="product-title">Real Media Library</div><div class="product-description">Organize thousands of uploaded files into folders, collections and galleries.</div></div></div></a><ul class="w-nav-list level_3"><li id="menu-item-1918" class="menu-item menu-item-type-post_type menu-item-object-knowledge-base w-nav-item level_3 menu-item-1918"><a class="w-nav-anchor level_3" href="https://devowl.io/knowledge-base/real-media-library-add-ons/" ><span class="w-nav-title">✨ Add-ons</span><span class="w-nav-arrow"></span></a></li></ul></li><li id="menu-item-238839" class="menu-item menu-item-type-custom menu-item-object-custom w-nav-item level_2 menu-item-238839 product"><a class="w-nav-anchor level_2" href="/#wordpress-plugins" ><div class="product-wrapper"><div class="product-logo"><img width="269" height="270" src="https://devowl.io/wp-content/uploads/logo/main-menu/other.svg" alt="" data-no-translation-src /></div><div class="product-text"><div class="product-title">More WordPress plugins</div><div class="product-description">Discover Real Physical Media, Real Category Management, Real Thumbnail Generator and Real Custom Post Order for more specific use cases.</div></div></div></a></li></ul></li><li id="menu-item-122" class="menu-item menu-item-type-post_type menu-item-object-page w-nav-item level_1 menu-item-122"><a class="w-nav-anchor level_1" href="https://devowl.io/about/" ><span class="w-nav-title">About</span><span class="w-nav-arrow"></span></a></li><li id="menu-item-123" class="menu-item menu-item-type-post_type menu-item-object-page w-nav-item level_1 menu-item-123"><a class="w-nav-anchor level_1" href="https://devowl.io/account/" ><span class="w-nav-title">Customer Center</span><span class="w-nav-arrow"></span></a></li><li id="menu-item-140" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children w-nav-item level_1 menu-item-140"><a class="w-nav-anchor level_1" href="https://devowl.io/support/" ><span class="w-nav-title">Support</span><span class="w-nav-arrow"></span></a><ul class="w-nav-list level_2"><li id="menu-item-247" class="menu-item menu-item-type-post_type menu-item-object-page w-nav-item level_2 menu-item-247"><a class="w-nav-anchor level_2" href="https://devowl.io/knowledge-base/" ><span class="w-nav-title">Knowledge Base (FAQ)</span><span class="w-nav-arrow"></span></a></li><li id="menu-item-248" class="menu-item menu-item-type-post_type menu-item-object-page w-nav-item level_2 menu-item-248"><a class="w-nav-anchor level_2" href="https://devowl.io/support/" ><span class="w-nav-title">Open support ticket</span><span class="w-nav-arrow"></span></a></li></ul></li><li id="menu-item-120" class="menu-item menu-item-type-post_type menu-item-object-page w-nav-item level_1 menu-item-120"><a class="w-nav-anchor level_1" href="https://devowl.io/blog/" ><span class="w-nav-title">Blog</span><span class="w-nav-arrow"></span></a></li><li id="menu-item-189" class="menu-item menu-item-type-custom menu-item-object-custom w-nav-item level_1 menu-item-189"><a class="w-nav-anchor level_1 w-btn us-btn-style_1" href="https://github.com/devowlio/wp-react-starter" target="_blank" ><span class="w-nav-title">Start developing</span><span class="w-nav-arrow"></span></a></li><li id="menu-item-2207" class="trp-language-switcher-container menu-item menu-item-type-post_type menu-item-object-language_switcher menu-item-has-children current-language-menu-item w-nav-item level_1 menu-item-2207"><a class="w-nav-anchor level_1" href="https://devowl.io/wp-react-starter/" ><span class="w-nav-title"><span data-no-translation><img class="trp-flag-image" src="https://devowl.io/wp-content/uploads/common/english.svg" width="18" height="12" alt="en_US" title="English" data-no-translation-src ><span class="trp-ls-language-name">English</span></span></span><span class="w-nav-arrow"></span></a><ul class="w-nav-list level_2"><li id="menu-item-2208" class="trp-language-switcher-container menu-item menu-item-type-post_type menu-item-object-language_switcher w-nav-item level_2 menu-item-2208"><a class="w-nav-anchor level_2" href="https://devowl.io/de/wp-react-starter/" ><span class="w-nav-title"><span data-no-translation><img class="trp-flag-image" src="https://devowl.io/wp-content/uploads/common/german.svg" width="18" height="12" alt="de_DE" title="German" data-no-translation-src ><span class="trp-ls-language-name">German</span></span></span><span class="w-nav-arrow"></span></a></li></ul></li><li class="w-nav-close"></li></ul><div class="w-nav-options hidden" onclick='return {"mobileWidth":1150,"mobileBehavior":1}'></div></nav></div></div></div><div class="l-subheader for_hidden hidden"></div></header><main id="page-content" class="l-main"> <section class="l-section wpb_row us_custom_f20375b7 height_medium" id="intro"><div class="l-section-h i-cf"><div class="g-cols vc_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="g-cols wpb_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="w-image us_custom_c5deda31 align_left"><div class="w-image-h"><img decoding="async" width="890" height="890" src="https://devowl.io/wp-content/uploads/logo/wp-react-starter.svg" class="attachment-large size-large" alt="WP React Starter" loading="lazy" data-no-translation-src /></div></div><div class="wpb_text_column us_custom_0259209c has_text_color"><div class="wpb_wrapper"><h1>WP React Starter</h1> </div></div></div></div></div></div><div class="wpb_text_column us_custom_643cee40 has_text_color"><div class="wpb_wrapper"><p>Boilerplate for professional WordPress plugin development.</p> </div></div><div class="wpb_text_column"><div class="wpb_wrapper"><p>Create (multiple) WordPress plugins that use <strong>React, TypeScript, and object-oriented PHP</strong> in a fully customizable Docker development environment, commited in a <strong>monorepo</strong>.</p> </div></div><div class="w-btn-wrapper align_none"><a class="w-btn us-btn-style_1" target="_blank" rel="nofollow" href="https://github.com/devowlio/wp-react-starter" ><span class="w-btn-label">Start developing for free</span></a></div></div></div></div><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="w-image us_custom_dc431497 style_shadow-1 align_none has_bg_color"><div class="w-image-h"><img fetchpriority="high" decoding="async" width="890" height="852" src="https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/screenshot-for-wp-react-starter-instance-in-visual-studio-code-2-890x852.webp" class="attachment-large size-large" alt="Screenshot for WP React Starter instance in Visual Studio Code" loading="lazy" srcset="https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/screenshot-for-wp-react-starter-instance-in-visual-studio-code-2-890x852.webp 890w,https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/screenshot-for-wp-react-starter-instance-in-visual-studio-code-2-326x312.webp 326w,https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/screenshot-for-wp-react-starter-instance-in-visual-studio-code-2-13x12.webp 13w,https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/screenshot-for-wp-react-starter-instance-in-visual-studio-code-2-652x624.webp 652w,https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/screenshot-for-wp-react-starter-instance-in-visual-studio-code-2-1780x1703.webp 1780w,https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/screenshot-for-wp-react-starter-instance-in-visual-studio-code-2.webp 1920w" sizes="(max-width: 890px) 100vw, 890px" data-no-translation-src data-no-translation-srcset /></div></div></div></div></div></div></div></section><section class="l-section wpb_row us_custom_1c3e045a height_medium"><div class="l-section-h i-cf"><div class="g-cols vc_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="wpb_text_column us_custom_281d07bc"><div class="wpb_wrapper"><h2>WordPress plugin development can be fun</h2> <p>Everyone tells us: <strong>WordPress plugins are a mess.</strong> Our answer is always: <strong>Let’s take this opportunity</strong> to make the system that powers every third website on the Internet better.</p> <p>With WP React Starter we have created <strong>a modern WordPress development boilerplate</strong> which contains everything you are used to from modern web development projects.</p> </div></div></div></div></div></div></div></section><section class="l-section wpb_row us_custom_a4788faa height_medium"><div class="l-section-h i-cf"><div class="g-cols vc_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-4 wpb_column vc_column_container has_bg_color"><div class="vc_column-inner us_custom_f92bef97"><div class="wpb_wrapper"><div class="w-image us_custom_2a69c442 product-logo-boxed align_none"><div class="w-image-h"><img width="64" height="64" decoding="async" src="https://devowl.io/wp-content/uploads/logo/technologies/react.svg" class="attachment-full size-full" alt="React" loading="lazy" data-no-translation-src /></div></div><div class="wpb_text_column us_custom_eb849559"><div class="wpb_wrapper"><h3>React</h3> <p>Modern React frontend for reactive user interfaces (with PHP fallback for server-side rendering). Did you know that React has been a part of WordPress since the Gutenberg release?</p> </div></div></div></div></div><div class="vc_col-sm-4 wpb_column vc_column_container has_bg_color"><div class="vc_column-inner us_custom_06eeb9ea"><div class="wpb_wrapper"><div class="w-image us_custom_2a69c442 product-logo-boxed align_none"><div class="w-image-h"><img width="64" height="64" decoding="async" src="https://devowl.io/wp-content/uploads/logo/technologies/typescript.svg" class="attachment-full size-full" alt="" loading="lazy" data-no-translation-src /></div></div><div class="wpb_text_column us_custom_eb849559"><div class="wpb_wrapper"><h3>TypeScript</h3> <p>We like JavaScript, but we love type-safe languages even more. TypeScript offers both for frontend development. Write more error-resistant frontend code, catch errors at build time and have less support effort.</p> </div></div></div></div></div><div class="vc_col-sm-4 wpb_column vc_column_container has_bg_color"><div class="vc_column-inner us_custom_364ed92a"><div class="wpb_wrapper"><div class="w-image us_custom_2a69c442 product-logo-boxed logo-php align_none"><div class="w-image-h"><img width="64" height="33" decoding="async" src="https://devowl.io/wp-content/uploads/logo/technologies/php.svg" class="attachment-full size-full" alt="" loading="lazy" data-no-translation-src /></div></div><div class="wpb_text_column us_custom_eb849559"><div class="wpb_wrapper"><h3>PHP</h3> <p>By default, your PHP backend code will be written in an object-oriented style with namespaces for better structure. Stop writing pure procedural code that is messy, less testable and hard to maintain.</p> </div></div></div></div></div></div></div></section><section class="l-section wpb_row us_custom_b8a568cd height_medium"><div class="l-section-h i-cf"><div class="g-cols vc_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-6 wpb_column vc_column_container has_bg_color"><div class="vc_column-inner us_custom_e1a29c0b"><div class="wpb_wrapper"><div class="w-image us_custom_2a69c442 product-logo-boxed align_none"><div class="w-image-h"><img width="1236" height="906" decoding="async" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201236%20906'%3E%3C/svg%3E" class="attachment-full size-full" alt="Docker" data-no-translation-src data-lazy-src="https://devowl.io/wp-content/uploads/logo/technologies/docker.svg" data-no-translation-data-lazy-src /><noscript><img width="1236" height="906" decoding="async" src="https://devowl.io/wp-content/uploads/logo/technologies/docker.svg" class="attachment-full size-full" alt="Docker" loading="lazy" data-no-translation-src /></noscript></div></div><div class="wpb_text_column us_custom_eb849559"><div class="wpb_wrapper"><h3>Docker</h3> <p>Use a modern development environment to develop all your plug-ins without manual setup steps. Free yourself from time-consuming steps when you’ve messed up your local WordPress instance and reinstall it over and over.</p> </div></div></div></div></div><div class="vc_col-sm-6 wpb_column vc_column_container has_bg_color"><div class="vc_column-inner us_custom_096b1356"><div class="wpb_wrapper"><div class="w-image us_custom_2a69c442 product-logo-boxed align_none"><div class="w-image-h"><img width="64" height="64" decoding="async" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2064%2064'%3E%3C/svg%3E" class="attachment-full size-full" alt="Gitlab" data-no-translation-src data-lazy-src="https://devowl.io/wp-content/uploads/logo/technologies/gitlab.svg" data-no-translation-data-lazy-src /><noscript><img width="64" height="64" decoding="async" src="https://devowl.io/wp-content/uploads/logo/technologies/gitlab.svg" class="attachment-full size-full" alt="Gitlab" loading="lazy" data-no-translation-src /></noscript></div></div><div class="wpb_text_column us_custom_eb849559"><div class="wpb_wrapper"><h3>CI/CD with GitLab</h3> <p>Automated code quality checks and release management out of the box. Everything you’ve always done manually – linting, test execution, builds, version management and deployment – is already set up for you.</p> </div></div></div></div></div></div></div></section><section class="l-section wpb_row us_custom_cf8c654c height_medium"><div class="l-section-h i-cf"><div class="g-cols vc_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="wpb_text_column us_custom_281d07bc"><div class="wpb_wrapper"><p>Does that sound like crappy WordPress plugin development or what you really have been looking for your plugins for a long time? <strong>Let’s start today with your first WordPress plugin! Create it within 5 minutes, thanks to our CLI <a href="https://devowlio.gitbook.io/wp-react-starter/usage/getting-started" target="_blank" rel="noopener noreferrer" >create-wp-react-app</a></strong></p> </div></div><div class="wpb_text_column us_custom_eb849559"><div class="wpb_wrapper"><div style="width: 726px;" class="wp-video"><!--[if lt IE 9]><script>document.createElement('video');</script><![endif]--> <video class="wp-video-shortcode" id="video-94-1" width="726" height="708" loop="1" autoplay="1" preload="metadata" controls="controls"><source type="video/mp4" src="https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/create-wp-react-app-promt.mp4?_=1" /><a href="https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/create-wp-react-app-promt.mp4" data-no-translation-href >https://devowl.io/wp-content/uploads/developer-tools/wp-react-starter/create-wp-react-app-promt.mp4</a></video></div> </div></div></div></div></div></div></div></section><section class="l-section wpb_row us_custom_fe0e39ad height_medium"><div class="l-section-h i-cf"><div class="g-cols vc_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="wpb_text_column us_custom_602c3f15"><div class="wpb_wrapper"><h2>Features</h2> <p>A modern <strong>WordPress plugin Boilerplate needs a lot.</strong> We provide them for you, without the set-up hassle!</p> </div></div></div></div></div></div></div></section><section class="l-section wpb_row us_custom_04be88e9 height_medium"><div class="l-section-h i-cf"><div class="g-cols vc_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-6 wpb_column vc_column_container has_bg_color"><div class="vc_column-inner us_custom_e1a29c0b"><div class="wpb_wrapper"><div class="ult-just-icon-wrapper vc_custom_1613475328228"><div class="align-icon" style="text-align:center;"> <div class="aio-icon none " style="color:#535b7c;font-size:36px;display:inline-block;"> <i class="devowl-icons-desktop-monitor"></i> </div></div></div><div class="wpb_text_column us_custom_eb849559"><div class="wpb_wrapper"><h3>Client-Side Features</h3> <p>Nowadays client-side development no longer means jQuery, but reactive software development. In the case of WordPress you should use React. In addition, you need and <strong>proper set up a whole ecosystem, such as a bundler, state management, multi-language support, style preprocessor, automated tasks, liniting and documentation generators.</strong> WP React Starter brings these capabilities and more to each plugin.</p> </div></div><div class="w-btn-wrapper align_center"><a class="w-btn us-btn-style_1" target="_blank" rel="nofollow" href="https://devowlio.gitbook.io/wp-react-starter/#client-side-features" ><span class="w-btn-label">Check out all client-side features</span></a></div></div></div></div><div class="vc_col-sm-6 wpb_column vc_column_container has_bg_color"><div class="vc_column-inner us_custom_096b1356"><div class="wpb_wrapper"><div class="ult-just-icon-wrapper vc_custom_1613474821155"><div class="align-icon" style="text-align:center;"> <div class="aio-icon none " style="color:#535b7c;font-size:36px;display:inline-block;"> <i class="devowl-icons-server"></i> </div></div></div><div class="wpb_text_column us_custom_eb849559"><div class="wpb_wrapper"><h3>Server-Side Features</h3> <p>PHP for WordPress is easy to learn, but difficult to master in the long run. At least if you try to write clean code. WP React Starter is written entirely in OOP style and provides a basic structure for each plugin. It also <strong>provides namespace support, autoloading, a package manager and cache, a preconfigured code prettifying, debugging capabilities and automated documentation tools.</strong> What else do you need to write beautiful PHP code?</p> </div></div><div class="w-btn-wrapper align_center"><a class="w-btn us-btn-style_1" target="_blank" rel="nofollow" href="https://devowlio.gitbook.io/wp-react-starter/#server-side-features" ><span class="w-btn-label">See all server-side features</span></a></div></div></div></div></div></div></section><section class="l-section wpb_row us_custom_04be88e9 height_medium"><div class="l-section-h i-cf"><div class="g-cols vc_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-6 wpb_column vc_column_container has_bg_color"><div class="vc_column-inner us_custom_e1a29c0b"><div class="wpb_wrapper"><div class="ult-just-icon-wrapper vc_custom_1613474830359"><div class="align-icon" style="text-align:center;"> <div class="aio-icon none " style="color:#535b7c;font-size:36px;display:inline-block;"> <i class="devowl-icons-click"></i> </div></div></div><div class="wpb_text_column us_custom_eb849559"><div class="wpb_wrapper"><h3>Testing Features</h3> <p>You can write a lot of features today, but if they are not covered by automated testing, they may be crap tomorrow. Automated tests such as unit tests, integration tests, snapshot tests and end-to-end tests are essential tools in modern software development to ensure the quality of your software. That’s why <strong>we have integrated test framework with best-practice patterns for the most common types of tests</strong> and a reliable process for performing tests in continuous integration.</p> </div></div><div class="w-btn-wrapper align_center"><a class="w-btn us-btn-style_1" target="_blank" rel="nofollow" href="https://devowlio.gitbook.io/wp-react-starter/#testing-features" ><span class="w-btn-label">Discover all testing features</span></a></div></div></div></div><div class="vc_col-sm-6 wpb_column vc_column_container has_bg_color"><div class="vc_column-inner us_custom_096b1356"><div class="wpb_wrapper"><div class="ult-just-icon-wrapper vc_custom_1613475353810"><div class="align-icon" style="text-align:center;"> <div class="aio-icon none " style="color:#535b7c;font-size:36px;display:inline-block;"> <i class="devowl-icons-idea"></i> </div></div></div><div class="wpb_text_column us_custom_eb849559"><div class="wpb_wrapper"><h3>Automation Features</h3> <p>We hate repetitive work! You too? Then we have for you an automated end-to-end workspace setup, automatic creation of new plugins in a monorepo and reusable frontend and backend code as private packages for you. In addition, <strong>a proper CI/CD process within GitLab CI can automatically perform everything you’ve done manually so far</strong>, such as liniting, testing, licence checking, bundling, release management and publishing on wordpress.org.</p> </div></div><div class="w-btn-wrapper align_center"><a class="w-btn us-btn-style_1" target="_blank" rel="nofollow" href="https://devowlio.gitbook.io/wp-react-starter/#automation-features" ><span class="w-btn-label">Explore all automation features</span></a></div></div></div></div></div></div></section><section class="l-section wpb_row us_custom_ee90fb20 row-column-center height_medium"><div class="l-section-h i-cf"><div class="g-cols vc_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-6 wpb_column vc_column_container has_bg_color"><div class="vc_column-inner us_custom_d5c87c52"><div class="wpb_wrapper"><div class="ult-just-icon-wrapper vc_custom_1613475361146"><div class="align-icon" style="text-align:center;"> <div class="aio-icon none " style="color:#535b7c;font-size:36px;display:inline-block;"> <i class="devowl-icons-like"></i> </div></div></div><div class="wpb_text_column us_custom_eb849559"><div class="wpb_wrapper"><h3>Developer Experience Features</h3> <p>Everyday coding means that this is your second home and you should feel comfortable in this environment. That’s why we’ve included code formatting on save, a <strong>pre-installed debugging tool, automatic scripts via Git hooks, commit-linting, semantic versioning, changelog generation</strong>, and more. All integrated with Visual Studio Code, a dockerized runtime and review apps for testing before merging. This is how comfortable every second home should feel!</p> </div></div><div class="w-btn-wrapper align_center"><a class="w-btn us-btn-style_1" target="_blank" rel="nofollow" href="https://devowlio.gitbook.io/wp-react-starter/#developer-experience-features" ><span class="w-btn-label">Read about all automation features</span></a></div></div></div></div></div></div></section><section class="l-section wpb_row us_custom_9305f4ae btn-left-mobile height_medium"><div class="l-section-h i-cf"><div class="g-cols vc_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="wpb_text_column us_custom_281d07bc"><div class="wpb_wrapper"><h2>Use Cases</h2> <p>WP React Starter sounds like a great boilerplate, but you are not sure if it is suitable for your purpose? We already have <strong>over 20,000 customers using plugins created with WP React Starter.</strong> You can <strong>create free, paid and freemium WordPress plugins</strong> as well as reusable JavaScript packages and reusable PHP packages.</p> </div></div><div class="w-btn-wrapper align_center"><a class="w-btn us-btn-style_1" href="/wp-react-starter/use-cases/" ><span class="w-btn-label">See concrete usage examples</span></a></div></div></div></div></div></div></section><section class="l-section wpb_row height_medium"><div class="l-section-h i-cf"><div class="g-cols vc_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="wpb_text_column us_custom_281d07bc"><div class="wpb_wrapper"><h2>Documentation</h2> <p>You know it, documentation is the key to the proper use of a software development tool. We have done our best to provide proper guidance on the core structure of WP React Starter. <strong>You can start your first WordPress plugin in just five minutes.</strong></p> <p>If you have reached an advanced level, you will find useful links to the documentation of tools used in WP React Starter. We try to write more articles over time and are happy to get assistance from the community.</p> </div></div><div class="g-cols wpb_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-6 wpb_column vc_column_container btn-left-mobile"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="w-btn-wrapper align_right"><a class="w-btn us-btn-style_1 btn-left-mobile" target="_blank" rel="nofollow" href="https://devowlio.gitbook.io/wp-react-starter/usage/getting-started" ><span class="w-btn-label">Getting started guide</span></a></div></div></div></div><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="w-btn-wrapper align_none"><a class="w-btn us-btn-style_1" target="_blank" rel="nofollow" href="https://devowlio.gitbook.io/wp-react-starter/" ><span class="w-btn-label">Full documentation</span></a></div></div></div></div></div></div></div></div><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="wpb_text_column us_custom_281d07bc"><div class="wpb_wrapper"><h2>Support</h2> <p>We use WP React Starter in our daily business and have an overview of all corners of the boilerplate. <strong>If you are a developer and have questions about it, feel free to open a GitHub issue.</strong> We try to help everyone and improve the public boilerplate.</p> <p><strong>If a question is specific to your product and should not be public, please open a support ticket.</strong> We provide consulting services to your company to take your WordPress plugin development to the next level.</p> </div></div><div class="g-cols wpb_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-6 wpb_column vc_column_container btn-left-mobile"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="w-btn-wrapper align_right"><a class="w-btn us-btn-style_1" target="_blank" rel="nofollow" href="https://github.com/devowlio/wp-react-starter/issues" ><span class="w-btn-label">Open GitHub issue</span></a></div></div></div></div><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="w-btn-wrapper align_none"><a class="w-btn us-btn-style_1" target="_blank" rel="nofollow" href="/support/" ><span class="w-btn-label">Open support ticket</span></a></div></div></div></div></div></div></div></div></div></div></section><section class="l-section wpb_row us_custom_a9be633b height_medium"><div class="l-section-h i-cf"><div class="g-cols vc_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="wpb_text_column us_custom_281d07bc"><div class="wpb_wrapper"><h2>Licensing</h2> <p>WP React Starter was developed organically over years, and we at devowl.io bring all our experience from best-selling WordPress plugins like <a href="/wordpress-real-media-library/" target="_blank" rel="noopener noreferrer" >Real Media Library</a> as well as customer web development orders to this project. <strong>With WP React Starter you get dozens of hundred working hours compressed into one easy-to-use solution for free.</strong></p> <p>WP React Starter is licensed partly under <em>General Public License v3.0 or later</em> and partly under <em>ISC License</em>. In practice, this means that the build of the WordPress plugins that you create with WP React Starter is only licensed under GNU General Public License v3.0 or later. Most or all devtools are licensed under the ISC license.</p> </div></div></div></div></div></div></div></section><section class="l-section wpb_row us_custom_0d54facf height_medium color_primary with_img parallax_ver"><div data-bg="https://devowl.io/wp-content/uploads/background/bg-overlay-02.webp" class="l-section-img rocket-lazyload" role="img" data-img-width="1920" data-img-height="800" style="background-position: top center;background-repeat: no-repeat;"></div><div class="l-section-h i-cf"><div class="g-cols vc_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="wpb_text_column us_custom_eb849559"><div class="wpb_wrapper"><h2>Focus on what really matters</h2> <p>Deliver features in your WordPress plugins fast, with reliable code and automated processes. You don’t have to worry about the “rocket science” behind this boilerplate. We promise to take care of it for you! Simply because our own products depend on it as well.</p> </div></div></div></div></div></div></div></section> </main> </div> <footer id="page-footer" class="l-footer"><section class="l-section wpb_row height_medium" id="footer-nav"><div class="l-section-overlay" style="background:var(--color-footer-bg)"></div><div class="l-section-h i-cf"><div class="g-cols vc_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-4 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="wpb_text_column us_custom_967ee993 has_text_color"><div class="wpb_wrapper"><p>devowl.io</p> </div></div><div class="wpb_text_column us_custom_fa2efa7b has_text_color"><div class="wpb_wrapper"><p>We build high-quality WordPress plugins. All plugins are reliable with fast support and available in multiple languages for your WordPress websites.</p> </div></div><div class="w-image us_custom_722dab2c footer-logo align_center"><div class="w-image-h"><img width="219" height="220" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20219%20220'%3E%3C/svg%3E" class="attachment-full size-full" alt="devowl.io" decoding="async" data-no-translation-src data-lazy-src="https://devowl.io/wp-content/uploads/logo/devowlio-sw-logo-white.svg" data-no-translation-data-lazy-src /><noscript><img width="219" height="220" src="https://devowl.io/wp-content/uploads/logo/devowlio-sw-logo-white.svg" class="attachment-full size-full" alt="devowl.io" loading="lazy" decoding="async" data-no-translation-src /></noscript></div></div></div></div></div><div class="vc_col-sm-4 wpb_column vc_column_container"><div class="vc_column-inner us_custom_353f2abd"><div class="wpb_wrapper"><div class="wpb_text_column us_custom_967ee993 has_text_color"><div class="wpb_wrapper"><p>Resources</p> </div></div><div class="wpb_text_column us_custom_df28ae32"><div class="wpb_wrapper"><ul> <li><a href="/affiliate-program/" >Affiliate Program & Press Kit</a></li> <li><a href="/jobs" >Jobs</a><a class="hiring-badge-link" href="/jobs" ><span class="hiring-badge">we are hiring</span></a></li> <li><a href="https://status.devowl.io/" target="_blank" rel="noopener" >Service Status Page 🤖</a></li> </ul> <hr /> <ul> <li><a href="https://devowl.io/wordpress-real-cookie-banner/borlabs-cookie-alternative/" >Real Cookie Banner: Alternative to Borlabs Cookie</a></li> <li><a href="https://devowl.io/wordpress-real-cookie-banner/complianz-alternative/" >Real Cookie Banner: Alternative to Complianz</a></li> <li><a href="https://devowl.io/wordpress-real-cookie-banner/cookiebot-alternative/" >Real Cookie Banner: Alternative to Cookiebot</a></li> <li><a href="https://devowl.io/wordpress/black-friday-deals/" target="_blank" rel="noopener" >WordPress Black Friday & Cyber Monday Deals</a></li> </ul> </div></div></div></div></div><div class="vc_col-sm-4 wpb_column vc_column_container"><div class="vc_column-inner us_custom_353f2abd"><div class="wpb_wrapper"><div class="wpb_text_column us_custom_967ee993 has_text_color"><div class="wpb_wrapper"><p>Legal</p> </div></div><div class="wpb_text_column us_custom_df28ae32"><div class="wpb_wrapper"><ul> <li><a href="/terms/" >General terms and conditions</a></li> <li><a href="/knowledge-base/cancel-subscription/" >Cancel subscription</a></li> <li><a href="/privacy-policy/" >Privacy policy</a></li> <li><a href="/legal-notice/" >Legal notice</a></li> </ul> </div></div></div></div></div></div></div></section><section class="l-section wpb_row us_custom_07330b97 height_medium"><div class="l-section-overlay" style="background:var(--color-footer-bg)"></div><div class="l-section-h i-cf"><div class="g-cols vc_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="wpb_text_column us_custom_3648943d has_text_color"><div class="wpb_wrapper"><p>devowl.io GmbH (former MatthiasWeb) © 2015-2024</p> </div></div></div></div></div></div></div></section> </footer> <button id="w-header-show" class="w-header-show" aria-label="Menü"><span>Menü</span></button> <div class="w-header-overlay"></div> <script> // Store some global theme options used in JS if ( window.$us === undefined ) { window.$us = {}; } $us.canvasOptions = ( $us.canvasOptions || {} ); $us.canvasOptions.disableEffectsWidth = 920; $us.canvasOptions.columnsStackingWidth = 768; $us.canvasOptions.backToTopDisplay = 100; $us.canvasOptions.scrollDuration = 1000; $us.langOptions = ( $us.langOptions || {} ); $us.langOptions.magnificPopup = ( $us.langOptions.magnificPopup || {} ); $us.langOptions.magnificPopup.tPrev = 'Previous (Left arrow key)'; $us.langOptions.magnificPopup.tNext = 'Next (Right arrow key)'; $us.langOptions.magnificPopup.tCounter = '%curr% of %total%'; $us.navOptions = ( $us.navOptions || {} ); $us.navOptions.mobileWidth = 900; $us.navOptions.togglable = true; $us.ajaxUrl = 'https://devowl.io/wp-admin/admin-ajax.php'; $us.templateDirectoryUri = 'https://devowl.io/wp-content/themes/Impreza'; $us.responsiveBreakpoints = {"default":0,"laptops":1280,"tablets":1050,"mobiles":768}; </script> <script id="us-header-settings">if ( window.$us === undefined ) window.$us = {};$us.headerSettings = {"default":{"options":{"custom_breakpoint":false,"breakpoint":"","orientation":"hor","sticky":true,"sticky_auto_hide":false,"scroll_breakpoint":"20px","transparent":"0","width":"300px","elm_align":"center","shadow":"thin","top_show":"0","top_height":"40px","top_sticky_height":"40px","top_fullwidth":false,"top_centering":false,"top_bg_color":"_header_top_bg","top_text_color":"_header_top_text","top_text_hover_color":"_header_top_text_hover","top_transparent_bg_color":"_header_top_transparent_bg","top_transparent_text_color":"_header_top_transparent_text","top_transparent_text_hover_color":"_header_top_transparent_text_hover","middle_height":"100px","middle_sticky_height":"80px","middle_fullwidth":"0","middle_centering":"0","elm_valign":"top","bg_img":"","bg_img_wrapper_start":"","bg_img_size":"cover","bg_img_repeat":"repeat","bg_img_position":"top left","bg_img_attachment":true,"bg_img_wrapper_end":"","middle_bg_color":"_header_middle_bg","middle_text_color":"_header_middle_text","middle_text_hover_color":"_header_middle_text_hover","middle_transparent_bg_color":"_header_transparent_bg","middle_transparent_text_color":"_header_transparent_text","middle_transparent_text_hover_color":"_header_transparent_text_hover","bottom_show":"0","bottom_height":"50px","bottom_sticky_height":"50px","bottom_fullwidth":false,"bottom_centering":false,"bottom_bg_color":"_header_middle_bg","bottom_text_color":"_header_middle_text","bottom_text_hover_color":"_header_middle_text_hover","bottom_transparent_bg_color":"_header_transparent_bg","bottom_transparent_text_color":"_header_transparent_text","bottom_transparent_text_hover_color":"_header_transparent_text_hover"},"layout":{"top_left":[],"top_center":[],"top_right":[],"middle_left":["image:1"],"middle_center":[],"middle_right":["menu:1"],"bottom_left":[],"bottom_center":[],"bottom_right":[],"hidden":[]}},"tablets":{"options":{"custom_breakpoint":false,"breakpoint":"1050px","orientation":"hor","sticky":true,"sticky_auto_hide":false,"scroll_breakpoint":"1px","transparent":false,"width":"300px","elm_align":"center","shadow":"thin","top_show":false,"top_height":"40px","top_sticky_height":"40px","top_fullwidth":false,"top_centering":false,"top_bg_color":"_header_top_bg","top_text_color":"_header_top_text","top_text_hover_color":"_header_top_text_hover","top_transparent_bg_color":"_header_top_transparent_bg","top_transparent_text_color":"_header_top_transparent_text","top_transparent_text_hover_color":"_header_top_transparent_text_hover","middle_height":"80px","middle_sticky_height":"80px","middle_fullwidth":false,"middle_centering":false,"elm_valign":"top","bg_img":"","bg_img_wrapper_start":"","bg_img_size":"cover","bg_img_repeat":"repeat","bg_img_position":"top left","bg_img_attachment":true,"bg_img_wrapper_end":"","middle_bg_color":"_header_middle_bg","middle_text_color":"_header_middle_text","middle_text_hover_color":"_header_middle_text_hover","middle_transparent_bg_color":"_header_transparent_bg","middle_transparent_text_color":"_header_transparent_text","middle_transparent_text_hover_color":"_header_transparent_text_hover","bottom_show":false,"bottom_height":"50px","bottom_sticky_height":"50px","bottom_fullwidth":false,"bottom_centering":false,"bottom_bg_color":"_header_middle_bg","bottom_text_color":"_header_middle_text","bottom_text_hover_color":"_header_middle_text_hover","bottom_transparent_bg_color":"_header_transparent_bg","bottom_transparent_text_color":"_header_transparent_text","bottom_transparent_text_hover_color":"_header_transparent_text_hover"},"layout":{"top_left":[],"top_center":[],"top_right":[],"middle_left":["image:1"],"middle_center":[],"middle_right":["menu:1"],"bottom_left":[],"bottom_center":[],"bottom_right":[],"hidden":[]}},"mobiles":{"options":{"custom_breakpoint":false,"breakpoint":"768px","orientation":"hor","sticky":true,"sticky_auto_hide":false,"scroll_breakpoint":"1px","transparent":false,"width":"300px","elm_align":"center","shadow":"thin","top_show":false,"top_height":"40px","top_sticky_height":"40px","top_fullwidth":false,"top_centering":false,"top_bg_color":"_header_top_bg","top_text_color":"_header_top_text","top_text_hover_color":"_header_top_text_hover","top_transparent_bg_color":"_header_top_transparent_bg","top_transparent_text_color":"_header_top_transparent_text","top_transparent_text_hover_color":"_header_top_transparent_text_hover","middle_height":"70px","middle_sticky_height":"70px","middle_fullwidth":false,"middle_centering":false,"elm_valign":"top","bg_img":"","bg_img_wrapper_start":"","bg_img_size":"cover","bg_img_repeat":"repeat","bg_img_position":"top left","bg_img_attachment":true,"bg_img_wrapper_end":"","middle_bg_color":"_header_middle_bg","middle_text_color":"_header_middle_text","middle_text_hover_color":"_header_middle_text_hover","middle_transparent_bg_color":"_header_transparent_bg","middle_transparent_text_color":"_header_transparent_text","middle_transparent_text_hover_color":"_header_transparent_text_hover","bottom_show":false,"bottom_height":"50px","bottom_sticky_height":"50px","bottom_fullwidth":false,"bottom_centering":false,"bottom_bg_color":"_header_middle_bg","bottom_text_color":"_header_middle_text","bottom_text_hover_color":"_header_middle_text_hover","bottom_transparent_bg_color":"_header_transparent_bg","bottom_transparent_text_color":"_header_transparent_text","bottom_transparent_text_hover_color":"_header_transparent_text_hover"},"layout":{"top_left":[],"top_center":[],"top_right":[],"middle_left":["image:1"],"middle_center":[],"middle_right":["menu:1"],"bottom_left":[],"bottom_center":[],"bottom_right":[],"hidden":[]}},"laptops":{"options":{"custom_breakpoint":1,"breakpoint":"1150px","orientation":"hor","sticky":true,"sticky_auto_hide":false,"scroll_breakpoint":"20px","transparent":"0","width":"300px","elm_align":"center","shadow":"thin","top_show":"0","top_height":"40px","top_sticky_height":"40px","top_fullwidth":false,"top_centering":false,"top_bg_color":"_header_top_bg","top_text_color":"_header_top_text","top_text_hover_color":"_header_top_text_hover","top_transparent_bg_color":"_header_top_transparent_bg","top_transparent_text_color":"_header_top_transparent_text","top_transparent_text_hover_color":"_header_top_transparent_text_hover","middle_height":"100px","middle_sticky_height":"80px","middle_fullwidth":"0","middle_centering":"0","elm_valign":"top","bg_img":"","bg_img_wrapper_start":"","bg_img_size":"cover","bg_img_repeat":"repeat","bg_img_position":"top left","bg_img_attachment":true,"bg_img_wrapper_end":"","middle_bg_color":"_header_middle_bg","middle_text_color":"_header_middle_text","middle_text_hover_color":"_header_middle_text_hover","middle_transparent_bg_color":"_header_transparent_bg","middle_transparent_text_color":"_header_transparent_text","middle_transparent_text_hover_color":"_header_transparent_text_hover","bottom_show":"0","bottom_height":"50px","bottom_sticky_height":"50px","bottom_fullwidth":false,"bottom_centering":false,"bottom_bg_color":"_header_middle_bg","bottom_text_color":"_header_middle_text","bottom_text_hover_color":"_header_middle_text_hover","bottom_transparent_bg_color":"_header_transparent_bg","bottom_transparent_text_color":"_header_transparent_text","bottom_transparent_text_hover_color":"_header_transparent_text_hover"},"layout":{"top_left":[],"top_center":[],"top_right":[],"middle_left":["image:1"],"middle_center":[],"middle_right":["menu:1"],"bottom_left":[],"bottom_center":[],"bottom_right":[],"hidden":[]}},"header_id":"163"};</script><template id="tp-language" data-tp-language="en_US"></template><link rel='preload' href='https://devowl.io/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css?ver=4.2.17' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" media='all' /> <link rel='preload' href='https://devowl.io/wp-includes/js/mediaelement/wp-mediaelement.min.css?ver=6.6.2' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" media='all' /> <script data-cfasync="false" defer src="https://devowl.io/wp-content/a4a141bfce0f203c8f63cf2066846b0b/dist/800747470.js?ver=721f791cd1a8aa5dc597ba46a316952d" id="real-cookie-banner-pro-blocker-js"></script> <script type="rocketlazyloadscript" id="rocket-browser-checker-js-after"> "use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var RocketBrowserCompatibilityChecker=function(){function RocketBrowserCompatibilityChecker(options){_classCallCheck(this,RocketBrowserCompatibilityChecker),this.passiveSupported=!1,this._checkPassiveOption(this),this.options=!!this.passiveSupported&&options}return _createClass(RocketBrowserCompatibilityChecker,[{key:"_checkPassiveOption",value:function(self){try{var options={get passive(){return!(self.passiveSupported=!0)}};window.addEventListener("test",null,options),window.removeEventListener("test",null,options)}catch(err){self.passiveSupported=!1}}},{key:"initRequestIdleCallback",value:function(){!1 in window&&(window.requestIdleCallback=function(cb){var start=Date.now();return setTimeout(function(){cb({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-start))}})},1)}),!1 in window&&(window.cancelIdleCallback=function(id){return clearTimeout(id)})}},{key:"isDataSaverModeOn",value:function(){return"connection"in navigator&&!0===navigator.connection.saveData}},{key:"supportsLinkPrefetch",value:function(){var elem=document.createElement("link");return elem.relList&&elem.relList.supports&&elem.relList.supports("prefetch")&&window.IntersectionObserver&&"isIntersecting"in IntersectionObserverEntry.prototype}},{key:"isSlowConnection",value:function(){return"connection"in navigator&&"effectiveType"in navigator.connection&&("2g"===navigator.connection.effectiveType||"slow-2g"===navigator.connection.effectiveType)}}]),RocketBrowserCompatibilityChecker}(); </script> <script id="rocket-preload-links-js-extra"> var RocketPreloadLinksConfig = {"excludeUris":"\/(?:.+\/)?feed(?:\/(?:.+\/?)?)?$|\/(?:.+\/)?embed\/|\/(index.php\/)?(.*)wp-json(\/.*|$)|\/refer\/|\/go\/|\/recommend\/|\/recommends\/","usesTrailingSlash":"1","imageExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php","fileExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php|html|htm","siteUrl":"https:\/\/devowl.io","onHoverDelay":"100","rateThrottle":"3"}; </script> <script type="rocketlazyloadscript" id="rocket-preload-links-js-after"> (function() { "use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e=function(){function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}}();function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var t=function(){function n(e,t){i(this,n),this.browser=e,this.config=t,this.options=this.browser.options,this.prefetched=new Set,this.eventTime=null,this.threshold=1111,this.numOnHover=0}return e(n,[{key:"init",value:function(){!this.browser.supportsLinkPrefetch()||this.browser.isDataSaverModeOn()||this.browser.isSlowConnection()||(this.regex={excludeUris:RegExp(this.config.excludeUris,"i"),images:RegExp(".("+this.config.imageExt+")$","i"),fileExt:RegExp(".("+this.config.fileExt+")$","i")},this._initListeners(this))}},{key:"_initListeners",value:function(e){-1<this.config.onHoverDelay&&document.addEventListener("mouseover",e.listener.bind(e),e.listenerOptions),document.addEventListener("mousedown",e.listener.bind(e),e.listenerOptions),document.addEventListener("touchstart",e.listener.bind(e),e.listenerOptions)}},{key:"listener",value:function(e){var t=e.target.closest("a"),n=this._prepareUrl(t);if(null!==n)switch(e.type){case"mousedown":case"touchstart":this._addPrefetchLink(n);break;case"mouseover":this._earlyPrefetch(t,n,"mouseout")}}},{key:"_earlyPrefetch",value:function(t,e,n){var i=this,r=setTimeout(function(){if(r=null,0===i.numOnHover)setTimeout(function(){return i.numOnHover=0},1e3);else if(i.numOnHover>i.config.rateThrottle)return;i.numOnHover++,i._addPrefetchLink(e)},this.config.onHoverDelay);t.addEventListener(n,function e(){t.removeEventListener(n,e,{passive:!0}),null!==r&&(clearTimeout(r),r=null)},{passive:!0})}},{key:"_addPrefetchLink",value:function(i){return this.prefetched.add(i.href),new Promise(function(e,t){var n=document.createElement("link");n.rel="prefetch",n.href=i.href,n.onload=e,n.onerror=t,document.head.appendChild(n)}).catch(function(){})}},{key:"_prepareUrl",value:function(e){if(null===e||"object"!==(void 0===e?"undefined":r(e))||!1 in e||-1===["http:","https:"].indexOf(e.protocol))return null;var t=e.href.substring(0,this.config.siteUrl.length),n=this._getPathname(e.href,t),i={original:e.href,protocol:e.protocol,origin:t,pathname:n,href:t+n};return this._isLinkOk(i)?i:null}},{key:"_getPathname",value:function(e,t){var n=t?e.substring(this.config.siteUrl.length):e;return n.startsWith("/")||(n="/"+n),this._shouldAddTrailingSlash(n)?n+"/":n}},{key:"_shouldAddTrailingSlash",value:function(e){return this.config.usesTrailingSlash&&!e.endsWith("/")&&!this.regex.fileExt.test(e)}},{key:"_isLinkOk",value:function(e){return null!==e&&"object"===(void 0===e?"undefined":r(e))&&(!this.prefetched.has(e.href)&&e.origin===this.config.siteUrl&&-1===e.href.indexOf("?")&&-1===e.href.indexOf("#")&&!this.regex.excludeUris.test(e.href)&&!this.regex.images.test(e.href))}}],[{key:"run",value:function(){"undefined"!=typeof RocketPreloadLinksConfig&&new n(new RocketBrowserCompatibilityChecker({capture:!0,passive:!0}),RocketPreloadLinksConfig).init()}}]),n}();t.run(); }()); </script> <script type="rocketlazyloadscript" data-rocket-src="https://devowl.io/wp-content/themes/Impreza/common/js/vendor/magnific-popup.js?ver=8.27" id="us-magnific-popup-js" defer></script> <script src="https://devowl.io/wp-content/uploads/us-assets/devowl.io.js?ver=d96c9ac9" id="us-core-js" defer></script> <script id="real-commerce-wp-client-affiliateCookie-js-extra"> var realCommerceWpClient = {"slug":"real-commerce-wp-client","textDomain":"real-commerce-wp-client","version":"1.36.19","restUrl":"https:\/\/devowl.io\/wp-json\/real-commerce-wp-client\/v1\/","restNamespace":"real-commerce-wp-client\/v1","restPathObfuscateOffset":"ed0fef9da651a15e","restRoot":"https:\/\/devowl.io\/wp-json\/","restQuery":{"_v":"1.36.19","_locale":"user","_dataLocale":"en_US"},"restNonce":"733d847b67","restRecreateNonceEndpoint":"https:\/\/devowl.io\/wp-admin\/admin-ajax.php?action=rest-nonce","publicUrl":"https:\/\/devowl.io\/wp-content\/plugins\/real-commerce-wp-client\/public\/","chunkFolder":"dist","chunksLanguageFolder":"https:\/\/devowl.io\/wp-content\/languages\/mo-cache\/real-commerce-wp-client\/","chunks":{},"others":{"realCommerceRestRoot":"https:\/\/commerce.devowl.io\/"}}; </script> <script src="https://devowl.io/wp-content/plugins/real-commerce-wp-client/public/dist/affiliateCookie.js?ver=6671fd3cf8291cc5515d80ce87e5b3d9" id="real-commerce-wp-client-affiliateCookie-js" defer></script> <script type="rocketlazyloadscript" id="mediaelement-core-js-before"> var mejsL10n = {"language":"en","strings":{"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https:\/\/get.adobe.com\/flashplayer\/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left\/Right Arrow keys to advance one second, Up\/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up\/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions\/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}}; </script> <script type="rocketlazyloadscript" data-rocket-src="https://devowl.io/wp-includes/js/mediaelement/mediaelement-and-player.min.js?ver=4.2.17" id="mediaelement-core-js" defer></script> <script type="rocketlazyloadscript" data-rocket-src="https://devowl.io/wp-includes/js/mediaelement/mediaelement-migrate.min.js?ver=6.6.2" id="mediaelement-migrate-js" defer></script> <script id="mediaelement-js-extra"> var _wpmejsSettings = {"pluginPath":"\/wp-includes\/js\/mediaelement\/","classPrefix":"mejs-","stretching":"responsive","audioShortcodeLibrary":"mediaelement","videoShortcodeLibrary":"mediaelement"}; </script> <script type="rocketlazyloadscript" data-rocket-src="https://devowl.io/wp-includes/js/mediaelement/wp-mediaelement.min.js?ver=6.6.2" id="wp-mediaelement-js" defer></script> <script type="rocketlazyloadscript" data-rocket-src="https://devowl.io/wp-includes/js/mediaelement/renderers/vimeo.min.js?ver=4.2.17" id="mediaelement-vimeo-js" defer></script> <script type="rocketlazyloadscript"></script><script type="rocketlazyloadscript">window.addEventListener('DOMContentLoaded', function() { // Disable `togglable` functionality of Impreza cause we are using a custom `WP_Menu_Walker` jQuery(function() { jQuery('.w-nav .level_2 .menu-item-has-children.togglable > .w-nav-anchor').each(function() { this.addEventListener('click', function(e) { e.stopPropagation(); }, true); }); }); });</script> <script type="rocketlazyloadscript">window.addEventListener('DOMContentLoaded', function() { // Comparing table jQuery(document).ready(function() { jQuery("#compare-table ul").on("click", "li", function() { var pos = jQuery(this).index() + 2; jQuery("#compare-table tr").find('td:not(:eq(0))').hide(); jQuery('#compare-table td:nth-child(' + pos + ')').css('display', 'table-cell'); jQuery("#compare-table tr").find('th:not(:eq(0))').hide(); jQuery('#compare-table li').removeClass('active'); jQuery(this).addClass('active'); }); var mediaQuery = window.matchMedia('(min-width: 768px)'); mediaQuery.addListener(doSomething); function doSomething(mediaQuery) { if (mediaQuery.matches) { jQuery('#compare-table .sep').attr('colspan', 5); } else { jQuery('#compare-table .sep').attr('colspan', 2); } } doSomething(mediaQuery); }); });</script> <script type="rocketlazyloadscript"> // @see https://app.clickup.com/t/5ykwx8 and https://app.clickup.com/t/et1nm6 (function(redirects) { var userLang = navigator.language || navigator.userLanguage; var current = document.body.parentElement.lang; for (var i = 0; i < redirects.length; i++) { var redirect = redirects[i]; var localStorageId = "language-redirect-notice-" + redirect.id; if (localStorage && localStorage.getItem(localStorageId)) { continue; } if (userLang.indexOf(redirect.abbr) > -1 && current.indexOf(redirect.abbr) === -1) { var hrefLink = document.querySelector(".w-nav-list .trp-language-switcher-container .trp-flag-image[alt^=\"" + redirect.native + "\"]"); if (!hrefLink) { continue; } var href = hrefLink.parentElement.parentElement.parentElement.href; var closeId = redirect.id + '-close'; var closeHtml = '<div id="' + closeId + '" style="float:right;margin:0 10px;font-weight:bolder;cursor: pointer;">X</div>'; var hintHtml = '<div id="' + redirect.id + '" style="background:#ffcc3e;text-align:center;padding:10px;font-size:15px;font-weight:700;box-shadow:0 1px 0 rgba(0,0,0,.1);-moz-box-shadow:0 1px 0 rgba(0,0,0,.1);-webkit-box-shadow:0 1px 0 rgba(0,0,0,.1);">' + redirect.hint + closeHtml + '</div>'; hintHtml = hintHtml.replace("{{a}}", '<' + 'a href="' + href + '" style="color: #666; text-decoration: underline; ">').replace("{{/a}}", "</a>"); document.getElementById("page-header").insertAdjacentHTML("beforeEnd", hintHtml); document.getElementById(closeId).addEventListener("click", function() { this.parentElement.remove(); localStorage && localStorage.setItem(localStorageId, true); }); } } })([ { id: "german", native: "de", abbr: "de", hint: "Do you speak German? Jetzt Sprache wechseln und auf {{a}}Deutsch anzeigen{{/a}}!" } ]) </script> <script type="rocketlazyloadscript"> function track_visit_free_wp_plugin(productName, url) { if (gtag) { gtag("event", "visit_free_wp_plugin", { event_category: "ecommerce", event_label: "Visit free plugin version at wordpress.org", value: productName }); } if (String(location.pathname).startsWith("/de")) { url = url.replace("://wordpress.org", "://de.wordpress.org"); } window.open(url); } </script><script>window.lazyLoadOptions=[{elements_selector:"img[data-lazy-src],.rocket-lazyload",data_src:"lazy-src",data_srcset:"lazy-srcset",data_sizes:"lazy-sizes",class_loading:"lazyloading",class_loaded:"lazyloaded",threshold:300,callback_loaded:function(element){if(element.tagName==="IFRAME"&&element.dataset.rocketLazyload=="fitvidscompatible"){if(element.classList.contains("lazyloaded")){if(typeof window.jQuery!="undefined"){if(jQuery.fn.fitVids){jQuery(element).parent().fitVids()}}}}}},{elements_selector:".rocket-lazyload",data_src:"lazy-src",data_srcset:"lazy-srcset",data_sizes:"lazy-sizes",class_loading:"lazyloading",class_loaded:"lazyloaded",threshold:300,}];window.addEventListener('LazyLoad::Initialized',function(e){var lazyLoadInstance=e.detail.instance;if(window.MutationObserver){var observer=new MutationObserver(function(mutations){var image_count=0;var iframe_count=0;var rocketlazy_count=0;mutations.forEach(function(mutation){for(var i=0;i<mutation.addedNodes.length;i++){if(typeof mutation.addedNodes[i].getElementsByTagName!=='function'){continue} if(typeof mutation.addedNodes[i].getElementsByClassName!=='function'){continue} images=mutation.addedNodes[i].getElementsByTagName('img');is_image=mutation.addedNodes[i].tagName=="IMG";iframes=mutation.addedNodes[i].getElementsByTagName('iframe');is_iframe=mutation.addedNodes[i].tagName=="IFRAME";rocket_lazy=mutation.addedNodes[i].getElementsByClassName('rocket-lazyload');image_count+=images.length;iframe_count+=iframes.length;rocketlazy_count+=rocket_lazy.length;if(is_image){image_count+=1} if(is_iframe){iframe_count+=1}}});if(image_count>0||iframe_count>0||rocketlazy_count>0){lazyLoadInstance.update()}});var b=document.getElementsByTagName("body")[0];var config={childList:!0,subtree:!0};observer.observe(b,config)}},!1)</script><script data-no-minify="1" async src="https://devowl.io/wp-content/plugins/wp-rocket/assets/js/lazyload/17.8.3/lazyload.min.js"></script><script>"use strict";function wprRemoveCPCSS(){var preload_stylesheets=document.querySelectorAll('link[data-rocket-async="style"][rel="preload"]');if(preload_stylesheets&&0<preload_stylesheets.length)for(var stylesheet_index=0;stylesheet_index<preload_stylesheets.length;stylesheet_index++){var media=preload_stylesheets[stylesheet_index].getAttribute("media")||"all";if(window.matchMedia(media).matches)return void setTimeout(wprRemoveCPCSS,200)}var elem=document.getElementById("rocket-critical-css");elem&&"remove"in elem&&elem.remove()}window.addEventListener?window.addEventListener("load",wprRemoveCPCSS):window.attachEvent&&window.attachEvent("onload",wprRemoveCPCSS);</script><noscript><link skip-rucss rel='stylesheet' id='animate-css-css' href='https://devowl.io/wp-content/plugins/real-cookie-banner-pro/public/lib/animate.css/animate.min.css?ver=4.1.1' media='all' /><link data-minify="1" rel='stylesheet' id='trp-language-switcher-style-css' href='https://devowl.io/wp-content/cache/min/1/wp-content/plugins/translatepress-multilingual/assets/css/trp-language-switcher.css?ver=1730475184' media='all' /><link data-minify="1" rel='stylesheet' id='us-theme-css' href='https://devowl.io/wp-content/cache/min/1/wp-content/uploads/us-assets/devowl.io.css?ver=1730475184' media='all' /><link rel='stylesheet' id='theme-style-css' href='https://devowl.io/wp-content/themes/Impreza-child/style.css?ver=8.27' media='all' /><link data-minify="1" rel='stylesheet' id='bsf-Defaults-css' href='https://devowl.io/wp-content/cache/min/1/wp-content/uploads/smile_fonts/Defaults/Defaults.css?ver=1730475184' media='all' /><link data-minify="1" rel='stylesheet' id='bsf-devowl-icons-css' href='https://devowl.io/wp-content/cache/min/1/wp-content/uploads/smile_fonts/devowl-icons/devowl-icons.css?ver=1730475184' media='all' /><link rel='stylesheet' id='ultimate-style-css' href='https://devowl.io/wp-content/plugins/Ultimate_VC_Addons/assets/min-css/style.min.css?ver=3.19.9' media='all' /><link rel='stylesheet' id='ultimate-animate-css' href='https://devowl.io/wp-content/plugins/Ultimate_VC_Addons/assets/min-css/animate.min.css?ver=3.19.9' media='all' /><link rel='stylesheet' id='ultimate-tooltip-css' href='https://devowl.io/wp-content/plugins/Ultimate_VC_Addons/assets/min-css/tooltip.min.css?ver=3.19.9' media='all' /><link rel='stylesheet' id='mediaelement-css' href='https://devowl.io/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css?ver=4.2.17' media='all' /><link rel='stylesheet' id='wp-mediaelement-css' href='https://devowl.io/wp-includes/js/mediaelement/wp-mediaelement.min.css?ver=6.6.2' media='all' /></noscript></body> </html> <!-- Performance optimized by Redis Object Cache. Learn more: https://wprediscache.com Retrieved 10630 objects (5 MB) from Redis using PhpRedis (v6.0.2). --> <!-- This website is like a Rocket, isn't it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me - Debug: cached@1732617521 -->