{"version":3,"sources":["script.js"],"names":[],"mappings":"+YAAC,UAAU,CAAV,CAAa,IAEJ,CAAA,CAFI,yBAKN,YAI8B,IAH1B,CAAA,CAG0B,wDAHpB,0BAGoB,CAF1B,CAE0B,wDAFhB,MAAM,CAAC,YAES,CAD1B,CAC0B,wDADP,2BACO,CAA1B,CAA0B,wDAAd,CAAC,UAAD,CAAc,yBAE1B,KAAK,GAAL,CAAW,CAFe,CAG1B,KAAK,OAAL,CAAe,CAHW,CAI1B,KAAK,gBAAL,CAAwB,CAJE,CAK1B,KAAK,SAAL,CAAiB,CACpB,CAfK,oDAiBA,CACF,GAAI,CAAA,CAAI,CAAG,KAAK,OAAL,CAAa,OAAb,CAAqB,KAAK,GAA1B,CAAX,CACA,MAAO,CAAA,CAAI,CAAG,IAAI,CAAC,KAAL,CAAW,CAAX,CAAH,CAAsB,CAC7B,MAAM,GADuB,CAE7B,SAAS,GAFoB,CAIpC,CAvBK,8BAyBF,CAzBE,CAyBQ,CACV,KAAK,OAAL,CAAa,OAAb,CAAqB,KAAK,GAA1B,CAA+B,IAAI,CAAC,SAAL,CAAe,CAAf,CAA/B,CACH,CA3BK,sCA6BO,CACT,MAAO,CAAC,CAAC,KAAK,OAAL,CAAa,OAAb,CAAqB,KAAK,GAA1B,CACZ,CA/BK,mCAiCI,CACN,GAAI,CAAA,CAAQ,CAAG,KAAK,GAAL,EAAf,CAEA,KAAK,gBAAL,CAAsB,CAAC,CAAC,CAAQ,CAAC,MAAjC,CAHM,CAIN,KAAK,mBAAL,CAAyB,CAAC,CAAC,CAAQ,CAAC,SAApC,CACH,CAtCK,2CAwCW,CAxCX,CAwC0B,CAE5B,GAAI,CAAA,CAAI,CAAG,MAAM,CAAC,IAAP,EAAe,EAA1B,CAEA;AACA;AACA;AACA;AACA;AAEK,CAVuB,EAaxB,CAAI,CAAC,IAAL,CAAU,CAAC,gBAAD,CAAV,CAbwB,CAoB5B,CAAI,CAAC,IAAL,CAAU,CAAC,eAAD,CAAV,CApB4B,CAqB5B,CAAI,CAAC,IAAL,CAAU,CAAC,gCAAD,CAAV,CArB4B,CAsB5B,CAAI,CAAC,IAAL,CAAU,CAAC,oBAAD,CAAV,CAtB4B,CAwC5B,CAhBsB,QAAlB,CAAA,CAAkB,EAAY,CAE9B,CAAI,CAAC,IAAL,CAAU,CAAC,eAAD,8CAAV,CAF8B,CAI9B,CAAI,CAAC,IAAL,CAAU,CAAC,WAAD,CAAc,QAAQ,CAAC,QAAT,CAAkB,IAAlB,CAAuB,KAAvB,CAA6B,eAA7B,EAAgD,IAAhD,CAAuD,GAArE,CAAV,CAJ8B,CAM9B,MAAM,CAAC,IAAP,CAAc,CANgB,CAQ9B,GAAI,CAAA,CAAC,CAAG,QAAR,CAAkB,CAAC,CAAG,CAAC,CAAC,aAAF,CAAgB,QAAhB,CAAtB,CAAiD,CAAC,CAAG,CAAC,CAAC,oBAAF,CAAuB,QAAvB,EAAiC,CAAjC,CAArD,CACA,CAAC,CAAC,IAAF,CAAS,iBATqB,CAU9B,CAAC,CAAC,KAAF,GAV8B,CAW9B,CAAC,CAAC,KAAF,GAX8B,CAY9B,CAAC,CAAC,GAAF,4CAZ8B,CAa9B,CAAC,CAAC,UAAF,CAAa,YAAb,CAA0B,CAA1B,CAA6B,CAA7B,CACH,CAED,GACH,CAjFK,8CAoFc,CApFd,CAoF6B,CAM3B,CAN2B,CAO3B,OAAO,CAAC,GAAR,CAAY,KAAK,gBAAjB,IAP2B,CAS3B,OAAO,CAAC,MAAR,CAAe,KAAK,gBAApB,IAEP,CA/FK,sCAiGO,YACL,CAAM,CAAG,CAAC,CAAC,wBAAD,CADL,CAGT,CAAM,CAAC,EAAP,CAAU,eAAV,CAA2B,UAAM,CAE7B,CAAM,CAAC,WAAP,CAAmB,cAAnB,CAF6B,CAI7B,GAAI,CAAA,CAAQ,CAAG,CAAI,CAAC,GAAL,EAAf,CAEA,CAAC,CAAC,yBAAD,CAAD,CAA6B,IAA7B,CAAkC,SAAlC,CAA6C,CAAC,CAAC,CAAQ,CAAC,MAAxD,CAN6B,CAO7B,CAAC,CAAC,4BAAD,CAAD,CAAgC,IAAhC,CAAqC,SAArC,CAAgD,CAAC,CAAC,CAAQ,CAAC,SAA3D,CAEH,CATD,CAHS,CAcT,CAAM,CAAC,EAAP,CAAU,iBAAV,CAA6B,UAAM,CAE/B,CAAI,CAAC,GAAL,CAAS,CACL,MAAM,CAAE,CAAC,CAAC,yBAAD,CAAD,CAA6B,IAA7B,CAAkC,SAAlC,CADH,CAEL,SAAS,CAAE,CAAC,CAAC,4BAAD,CAAD,CAAgC,IAAhC,CAAqC,SAArC,CAFN,CAAT,CAF+B,CAO/B,CAAI,CAAC,OAAL,EAP+B,CAQ/B,CAAM,CAAC,QAAP,CAAgB,cAAhB,CACH,CATD,CAdS,CAyBT,CAAM,CAAC,KAAP,CAAa,CACT,QAAQ,CAAE,QADD,CAET,QAAQ,GAFC,CAGT,IAAI,GAHK,CAIT,KAAK,GAJI,CAAb,CAMH,CAhIK,yCAkIS,CAlIT,CAkIgB,CAClB,GAAI,CAAA,CAAO,CAAG,QAAQ,CAAC,MAAT,CAAgB,KAAhB,CAAsB,GAAtB,CAAd,CAEA,IAAK,GAAI,CAAA,CAAT,GAAmB,CAAA,CAAnB,CAA4B,IACpB,CAAA,CAAM,CAAG,CAAM,CAAC,OAAP,CAAe,GAAf,CADW,CAEpB,CAAI,CAAY,CAAC,CAAV,CAAA,CAAM,CAAQ,CAAM,CAAC,MAAP,CAAc,CAAd,CAAiB,CAAjB,CAAR,CAAmC,CAF5B,EAIJ,CAAjB,GAAA,CAAK,CAAC,MAAN,EAA4C,CAAC,CAAvB,CAAA,CAAK,CAAC,OAAN,CAAc,CAAd,CAJD,GAKpB,OAAO,CAAC,MAAR,CAAe,CAAf,CACP,CACJ,CA5IK,sCA8IO,CACT,MAAO,gDAA+C,IAA/C,CAAoD,SAAS,CAAC,SAA9D,CACV,CAhJK,0CAkJW,CACb,MAAO,MAAK,SAAL,CAAe,IAAf,CAAoB,SAAA,CAAI,CAAI,CAE/B,MADA,CAAA,OAAO,CAAC,GAAR,CAAY,gBAAZ,CAA8B,CAA9B,CAAoC,MAAM,CAAC,QAAP,CAAgB,QAAhB,CAAyB,OAAzB,CAAiC,CAAjC,CAApC,CAAsH,CAA1C,EAAA,MAAM,CAAC,QAAP,CAAgB,QAAhB,CAAyB,OAAzB,CAAiC,CAAjC,CAA5E,CACA,CAAiD,CAA1C,EAAA,MAAM,CAAC,QAAP,CAAgB,QAAhB,CAAyB,OAAzB,CAAiC,CAAjC,CACV,CAHM,CAIV,CAvJK,SA0JV,CAAC,CAAC,QAAD,CAAD,CAAY,KAAZ,CAAkB,UAAM,CACpB,GAAI,CAAA,CAAO,CAAG,GAAI,CAAA,CAAlB,CASA;AAPK,CAAO,CAAC,UAAR,EAHe,CAQf,CAAO,CAAC,OAAR,EARe,CAIZ,CAAC,CAAO,CAAC,UAAR,EAAD,EAAyB,CAAC,CAAO,CAAC,cAAR,EAJd,EAKZ,CAAO,CAAC,UAAR,EALY,CAWpB,MAAM,CAAC,kBAAP,CAA4B,CAAO,CAAC,UAAR,CAAmB,IAAnB,CAAwB,CAAxB,CAXR,CAYpB,CAAC,CAAC,6BAAD,CAAD,CAAiC,EAAjC,CAAoC,OAApC,CAA6C,MAAM,CAAC,kBAApD,CACH,CAbD,CAeH,CAzKA,EAyKC,MAzKD,C","file":"script.min.js","sourcesContent":["(function ($) {\n\n class ConsentSettings {\n\n\n constructor(\n key = 'awesome_consent_settings',\n storage = window.localStorage,\n cookie_recaptcha = 'awesome_consent_recaptcha',\n whitelist = ['/privacy']) {\n\n this.key = key;\n this.storage = storage;\n this.cookie_recpatcha = cookie_recaptcha;\n this.whitelist = whitelist\n }\n\n get() {\n let data = this.storage.getItem(this.key);\n return data ? JSON.parse(data) : {\n matomo: true,\n recaptcha: true,\n };\n }\n\n set(settings) {\n this.storage.setItem(this.key, JSON.stringify(settings));\n }\n\n configured() {\n return !!this.storage.getItem(this.key);\n }\n\n enforce() {\n let settings = this.get();\n\n this.configure_matomo(!!settings.matomo);\n this.configure_recaptcha(!!settings.recaptcha);\n }\n\n configure_matomo(allow_cookies) {\n\n let _paq = window._paq || [];\n\n // This would make Matomo to require a user consent before processing data.\n // Since we configured Matomo to respect \"do-not-track\"-requests, we don't\n // need this. We should mention the \"do-not-track\" way in the privacy document.\n // See https://matomo.org/faq/general/faq_157/\n //_paq.push(['requireConsent']);\n\n if (!allow_cookies) {\n\n // This disables cookies and makes the tracking slightly more incorrect.\n _paq.push(['disableCookies']);\n // TODO: this.expire_cookies([list of matomo cookies]);\n\n // user has given consent to process their data\n //_paq.push(['setConsentGiven']);\n }\n\n _paq.push(['trackPageView']);\n _paq.push(['trackVisibleContentImpressions']);\n _paq.push(['enableLinkTracking']);\n\n let enable_tracking = function () {\n var u = \"https://analytics.awesome-it.de/\";\n _paq.push(['setTrackerUrl', u + 'matomo.php']);\n // TODO: This does only support awesome-cloud (site ID 13) and awesome-it (site ID 1)\n _paq.push(['setSiteId', document.location.href.match(/awesome-cloud/) ? '13' : '1']);\n\n window._paq = _paq;\n\n var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];\n g.type = 'text/javascript';\n g.async = true;\n g.defer = true;\n g.src = u + 'matomo.js';\n s.parentNode.insertBefore(g, s);\n };\n\n enable_tracking();\n }\n\n\n configure_recaptcha(allow_cookies) {\n\n // Recaptcha is used by Contact Form 7. We prevent loading the Recaptcha scripts and prevent applying\n // the filters in the backend if the following cookie exists (we assume that there is no contact form on\n // the first page).\n\n if (allow_cookies) {\n Cookies.set(this.cookie_recpatcha, true);\n } else {\n Cookies.remove(this.cookie_recpatcha, true);\n }\n }\n\n show_modal() {\n let $modal = $('.awesome-modal-consent');\n\n $modal.on('show.bs.modal', ev => {\n\n $modal.removeClass('modal-closed');\n\n let settings = this.get();\n\n $('#awesome-consent-matomo').prop('checked', !!settings.matomo);\n $('#awesome-consent-recaptcha').prop('checked', !!settings.recaptcha);\n\n });\n\n $modal.on('hidden.bs.modal', ev => {\n\n this.set({\n matomo: $('#awesome-consent-matomo').prop('checked'),\n recaptcha: $('#awesome-consent-recaptcha').prop('checked')\n });\n\n this.enforce();\n $modal.addClass('modal-closed');\n });\n\n $modal.modal({\n backdrop: 'static',\n keyboard: false,\n show: true,\n focus: true,\n });\n }\n\n expire_cookies(names) {\n let cookies = document.cookie.split(\";\");\n\n for (let cookie in cookies) {\n let eq_pos = cookie.indexOf(\"=\");\n let name = eq_pos > -1 ? cookie.substr(0, eq_pos) : cookie;\n\n if(names.length === 0 || names.indexOf(name) > -1)\n Cookies.remove(name);\n }\n }\n\n is_crawler() {\n return /bot|googlebot|crawler|spider|robot|crawling/i.test(navigator.userAgent)\n }\n\n is_whitelisted() {\n return this.whitelist.some(path => {\n console.log('is_whitelisted', path, window.location.pathname.indexOf(path), window.location.pathname.indexOf(path) >= 0)\n return window.location.pathname.indexOf(path) >= 0\n })\n }\n }\n\n $(document).ready(() => {\n let consent = new ConsentSettings();\n\n if (!consent.configured()) {\n if (!consent.is_crawler() && !consent.is_whitelisted()) {\n consent.show_modal();\n }\n }\n else consent.enforce();\n\n // Export function to call globally\n window.show_consent_modal = consent.show_modal.bind(consent);\n $('.awesome-show-consent-modal').on('click', window.show_consent_modal);\n });\n\n}(jQuery));"]}