Real Cookie Banner: GDPR (DSGVO) & ePrivacy Cookie Consent - Version 3.0.1

Version Description

Download this release

Release Info

Developer devowl
Plugin Icon 128x128 Real Cookie Banner: GDPR (DSGVO) & ePrivacy Cookie Consent
Version 3.0.1
Comparing to
See all releases

Code changes from version 3.0.0 to 3.0.1

CHANGELOG.md CHANGED
@@ -3,6 +3,33 @@
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  # 3.0.0 (2022-06-13)
7
 
8
 
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
6
+ ## 3.0.1 (2022-07-06)
7
+
8
+
9
+ ### chore
10
+
11
+ * send accepted group slugs to consent forwarding endpoints (CU-2mk0wyq)
12
+
13
+
14
+ ### fix
15
+
16
+ * allow to block JSON in inline scripts granularly (e.g. inline translations, CU-2my9x5r)
17
+ * compatibility with autoptimize and aggregate inline CSS (CU-2m7jfhg)
18
+ * compatibility with Avada Fusion Builder video facade (lite-youtube-embed, CU-2nfkhc3)
19
+ * compatibility with Elementor Pro popups and visual content blocker (CU-2kp8vmg)
20
+ * compatibility with FacetWP and Maps add-on (CU-2p6az87)
21
+ * compatibility with latest Thrive Ledas ribbons
22
+ * compatibility with NitroPack (CU-232f9nh)
23
+ * compatibility with ProvenExpert badge (CU-2nv12n8)
24
+ * compatibility with RankMath SEO and Google Analytics GA4 property (CU-2je6juk)
25
+ * exclude rcb-calc-time from scanner result source url (CU-2my9x5r)
26
+ * text for list of services not changeable when WPML/PolyLang active (CU-2nfktuh)
27
+ * wrong notice in media library about services without privacy policy (CU-2jzg30c)
28
+
29
+
30
+
31
+
32
+
33
  # 3.0.0 (2022-06-13)
34
 
35
 
README.txt CHANGED
@@ -1,7 +1,7 @@
1
  === Real Cookie Banner: GDPR (DSGVO) & ePrivacy Cookie Consent ===
2
  Contributors: devowl, mguenter, jankarres, mrguenter
3
  Tags: cookie banner, cookie consent, cookie plugin, cookie scanner, gdpr, dsgvo, eprivacy, eu cookie law, cookie policy, cookie, consent, consent management
4
- Stable tag: 3.0.0
5
  Requires at least: 5.2
6
  Requires PHP: 7.2.0
7
  Tested up to: 6.0
1
  === Real Cookie Banner: GDPR (DSGVO) & ePrivacy Cookie Consent ===
2
  Contributors: devowl, mguenter, jankarres, mrguenter
3
  Tags: cookie banner, cookie consent, cookie plugin, cookie scanner, gdpr, dsgvo, eprivacy, eu cookie law, cookie policy, cookie, consent, consent management
4
+ Stable tag: 3.0.1
5
  Requires at least: 5.2
6
  Requires PHP: 7.2.0
7
  Tested up to: 6.0
inc/Core.php CHANGED
@@ -341,6 +341,7 @@ class Core extends \DevOwl\RealCookieBanner\base\Core implements
341
  // WP Grid builder refresh ajax action
342
  add_filter('autoptimize_filter_html_before_minify', [$this->getBlocker(), 'replace']);
343
  // Autoptimize
 
344
  add_filter('litespeed_buffer_before', [$this->getBlocker(), 'replace'], 1);
345
  // LiteSpeed Cache
346
  add_filter('litespeed_ccss_url', [$this->getBlocker(), 'modifyUrlToSkipContentBlocker']);
341
  // WP Grid builder refresh ajax action
342
  add_filter('autoptimize_filter_html_before_minify', [$this->getBlocker(), 'replace']);
343
  // Autoptimize
344
+ add_filter('autoptimize_filter_css_exclude', [$this->getBlocker(), 'autoptimize_filter_css_exclude']);
345
  add_filter('litespeed_buffer_before', [$this->getBlocker(), 'replace'], 1);
346
  // LiteSpeed Cache
347
  add_filter('litespeed_ccss_url', [$this->getBlocker(), 'modifyUrlToSkipContentBlocker']);
inc/base/others/cachebuster-lib.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- /* This file was automatically generated (Mon Jun 13 2022 08:13:19 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'animate.css' => '4.1.1',
5
  'mobx' => '4.15.7',
1
  <?php
2
+ /* This file was automatically generated (Wed Jul 06 2022 09:43:07 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'animate.css' => '4.1.1',
5
  'mobx' => '4.15.7',
inc/base/others/cachebuster.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- /* This file was automatically generated (Mon Jun 13 2022 08:13:19 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'src/public/dist/13.pro.js' => '6866a22bfe639345873e9415ddeca7f4',
5
  'src/public/dist/18.lite.js' => 'ac7161e6dcd33daecfd4f83e56b0cf00',
@@ -24,7 +24,7 @@ return [
24
  'src/public/dist/795.pro.js' => '0f2c5c70d9be03caab24126e536c3c3d',
25
  'src/public/dist/812.lite.js' => '2b4a36a5d4162172ec25662893748524',
26
  'src/public/dist/836.lite.js' => 'd896b66d63bfe9ef41031dcf1cc1271f',
27
- 'src/public/dist/861.pro.js' => 'd723fe756b406692185fd91e70de10b9',
28
  'src/public/dist/914.lite.js' => 'e58092e06d5f33173282b43d04705d56',
29
  'src/public/dist/914.pro.js' => '182de60076ce6b7f80084a25543f0e63',
30
  'src/public/dist/933.lite.js' => 'e24ccdc9754ba2f74ef5394f29bf42f6',
@@ -34,17 +34,17 @@ return [
34
  'src/public/dist/995.lite.js' => '4f9f4bd3e0ad7939ef90bc7e049d0ede',
35
  'src/public/dist/995.pro.js' => 'dbe57fe203f1b050ddb42490c9589efa',
36
  'src/public/dist/admin.lite.js' => '26b0bc016ef23056be3339d615e626f2',
37
- 'src/public/dist/admin.pro.js' => '0d1fc0a99afbffe530155bacbfcdad51',
38
- 'src/public/dist/banner_tcf.pro.js' => 'd479940cc745eb3c49886857ebf591da',
39
- 'src/public/dist/banner.lite.js' => '3b7672055d449e2b7388236a7c2f55b2',
40
- 'src/public/dist/banner.pro.js' => '7a6ca1a03acc07ad296575064805e7c0',
41
- 'src/public/dist/blocker_tcf.pro.js' => '0e8821bce07e81b066e9618a08131a21',
42
- 'src/public/dist/blocker.lite.js' => 'fa36986cf8a86cfbc0b54f3004104a0f',
43
- 'src/public/dist/blocker.pro.js' => 'bf67d9b483d9af8b837f698fac489354',
44
  'src/public/dist/chunk-config-tab-blocker.lite.js' => '5cb105a818b285e48a57b59bc61ab5fa',
45
  'src/public/dist/chunk-config-tab-blocker.pro.js' => '8b792453095e244c7dc64721c2f3ad0b',
46
  'src/public/dist/chunk-config-tab-consent.lite.js' => '88c1c6ee015eb350b9a296d5c86d0951',
47
- 'src/public/dist/chunk-config-tab-consent.pro.js' => '9361749550fc48331b5543e63534e21f',
48
  'src/public/dist/chunk-config-tab-cookies.lite.js' => 'bb2781128dcd96923011cc45cf44a87b',
49
  'src/public/dist/chunk-config-tab-cookies.pro.js' => '987209b0473b106357bfe1cbab4f6310',
50
  'src/public/dist/chunk-config-tab-dashboard.lite.js' => '470e5e758f452c37d430d813b53fcd0e',
@@ -59,8 +59,8 @@ return [
59
  'src/public/dist/chunk-config-tab-settings.pro.js' => '0727d7ef8d5f8fc66869d3fb39062a46',
60
  'src/public/dist/chunk-config-tab-tcf.lite.js' => '0adcbf2f3ea0f9ab7ebc49bbdd415813',
61
  'src/public/dist/chunk-config-tab-tcf.pro.js' => '7e87bb493095bd8024163e00e140e746',
62
- 'src/public/dist/customize_banner.lite.js' => 'c71401f58a1d6e64668452d08d3b27bb',
63
- 'src/public/dist/customize_banner.pro.js' => 'dd3f8d57e9d0dac55f7e7f3d06d1fc2c',
64
  'src/public/dist/customize.lite.js' => '74eea56813259c0dec291e20466fe0bc',
65
  'src/public/dist/customize.pro.js' => 'b873769232874d709740555ca1fad624',
66
  'src/public/dist/queue.lite.js' => '7b9c552c5049e1b529155a7c01b25aef',
@@ -68,7 +68,7 @@ return [
68
  'src/public/dist/vendor-admin.lite.js' => 'f1c19a085c135d0f8d34f8678f9737df',
69
  'src/public/dist/vendor-admin.pro.js' => 'a66ff8967c03ab9411bbbe3051ca0b94',
70
  'src/public/dist/vendor-banner_tcf.pro.js' => '5f087cf149b75526844e11e03ba7ca32',
71
- 'src/public/dist/vendor-banner.lite.js' => 'd536d0d314c301ffe15f694ac21dc404',
72
  'src/public/dist/vendor-banner.pro.js' => '7a72278ea147e6c777ef2c21d441214d',
73
  'src/public/dist/vendor-customize_banner.lite.js' => '18020ebd4fd9ed4062a55152c7eeb6ae',
74
  'src/public/dist/vendor-customize_banner.pro.js' => '17c03de8dd20b79d97cbc928b3b826f5',
1
  <?php
2
+ /* This file was automatically generated (Wed Jul 06 2022 09:43:07 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'src/public/dist/13.pro.js' => '6866a22bfe639345873e9415ddeca7f4',
5
  'src/public/dist/18.lite.js' => 'ac7161e6dcd33daecfd4f83e56b0cf00',
24
  'src/public/dist/795.pro.js' => '0f2c5c70d9be03caab24126e536c3c3d',
25
  'src/public/dist/812.lite.js' => '2b4a36a5d4162172ec25662893748524',
26
  'src/public/dist/836.lite.js' => 'd896b66d63bfe9ef41031dcf1cc1271f',
27
+ 'src/public/dist/861.pro.js' => '516c5baa12315fbd7f09469279781436',
28
  'src/public/dist/914.lite.js' => 'e58092e06d5f33173282b43d04705d56',
29
  'src/public/dist/914.pro.js' => '182de60076ce6b7f80084a25543f0e63',
30
  'src/public/dist/933.lite.js' => 'e24ccdc9754ba2f74ef5394f29bf42f6',
34
  'src/public/dist/995.lite.js' => '4f9f4bd3e0ad7939ef90bc7e049d0ede',
35
  'src/public/dist/995.pro.js' => 'dbe57fe203f1b050ddb42490c9589efa',
36
  'src/public/dist/admin.lite.js' => '26b0bc016ef23056be3339d615e626f2',
37
+ 'src/public/dist/admin.pro.js' => 'a149028897f0a3b9e666f23d5549e2e7',
38
+ 'src/public/dist/banner_tcf.pro.js' => '7257bbee87e9b41ff05dd79cc759e456',
39
+ 'src/public/dist/banner.lite.js' => '5f9cd3cba6c265c05eabe436701e0e34',
40
+ 'src/public/dist/banner.pro.js' => '70e504dbd2c331f807d4ce1b8b9fa2cf',
41
+ 'src/public/dist/blocker_tcf.pro.js' => '8914c2b4a085ed43c9f52aaad7b3c482',
42
+ 'src/public/dist/blocker.lite.js' => '2344ccd001835a656457eca14d0f29cb',
43
+ 'src/public/dist/blocker.pro.js' => '7ee76d54ba9bf42cda35227487c061d5',
44
  'src/public/dist/chunk-config-tab-blocker.lite.js' => '5cb105a818b285e48a57b59bc61ab5fa',
45
  'src/public/dist/chunk-config-tab-blocker.pro.js' => '8b792453095e244c7dc64721c2f3ad0b',
46
  'src/public/dist/chunk-config-tab-consent.lite.js' => '88c1c6ee015eb350b9a296d5c86d0951',
47
+ 'src/public/dist/chunk-config-tab-consent.pro.js' => '8f67614fc58a026fb0c3c4f216bcc2e6',
48
  'src/public/dist/chunk-config-tab-cookies.lite.js' => 'bb2781128dcd96923011cc45cf44a87b',
49
  'src/public/dist/chunk-config-tab-cookies.pro.js' => '987209b0473b106357bfe1cbab4f6310',
50
  'src/public/dist/chunk-config-tab-dashboard.lite.js' => '470e5e758f452c37d430d813b53fcd0e',
59
  'src/public/dist/chunk-config-tab-settings.pro.js' => '0727d7ef8d5f8fc66869d3fb39062a46',
60
  'src/public/dist/chunk-config-tab-tcf.lite.js' => '0adcbf2f3ea0f9ab7ebc49bbdd415813',
61
  'src/public/dist/chunk-config-tab-tcf.pro.js' => '7e87bb493095bd8024163e00e140e746',
62
+ 'src/public/dist/customize_banner.lite.js' => '995619347b7f9a1e8bc619ba60f3bfdb',
63
+ 'src/public/dist/customize_banner.pro.js' => 'fc002ed1c3fe400d25d46629303e9b6a',
64
  'src/public/dist/customize.lite.js' => '74eea56813259c0dec291e20466fe0bc',
65
  'src/public/dist/customize.pro.js' => 'b873769232874d709740555ca1fad624',
66
  'src/public/dist/queue.lite.js' => '7b9c552c5049e1b529155a7c01b25aef',
68
  'src/public/dist/vendor-admin.lite.js' => 'f1c19a085c135d0f8d34f8678f9737df',
69
  'src/public/dist/vendor-admin.pro.js' => 'a66ff8967c03ab9411bbbe3051ca0b94',
70
  'src/public/dist/vendor-banner_tcf.pro.js' => '5f087cf149b75526844e11e03ba7ca32',
71
+ 'src/public/dist/vendor-banner.lite.js' => '9d21941f8683c473e4fad7ce9737b540',
72
  'src/public/dist/vendor-banner.pro.js' => '7a72278ea147e6c777ef2c21d441214d',
73
  'src/public/dist/vendor-customize_banner.lite.js' => '18020ebd4fd9ed4062a55152c7eeb6ae',
74
  'src/public/dist/vendor-customize_banner.pro.js' => '17c03de8dd20b79d97cbc928b3b826f5',
inc/overrides/lite/Core.php CHANGED
@@ -105,6 +105,7 @@ use DevOwl\RealCookieBanner\presets\pro\blocker\PopupMakerPreset as BlockerPopup
105
  use DevOwl\RealCookieBanner\presets\pro\blocker\ProvenExpertWidgetPreset as BlockerProvenExpertWidgetPreset;
106
  use DevOwl\RealCookieBanner\presets\pro\blocker\QuformRecaptchaPreset;
107
  use DevOwl\RealCookieBanner\presets\pro\blocker\RankMathGAPreset as BlockerRankMathGAPreset;
 
108
  use DevOwl\RealCookieBanner\presets\pro\blocker\RedditPreset as BlockerRedditPreset;
109
  use DevOwl\RealCookieBanner\presets\pro\blocker\SendinbluePreset as BlockerSendinbluePreset;
110
  use DevOwl\RealCookieBanner\presets\pro\blocker\SmashBalloonSocialPhotoFeedPreset as BlockerSmashBalloonSocialPhotoFeedPreset;
@@ -215,6 +216,7 @@ use DevOwl\RealCookieBanner\presets\pro\PopupMakerPreset;
215
  use DevOwl\RealCookieBanner\presets\pro\ProvenExpertWidgetPreset;
216
  use DevOwl\RealCookieBanner\presets\pro\QuformPreset;
217
  use DevOwl\RealCookieBanner\presets\pro\RankMathGAPreset;
 
218
  use DevOwl\RealCookieBanner\presets\pro\ReamazeChatPreset;
219
  use DevOwl\RealCookieBanner\presets\pro\RedditPreset;
220
  use DevOwl\RealCookieBanner\presets\pro\SendinbluePreset;
@@ -549,7 +551,9 @@ trait Core {
549
  \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::ETRACKER =>
550
  \DevOwl\RealCookieBanner\presets\pro\EtrackerPreset::class,
551
  \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::ETRACKER_WITH_CONSENT =>
552
- \DevOwl\RealCookieBanner\presets\pro\EtrackerWithConsentPreset::class
 
 
553
  ]);
554
  }
555
  /**
@@ -782,7 +786,9 @@ trait Core {
782
  \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::ETRACKER =>
783
  \DevOwl\RealCookieBanner\presets\pro\blocker\EtrackerPreset::class,
784
  \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::ETRACKER_WITH_CONSENT =>
785
- \DevOwl\RealCookieBanner\presets\pro\blocker\EtrackerWithConsentPreset::class
 
 
786
  ]);
787
  }
788
  }
105
  use DevOwl\RealCookieBanner\presets\pro\blocker\ProvenExpertWidgetPreset as BlockerProvenExpertWidgetPreset;
106
  use DevOwl\RealCookieBanner\presets\pro\blocker\QuformRecaptchaPreset;
107
  use DevOwl\RealCookieBanner\presets\pro\blocker\RankMathGAPreset as BlockerRankMathGAPreset;
108
+ use DevOwl\RealCookieBanner\presets\pro\blocker\RankMathGA4Preset as BlockerRankMathGA4Preset;
109
  use DevOwl\RealCookieBanner\presets\pro\blocker\RedditPreset as BlockerRedditPreset;
110
  use DevOwl\RealCookieBanner\presets\pro\blocker\SendinbluePreset as BlockerSendinbluePreset;
111
  use DevOwl\RealCookieBanner\presets\pro\blocker\SmashBalloonSocialPhotoFeedPreset as BlockerSmashBalloonSocialPhotoFeedPreset;
216
  use DevOwl\RealCookieBanner\presets\pro\ProvenExpertWidgetPreset;
217
  use DevOwl\RealCookieBanner\presets\pro\QuformPreset;
218
  use DevOwl\RealCookieBanner\presets\pro\RankMathGAPreset;
219
+ use DevOwl\RealCookieBanner\presets\pro\RankMathGA4Preset;
220
  use DevOwl\RealCookieBanner\presets\pro\ReamazeChatPreset;
221
  use DevOwl\RealCookieBanner\presets\pro\RedditPreset;
222
  use DevOwl\RealCookieBanner\presets\pro\SendinbluePreset;
551
  \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::ETRACKER =>
552
  \DevOwl\RealCookieBanner\presets\pro\EtrackerPreset::class,
553
  \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::ETRACKER_WITH_CONSENT =>
554
+ \DevOwl\RealCookieBanner\presets\pro\EtrackerWithConsentPreset::class,
555
+ \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::RANKMATH_GA_4 =>
556
+ \DevOwl\RealCookieBanner\presets\pro\RankMathGA4Preset::class
557
  ]);
558
  }
559
  /**
786
  \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::ETRACKER =>
787
  \DevOwl\RealCookieBanner\presets\pro\blocker\EtrackerPreset::class,
788
  \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::ETRACKER_WITH_CONSENT =>
789
+ \DevOwl\RealCookieBanner\presets\pro\blocker\EtrackerWithConsentPreset::class,
790
+ \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::RANKMATH_GA_4 =>
791
+ \DevOwl\RealCookieBanner\presets\pro\blocker\RankMathGA4Preset::class
792
  ]);
793
  }
794
  }
inc/presets/PresetIdentifierMap.php CHANGED
@@ -126,6 +126,7 @@ class PresetIdentifierMap {
126
  const PROVEN_EXPERT_WIDGET = 'proven-expert-widget';
127
  const QUFORM = 'quform';
128
  const RANKMATH_GA = 'rank-math-ga';
 
129
  const REAL_COOKIE_BANNER = 'real-cookie-banner';
130
  const REAMAZE_CHAT = 'reamaze-chat';
131
  const REDDIT = 'reddit';
126
  const PROVEN_EXPERT_WIDGET = 'proven-expert-widget';
127
  const QUFORM = 'quform';
128
  const RANKMATH_GA = 'rank-math-ga';
129
+ const RANKMATH_GA_4 = 'rank-math-ga-4';
130
  const REAL_COOKIE_BANNER = 'real-cookie-banner';
131
  const REAMAZE_CHAT = 'reamaze-chat';
132
  const REDDIT = 'reddit';
inc/presets/free/blocker/YoutubePreset.php CHANGED
@@ -54,7 +54,9 @@ class YoutubePreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerPres
54
  // [Plugin Comp] Thrive Visual Editor
55
  'div[class*="tcb-yt-bg"]',
56
  // [Plugin Comp] https://wordpress.org/plugins/wp-video-lightbox/
57
- 'a[href*="youtube.com"][rel="wp-video-lightbox"]'
 
 
58
  ],
59
  'cookies' => [\DevOwl\RealCookieBanner\presets\free\YoutubePreset::IDENTIFIER],
60
  'visual' => \true,
54
  // [Plugin Comp] Thrive Visual Editor
55
  'div[class*="tcb-yt-bg"]',
56
  // [Plugin Comp] https://wordpress.org/plugins/wp-video-lightbox/
57
+ 'a[href*="youtube.com"][rel="wp-video-lightbox"]',
58
+ // https://github.com/paulirish/lite-youtube-embed
59
+ 'lite-youtube[videoid]'
60
  ],
61
  'cookies' => [\DevOwl\RealCookieBanner\presets\free\YoutubePreset::IDENTIFIER],
62
  'visual' => \true,
inc/presets/pro/RankMathGA4Preset.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace DevOwl\RealCookieBanner\presets\pro;
4
+
5
+ use DevOwl\RealCookieBanner\Core;
6
+ use DevOwl\RealCookieBanner\presets\AbstractCookiePreset;
7
+ use DevOwl\RealCookieBanner\presets\PresetIdentifierMap;
8
+ // @codeCoverageIgnoreStart
9
+ \defined('ABSPATH') or die('No script kiddies please!');
10
+ // Avoid direct file request
11
+ // @codeCoverageIgnoreEnd
12
+ /**
13
+ * RankMath Google Analytics preset -> Google Analytics cookie preset.
14
+ */
15
+ class RankMathGA4Preset extends \DevOwl\RealCookieBanner\presets\AbstractCookiePreset {
16
+ const IDENTIFIER = \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::RANKMATH_GA_4;
17
+ const VERSION = \DevOwl\RealCookieBanner\presets\pro\GoogleAnalytics4Preset::VERSION;
18
+ // Documented in AbstractPreset
19
+ public function common() {
20
+ $name = 'RankMath Google Analytics';
21
+ $extendsAttributes = (new \DevOwl\RealCookieBanner\presets\pro\GoogleAnalytics4Preset())->common();
22
+ return [
23
+ 'id' => self::IDENTIFIER,
24
+ 'version' => self::VERSION,
25
+ 'name' => $name,
26
+ 'description' => $extendsAttributes['description'],
27
+ 'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/rank-math.png'),
28
+ 'needs' => \DevOwl\RealCookieBanner\presets\pro\RankMathGAPreset::needs()
29
+ ];
30
+ }
31
+ // Documented in AbstractPreset
32
+ public function managerNone() {
33
+ return \false;
34
+ }
35
+ // Documented in AbstractPreset
36
+ public function managerGtm() {
37
+ return \false;
38
+ }
39
+ // Documented in AbstractPreset
40
+ public function managerMtm() {
41
+ return \false;
42
+ }
43
+ }
inc/presets/pro/blocker/CalendlyPreset.php CHANGED
@@ -28,7 +28,8 @@ class CalendlyPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerPre
28
  'a[onclick*="Calendly.initPopupWidget"]',
29
  'Calendly.initBadgeWidget',
30
  'Calendly.initPopupWidget',
31
- '*assets.calendly.com*'
 
32
  ]
33
  ],
34
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/calendly.png')
28
  'a[onclick*="Calendly.initPopupWidget"]',
29
  'Calendly.initBadgeWidget',
30
  'Calendly.initPopupWidget',
31
+ '*assets.calendly.com*',
32
+ '*calendly.com/assets/*'
33
  ]
34
  ],
35
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/calendly.png')
inc/presets/pro/blocker/GoogleMapsPreset.php CHANGED
@@ -119,7 +119,10 @@ class GoogleMapsPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerP
119
  '.googleMap({',
120
  // [Plugin Comp] https://crocoblock.com/knowledge-base/articles/jetengine-maps-listing-overview/
121
  'div[class*="elementor-widget-jet-engine-maps-listing"]',
122
- '*/wp-content/plugins/jet-engine/assets/js/frontend-maps*'
 
 
 
123
  ]
124
  ],
125
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/google-maps.png')
119
  '.googleMap({',
120
  // [Plugin Comp] https://crocoblock.com/knowledge-base/articles/jetengine-maps-listing-overview/
121
  'div[class*="elementor-widget-jet-engine-maps-listing"]',
122
+ '*/wp-content/plugins/jet-engine/assets/js/frontend-maps*',
123
+ // [Plugin Comp] https://facetwp.com/help-center/facets/facet-types/map/
124
+ '*/wp-content/plugins/facetwp-map-facet/assets/js/*',
125
+ 'div[class*="facetwp-type-map"]'
126
  ]
127
  ],
128
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/google-maps.png')
inc/presets/pro/blocker/ProvenExpertWidgetPreset.php CHANGED
@@ -29,7 +29,8 @@ class ProvenExpertWidgetPreset extends \DevOwl\RealCookieBanner\presets\Abstract
29
  '*provenexpert.com/css*',
30
  // https://lp.provenexpert.com/de/provenexpert-pro-seal/
31
  '*provenexpert.net/seals*',
32
- 'provenExpert.proSeal'
 
33
  ]
34
  ],
35
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/provenexpert.png')
29
  '*provenexpert.com/css*',
30
  // https://lp.provenexpert.com/de/provenexpert-pro-seal/
31
  '*provenexpert.net/seals*',
32
+ 'provenExpert.proSeal',
33
+ '*provenexpert.com/badge*'
34
  ]
35
  ],
36
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/provenexpert.png')
inc/presets/pro/blocker/RankMathGA4Preset.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace DevOwl\RealCookieBanner\presets\pro\blocker;
4
+
5
+ use DevOwl\RealCookieBanner\Core;
6
+ use DevOwl\RealCookieBanner\presets\pro\RankMathGAPreset as PresetsRankMathGA4Preset;
7
+ use DevOwl\RealCookieBanner\presets\pro\RankMathGAPreset as PresetsRankMathGAPreset;
8
+ use DevOwl\RealCookieBanner\presets\AbstractBlockerPreset;
9
+ // @codeCoverageIgnoreStart
10
+ \defined('ABSPATH') or die('No script kiddies please!');
11
+ // Avoid direct file request
12
+ // @codeCoverageIgnoreEnd
13
+ /**
14
+ * RankMath Google Analytics preset -> Google Analytics blocker preset.
15
+ */
16
+ class RankMathGA4Preset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerPreset {
17
+ const IDENTIFIER = \DevOwl\RealCookieBanner\presets\pro\RankMathGAPreset::IDENTIFIER;
18
+ const VERSION = \DevOwl\RealCookieBanner\presets\pro\blocker\GoogleAnalytics4Preset::VERSION;
19
+ // Documented in AbstractPreset
20
+ public function common() {
21
+ $name = 'RankMath Google Analytics';
22
+ $extendsAttributes = (new \DevOwl\RealCookieBanner\presets\pro\blocker\GoogleAnalytics4Preset())->common();
23
+ return [
24
+ 'id' => self::IDENTIFIER,
25
+ 'version' => self::VERSION,
26
+ 'name' => $name,
27
+ 'description' => $extendsAttributes['description'],
28
+ 'attributes' => [
29
+ 'extends' => \DevOwl\RealCookieBanner\presets\pro\blocker\GoogleAnalytics4Preset::IDENTIFIER
30
+ ],
31
+ 'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/rank-math.png'),
32
+ 'needs' => \DevOwl\RealCookieBanner\presets\pro\RankMathGAPreset::needs()
33
+ ];
34
+ }
35
+ }
inc/presets/pro/blocker/ThriveLeadsPreset.php CHANGED
@@ -22,7 +22,9 @@ class ThriveLeadsPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlocker
22
  'id' => self::IDENTIFIER,
23
  'version' => self::VERSION,
24
  'name' => $name,
25
- 'attributes' => ['hosts' => ['*plugins/thrive-leads*', '*tve_leads*', 'window.TL_Front']],
 
 
26
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/thrive-leads.png'),
27
  'needs' => \DevOwl\RealCookieBanner\presets\pro\ThriveLeadsPreset::needs()
28
  ];
22
  'id' => self::IDENTIFIER,
23
  'version' => self::VERSION,
24
  'name' => $name,
25
+ 'attributes' => [
26
+ 'hosts' => ['*plugins/thrive-leads*', '*tve_leads*', 'window.TL_Front', 'div[data-tl-type="ribbon"]']
27
+ ],
28
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/thrive-leads.png'),
29
  'needs' => \DevOwl\RealCookieBanner\presets\pro\ThriveLeadsPreset::needs()
30
  ];
inc/presets/pro/blocker/VimeoPreset.php CHANGED
@@ -34,7 +34,9 @@ class VimeoPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerPreset
34
  // [Plugin Comp] tagDiv Composer
35
  'div[class*="td_wrapper_playlist_player_vimeo"]',
36
  // [Plugin Comp] https://wordpress.org/plugins/wp-video-lightbox/
37
- 'a[href*="vimeo.com"][rel="wp-video-lightbox"]'
 
 
38
  ]
39
  ],
40
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/vimeo.png')
34
  // [Plugin Comp] tagDiv Composer
35
  'div[class*="td_wrapper_playlist_player_vimeo"]',
36
  // [Plugin Comp] https://wordpress.org/plugins/wp-video-lightbox/
37
+ 'a[href*="vimeo.com"][rel="wp-video-lightbox"]',
38
+ // https://github.com/luwes/lite-vimeo-embed
39
+ 'lite-vimeo[videoid]'
40
  ]
41
  ],
42
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/vimeo.png')
inc/scanner/Scanner.php CHANGED
@@ -10,6 +10,7 @@ use DevOwl\RealCookieBanner\Cache;
10
  use DevOwl\RealCookieBanner\Core;
11
  use DevOwl\RealCookieBanner\presets\BlockerPresets;
12
  use DevOwl\RealCookieBanner\settings\Blocker;
 
13
  use DevOwl\RealCookieBanner\Utils;
14
  use DevOwl\RealCookieBanner\view\blockable\BlockerPostType;
15
  use DevOwl\RealCookieBanner\view\Scanner as ViewScanner;
@@ -538,6 +539,7 @@ class Scanner {
538
  \DevOwl\RealCookieBanner\Utils::getRequestUrl()
539
  );
540
  $result = remove_query_arg(\DevOwl\RealCookieBanner\scanner\Scanner::QUERY_ARG_JOB_ID, $result);
 
541
  return $result;
542
  }
543
  }
10
  use DevOwl\RealCookieBanner\Core;
11
  use DevOwl\RealCookieBanner\presets\BlockerPresets;
12
  use DevOwl\RealCookieBanner\settings\Blocker;
13
+ use DevOwl\RealCookieBanner\view\Blocker as BlockerView;
14
  use DevOwl\RealCookieBanner\Utils;
15
  use DevOwl\RealCookieBanner\view\blockable\BlockerPostType;
16
  use DevOwl\RealCookieBanner\view\Scanner as ViewScanner;
539
  \DevOwl\RealCookieBanner\Utils::getRequestUrl()
540
  );
541
  $result = remove_query_arg(\DevOwl\RealCookieBanner\scanner\Scanner::QUERY_ARG_JOB_ID, $result);
542
+ $result = remove_query_arg(\DevOwl\RealCookieBanner\view\Blocker::FORCE_TIME_COMMENT_QUERY_ARG, $result);
543
  return $result;
544
  }
545
  }
inc/view/Banner.php CHANGED
@@ -2,6 +2,7 @@
2
 
3
  namespace DevOwl\RealCookieBanner\view;
4
 
 
5
  use DevOwl\RealCookieBanner\Vendor\DevOwl\Customize\Utils;
6
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\AttributesHelper;
7
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\Constants;
@@ -174,7 +175,11 @@ class Banner {
174
  echo \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\Utils::applyDynamicsToHtml(
175
  \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\AttributesHelper::skipHtmlTagsInContentBlocker(
176
  $script,
177
- self::HTML_ATTRIBUTE_SKIP_LAZY_LOADING_PLUGINS
 
 
 
 
178
  ),
179
  $cookie->metas[\DevOwl\RealCookieBanner\settings\Cookie::META_NAME_CODE_DYNAMICS] ?? []
180
  );
2
 
3
  namespace DevOwl\RealCookieBanner\view;
4
 
5
+ use DevOwl\RealCookieBanner\Vendor\DevOwl\CacheInvalidate\CacheInvalidator;
6
  use DevOwl\RealCookieBanner\Vendor\DevOwl\Customize\Utils;
7
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\AttributesHelper;
8
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\Constants;
175
  echo \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\Utils::applyDynamicsToHtml(
176
  \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\AttributesHelper::skipHtmlTagsInContentBlocker(
177
  $script,
178
+ \sprintf(
179
+ '%s %s',
180
+ self::HTML_ATTRIBUTE_SKIP_LAZY_LOADING_PLUGINS,
181
+ \DevOwl\RealCookieBanner\Vendor\DevOwl\CacheInvalidate\CacheInvalidator::getInstance()->getExcludeHtmlAttributesString()
182
+ )
183
  ),
184
  $cookie->metas[\DevOwl\RealCookieBanner\settings\Cookie::META_NAME_CODE_DYNAMICS] ?? []
185
  );
inc/view/BannerCustomize.php CHANGED
@@ -108,6 +108,11 @@ class BannerCustomize extends \DevOwl\RealCookieBanner\Vendor\DevOwl\Customize\A
108
  \DevOwl\RealCookieBanner\view\customize\banner\Texts::SETTING_AGE_NOTICE_BLOCKER,
109
  $adminDefaultTextsBanner['ageNoticeBlocker']
110
  );
 
 
 
 
 
111
  new \DevOwl\RealCookieBanner\Vendor\DevOwl\Multilingual\LanguageDependingOption(
112
  $comp,
113
  \DevOwl\RealCookieBanner\view\customize\banner\Texts::SETTING_CONSENT_FORWARDING,
108
  \DevOwl\RealCookieBanner\view\customize\banner\Texts::SETTING_AGE_NOTICE_BLOCKER,
109
  $adminDefaultTextsBanner['ageNoticeBlocker']
110
  );
111
+ new \DevOwl\RealCookieBanner\Vendor\DevOwl\Multilingual\LanguageDependingOption(
112
+ $comp,
113
+ \DevOwl\RealCookieBanner\view\customize\banner\Texts::SETTING_LIST_SERVICES_NOTICE,
114
+ $adminDefaultTextsBanner['listServicesNotice']
115
+ );
116
  new \DevOwl\RealCookieBanner\Vendor\DevOwl\Multilingual\LanguageDependingOption(
117
  $comp,
118
  \DevOwl\RealCookieBanner\view\customize\banner\Texts::SETTING_CONSENT_FORWARDING,
inc/view/Blocker.php CHANGED
@@ -3,6 +3,7 @@
3
  namespace DevOwl\RealCookieBanner\view;
4
 
5
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\AbstractBlockable;
 
6
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\HeadlessContentBlocker;
7
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\imagePreview\ImagePreview;
8
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\scanner\BlockableScanner;
@@ -49,7 +50,9 @@ class Blocker {
49
  // [Plugin Comp] OptimizePress
50
  '.op3-contenttoggleitem-content',
51
  // [Plugin Comp] Popup Maker
52
- '.pum-overlay'
 
 
53
  ];
54
  const OB_START_PLUGINS_LOADED_PRIORITY = (\PHP_INT_MAX - 1) * -1;
55
  /**
@@ -283,6 +286,20 @@ class Blocker {
283
  \true
284
  );
285
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
286
  /**
287
  * Modify any URL and add a query argument to skip the content blocker mechanism.
288
  *
3
  namespace DevOwl\RealCookieBanner\view;
4
 
5
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\AbstractBlockable;
6
+ use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\Constants;
7
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\HeadlessContentBlocker;
8
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\imagePreview\ImagePreview;
9
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\scanner\BlockableScanner;
50
  // [Plugin Comp] OptimizePress
51
  '.op3-contenttoggleitem-content',
52
  // [Plugin Comp] Popup Maker
53
+ '.pum-overlay',
54
+ // [Plugin Comp] Elementor Pro Popups
55
+ '[data-elementor-type="popup"]'
56
  ];
57
  const OB_START_PLUGINS_LOADED_PRIORITY = (\PHP_INT_MAX - 1) * -1;
58
  /**
286
  \true
287
  );
288
  }
289
+ /**
290
+ * Exclude blocked styles from autoptimize inline aggregation.
291
+ *
292
+ * @param string $exclusions
293
+ * @see https://github.com/futtta/autoptimize/pull/386#issuecomment-1156622026
294
+ */
295
+ public function autoptimize_filter_css_exclude($exclusions) {
296
+ return \sprintf(
297
+ '%s, %s-href-%s',
298
+ $exclusions,
299
+ \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\Constants::HTML_ATTRIBUTE_CAPTURE_PREFIX,
300
+ \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\Constants::HTML_ATTRIBUTE_CAPTURE_SUFFIX
301
+ );
302
+ }
303
  /**
304
  * Modify any URL and add a query argument to skip the content blocker mechanism.
305
  *
inc/view/ConfigPage.php CHANGED
@@ -35,7 +35,14 @@ class ConfigPage {
35
  * Create an admin notice for services without privacy policy set.
36
  */
37
  public function admin_notices_services_with_empty_privacy_policy() {
 
38
  $url = $this->getUrl();
 
 
 
 
 
 
39
  $servicesWithoutPrivacyPolicy = get_posts(
40
  \DevOwl\RealCookieBanner\Core::getInstance()->queryArguments(
41
  [
@@ -47,7 +54,7 @@ class ConfigPage {
47
  [
48
  'key' => \DevOwl\RealCookieBanner\settings\Cookie::META_NAME_PROVIDER_PRIVACY_POLICY,
49
  'value' => '',
50
- 'compare' => ''
51
  ]
52
  ],
53
  'post_status' => ['publish', 'private', 'draft']
@@ -55,6 +62,8 @@ class ConfigPage {
55
  'ConfigPage::admin_notices_services_with_empty_privacy_policy'
56
  )
57
  );
 
 
58
  if (\count($servicesWithoutPrivacyPolicy) === 0) {
59
  return;
60
  }
35
  * Create an admin notice for services without privacy policy set.
36
  */
37
  public function admin_notices_services_with_empty_privacy_policy() {
38
+ global $typenow;
39
  $url = $this->getUrl();
40
+ // Divi & Elementor Pro overrides the meta query in a wrong way, but instead of contacting them (slow response)
41
+ // we just reset the post type which gets read by their filters. Learn more about it here: https://app.clickup.com/t/2jzg30c
42
+ $oldTypeNow = $typenow;
43
+ $oldWpQueryVarTypeNow = get_query_var('post_type');
44
+ $typenow = \DevOwl\RealCookieBanner\settings\Cookie::CPT_NAME;
45
+ set_query_var('post_type', \DevOwl\RealCookieBanner\settings\Cookie::CPT_NAME);
46
  $servicesWithoutPrivacyPolicy = get_posts(
47
  \DevOwl\RealCookieBanner\Core::getInstance()->queryArguments(
48
  [
54
  [
55
  'key' => \DevOwl\RealCookieBanner\settings\Cookie::META_NAME_PROVIDER_PRIVACY_POLICY,
56
  'value' => '',
57
+ 'compare' => '='
58
  ]
59
  ],
60
  'post_status' => ['publish', 'private', 'draft']
62
  'ConfigPage::admin_notices_services_with_empty_privacy_policy'
63
  )
64
  );
65
+ $typenow = $oldTypeNow;
66
+ set_query_var('post_type', $oldWpQueryVarTypeNow);
67
  if (\count($servicesWithoutPrivacyPolicy) === 0) {
68
  return;
69
  }
inc/view/blocker/Plugin.php CHANGED
@@ -16,12 +16,14 @@ use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\matcher\StyleIn
16
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\matcher\StyleInlineMatcher;
17
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\matcher\TagAttributeMatcher;
18
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\Autoplay;
 
19
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\DoNotBlockScriptTextTemplates;
20
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\Image;
21
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\imagePreview\ImagePreview;
22
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\LazyLoadingLibraries;
23
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\LinkBlocker;
24
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\LinkRelBlocker;
 
25
  use DevOwl\RealCookieBanner\base\UtilsProvider;
26
  use DevOwl\RealCookieBanner\Core;
27
  use DevOwl\RealCookieBanner\lite\view\blocker\WordPressImagePreviewCache;
@@ -138,6 +140,9 @@ class Plugin extends \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlock
138
  $cb->addPlugin(
139
  \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\LazyLoadingLibraries::class
140
  );
 
 
 
141
  /**
142
  * Plugin.
143
  *
@@ -146,6 +151,19 @@ class Plugin extends \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlock
146
  $linkRelBlockerPlugin = $cb->addPlugin(
147
  \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\LinkRelBlocker::class
148
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
149
  /**
150
  * Legal opinion: With `dns-prefetch`, only the DNS server specified by the website visitor
151
  * is requested and not, for example, Google Fonts. Consequently, data is only passed
16
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\matcher\StyleInlineMatcher;
17
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\matcher\TagAttributeMatcher;
18
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\Autoplay;
19
+ use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\CustomElementBlocker;
20
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\DoNotBlockScriptTextTemplates;
21
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\Image;
22
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\imagePreview\ImagePreview;
23
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\LazyLoadingLibraries;
24
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\LinkBlocker;
25
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\LinkRelBlocker;
26
+ use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\ScriptInlineJsonBlocker;
27
  use DevOwl\RealCookieBanner\base\UtilsProvider;
28
  use DevOwl\RealCookieBanner\Core;
29
  use DevOwl\RealCookieBanner\lite\view\blocker\WordPressImagePreviewCache;
140
  $cb->addPlugin(
141
  \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\LazyLoadingLibraries::class
142
  );
143
+ $cb->addPlugin(
144
+ \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\CustomElementBlocker::class
145
+ );
146
  /**
147
  * Plugin.
148
  *
151
  $linkRelBlockerPlugin = $cb->addPlugin(
152
  \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\LinkRelBlocker::class
153
  );
154
+ /**
155
+ * Plugin.
156
+ *
157
+ * @var ScriptInlineJsonBlocker
158
+ */
159
+ $scriptInlineJsonBlocker = $cb->addPlugin(
160
+ \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\ScriptInlineJsonBlocker::class
161
+ );
162
+ $scriptInlineJsonBlocker->addSchema(
163
+ 'wp.i18n.setLocaleData',
164
+ '/(wp\\.i18n\\.setLocaleData\\(\\s*localeData,\\s*domain\\s*\\);\\s*}\\s*\\)\\s*\\(\\s*"[^"]+",\\s*)(.*)(\\)\\s*;\\s*<\\/script>)/m',
165
+ '</script>'
166
+ );
167
  /**
168
  * Legal opinion: With `dns-prefetch`, only the DNS server specified by the website visitor
169
  * is requested and not, for example, Google Fonts. Consequently, data is only passed
index.php CHANGED
@@ -8,7 +8,7 @@
8
  * Description: Obtain GDPR (DSGVO) and ePrivacy (EU cookie law) compliant opt-in consent. Find cookies and fill all legal information in your cookie banner. More than just a cookie notice!
9
  * Author: devowl.io
10
  * Author URI: https://devowl.io
11
- * Version: 3.0.0
12
  * Text Domain: real-cookie-banner
13
  * Domain Path: /languages
14
  */
8
  * Description: Obtain GDPR (DSGVO) and ePrivacy (EU cookie law) compliant opt-in consent. Find cookies and fill all legal information in your cookie banner. More than just a cookie notice!
9
  * Author: devowl.io
10
  * Author URI: https://devowl.io
11
+ * Version: 3.0.1
12
  * Text Domain: real-cookie-banner
13
  * Domain Path: /languages
14
  */
languages/real-cookie-banner-de_AT.po CHANGED
@@ -4,8 +4,8 @@ msgstr ""
4
  "POT-Creation-Date: n/a\n"
5
  "PO-Revision-Date: 2022-06-13 06:58+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
- "Language-Team: German <https://translate.devowl.io/projects/"
8
- "wordpress-real-cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_AT\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -720,17 +720,16 @@ msgstr ""
720
  "Rechtsauslegung aller deutschen Datenschutzbehörden) gibt es jetzt klarere "
721
  "Regeln, welche die EU-weit geltende <a href=\"https://eur-lex.europa.eu/"
722
  "legal-content/EN/TXT/?uri=celex%3A32009L0136\" target=\"_blank\">ePrivacy-"
723
- "Richtlinie</a> und <a href=\"https://dsgvo-gesetz.de/\" target=\"_blank\""
724
- ">DSGVO</a> weiter auslegen oder ergänzen. Außerdem gab es wichtige "
725
  "Entscheidungen wie die Bewertung von <a href=\"https://www."
726
- "autoriteprotectiondonnees.be/publications/decision-quant-au-"
727
- "fond-n-21-2022-english.pdf\" target=\"_blank\">TCF durch ADP (Belgien)</a>, "
728
- "die <a href=\"https://noyb.eu/sites/default/files/2022-01/"
729
- "E-DSB%20-%20Google%20Analytics_DE_bk_0.pdf\" target=\"_blank\">Google "
730
- "Analytics Entscheidung von dsb (Österreich)</a> und die <a href=\"https://www"
731
- ".cnil.fr/sites/default/files/atoms/files/"
732
- "decision_ordering_to_comply_anonymised_-_google_analytics.pdf\" target="
733
- "\"_blank\">Stellungnahme zu Google Analytics von CNIL</a>."
734
 
735
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
736
  msgid ""
@@ -798,8 +797,8 @@ msgid ""
798
  "and revoke consent must be directly accessible on every sub-page of your "
799
  "website."
800
  msgstr ""
801
- "Gemäß den Anforderungen des <a href=\"https://www.datenschutzkonferenz-online"
802
- ".de/media/oh/20211220_oh_telemedien.pdf\" target=\"_blank\">"
803
  "\"Orientierungshilfe der Konferenz der unabhängigen "
804
  "Datenschutzaufsichtsbehörden des Bundes und der Länder\"</a> muss die "
805
  "Möglichkeit, die Einwilligung einzusehen, zu ändern und zu widerrufen, auf "
@@ -951,8 +950,8 @@ msgid ""
951
  msgstr ""
952
  "Mit Real Cookie Banner 3.0 haben wir ein großes Update veröffentlicht, in "
953
  "dem wir u.a. aktuelle rechtliche Anpassungen vorgenommen haben. Mehr zu den "
954
- "Änderungen erfährst du in unserem <a href=\"https://devowl.io/de/2022/"
955
- "real-cookie-banner-3-0/\" target=\"_blank\">Blogbeitrag.</a>."
956
 
957
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
958
  msgid ""
@@ -2654,8 +2653,8 @@ msgid ""
2654
  "What do you have to consider when integrating %1$s into your website? <a "
2655
  "href=\"%2$s\" target=\"_blank\">Learn more about it in our blog!</a>"
2656
  msgstr ""
2657
- "Was musst du beachten, wenn du %1$s in deine Website integrierst? <a href=\""
2658
- "%2$s\" target=\"_blank\">Erfahre mehr darüber in unserem Blog!</a>"
2659
 
2660
  #: inc/overrides/pro/presets/FacebookPixelPreset.php:1
2661
  msgid "https://devowl.io/2022/facebook-pixel-wordpress-gdpr/"
@@ -4353,6 +4352,7 @@ msgstr ""
4353
  "reCAPTCHA innerhalb des Plugins verwendest, müssen die Formulare blockiert "
4354
  "werden, bis du eine Einwilligung für Google reCAPTCHA hast."
4355
 
 
4356
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4357
  msgid ""
4358
  "Please note that the \"Anonymize IP addresses\" feature, which is mandatory "
@@ -4362,6 +4362,7 @@ msgstr ""
4362
  "erforderlich ist, um DSGVO-konform zu sein, nur in der kostenpflichtigen "
4363
  "Version von Rank Math verfügbar ist."
4364
 
 
4365
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4366
  msgid ""
4367
  "We recommend that you disable the \"Install analytics code\" option in Rank "
@@ -5879,8 +5880,8 @@ msgstr ""
5879
  "Google übertragen, weshalb du eine Einwilligung benötigst. Real Cookie "
5880
  "Banner muss die Einwilligung vor dem Laden von Google Fonts prüfen (falls "
5881
  "eine Einwilligung vorliegt), was einige Millisekunden pro Seitenaufruf "
5882
- "dauert. Daher wirst du unweigerlich einen kleinen Flackereffekt ("
5883
- "Schriftartwechsel nach ein paar Millisekunden) auf deiner Website "
5884
  "feststellen."
5885
 
5886
  #: inc/presets/free/GoogleFontsPreset.php:1
@@ -5890,11 +5891,10 @@ msgid ""
5890
  "hosted fonts</a> when possible, rather than asking for consent. We explained "
5891
  "how this works in our blog!"
5892
  msgstr ""
5893
- "Wir empfehlen daher, <a href=\"https://devowl.io/de/2022/"
5894
- "google-fonts-wordpress-dsgvo/\" target=\"_blank\">Google Fonts wenn möglich "
5895
- "durch lokal gehostete Schriftarten zu ersetzen</a>, anstatt nach einer "
5896
- "Einwilligung zu fragen. Wie das funktioniert, haben wir in unserem Blog "
5897
- "erklärt!"
5898
 
5899
  #: inc/presets/free/GravatarPreset.php:1
5900
  msgid ""
@@ -6113,8 +6113,8 @@ msgid ""
6113
  "than asking for consent. How to do that, we have explained in our blog!"
6114
  msgstr ""
6115
  "Sofern du nicht besonders alte Browser und Betriebssysteme unterstützen "
6116
- "musst, empfehlen wir dir, das <a href=\"https://devowl.io/de/2022/"
6117
- "wordpress-emojis-deaktivieren/\" target=\"_blank\">WordPress-Emoji-Script zu "
6118
  "deaktivieren</a>, anstatt nach einer Einwilligung zu fragen. Wie du das "
6119
  "machst, haben wir in unserem Blog erklärt!"
6120
 
4
  "POT-Creation-Date: n/a\n"
5
  "PO-Revision-Date: 2022-06-13 06:58+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
+ "Language-Team: German <https://translate.devowl.io/projects/wordpress-real-"
8
+ "cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_AT\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
720
  "Rechtsauslegung aller deutschen Datenschutzbehörden) gibt es jetzt klarere "
721
  "Regeln, welche die EU-weit geltende <a href=\"https://eur-lex.europa.eu/"
722
  "legal-content/EN/TXT/?uri=celex%3A32009L0136\" target=\"_blank\">ePrivacy-"
723
+ "Richtlinie</a> und <a href=\"https://dsgvo-gesetz.de/\" target=\"_blank"
724
+ "\">DSGVO</a> weiter auslegen oder ergänzen. Außerdem gab es wichtige "
725
  "Entscheidungen wie die Bewertung von <a href=\"https://www."
726
+ "autoriteprotectiondonnees.be/publications/decision-quant-au-fond-n-21-2022-"
727
+ "english.pdf\" target=\"_blank\">TCF durch ADP (Belgien)</a>, die <a href="
728
+ "\"https://noyb.eu/sites/default/files/2022-01/E-DSB%20-%20Google"
729
+ "%20Analytics_DE_bk_0.pdf\" target=\"_blank\">Google Analytics Entscheidung "
730
+ "von dsb (Österreich)</a> und die <a href=\"https://www.cnil.fr/sites/default/"
731
+ "files/atoms/files/decision_ordering_to_comply_anonymised_-_google_analytics."
732
+ "pdf\" target=\"_blank\">Stellungnahme zu Google Analytics von CNIL</a>."
 
733
 
734
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
735
  msgid ""
797
  "and revoke consent must be directly accessible on every sub-page of your "
798
  "website."
799
  msgstr ""
800
+ "Gemäß den Anforderungen des <a href=\"https://www.datenschutzkonferenz-"
801
+ "online.de/media/oh/20211220_oh_telemedien.pdf\" target=\"_blank\">"
802
  "\"Orientierungshilfe der Konferenz der unabhängigen "
803
  "Datenschutzaufsichtsbehörden des Bundes und der Länder\"</a> muss die "
804
  "Möglichkeit, die Einwilligung einzusehen, zu ändern und zu widerrufen, auf "
950
  msgstr ""
951
  "Mit Real Cookie Banner 3.0 haben wir ein großes Update veröffentlicht, in "
952
  "dem wir u.a. aktuelle rechtliche Anpassungen vorgenommen haben. Mehr zu den "
953
+ "Änderungen erfährst du in unserem <a href=\"https://devowl.io/de/2022/real-"
954
+ "cookie-banner-3-0/\" target=\"_blank\">Blogbeitrag.</a>."
955
 
956
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
957
  msgid ""
2653
  "What do you have to consider when integrating %1$s into your website? <a "
2654
  "href=\"%2$s\" target=\"_blank\">Learn more about it in our blog!</a>"
2655
  msgstr ""
2656
+ "Was musst du beachten, wenn du %1$s in deine Website integrierst? <a href="
2657
+ "\"%2$s\" target=\"_blank\">Erfahre mehr darüber in unserem Blog!</a>"
2658
 
2659
  #: inc/overrides/pro/presets/FacebookPixelPreset.php:1
2660
  msgid "https://devowl.io/2022/facebook-pixel-wordpress-gdpr/"
4352
  "reCAPTCHA innerhalb des Plugins verwendest, müssen die Formulare blockiert "
4353
  "werden, bis du eine Einwilligung für Google reCAPTCHA hast."
4354
 
4355
+ #: inc/overrides/pro/presets/RankMathGA4Preset.php:1
4356
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4357
  msgid ""
4358
  "Please note that the \"Anonymize IP addresses\" feature, which is mandatory "
4362
  "erforderlich ist, um DSGVO-konform zu sein, nur in der kostenpflichtigen "
4363
  "Version von Rank Math verfügbar ist."
4364
 
4365
+ #: inc/overrides/pro/presets/RankMathGA4Preset.php:1
4366
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4367
  msgid ""
4368
  "We recommend that you disable the \"Install analytics code\" option in Rank "
5880
  "Google übertragen, weshalb du eine Einwilligung benötigst. Real Cookie "
5881
  "Banner muss die Einwilligung vor dem Laden von Google Fonts prüfen (falls "
5882
  "eine Einwilligung vorliegt), was einige Millisekunden pro Seitenaufruf "
5883
+ "dauert. Daher wirst du unweigerlich einen kleinen Flackereffekt "
5884
+ "(Schriftartwechsel nach ein paar Millisekunden) auf deiner Website "
5885
  "feststellen."
5886
 
5887
  #: inc/presets/free/GoogleFontsPreset.php:1
5891
  "hosted fonts</a> when possible, rather than asking for consent. We explained "
5892
  "how this works in our blog!"
5893
  msgstr ""
5894
+ "Wir empfehlen daher, <a href=\"https://devowl.io/de/2022/google-fonts-"
5895
+ "wordpress-dsgvo/\" target=\"_blank\">Google Fonts wenn möglich durch lokal "
5896
+ "gehostete Schriftarten zu ersetzen</a>, anstatt nach einer Einwilligung zu "
5897
+ "fragen. Wie das funktioniert, haben wir in unserem Blog erklärt!"
 
5898
 
5899
  #: inc/presets/free/GravatarPreset.php:1
5900
  msgid ""
6113
  "than asking for consent. How to do that, we have explained in our blog!"
6114
  msgstr ""
6115
  "Sofern du nicht besonders alte Browser und Betriebssysteme unterstützen "
6116
+ "musst, empfehlen wir dir, das <a href=\"https://devowl.io/de/2022/wordpress-"
6117
+ "emojis-deaktivieren/\" target=\"_blank\">WordPress-Emoji-Script zu "
6118
  "deaktivieren</a>, anstatt nach einer Einwilligung zu fragen. Wie du das "
6119
  "machst, haben wir in unserem Blog erklärt!"
6120
 
languages/real-cookie-banner-de_CH.po CHANGED
@@ -4,8 +4,8 @@ msgstr ""
4
  "POT-Creation-Date: n/a\n"
5
  "PO-Revision-Date: 2022-06-13 06:58+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
- "Language-Team: German <https://translate.devowl.io/projects/"
8
- "wordpress-real-cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_CH\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -720,17 +720,16 @@ msgstr ""
720
  "Rechtsauslegung aller deutschen Datenschutzbehörden) gibt es jetzt klarere "
721
  "Regeln, welche die EU-weit geltende <a href=\"https://eur-lex.europa.eu/"
722
  "legal-content/EN/TXT/?uri=celex%3A32009L0136\" target=\"_blank\">ePrivacy-"
723
- "Richtlinie</a> und <a href=\"https://dsgvo-gesetz.de/\" target=\"_blank\""
724
- ">DSGVO</a> weiter auslegen oder ergänzen. Außerdem gab es wichtige "
725
  "Entscheidungen wie die Bewertung von <a href=\"https://www."
726
- "autoriteprotectiondonnees.be/publications/decision-quant-au-"
727
- "fond-n-21-2022-english.pdf\" target=\"_blank\">TCF durch ADP (Belgien)</a>, "
728
- "die <a href=\"https://noyb.eu/sites/default/files/2022-01/"
729
- "E-DSB%20-%20Google%20Analytics_DE_bk_0.pdf\" target=\"_blank\">Google "
730
- "Analytics Entscheidung von dsb (Österreich)</a> und die <a href=\"https://www"
731
- ".cnil.fr/sites/default/files/atoms/files/"
732
- "decision_ordering_to_comply_anonymised_-_google_analytics.pdf\" target="
733
- "\"_blank\">Stellungnahme zu Google Analytics von CNIL</a>."
734
 
735
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
736
  msgid ""
@@ -798,8 +797,8 @@ msgid ""
798
  "and revoke consent must be directly accessible on every sub-page of your "
799
  "website."
800
  msgstr ""
801
- "Gemäß den Anforderungen des <a href=\"https://www.datenschutzkonferenz-online"
802
- ".de/media/oh/20211220_oh_telemedien.pdf\" target=\"_blank\">"
803
  "\"Orientierungshilfe der Konferenz der unabhängigen "
804
  "Datenschutzaufsichtsbehörden des Bundes und der Länder\"</a> muss die "
805
  "Möglichkeit, die Einwilligung einzusehen, zu ändern und zu widerrufen, auf "
@@ -951,8 +950,8 @@ msgid ""
951
  msgstr ""
952
  "Mit Real Cookie Banner 3.0 haben wir ein großes Update veröffentlicht, in "
953
  "dem wir u.a. aktuelle rechtliche Anpassungen vorgenommen haben. Mehr zu den "
954
- "Änderungen erfährst du in unserem <a href=\"https://devowl.io/de/2022/"
955
- "real-cookie-banner-3-0/\" target=\"_blank\">Blogbeitrag.</a>."
956
 
957
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
958
  msgid ""
@@ -2654,8 +2653,8 @@ msgid ""
2654
  "What do you have to consider when integrating %1$s into your website? <a "
2655
  "href=\"%2$s\" target=\"_blank\">Learn more about it in our blog!</a>"
2656
  msgstr ""
2657
- "Was musst du beachten, wenn du %1$s in deine Website integrierst? <a href=\""
2658
- "%2$s\" target=\"_blank\">Erfahre mehr darüber in unserem Blog!</a>"
2659
 
2660
  #: inc/overrides/pro/presets/FacebookPixelPreset.php:1
2661
  msgid "https://devowl.io/2022/facebook-pixel-wordpress-gdpr/"
@@ -4353,6 +4352,7 @@ msgstr ""
4353
  "reCAPTCHA innerhalb des Plugins verwendest, müssen die Formulare blockiert "
4354
  "werden, bis du eine Einwilligung für Google reCAPTCHA hast."
4355
 
 
4356
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4357
  msgid ""
4358
  "Please note that the \"Anonymize IP addresses\" feature, which is mandatory "
@@ -4362,6 +4362,7 @@ msgstr ""
4362
  "erforderlich ist, um DSGVO-konform zu sein, nur in der kostenpflichtigen "
4363
  "Version von Rank Math verfügbar ist."
4364
 
 
4365
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4366
  msgid ""
4367
  "We recommend that you disable the \"Install analytics code\" option in Rank "
@@ -5879,8 +5880,8 @@ msgstr ""
5879
  "Google übertragen, weshalb du eine Einwilligung benötigst. Real Cookie "
5880
  "Banner muss die Einwilligung vor dem Laden von Google Fonts prüfen (falls "
5881
  "eine Einwilligung vorliegt), was einige Millisekunden pro Seitenaufruf "
5882
- "dauert. Daher wirst du unweigerlich einen kleinen Flackereffekt ("
5883
- "Schriftartwechsel nach ein paar Millisekunden) auf deiner Website "
5884
  "feststellen."
5885
 
5886
  #: inc/presets/free/GoogleFontsPreset.php:1
@@ -5890,11 +5891,10 @@ msgid ""
5890
  "hosted fonts</a> when possible, rather than asking for consent. We explained "
5891
  "how this works in our blog!"
5892
  msgstr ""
5893
- "Wir empfehlen daher, <a href=\"https://devowl.io/de/2022/"
5894
- "google-fonts-wordpress-dsgvo/\" target=\"_blank\">Google Fonts wenn möglich "
5895
- "durch lokal gehostete Schriftarten zu ersetzen</a>, anstatt nach einer "
5896
- "Einwilligung zu fragen. Wie das funktioniert, haben wir in unserem Blog "
5897
- "erklärt!"
5898
 
5899
  #: inc/presets/free/GravatarPreset.php:1
5900
  msgid ""
@@ -6113,8 +6113,8 @@ msgid ""
6113
  "than asking for consent. How to do that, we have explained in our blog!"
6114
  msgstr ""
6115
  "Sofern du nicht besonders alte Browser und Betriebssysteme unterstützen "
6116
- "musst, empfehlen wir dir, das <a href=\"https://devowl.io/de/2022/"
6117
- "wordpress-emojis-deaktivieren/\" target=\"_blank\">WordPress-Emoji-Script zu "
6118
  "deaktivieren</a>, anstatt nach einer Einwilligung zu fragen. Wie du das "
6119
  "machst, haben wir in unserem Blog erklärt!"
6120
 
4
  "POT-Creation-Date: n/a\n"
5
  "PO-Revision-Date: 2022-06-13 06:58+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
+ "Language-Team: German <https://translate.devowl.io/projects/wordpress-real-"
8
+ "cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_CH\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
720
  "Rechtsauslegung aller deutschen Datenschutzbehörden) gibt es jetzt klarere "
721
  "Regeln, welche die EU-weit geltende <a href=\"https://eur-lex.europa.eu/"
722
  "legal-content/EN/TXT/?uri=celex%3A32009L0136\" target=\"_blank\">ePrivacy-"
723
+ "Richtlinie</a> und <a href=\"https://dsgvo-gesetz.de/\" target=\"_blank"
724
+ "\">DSGVO</a> weiter auslegen oder ergänzen. Außerdem gab es wichtige "
725
  "Entscheidungen wie die Bewertung von <a href=\"https://www."
726
+ "autoriteprotectiondonnees.be/publications/decision-quant-au-fond-n-21-2022-"
727
+ "english.pdf\" target=\"_blank\">TCF durch ADP (Belgien)</a>, die <a href="
728
+ "\"https://noyb.eu/sites/default/files/2022-01/E-DSB%20-%20Google"
729
+ "%20Analytics_DE_bk_0.pdf\" target=\"_blank\">Google Analytics Entscheidung "
730
+ "von dsb (Österreich)</a> und die <a href=\"https://www.cnil.fr/sites/default/"
731
+ "files/atoms/files/decision_ordering_to_comply_anonymised_-_google_analytics."
732
+ "pdf\" target=\"_blank\">Stellungnahme zu Google Analytics von CNIL</a>."
 
733
 
734
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
735
  msgid ""
797
  "and revoke consent must be directly accessible on every sub-page of your "
798
  "website."
799
  msgstr ""
800
+ "Gemäß den Anforderungen des <a href=\"https://www.datenschutzkonferenz-"
801
+ "online.de/media/oh/20211220_oh_telemedien.pdf\" target=\"_blank\">"
802
  "\"Orientierungshilfe der Konferenz der unabhängigen "
803
  "Datenschutzaufsichtsbehörden des Bundes und der Länder\"</a> muss die "
804
  "Möglichkeit, die Einwilligung einzusehen, zu ändern und zu widerrufen, auf "
950
  msgstr ""
951
  "Mit Real Cookie Banner 3.0 haben wir ein großes Update veröffentlicht, in "
952
  "dem wir u.a. aktuelle rechtliche Anpassungen vorgenommen haben. Mehr zu den "
953
+ "Änderungen erfährst du in unserem <a href=\"https://devowl.io/de/2022/real-"
954
+ "cookie-banner-3-0/\" target=\"_blank\">Blogbeitrag.</a>."
955
 
956
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
957
  msgid ""
2653
  "What do you have to consider when integrating %1$s into your website? <a "
2654
  "href=\"%2$s\" target=\"_blank\">Learn more about it in our blog!</a>"
2655
  msgstr ""
2656
+ "Was musst du beachten, wenn du %1$s in deine Website integrierst? <a href="
2657
+ "\"%2$s\" target=\"_blank\">Erfahre mehr darüber in unserem Blog!</a>"
2658
 
2659
  #: inc/overrides/pro/presets/FacebookPixelPreset.php:1
2660
  msgid "https://devowl.io/2022/facebook-pixel-wordpress-gdpr/"
4352
  "reCAPTCHA innerhalb des Plugins verwendest, müssen die Formulare blockiert "
4353
  "werden, bis du eine Einwilligung für Google reCAPTCHA hast."
4354
 
4355
+ #: inc/overrides/pro/presets/RankMathGA4Preset.php:1
4356
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4357
  msgid ""
4358
  "Please note that the \"Anonymize IP addresses\" feature, which is mandatory "
4362
  "erforderlich ist, um DSGVO-konform zu sein, nur in der kostenpflichtigen "
4363
  "Version von Rank Math verfügbar ist."
4364
 
4365
+ #: inc/overrides/pro/presets/RankMathGA4Preset.php:1
4366
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4367
  msgid ""
4368
  "We recommend that you disable the \"Install analytics code\" option in Rank "
5880
  "Google übertragen, weshalb du eine Einwilligung benötigst. Real Cookie "
5881
  "Banner muss die Einwilligung vor dem Laden von Google Fonts prüfen (falls "
5882
  "eine Einwilligung vorliegt), was einige Millisekunden pro Seitenaufruf "
5883
+ "dauert. Daher wirst du unweigerlich einen kleinen Flackereffekt "
5884
+ "(Schriftartwechsel nach ein paar Millisekunden) auf deiner Website "
5885
  "feststellen."
5886
 
5887
  #: inc/presets/free/GoogleFontsPreset.php:1
5891
  "hosted fonts</a> when possible, rather than asking for consent. We explained "
5892
  "how this works in our blog!"
5893
  msgstr ""
5894
+ "Wir empfehlen daher, <a href=\"https://devowl.io/de/2022/google-fonts-"
5895
+ "wordpress-dsgvo/\" target=\"_blank\">Google Fonts wenn möglich durch lokal "
5896
+ "gehostete Schriftarten zu ersetzen</a>, anstatt nach einer Einwilligung zu "
5897
+ "fragen. Wie das funktioniert, haben wir in unserem Blog erklärt!"
 
5898
 
5899
  #: inc/presets/free/GravatarPreset.php:1
5900
  msgid ""
6113
  "than asking for consent. How to do that, we have explained in our blog!"
6114
  msgstr ""
6115
  "Sofern du nicht besonders alte Browser und Betriebssysteme unterstützen "
6116
+ "musst, empfehlen wir dir, das <a href=\"https://devowl.io/de/2022/wordpress-"
6117
+ "emojis-deaktivieren/\" target=\"_blank\">WordPress-Emoji-Script zu "
6118
  "deaktivieren</a>, anstatt nach einer Einwilligung zu fragen. Wie du das "
6119
  "machst, haben wir in unserem Blog erklärt!"
6120
 
languages/real-cookie-banner-de_CH_informal.po CHANGED
@@ -4,8 +4,8 @@ msgstr ""
4
  "POT-Creation-Date: n/a\n"
5
  "PO-Revision-Date: 2022-06-13 06:58+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
- "Language-Team: German <https://translate.devowl.io/projects/"
8
- "wordpress-real-cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_CH_informal\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -720,17 +720,16 @@ msgstr ""
720
  "Rechtsauslegung aller deutschen Datenschutzbehörden) gibt es jetzt klarere "
721
  "Regeln, welche die EU-weit geltende <a href=\"https://eur-lex.europa.eu/"
722
  "legal-content/EN/TXT/?uri=celex%3A32009L0136\" target=\"_blank\">ePrivacy-"
723
- "Richtlinie</a> und <a href=\"https://dsgvo-gesetz.de/\" target=\"_blank\""
724
- ">DSGVO</a> weiter auslegen oder ergänzen. Außerdem gab es wichtige "
725
  "Entscheidungen wie die Bewertung von <a href=\"https://www."
726
- "autoriteprotectiondonnees.be/publications/decision-quant-au-"
727
- "fond-n-21-2022-english.pdf\" target=\"_blank\">TCF durch ADP (Belgien)</a>, "
728
- "die <a href=\"https://noyb.eu/sites/default/files/2022-01/"
729
- "E-DSB%20-%20Google%20Analytics_DE_bk_0.pdf\" target=\"_blank\">Google "
730
- "Analytics Entscheidung von dsb (Österreich)</a> und die <a href=\"https://www"
731
- ".cnil.fr/sites/default/files/atoms/files/"
732
- "decision_ordering_to_comply_anonymised_-_google_analytics.pdf\" target="
733
- "\"_blank\">Stellungnahme zu Google Analytics von CNIL</a>."
734
 
735
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
736
  msgid ""
@@ -798,8 +797,8 @@ msgid ""
798
  "and revoke consent must be directly accessible on every sub-page of your "
799
  "website."
800
  msgstr ""
801
- "Gemäß den Anforderungen des <a href=\"https://www.datenschutzkonferenz-online"
802
- ".de/media/oh/20211220_oh_telemedien.pdf\" target=\"_blank\">"
803
  "\"Orientierungshilfe der Konferenz der unabhängigen "
804
  "Datenschutzaufsichtsbehörden des Bundes und der Länder\"</a> muss die "
805
  "Möglichkeit, die Einwilligung einzusehen, zu ändern und zu widerrufen, auf "
@@ -951,8 +950,8 @@ msgid ""
951
  msgstr ""
952
  "Mit Real Cookie Banner 3.0 haben wir ein großes Update veröffentlicht, in "
953
  "dem wir u.a. aktuelle rechtliche Anpassungen vorgenommen haben. Mehr zu den "
954
- "Änderungen erfährst du in unserem <a href=\"https://devowl.io/de/2022/"
955
- "real-cookie-banner-3-0/\" target=\"_blank\">Blogbeitrag.</a>."
956
 
957
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
958
  msgid ""
@@ -2654,8 +2653,8 @@ msgid ""
2654
  "What do you have to consider when integrating %1$s into your website? <a "
2655
  "href=\"%2$s\" target=\"_blank\">Learn more about it in our blog!</a>"
2656
  msgstr ""
2657
- "Was musst du beachten, wenn du %1$s in deine Website integrierst? <a href=\""
2658
- "%2$s\" target=\"_blank\">Erfahre mehr darüber in unserem Blog!</a>"
2659
 
2660
  #: inc/overrides/pro/presets/FacebookPixelPreset.php:1
2661
  msgid "https://devowl.io/2022/facebook-pixel-wordpress-gdpr/"
@@ -4353,6 +4352,7 @@ msgstr ""
4353
  "reCAPTCHA innerhalb des Plugins verwendest, müssen die Formulare blockiert "
4354
  "werden, bis du eine Einwilligung für Google reCAPTCHA hast."
4355
 
 
4356
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4357
  msgid ""
4358
  "Please note that the \"Anonymize IP addresses\" feature, which is mandatory "
@@ -4362,6 +4362,7 @@ msgstr ""
4362
  "erforderlich ist, um DSGVO-konform zu sein, nur in der kostenpflichtigen "
4363
  "Version von Rank Math verfügbar ist."
4364
 
 
4365
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4366
  msgid ""
4367
  "We recommend that you disable the \"Install analytics code\" option in Rank "
@@ -5879,8 +5880,8 @@ msgstr ""
5879
  "Google übertragen, weshalb du eine Einwilligung benötigst. Real Cookie "
5880
  "Banner muss die Einwilligung vor dem Laden von Google Fonts prüfen (falls "
5881
  "eine Einwilligung vorliegt), was einige Millisekunden pro Seitenaufruf "
5882
- "dauert. Daher wirst du unweigerlich einen kleinen Flackereffekt ("
5883
- "Schriftartwechsel nach ein paar Millisekunden) auf deiner Website "
5884
  "feststellen."
5885
 
5886
  #: inc/presets/free/GoogleFontsPreset.php:1
@@ -5890,11 +5891,10 @@ msgid ""
5890
  "hosted fonts</a> when possible, rather than asking for consent. We explained "
5891
  "how this works in our blog!"
5892
  msgstr ""
5893
- "Wir empfehlen daher, <a href=\"https://devowl.io/de/2022/"
5894
- "google-fonts-wordpress-dsgvo/\" target=\"_blank\">Google Fonts wenn möglich "
5895
- "durch lokal gehostete Schriftarten zu ersetzen</a>, anstatt nach einer "
5896
- "Einwilligung zu fragen. Wie das funktioniert, haben wir in unserem Blog "
5897
- "erklärt!"
5898
 
5899
  #: inc/presets/free/GravatarPreset.php:1
5900
  msgid ""
@@ -6113,8 +6113,8 @@ msgid ""
6113
  "than asking for consent. How to do that, we have explained in our blog!"
6114
  msgstr ""
6115
  "Sofern du nicht besonders alte Browser und Betriebssysteme unterstützen "
6116
- "musst, empfehlen wir dir, das <a href=\"https://devowl.io/de/2022/"
6117
- "wordpress-emojis-deaktivieren/\" target=\"_blank\">WordPress-Emoji-Script zu "
6118
  "deaktivieren</a>, anstatt nach einer Einwilligung zu fragen. Wie du das "
6119
  "machst, haben wir in unserem Blog erklärt!"
6120
 
4
  "POT-Creation-Date: n/a\n"
5
  "PO-Revision-Date: 2022-06-13 06:58+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
+ "Language-Team: German <https://translate.devowl.io/projects/wordpress-real-"
8
+ "cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_CH_informal\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
720
  "Rechtsauslegung aller deutschen Datenschutzbehörden) gibt es jetzt klarere "
721
  "Regeln, welche die EU-weit geltende <a href=\"https://eur-lex.europa.eu/"
722
  "legal-content/EN/TXT/?uri=celex%3A32009L0136\" target=\"_blank\">ePrivacy-"
723
+ "Richtlinie</a> und <a href=\"https://dsgvo-gesetz.de/\" target=\"_blank"
724
+ "\">DSGVO</a> weiter auslegen oder ergänzen. Außerdem gab es wichtige "
725
  "Entscheidungen wie die Bewertung von <a href=\"https://www."
726
+ "autoriteprotectiondonnees.be/publications/decision-quant-au-fond-n-21-2022-"
727
+ "english.pdf\" target=\"_blank\">TCF durch ADP (Belgien)</a>, die <a href="
728
+ "\"https://noyb.eu/sites/default/files/2022-01/E-DSB%20-%20Google"
729
+ "%20Analytics_DE_bk_0.pdf\" target=\"_blank\">Google Analytics Entscheidung "
730
+ "von dsb (Österreich)</a> und die <a href=\"https://www.cnil.fr/sites/default/"
731
+ "files/atoms/files/decision_ordering_to_comply_anonymised_-_google_analytics."
732
+ "pdf\" target=\"_blank\">Stellungnahme zu Google Analytics von CNIL</a>."
 
733
 
734
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
735
  msgid ""
797
  "and revoke consent must be directly accessible on every sub-page of your "
798
  "website."
799
  msgstr ""
800
+ "Gemäß den Anforderungen des <a href=\"https://www.datenschutzkonferenz-"
801
+ "online.de/media/oh/20211220_oh_telemedien.pdf\" target=\"_blank\">"
802
  "\"Orientierungshilfe der Konferenz der unabhängigen "
803
  "Datenschutzaufsichtsbehörden des Bundes und der Länder\"</a> muss die "
804
  "Möglichkeit, die Einwilligung einzusehen, zu ändern und zu widerrufen, auf "
950
  msgstr ""
951
  "Mit Real Cookie Banner 3.0 haben wir ein großes Update veröffentlicht, in "
952
  "dem wir u.a. aktuelle rechtliche Anpassungen vorgenommen haben. Mehr zu den "
953
+ "Änderungen erfährst du in unserem <a href=\"https://devowl.io/de/2022/real-"
954
+ "cookie-banner-3-0/\" target=\"_blank\">Blogbeitrag.</a>."
955
 
956
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
957
  msgid ""
2653
  "What do you have to consider when integrating %1$s into your website? <a "
2654
  "href=\"%2$s\" target=\"_blank\">Learn more about it in our blog!</a>"
2655
  msgstr ""
2656
+ "Was musst du beachten, wenn du %1$s in deine Website integrierst? <a href="
2657
+ "\"%2$s\" target=\"_blank\">Erfahre mehr darüber in unserem Blog!</a>"
2658
 
2659
  #: inc/overrides/pro/presets/FacebookPixelPreset.php:1
2660
  msgid "https://devowl.io/2022/facebook-pixel-wordpress-gdpr/"
4352
  "reCAPTCHA innerhalb des Plugins verwendest, müssen die Formulare blockiert "
4353
  "werden, bis du eine Einwilligung für Google reCAPTCHA hast."
4354
 
4355
+ #: inc/overrides/pro/presets/RankMathGA4Preset.php:1
4356
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4357
  msgid ""
4358
  "Please note that the \"Anonymize IP addresses\" feature, which is mandatory "
4362
  "erforderlich ist, um DSGVO-konform zu sein, nur in der kostenpflichtigen "
4363
  "Version von Rank Math verfügbar ist."
4364
 
4365
+ #: inc/overrides/pro/presets/RankMathGA4Preset.php:1
4366
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4367
  msgid ""
4368
  "We recommend that you disable the \"Install analytics code\" option in Rank "
5880
  "Google übertragen, weshalb du eine Einwilligung benötigst. Real Cookie "
5881
  "Banner muss die Einwilligung vor dem Laden von Google Fonts prüfen (falls "
5882
  "eine Einwilligung vorliegt), was einige Millisekunden pro Seitenaufruf "
5883
+ "dauert. Daher wirst du unweigerlich einen kleinen Flackereffekt "
5884
+ "(Schriftartwechsel nach ein paar Millisekunden) auf deiner Website "
5885
  "feststellen."
5886
 
5887
  #: inc/presets/free/GoogleFontsPreset.php:1
5891
  "hosted fonts</a> when possible, rather than asking for consent. We explained "
5892
  "how this works in our blog!"
5893
  msgstr ""
5894
+ "Wir empfehlen daher, <a href=\"https://devowl.io/de/2022/google-fonts-"
5895
+ "wordpress-dsgvo/\" target=\"_blank\">Google Fonts wenn möglich durch lokal "
5896
+ "gehostete Schriftarten zu ersetzen</a>, anstatt nach einer Einwilligung zu "
5897
+ "fragen. Wie das funktioniert, haben wir in unserem Blog erklärt!"
 
5898
 
5899
  #: inc/presets/free/GravatarPreset.php:1
5900
  msgid ""
6113
  "than asking for consent. How to do that, we have explained in our blog!"
6114
  msgstr ""
6115
  "Sofern du nicht besonders alte Browser und Betriebssysteme unterstützen "
6116
+ "musst, empfehlen wir dir, das <a href=\"https://devowl.io/de/2022/wordpress-"
6117
+ "emojis-deaktivieren/\" target=\"_blank\">WordPress-Emoji-Script zu "
6118
  "deaktivieren</a>, anstatt nach einer Einwilligung zu fragen. Wie du das "
6119
  "machst, haben wir in unserem Blog erklärt!"
6120
 
languages/real-cookie-banner-de_DE.po CHANGED
@@ -4,8 +4,8 @@ msgstr ""
4
  "POT-Creation-Date: n/a\n"
5
  "PO-Revision-Date: 2022-06-13 06:58+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
- "Language-Team: German <https://translate.devowl.io/projects/"
8
- "wordpress-real-cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_DE\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -720,17 +720,16 @@ msgstr ""
720
  "Rechtsauslegung aller deutschen Datenschutzbehörden) gibt es jetzt klarere "
721
  "Regeln, welche die EU-weit geltende <a href=\"https://eur-lex.europa.eu/"
722
  "legal-content/EN/TXT/?uri=celex%3A32009L0136\" target=\"_blank\">ePrivacy-"
723
- "Richtlinie</a> und <a href=\"https://dsgvo-gesetz.de/\" target=\"_blank\""
724
- ">DSGVO</a> weiter auslegen oder ergänzen. Außerdem gab es wichtige "
725
  "Entscheidungen wie die Bewertung von <a href=\"https://www."
726
- "autoriteprotectiondonnees.be/publications/decision-quant-au-"
727
- "fond-n-21-2022-english.pdf\" target=\"_blank\">TCF durch ADP (Belgien)</a>, "
728
- "die <a href=\"https://noyb.eu/sites/default/files/2022-01/"
729
- "E-DSB%20-%20Google%20Analytics_DE_bk_0.pdf\" target=\"_blank\">Google "
730
- "Analytics Entscheidung von dsb (Österreich)</a> und die <a href=\"https://www"
731
- ".cnil.fr/sites/default/files/atoms/files/"
732
- "decision_ordering_to_comply_anonymised_-_google_analytics.pdf\" target="
733
- "\"_blank\">Stellungnahme zu Google Analytics von CNIL</a>."
734
 
735
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
736
  msgid ""
@@ -798,8 +797,8 @@ msgid ""
798
  "and revoke consent must be directly accessible on every sub-page of your "
799
  "website."
800
  msgstr ""
801
- "Gemäß den Anforderungen des <a href=\"https://www.datenschutzkonferenz-online"
802
- ".de/media/oh/20211220_oh_telemedien.pdf\" target=\"_blank\">"
803
  "\"Orientierungshilfe der Konferenz der unabhängigen "
804
  "Datenschutzaufsichtsbehörden des Bundes und der Länder\"</a> muss die "
805
  "Möglichkeit, die Einwilligung einzusehen, zu ändern und zu widerrufen, auf "
@@ -951,8 +950,8 @@ msgid ""
951
  msgstr ""
952
  "Mit Real Cookie Banner 3.0 haben wir ein großes Update veröffentlicht, in "
953
  "dem wir u.a. aktuelle rechtliche Anpassungen vorgenommen haben. Mehr zu den "
954
- "Änderungen erfährst du in unserem <a href=\"https://devowl.io/de/2022/"
955
- "real-cookie-banner-3-0/\" target=\"_blank\">Blogbeitrag.</a>."
956
 
957
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
958
  msgid ""
@@ -2654,8 +2653,8 @@ msgid ""
2654
  "What do you have to consider when integrating %1$s into your website? <a "
2655
  "href=\"%2$s\" target=\"_blank\">Learn more about it in our blog!</a>"
2656
  msgstr ""
2657
- "Was musst du beachten, wenn du %1$s in deine Website integrierst? <a href=\""
2658
- "%2$s\" target=\"_blank\">Erfahre mehr darüber in unserem Blog!</a>"
2659
 
2660
  #: inc/overrides/pro/presets/FacebookPixelPreset.php:1
2661
  msgid "https://devowl.io/2022/facebook-pixel-wordpress-gdpr/"
@@ -4353,6 +4352,7 @@ msgstr ""
4353
  "reCAPTCHA innerhalb des Plugins verwendest, müssen die Formulare blockiert "
4354
  "werden, bis du eine Einwilligung für Google reCAPTCHA hast."
4355
 
 
4356
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4357
  msgid ""
4358
  "Please note that the \"Anonymize IP addresses\" feature, which is mandatory "
@@ -4362,6 +4362,7 @@ msgstr ""
4362
  "erforderlich ist, um DSGVO-konform zu sein, nur in der kostenpflichtigen "
4363
  "Version von Rank Math verfügbar ist."
4364
 
 
4365
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4366
  msgid ""
4367
  "We recommend that you disable the \"Install analytics code\" option in Rank "
@@ -5879,8 +5880,8 @@ msgstr ""
5879
  "Google übertragen, weshalb du eine Einwilligung benötigst. Real Cookie "
5880
  "Banner muss die Einwilligung vor dem Laden von Google Fonts prüfen (falls "
5881
  "eine Einwilligung vorliegt), was einige Millisekunden pro Seitenaufruf "
5882
- "dauert. Daher wirst du unweigerlich einen kleinen Flackereffekt ("
5883
- "Schriftartwechsel nach ein paar Millisekunden) auf deiner Website "
5884
  "feststellen."
5885
 
5886
  #: inc/presets/free/GoogleFontsPreset.php:1
@@ -5890,11 +5891,10 @@ msgid ""
5890
  "hosted fonts</a> when possible, rather than asking for consent. We explained "
5891
  "how this works in our blog!"
5892
  msgstr ""
5893
- "Wir empfehlen daher, <a href=\"https://devowl.io/de/2022/"
5894
- "google-fonts-wordpress-dsgvo/\" target=\"_blank\">Google Fonts wenn möglich "
5895
- "durch lokal gehostete Schriftarten zu ersetzen</a>, anstatt nach einer "
5896
- "Einwilligung zu fragen. Wie das funktioniert, haben wir in unserem Blog "
5897
- "erklärt!"
5898
 
5899
  #: inc/presets/free/GravatarPreset.php:1
5900
  msgid ""
@@ -6113,8 +6113,8 @@ msgid ""
6113
  "than asking for consent. How to do that, we have explained in our blog!"
6114
  msgstr ""
6115
  "Sofern du nicht besonders alte Browser und Betriebssysteme unterstützen "
6116
- "musst, empfehlen wir dir, das <a href=\"https://devowl.io/de/2022/"
6117
- "wordpress-emojis-deaktivieren/\" target=\"_blank\">WordPress-Emoji-Script zu "
6118
  "deaktivieren</a>, anstatt nach einer Einwilligung zu fragen. Wie du das "
6119
  "machst, haben wir in unserem Blog erklärt!"
6120
 
4
  "POT-Creation-Date: n/a\n"
5
  "PO-Revision-Date: 2022-06-13 06:58+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
+ "Language-Team: German <https://translate.devowl.io/projects/wordpress-real-"
8
+ "cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_DE\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
720
  "Rechtsauslegung aller deutschen Datenschutzbehörden) gibt es jetzt klarere "
721
  "Regeln, welche die EU-weit geltende <a href=\"https://eur-lex.europa.eu/"
722
  "legal-content/EN/TXT/?uri=celex%3A32009L0136\" target=\"_blank\">ePrivacy-"
723
+ "Richtlinie</a> und <a href=\"https://dsgvo-gesetz.de/\" target=\"_blank"
724
+ "\">DSGVO</a> weiter auslegen oder ergänzen. Außerdem gab es wichtige "
725
  "Entscheidungen wie die Bewertung von <a href=\"https://www."
726
+ "autoriteprotectiondonnees.be/publications/decision-quant-au-fond-n-21-2022-"
727
+ "english.pdf\" target=\"_blank\">TCF durch ADP (Belgien)</a>, die <a href="
728
+ "\"https://noyb.eu/sites/default/files/2022-01/E-DSB%20-%20Google"
729
+ "%20Analytics_DE_bk_0.pdf\" target=\"_blank\">Google Analytics Entscheidung "
730
+ "von dsb (Österreich)</a> und die <a href=\"https://www.cnil.fr/sites/default/"
731
+ "files/atoms/files/decision_ordering_to_comply_anonymised_-_google_analytics."
732
+ "pdf\" target=\"_blank\">Stellungnahme zu Google Analytics von CNIL</a>."
 
733
 
734
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
735
  msgid ""
797
  "and revoke consent must be directly accessible on every sub-page of your "
798
  "website."
799
  msgstr ""
800
+ "Gemäß den Anforderungen des <a href=\"https://www.datenschutzkonferenz-"
801
+ "online.de/media/oh/20211220_oh_telemedien.pdf\" target=\"_blank\">"
802
  "\"Orientierungshilfe der Konferenz der unabhängigen "
803
  "Datenschutzaufsichtsbehörden des Bundes und der Länder\"</a> muss die "
804
  "Möglichkeit, die Einwilligung einzusehen, zu ändern und zu widerrufen, auf "
950
  msgstr ""
951
  "Mit Real Cookie Banner 3.0 haben wir ein großes Update veröffentlicht, in "
952
  "dem wir u.a. aktuelle rechtliche Anpassungen vorgenommen haben. Mehr zu den "
953
+ "Änderungen erfährst du in unserem <a href=\"https://devowl.io/de/2022/real-"
954
+ "cookie-banner-3-0/\" target=\"_blank\">Blogbeitrag.</a>."
955
 
956
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
957
  msgid ""
2653
  "What do you have to consider when integrating %1$s into your website? <a "
2654
  "href=\"%2$s\" target=\"_blank\">Learn more about it in our blog!</a>"
2655
  msgstr ""
2656
+ "Was musst du beachten, wenn du %1$s in deine Website integrierst? <a href="
2657
+ "\"%2$s\" target=\"_blank\">Erfahre mehr darüber in unserem Blog!</a>"
2658
 
2659
  #: inc/overrides/pro/presets/FacebookPixelPreset.php:1
2660
  msgid "https://devowl.io/2022/facebook-pixel-wordpress-gdpr/"
4352
  "reCAPTCHA innerhalb des Plugins verwendest, müssen die Formulare blockiert "
4353
  "werden, bis du eine Einwilligung für Google reCAPTCHA hast."
4354
 
4355
+ #: inc/overrides/pro/presets/RankMathGA4Preset.php:1
4356
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4357
  msgid ""
4358
  "Please note that the \"Anonymize IP addresses\" feature, which is mandatory "
4362
  "erforderlich ist, um DSGVO-konform zu sein, nur in der kostenpflichtigen "
4363
  "Version von Rank Math verfügbar ist."
4364
 
4365
+ #: inc/overrides/pro/presets/RankMathGA4Preset.php:1
4366
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4367
  msgid ""
4368
  "We recommend that you disable the \"Install analytics code\" option in Rank "
5880
  "Google übertragen, weshalb du eine Einwilligung benötigst. Real Cookie "
5881
  "Banner muss die Einwilligung vor dem Laden von Google Fonts prüfen (falls "
5882
  "eine Einwilligung vorliegt), was einige Millisekunden pro Seitenaufruf "
5883
+ "dauert. Daher wirst du unweigerlich einen kleinen Flackereffekt "
5884
+ "(Schriftartwechsel nach ein paar Millisekunden) auf deiner Website "
5885
  "feststellen."
5886
 
5887
  #: inc/presets/free/GoogleFontsPreset.php:1
5891
  "hosted fonts</a> when possible, rather than asking for consent. We explained "
5892
  "how this works in our blog!"
5893
  msgstr ""
5894
+ "Wir empfehlen daher, <a href=\"https://devowl.io/de/2022/google-fonts-"
5895
+ "wordpress-dsgvo/\" target=\"_blank\">Google Fonts wenn möglich durch lokal "
5896
+ "gehostete Schriftarten zu ersetzen</a>, anstatt nach einer Einwilligung zu "
5897
+ "fragen. Wie das funktioniert, haben wir in unserem Blog erklärt!"
 
5898
 
5899
  #: inc/presets/free/GravatarPreset.php:1
5900
  msgid ""
6113
  "than asking for consent. How to do that, we have explained in our blog!"
6114
  msgstr ""
6115
  "Sofern du nicht besonders alte Browser und Betriebssysteme unterstützen "
6116
+ "musst, empfehlen wir dir, das <a href=\"https://devowl.io/de/2022/wordpress-"
6117
+ "emojis-deaktivieren/\" target=\"_blank\">WordPress-Emoji-Script zu "
6118
  "deaktivieren</a>, anstatt nach einer Einwilligung zu fragen. Wie du das "
6119
  "machst, haben wir in unserem Blog erklärt!"
6120
 
languages/real-cookie-banner-de_DE_formal.po CHANGED
@@ -723,17 +723,16 @@ msgstr ""
723
  "Rechtsauslegung aller deutschen Datenschutzbehörden) gibt es jetzt klarere "
724
  "Regeln, welche die EU-weit geltende <a href=\"https://eur-lex.europa.eu/"
725
  "legal-content/EN/TXT/?uri=celex%3A32009L0136\" target=\"_blank\">ePrivacy-"
726
- "Richtlinie</a> und <a href=\"https://dsgvo-gesetz.de/\" target=\"_blank\""
727
- ">DSGVO</a> weiter auslegen oder ergänzen. Außerdem gab es wichtige "
728
  "Entscheidungen wie die Bewertung von <a href=\"https://www."
729
- "autoriteprotectiondonnees.be/publications/decision-quant-au-"
730
- "fond-n-21-2022-english.pdf\" target=\"_blank\">TCF durch ADP (Belgien)</a>, "
731
- "die <a href=\"https://noyb.eu/sites/default/files/2022-01/"
732
- "E-DSB%20-%20Google%20Analytics_DE_bk_0.pdf\" target=\"_blank\">Google "
733
- "Analytics Entscheidung von dsb (Österreich)</a> und die <a href=\"https://www"
734
- ".cnil.fr/sites/default/files/atoms/files/"
735
- "decision_ordering_to_comply_anonymised_-_google_analytics.pdf\" target="
736
- "\"_blank\">Stellungnahme zu Google Analytics von CNIL</a>."
737
 
738
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
739
  msgid ""
@@ -801,8 +800,8 @@ msgid ""
801
  "and revoke consent must be directly accessible on every sub-page of your "
802
  "website."
803
  msgstr ""
804
- "Gemäß den Anforderungen des <a href=\"https://www.datenschutzkonferenz-online"
805
- ".de/media/oh/20211220_oh_telemedien.pdf\" target=\"_blank\">"
806
  "\"Orientierungshilfe der Konferenz der unabhängigen "
807
  "Datenschutzaufsichtsbehörden des Bundes und der Länder\"</a> muss die "
808
  "Möglichkeit, die Einwilligung einzusehen, zu ändern und zu widerrufen, auf "
@@ -954,8 +953,8 @@ msgid ""
954
  msgstr ""
955
  "Mit Real Cookie Banner 3.0 haben wir ein großes Update veröffentlicht, in "
956
  "dem wir u.a. aktuelle rechtliche Anpassungen vorgenommen haben. Mehr zu den "
957
- "Änderungen erfahren Sie in unserem <a href=\"https://devowl.io/de/2022/"
958
- "real-cookie-banner-3-0/\" target=\"_blank\">Blogbeitrag.</a>."
959
 
960
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
961
  msgid ""
@@ -2664,8 +2663,8 @@ msgid ""
2664
  "href=\"%2$s\" target=\"_blank\">Learn more about it in our blog!</a>"
2665
  msgstr ""
2666
  "Was müssen Sie bei der Integration von %1$s in Ihre Website beachten? <a "
2667
- "href=\"%2$s\" target=\"_blank\">Erfahren Sie mehr darüber in unserem "
2668
- "Blog!</a>"
2669
 
2670
  #: inc/overrides/pro/presets/FacebookPixelPreset.php:1
2671
  msgid "https://devowl.io/2022/facebook-pixel-wordpress-gdpr/"
@@ -4362,6 +4361,7 @@ msgstr ""
4362
  "reCAPTCHA innerhalb des Plugins verwenden, müssen die Formulare blockiert "
4363
  "werden, bis Sie die Zustimmung für Google reCAPTCHA haben."
4364
 
 
4365
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4366
  msgid ""
4367
  "Please note that the \"Anonymize IP addresses\" feature, which is mandatory "
@@ -4370,6 +4370,7 @@ msgstr ""
4370
  "Please note that the “Anonymize IP addresses” feature, which is mandatory to "
4371
  "be GDPR compliant, is only available in the paid version of Rank Math."
4372
 
 
4373
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4374
  msgid ""
4375
  "We recommend that you disable the \"Install analytics code\" option in Rank "
@@ -5894,8 +5895,8 @@ msgid ""
5894
  msgstr ""
5895
  "Beim Laden von Google Fonts werden persönliche Daten Ihrer Besucher an "
5896
  "Google übertragen, weshalb Sie eine Einwilligung benötigen. Real Cookie "
5897
- "Banner muss vor dem Laden von Google Fonts die Einwilligung überprüfen ("
5898
- "sofern eine Einwilligung vorliegt), was einige Millisekunden pro "
5899
  "Seitenaufruf dauert. Daher werden Sie auf Ihrer Website unweigerlich einen "
5900
  "kleinen Flackereffekt (Austausch der Schrift nach einigen Millisekunden) "
5901
  "feststellen."
@@ -5907,11 +5908,10 @@ msgid ""
5907
  "hosted fonts</a> when possible, rather than asking for consent. We explained "
5908
  "how this works in our blog!"
5909
  msgstr ""
5910
- "Wir empfehlen daher, <a href=\"https://devowl.io/de/2022/"
5911
- "google-fonts-wordpress-dsgvo/\" target=\"_blank\">Google Fonts wenn möglich "
5912
- "durch lokal gehostete Schriftarten zu ersetzen</a>, anstatt nach einer "
5913
- "Einwilligung zu fragen. Wie das funktioniert, haben wir in unserem Blog "
5914
- "erklärt!"
5915
 
5916
  #: inc/presets/free/GravatarPreset.php:1
5917
  msgid ""
723
  "Rechtsauslegung aller deutschen Datenschutzbehörden) gibt es jetzt klarere "
724
  "Regeln, welche die EU-weit geltende <a href=\"https://eur-lex.europa.eu/"
725
  "legal-content/EN/TXT/?uri=celex%3A32009L0136\" target=\"_blank\">ePrivacy-"
726
+ "Richtlinie</a> und <a href=\"https://dsgvo-gesetz.de/\" target=\"_blank"
727
+ "\">DSGVO</a> weiter auslegen oder ergänzen. Außerdem gab es wichtige "
728
  "Entscheidungen wie die Bewertung von <a href=\"https://www."
729
+ "autoriteprotectiondonnees.be/publications/decision-quant-au-fond-n-21-2022-"
730
+ "english.pdf\" target=\"_blank\">TCF durch ADP (Belgien)</a>, die <a href="
731
+ "\"https://noyb.eu/sites/default/files/2022-01/E-DSB%20-%20Google"
732
+ "%20Analytics_DE_bk_0.pdf\" target=\"_blank\">Google Analytics Entscheidung "
733
+ "von dsb (Österreich)</a> und die <a href=\"https://www.cnil.fr/sites/default/"
734
+ "files/atoms/files/decision_ordering_to_comply_anonymised_-_google_analytics."
735
+ "pdf\" target=\"_blank\">Stellungnahme zu Google Analytics von CNIL</a>."
 
736
 
737
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
738
  msgid ""
800
  "and revoke consent must be directly accessible on every sub-page of your "
801
  "website."
802
  msgstr ""
803
+ "Gemäß den Anforderungen des <a href=\"https://www.datenschutzkonferenz-"
804
+ "online.de/media/oh/20211220_oh_telemedien.pdf\" target=\"_blank\">"
805
  "\"Orientierungshilfe der Konferenz der unabhängigen "
806
  "Datenschutzaufsichtsbehörden des Bundes und der Länder\"</a> muss die "
807
  "Möglichkeit, die Einwilligung einzusehen, zu ändern und zu widerrufen, auf "
953
  msgstr ""
954
  "Mit Real Cookie Banner 3.0 haben wir ein großes Update veröffentlicht, in "
955
  "dem wir u.a. aktuelle rechtliche Anpassungen vorgenommen haben. Mehr zu den "
956
+ "Änderungen erfahren Sie in unserem <a href=\"https://devowl.io/de/2022/real-"
957
+ "cookie-banner-3-0/\" target=\"_blank\">Blogbeitrag.</a>."
958
 
959
  #: inc/comp/migration/DashboardTileMigrationMajor3.php:1
960
  msgid ""
2663
  "href=\"%2$s\" target=\"_blank\">Learn more about it in our blog!</a>"
2664
  msgstr ""
2665
  "Was müssen Sie bei der Integration von %1$s in Ihre Website beachten? <a "
2666
+ "href=\"%2$s\" target=\"_blank\">Erfahren Sie mehr darüber in unserem Blog!</"
2667
+ "a>"
2668
 
2669
  #: inc/overrides/pro/presets/FacebookPixelPreset.php:1
2670
  msgid "https://devowl.io/2022/facebook-pixel-wordpress-gdpr/"
4361
  "reCAPTCHA innerhalb des Plugins verwenden, müssen die Formulare blockiert "
4362
  "werden, bis Sie die Zustimmung für Google reCAPTCHA haben."
4363
 
4364
+ #: inc/overrides/pro/presets/RankMathGA4Preset.php:1
4365
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4366
  msgid ""
4367
  "Please note that the \"Anonymize IP addresses\" feature, which is mandatory "
4370
  "Please note that the “Anonymize IP addresses” feature, which is mandatory to "
4371
  "be GDPR compliant, is only available in the paid version of Rank Math."
4372
 
4373
+ #: inc/overrides/pro/presets/RankMathGA4Preset.php:1
4374
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
4375
  msgid ""
4376
  "We recommend that you disable the \"Install analytics code\" option in Rank "
5895
  msgstr ""
5896
  "Beim Laden von Google Fonts werden persönliche Daten Ihrer Besucher an "
5897
  "Google übertragen, weshalb Sie eine Einwilligung benötigen. Real Cookie "
5898
+ "Banner muss vor dem Laden von Google Fonts die Einwilligung überprüfen "
5899
+ "(sofern eine Einwilligung vorliegt), was einige Millisekunden pro "
5900
  "Seitenaufruf dauert. Daher werden Sie auf Ihrer Website unweigerlich einen "
5901
  "kleinen Flackereffekt (Austausch der Schrift nach einigen Millisekunden) "
5902
  "feststellen."
5908
  "hosted fonts</a> when possible, rather than asking for consent. We explained "
5909
  "how this works in our blog!"
5910
  msgstr ""
5911
+ "Wir empfehlen daher, <a href=\"https://devowl.io/de/2022/google-fonts-"
5912
+ "wordpress-dsgvo/\" target=\"_blank\">Google Fonts wenn möglich durch lokal "
5913
+ "gehostete Schriftarten zu ersetzen</a>, anstatt nach einer Einwilligung zu "
5914
+ "fragen. Wie das funktioniert, haben wir in unserem Blog erklärt!"
 
5915
 
5916
  #: inc/presets/free/GravatarPreset.php:1
5917
  msgid ""
languages/real-cookie-banner.pot CHANGED
@@ -2112,10 +2112,12 @@ msgstr ""
2112
  msgid "Quform itself does not require a content blocker. However, if you use Google reCAPTCHA within the plugin, the forms must be blocked until you have consent for Google reCAPTCHA."
2113
  msgstr ""
2114
 
 
2115
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
2116
  msgid "Please note that the \"Anonymize IP addresses\" feature, which is mandatory to be GDPR compliant, is only available in the paid version of Rank Math."
2117
  msgstr ""
2118
 
 
2119
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
2120
  msgid "We recommend that you disable the \"Install analytics code\" option in Rank Math and instead integrate Google Analytics via the \"Google Analytics\" template in Real Cookie Banner."
2121
  msgstr ""
2112
  msgid "Quform itself does not require a content blocker. However, if you use Google reCAPTCHA within the plugin, the forms must be blocked until you have consent for Google reCAPTCHA."
2113
  msgstr ""
2114
 
2115
+ #: inc/overrides/pro/presets/RankMathGA4Preset.php:1
2116
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
2117
  msgid "Please note that the \"Anonymize IP addresses\" feature, which is mandatory to be GDPR compliant, is only available in the paid version of Rank Math."
2118
  msgstr ""
2119
 
2120
+ #: inc/overrides/pro/presets/RankMathGA4Preset.php:1
2121
  #: inc/overrides/pro/presets/RankMathGAPreset.php:1
2122
  msgid "We recommend that you disable the \"Install analytics code\" option in Rank Math and instead integrate Google Analytics via the \"Google Analytics\" template in Real Cookie Banner."
2123
  msgstr ""
public/dist/banner.lite.js CHANGED
@@ -1,2 +1,2 @@
1
- var realCookieBanner_banner;!function(){var t,e={9382:function(t,e,n){"use strict";n.d(e,{n:function(){return T}});var r=n(7938),o=n(5450),i=n.n(o),a=n(4115),c=n(6346),s=n(38),u=n(63),l=n(7663),d=n(5245);function f(t){var e,n,o=t.decisionCookieName,a=t.tagManager,c=t.groups,f=t.essentialGroupSlug,p=t.type,h="none"!==a,v=c.filter((function(t){return t.slug===f})),b=(0,l.Z)(v,1)[0],m=(0,u.Z)({},b.id,b.items.map((function(t){return t.id})));if("consent"===p){var g=(0,d.h)(o);!1!==g?e=g.consent:(console.warn("Something went wrong while reading the cookie, fallback to essentials only..."),e=m)}return"essentials"===p&&(e=m),{isManagerActive:h,selectedGroups:e,iterateCookies:(n=(0,r.Z)(i().mark((function t(n){var r,o,a,u,l,d,f,h;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=(0,s.Z)(c),t.prev=1,r.s();case 3:if((o=r.n()).done){t.next=25;break}a=o.value,u=(0,s.Z)(a.items),t.prev=6,u.s();case 8:if((l=u.n()).done){t.next=15;break}return f=l.value,h="all"===p||(null===(d=e[a.id])||void 0===d?void 0:d.indexOf(f.id))>-1,t.next=13,n(a,f,h);case 13:t.next=8;break;case 15:t.next=20;break;case 17:t.prev=17,t.t0=t.catch(6),u.e(t.t0);case 20:return t.prev=20,u.f(),t.finish(20);case 23:t.next=3;break;case 25:t.next=30;break;case 27:t.prev=27,t.t1=t.catch(1),r.e(t.t1);case 30:return t.prev=30,r.f(),t.finish(30);case 33:case"end":return t.stop()}}),t,null,[[1,27,30,33],[6,17,20,23]])}))),function(t){return n.apply(this,arguments)})}}var p=n(9575);function h(t,e){var n,r,o;return t&&(r=(n=e).charAt(0).toUpperCase()+n.slice(1),o="googleTagManager"===e?"dataLayer":"_mtm"),{useVariableNameCamel:n,useVariableNamePascal:r,useGlobalObjectName:o}}var v=n(55).default;function b(t){return m.apply(this,arguments)}function m(){return m=(0,r.Z)(i().mark((function t(e){var n,o,s,u,l,d,b,m,g,y,k;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=[],o=f(e),s=o.isManagerActive,u=o.iterateCookies,l=e.tagManager,d=e.skipOptIn,(b=h(s,l)).useGlobalObjectName,m=b.useVariableNamePascal,g=!1,y=v.resolve(void 0),k=[],t.next=9,u(function(){var t=(0,r.Z)(i().mark((function t(e,r,o){var u,l,f,h,v;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:u=r.codeDynamics,l=r.codeOptIn,f=(0,a.Z)(r,["codeDynamics","codeOptIn"]),s&&f["thisIs".concat(m)],o&&(h=s&&f["codeOptInNo".concat(m)],v="function"==typeof d&&d(r),h||v||k.push((0,c.K)(l,u)),document.dispatchEvent(new CustomEvent(p.g,{detail:{group:e,cookie:r}})),n.push({group:e,cookie:r}));case 3:case"end":return t.stop()}}),t)})));return function(e,n,r){return t.apply(this,arguments)}}());case 9:return t.abrupt("return",{isManagerOptOut:g,dataLayerPromise:y,cookies:n,ready:v.all(k)});case 10:case"end":return t.stop()}}),t)}))),m.apply(this,arguments)}var g=n(55).default;function y(t,e,n){return k.apply(this,arguments)}function k(){return k=(0,r.Z)(i().mark((function t(e,n,o){var s,l,d,p,v,b,m,y;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(s=[],l=f(e),d=l.isManagerActive,p=l.iterateCookies,v=e.tagManager,b=h(d,v),m=b.useVariableNameCamel,y=b.useVariableNamePascal,!n){t.next=11;break}return p((function(t,e,r){var o=e["".concat(m,"InEventName")];r&&o&&n.push({realCookieBannerOptInEvents:(0,u.Z)({},o,!0),event:o})})),t.next=8,new g((function(t){return setTimeout(t,1e3)}));case 8:p((function(t,e,r){var o=e["".concat(m,"OutEventName")];!r&&o&&n.push({realCookieBannerOptOutEvents:(0,u.Z)({},o,!0),event:o})})),t.next=14;break;case 11:if(!d||!o){t.next=14;break}return t.next=14,p(function(){var t=(0,r.Z)(i().mark((function t(e,n,r){var o,u,l;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=n.codeDynamics,u=n.codeOptIn,l=(0,a.Z)(n,["codeDynamics","codeOptIn"]),r&&l["codeOptInNo".concat(y)]&&s.push((0,c.K)(u,o));case 2:case"end":return t.stop()}}),t)})));return function(e,n,r){return t.apply(this,arguments)}}());case 14:return t.abrupt("return",{ready:g.all(s)});case 15:case"end":return t.stop()}}),t)}))),k.apply(this,arguments)}var x=n(1456),w=n(8542),C=n.n(w),S=n(2891),O=n(1829);function A(t,e){var n,r=(0,s.Z)(t);try{for(r.s();!(n=r.n()).done;){var o=n.value,i=o.type,a=o.name,c=new RegExp((0,O.L)((0,S.c)(a,e)),"g");switch(i){case"http":for(var u=0,l=Object.keys(C().get());u<l.length;u++){var d=l[u];c.test(d)&&C().remove(d)}break;case"local":case"session":try{var f="local"===i?window.localStorage:window.sessionStorage;if(f)for(var p=0,h=Object.keys(f);p<h.length;p++){var v=h[p];if(c.test(v)){try{f.setItem(v,null)}catch(t){}for(var b=0;f.getItem(v)&&b<100;)b++,f.removeItem(v)}}}catch(t){continue}}}}catch(t){r.e(t)}finally{r.f()}}function D(t,e){return E.apply(this,arguments)}function E(){return E=(0,r.Z)(i().mark((function t(e,n){var o,s,u,l,d,p,v;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=f(e),s=o.isManagerActive,u=o.iterateCookies,l=e.tagManager,d=h(s,l),p=d.useVariableNamePascal,v=[],t.next=6,u(function(){var t=(0,r.Z)(i().mark((function t(e,r,o){var u,l,d,f,h,b,m,g;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:u=r.id,l=r.codeDynamics,d=r.codeOptOut,f=r.codeOptOutDelete,h=r.noTechnicalDefinitions,b=r.technicalDefinitions,m=(0,a.Z)(r,["id","codeDynamics","codeOptOut","codeOptOutDelete","noTechnicalDefinitions","technicalDefinitions"]),o||(((g=s&&m["codeOptInNo".concat(p)])&&!n||!g)&&(0,c.K)(d,l),f&&!h&&(A(b,l),b.some((function(t){return"http"===t.type}))&&v.push(u)),document.dispatchEvent(new CustomEvent(x.E,{detail:{group:e,cookie:r,deleteHttpCookies:v}})));case 2:case"end":return t.stop()}}),t)})));return function(e,n,r){return t.apply(this,arguments)}}());case 6:case"end":return t.stop()}}),t)}))),E.apply(this,arguments)}var Z=n(7563),I=n(6028),B=n(55).default;function T(t){return N.apply(this,arguments)}function N(){return(N=(0,r.Z)(i().mark((function t(e){var n,r,o,a,c,s,u,l;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,(0,I.C)();case 2:return t.next=4,b(e);case 4:return n=t.sent,r=n.dataLayerPromise,o=n.isManagerOptOut,a=n.cookies,c=n.ready,t.t0=y,t.t1=e,t.next=13,r;case 13:return t.t2=t.sent,t.t3=o,t.next=17,(0,t.t0)(t.t1,t.t2,t.t3);case 17:return s=t.sent,u=s.ready,l=B.all([c,u]),document.dispatchEvent(new CustomEvent(Z.V,{detail:{cookies:a,ready:l}})),t.next=23,D(e,o);case 23:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},8218:function(t,e,n){"use strict";n.d(e,{G:function(){return f}});var r=n(2711),o=n(6762),i=n(3340),a=n(9382),c=n(38),s=n(63),u=n(7663);function l(t){var e=t.groups,n=t.essentialGroupSlug,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=e.filter((function(t){return t.slug===n})),i=(0,u.Z)(o,1),a=i[0],l=(0,s.Z)({},a.id,a.items.map((function(t){return t.id})));if(r){var d,f=(0,c.Z)(e);try{for(f.s();!(d=f.n()).done;){var p=d.value;if(p!==a){var h=p.items.filter((function(t){return"legitimate-interest"===t.legalBasis})).map((function(t){return t.id}));h.length&&(l[p.id]=h)}}}catch(t){f.e(t)}finally{f.f()}}return l}var d=n(5245),f=function(){function t(e){(0,o.Z)(this,t),this.options=void 0,this.options=e}return(0,i.Z)(t,[{key:"applyCookies",value:function(t){return(0,a.n)((0,r.Z)((0,r.Z)({},t),this.options))}},{key:"getUserDecision",value:function(){return(0,d.h)(this.getOption("decisionCookieName"))}},{key:"getDefaultDecision",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return l(this.options,t)}},{key:"getOption",value:function(t){return this.options[t]}},{key:"getOptions",value:function(){return this.options}}]),t}()},5245:function(t,e,n){"use strict";n.d(e,{h:function(){return a}});var r=n(7663),o=n(965),i=n(4001);function a(t){var e=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=(0,o.Z)(document.cookie.matchAll(new RegExp("(^|;)\\s*".concat(t,"\\s*=\\s*([^;]+)"),"g")));if(!n.length)return"";var r=n.pop().pop();return e?decodeURIComponent(r):r}(t);if(!e)return!(0,i.E)()&&(window.rcbDisabledCookieComp||!1);var n=function(t,e,n){var r=t.split(":");if(r.length<=3)return r;var o=r.slice(0,2);return o.push(r.slice(2).join(":")),o}(e);if(3!==n.length)return!1;var a=(0,r.Z)(n,2),c=a[0],s=a[1],u=c.split(",");return{uuid:u.shift(),previousUuids:u,revision:s,consent:JSON.parse(n[2])}}},7766:function(t,e,n){"use strict";n.d(e,{I:function(){return r}});var r="RCB/Banner/Show"},9575:function(t,e,n){"use strict";n.d(e,{g:function(){return r}});var r="RCB/OptIn"},7563:function(t,e,n){"use strict";n.d(e,{V:function(){return r}});var r="RCB/OptIn/All"},1456:function(t,e,n){"use strict";n.d(e,{E:function(){return r}});var r="RCB/OptOut"},6028:function(t,e,n){"use strict";n.d(e,{C:function(){return o}});var r=n(55).default,o=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"complete";return new r((function(n){var r=function(){null==t||t(),setTimeout(n,0)};document.readyState===e?r():document.addEventListener("readystatechange",(function(){document.readyState===e&&r()}))}))}},1829:function(t,e,n){"use strict";function r(t){var e,n=t.replace(/\*/g,"PLEACE_REPLACE_ME_AGAIN");return"^".concat((e=n,e.replace(new RegExp("[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\".concat("","-]"),"g"),"\\$&")).replace(/PLEACE_REPLACE_ME_AGAIN/g,"(.*)"),"$")}n.d(e,{L:function(){return r}})},4001:function(t,e,n){"use strict";function r(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"test";try{document.cookie="".concat(t,"=1");var e=-1!==document.cookie.indexOf("".concat(t,"="));return document.cookie="".concat(t,"=1; expires=Thu, 01-Jan-1970 00:00:01 GMT"),e}catch(t){return!1}}n.d(e,{E:function(){return r}})},2891:function(t,e,n){"use strict";n.d(e,{c:function(){return o}});var r=/{{([A-Za-z0-9_]+)}}/gm;function o(t,e){return t.replace(r,(function(t,n){return Object.prototype.hasOwnProperty.call(e,n)?e[n]:t}))}},4548:function(t,e,n){"use strict";n.d(e,{jb:function(){return r},zm:function(){return o},rG:function(){return i},d3:function(){return a},_W:function(){return c},NY:function(){return s},He:function(){return u},i7:function(){return l},Ng:function(){return d},CT:function(){return f},v4:function(){return p},YO:function(){return h},Gn:function(){return v},Ti:function(){return b},Ks:function(){return m},dW:function(){return g},Kh:function(){return y},Wm:function(){return k},Qt:function(){return x},of:function(){return w},fq:function(){return C},WK:function(){return S},jk:function(){return O},Kx:function(){return A}});var r="consent-original",o="consent-click-original",i="_",a="consent-by",c="consent-required",s="consent-visual-use-parent",u="consent-visual-paint-mode",l="consent-inline",d="consent-inline-style",f="consent-id",p="script",h="consent-blocker-connected",v="consent-blocker-connected-pres",b="consent-transaction-complete",m="consent-transform-wrapper",g="1",y="consent-strict-hidden",k="consent-cb-reset-parent",x="1",w="consent-cb-reset-parent-is-ratio",C="consent-got-clicked",S="1",O="2",A="consent-thumbnail"},6346:function(t,e,n){"use strict";n.d(e,{L:function(){return s},K:function(){return u}});var r=n(9749),o=n.n(r),i=n(2891),a=n(7033),c=n(55).default,s="rcbInitiatorOnload";function u(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:document.body;return new c((function(r){t?o()(n,(0,i.c)(t,e),{done:r,error:function(t){console.error(t)},beforeWriteToken:function(t){var e=t.attrs,n=t.booleanAttrs,r=t.src,o=t.href,i=t.content;if(null!=n&&n["skip-write"])return!1;for(var c in i&&(t.content=i.replace(/window\.onload\s+=/g,"window.".concat(s," ="))),e)if(e[c]=(0,a.l)(e[c]),"unique-write-name"===c&&document.querySelector('[unique-write-name="'.concat(e[c],'"]')))return!1;return r&&(t.src=(0,a.l)(r)),o&&(t.href=(0,a.l)(o)),t}}):r()}))}},3102:function(t,e,n){"use strict";n.d(e,{T:function(){return r}});var r="RCB/OptIn/ContentBlocker"},3743:function(t,e,n){"use strict";function r(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;setTimeout((function(){try{window.dispatchEvent(new Event("resize"))}catch(t){}}),t)}n.d(e,{s:function(){return r}})},7033:function(t,e,n){"use strict";n.d(e,{l:function(){return o}});var r=n(3137);function o(t){var e;return(0,r.C)(t)?null===(e=(new DOMParser).parseFromString('<a href="'.concat(t,'"></a>'),"text/html").querySelector("a"))||void 0===e?void 0:e.href:(new DOMParser).parseFromString(t,"text/html").documentElement.textContent}},3137:function(t,e,n){"use strict";function r(t){return!!/^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/.test(t)}n.d(e,{C:function(){return r}})},9586:function(t,e,n){"use strict";n.d(e,{w:function(){return o}});var r=n(7932);function o(t,e){for(var n=[],o=t.parentElement;null!==o;)o.nodeType===Node.ELEMENT_NODE&&(0,r.D)(o,e)&&n.push(o),o=o.parentElement;return n}},4902:function(t,e,n){"use strict";n.d(e,{X:function(){return a}});var r=n(7663),o=n(5213),i=n(7029).h,a=function(t){var e=t.ms,n=void 0===e?100:e,a=t.chars,c=void 0===a?["&#9719;","&#9718;","&#9717;","&#9716;"]:a,s=(0,o.eJ)(1),u=(0,r.Z)(s,2),l=u[0],d=u[1];return(0,o.d4)((function(){var t=setInterval((function(){d(l+1)}),n);return function(){return clearInterval(t)}}),[l]),i("span",{dangerouslySetInnerHTML:{__html:c[l%4]}})}},229:function(t,e,n){"use strict";n.d(e,{V:function(){return k}});var r=n(4741),o=n(7663),i=n(5213),a=n(8982),c=n(7585),s=n(2260),u=n(3282),l=n(2711),d=n(3137),f=n(2121),p=n(2087),h=n(7029).h,v=function(t){var e=t.label,n=t.value,o=t.children,i=t.printValueAs,c=(0,a.w)(),s=c.i18n,u=s.yes,v=s.no,b="string"==typeof n&&(0,d.C)(n)?h("a",{href:n,style:(0,l.Z)({wordBreak:"break-all"},(0,f.c)(c,!1).style),target:"_blank",rel:"noopener noreferrer"},n):"string"==typeof n?h("span",{dangerouslySetInnerHTML:{__html:n}}):n;return"boolean"===i&&(b=b?u:v),h("div",(0,r.Z)({key:e},function(t){var e=t.group,n=e.groupBorderWidth,r=e.groupBorderColor,o=t.customCss.antiAdBlocker,i=t.mobile,a=t.pageRequestUuid4;return{className:"y"===o?void 0:"rcb-cookie-prop",style:{borderLeft:(a?(0,p.D)(i,a,n):n)>0?"1px solid ".concat(r):void 0,paddingLeft:15}}}(c)),e&&h("strong",null,e,": "),b,!!o&&h("div",null,o))},b=n(2891),m=n(7029).h,g=function(t){var e=t.cookie,n=e.purpose,r=e.provider,o=e.providerPrivacyPolicy,c=e.legalBasis,s=e.ePrivacyUSA,u=e.noTechnicalDefinitions,l=e.technicalDefinitions,d=e.codeDynamics,f=t.isEssentialGroup,p=(0,a.w)(),h=p.i18n,g=p.ePrivacyUSA,y={http:{name:"HTTP Cookie",abbr:"HTTP",backgroundColor:"black"},local:{name:"Local Storage",abbr:"Local",backgroundColor:"#b3983c"},session:{name:"Session Storage",abbr:"Session",backgroundColor:"#3c99b3"},flash:{name:"Flash Local Shared Object",abbr:"Flash",backgroundColor:"#b33c3c"},indexedDb:{name:"IndexedDB",abbr:"I-DB",backgroundColor:"#4ab33c"}};return m(i.HY,null,!!n&&m(v,{label:h.purpose,value:n}),m(v,{label:h.legalBasis,value:"legal-requirement"===c?h.legalRequirement:"legitimate-interest"===c||f?h.legitimateInterest:h.consent}),m(v,{label:h.provider,value:r}),!!o&&m(v,{label:h.providerPrivacyPolicy,value:o}),!!g&&m(v,{label:h.ePrivacyUSA,value:s,printValueAs:"boolean"}),!u&&l.map((function(t){var e=t.type,n=t.name,r=t.host,o=t.duration,i=t.durationUnit,a=t.sessionDuration,c=t.purpose;return m(v,{key:n,label:h.technicalCookieDefinition,value:m("span",{style:{fontFamily:"monospace"}},(0,b.c)(n,d))},m(v,{label:h.type,value:y[e].name}),!!c&&m(v,{label:h.purpose,value:c}),!!r&&m(v,{label:h.host,value:m("span",{style:{fontFamily:"monospace"}},r)}),m(v,{label:h.duration,value:["local","indexedDb","flash"].indexOf(e)>-1?h.noExpiration:a||"session"===e?"Session":"".concat(o," ").concat(h.durationUnit[i])}))})))},y=n(7029).h,k=function(t){var e=t.cookie,n=t.checked,l=t.disabled,d=t.onToggleCheck,f=t.propertyListProps,p=void 0===f?{}:f,h=e.name,v=(0,i.eJ)(!1),b=(0,o.Z)(v,2),m=b[0],k=b[1],x=(0,a.w)(),w=x.group.descriptionFontSize;return(0,i.bt)((function(){k(!0)}),[]),y("div",function(t){return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-cookie",style:{marginTop:10}}}(x),y("div",{style:{marginBottom:10}},y(s.p,(0,r.Z)({icon:u.Z,onClick:d},(0,c.z)(x,m,n,l,w))),y("strong",{style:{verticalAlign:"middle"},onClick:d},h)),y(g,(0,r.Z)({cookie:e},p)))}},2260:function(t,e,n){"use strict";n.d(e,{p:function(){return s}});var r=n(4741),o=n(4115),i=n(5213),a=n(1680),c=n(7029).h,s=function(t){var e=t.icon,n=(0,o.Z)(t,["icon"]),s=(0,i.Ye)((function(){return(0,a.x)(e,{extraSVGAttrs:{style:"width:auto;height:100%;",fill:"currentColor"}})}),[e]);return c("div",(0,r.Z)({},n,{dangerouslySetInnerHTML:{__html:s}}))}},8523:function(t,e,n){"use strict";n.d(e,{u:function(){return u}});var r=n(4741),o=n(4115),i=n(5213),a=n(3428),c=n(9707),s=n(7029).h,u=(0,i.Gp)((function(t,e){var n=t.children,i=t.className,u=t.title,l=t.position,d=void 0===l?"top":l,f=t.color,p=t.size,h=void 0===p?"large":p,v=t.always,b=t.rounded,m=t.noAnimate,g=t.bounce,y=(0,o.Z)(t,["children","className","title","position","color","size","always","rounded","noAnimate","bounce"]);return(0,c.G)(a,"hint-css",!0),s("div",(0,r.Z)({style:{position:"relative",display:"inline"},ref:e,"aria-label":u,className:"hint--".concat(d," hint--").concat(h," ").concat(f?"hint--".concat(f):""," ").concat(v?"hint--always":""," ").concat(b?"hint--rounded":""," ").concat(m?"hint--no-animate":""," ").concat(g?"hint--bounce":""," ").concat(i||"")},y),n)}))},4766:function(t,e,n){"use strict";n.d(e,{k:function(){return a},S:function(){return c}});var r=n(6762),o=n(3340),i=n(5213),a=function(){function t(){(0,r.Z)(this,t)}return(0,o.Z)(t,null,[{key:"Context",value:function(t){function e(){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(){return this.context=this.context||(0,i.kr)({})}))}]),t}();function c(){return(0,i.qp)(a.Context())}a.context=void 0},1347:function(t,e,n){"use strict";n.d(e,{Z:function(){return a},_:function(){return c}});var r=n(6762),o=n(3340),i=n(5213),a=function(){function t(){(0,r.Z)(this,t)}return(0,o.Z)(t,null,[{key:"Context",value:function(t){function e(){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(){return this.context=this.context||(0,i.kr)({})}))}]),t}();function c(){return(0,i.qp)(a.Context())}a.context=void 0},6092:function(t,e,n){"use strict";n.d(e,{g:function(){return y}});var r=n(4741),o=n(965),i=n(5213),a=n(8982),c=n(3258),s=n(7663),u=n(4115),l=n(2087),d=n(7029).h,f=function(t){var e=t.children,n=(0,u.Z)(t,["children"]),o=(0,a.w)(),c=(0,i.eJ)(!1),f=(0,s.Z)(c,2),p=f[0],h=f[1];return d("a",(0,r.Z)({onMouseEnter:function(){return h(!0)},onMouseLeave:function(){return h(!1)}},function(t){var e=t.footerDesign,n=e.fontSize,r=e.fontColor,o=e.hoverFontColor,i=e.fontInheritFamily,a=e.fontFamily,c=t.design.linkTextDecoration,s=t.customCss.antiAdBlocker,u=t.mobile,d=t.pageRequestUuid4,f=arguments.length>1&&void 0!==arguments[1]&&arguments[1],p={textDecoration:c,fontSize:d?(0,l.D)(u,d,+n):+n,color:f?o:r,fontFamily:i?void 0:a,padding:"0 5px"};return{className:"y"===s?void 0:"rcb-footer-link",style:p}}(o,p),n),e)},p=n(8523),h=n(7029).h,v=function(t){var e=t.poweredLink,n=t.affiliate;return h(f,{href:n?n.link:e.href,target:e.target,key:"powered-by"},h("span",{dangerouslySetInnerHTML:{__html:e.innerHTML}}),n&&h(p.u,{title:n.description,position:"top-left"}," ",n.labelBehind))},b=n(7029).h;function m(t,e){var n=t.filter(Boolean);return 0===n.length?null:n.reduce((function(t,n,r){return t.length?[].concat((0,o.Z)(t),[b(i.HY,{key:r},e),n]):[n]}),[])}var g=n(7029).h;function y(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.onClose,n=t.putPoweredByLinkInRow,s=t.row1,u=(0,a.w)(),l=u.i18n.close,d=u.footerDesign,p=d.poweredByLink,h=d.linkTarget,b=u.poweredLink,y=u.affiliate,k=(0,c.p)(),x=k.linkPrivacyPolicy,w=k.linkImprint,C="_blank"===h?{target:"_blank",rel:"noopener"}:{},S=[[e&&g(f,{href:"#",onClick:e,key:"close"},g("strong",null,l))].concat((0,o.Z)(s||[]),[x&&g(f,(0,r.Z)({href:x.url},C,{key:"privacyPolicy"}),x.label),w&&g(f,(0,r.Z)({href:w.url},C,{key:"imprint"}),w.label)]).filter(Boolean),[]];b&&p&&S[n||0].push(g(v,{key:"poweredBy",poweredLink:b,affiliate:y}));var O=(0,i.I4)((function(t){return m(t.map((function(t){return t.length?g(i.HY,{key:t[0].key},m(t,g(i.HY,null," • "))):null})),g("br",null))}),[]);return{rows:S,render:O}}},6268:function(t,e,n){"use strict";n.d(e,{k:function(){return c}});var r=n(8982),o=n(3258);function i(t,e){return t.length>1&&t.splice(t.length-1,0,"{{andSeparator}}"),t.join(", ").replace(/,\s+{{andSeparator}},\s+/g,e)}var a='<sup style="vertical-align:top;line-height:100%;position:initial;">';function c(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.disableDataProcessingInUnsafeCountries,n=t.disableAgeNotice,c=t.disableListServicesNotice,s=(0,r.w)(),u=s.blocker,l=s.groups,d=s.ePrivacyUSA,f=s.ageNotice,p=s.listServicesNotice,h=s.texts,v=h.description,b=h.ePrivacyUSA,m=h.ageNoticeBanner,g=h.listServicesNotice,y=h.consentForwardingExternalHosts,k=s.tcf,x=s.consentForwardingExternalHosts,w=s.individualPrivacyOpen,C=s.individualTexts.description,S=s.essentialGroup,O=s.i18n,A=O.andSeparator,D=O.tcf,E=s.keepVariablesInTexts,Z=(0,o.p)(),I=Z.linkPrivacyPolicy,B="";x&&!E&&(B=y.replace(/{{websites}}/g,x.join(", ")));var T=[u?u.description:w?C:v,B].filter(Boolean).join(" ");E||(T=T.replace(/{{privacyPolicy}}(.*){{\/privacyPolicy}}/g,I?'<a href="'.concat(I.url,'" style="text-decoration:underline;color:inherit;" onmouseenter="this.style.textDecoration=\'none\'" onmouseleave="this.style.textDecoration=\'underline\'" target="_blank">$1</a>'):"$1"));var N=!e&&d?b:"",P=f&&!n?m:"",R="";if(p&&!c){var z=g.indexOf("{{services}}")>-1&&g.indexOf("{{serviceGroups}}")>-1,L=l.filter((function(t){return t.slug!==S})),W="~;~",H=i(L.map((function(t,e){return t.items.map((function(t){var n=t.name,r=t.ePrivacyUSA;return"".concat(n).concat(a).concat([z?e+1:"",N&&r?"U":""].filter(Boolean).join(","),"</sup>")})).join(W)})).join(W).split(W),A);if(H){var _=i(L.map((function(t,e){var n=t.name;return"".concat(n).concat(a).concat(z?e+1:"","</sup>")})),A);R="<span>".concat(g,"</span>").concat(k&&!w?"<span>".concat(D.listOfServicesAppendix,"</span>"):""),E||(R=R.replace(/{{services}}/g,H).replace(/{{serviceGroups}}/g,_)),N&&(N+="".concat(a,"U</sup>"))}}return{description:T,teachings:[N,P,R].filter(Boolean)}}},8982:function(t,e,n){"use strict";n.d(e,{w:function(){return i}});var r=n(4766),o=n(1347);function i(){var t=(0,r.S)(),e=(0,o._)();return t.groups?t:e}},3258:function(t,e,n){"use strict";n.d(e,{p:function(){return o}});var r=n(8982);function o(){var t=(0,r.w)(),e=t.legal,n=e.privacyPolicy,o=e.privacyPolicyExternalUrl,i=e.privacyPolicyIsExternalUrl,a=e.privacyPolicyLabel,c=e.imprint,s=e.imprintExternalUrl,u=e.imprintIsExternalUrl,l=e.imprintLabel,d=t.pageByIdUrl,f=(0,r.w)().pageIdToPermalink||{},p=n>0?f[n]||"".concat(d,"=").concat(n):void 0,h=c>0?f[c]||"".concat(d,"=").concat(c):void 0;return i&&(p=o),u&&(h=s),{linkPrivacyPolicy:!(!a||!p)&&{url:p,label:a},linkImprint:!(!l||!h)&&{url:h,label:l}}}},9707:function(t,e,n){"use strict";n.d(e,{G:function(){return i}});var r=n(5213),o=0;function i(t,e,n){var i=(0,r.Ye)((function(){return"react-use-plain-css-".concat(e||(o++).toString(36))}),[]);return(0,r.bt)((function(){var e=document.getElementById(i);return e||((e=document.createElement("style")).style.type="text/css",e.id=i,document.getElementsByTagName("head")[0].appendChild(e)),e.innerHTML=t,function(){var t;n||null===(t=e.parentNode)||void 0===t||t.removeChild(e)}}),[t,n]),i}},7613:function(t,e,n){"use strict";n.d(e,{W:function(){return o}});var r=n(2087);function o(t){var e=t.bodyDesign,n=e.teachingsInheritTextAlign,o=e.teachingsTextAlign,i=e.teachingsInheritFontSize,a=e.teachingsFontSize,c=e.teachingsInheritFontColor,s=e.teachingsFontColor,u=t.customCss.antiAdBlocker,l=t.mobile,d=t.pageRequestUuid4;return{className:"y"===u?void 0:"rcb-teachings",style:{marginTop:7,display:"inline-block",textAlign:n?void 0:o,fontSize:i?void 0:d?(0,r.D)(l,d,+a):+a,color:c?void 0:s}}}},8346:function(t,e,n){"use strict";function r(t){var e=t.layout.borderRadius,n=t.bodyDesign,r=n.teachingsSeparatorActive,o=n.teachingsSeparatorWidth,i=n.teachingsSeparatorHeight,a=n.teachingsSeparatorColor;return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-teachings-separator",style:{marginTop:7,display:"inline-block",maxWidth:"100%",borderRadius:+e,width:+o,height:r?+i:0,background:a}}}n.d(e,{V:function(){return r}})},7585:function(t,e,n){"use strict";n.d(e,{z:function(){return o}});var r=n(2087);function o(t,e,n,o,i){var a=t.layout.borderRadius,c=t.group,s=c.headlineFontSize,u=c.checkboxBg,l=c.checkboxBorderWidth,d=c.checkboxBorderColor,f=c.checkboxActiveBg,p=c.checkboxActiveBorderColor,h=c.checkboxActiveColor,v=t.customCss.antiAdBlocker,b=t.mobile,m=t.pageRequestUuid4,g=i||s;g=m?(0,r.D)(b,m,g):g;var y=m?(0,r.D)(b,m,+l):+l,k=+g+2*y+6;return{className:"y"===v?void 0:"rcb-checkbox",style:{cursor:o?"not-allowed":"pointer",opacity:o?.5:void 0,color:n?h:u,display:e?"inline-block":"none",background:n?f:u,border:"".concat(y,"px solid ").concat(n?p:d),padding:3,height:k,width:k,marginRight:10,borderRadius:+a,verticalAlign:"middle",lineHeight:0,boxSizing:"border-box"}}}},2121:function(t,e,n){"use strict";function r(t,e){var n=t.design.linkTextDecoration,r=t.group,o=r.linkColor,i=r.linkHoverColor;return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-group-more",style:{color:e?i:o,textDecoration:n}}}n.d(e,{c:function(){return r}})},6730:function(t,e,n){"use strict";n.d(e,{a:function(){return o}});var r=n(2087);function o(t,e){var n=t.headerDesign,o=n.fontSize,i=n.fontColor,a=n.fontInheritFamily,c=n.fontFamily,s=n.fontWeight,u=t.customCss.antiAdBlocker,l=t.mobile,d=t.pageRequestUuid4;return{className:"y"===u?void 0:"rcb-headline",style:{color:i,lineHeight:1.8,fontSize:d?(0,r.D)(l,d,+o):+o,fontFamily:a?void 0:c,fontWeight:s,paddingRight:e?20:void 0}}}},2087:function(t,e,n){"use strict";function r(t,e,n,r){return t.enabled,t.scalePercent,t.scalePercentVertical,n}n.d(e,{D:function(){return r}})},5672:function(t,e,n){"use strict";n.d(e,{U:function(){return o}});var r=n(7932);function o(t){var e=document.getElementById(t).nextElementSibling,n=document.createElement("div");return window.rcbPoweredByCacheOuterHTML?n.innerHTML=window.rcbPoweredByCacheOuterHTML:(0,r.D)(e,"a")&&e.innerHTML.toLowerCase().indexOf("Real Cookie Banner")&&(window.rcbPoweredByCacheOuterHTML=e.outerHTML,n.innerHTML=window.rcbPoweredByCacheOuterHTML,e.parentNode.removeChild(e)),n.children[0]}window.rcbPoweredByCacheOuterHTML=""},7932:function(t,e,n){"use strict";function r(t,e){var n="undefined"!=typeof Element?Element.prototype:{},r=n.matches||n.matchesSelector||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector;if(!t||1!==t.nodeType||!t.parentElement)return!1;if(r)return r.call(t,e);var o=t.parentElement.querySelectorAll(e);for(var i in o)if(o[i]===t)return!0;return!1}n.d(e,{D:function(){return r}})},3075:function(t,e,n){"use strict";n.d(e,{D:function(){return D}});var r=n(2711),o=n(7938),i=n(5450),a=n.n(i),c=n(4742),s=n.n(c),u=n(4312),l=n(6811),d=n(5566),f=n.n(d);function p(t){for(var e=t.location,n=t.params,r=void 0===n?{}:n,o=t.nonce,i=void 0===o||o,a=t.options,c=new(s())(a.restRoot,!0),d=c.query,p=d.rest_route||c.pathname,h=[],v=e.path.replace(/:([A-Za-z0-9-_]+)/g,(function(t,e){return h.push(e),r[e]})),b={},m=0,g=Object.keys(r);m<g.length;m++){var y=g[m];-1===h.indexOf(y)&&(b[y]=r[y])}var k=(0,u.Ab)(p)+(0,u.XO)(e.namespace||a.restNamespace)+v,x=new(s())(window.location.href).protocol.slice(0,-1);c.set("protocol",x),d.rest_route?d.rest_route=k:c.set("pathname",k),i&&a.restNonce&&(d._wpnonce=a.restNonce);var w=c.toString();return["wp-json/","rest_route="].filter((function(t){return w.indexOf(t)>-1})).length>0&&e.method&&e.method!==l.O.GET&&(d._method=e.method),c.set("query",f().all([a.restQuery,b,d])).toString()}var h=n(55).default,v=n(9448).default,b={},m={};function g(t,e){return y.apply(this,arguments)}function y(){return y=(0,o.Z)(a().mark((function t(e,n){var r,i;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0===n){t.next=6;break}return r=m[e]||new h(function(){var t=(0,o.Z)(a().mark((function t(r,o){var i,c;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,v(n);case 3:if(!(i=t.sent).ok){t.next=11;break}return t.next=7,i.text();case 7:c=t.sent,e===c?o():(b[e]=c,r(c)),t.next=12;break;case 11:o();case 12:t.next=17;break;case 14:t.prev=14,t.t0=t.catch(0),o();case 17:case"end":return t.stop()}}),t,null,[[0,14]])})));return function(e,n){return t.apply(this,arguments)}}()),m[e]=r,t.abrupt("return",r);case 6:if(void 0!==e){t.next=8;break}return t.abrupt("return",void 0);case 8:return t.next=10,h.all(Object.values(m));case 10:i=e;case 11:if(!b[i]){t.next=17;break}if(i=b[i],b[i]!==e){t.next=15;break}return t.abrupt("break",17);case 15:t.next=11;break;case 17:return t.abrupt("return",h.resolve(i));case 18:case"end":return t.stop()}}),t)}))),y.apply(this,arguments)}var k=n(38);function x(t,e,n){return w.apply(this,arguments)}function w(){return(w=(0,o.Z)(a().mark((function t(e,n,r){var o,i,c,s,u,d;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=n.clone(),t.prev=1,t.next=4,n.json();case 4:return t.abrupt("return",t.sent);case 7:return t.prev=7,t.t0=t.catch(1),t.next=11,o.text();case 11:if(!(""===(i=t.sent)&&[l.O.DELETE,l.O.PUT].indexOf(r)>-1)){t.next=14;break}return t.abrupt("return",void 0);case 14:console.warn("The response of ".concat(e," contains unexpected JSON, try to resolve the JSON line by line..."),{body:i}),s=(0,k.Z)(i.split("\n")),t.prev=16,s.s();case 18:if((u=s.n()).done){t.next=30;break}if(!(d=u.value).startsWith("[")&&!d.startsWith("{")){t.next=28;break}return t.prev=21,t.abrupt("return",JSON.parse(d));case 25:t.prev=25,t.t1=t.catch(21),c=t.t1;case 28:t.next=18;break;case 30:t.next=35;break;case 32:t.prev=32,t.t2=t.catch(16),s.e(t.t2);case 35:return t.prev=35,s.f(),t.finish(35);case 38:throw c;case 39:case"end":return t.stop()}}),t,null,[[1,7],[16,32,35,38],[21,25]])})))).apply(this,arguments)}var C=n(2680),S=n.n(C),O=n(9448).default,A="application/json;charset=utf-8";function D(t){return E.apply(this,arguments)}function E(){return(E=(0,o.Z)(a().mark((function t(e){var n,o,i,c,u,d,h,v,b,m,y,k,w,C,E,Z,I,B,T,N,P,R,z;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.location,o=e.options,i=e.request,c=e.params,u=e.settings,d=void 0===u?{}:u,h=e.multipart,v=void 0!==h&&h,b=e.sendRestNonce,m=void 0===b||b,y=p({location:n,params:c,nonce:!1,options:o}),["wp-json/","rest_route="].filter((function(t){return y.indexOf(t)>-1})).length>0&&n.method&&n.method!==l.O.GET?d.method=l.O.POST:d.method=n.method||l.O.GET,k=new(s())(y,!0),!(w=-1===["HEAD","GET"].indexOf(d.method))&&i&&k.set("query",f()(k.query,i)),w&&(C=v?S()(i,"boolean"==typeof v?{}:v):JSON.stringify(i)),t.next=9,g(o.restNonce);case 9:return E=t.sent,Z=void 0!==E,(I=f().all([d,{headers:(0,r.Z)((0,r.Z)((0,r.Z)({},"string"==typeof C?{"Content-Type":A}:{}),Z&&m?{"X-WP-Nonce":E}:{}),{},{Accept:"application/json, */*;q=0.1"})}])).body=C,B=k.toString(),t.next=16,O(B,I);case 16:if((T=t.sent).ok){t.next=47;break}return N=void 0,P=!1,t.prev=20,t.next=23,x(B,T,n.method);case 23:if("private_site"===(N=t.sent).code&&403===T.status&&Z&&!m&&(P=!0),"rest_cookie_invalid_nonce"!==N.code||!Z){t.next=35;break}return R=o.restRecreateNonceEndpoint,t.prev=27,t.next=30,g(E,R);case 30:P=!0,t.next=35;break;case 33:t.prev=33,t.t0=t.catch(27);case 35:t.next=39;break;case 37:t.prev=37,t.t1=t.catch(20);case 39:if(!P){t.next=43;break}return t.next=42,D({location:n,options:o,multipart:v,params:c,request:i,sendRestNonce:!0,settings:d});case 42:return t.abrupt("return",t.sent);case 43:throw d.method===l.O.GET&&(window.detectCorruptRestApiFailed=(window.detectCorruptRestApiFailed||0)+1),(z=T).responseJSON=N,z;case 47:return t.abrupt("return",x(B,T,n.method));case 48:case"end":return t.stop()}}),t,null,[[20,37],[27,33]])})))).apply(this,arguments)}},6811:function(t,e,n){"use strict";var r;n.d(e,{O:function(){return r}}),function(t){t.GET="GET",t.POST="POST",t.PUT="PUT",t.DELETE="DELETE",t.PATCH="PATCH"}(r||(r={}))},4312:function(t,e,n){"use strict";n.d(e,{XO:function(){return r},Ab:function(){return o},sE:function(){return i}});var r=function t(e){return e.endsWith("/")||e.endsWith("\\")?t(e.slice(0,-1)):e},o=function(t){return"".concat(r(t),"/")},i=function(t){var e=window[t.slug.replace(/-([a-z])/g,(function(t){return t[1].toUpperCase()}))];return"".concat(e.publicUrl).concat(e.chunkFolder,"/")}},9302:function(t,e,n){"use strict";n.d(e,{h:function(){return u}});var r=n(38),o=n(3438),i=n(4548),a=n(3102),c=n(1829),s=n(55).default;function u(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.createElement("div");return new s((function(n){var s,u,l=(0,o.u)().blocker,d=!e.parentElement,f=(0,r.Z)(l);try{t:for(f.s();!(u=f.n()).done;){var p,h=u.value,v=h.hosts,b=(0,r.Z)(v);try{for(b.s();!(p=b.n()).done;){var m=p.value,g=(0,c.L)(m);if(t.match(g)){s=h;break t}}}catch(t){b.e(t)}finally{b.f()}}}catch(t){f.e(t)}finally{f.f()}s?(e.setAttribute(i.d3,"cookies"),e.setAttribute(i._W,s.cookies.join(",")),e.setAttribute(i.CT,s.id.toString()),e.addEventListener(a.T,(function(){d&&e.remove(),n()})),d&&document.body.appendChild(e)):n()}))}},6946:function(t,e,n){"use strict";n.r(e),n.d(e,{consent:function(){return we},consentAll:function(){return Se},consentSync:function(){return ke},unblock:function(){return me.h}});var r={};n.r(r),n.d(r,{consent:function(){return we},consentAll:function(){return Se},consentSync:function(){return ke},unblock:function(){return me.h}});var o=n(7938),i=n(5450),a=n.n(i),c=n(5213),s=n(2711),u=n(7663),l=n(3438),d=n(625),f=n(6886),p=n(965),h=n(38),v=n(8218),b=n(9382),m=n(7766),g=n(6028);function y(){return(y=(0,o.Z)(a().mark((function t(e,n){var r,o,i,c,u,l,d,f,y,k;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=!0,o=e instanceof v.G?e.getOptions():e,i=n.gateways,c=n.args,u=n.onIsDoNotTrack,l=n.onShowCookieBanner,d=(0,h.Z)(i),t.prev=4,d.s();case 6:if((f=d.n()).done){t.next=17;break}return y=f.value,t.next=10,y.apply(void 0,[o].concat((0,p.Z)(c)));case 10:if(!1===(k=t.sent)){t.next=15;break}if("break"!==function(){r=!1;var t=function(t){return(0,b.n)((0,s.Z)({type:t},o))};return"all"===k?t("all"):"essentials"===k?t("essentials"):"dnt"===k?u((function(){return t("essentials")})):"consent"===k&&t("consent"),"break"}()){t.next=15;break}return t.abrupt("break",17);case 15:t.next=6;break;case 17:t.next=22;break;case 19:t.prev=19,t.t0=t.catch(4),d.e(t.t0);case 22:return t.prev=22,d.f(),t.finish(22);case 25:if(!r){t.next=30;break}return l(),t.next=29,(0,g.C)();case 29:document.dispatchEvent(new CustomEvent(m.I,{detail:{}}));case 30:case"end":return t.stop()}}),t,null,[[4,19,22,25]])})))).apply(this,arguments)}var k=n(4001),x=function(){var t=(0,o.Z)(a().mark((function t(e){var n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.supportsCookiesName,t.abrupt("return",!(0,k.E)(n)&&"essentials");case 2:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),w=n(5245),C=n(4717),S=n.n(C);function O(){var t=navigator.userAgent;return!!t&&!/chrome-lighthouse/i.test(t)&&S()(t)}var A=n(55).default;function D(t,e){return new A((function(n,r){t.then(n,r);var o=new Error("Timed out");setTimeout(r,e,o)}))}var E=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e4,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return function(){var r=(0,o.Z)(a().mark((function r(o){var i,c,s,u,l,d;return a().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(i=o.decisionCookieName,c=o.revisionHash,!O()&&n){r.next=3;break}return r.abrupt("return",!1);case 3:if(!(s=(0,w.h)(i))){r.next=8;break}if(u=s.revision,c!==u){r.next=8;break}return r.abrupt("return","consent");case 8:return r.prev=8,r.next=11,D(t(),e);case 11:return l=r.sent,d=l.predecision,r.abrupt("return",d);case 16:return r.prev=16,r.t0=r.catch(8),r.abrupt("return",!1);case 19:case"end":return r.stop()}}),r,null,[[8,16]])})));return function(t){return r.apply(this,arguments)}}()};function Z(){try{var t=window;if((t.doNotTrack||t.navigator.doNotTrack||t.navigator.msDoNotTrack||"msTrackingProtectionEnabled"in t.external)&&("1"==t.doNotTrack||"yes"==t.navigator.doNotTrack||"1"==t.navigator.doNotTrack||"1"==t.navigator.msDoNotTrack||t.external.msTrackingProtectionEnabled()))return!0}catch(t){}return!1}var I=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function(){var e=(0,o.Z)(a().mark((function e(n){var r,o,i,c,s,l,d,f,p,v,b;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.decisionCookieName,o=n.groups,i=n.essentialGroupSlug,c=o.filter((function(t){return t.slug===i})),s=(0,u.Z)(c,1),l=s[0],!1===(0,w.h)(r)&&t){e.next=4;break}return e.abrupt("return",!1);case 4:d=(0,h.Z)(o),e.prev=5,d.s();case 7:if((f=d.n()).done){e.next=29;break}if((p=f.value)===l){e.next=27;break}v=(0,h.Z)(p.items),e.prev=11,v.s();case 13:if((b=v.n()).done){e.next=19;break}if("legitimate-interest"!==b.value.legalBasis){e.next=17;break}return e.abrupt("return",!1);case 17:e.next=13;break;case 19:e.next=24;break;case 21:e.prev=21,e.t0=e.catch(11),v.e(e.t0);case 24:return e.prev=24,v.f(),e.finish(24);case 27:e.next=7;break;case 29:e.next=34;break;case 31:e.prev=31,e.t1=e.catch(5),d.e(e.t1);case 34:return e.prev=34,d.f(),e.finish(34);case 37:return e.abrupt("return",!!Z()&&"dnt");case 38:case"end":return e.stop()}}),e,null,[[5,31,34,37],[11,21,24,27]])})));return function(t){return e.apply(this,arguments)}}()},B=function(){var t=(0,o.Z)(a().mark((function t(e){var n,r,o,i;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.decisionCookieName,r=e.revisionHash,!1!==(o=(0,w.h)(n))){t.next=4;break}return t.abrupt("return",!1);case 4:return i=o.revision,t.abrupt("return",r===i&&"consent");case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),T=n(3075),N=n(6811),P={path:"/consent/dynamic-predecision",method:N.O.GET};function R(t){var e=t.legal,n=e.imprint,r=e.imprintHide,o=e.privacyPolicy,i=e.privacyPolicyHide,a=t.pageId;return[r&&+n,i&&+o].filter(Boolean).indexOf(a)>-1}var z=n(6423),L=n(7563);function W(){var t=(0,c.Ye)((function(){return window.innerWidth}),[])<700,e=(0,c.Ye)((function(){var t=window.navigator.userAgent.toLowerCase();return 4===["firefox","gecko","mobile","android"].map((function(e){return t.indexOf(e)>-1})).filter(Boolean).length}),[]);return(0,c.I4)((function(n){var r=n.animationIn,o=n.animationInOnlyMobile,i=n.animationOut,a=n.animationOutOnlyMobile,c=o?t?r:"none":r,s=a?t?i:"none":i;return e&&(c="none",s="none"),{useAnimationIn:c,useAnimationOut:s}}),[])}var H=function(t){t&&(t.preventDefault(),t.stopPropagation())},_=n(4766),Y=n(4741),U=n(3743),F=n(9707),M=n(9586),j=n(7932),G='[href^="#consent-"]',q=n(2087);function X(t,e){var n=(0,c.eJ)(0),r=(0,u.Z)(n,2),o=r[0],i=r[1],a=(0,c.eJ)(0),s=(0,u.Z)(a,2),l=s[0],d=s[1],f=(0,c.eJ)(t),p=(0,u.Z)(f,2),h=p[0],v=p[1],b=(0,c.eJ)(void 0),m=(0,u.Z)(b,2),g=m[0],y=m[1],k=(0,c.eJ)(e),x=(0,u.Z)(k,2),w=x[0],C=x[1],S=(0,c.eJ)(void 0),O=(0,u.Z)(S,2),A=O[0],D=O[1];return(0,c.d4)((function(){o>0&&("none"===t?v(t):(v("none"),y(t))),i(o+1)}),[t]),(0,c.d4)((function(){l>0&&(0===e?C(e):(C(0),D(e),v("none"),y(t))),d(l+1)}),[e]),(0,c.d4)((function(){void 0!==g&&(v(g),y(void 0))}),[g]),(0,c.d4)((function(){void 0!==A&&(C(A),D(void 0))}),[A]),[h,w]}var V=n(63);function J(t){var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null}function $(t,e){var n=J(t),r=n.r,o=n.g,i=n.b;return"rgba(".concat(r,", ").concat(o,", ").concat(i,", ").concat(e/100,")")}var Q=n(7029).h;function K(t){var e=t.isVisible,n=t.animationIn,r=t.animationOut,o=t.animationInDuration,i=t.animationOutDuration,a=t.animationInDelay,c=t.animationOutDelay;return e?{animation:n,duration:o,delay:a}:{animation:r,duration:i,delay:c}}var tt=function(t){var e=t.animateOnMount,n=void 0===e||e,r=t.isVisible,o=void 0===r||r,i=t.animationIn,a=void 0===i?"fadeIn":i,l=t.animationOut,d=void 0===l?"fadeOut":l,f=t.animationInDelay,p=void 0===f?0:f,h=t.animationOutDelay,v=void 0===h?0:h,b=t.animationInDuration,m=void 0===b?1e3:b,g=t.animationOutDuration,y=void 0===g?1e3:g,k=t.className,x=void 0===k?"":k,w=t.style,C=void 0===w?{}:w,S=t.children,O=(0,c.eJ)(n?K({isVisible:o,animationIn:a,animationOut:d,animationInDelay:p,animationOutDelay:v,animationInDuration:m,animationOutDuration:y}):{animation:"",delay:void 0,duration:0}),A=(0,u.Z)(O,2),D=A[0],E=D.animation,Z=D.duration,I=D.delay,B=A[1];(0,c.d4)((function(){B(K({isVisible:o,animationIn:a,animationOut:d,animationInDelay:p,animationOutDelay:v,animationInDuration:m,animationOutDuration:y}))}),[o,a,d,p,v,m,y]);var T="animate__animated animate__".concat(E," ").concat(x),N=E?{}:{opacity:o?1:0,transition:"opacity ".concat(I,"ms")};return Q("div",{className:T,style:(0,s.Z)((0,s.Z)({animationDelay:"".concat(I,"ms"),animationDuration:"".concat(Z,"ms"),pointerEvents:o?"all":"none"},C),N)},S)};function et(t,e){var n=(0,_.S)().pageRequestUuid4,r=(0,F.G)("","useRenderedHeightsAsCssVars-".concat(e)),o=document.getElementById(r);(0,c.d4)((function(){var r=0,i=function(){var i=t.getBoundingClientRect().height;r!==i&&(r=i,o.innerHTML="#".concat(n,"{--rendered-height-").concat(e,": ").concat(Math.floor(i),"px;--rendered-height-raw-").concat(e,": ").concat(i,"px}"))};if(!t)return function(){};var a=document.querySelector("#".concat(n,' div[class*="animate__"]'));if(a.addEventListener("animationend",i),window.ResizeObserver){var c=new ResizeObserver(i);return c.observe(t),function(){c.disconnect(),a.removeEventListener("animationend",i)}}var s=setInterval(i,150);return function(){clearInterval(s),a.removeEventListener("animationend",i)}}),[t,e])}var nt=n(4115),rt=n(6730);function ot(){var t=(0,_.S)(),e=t.individualPrivacyOpen,n=t.onSave,r=t.updateGroupChecked,o=t.updateCookieChecked,i=t.groups,a=t.essentialGroup,u=t.updateIndividualPrivacyOpen,l=t.activeAction,d=t.onClose,f=e?"ind_all":"main_all",p=e?"ind_essential":"main_essential",v=e?"ind_close_icon":"main_close_icon",b=e?"ind_custom":"main_custom",m={buttonClickedAll:f,buttonClickedEssentials:p,buttonClickedCloseIcon:v,buttonClickedCustom:b,acceptAll:(0,c.I4)((function(){i.forEach((function(t){return r(t.id,!0)})),n(!1,f)}),[f]),acceptEssentials:(0,c.I4)((function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];i.forEach((function(t){var e=t.slug,n=t.id,i=t.items;if(e===a)r(n,!0);else{var c,s=(0,h.Z)(i);try{for(s.s();!(c=s.n()).done;){var u=c.value,l=u.legalBasis,d=u.id;o(n,d,"legitimate-interest"===l)}}catch(t){s.e(t)}finally{s.f()}}})),n(!1,t?v:p)}),[p]),acceptIndividual:(0,c.I4)((function(){return n(!1,b)}),[b]),openIndividualPrivacy:(0,c.I4)((function(){u(!0)}),[u])};return(0,s.Z)((0,s.Z)({},m),{},{closeIcon:(0,c.I4)((function(){l?d():m.acceptEssentials(!0)}),[l,d,m.acceptEssentials])})}var it=n(7778),at=function(t){var e=t.children,n=t.className,r=t.tag,o=void 0===r?"div":r,i=t.renderInContainer,a=(0,c.eJ)((function(){var t=document.createElement(o);return n&&t.classList.add(n),t})),s=(0,u.Z)(a,1)[0];return(0,c.d4)((function(){return document.body.appendChild(s),function(){document.body.removeChild(s)}}),[]),(0,c.jz)(e,i||s)},ct=n(8523),st=n(7029).h,ut=0,lt=function(t){var e=t.width,n=t.color,r=t.tooltipText,o=t.framed,i=t.renderInContainer,a=t.tooltipAlways,s=t.onClick,u=t.thickness,l=void 0===u?1:u,d=(0,c.Ye)((function(){return"react-close-icon-".concat((ut++).toString(36))}),[]),f=(0,c.Ye)((function(){return"react-close-icon-".concat((ut++).toString(36))}),[]),p=(0,c.Ye)((function(){return"react-close-icon-".concat((ut++).toString(36))}),[]),h=(0,c.sO)(),v=(0,it.EL)(h);return(0,F.G)("#".concat(p,", #").concat(d," {\n position: absolute;\n top: 50%;\n right: 0;\n margin-top: calc(").concat(e,"px / 2 * -1);\n display: block;\n width: ").concat(e,"px;\n height: ").concat(e,"px; \n pointer-events: none;\n}\n\n#").concat(d," {\n position: absolute !important;\n}\n\n#").concat(d,", #").concat(f," {\n cursor: pointer;\n pointer-events: all;\n ").concat(o?"outline: rgb(255, 94, 94) solid 5px;":"","\n}\n\n#").concat(f," {\n position: fixed !important;\n ").concat(v?"top: ".concat(v.y,"px;left: ").concat(v.x,"px;display:block;"):"display:none;","\n width: ").concat(e,"px;\n height: ").concat(e,"px;\n z-index: 99;\n}\n#").concat(f,":after, #").concat(d,":after {\n width: auto !important;\n white-space: nowrap !important;\n}\n#").concat(f,">span:before, #").concat(f,">span:after,\n#").concat(d,">span:before, #").concat(d,">span:after {\n position: absolute;\n top: 50%;\n left: 50%;\n width: ").concat(l,"px;\n height: ").concat(e,"px;\n background-color: ").concat(n,";\n transform: rotate(45deg) translate(-50%, -50%);\n transform-origin: top left;\n transition: all 420ms;\n content: '';\n opacity: 0.5;\n pointer-events: none;\n}\n#").concat(f,">span:after,\n#").concat(d,">span:after {\n transform: rotate(-45deg) translate(-50%, -50%);\n}\n#").concat(f,">span:hover:before, #").concat(f,">span:hover:after,\n#").concat(d,">span:hover:before, #").concat(d,">span:hover:after {\n opacity: 1;\n width: ").concat(l+1,"px;\n}")),i?st(c.HY,null,st("div",{id:p,ref:h}),(null==v?void 0:v.y)>0&&st(at,{renderInContainer:i},st(ct.u,{title:r,id:f,onClick:s,position:v.y>50?"top-left":"left",always:a},st("span",null)))):st(ct.u,{title:r,id:d,onClick:s,position:"top-left",always:a},st("span",null))},dt=n(7029).h,ft=function(){var t=(0,_.S)(),e=t.headerDesign,n=e.fontSize,r=e.fontColor,o=t.texts.acceptEssentials,i=t.mobile,a=t.activeAction,c=t.pageRequestUuid4,s=t.i18n,u=s.close,l=s.closeWithoutSaving,d=t.buttonClicked,f=void 0===d?"":d,p=ot(),h=p.buttonClickedCloseIcon,v=p.closeIcon,b=document.getElementById(c);return dt(lt,{width:(0,q.D)(i,c,n),color:r,tooltipText:a?"change"===a?l:u:o,tooltipAlways:(null==b?void 0:b.clientWidth)<700,framed:f===h,renderInContainer:b,onClick:v})},pt=n(7029).h,ht=(0,c.Gp)((function(t,e){var n,r,o,i,a,c,u,l,d,f,p,h,v,b,m,g,y,k,x=(0,_.S)(),w=x.headerDesign,C=w.logo,S=w.logoRetina,O=x.decision.showCloseIcon,A=x.texts.headline,D=x.activeAction,E=x.individualPrivacyOpen,Z=x.individualTexts,I=x.i18n.headerTitlePrivacyPolicyHistory,B=S&&!(null!=C&&C.endsWith(".svg"))&&window.devicePixelRatio>1,T=B?S:C,N=E?"history"===D?I:Z.headline:A;return pt("div",(0,Y.Z)({ref:e},(o=(r=(n=x).layout).type,i=r.dialogBorderRadius,c=(a=n.design).borderWidth,u=a.borderColor,l=(0,nt.Z)(a,["borderWidth","borderColor"]),f=(d=n.headerDesign).inheritBg,p=d.bg,h=d.padding,v=n.customCss.antiAdBlocker,b=n.mobile,m=n.pageRequestUuid4,g=(0,q.D)(b,m,o,"banner"),y=(0,q.D)(b,m,c),k={padding:(0,q.D)(b,m,h,void 0,!0).map((function(t){return"".concat(t,"px")})).join(" "),background:f?l.bg:p,borderRadius:"dialog"===g?"".concat(i,"px ").concat(i,"px 0 0"):void 0,position:"sticky",zIndex:9,top:0},"dialog"===g&&y>0&&(k.borderTop="".concat(y,"px solid ").concat(u),k.borderLeft=k.borderTop,k.borderRight=k.borderTop),{className:"y"===v?void 0:"rcb-header-container",style:k})),pt("div",function(t){var e=t.layout,n=e.type,r=e.bannerMaxWidth,o=t.design.textAlign,i=t.headerDesign,a=i.inheritTextAlign,c=i.logo,s=i.logoPosition,u=(0,nt.Z)(i,["inheritTextAlign","logo","logoPosition"]),l=t.texts.headline,d=t.individualLayout,f=t.customCss.antiAdBlocker,p=t.mobile,h=t.pageRequestUuid4,v=t.individualPrivacyOpen,b=a?o:u.textAlign;return{className:"y"===f?void 0:"rcb-header",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===(0,q.D)(p,h,n,"banner")?+(v&&!d.inheritBannerMaxWidth?d.bannerMaxWidth:r):void 0,margin:"auto",display:"flex",justifyContent:"center"===b?"center":"right"===b?"flex-end":void 0,textAlign:b,alignItems:"center",position:"relative",flexDirection:c&&l?"left"===s?"row":"right"===s?"row-reverse":"column":void 0}}}(x),!!T&&pt("img",(0,Y.Z)({alt:"",src:T},function(t,e){var n=t.headerDesign,r=n.logoMaxHeight,o=n.logoMargin,i=n.logoFitDim,a=n.logoRetinaFitDim,c=t.customCss.antiAdBlocker,u=t.mobile,l=t.pageRequestUuid4,d=e?a:i,f=d?{width:d[0],height:d[1]}:{width:"auto",height:(0,q.D)(u,l,+r)};return{className:"y"===c?void 0:"rcb-logo",style:(0,s.Z)((0,s.Z)({},f),{},{margin:(0,q.D)(u,l,o).map((function(t){return"".concat(t,"px")})).join(" ")})}}(x,B))),!!N&&pt("div",(0,rt.a)(x,!1),N),(!!O||!!D)&&pt(ft,null)))})),vt=n(6268),bt=n(4769),mt=n(3282),gt=n(7029).h,yt=function(t){var e=t.title,n=t.children,r=(0,_.S)();return gt("div",function(t){var e=t.group,n=e.headlineFontSize,r=e.headlineFontColor,o=e.headlineFontWeight,i=t.customCss.antiAdBlocker,a=t.mobile,c=t.pageRequestUuid4;return{className:"y"===i?void 0:"rcb-group",style:{color:r,fontSize:(0,q.D)(a,c,n),fontWeight:o,textAlign:"left"}}}(r),e,n&&gt("div",function(t){var e=t.design.fontWeight,n=t.group,r=n.descriptionFontColor,o=n.descriptionFontSize,i=t.customCss.antiAdBlocker,a=t.mobile,c=t.pageRequestUuid4;return{className:"y"===i?void 0:"rcb-group-description",style:{color:r,fontSize:(0,q.D)(a,c,+o),fontWeight:e,marginTop:5}}}(r),n))},kt=n(2260),xt=n(7585),wt=n(2121),Ct=n(229),St=n(7029).h,Ot=function(t){var e,n=t.group,r=t.cookie,o=r.id,i=(0,_.S)(),a=i.consent,s=i.activeAction,u=i.essentialGroup===n.slug,l=u||"history"===s,d=u||((null===(e=a.groups)||void 0===e?void 0:e[n.id])||[]).some((function(t){return t===o})),f=(0,c.I4)((function(){return!l&&i.updateCookieChecked(n.id,o,!d)}),[l,i,n,o,d]);return St(Ct.V,{cookie:r,propertyListProps:{isEssentialGroup:u},checked:d,disabled:l,onToggleCheck:f})},At=n(7029).h,Dt=function(t){var e,n=t.group,r=(0,_.S)(),o=n.id,i=n.slug,a=n.name,s=n.description,l=n.items,d=(0,c.eJ)(!1),f=(0,u.Z)(d,2),p=f[0],h=f[1],v=(0,c.eJ)(!1),b=(0,u.Z)(v,2),m=b[0],g=b[1],y=(0,c.eJ)(!1),k=(0,u.Z)(y,2),x=k[0],w=k[1],C=r.previewCheckboxActiveState,S=r.individualTexts,O=S.showMore,A=S.hideMore,D=r.consent,E=r.activeAction,Z=r.essentialGroup;(0,c.bt)((function(){h(!0)}),[]);var I=Z===i,B=I||"history"===E,T=C||I||!!D.groups[o],N=I||JSON.stringify(l.map((function(t){return t.id})).sort())===JSON.stringify((null===(e=D.groups[o])||void 0===e?void 0:e.sort())||[])?mt.Z:bt.Z,P=(0,c.I4)((function(){return!B&&r.updateGroupChecked(o,!T)}),[B,r,o,T]);return At("div",function(t){var e=t.group,n=e.groupBg,r=e.groupBorderRadius,o=e.groupBorderColor,i=e.groupPadding,a=e.groupBorderWidth,c=e.groupInheritBg,s=t.customCss.antiAdBlocker,u=t.mobile,l=t.pageRequestUuid4,d=(0,q.D)(u,l,a);return{className:"y"===s?void 0:"rcb-group",style:{background:c?void 0:n,border:d>0?"".concat(d,"px solid ").concat(o):void 0,padding:(0,q.D)(u,l,i).map((function(t){return"".concat(t,"px")})).join(" "),borderRadius:+r,textAlign:"left"}}}(r),At(yt,{title:At(c.HY,null,At(kt.p,(0,Y.Z)({icon:N,onClick:P},(0,xt.z)(r,p,T,B))),At("span",{style:{verticalAlign:"middle",cursor:"pointer"},onClick:P},a," (",l.length,")"))},s,!!l&&At(c.HY,null,"  •  ",At("a",(0,Y.Z)({href:"#"},(0,wt.c)(r,m),{onClick:function(t){w(!x),t.preventDefault()},onMouseEnter:function(){return g(!0)},onMouseLeave:function(){return g(!1)}}),x?A:O),x&&l.map((function(t){return At(Ot,{key:t.id,group:n,cookie:t})})))))},Et=n(7029).h,Zt=function(){var t=(0,_.S)(),e=t.groups,n=t.group.groupSpacing,r=t.mobile,o=t.pageRequestUuid4,i=e.filter((function(t){return t.items.length}));return Et("div",{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-groups",style:{marginTop:10,clear:"both"}},i.map((function(t,e){return Et(c.HY,{key:t.id},Et(Dt,{key:t.id,group:t}),e!==i.length-1&&Et("div",{style:{height:(0,q.D)(r,o,+n)}}))})))},It=n(7029).h,Bt=function(t){var e=t.group,n=e.id,r=e.slug,o=e.name,i=(0,c.eJ)(!1),a=(0,u.Z)(i,2),s=(a[0],a[1]),l=(0,_.S)(),d=l.decision.groupsFirstView,f=(l.design.fontSize,l.consent),p=l.essentialGroup;(0,c.bt)((function(){s(!0)}),[]);var h=p===r,v=h||!!f.groups[n],b=(0,c.I4)((function(){return false}),[false,h,l,n,v,d]);return It("span",(0,Y.Z)({key:o},function(t){var e=t.design.fontSize,n=t.bodyDesign,r=n.dottedGroupsInheritFontSize,o=n.dottedGroupsFontSize,i=t.mobile,a=t.pageRequestUuid4;return{className:void 0,style:{paddingRight:10,fontSize:(0,q.D)(i,a,r?+e:+o),whiteSpace:"nowrap",display:"inline-block"}}}(l)),It("span",null,It(c.HY,null,It("strong",function(t){return{className:void 0,style:{color:t.bodyDesign.dottedGroupsBulletColor}}}(l),"●")," "),It("span",{style:{verticalAlign:"middle",cursor:d?"pointer":void 0},onClick:b},o)))},Tt=n(7029).h,Nt=function(){var t=(0,_.S)(),e=t.groups;return t.decision.showGroups?Tt("div",{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-dotted-groups",style:{marginTop:10,lineBreak:"anywhere",lineHeight:2}},e.filter((function(t){return!!t.items.length})).map((function(t){return Tt(Bt,{key:t.id,group:t})}))):null},Pt=n(7029).h,Rt=function(){var t=(0,_.S)(),e=(0,c.eJ)(-1),n=(0,u.Z)(e,2),r=n[0],o=n[1],i=t.activeAction,a=t.history,s=t.selectHistoryEntry,l=t.i18n,d=l.historyLabel,f=l.historySelectNone,p=(0,c.Ye)((function(){var t;return null==a||null===(t=a.filter((function(t){return t.id===r})))||void 0===t?void 0:t[0]}),[r]);(0,c.d4)((function(){i?"history"===i&&null!=a&&a.length&&o(a[0].id):o(-1)}),[i,a]);var h,v,b,m,g,y,k,x,w,C,S=null==p?void 0:p.uuid,O={className:void 0,style:{background:t.design.bg}};return Pt(c.HY,null,d," ",Pt("select",(0,Y.Z)({},(v=(h=t).design,b=v.fontSize,m=v.fontColor,g=h.bodyDesign,y=g.descriptionInheritFontSize,k=g.descriptionFontSize,x=h.customCss.antiAdBlocker,w=h.mobile,C=h.pageRequestUuid4,{className:"y"===x?void 0:"rcb-history-select",style:{fontSize:(0,q.D)(w,C,y?+b:+k),background:"transparent",border:0,color:m,borderBottom:"1px solid ".concat($(m,50))}}),{disabled:!(null!=a&&a.length),value:r,onChange:function(t){var e=+t.target.value;a.forEach((function(t){var n=t.id,r=t.decision,i=t.groups,a=t.tcf;n===e&&(o(n),s(i,r,a))}))}}),(null==a?void 0:a.length)>0?a.map((function(t){var e=t.id,n=t.isDoNotTrack,r=t.isUnblock,o=t.isForwarded,i=t.created;return Pt("option",(0,Y.Z)({key:e,value:e},O),new Date(i).toLocaleString(document.documentElement.lang),n?" (Do Not Track)":"",r?" (Content Blocker)":"",o?" (Consent Forwarding)":"")})):Pt("option",(0,Y.Z)({value:-1},O),f)),!!S&&Pt("div",{style:{opacity:.5,marginTop:5}},"UUID: ",S))},zt=n(8346),Lt=n(7613);function Wt(t,e,n,r,o){var i=t.name,a=t.order,c=t.type,s=t.borderRadius,u=t.bg,l=t.hoverBg,d=t.fontSize,f=t.textAlign,p=t.fontColor,h=t.fontWeight,v=t.hoverFontColor,b=t.borderWidth,m=t.borderColor,g=t.hoverBorderColor,y=t.padding,k=t.antiAdBlocker,x=t.pageRequestUuid4,w=!o||a>1,C=o&&1===a?5:0,S=o&&0===a?5:0,O=(0,q.D)(e,x,+b),A={textDecoration:"link"===c?"underline":"none",borderRadius:+s,cursor:"button"===c?"pointer":void 0,backgroundColor:"button"===c?n?l:u:void 0,fontSize:(0,q.D)(e,x,+d),fontWeight:h,color:n?v:p,transition:"background-color 250ms, color 250ms, border-color 250ms",margin:"0 ".concat(S,"px ").concat((0,q.D)(e,x,10,void 0,!0),"px ").concat(C,"px"),border:"button"===c&&O>0?"".concat(O,"px solid ").concat(n?g:m):void 0,padding:(0,q.D)(e,x,y,void 0,"button"!==c).map((function(t){return"".concat(t,"px")})).join(" "),overflow:"hidden",outline:r?"rgb(255, 94, 94) solid 5px":void 0,flex:w?"1 1 100%":"0 0 calc(50% - ".concat(C+S,"px)"),display:"flex",alignItems:"center",justifyContent:"right"===f?"flex-end":"center"===f?"center":"left",order:a};return{className:"y"===k?void 0:"rcb-btn-".concat(i),style:A}}function Ht(t,e,n,r,o){var i=t.isTcf,a=t.decision.acceptEssentials,c=t.layout.borderRadius,s=t.bodyDesign,u=s.acceptEssentialsFontSize,l=s.acceptEssentialsBg,d=s.acceptEssentialsTextAlign,f=s.acceptEssentialsBorderColor,p=s.acceptEssentialsPadding,h=s.acceptEssentialsBorderWidth,v=s.acceptEssentialsFontColor,b=s.acceptEssentialsFontWeight,m=s.acceptEssentialsHoverBg,g=s.acceptEssentialsHoverFontColor,y=s.acceptEssentialsHoverBorderColor,k=s.acceptAllFontWeight,x=s.acceptAllFontSize,w=s.acceptAllPadding,C=t.customCss.antiAdBlocker,S=t.mobile;return Wt({name:"accept-essentials",order:r,type:a,borderRadius:c,bg:l,hoverBg:m,fontSize:o||i?x:u,textAlign:d,fontColor:v,fontWeight:i?k:b,hoverFontColor:g,borderWidth:h,borderColor:f,hoverBorderColor:y,padding:o?w:p,antiAdBlocker:C,pageRequestUuid4:t.pageRequestUuid4},S,e,n,o)}function _t(t,e,n,r,o){var i=t.decision.acceptIndividual,a=t.layout.borderRadius,c=t.bodyDesign,s=c.acceptIndividualFontSize,u=c.acceptIndividualBg,l=c.acceptIndividualTextAlign,d=c.acceptIndividualBorderColor,f=c.acceptIndividualPadding,p=c.acceptIndividualBorderWidth,h=c.acceptIndividualFontColor,v=c.acceptIndividualFontWeight,b=c.acceptIndividualHoverBg,m=c.acceptIndividualHoverFontColor,g=c.acceptIndividualHoverBorderColor,y=t.customCss.antiAdBlocker,k=t.mobile;return Wt({name:"accept-individual",order:r,type:i,borderRadius:a,bg:u,hoverBg:b,fontSize:s,textAlign:l,fontColor:h,fontWeight:v,hoverFontColor:m,borderWidth:p,borderColor:d,hoverBorderColor:g,padding:f,antiAdBlocker:y,pageRequestUuid4:t.pageRequestUuid4},k,e,n,o)}function Yt(t,e,n,r,o){var i=t.isTcf,a=t.layout.borderRadius,c=t.bodyDesign,s=c.acceptAllFontWeight,u=c.acceptAllFontSize,l=t.saveButton,d=l.type,f=l.fontSize,p=l.bg,h=l.textAlign,v=l.borderColor,b=l.padding,m=l.borderWidth,g=l.fontColor,y=l.fontWeight,k=l.hoverBg,x=l.hoverFontColor,w=l.hoverBorderColor,C=t.customCss.antiAdBlocker,S=t.mobile;return Wt({name:"accept-individual-save",order:r,type:d,borderRadius:a,bg:p,hoverBg:k,fontSize:i?u:f,textAlign:h,fontColor:g,fontWeight:i?s:y,hoverFontColor:x,borderWidth:m,borderColor:v,hoverBorderColor:w,padding:b,antiAdBlocker:C,pageRequestUuid4:t.pageRequestUuid4},S,e,n,o)}function Ut(t,e,n,r,o){var i=t.decision.acceptAll,a=t.layout.borderRadius,c=t.bodyDesign,s=c.acceptAllFontSize,u=c.acceptAllBg,l=c.acceptAllTextAlign,d=c.acceptAllBorderColor,f=c.acceptAllPadding,p=c.acceptAllBorderWidth,h=c.acceptAllFontColor,v=c.acceptAllFontWeight,b=c.acceptAllHoverBg,m=c.acceptAllHoverFontColor,g=c.acceptAllHoverBorderColor,y=t.customCss.antiAdBlocker,k=t.mobile;return Wt({name:"accept-all",order:r,type:i,borderRadius:a,bg:u,hoverBg:b,fontSize:s,textAlign:l,fontColor:h,fontWeight:v,hoverFontColor:m,borderWidth:p,borderColor:d,hoverBorderColor:g,padding:f,antiAdBlocker:y,pageRequestUuid4:t.pageRequestUuid4},k,e,n,o)}var Ft=n(4902),Mt=n(7029).h,jt=function(t){var e=t.inlineStyle,n=t.type,r=t.onClick,o=t.children,i=t.framed,a=t.busyOnClick,s=t.order;if("hide"===n)return null;var l=(0,c.eJ)(!1),d=(0,u.Z)(l,2),f=d[0],p=d[1],h=(0,c.I4)((function(){f||(a&&p(!0),null==r||r())}),[r,f,a]),v=(0,c.eJ)(!1),b=(0,u.Z)(v,2),m=b[0],g=b[1],y=(0,_.S)(),k=y.individualPrivacyOpen,x=y.decision,w=x.acceptAll,C=x.acceptEssentials,S=y.bodyDesign,O=S.acceptAllOneRowLayout,A=S.acceptEssentialsUseAcceptAll?w:C,D={onClick:h,onMouseEnter:function(){return g(!0)},onMouseLeave:function(){return g(!1)}},E=(0,c.Ye)((function(){switch(e){case"acceptEssentials":return Ht;case"acceptIndividual":return _t;case"save":return Yt;default:return Ut}}),[e]);return Mt("div",(0,Y.Z)({},"button"===n?D:{},E(y,m,i,s,!(/MSIE (\d+\.\d+);/.test(navigator.userAgent)||navigator.userAgent.indexOf("Trident/")>-1||"hide"===w||"hide"===A||k||s>1)&&O)),Mt("span",(0,Y.Z)({},{style:{textOverflow:"ellipsis",whiteSpace:"nowrap",wordBreak:"keep-all",overflow:"hidden",cursor:"pointer"}},"link"===n?D:{}),f?Mt(Ft.X,null):o))},Gt=n(7029).h,qt=function(){var t=(0,_.S)(),e=t.activeAction,n=t.bodyDesign,r=n.acceptEssentialsUseAcceptAll,o=n.acceptAllOneRowLayout,i=t.decision,a=(i.showGroups,i.groupsFirstView,i.saveButton,i.acceptAll),s=i.acceptEssentials,u=i.acceptIndividual,l=i.buttonOrder,d=t.texts,f=d.acceptAll,p=d.acceptEssentials,h=d.acceptIndividual,v=t.saveButton,b=v.type,m=v.useAcceptAll,g=t.individualTexts.save,y=t.individualPrivacyOpen,k=(t.didGroupFirstChange,t.productionNotice),x=t.buttonClicked,w=void 0===x?"":x,C=(0,c.Ye)((function(){var t=l.split(","),e=t.reduce((function(e,n){return e[n]=t.indexOf(n),e}),{}),n=t.reduce((function(e,n){return e[t.indexOf(n)]=n,e}),{});return o&&(e[n[0]]=1,e[n[1]]=0),e}),[l,o]),S=C.all,O=C.essential,A=C.individual,D=C.save,E=ot(),Z=E.buttonClickedAll,I=E.buttonClickedEssentials,B=E.buttonClickedCustom,T=E.acceptAll,N=E.acceptEssentials,P=E.acceptIndividual,R=E.openIndividualPrivacy,z="change"===e;return Gt(c.HY,null,Gt(jt,{onClick:T,type:a,inlineStyle:"acceptAll",framed:w===Z,busyOnClick:z,order:S},f),"change"!==e&&Gt(jt,{onClick:N,type:r?a:s,inlineStyle:r?"acceptAll":"acceptEssentials",framed:w===I,busyOnClick:z,order:O},p),!!y&&Gt(jt,{onClick:P,type:m?a:b,inlineStyle:m?"acceptAll":"save",framed:w===B,busyOnClick:z,order:D},g),!y&&Gt(jt,{type:u,onClick:R,inlineStyle:"acceptIndividual",framed:w.startsWith("ind_"),busyOnClick:z,order:A},h),k)},Xt=n(7029).h,Vt=function(t){var e,n=t.leftSideContainerRef,r=t.rightSideContainerRef,o=(0,_.S)(),i=o.layout.type,a=o.mobile,s=o.bodyDesign.teachingsSeparatorActive,u=o.tcf,l=o.individualPrivacyOpen,d=o.activeAction,f=o.pageRequestUuid4,p=(0,vt.k)(),h=p.description,v=p.teachings,b="bnnr-body-leftSide-".concat(f),m="bnnr-body-rightSide-".concat(f),g="cntnt-".concat(f);(0,F.G)(" #".concat(b," img {\n max-width: 100%;\n height: auto;\n}\n\n").concat((null===(e=document.getElementById(f))||void 0===e?void 0:e.clientWidth)>700?"":"#".concat(b," {\n float: initial !important;\n width: auto !important;\n padding-right: initial !important;\n ").concat("banner"!==(0,q.D)(a,f,i,"banner")||l?l?"padding-top: 10px !important;":"":"padding-bottom: 10px !important;","\n }\n\n #").concat(g," {\n min-height: calc(var(--rendered-height-header) + var(--rendered-height-footer) + var(--rendered-height-rightSideContainer) + 60px);\n }\n \n #").concat(m," {\n float: initial !important;\n width: auto !important;\n max-width: initial !important;\n margin: initial !important;\n ").concat(l?"padding-bottom: 5px !important;":"padding-top: 10px !important;","\n position: sticky;\n }")));var y=(0,c.Ye)((function(){return Xt(l?Zt:Nt,null)}),[l,u]),k=Xt("div",(0,Y.Z)({ref:n,key:"leftSide",id:b},function(t){var e=t.layout.type,n=t.bodyDesign.padding,r=t.customCss.antiAdBlocker,o=t.mobile,i=t.individualPrivacyOpen,a=t.activeAction,c=t.pageRequestUuid4,s=(0,q.D)(o,c,e,"banner"),u=(0,q.D)(o,c,n);return{className:"y"===r?void 0:"rcb-tb-left",style:{float:"banner"===s&&"history"!==a?"left":void 0,width:"banner"===s&&"history"!==a?"calc(100% - ".concat(300,"px)"):void 0,paddingRight:"banner"===s?20:void 0,paddingTop:+u[0],paddingBottom:"banner"===s||i?+u[2]:0}}}(o)),Xt("div",function(t){var e=t.design.fontSize,n=t.bodyDesign,r=n.descriptionInheritFontSize,o=n.descriptionFontSize,i=t.individualLayout.descriptionTextAlign,a=t.customCss.antiAdBlocker,c=t.mobile,s=t.individualPrivacyOpen,u=t.pageRequestUuid4;return{className:"y"===a?void 0:"rcb-description",style:{lineHeight:1.5,fontSize:(0,q.D)(c,u,r?+e:+o),textAlign:s?i:void 0}}}(o),"history"===d?Xt(Rt,null):Xt(c.HY,null,Xt("span",{dangerouslySetInnerHTML:{__html:h}}),v.length>0&&Xt(c.HY,null,s&&Xt("div",null,Xt("span",(0,zt.V)(o))),v.map((function(t){return Xt("span",(0,Y.Z)({key:t},(0,Lt.W)(o),{dangerouslySetInnerHTML:{__html:t}}))}))))),y),x="history"===d?Xt("div",{ref:r}):Xt("div",(0,Y.Z)({ref:r,key:"rightSide",id:m},function(t){var e,n=t.layout,r=n.type,o=n.dialogMaxWidth,i=t.design,a=i.borderWidth,c=i.bg,s=i.fontColor,u=t.headerDesign,l=t.footerDesign,d=t.bodyDesign.padding,f=t.individualLayout.inheritDialogMaxWidth,p=t.customCss.antiAdBlocker,h=t.mobile,v=t.individualPrivacyOpen,b=t.pageRequestUuid4,m=(0,q.D)(h,b,r,"banner"),g=(0,q.D)(h,b,a),y=(0,q.D)(h,b,d,void 0,!0),k=J(s),x=k.r,w=k.g,C=k.b,S="dialog"===m?+o-y[1]-y[3]-2*g:300;return{className:"y"===p?void 0:"rcb-tb-right",style:(e={background:c,paddingTop:"banner"===m||v?+y[0]:10,paddingBottom:v?10:+y[2],float:"banner"===m||v?"right":void 0,maxWidth:S,width:S,margin:"dialog"===m&&v&&!f?"0 0 10px 10px":void 0,position:v?void 0:"sticky"},(0,V.Z)(e,v?"top":"bottom",v?"calc(var(--rendered-height-header) + ".concat((0,q.D)(h,b,u.borderWidth),"px)"):"calc(var(--rendered-height-footer) + ".concat((0,q.D)(h,b,l.borderWidth),"px)")),(0,V.Z)(e,"zIndex",1),(0,V.Z)(e,"display","flex"),(0,V.Z)(e,"flexWrap","wrap"),(0,V.Z)(e,"transition","box-shadow ease-in-out .1s"),(0,V.Z)(e,"--boxShadowShowScroll","0 -15px 15px -15px rgba(".concat(x,", ").concat(w,", ").concat(C,", 0.3)")),e)}}(o)),Xt(qt,null));return Xt("div",function(t){var e=t.layout.type,n=t.design,r=n.bg,o=n.borderWidth,i=n.borderColor,a=t.bodyDesign.padding,c=t.customCss.antiAdBlocker,s=t.mobile,u=t.pageRequestUuid4,l=(0,q.D)(s,u,o),d={background:r,padding:(0,q.D)(s,u,a).map((function(t,e){return"".concat([0,2].indexOf(e)>-1?0:t,"px")})).join(" "),lineHeight:1.4};return"dialog"===(0,q.D)(s,u,e,"banner")&&l>0&&(d.borderLeft="".concat(l,"px solid ").concat(i),d.borderRight=d.borderLeft),{className:"y"===c?void 0:"rcb-body-container",style:d}}(o),Xt("div",function(t){var e=t.layout,n=e.type,r=e.bannerMaxWidth,o=t.individualLayout,i=t.customCss.antiAdBlocker,a=t.mobile,c=t.individualPrivacyOpen,s=t.pageRequestUuid4;return{className:"y"===i?void 0:"rcb-body",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===(0,q.D)(a,s,n,"banner")?+(c&&!o.inheritBannerMaxWidth?o.bannerMaxWidth:r):void 0,margin:"auto"}}}(o),l?[x,k]:[k,x],Xt("div",{style:{clear:"both"}})))},Jt=n(6092),$t=n(7029).h,Qt=(0,c.Gp)((function(t,e){var n=(0,_.S)(),r=(n.isTcf,n.layout.type),o=(n.individualPrivacyOpen,n.updateIndividualPrivacyOpen,n.onClose),i=(n.i18n.tcf,n.isConsentRecord),a=(0,c.I4)((function(t){o(),t.preventDefault()}),[o]),s=(0,Jt.g)({onClose:i?a:void 0,putPoweredByLinkInRow:"banner"===r?0:1,row1:[!1]}),u=s.rows,l=s.render;return $t("div",(0,Y.Z)({ref:e},function(t){var e=t.layout,n=e.type,r=e.dialogBorderRadius,o=t.design,i=t.footerDesign,a=i.inheritBg,c=i.bg,s=i.inheritTextAlign,u=i.textAlign,l=i.padding,d=i.fontSize,f=i.fontColor,p=i.fontWeight,h=t.customCss.antiAdBlocker,v=t.mobile,b=t.pageRequestUuid4,m=(0,q.D)(v,b,n,"banner"),g=(0,q.D)(v,b,o.borderWidth),y={padding:(0,q.D)(v,b,l,void 0,!0).map((function(t){return"".concat(t,"px")})).join(" "),background:a?o.bg:c,borderRadius:"dialog"===m?"0 0 ".concat(r,"px ").concat(r,"px"):void 0,fontSize:(0,q.D)(v,b,+d),fontWeight:p,color:f,textAlign:s?o.textAlign:u,position:"sticky",bottom:0,zIndex:1};return"dialog"===m&&g>0&&(y.borderBottom="".concat(g,"px solid ").concat(o.borderColor),y.borderLeft=y.borderBottom,y.borderRight=y.borderBottom),{className:"y"===h?void 0:"rcb-footer-container",style:y}}(n)),$t("div",function(t){var e=t.layout,n=e.type,r=e.bannerMaxWidth,o=t.individualLayout,i=t.customCss.antiAdBlocker,a=t.mobile,c=t.pageRequestUuid4,s=t.individualPrivacyOpen;return{className:"y"===i?void 0:"rcb-footer",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===(0,q.D)(a,c,n,"banner")?+(s&&!o.inheritBannerMaxWidth?o.bannerMaxWidth:r):void 0,margin:"auto",lineHeight:1.8}}}(n),l(u)))})),Kt=n(7029).h,te=function(){var t=(0,_.S)(),e=t.layout,n=e.type,r=e.dialogBorderRadius,o=t.decision,i=o.acceptAll,a=o.acceptEssentials,s=o.showCloseIcon,l=t.mobile,d=t.individualPrivacyOpen,f=t.design.bg,p=t.bodyDesign,h=p.teachingsFontColor,v=p.acceptEssentialsUseAcceptAll,b=t.activeAction,m=t.pageRequestUuid4,g="bnnr-body-rightSide-".concat(m),y="cntnt-".concat(m),k=(0,c.sO)(),x=k.current,w=v?i:a,C=!0;!l.hideHeader||b||d||"hide"===w&&s||(C=(0,q.D)(l,m,C,!1));var S=(0,c.eJ)(!1),O=(0,u.Z)(S,2),A=O[0],D=O[1],E=(0,c.I4)((function(){if(x){var t=x.clientHeight,e=x.scrollHeight,n=x.scrollTop,r=x.offsetHeight,o=t<e,i=Math.ceil(n+r)>=e,a=o&&!i&&!d;A!==a&&D(a)}}),[x,d,A]);E(),(0,c.bt)((function(){return x?(x.addEventListener("scroll",E),function(){return x.removeEventListener("scroll",E)}):function(){}}),[x,E]),(0,F.G)(A?"#".concat(g," {box-shadow:var(--boxShadowShowScroll);}"):""),(0,F.G)("Win32"===navigator.platform&&"dialog"===n&&r>0?["#".concat(y,"{overflow:overlay!important;}"),"#".concat(y,"::-webkit-scrollbar{width:11px;}"),"#".concat(y,"{scrollbar-width:thin;scrollbar-color:").concat(h," transparent;}"),"#".concat(y,"::-webkit-scrollbar-track{background:transparent;}"),"#".concat(y,"::-webkit-scrollbar-thumb{background-color:").concat(h,";border-radius:").concat(r,"px;border:3px solid ").concat(f,";}"),"#".concat(y,">div{border-top-right-radius:0!important;border-bottom-right-radius:0!important;}")].join("\n"):"");var Z=(0,c.sO)(),I=(0,c.sO)(),B=(0,c.sO)();return et(Z.current,"header"),et(I.current,"footer"),et(B.current,"rightSideContainer"),Kt("div",(0,Y.Z)({},function(t){var e,n=t.layout.type,r=t.customCss.antiAdBlocker,o=t.decision.showCloseIcon,i=t.activeAction,a=t.individualPrivacyOpen,c=t.mobile,s=t.pageRequestUuid4,u=(null===(e=document.getElementById(s))||void 0===e?void 0:e.clientHeight)||window.innerHeight,l=+c.maxHeight,d=l>u?u:l,f=o||i?51:0;return{className:"y"===r?void 0:"rcb-content",style:{position:"relative",maxHeight:(0,q.D)(c,s,u-("banner"===n?0:20)-f,a?u-f:d-f),overflow:"auto"}}}(t),{ref:k,id:y}),C&&Kt(c.HY,null,Kt(ht,{ref:Z}),Kt("div",function(t){var e=t.layout.type,n=t.design,r=t.headerDesign,o=r.borderWidth,i=r.borderColor,a=t.customCss.antiAdBlocker,c=t.mobile,s=t.pageRequestUuid4,u=(0,q.D)(c,s,n.borderWidth),l={height:(0,q.D)(c,s,+o),background:i,position:"sticky",top:"var(--rendered-height-header)",zIndex:9};return"dialog"===(0,q.D)(c,s,e,"banner")&&u>0&&(l.borderLeft="".concat(u,"px solid ").concat(n.borderColor),l.borderRight=l.borderLeft),{className:"y"===a?void 0:"rcb-header-separator",style:l}}(t))),Kt(Vt,{rightSideContainerRef:B}),Kt("div",function(t){var e=t.layout.type,n=t.design,r=t.footerDesign,o=r.borderWidth,i=r.borderColor,a=t.customCss.antiAdBlocker,c=t.mobile,s=t.pageRequestUuid4,u=(0,q.D)(c,s,n.borderWidth),l={height:(0,q.D)(c,s,+o),background:i,position:"sticky",bottom:"var(--rendered-height-footer)"};return"dialog"===(0,q.D)(c,s,e,"banner")&&u>0&&(l.borderLeft="".concat(u,"px solid ").concat(n.borderColor),l.borderRight=l.borderLeft),{className:"y"===a?void 0:"rcb-footer-separator",style:l}}(t)),Kt(Qt,{ref:I}))},ee=n(7029).h,ne=function(){var t,e,n,r,o,i,a,c,s,l,d,f,p,h,v,b,m,g,y,k,x,w,C,S,O,A,D,E,Z,I,B,T,N,P=(0,_.S)(),R=P.layout,z=R.animationInDuration,L=R.animationOutDuration,H=P.animationVisible,U=W()(P.layout),F=U.useAnimationIn,M=U.useAnimationOut,j=X(F,z),G=(0,u.Z)(j,2),J=G[0],Q=G[1],K=X("none"===M?"fadeOut":M,"none"===M?0:L),et=(0,u.Z)(K,2),nt=et[0],rt=et[1];return ee(tt,(0,Y.Z)({animationIn:J,animationInDuration:Q,animationOut:nt,animationOutDuration:rt,isVisible:H},(n=(e=(t=P).layout).type,r=e.dialogMaxWidth,o=e.dialogPosition,i=e.dialogMargin,a=e.bannerPosition,c=e.dialogBorderRadius,l=(s=t.design).borderWidth,d=s.borderColor,f=s.textAlign,p=s.fontColor,h=s.fontInheritFamily,v=s.fontFamily,b=s.fontWeight,m=s.boxShadowEnabled,g=s.boxShadowOffsetX,y=s.boxShadowOffsetY,k=s.boxShadowBlurRadius,x=s.boxShadowSpreadRadius,w=s.boxShadowColor,C=s.boxShadowColorAlpha,S=t.individualLayout,O=t.customCss.antiAdBlocker,A=t.mobile,D=t.pageRequestUuid4,E=t.individualPrivacyOpen,Z=A.alignment,I=(0,q.D)(A,D,n,"banner"),B=(0,q.D)(A,D,l),T="dialog"===I?+(E&&!S.inheritDialogMaxWidth?S.dialogMaxWidth:r):"100%",N=(0,V.Z)({pointerEvents:"all",transition:"width 500ms, max-width 500ms",maxWidth:T,textAlign:f,width:T,overflow:"hidden",alignSelf:(0,q.D)(A,D,"banner"===I?"top"===a?"flex-start":"flex-end":void 0,"bottom"===Z?"flex-end":"top"===Z?"flex-start":"center"),fontFamily:h?void 0:v,fontWeight:b,color:p,margin:"dialog"===I?10:void 0,borderRadius:"dialog"===I?+c:void 0,boxShadow:m?"".concat(g,"px ").concat(y,"px ").concat(k,"px ").concat(x,"px ").concat($(w,C)):void 0},"banner"===I?"top"===a?"borderBottom":"borderTop":"border","banner"===I&&B>0?"".concat(B,"px solid ").concat(d):void 0),"dialog"===I&&"middleCenter"!==o&&(N.margin=i.map((function(t){return"".concat(t,"px")})).join(" ")),{className:"y"===O?void 0:"rcb-inner",style:N})),ee(te,null))},re=n(7029).h,oe=function(){var t=(0,_.S)(),e=t.layout,n=e.overlay,r=(e.overlayBlur,t.customCss),i=r.antiAdBlocker,s=r.css,l=t.visible,d=t.animationVisible,f=t.activeAction,p=t.skipOverlay,h=t.gotHiddenDueLegal,v=t.pageRequestUuid4,b=t.individualPrivacyOpen,m=R(t),g=l&&!m||!!f;(0,F.G)(i?s:""),(0,F.G)("#".concat(v,", #").concat(v," * {box-sizing: border-box;backface-visibility:initial;text-transform: initial;}")),function(t){(0,c.d4)((function(){var e=document.body,n=e.dataset,r=e.style;void 0===n.rcbPreviousOverflow&&(n.rcbPreviousOverflow=r.overflow),r.overflow=t?"hidden":n.rcbPreviousOverflow,document.body.parentElement.style.overflow=r.overflow}),[t])}(g&&n&&d);var y,k,x,w,C=(0,c.eJ)(0),S=(0,u.Z)(C,2)[1],O=function(){return S(+new Date)};if((0,c.bt)((function(){return window.addEventListener("resize",O),function(){return window.removeEventListener("resize",O)}}),[]),(0,c.bt)((function(){(0,U.s)(1e3)}),[d,b]),h&&(0,c.d4)((function(){h(m)}),[m]),function(){var t=(0,_.S)(),e=t.consent,n=t.groups,r=t.tcf,i=t.activeAction,s=t.selectHistoryEntry,l=t.fetchHistory,d=(0,c.eJ)({consent:e,groups:n,tcf:r}),f=(0,u.Z)(d,2),p=f[0],h=f[1];(0,c.d4)((function(){i||h({consent:e,groups:n,tcf:r})}),[e,n,r,i]),(0,c.d4)((function(){function t(){return(t=(0,o.Z)(a().mark((function t(){var e,n,r,o,i,c;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,l();case 2:(e=t.sent).length?(n=(0,u.Z)(e,1),r=n[0],o=r.groups,i=r.decision,c=r.tcf,s(o,i,c)):s([],[]);case 4:case"end":return t.stop()}}),t)})))).apply(this,arguments)}if("history"===i)h({consent:e,groups:n,tcf:r}),function(){t.apply(this,arguments)}();else{var c=p.groups,d=p.consent.groups,f=p.tcf;null==s||s(c,d,f)}}),[i])}(),y=(0,_.S)(),k=y.openBanner,x=y.openHistory,w=y.revokeConsent,(0,c.d4)((function(){var t=function(t,e,n){if(k)switch(t){case"change":k(n);break;case"history":x(n);break;case"revoke":w(e,n)}},e=function(e){if(k){var n=e.target;(0,M.w)(n,G).concat((0,j.D)(n,G)?[n]:[]).forEach((function(n){t(n.getAttribute("href").slice(9),n.getAttribute("data-success-message"),e)})),(0,j.D)(n,".rcb-sc-link")&&t(n.getAttribute("href").slice(1),n.getAttribute("data-success-message"),e)}},n=function(){var e=window.location.hash;e.startsWith("#consent-")&&t(e.substring(9),void 0,void 0)};return window.addEventListener("hashchange",n),document.addEventListener("click",e,!0),function(){window.removeEventListener("hashchange",n),document.removeEventListener("click",e,!0)}}),[k,x,w]),!g)return null;var A=re("div",function(t){var e=t.layout,n=e.type,r=e.dialogPosition,o=t.customCss.antiAdBlocker,i=t.mobile,a=t.pageRequestUuid4,c={display:"flex",width:"100%",height:"100%"};return"dialog"===(0,q.D)(i,a,n,"banner")&&(c.alignItems=r.startsWith("top")?"flex-start":r.startsWith("bottom")?"flex-end":"center",c.justifyContent=r.endsWith("Center")?"center":r.endsWith("Left")?"flex-start":"flex-end"),{className:"wp-exclude-emoji ".concat("y"===o?"":"rcb-align"),style:c}}(t),re(ne,null));return p?A:re("div",(0,Y.Z)({id:v},function(t){var e=t.layout,n=e.type,r=e.overlay,o=e.overlayBg,i=e.overlayBgAlpha,a=t.design.fontSize,c=t.customCss.antiAdBlocker,s=t.mobile,u=t.pageRequestUuid4;return{className:"y"===c?void 0:"rcb-bann3r rcb-bann3r-".concat((0,q.D)(s,u,n,"banner")," ").concat(r?"":"overlay-deactivated"),style:{background:r?$(o,i):"none",position:"fixed",top:0,left:0,right:0,bottom:0,zIndex:99999,pointerEvents:r?"all":"none",fontSize:(0,q.D)(s,u,+a),filter:"none"}}}(t)),A)},ie={path:"/consent",method:N.O.GET},ae=n(1100),ce=n(7029).h,se=function(t){var e,n=t.poweredLink,r=(0,l.u)(),i=r.customizeValuesBanner,p=i.layout,h=i.decision,v=i.legal,b=i.design,m=i.headerDesign,g=i.bodyDesign,k=i.footerDesign,C=i.texts,S=i.individualLayout,A=i.saveButton,D=i.group,Z=i.individualTexts,N=i.customCss,Y=i.mobile,U=r.pageId,F=r.pageRequestUuid4,M=r.pageIdToPermalink,j=r.consentForwardingExternalHosts,G=r.essentialGroup,q=r.isTcf,X=r.isEPrivacyUSA,V=r.isAgeNotice,J=r.isListServicesNotice,$=r.tcf,Q=r.tcfMetadata,K=r.groups,tt=r.userConsentCookieName,et=r.bannerI18n,nt=r.affiliate,rt=r.isCurrentlyInTranslationEditorPreview,ot=r.pageByIdUrl,it=(0,w.h)(tt),at=function(t,e,n){return(0,c.Ye)((function(){}),[t,e,n])}(q,$,Q),ct=function(t){var e=W(),n=(0,c.I4)((function(n,r){var o=n.layout,i=o.animationInDuration,a=o.animationOutDuration,c=e(o),u=c.useAnimationIn,l=c.useAnimationOut,d=r?"none"===u?0:i:"none"===l?0:a;d>0&&(t.style.transition="background ".concat(d,"ms")),t.style.background="transparent",r?(setTimeout((function(){t.style.display="block"}),0),setTimeout((function(){var e=t.getAttribute("data-bg");t.style.background=e?e.split(":")[1].trim().replace(";",""):"transparent"}),100)):setTimeout((function(){t.style.display="none"}),d);var f={animationVisible:r};return r?(0,s.Z)({visible:!0},f):f}),[e]);return{overlay:t,toggleOverlay:n}}(document.getElementById(F)),st=ct.toggleOverlay,ut=function(t){var e=t.toggleOverlay,n=t.revokeConsent,r=function(t,n){return t((function(t){return(0,s.Z)((0,s.Z)({},t),{},{activeAction:n,individualPrivacyOpen:!0,refreshSiteAfterSave:"change"===n&&2e3},e(t,!0))}))};return{openHistory:function(t){r(t,"history"),H(arguments.length<=1?void 0:arguments[1])},openBanner:function(t){r(t,"change"),H(arguments.length<=1?void 0:arguments[1])},revokeConsent:function(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),o=1;o<e;o++)r[o-1]=arguments[o];var i=r[0],a=r[1];t((function(t){return n(t).then((function(){i&&alert(i),setTimeout((function(){return window.location.reload()}),2e3)})),t})),H(a)},updateTcfFilterBy:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];var o=n[0];t((function(t){return(0,s.Z)((0,s.Z)({},t),{},{tcfFilterBy:o})}))},updateIndividualPrivacyOpen:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];var o=n[0];t((function(t){return(0,s.Z)((0,s.Z)({},t),{},{individualPrivacyOpen:o})}))},updateGroupChecked:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];var o=n[0],i=n[1];t((function(t){var e=JSON.parse(JSON.stringify(t.consent));return i?e.groups[o]=t.groups.filter((function(t){return t.id===o}))[0].items.map((function(t){return t.id})):delete e.groups[o],(0,s.Z)((0,s.Z)({},t),{},{consent:e,didGroupFirstChange:!0})}))},updateCookieChecked:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];var o=n[0],i=n[1],a=n[2];t((function(t){var e=JSON.parse(JSON.stringify(t.consent));e.groups[o]||(e.groups[o]=[]);var n=e.groups[o],r=n.indexOf(i);return a&&-1===r?n.push(i):!a&&r>-1&&n.splice(r,1),n.length||delete e.groups[o],(0,s.Z)((0,s.Z)({},t),{},{consent:e})}))},onClose:function(t){t((function(t){return(0,s.Z)((0,s.Z)((0,s.Z)({},t),e(t,!1)),{},{refreshSiteAfterSave:!1})}))},selectHistoryEntry:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];var o=n[0],i=n[1],a=n[2];t((function(t){var e={isTcf:!!a,tcf:null};return(0,s.Z)((0,s.Z)({},t),{},{groups:o,consent:(0,s.Z)((0,s.Z)({},t.consent),{},{groups:i})},e)}))}}}({toggleOverlay:st,revokeConsent:function(t){return t.tcf,(0,z.$)({consent:{groups:(0,f.b)().getDefaultDecision(!0)},buttonClicked:"shortcode_revoke",tcfString:void 0})}}),lt=ut.openHistory,dt=ut.openBanner,ft=ut.revokeConsent,pt=ut.updateTcfFilterBy,ht=ut.updateIndividualPrivacyOpen,vt=ut.updateGroupChecked,bt=ut.updateCookieChecked,mt=ut.onClose,gt=ut.selectHistoryEntry,yt=(0,c.eJ)({layout:(0,s.Z)({},p),decision:(0,s.Z)({},h),legal:(0,s.Z)({},v),design:(0,s.Z)({},b),headerDesign:(0,s.Z)({},m),bodyDesign:(0,s.Z)({},g),footerDesign:(0,s.Z)({},k),texts:(0,s.Z)({},C),individualLayout:(0,s.Z)({},S),saveButton:(0,s.Z)({},A),group:(0,s.Z)({},D),individualTexts:(0,s.Z)({},Z),customCss:(0,s.Z)({},N),mobile:(0,s.Z)({},Y),productionNotice:ce(ae.Z,null),pageRequestUuid4:F,pageIdToPermalink:M,pageByIdUrl:ot,consentForwardingExternalHosts:j,pageId:U,isTcf:q,ePrivacyUSA:X,ageNotice:V,listServicesNotice:J,tcf:at,tcfFilterBy:"legInt",groups:K,essentialGroup:G,poweredLink:n,visible:!1,animationVisible:!0,skipOverlay:!0,previewCheckboxActiveState:!1,individualPrivacyOpen:!1,i18n:et,keepVariablesInTexts:rt,affiliate:nt,consent:{groups:(0,s.Z)((0,s.Z)({},!1===it?{}:it.consent),(0,f.b)().getDefaultDecision(!1===it))},didGroupFirstChange:!1,onSave:function(t,e){wt((function(n){var r=(0,z.$)({consent:n.consent,markAsDoNotTrack:t,buttonClicked:e,tcfString:void 0});return n.refreshSiteAfterSave?(r.then((function(){return setTimeout((function(){return window.location.reload()}),n.refreshSiteAfterSave||2e3)})),n):(0,s.Z)((0,s.Z)({},n),st(n,!1))}))},fetchHistory:(e=(0,o.Z)(a().mark((function t(){var e,n,r,o,i,c;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=(0,d.m)(),n=e.restNamespace,r=e.restRoot,o=e.restQuery,i=e.restNonce,t.next=3,(0,T.D)({location:ie,options:{restNamespace:n,restRoot:r,restQuery:o,restNonce:i},sendRestNonce:!1});case 3:return c=t.sent,wt((function(t){return(0,s.Z)((0,s.Z)({},t),{},{history:c})})),t.abrupt("return",c);case 6:case"end":return t.stop()}}),t)}))),function(){return e.apply(this,arguments)}),updateTcfFilterBy:function(t){return pt(wt,t)},updateIndividualPrivacyOpen:function(t){return ht(wt,t)},updateGroupChecked:function(t,e){return vt(wt,t,e)},updateCookieChecked:function(t,e,n){return bt(wt,t,e,n)},onClose:function(){return mt(wt)},selectHistoryEntry:function(t,e,n){return gt(wt,t,e,n)},openHistory:function(t){return lt(wt,t)},openBanner:function(t){return dt(wt,t)},revokeConsent:function(t,e){return ft(wt,t,e)}}),kt=(0,u.Z)(yt,2),xt=kt[0],wt=kt[1];(function(t,e,n){(0,c.d4)((function(){if(!(0,l.u)().customizeIdsBanner){var r,i,c,u=(0,d.m)(),p=u.restNamespace,h=u.restRoot,v=u.restQuery,b=u.restNonce,m=u.others,g=m.isAcceptAllForBots,k=m.isPreventPreDecision,C=m.hasDynamicPreDecisions,S=m.isRespectDoNotTrack,A=t.onSave;!function(t,e){y.apply(this,arguments)}((0,f.b)(),{gateways:[x,(c=["login-action-"],(0,o.Z)(a().mark((function t(){var e;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=document.body.className,t.abrupt("return",c.filter((function(t){return e.indexOf(t)>-1})).length>0&&"consent");case 2:case"end":return t.stop()}}),t)})))),E((function(){var t=document.documentElement,e=t.clientWidth,n=t.clientHeight;return(0,T.D)({location:P,options:{restNamespace:p,restRoot:h,restQuery:v,restNonce:b},sendRestNonce:!1,request:{viewPortWidth:e,viewPortHeight:n},params:{_wp_http_referer:window.location.href}})}),1e4,C),function(){var t=(0,o.Z)(a().mark((function t(e,n){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",!!R(n)&&"consent");case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}(),(i=k,function(){var t=(0,o.Z)(a().mark((function t(e){var n,r;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.decisionCookieName,r=(0,w.h)(n),t.abrupt("return",!(!i||!1!==r)&&(O()?"all":"consent"));case 3:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),(r=!!g&&"all",function(){var t=(0,o.Z)(a().mark((function t(e){var n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.decisionCookieName,!1===(0,w.h)(n)&&r){t.next=3;break}return t.abrupt("return",!1);case 3:return t.abrupt("return",!!O()&&r);case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),I(S),B],args:[t],onIsDoNotTrack:function(){A(!0,"none")},onShowCookieBanner:function(){return e((function(t){return(0,s.Z)((0,s.Z)({},t),{},{consent:{groups:(0,f.b)().getDefaultDecision()}},n(t,!0))}))}})}}),[])})(xt,wt,st),function(t,e){(0,c.d4)((function(){var n=function(){var n=(0,w.h)(e);n&&t((function(t){return(0,s.Z)((0,s.Z)({},t),{},{consent:{groups:n.consent}})}))};return document.addEventListener(L.V,n),function(){document.removeEventListener(L.V,n)}}),[])}(wt,tt);var Ct=_.k.Context();return ce(Ct.Provider,{value:xt},ce(oe,null))},ue=n(6346),le=n(3102),de=n(9575),fe=n(55).default;function pe(t){return he.apply(this,arguments)}function he(){return he=(0,o.Z)(a().mark((function t(e){var n,r,o,i=arguments;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=i.length>1&&void 0!==i[1]?i[1]:500,r=i.length>2&&void 0!==i[2]?i[2]:0,o=0;case 3:if(e()){t.next=11;break}if(!(r>0&&o>=r)){t.next=6;break}return t.abrupt("return",void 0);case 6:return t.next=8,new fe((function(t){return setTimeout(t,n)}));case 8:o++,t.next=3;break;case 11:return t.abrupt("return",e());case 12:case"end":return t.stop()}}),t)}))),he.apply(this,arguments)}var ve=0,be={path:"/consent/clear",method:N.O.DELETE},me=n(9302),ge=n(1456),ye=n(1829);function ke(t,e,n){var r,o=[],i=(0,l.u)(),a=i.groups,c=i.revisionHash,s=a.map((function(t){return t.items})).flat(),u=(0,h.Z)(s);try{for(u.s();!(r=u.n()).done;){var d=r.value;if("number"==typeof t)d.id===t&&o.push({cookie:d,relevance:10});else{var f=d.technicalDefinitions;if(null!=f&&f.length){var p,v=(0,h.Z)(f);try{for(v.s();!(p=v.n()).done;){var b=p.value,m=(0,ye.L)(b.name);if(b.type===t&&(b.name===e||e.match(m))&&(b.host===n||"*"===n)){o.push({cookie:d,relevance:f.length+f.indexOf(b)+1});break}}}catch(t){v.e(t)}finally{v.f()}}}}}catch(t){u.e(t)}finally{u.f()}var g=(0,w.h)((0,l.u)().userConsentCookieName);if(o.length){var y=o.sort((function(t,e){return t.relevance-e.relevance}))[0].cookie;return g&&c===g.revision?Object.values(g.consent).flat().indexOf(y.id)>-1?{cookie:y,consentGiven:!0,cookieOptIn:!0}:{cookie:y,consentGiven:!0,cookieOptIn:!1}:{cookie:y,consentGiven:!1,cookieOptIn:!1}}return{cookie:null,consentGiven:!!g,cookieOptIn:!0}}var xe=n(55).default;function we(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return new xe((function(t,n){var r=ke.apply(void 0,e),i=r.cookie,c=r.consentGiven,s=r.cookieOptIn;i?c?s?t():n():(document.addEventListener(de.g,function(){var e=(0,o.Z)(a().mark((function e(n){return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n.detail.cookie===i&&t();case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),document.addEventListener(ge.E,function(){var t=(0,o.Z)(a().mark((function t(e){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e.detail.cookie===i&&n();case 2:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())):t()}))}var Ce=n(55).default;function Se(t){return Ce.all(t.map((function(t){return we.apply(void 0,(0,p.Z)(t))})))}var Oe=n(4312),Ae=n(5672),De=n(7029).h;n.p=(0,Oe.sE)({NODE_ENV:"production",env:"production",rootSlug:"devowl-wp",slug:"real-cookie-banner",PLUGIN_CTX:"lite",ANTD_PREFIX:"rcb-antd",IS_TCF:"0",TCF_CMP_ID:367}),document.addEventListener(de.g,function(){var t=(0,o.Z)(a().mark((function t(e){var n,r,i,c,s,u,l,d;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=e.detail.cookie,r=n.presetId,i=n.codeOptIn,c=n.codeDynamics,t.t0=r,t.next="amazon-associates-widget"===t.t0?4:"google-maps"===t.t0?16:18;break;case 4:if(!(s=(c||{}).amznAssoWidgetHtmlId)){t.next=15;break}if(!(u=document.getElementById(s))){t.next=15;break}return l=ve,ve++,(0,ue.K)(i,c,u),t.next=13,pe((function(){return document.querySelector('[id^="amzn_assoc_ad_div_"][id$="'.concat(l,'"]'))}),500,50);case 13:(d=t.sent)&&u.appendChild(d);case 15:return t.abrupt("break",19);case 16:return document.addEventListener(le.T,function(){var t=(0,o.Z)(a().mark((function t(e){var n,r,o,i;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.detail.element,r=window,o=r.et_pb_map_init,!((i=r.jQuery)&&n.matches(".et_pb_map")&&o)){t.next=6;break}return t.next=5,pe((function(){return window.google}));case 5:o(i(n).parent());case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),t.abrupt("break",19);case 18:return t.abrupt("break",19);case 19:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),(0,l.u)().isTcf,(0,g.C)((function(){var t,e,n=(0,l.u)().pageRequestUuid4,r=(0,Ae.U)(n),i=function(t){var e=document.body;return t.parentElement!==e&&e.appendChild(t),t}(document.getElementById(n));t=(0,f.b)(),e=Array.prototype.slice.call(document.querySelectorAll(".rcb-consent-history-uuids")),document.addEventListener(m.I,(function(){e.forEach((function(t){return t.innerHTML=t.getAttribute("data-fallback")}))})),document.addEventListener(L.V,(function(){var n=(0,w.h)(t instanceof v.G?t.getOption("decisionCookieName"):t),r=n?[n.uuid].concat((0,p.Z)(n.previousUuids)):[];e.forEach((function(t){return t.innerHTML=r.length>0?r.join(", "):t.getAttribute("data-fallback")}))})),document.addEventListener(ge.E,function(){var t=(0,o.Z)(a().mark((function t(e){var n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:(n=e.detail.deleteHttpCookies).length&&setTimeout((function(){return t=n,r=(e=(0,d.m)()).restNamespace,o=e.restRoot,i=e.restQuery,a=e.restNonce,(0,T.D)({location:be,options:{restNamespace:r,restRoot:o,restQuery:i,restNonce:a},sendRestNonce:!1,params:{cookies:t.join(",")}});var t,e,r,o,i,a}),0);case 2:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),i&&(0,c.sY)(De(se,{poweredLink:r}),i)}),"interactive"),window&&(window.consentApi=r)},1100:function(t,e,n){"use strict";n.d(e,{Z:function(){return i}});var r=n(3438),o=n(7029).h,i=function(){var t=(0,r.u)(),e=t.isPro,n=t.isLicensed,i=t.isDevLicense,a=t.bannerI18n,c=a.noLicense,s=a.devLicense;if(!e)return null;var u="";return i?u=s:n||(u=c),u?o("div",{style:{fontSize:13,color:"#c95252",fontWeight:"bold",order:9}},u):null}},6423:function(t,e,n){"use strict";n.d(e,{$:function(){return m}});var r=n(2711),o=n(7938),i=n(5450),a=n.n(i),c={path:"/consent",method:n(6811).O.POST},s=n(625),u=n(38),l=n(3438),d=n(9448).default,f=n(55).default;function p(t){var e=t.endpoints,n=t.data;if((0,l.u)().isPro){var r,o=[],i=(0,u.Z)(e);try{for(i.s();!(r=i.n()).done;){var a=r.value;o.push(d(a,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)}))}}catch(t){i.e(t)}finally{i.f()}return f.all(o)}return f.reject()}var h=n(6886),v=n(3075),b=n(55).default;function m(t){return g.apply(this,arguments)}function g(){return(g=(0,o.Z)(a().mark((function t(e){var n,o,i,u,l,d,f,m,g,y,k,x,w,C,S,O,A,D,E,Z,I;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.consent,o=e.markAsDoNotTrack,i=void 0!==o&&o,u=e.buttonClicked,l=e.blocker,d=void 0===l?0:l,f=e.blockerThumbnail,m=e.tcfString,g=document.documentElement,y=g.clientWidth,k=g.clientHeight,x=(0,s.m)(),w=x.restNamespace,C=x.restRoot,S=x.restQuery,O=x.restNonce,t.next=5,(0,v.D)({location:c,options:{restNamespace:w,restRoot:C,restQuery:S,restNonce:O},sendRestNonce:!1,request:(0,r.Z)((0,r.Z)({},n),{},{markAsDoNotTrack:i,buttonClicked:u,viewPortWidth:y,viewPortHeight:k,blocker:d,blockerThumbnail:f,tcfString:m}),params:{_wp_http_referer:window.location.href}});case 5:return A=t.sent,D=A.forward,E=A.uuid,Z=A.cookie_revision,I=A.decision_in_cookie,window.rcbDisabledCookieComp={uuid:E,previousUuids:[],revision:Z,consent:I},t.next=13,b.all([D&&p(D),(0,h.b)().applyCookies({type:"consent"})].filter(Boolean));case 13:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},6886:function(t,e,n){"use strict";n.d(e,{b:function(){return a}});var r=n(8218),o=n(625),i=n(3438);function a(){var t,e=(0,i.u)(),n=e.userConsentCookieName,a=e.revisionHash,c=e.setCookiesViaManager,s=e.groups,u=e.essentialGroup;return window.rcbConsentManager||(window.rcbConsentManager=new r.G({decisionCookieName:n,essentialGroupSlug:u,groups:s,revisionHash:a,supportsCookiesName:"real_cookie_banner-test",tagManager:c,skipOptIn:function(t){var e=t.presetId;return["amazon-associates-widget"].indexOf(e)>-1},cmpId:367,cmpVersion:("major",t=(0,o.m)().version.split("."),+t[0]),tcfCookieName:"".concat(n,"-tcf")})),window.rcbConsentManager}},625:function(t,e,n){"use strict";function r(){return window["real-cookie-banner".replace(/-([a-z])/g,(function(t){return t[1].toUpperCase()}))]}n.d(e,{m:function(){return r}})},3438:function(t,e,n){"use strict";n.d(e,{u:function(){return o}});var r=n(625);function o(){return(0,r.m)().others}},6652:function(){String.prototype.startsWith||(String.prototype.startsWith=function(t,e){return e=e||0,this.indexOf(t,e)===e}),String.prototype.endsWith||(String.prototype.endsWith=function(t,e){var n=this.toString();("number"!=typeof e||!isFinite(e)||Math.floor(e)!==e||e>n.length)&&(e=n.length),e-=t.length;var r=n.indexOf(t,e);return-1!==r&&r===e}),null==Element.prototype.getAttributeNames&&(Element.prototype.getAttributeNames=function(){for(var t=this.attributes,e=t.length,n=new Array(e),r=0;r<e;r++)n[r]=t[r].name;return n}),"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}),Object.values=Object.values?Object.values:function(t){var e=Object.prototype.toString.call(t);if(null==t)throw new TypeError("Cannot convert undefined or null to object");if(~["[object String]","[object Object]","[object Array]","[object Function]"].indexOf(e)){if(Object.keys)return Object.keys(t).map((function(e){return t[e]}));var n=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&n.push(t[r]);return n}return[]},"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var r=e[0];if(null==r)throw new TypeError("Cannot convert undefined or null to object");for(var o=Object(r),i=1;i<e.length;i++){var a=e[i];if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(o[c]=a[c])}return o},writable:!0,configurable:!0}),[Element.prototype,CharacterData.prototype,DocumentType.prototype].forEach((function(t){t.hasOwnProperty("remove")||Object.defineProperty(t,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){this.parentNode.removeChild(this)}})}))},3428:function(t){"use strict";t.exports="/*! Hint.css - v2.7.0 - 2021-10-01\n* https://kushagra.dev/lab/hint/\n* Copyright (c) 2021 Kushagra Gour */\n\n[class*=hint--]{position:relative;display:inline-block}[class*=hint--]:after,[class*=hint--]:before{position:absolute;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;-webkit-transition:.3s ease;-moz-transition:.3s ease;transition:.3s ease;-webkit-transition-delay:0s;-moz-transition-delay:0s;transition-delay:0s}[class*=hint--]:hover:after,[class*=hint--]:hover:before{visibility:visible;opacity:1;-webkit-transition-delay:.1s;-moz-transition-delay:.1s;transition-delay:.1s}[class*=hint--]:before{content:'';position:absolute;background:0 0;border:6px solid transparent;z-index:1000001}[class*=hint--]:after{background:#383838;color:#fff;padding:8px 10px;font-size:12px;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;line-height:12px;white-space:nowrap;text-shadow:0 -1px 0 #000;box-shadow:4px 4px 8px rgba(0,0,0,.3)}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label='']:after,[aria-label='']:before,[data-hint='']:after,[data-hint='']:before{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#383838}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#383838}.hint--top:after,.hint--top:before{bottom:100%;left:50%}.hint--top:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}.hint--top:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--top:hover:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}.hint--bottom:after,.hint--bottom:before{top:100%;left:50%}.hint--bottom:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}.hint--bottom:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom:hover:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}.hint--right:before{border-right-color:#383838;margin-left:-11px;margin-bottom:-6px}.hint--right:after{margin-bottom:-14px}.hint--right:after,.hint--right:before{left:100%;bottom:50%}.hint--right:hover:after,.hint--right:hover:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--left:before{border-left-color:#383838;margin-right:-11px;margin-bottom:-6px}.hint--left:after{margin-bottom:-14px}.hint--left:after,.hint--left:before{right:100%;bottom:50%}.hint--left:hover:after,.hint--left:hover:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--top-left:after,.hint--top-left:before{bottom:100%;left:50%}.hint--top-left:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--top-left:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--top-left:hover:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}.hint--top-right:after,.hint--top-right:before{bottom:100%;left:50%}.hint--top-right:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--top-right:hover:after,.hint--top-right:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--bottom-left:after,.hint--bottom-left:before{top:100%;left:50%}.hint--bottom-left:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--bottom-left:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom-left:hover:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--bottom-right:after,.hint--bottom-right:before{top:100%;left:50%}.hint--bottom-right:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--bottom-right:hover:after,.hint--bottom-right:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--large:after,.hint--medium:after,.hint--small:after{white-space:normal;line-height:1.4em;word-wrap:break-word}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}.hint--error:after{background-color:#b34e4d;text-shadow:0 -1px 0 #592726}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{background-color:#c09854;text-shadow:0 -1px 0 #6c5328}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{background-color:#3986ac;text-shadow:0 -1px 0 #1a3c4d}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{background-color:#458746;text-shadow:0 -1px 0 #1a321a}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--top:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}.hint--always.hint--top-left:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--top-left:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}.hint--always.hint--top-right:after,.hint--always.hint--top-right:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--bottom:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--bottom:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}.hint--always.hint--bottom-left:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--bottom-left:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--always.hint--bottom-right:after,.hint--always.hint--bottom-right:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--left:after,.hint--always.hint--left:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--always.hint--right:after,.hint--always.hint--right:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:after,.hint--no-animate:before{-webkit-transition-duration:0s;-moz-transition-duration:0s;transition-duration:0s}.hint--bounce:after,.hint--bounce:before{-webkit-transition:opacity .3s ease,visibility .3s ease,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s ease,visibility .3s ease,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s ease,visibility .3s ease,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:after,.hint--no-shadow:before{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}"}},n={};function r(t){var o=n[t];if(void 0!==o)return o.exports;var i=n[t]={exports:{}};return e[t].call(i.exports,i,i.exports,r),i.exports}r.m=e,t=[],r.O=function(e,n,o,i){if(!n){var a=1/0;for(l=0;l<t.length;l++){n=t[l][0],o=t[l][1],i=t[l][2];for(var c=!0,s=0;s<n.length;s++)(!1&i||a>=i)&&Object.keys(r.O).every((function(t){return r.O[t](n[s])}))?n.splice(s--,1):(c=!1,i<a&&(a=i));if(c){t.splice(l--,1);var u=o();void 0!==u&&(e=u)}}return e}i=i||0;for(var l=t.length;l>0&&t[l-1][2]>i;l--)t[l]=t[l-1];t[l]=[n,o,i]},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},function(){var t;r.g.importScripts&&(t=r.g.location+"");var e=r.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");n.length&&(t=n[n.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=t}(),function(){var t={392:0};r.O.j=function(e){return 0===t[e]};var e=function(e,n){var o,i,a=n[0],c=n[1],s=n[2],u=0;if(a.some((function(e){return 0!==t[e]}))){for(o in c)r.o(c,o)&&(r.m[o]=c[o]);if(s)var l=s(r)}for(e&&e(n);u<a.length;u++)i=a[u],r.o(t,i)&&t[i]&&t[i][0](),t[a[u]]=0;return r.O(l)},n=self.webpackChunkrealCookieBanner_name_=self.webpackChunkrealCookieBanner_name_||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))}(),r.O(void 0,[568],(function(){return r(6652)}));var o=r.O(void 0,[568],(function(){return r(6946)}));o=r.O(o),realCookieBanner_banner=o}();
2
  //# sourceMappingURL=banner.lite.js.map
1
+ var realCookieBanner_banner;!function(){var t,e={9382:function(t,e,n){"use strict";n.d(e,{n:function(){return T}});var r=n(7938),o=n(5450),i=n.n(o),a=n(4115),c=n(6346),s=n(38),u=n(63),l=n(7663),d=n(5245);function f(t){var e,n,o=t.decisionCookieName,a=t.tagManager,c=t.groups,f=t.essentialGroupSlug,p=t.type,h="none"!==a,v=c.filter((function(t){return t.slug===f})),b=(0,l.Z)(v,1)[0],m=(0,u.Z)({},b.id,b.items.map((function(t){return t.id})));if("consent"===p){var g=(0,d.h)(o);!1!==g?e=g.consent:(console.warn("Something went wrong while reading the cookie, fallback to essentials only..."),e=m)}return"essentials"===p&&(e=m),{isManagerActive:h,selectedGroups:e,iterateCookies:(n=(0,r.Z)(i().mark((function t(n){var r,o,a,u,l,d,f,h;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=(0,s.Z)(c),t.prev=1,r.s();case 3:if((o=r.n()).done){t.next=25;break}a=o.value,u=(0,s.Z)(a.items),t.prev=6,u.s();case 8:if((l=u.n()).done){t.next=15;break}return f=l.value,h="all"===p||(null===(d=e[a.id])||void 0===d?void 0:d.indexOf(f.id))>-1,t.next=13,n(a,f,h);case 13:t.next=8;break;case 15:t.next=20;break;case 17:t.prev=17,t.t0=t.catch(6),u.e(t.t0);case 20:return t.prev=20,u.f(),t.finish(20);case 23:t.next=3;break;case 25:t.next=30;break;case 27:t.prev=27,t.t1=t.catch(1),r.e(t.t1);case 30:return t.prev=30,r.f(),t.finish(30);case 33:case"end":return t.stop()}}),t,null,[[1,27,30,33],[6,17,20,23]])}))),function(t){return n.apply(this,arguments)})}}var p=n(9575);function h(t,e){var n,r,o;return t&&(r=(n=e).charAt(0).toUpperCase()+n.slice(1),o="googleTagManager"===e?"dataLayer":"_mtm"),{useVariableNameCamel:n,useVariableNamePascal:r,useGlobalObjectName:o}}var v=n(55).default;function b(t){return m.apply(this,arguments)}function m(){return m=(0,r.Z)(i().mark((function t(e){var n,o,s,u,l,d,b,m,g,y,k;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=[],o=f(e),s=o.isManagerActive,u=o.iterateCookies,l=e.tagManager,d=e.skipOptIn,(b=h(s,l)).useGlobalObjectName,m=b.useVariableNamePascal,g=!1,y=v.resolve(void 0),k=[],t.next=9,u(function(){var t=(0,r.Z)(i().mark((function t(e,r,o){var u,l,f,h,v;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:u=r.codeDynamics,l=r.codeOptIn,f=(0,a.Z)(r,["codeDynamics","codeOptIn"]),s&&f["thisIs".concat(m)],o&&(h=s&&f["codeOptInNo".concat(m)],v="function"==typeof d&&d(r),h||v||k.push((0,c.K)(l,u)),document.dispatchEvent(new CustomEvent(p.g,{detail:{group:e,cookie:r}})),n.push({group:e,cookie:r}));case 3:case"end":return t.stop()}}),t)})));return function(e,n,r){return t.apply(this,arguments)}}());case 9:return t.abrupt("return",{isManagerOptOut:g,dataLayerPromise:y,cookies:n,ready:v.all(k)});case 10:case"end":return t.stop()}}),t)}))),m.apply(this,arguments)}var g=n(55).default;function y(t,e,n){return k.apply(this,arguments)}function k(){return k=(0,r.Z)(i().mark((function t(e,n,o){var s,l,d,p,v,b,m,y;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(s=[],l=f(e),d=l.isManagerActive,p=l.iterateCookies,v=e.tagManager,b=h(d,v),m=b.useVariableNameCamel,y=b.useVariableNamePascal,!n){t.next=11;break}return p((function(t,e,r){var o=e["".concat(m,"InEventName")];r&&o&&n.push({realCookieBannerOptInEvents:(0,u.Z)({},o,!0),event:o})})),t.next=8,new g((function(t){return setTimeout(t,1e3)}));case 8:p((function(t,e,r){var o=e["".concat(m,"OutEventName")];!r&&o&&n.push({realCookieBannerOptOutEvents:(0,u.Z)({},o,!0),event:o})})),t.next=14;break;case 11:if(!d||!o){t.next=14;break}return t.next=14,p(function(){var t=(0,r.Z)(i().mark((function t(e,n,r){var o,u,l;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:o=n.codeDynamics,u=n.codeOptIn,l=(0,a.Z)(n,["codeDynamics","codeOptIn"]),r&&l["codeOptInNo".concat(y)]&&s.push((0,c.K)(u,o));case 2:case"end":return t.stop()}}),t)})));return function(e,n,r){return t.apply(this,arguments)}}());case 14:return t.abrupt("return",{ready:g.all(s)});case 15:case"end":return t.stop()}}),t)}))),k.apply(this,arguments)}var x=n(1456),w=n(8542),C=n.n(w),S=n(2891),A=n(1829);function O(t,e){var n,r=(0,s.Z)(t);try{for(r.s();!(n=r.n()).done;){var o=n.value,i=o.type,a=o.name,c=new RegExp((0,A.L)((0,S.c)(a,e)),"g");switch(i){case"http":for(var u=0,l=Object.keys(C().get());u<l.length;u++){var d=l[u];c.test(d)&&C().remove(d)}break;case"local":case"session":try{var f="local"===i?window.localStorage:window.sessionStorage;if(f)for(var p=0,h=Object.keys(f);p<h.length;p++){var v=h[p];if(c.test(v)){try{f.setItem(v,null)}catch(t){}for(var b=0;f.getItem(v)&&b<100;)b++,f.removeItem(v)}}}catch(t){continue}}}}catch(t){r.e(t)}finally{r.f()}}function D(t,e){return E.apply(this,arguments)}function E(){return E=(0,r.Z)(i().mark((function t(e,n){var o,s,u,l,d,p,v;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=f(e),s=o.isManagerActive,u=o.iterateCookies,l=e.tagManager,d=h(s,l),p=d.useVariableNamePascal,v=[],t.next=6,u(function(){var t=(0,r.Z)(i().mark((function t(e,r,o){var u,l,d,f,h,b,m,g;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:u=r.id,l=r.codeDynamics,d=r.codeOptOut,f=r.codeOptOutDelete,h=r.noTechnicalDefinitions,b=r.technicalDefinitions,m=(0,a.Z)(r,["id","codeDynamics","codeOptOut","codeOptOutDelete","noTechnicalDefinitions","technicalDefinitions"]),o||(((g=s&&m["codeOptInNo".concat(p)])&&!n||!g)&&(0,c.K)(d,l),f&&!h&&(O(b,l),b.some((function(t){return"http"===t.type}))&&v.push(u)),document.dispatchEvent(new CustomEvent(x.E,{detail:{group:e,cookie:r,deleteHttpCookies:v}})));case 2:case"end":return t.stop()}}),t)})));return function(e,n,r){return t.apply(this,arguments)}}());case 6:case"end":return t.stop()}}),t)}))),E.apply(this,arguments)}var Z=n(7563),I=n(6028),B=n(55).default;function T(t){return N.apply(this,arguments)}function N(){return(N=(0,r.Z)(i().mark((function t(e){var n,r,o,a,c,s,u,l;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,(0,I.C)();case 2:return t.next=4,b(e);case 4:return n=t.sent,r=n.dataLayerPromise,o=n.isManagerOptOut,a=n.cookies,c=n.ready,t.t0=y,t.t1=e,t.next=13,r;case 13:return t.t2=t.sent,t.t3=o,t.next=17,(0,t.t0)(t.t1,t.t2,t.t3);case 17:return s=t.sent,u=s.ready,l=B.all([c,u]),document.dispatchEvent(new CustomEvent(Z.V,{detail:{cookies:a,ready:l}})),t.next=23,D(e,o);case 23:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},8218:function(t,e,n){"use strict";n.d(e,{G:function(){return f}});var r=n(2711),o=n(6762),i=n(3340),a=n(9382),c=n(38),s=n(63),u=n(7663);function l(t){var e=t.groups,n=t.essentialGroupSlug,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=e.filter((function(t){return t.slug===n})),i=(0,u.Z)(o,1),a=i[0],l=(0,s.Z)({},a.id,a.items.map((function(t){return t.id})));if(r){var d,f=(0,c.Z)(e);try{for(f.s();!(d=f.n()).done;){var p=d.value;if(p!==a){var h=p.items.filter((function(t){return"legitimate-interest"===t.legalBasis})).map((function(t){return t.id}));h.length&&(l[p.id]=h)}}}catch(t){f.e(t)}finally{f.f()}}return l}var d=n(5245),f=function(){function t(e){(0,o.Z)(this,t),this.options=void 0,this.options=e}return(0,i.Z)(t,[{key:"applyCookies",value:function(t){return(0,a.n)((0,r.Z)((0,r.Z)({},t),this.options))}},{key:"getUserDecision",value:function(){return(0,d.h)(this.getOption("decisionCookieName"))}},{key:"getDefaultDecision",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return l(this.options,t)}},{key:"getOption",value:function(t){return this.options[t]}},{key:"getOptions",value:function(){return this.options}}]),t}()},5245:function(t,e,n){"use strict";n.d(e,{h:function(){return a}});var r=n(7663),o=n(965),i=n(4001);function a(t){var e=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=(0,o.Z)(document.cookie.matchAll(new RegExp("(^|;)\\s*".concat(t,"\\s*=\\s*([^;]+)"),"g")));if(!n.length)return"";var r=n.pop().pop();return e?decodeURIComponent(r):r}(t);if(!e)return!(0,i.E)()&&(window.rcbDisabledCookieComp||!1);var n=function(t,e,n){var r=t.split(":");if(r.length<=3)return r;var o=r.slice(0,2);return o.push(r.slice(2).join(":")),o}(e);if(3!==n.length)return!1;var a=(0,r.Z)(n,2),c=a[0],s=a[1],u=c.split(",");return{uuid:u.shift(),previousUuids:u,revision:s,consent:JSON.parse(n[2])}}},7766:function(t,e,n){"use strict";n.d(e,{I:function(){return r}});var r="RCB/Banner/Show"},9575:function(t,e,n){"use strict";n.d(e,{g:function(){return r}});var r="RCB/OptIn"},7563:function(t,e,n){"use strict";n.d(e,{V:function(){return r}});var r="RCB/OptIn/All"},1456:function(t,e,n){"use strict";n.d(e,{E:function(){return r}});var r="RCB/OptOut"},6028:function(t,e,n){"use strict";n.d(e,{C:function(){return o}});var r=n(55).default,o=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"complete";return new r((function(n){var r=function(){null==t||t(),setTimeout(n,0)};document.readyState===e?r():document.addEventListener("readystatechange",(function(){document.readyState===e&&r()}))}))}},1829:function(t,e,n){"use strict";function r(t){var e,n=t.replace(/\*/g,"PLEACE_REPLACE_ME_AGAIN");return"^".concat((e=n,e.replace(new RegExp("[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\".concat("","-]"),"g"),"\\$&")).replace(/PLEACE_REPLACE_ME_AGAIN/g,"(.*)"),"$")}n.d(e,{L:function(){return r}})},4001:function(t,e,n){"use strict";function r(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"test";try{document.cookie="".concat(t,"=1");var e=-1!==document.cookie.indexOf("".concat(t,"="));return document.cookie="".concat(t,"=1; expires=Thu, 01-Jan-1970 00:00:01 GMT"),e}catch(t){return!1}}n.d(e,{E:function(){return r}})},2891:function(t,e,n){"use strict";n.d(e,{c:function(){return o}});var r=/{{([A-Za-z0-9_]+)}}/gm;function o(t,e){return t.replace(r,(function(t,n){return Object.prototype.hasOwnProperty.call(e,n)?e[n]:t}))}},4548:function(t,e,n){"use strict";n.d(e,{jb:function(){return r},zm:function(){return o},rG:function(){return i},d3:function(){return a},_W:function(){return c},NY:function(){return s},He:function(){return u},i7:function(){return l},Ng:function(){return d},CT:function(){return f},v4:function(){return p},YO:function(){return h},Gn:function(){return v},Ti:function(){return b},Ks:function(){return m},dW:function(){return g},Kh:function(){return y},Wm:function(){return k},Qt:function(){return x},of:function(){return w},fq:function(){return C},WK:function(){return S},jk:function(){return A},Kx:function(){return O}});var r="consent-original",o="consent-click-original",i="_",a="consent-by",c="consent-required",s="consent-visual-use-parent",u="consent-visual-paint-mode",l="consent-inline",d="consent-inline-style",f="consent-id",p="script",h="consent-blocker-connected",v="consent-blocker-connected-pres",b="consent-transaction-complete",m="consent-transform-wrapper",g="1",y="consent-strict-hidden",k="consent-cb-reset-parent",x="1",w="consent-cb-reset-parent-is-ratio",C="consent-got-clicked",S="1",A="2",O="consent-thumbnail"},6346:function(t,e,n){"use strict";n.d(e,{L:function(){return s},K:function(){return u}});var r=n(9749),o=n.n(r),i=n(2891),a=n(7033),c=n(55).default,s="rcbInitiatorOnload";function u(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:document.body;return new c((function(r){t?o()(n,(0,i.c)(t,e),{done:r,error:function(t){console.error(t)},beforeWriteToken:function(t){var e=t.attrs,n=t.booleanAttrs,r=t.src,o=t.href,i=t.content;if(null!=n&&n["skip-write"])return!1;for(var c in i&&(t.content=i.replace(/window\.onload\s+=/g,"window.".concat(s," ="))),e)if(e[c]=(0,a.l)(e[c]),"unique-write-name"===c&&document.querySelector('[unique-write-name="'.concat(e[c],'"]')))return!1;return r&&(t.src=(0,a.l)(r)),o&&(t.href=(0,a.l)(o)),t}}):r()}))}},3102:function(t,e,n){"use strict";n.d(e,{T:function(){return r}});var r="RCB/OptIn/ContentBlocker"},3743:function(t,e,n){"use strict";function r(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;setTimeout((function(){try{window.dispatchEvent(new Event("resize"))}catch(t){}}),t)}n.d(e,{s:function(){return r}})},7033:function(t,e,n){"use strict";n.d(e,{l:function(){return o}});var r=n(3137);function o(t){var e;return(0,r.C)(t)?null===(e=(new DOMParser).parseFromString('<a href="'.concat(t,'"></a>'),"text/html").querySelector("a"))||void 0===e?void 0:e.href:(new DOMParser).parseFromString(t,"text/html").documentElement.textContent}},3137:function(t,e,n){"use strict";function r(t){return!!/^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/.test(t)}n.d(e,{C:function(){return r}})},9586:function(t,e,n){"use strict";n.d(e,{w:function(){return o}});var r=n(7932);function o(t,e){for(var n=[],o=t.parentElement;null!==o;)o.nodeType===Node.ELEMENT_NODE&&(0,r.D)(o,e)&&n.push(o),o=o.parentElement;return n}},4902:function(t,e,n){"use strict";n.d(e,{X:function(){return a}});var r=n(7663),o=n(5213),i=n(7029).h,a=function(t){var e=t.ms,n=void 0===e?100:e,a=t.chars,c=void 0===a?["&#9719;","&#9718;","&#9717;","&#9716;"]:a,s=(0,o.eJ)(1),u=(0,r.Z)(s,2),l=u[0],d=u[1];return(0,o.d4)((function(){var t=setInterval((function(){d(l+1)}),n);return function(){return clearInterval(t)}}),[l]),i("span",{dangerouslySetInnerHTML:{__html:c[l%4]}})}},229:function(t,e,n){"use strict";n.d(e,{V:function(){return k}});var r=n(4741),o=n(7663),i=n(5213),a=n(8982),c=n(7585),s=n(2260),u=n(3282),l=n(2711),d=n(3137),f=n(2121),p=n(2087),h=n(7029).h,v=function(t){var e=t.label,n=t.value,o=t.children,i=t.printValueAs,c=(0,a.w)(),s=c.i18n,u=s.yes,v=s.no,b="string"==typeof n&&(0,d.C)(n)?h("a",{href:n,style:(0,l.Z)({wordBreak:"break-all"},(0,f.c)(c,!1).style),target:"_blank",rel:"noopener noreferrer"},n):"string"==typeof n?h("span",{dangerouslySetInnerHTML:{__html:n}}):n;return"boolean"===i&&(b=b?u:v),h("div",(0,r.Z)({key:e},function(t){var e=t.group,n=e.groupBorderWidth,r=e.groupBorderColor,o=t.customCss.antiAdBlocker,i=t.mobile,a=t.pageRequestUuid4;return{className:"y"===o?void 0:"rcb-cookie-prop",style:{borderLeft:(a?(0,p.D)(i,a,n):n)>0?"1px solid ".concat(r):void 0,paddingLeft:15}}}(c)),e&&h("strong",null,e,": "),b,!!o&&h("div",null,o))},b=n(2891),m=n(7029).h,g=function(t){var e=t.cookie,n=e.purpose,r=e.provider,o=e.providerPrivacyPolicy,c=e.legalBasis,s=e.ePrivacyUSA,u=e.noTechnicalDefinitions,l=e.technicalDefinitions,d=e.codeDynamics,f=t.isEssentialGroup,p=(0,a.w)(),h=p.i18n,g=p.ePrivacyUSA,y={http:{name:"HTTP Cookie",abbr:"HTTP",backgroundColor:"black"},local:{name:"Local Storage",abbr:"Local",backgroundColor:"#b3983c"},session:{name:"Session Storage",abbr:"Session",backgroundColor:"#3c99b3"},flash:{name:"Flash Local Shared Object",abbr:"Flash",backgroundColor:"#b33c3c"},indexedDb:{name:"IndexedDB",abbr:"I-DB",backgroundColor:"#4ab33c"}};return m(i.HY,null,!!n&&m(v,{label:h.purpose,value:n}),m(v,{label:h.legalBasis,value:"legal-requirement"===c?h.legalRequirement:"legitimate-interest"===c||f?h.legitimateInterest:h.consent}),m(v,{label:h.provider,value:r}),!!o&&m(v,{label:h.providerPrivacyPolicy,value:o}),!!g&&m(v,{label:h.ePrivacyUSA,value:s,printValueAs:"boolean"}),!u&&l.map((function(t){var e=t.type,n=t.name,r=t.host,o=t.duration,i=t.durationUnit,a=t.sessionDuration,c=t.purpose;return m(v,{key:n,label:h.technicalCookieDefinition,value:m("span",{style:{fontFamily:"monospace"}},(0,b.c)(n,d))},m(v,{label:h.type,value:y[e].name}),!!c&&m(v,{label:h.purpose,value:c}),!!r&&m(v,{label:h.host,value:m("span",{style:{fontFamily:"monospace"}},r)}),m(v,{label:h.duration,value:["local","indexedDb","flash"].indexOf(e)>-1?h.noExpiration:a||"session"===e?"Session":"".concat(o," ").concat(h.durationUnit[i])}))})))},y=n(7029).h,k=function(t){var e=t.cookie,n=t.checked,l=t.disabled,d=t.onToggleCheck,f=t.propertyListProps,p=void 0===f?{}:f,h=e.name,v=(0,i.eJ)(!1),b=(0,o.Z)(v,2),m=b[0],k=b[1],x=(0,a.w)(),w=x.group.descriptionFontSize;return(0,i.bt)((function(){k(!0)}),[]),y("div",function(t){return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-cookie",style:{marginTop:10}}}(x),y("div",{style:{marginBottom:10}},y(s.p,(0,r.Z)({icon:u.Z,onClick:d},(0,c.z)(x,m,n,l,w))),y("strong",{style:{verticalAlign:"middle"},onClick:d},h)),y(g,(0,r.Z)({cookie:e},p)))}},2260:function(t,e,n){"use strict";n.d(e,{p:function(){return s}});var r=n(4741),o=n(4115),i=n(5213),a=n(1680),c=n(7029).h,s=function(t){var e=t.icon,n=(0,o.Z)(t,["icon"]),s=(0,i.Ye)((function(){return(0,a.x)(e,{extraSVGAttrs:{style:"width:auto;height:100%;",fill:"currentColor"}})}),[e]);return c("div",(0,r.Z)({},n,{dangerouslySetInnerHTML:{__html:s}}))}},8523:function(t,e,n){"use strict";n.d(e,{u:function(){return u}});var r=n(4741),o=n(4115),i=n(5213),a=n(3428),c=n(9707),s=n(7029).h,u=(0,i.Gp)((function(t,e){var n=t.children,i=t.className,u=t.title,l=t.position,d=void 0===l?"top":l,f=t.color,p=t.size,h=void 0===p?"large":p,v=t.always,b=t.rounded,m=t.noAnimate,g=t.bounce,y=(0,o.Z)(t,["children","className","title","position","color","size","always","rounded","noAnimate","bounce"]);return(0,c.G)(a,"hint-css",!0),s("div",(0,r.Z)({style:{position:"relative",display:"inline"},ref:e,"aria-label":u,className:"hint--".concat(d," hint--").concat(h," ").concat(f?"hint--".concat(f):""," ").concat(v?"hint--always":""," ").concat(b?"hint--rounded":""," ").concat(m?"hint--no-animate":""," ").concat(g?"hint--bounce":""," ").concat(i||"")},y),n)}))},4766:function(t,e,n){"use strict";n.d(e,{k:function(){return a},S:function(){return c}});var r=n(6762),o=n(3340),i=n(5213),a=function(){function t(){(0,r.Z)(this,t)}return(0,o.Z)(t,null,[{key:"Context",value:function(t){function e(){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(){return this.context=this.context||(0,i.kr)({})}))}]),t}();function c(){return(0,i.qp)(a.Context())}a.context=void 0},1347:function(t,e,n){"use strict";n.d(e,{Z:function(){return a},_:function(){return c}});var r=n(6762),o=n(3340),i=n(5213),a=function(){function t(){(0,r.Z)(this,t)}return(0,o.Z)(t,null,[{key:"Context",value:function(t){function e(){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(){return this.context=this.context||(0,i.kr)({})}))}]),t}();function c(){return(0,i.qp)(a.Context())}a.context=void 0},6092:function(t,e,n){"use strict";n.d(e,{g:function(){return y}});var r=n(4741),o=n(965),i=n(5213),a=n(8982),c=n(3258),s=n(7663),u=n(4115),l=n(2087),d=n(7029).h,f=function(t){var e=t.children,n=(0,u.Z)(t,["children"]),o=(0,a.w)(),c=(0,i.eJ)(!1),f=(0,s.Z)(c,2),p=f[0],h=f[1];return d("a",(0,r.Z)({onMouseEnter:function(){return h(!0)},onMouseLeave:function(){return h(!1)}},function(t){var e=t.footerDesign,n=e.fontSize,r=e.fontColor,o=e.hoverFontColor,i=e.fontInheritFamily,a=e.fontFamily,c=t.design.linkTextDecoration,s=t.customCss.antiAdBlocker,u=t.mobile,d=t.pageRequestUuid4,f=arguments.length>1&&void 0!==arguments[1]&&arguments[1],p={textDecoration:c,fontSize:d?(0,l.D)(u,d,+n):+n,color:f?o:r,fontFamily:i?void 0:a,padding:"0 5px"};return{className:"y"===s?void 0:"rcb-footer-link",style:p}}(o,p),n),e)},p=n(8523),h=n(7029).h,v=function(t){var e=t.poweredLink,n=t.affiliate;return h(f,{href:n?n.link:e.href,target:e.target,key:"powered-by"},h("span",{dangerouslySetInnerHTML:{__html:e.innerHTML}}),n&&h(p.u,{title:n.description,position:"top-left"}," ",n.labelBehind))},b=n(7029).h;function m(t,e){var n=t.filter(Boolean);return 0===n.length?null:n.reduce((function(t,n,r){return t.length?[].concat((0,o.Z)(t),[b(i.HY,{key:r},e),n]):[n]}),[])}var g=n(7029).h;function y(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.onClose,n=t.putPoweredByLinkInRow,s=t.row1,u=(0,a.w)(),l=u.i18n.close,d=u.footerDesign,p=d.poweredByLink,h=d.linkTarget,b=u.poweredLink,y=u.affiliate,k=(0,c.p)(),x=k.linkPrivacyPolicy,w=k.linkImprint,C="_blank"===h?{target:"_blank",rel:"noopener"}:{},S=[[e&&g(f,{href:"#",onClick:e,key:"close"},g("strong",null,l))].concat((0,o.Z)(s||[]),[x&&g(f,(0,r.Z)({href:x.url},C,{key:"privacyPolicy"}),x.label),w&&g(f,(0,r.Z)({href:w.url},C,{key:"imprint"}),w.label)]).filter(Boolean),[]];b&&p&&S[n||0].push(g(v,{key:"poweredBy",poweredLink:b,affiliate:y}));var A=(0,i.I4)((function(t){return m(t.map((function(t){return t.length?g(i.HY,{key:t[0].key},m(t,g(i.HY,null," • "))):null})),g("br",null))}),[]);return{rows:S,render:A}}},6268:function(t,e,n){"use strict";n.d(e,{k:function(){return c}});var r=n(8982),o=n(3258);function i(t,e){return t.length>1&&t.splice(t.length-1,0,"{{andSeparator}}"),t.join(", ").replace(/,\s+{{andSeparator}},\s+/g,e)}var a='<sup style="vertical-align:top;line-height:100%;position:initial;">';function c(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.disableDataProcessingInUnsafeCountries,n=t.disableAgeNotice,c=t.disableListServicesNotice,s=(0,r.w)(),u=s.blocker,l=s.groups,d=s.ePrivacyUSA,f=s.ageNotice,p=s.listServicesNotice,h=s.texts,v=h.description,b=h.ePrivacyUSA,m=h.ageNoticeBanner,g=h.listServicesNotice,y=h.consentForwardingExternalHosts,k=s.tcf,x=s.consentForwardingExternalHosts,w=s.individualPrivacyOpen,C=s.individualTexts.description,S=s.essentialGroup,A=s.i18n,O=A.andSeparator,D=A.tcf,E=s.keepVariablesInTexts,Z=(0,o.p)(),I=Z.linkPrivacyPolicy,B="";x&&!E&&(B=y.replace(/{{websites}}/g,x.join(", ")));var T=[u?u.description:w?C:v,B].filter(Boolean).join(" ");E||(T=T.replace(/{{privacyPolicy}}(.*){{\/privacyPolicy}}/g,I?'<a href="'.concat(I.url,'" style="text-decoration:underline;color:inherit;" onmouseenter="this.style.textDecoration=\'none\'" onmouseleave="this.style.textDecoration=\'underline\'" target="_blank">$1</a>'):"$1"));var N=!e&&d?b:"",P=f&&!n?m:"",R="";if(p&&!c){var z=g.indexOf("{{services}}")>-1&&g.indexOf("{{serviceGroups}}")>-1,L=l.filter((function(t){return t.slug!==S})),W="~;~",H=i(L.map((function(t,e){return t.items.map((function(t){var n=t.name,r=t.ePrivacyUSA;return"".concat(n).concat(a).concat([z?e+1:"",N&&r?"U":""].filter(Boolean).join(","),"</sup>")})).join(W)})).join(W).split(W),O);if(H){var _=i(L.map((function(t,e){var n=t.name;return"".concat(n).concat(a).concat(z?e+1:"","</sup>")})),O);R="<span>".concat(g,"</span>").concat(k&&!w?"<span>".concat(D.listOfServicesAppendix,"</span>"):""),E||(R=R.replace(/{{services}}/g,H).replace(/{{serviceGroups}}/g,_)),N&&(N+="".concat(a,"U</sup>"))}}return{description:T,teachings:[N,P,R].filter(Boolean)}}},8982:function(t,e,n){"use strict";n.d(e,{w:function(){return i}});var r=n(4766),o=n(1347);function i(){var t=(0,r.S)(),e=(0,o._)();return t.groups?t:e}},3258:function(t,e,n){"use strict";n.d(e,{p:function(){return o}});var r=n(8982);function o(){var t=(0,r.w)(),e=t.legal,n=e.privacyPolicy,o=e.privacyPolicyExternalUrl,i=e.privacyPolicyIsExternalUrl,a=e.privacyPolicyLabel,c=e.imprint,s=e.imprintExternalUrl,u=e.imprintIsExternalUrl,l=e.imprintLabel,d=t.pageByIdUrl,f=(0,r.w)().pageIdToPermalink||{},p=n>0?f[n]||"".concat(d,"=").concat(n):void 0,h=c>0?f[c]||"".concat(d,"=").concat(c):void 0;return i&&(p=o),u&&(h=s),{linkPrivacyPolicy:!(!a||!p)&&{url:p,label:a},linkImprint:!(!l||!h)&&{url:h,label:l}}}},9707:function(t,e,n){"use strict";n.d(e,{G:function(){return i}});var r=n(5213),o=0;function i(t,e,n){var i=(0,r.Ye)((function(){return"react-use-plain-css-".concat(e||(o++).toString(36))}),[]);return(0,r.bt)((function(){var e=document.getElementById(i);return e||((e=document.createElement("style")).style.type="text/css",e.id=i,document.getElementsByTagName("head")[0].appendChild(e)),e.innerHTML=t,function(){var t;n||null===(t=e.parentNode)||void 0===t||t.removeChild(e)}}),[t,n]),i}},7613:function(t,e,n){"use strict";n.d(e,{W:function(){return o}});var r=n(2087);function o(t){var e=t.bodyDesign,n=e.teachingsInheritTextAlign,o=e.teachingsTextAlign,i=e.teachingsInheritFontSize,a=e.teachingsFontSize,c=e.teachingsInheritFontColor,s=e.teachingsFontColor,u=t.customCss.antiAdBlocker,l=t.mobile,d=t.pageRequestUuid4;return{className:"y"===u?void 0:"rcb-teachings",style:{marginTop:7,display:"inline-block",textAlign:n?void 0:o,fontSize:i?void 0:d?(0,r.D)(l,d,+a):+a,color:c?void 0:s}}}},8346:function(t,e,n){"use strict";function r(t){var e=t.layout.borderRadius,n=t.bodyDesign,r=n.teachingsSeparatorActive,o=n.teachingsSeparatorWidth,i=n.teachingsSeparatorHeight,a=n.teachingsSeparatorColor;return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-teachings-separator",style:{marginTop:7,display:"inline-block",maxWidth:"100%",borderRadius:+e,width:+o,height:r?+i:0,background:a}}}n.d(e,{V:function(){return r}})},7585:function(t,e,n){"use strict";n.d(e,{z:function(){return o}});var r=n(2087);function o(t,e,n,o,i){var a=t.layout.borderRadius,c=t.group,s=c.headlineFontSize,u=c.checkboxBg,l=c.checkboxBorderWidth,d=c.checkboxBorderColor,f=c.checkboxActiveBg,p=c.checkboxActiveBorderColor,h=c.checkboxActiveColor,v=t.customCss.antiAdBlocker,b=t.mobile,m=t.pageRequestUuid4,g=i||s;g=m?(0,r.D)(b,m,g):g;var y=m?(0,r.D)(b,m,+l):+l,k=+g+2*y+6;return{className:"y"===v?void 0:"rcb-checkbox",style:{cursor:o?"not-allowed":"pointer",opacity:o?.5:void 0,color:n?h:u,display:e?"inline-block":"none",background:n?f:u,border:"".concat(y,"px solid ").concat(n?p:d),padding:3,height:k,width:k,marginRight:10,borderRadius:+a,verticalAlign:"middle",lineHeight:0,boxSizing:"border-box"}}}},2121:function(t,e,n){"use strict";function r(t,e){var n=t.design.linkTextDecoration,r=t.group,o=r.linkColor,i=r.linkHoverColor;return{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-group-more",style:{color:e?i:o,textDecoration:n}}}n.d(e,{c:function(){return r}})},6730:function(t,e,n){"use strict";n.d(e,{a:function(){return o}});var r=n(2087);function o(t,e){var n=t.headerDesign,o=n.fontSize,i=n.fontColor,a=n.fontInheritFamily,c=n.fontFamily,s=n.fontWeight,u=t.customCss.antiAdBlocker,l=t.mobile,d=t.pageRequestUuid4;return{className:"y"===u?void 0:"rcb-headline",style:{color:i,lineHeight:1.8,fontSize:d?(0,r.D)(l,d,+o):+o,fontFamily:a?void 0:c,fontWeight:s,paddingRight:e?20:void 0}}}},2087:function(t,e,n){"use strict";function r(t,e,n,r){return t.enabled,t.scalePercent,t.scalePercentVertical,n}n.d(e,{D:function(){return r}})},5672:function(t,e,n){"use strict";n.d(e,{U:function(){return o}});var r=n(7932);function o(t){var e=document.getElementById(t).nextElementSibling,n=document.createElement("div");return window.rcbPoweredByCacheOuterHTML?n.innerHTML=window.rcbPoweredByCacheOuterHTML:(0,r.D)(e,"a")&&e.innerHTML.toLowerCase().indexOf("Real Cookie Banner")&&(window.rcbPoweredByCacheOuterHTML=e.outerHTML,n.innerHTML=window.rcbPoweredByCacheOuterHTML,e.parentNode.removeChild(e)),n.children[0]}window.rcbPoweredByCacheOuterHTML=""},7932:function(t,e,n){"use strict";function r(t,e){var n="undefined"!=typeof Element?Element.prototype:{},r=n.matches||n.matchesSelector||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector;if(!t||1!==t.nodeType||!t.parentElement)return!1;if(r)return r.call(t,e);var o=t.parentElement.querySelectorAll(e);for(var i in o)if(o[i]===t)return!0;return!1}n.d(e,{D:function(){return r}})},3075:function(t,e,n){"use strict";n.d(e,{D:function(){return D}});var r=n(2711),o=n(7938),i=n(5450),a=n.n(i),c=n(4742),s=n.n(c),u=n(4312),l=n(6811),d=n(5566),f=n.n(d);function p(t){for(var e=t.location,n=t.params,r=void 0===n?{}:n,o=t.nonce,i=void 0===o||o,a=t.options,c=new(s())(a.restRoot,!0),d=c.query,p=d.rest_route||c.pathname,h=[],v=e.path.replace(/:([A-Za-z0-9-_]+)/g,(function(t,e){return h.push(e),r[e]})),b={},m=0,g=Object.keys(r);m<g.length;m++){var y=g[m];-1===h.indexOf(y)&&(b[y]=r[y])}var k=(0,u.Ab)(p)+(0,u.XO)(e.namespace||a.restNamespace)+v,x=new(s())(window.location.href).protocol.slice(0,-1);c.set("protocol",x),d.rest_route?d.rest_route=k:c.set("pathname",k),i&&a.restNonce&&(d._wpnonce=a.restNonce);var w=c.toString();return["wp-json/","rest_route="].filter((function(t){return w.indexOf(t)>-1})).length>0&&e.method&&e.method!==l.O.GET&&(d._method=e.method),c.set("query",f().all([a.restQuery,b,d])).toString()}var h=n(55).default,v=n(9448).default,b={},m={};function g(t,e){return y.apply(this,arguments)}function y(){return y=(0,o.Z)(a().mark((function t(e,n){var r,i;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0===n){t.next=6;break}return r=m[e]||new h(function(){var t=(0,o.Z)(a().mark((function t(r,o){var i,c;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,v(n);case 3:if(!(i=t.sent).ok){t.next=11;break}return t.next=7,i.text();case 7:c=t.sent,e===c?o():(b[e]=c,r(c)),t.next=12;break;case 11:o();case 12:t.next=17;break;case 14:t.prev=14,t.t0=t.catch(0),o();case 17:case"end":return t.stop()}}),t,null,[[0,14]])})));return function(e,n){return t.apply(this,arguments)}}()),m[e]=r,t.abrupt("return",r);case 6:if(void 0!==e){t.next=8;break}return t.abrupt("return",void 0);case 8:return t.next=10,h.all(Object.values(m));case 10:i=e;case 11:if(!b[i]){t.next=17;break}if(i=b[i],b[i]!==e){t.next=15;break}return t.abrupt("break",17);case 15:t.next=11;break;case 17:return t.abrupt("return",h.resolve(i));case 18:case"end":return t.stop()}}),t)}))),y.apply(this,arguments)}var k=n(38);function x(t,e,n){return w.apply(this,arguments)}function w(){return(w=(0,o.Z)(a().mark((function t(e,n,r){var o,i,c,s,u,d;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=n.clone(),t.prev=1,t.next=4,n.json();case 4:return t.abrupt("return",t.sent);case 7:return t.prev=7,t.t0=t.catch(1),t.next=11,o.text();case 11:if(!(""===(i=t.sent)&&[l.O.DELETE,l.O.PUT].indexOf(r)>-1)){t.next=14;break}return t.abrupt("return",void 0);case 14:console.warn("The response of ".concat(e," contains unexpected JSON, try to resolve the JSON line by line..."),{body:i}),s=(0,k.Z)(i.split("\n")),t.prev=16,s.s();case 18:if((u=s.n()).done){t.next=30;break}if(!(d=u.value).startsWith("[")&&!d.startsWith("{")){t.next=28;break}return t.prev=21,t.abrupt("return",JSON.parse(d));case 25:t.prev=25,t.t1=t.catch(21),c=t.t1;case 28:t.next=18;break;case 30:t.next=35;break;case 32:t.prev=32,t.t2=t.catch(16),s.e(t.t2);case 35:return t.prev=35,s.f(),t.finish(35);case 38:throw c;case 39:case"end":return t.stop()}}),t,null,[[1,7],[16,32,35,38],[21,25]])})))).apply(this,arguments)}var C=n(2680),S=n.n(C),A=n(9448).default,O="application/json;charset=utf-8";function D(t){return E.apply(this,arguments)}function E(){return(E=(0,o.Z)(a().mark((function t(e){var n,o,i,c,u,d,h,v,b,m,y,k,w,C,E,Z,I,B,T,N,P,R,z;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.location,o=e.options,i=e.request,c=e.params,u=e.settings,d=void 0===u?{}:u,h=e.multipart,v=void 0!==h&&h,b=e.sendRestNonce,m=void 0===b||b,y=p({location:n,params:c,nonce:!1,options:o}),["wp-json/","rest_route="].filter((function(t){return y.indexOf(t)>-1})).length>0&&n.method&&n.method!==l.O.GET?d.method=l.O.POST:d.method=n.method||l.O.GET,k=new(s())(y,!0),!(w=-1===["HEAD","GET"].indexOf(d.method))&&i&&k.set("query",f()(k.query,i)),w&&(C=v?S()(i,"boolean"==typeof v?{}:v):JSON.stringify(i)),t.next=9,g(o.restNonce);case 9:return E=t.sent,Z=void 0!==E,(I=f().all([d,{headers:(0,r.Z)((0,r.Z)((0,r.Z)({},"string"==typeof C?{"Content-Type":O}:{}),Z&&m?{"X-WP-Nonce":E}:{}),{},{Accept:"application/json, */*;q=0.1"})}])).body=C,B=k.toString(),t.next=16,A(B,I);case 16:if((T=t.sent).ok){t.next=47;break}return N=void 0,P=!1,t.prev=20,t.next=23,x(B,T,n.method);case 23:if("private_site"===(N=t.sent).code&&403===T.status&&Z&&!m&&(P=!0),"rest_cookie_invalid_nonce"!==N.code||!Z){t.next=35;break}return R=o.restRecreateNonceEndpoint,t.prev=27,t.next=30,g(E,R);case 30:P=!0,t.next=35;break;case 33:t.prev=33,t.t0=t.catch(27);case 35:t.next=39;break;case 37:t.prev=37,t.t1=t.catch(20);case 39:if(!P){t.next=43;break}return t.next=42,D({location:n,options:o,multipart:v,params:c,request:i,sendRestNonce:!0,settings:d});case 42:return t.abrupt("return",t.sent);case 43:throw d.method===l.O.GET&&(window.detectCorruptRestApiFailed=(window.detectCorruptRestApiFailed||0)+1),(z=T).responseJSON=N,z;case 47:return t.abrupt("return",x(B,T,n.method));case 48:case"end":return t.stop()}}),t,null,[[20,37],[27,33]])})))).apply(this,arguments)}},6811:function(t,e,n){"use strict";var r;n.d(e,{O:function(){return r}}),function(t){t.GET="GET",t.POST="POST",t.PUT="PUT",t.DELETE="DELETE",t.PATCH="PATCH"}(r||(r={}))},4312:function(t,e,n){"use strict";n.d(e,{XO:function(){return r},Ab:function(){return o},sE:function(){return i}});var r=function t(e){return e.endsWith("/")||e.endsWith("\\")?t(e.slice(0,-1)):e},o=function(t){return"".concat(r(t),"/")},i=function(t){var e=window[t.slug.replace(/-([a-z])/g,(function(t){return t[1].toUpperCase()}))];return"".concat(e.publicUrl).concat(e.chunkFolder,"/")}},9302:function(t,e,n){"use strict";n.d(e,{h:function(){return u}});var r=n(38),o=n(3438),i=n(4548),a=n(3102),c=n(1829),s=n(55).default;function u(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.createElement("div");return new s((function(n){var s,u,l=(0,o.u)().blocker,d=!e.parentElement,f=(0,r.Z)(l);try{t:for(f.s();!(u=f.n()).done;){var p,h=u.value,v=h.hosts,b=(0,r.Z)(v);try{for(b.s();!(p=b.n()).done;){var m=p.value,g=(0,c.L)(m);if(t.match(g)){s=h;break t}}}catch(t){b.e(t)}finally{b.f()}}}catch(t){f.e(t)}finally{f.f()}s?(e.setAttribute(i.d3,"cookies"),e.setAttribute(i._W,s.cookies.join(",")),e.setAttribute(i.CT,s.id.toString()),e.addEventListener(a.T,(function(){d&&e.remove(),n()})),d&&document.body.appendChild(e)):n()}))}},4584:function(t,e,n){"use strict";n.r(e),n.d(e,{consent:function(){return we},consentAll:function(){return Se},consentSync:function(){return ke},unblock:function(){return me.h}});var r={};n.r(r),n.d(r,{consent:function(){return we},consentAll:function(){return Se},consentSync:function(){return ke},unblock:function(){return me.h}});var o=n(7938),i=n(5450),a=n.n(i),c=n(5213),s=n(2711),u=n(7663),l=n(3438),d=n(625),f=n(6886),p=n(965),h=n(38),v=n(8218),b=n(9382),m=n(7766),g=n(6028);function y(){return(y=(0,o.Z)(a().mark((function t(e,n){var r,o,i,c,u,l,d,f,y,k;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=!0,o=e instanceof v.G?e.getOptions():e,i=n.gateways,c=n.args,u=n.onIsDoNotTrack,l=n.onShowCookieBanner,d=(0,h.Z)(i),t.prev=4,d.s();case 6:if((f=d.n()).done){t.next=17;break}return y=f.value,t.next=10,y.apply(void 0,[o].concat((0,p.Z)(c)));case 10:if(!1===(k=t.sent)){t.next=15;break}if("break"!==function(){r=!1;var t=function(t){return(0,b.n)((0,s.Z)({type:t},o))};return"all"===k?t("all"):"essentials"===k?t("essentials"):"dnt"===k?u((function(){return t("essentials")})):"consent"===k&&t("consent"),"break"}()){t.next=15;break}return t.abrupt("break",17);case 15:t.next=6;break;case 17:t.next=22;break;case 19:t.prev=19,t.t0=t.catch(4),d.e(t.t0);case 22:return t.prev=22,d.f(),t.finish(22);case 25:if(!r){t.next=30;break}return l(),t.next=29,(0,g.C)();case 29:document.dispatchEvent(new CustomEvent(m.I,{detail:{}}));case 30:case"end":return t.stop()}}),t,null,[[4,19,22,25]])})))).apply(this,arguments)}var k=n(4001),x=function(){var t=(0,o.Z)(a().mark((function t(e){var n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.supportsCookiesName,t.abrupt("return",!(0,k.E)(n)&&"essentials");case 2:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),w=n(5245),C=n(4717),S=n.n(C);function A(){var t=navigator.userAgent;return!!t&&!/chrome-lighthouse/i.test(t)&&S()(t)}var O=n(55).default;function D(t,e){return new O((function(n,r){t.then(n,r);var o=new Error("Timed out");setTimeout(r,e,o)}))}var E=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e4,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return function(){var r=(0,o.Z)(a().mark((function r(o){var i,c,s,u,l,d;return a().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(i=o.decisionCookieName,c=o.revisionHash,!A()&&n){r.next=3;break}return r.abrupt("return",!1);case 3:if(!(s=(0,w.h)(i))){r.next=8;break}if(u=s.revision,c!==u){r.next=8;break}return r.abrupt("return","consent");case 8:return r.prev=8,r.next=11,D(t(),e);case 11:return l=r.sent,d=l.predecision,r.abrupt("return",d);case 16:return r.prev=16,r.t0=r.catch(8),r.abrupt("return",!1);case 19:case"end":return r.stop()}}),r,null,[[8,16]])})));return function(t){return r.apply(this,arguments)}}()};function Z(){try{var t=window;if((t.doNotTrack||t.navigator.doNotTrack||t.navigator.msDoNotTrack||"msTrackingProtectionEnabled"in t.external)&&("1"==t.doNotTrack||"yes"==t.navigator.doNotTrack||"1"==t.navigator.doNotTrack||"1"==t.navigator.msDoNotTrack||t.external.msTrackingProtectionEnabled()))return!0}catch(t){}return!1}var I=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function(){var e=(0,o.Z)(a().mark((function e(n){var r,o,i,c,s,l,d,f,p,v,b;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.decisionCookieName,o=n.groups,i=n.essentialGroupSlug,c=o.filter((function(t){return t.slug===i})),s=(0,u.Z)(c,1),l=s[0],!1===(0,w.h)(r)&&t){e.next=4;break}return e.abrupt("return",!1);case 4:d=(0,h.Z)(o),e.prev=5,d.s();case 7:if((f=d.n()).done){e.next=29;break}if((p=f.value)===l){e.next=27;break}v=(0,h.Z)(p.items),e.prev=11,v.s();case 13:if((b=v.n()).done){e.next=19;break}if("legitimate-interest"!==b.value.legalBasis){e.next=17;break}return e.abrupt("return",!1);case 17:e.next=13;break;case 19:e.next=24;break;case 21:e.prev=21,e.t0=e.catch(11),v.e(e.t0);case 24:return e.prev=24,v.f(),e.finish(24);case 27:e.next=7;break;case 29:e.next=34;break;case 31:e.prev=31,e.t1=e.catch(5),d.e(e.t1);case 34:return e.prev=34,d.f(),e.finish(34);case 37:return e.abrupt("return",!!Z()&&"dnt");case 38:case"end":return e.stop()}}),e,null,[[5,31,34,37],[11,21,24,27]])})));return function(t){return e.apply(this,arguments)}}()},B=function(){var t=(0,o.Z)(a().mark((function t(e){var n,r,o,i;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.decisionCookieName,r=e.revisionHash,!1!==(o=(0,w.h)(n))){t.next=4;break}return t.abrupt("return",!1);case 4:return i=o.revision,t.abrupt("return",r===i&&"consent");case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),T=n(3075),N=n(6811),P={path:"/consent/dynamic-predecision",method:N.O.GET};function R(t){var e=t.legal,n=e.imprint,r=e.imprintHide,o=e.privacyPolicy,i=e.privacyPolicyHide,a=t.pageId;return[r&&+n,i&&+o].filter(Boolean).indexOf(a)>-1}var z=n(6423),L=n(7563);function W(){var t=(0,c.Ye)((function(){return window.innerWidth}),[])<700,e=(0,c.Ye)((function(){var t=window.navigator.userAgent.toLowerCase();return 4===["firefox","gecko","mobile","android"].map((function(e){return t.indexOf(e)>-1})).filter(Boolean).length}),[]);return(0,c.I4)((function(n){var r=n.animationIn,o=n.animationInOnlyMobile,i=n.animationOut,a=n.animationOutOnlyMobile,c=o?t?r:"none":r,s=a?t?i:"none":i;return e&&(c="none",s="none"),{useAnimationIn:c,useAnimationOut:s}}),[])}var H=function(t){t&&(t.preventDefault(),t.stopPropagation())},_=n(4766),Y=n(4741),U=n(3743),F=n(9707),M=n(9586),j=n(7932),G='[href^="#consent-"]',q=n(2087);function X(t,e){var n=(0,c.eJ)(0),r=(0,u.Z)(n,2),o=r[0],i=r[1],a=(0,c.eJ)(0),s=(0,u.Z)(a,2),l=s[0],d=s[1],f=(0,c.eJ)(t),p=(0,u.Z)(f,2),h=p[0],v=p[1],b=(0,c.eJ)(void 0),m=(0,u.Z)(b,2),g=m[0],y=m[1],k=(0,c.eJ)(e),x=(0,u.Z)(k,2),w=x[0],C=x[1],S=(0,c.eJ)(void 0),A=(0,u.Z)(S,2),O=A[0],D=A[1];return(0,c.d4)((function(){o>0&&("none"===t?v(t):(v("none"),y(t))),i(o+1)}),[t]),(0,c.d4)((function(){l>0&&(0===e?C(e):(C(0),D(e),v("none"),y(t))),d(l+1)}),[e]),(0,c.d4)((function(){void 0!==g&&(v(g),y(void 0))}),[g]),(0,c.d4)((function(){void 0!==O&&(C(O),D(void 0))}),[O]),[h,w]}var V=n(63);function J(t){var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null}function $(t,e){var n=J(t),r=n.r,o=n.g,i=n.b;return"rgba(".concat(r,", ").concat(o,", ").concat(i,", ").concat(e/100,")")}var Q=n(7029).h;function K(t){var e=t.isVisible,n=t.animationIn,r=t.animationOut,o=t.animationInDuration,i=t.animationOutDuration,a=t.animationInDelay,c=t.animationOutDelay;return e?{animation:n,duration:o,delay:a}:{animation:r,duration:i,delay:c}}var tt=function(t){var e=t.animateOnMount,n=void 0===e||e,r=t.isVisible,o=void 0===r||r,i=t.animationIn,a=void 0===i?"fadeIn":i,l=t.animationOut,d=void 0===l?"fadeOut":l,f=t.animationInDelay,p=void 0===f?0:f,h=t.animationOutDelay,v=void 0===h?0:h,b=t.animationInDuration,m=void 0===b?1e3:b,g=t.animationOutDuration,y=void 0===g?1e3:g,k=t.className,x=void 0===k?"":k,w=t.style,C=void 0===w?{}:w,S=t.children,A=(0,c.eJ)(n?K({isVisible:o,animationIn:a,animationOut:d,animationInDelay:p,animationOutDelay:v,animationInDuration:m,animationOutDuration:y}):{animation:"",delay:void 0,duration:0}),O=(0,u.Z)(A,2),D=O[0],E=D.animation,Z=D.duration,I=D.delay,B=O[1];(0,c.d4)((function(){B(K({isVisible:o,animationIn:a,animationOut:d,animationInDelay:p,animationOutDelay:v,animationInDuration:m,animationOutDuration:y}))}),[o,a,d,p,v,m,y]);var T="animate__animated animate__".concat(E," ").concat(x),N=E?{}:{opacity:o?1:0,transition:"opacity ".concat(I,"ms")};return Q("div",{className:T,style:(0,s.Z)((0,s.Z)({animationDelay:"".concat(I,"ms"),animationDuration:"".concat(Z,"ms"),pointerEvents:o?"all":"none"},C),N)},S)};function et(t,e){var n=(0,_.S)().pageRequestUuid4,r=(0,F.G)("","useRenderedHeightsAsCssVars-".concat(e)),o=document.getElementById(r);(0,c.d4)((function(){var r=0,i=function(){var i=t.getBoundingClientRect().height;r!==i&&(r=i,o.innerHTML="#".concat(n,"{--rendered-height-").concat(e,": ").concat(Math.floor(i),"px;--rendered-height-raw-").concat(e,": ").concat(i,"px}"))};if(!t)return function(){};var a=document.querySelector("#".concat(n,' div[class*="animate__"]'));if(a.addEventListener("animationend",i),window.ResizeObserver){var c=new ResizeObserver(i);return c.observe(t),function(){c.disconnect(),a.removeEventListener("animationend",i)}}var s=setInterval(i,150);return function(){clearInterval(s),a.removeEventListener("animationend",i)}}),[t,e])}var nt=n(4115),rt=n(6730);function ot(){var t=(0,_.S)(),e=t.individualPrivacyOpen,n=t.onSave,r=t.updateGroupChecked,o=t.updateCookieChecked,i=t.groups,a=t.essentialGroup,u=t.updateIndividualPrivacyOpen,l=t.activeAction,d=t.onClose,f=e?"ind_all":"main_all",p=e?"ind_essential":"main_essential",v=e?"ind_close_icon":"main_close_icon",b=e?"ind_custom":"main_custom",m={buttonClickedAll:f,buttonClickedEssentials:p,buttonClickedCloseIcon:v,buttonClickedCustom:b,acceptAll:(0,c.I4)((function(){i.forEach((function(t){return r(t.id,!0)})),n(!1,f)}),[f]),acceptEssentials:(0,c.I4)((function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];i.forEach((function(t){var e=t.slug,n=t.id,i=t.items;if(e===a)r(n,!0);else{var c,s=(0,h.Z)(i);try{for(s.s();!(c=s.n()).done;){var u=c.value,l=u.legalBasis,d=u.id;o(n,d,"legitimate-interest"===l)}}catch(t){s.e(t)}finally{s.f()}}})),n(!1,t?v:p)}),[p]),acceptIndividual:(0,c.I4)((function(){return n(!1,b)}),[b]),openIndividualPrivacy:(0,c.I4)((function(){u(!0)}),[u])};return(0,s.Z)((0,s.Z)({},m),{},{closeIcon:(0,c.I4)((function(){l?d():m.acceptEssentials(!0)}),[l,d,m.acceptEssentials])})}var it=n(7778),at=function(t){var e=t.children,n=t.className,r=t.tag,o=void 0===r?"div":r,i=t.renderInContainer,a=(0,c.eJ)((function(){var t=document.createElement(o);return n&&t.classList.add(n),t})),s=(0,u.Z)(a,1)[0];return(0,c.d4)((function(){return document.body.appendChild(s),function(){document.body.removeChild(s)}}),[]),(0,c.jz)(e,i||s)},ct=n(8523),st=n(7029).h,ut=0,lt=function(t){var e=t.width,n=t.color,r=t.tooltipText,o=t.framed,i=t.renderInContainer,a=t.tooltipAlways,s=t.onClick,u=t.thickness,l=void 0===u?1:u,d=(0,c.Ye)((function(){return"react-close-icon-".concat((ut++).toString(36))}),[]),f=(0,c.Ye)((function(){return"react-close-icon-".concat((ut++).toString(36))}),[]),p=(0,c.Ye)((function(){return"react-close-icon-".concat((ut++).toString(36))}),[]),h=(0,c.sO)(),v=(0,it.EL)(h);return(0,F.G)("#".concat(p,", #").concat(d," {\n position: absolute;\n top: 50%;\n right: 0;\n margin-top: calc(").concat(e,"px / 2 * -1);\n display: block;\n width: ").concat(e,"px;\n height: ").concat(e,"px; \n pointer-events: none;\n}\n\n#").concat(d," {\n position: absolute !important;\n}\n\n#").concat(d,", #").concat(f," {\n cursor: pointer;\n pointer-events: all;\n ").concat(o?"outline: rgb(255, 94, 94) solid 5px;":"","\n}\n\n#").concat(f," {\n position: fixed !important;\n ").concat(v?"top: ".concat(v.y,"px;left: ").concat(v.x,"px;display:block;"):"display:none;","\n width: ").concat(e,"px;\n height: ").concat(e,"px;\n z-index: 99;\n}\n#").concat(f,":after, #").concat(d,":after {\n width: auto !important;\n white-space: nowrap !important;\n}\n#").concat(f,">span:before, #").concat(f,">span:after,\n#").concat(d,">span:before, #").concat(d,">span:after {\n position: absolute;\n top: 50%;\n left: 50%;\n width: ").concat(l,"px;\n height: ").concat(e,"px;\n background-color: ").concat(n,";\n transform: rotate(45deg) translate(-50%, -50%);\n transform-origin: top left;\n transition: all 420ms;\n content: '';\n opacity: 0.5;\n pointer-events: none;\n}\n#").concat(f,">span:after,\n#").concat(d,">span:after {\n transform: rotate(-45deg) translate(-50%, -50%);\n}\n#").concat(f,">span:hover:before, #").concat(f,">span:hover:after,\n#").concat(d,">span:hover:before, #").concat(d,">span:hover:after {\n opacity: 1;\n width: ").concat(l+1,"px;\n}")),i?st(c.HY,null,st("div",{id:p,ref:h}),(null==v?void 0:v.y)>0&&st(at,{renderInContainer:i},st(ct.u,{title:r,id:f,onClick:s,position:v.y>50?"top-left":"left",always:a},st("span",null)))):st(ct.u,{title:r,id:d,onClick:s,position:"top-left",always:a},st("span",null))},dt=n(7029).h,ft=function(){var t=(0,_.S)(),e=t.headerDesign,n=e.fontSize,r=e.fontColor,o=t.texts.acceptEssentials,i=t.mobile,a=t.activeAction,c=t.pageRequestUuid4,s=t.i18n,u=s.close,l=s.closeWithoutSaving,d=t.buttonClicked,f=void 0===d?"":d,p=ot(),h=p.buttonClickedCloseIcon,v=p.closeIcon,b=document.getElementById(c);return dt(lt,{width:(0,q.D)(i,c,n),color:r,tooltipText:a?"change"===a?l:u:o,tooltipAlways:(null==b?void 0:b.clientWidth)<700,framed:f===h,renderInContainer:b,onClick:v})},pt=n(7029).h,ht=(0,c.Gp)((function(t,e){var n,r,o,i,a,c,u,l,d,f,p,h,v,b,m,g,y,k,x=(0,_.S)(),w=x.headerDesign,C=w.logo,S=w.logoRetina,A=x.decision.showCloseIcon,O=x.texts.headline,D=x.activeAction,E=x.individualPrivacyOpen,Z=x.individualTexts,I=x.i18n.headerTitlePrivacyPolicyHistory,B=S&&!(null!=C&&C.endsWith(".svg"))&&window.devicePixelRatio>1,T=B?S:C,N=E?"history"===D?I:Z.headline:O;return pt("div",(0,Y.Z)({ref:e},(o=(r=(n=x).layout).type,i=r.dialogBorderRadius,c=(a=n.design).borderWidth,u=a.borderColor,l=(0,nt.Z)(a,["borderWidth","borderColor"]),f=(d=n.headerDesign).inheritBg,p=d.bg,h=d.padding,v=n.customCss.antiAdBlocker,b=n.mobile,m=n.pageRequestUuid4,g=(0,q.D)(b,m,o,"banner"),y=(0,q.D)(b,m,c),k={padding:(0,q.D)(b,m,h,void 0,!0).map((function(t){return"".concat(t,"px")})).join(" "),background:f?l.bg:p,borderRadius:"dialog"===g?"".concat(i,"px ").concat(i,"px 0 0"):void 0,position:"sticky",zIndex:9,top:0},"dialog"===g&&y>0&&(k.borderTop="".concat(y,"px solid ").concat(u),k.borderLeft=k.borderTop,k.borderRight=k.borderTop),{className:"y"===v?void 0:"rcb-header-container",style:k})),pt("div",function(t){var e=t.layout,n=e.type,r=e.bannerMaxWidth,o=t.design.textAlign,i=t.headerDesign,a=i.inheritTextAlign,c=i.logo,s=i.logoPosition,u=(0,nt.Z)(i,["inheritTextAlign","logo","logoPosition"]),l=t.texts.headline,d=t.individualLayout,f=t.customCss.antiAdBlocker,p=t.mobile,h=t.pageRequestUuid4,v=t.individualPrivacyOpen,b=a?o:u.textAlign;return{className:"y"===f?void 0:"rcb-header",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===(0,q.D)(p,h,n,"banner")?+(v&&!d.inheritBannerMaxWidth?d.bannerMaxWidth:r):void 0,margin:"auto",display:"flex",justifyContent:"center"===b?"center":"right"===b?"flex-end":void 0,textAlign:b,alignItems:"center",position:"relative",flexDirection:c&&l?"left"===s?"row":"right"===s?"row-reverse":"column":void 0}}}(x),!!T&&pt("img",(0,Y.Z)({alt:"",src:T},function(t,e){var n=t.headerDesign,r=n.logoMaxHeight,o=n.logoMargin,i=n.logoFitDim,a=n.logoRetinaFitDim,c=t.customCss.antiAdBlocker,u=t.mobile,l=t.pageRequestUuid4,d=e?a:i,f=d?{width:d[0],height:d[1]}:{width:"auto",height:(0,q.D)(u,l,+r)};return{className:"y"===c?void 0:"rcb-logo",style:(0,s.Z)((0,s.Z)({},f),{},{margin:(0,q.D)(u,l,o).map((function(t){return"".concat(t,"px")})).join(" ")})}}(x,B))),!!N&&pt("div",(0,rt.a)(x,!1),N),(!!A||!!D)&&pt(ft,null)))})),vt=n(6268),bt=n(4769),mt=n(3282),gt=n(7029).h,yt=function(t){var e=t.title,n=t.children,r=(0,_.S)();return gt("div",function(t){var e=t.group,n=e.headlineFontSize,r=e.headlineFontColor,o=e.headlineFontWeight,i=t.customCss.antiAdBlocker,a=t.mobile,c=t.pageRequestUuid4;return{className:"y"===i?void 0:"rcb-group",style:{color:r,fontSize:(0,q.D)(a,c,n),fontWeight:o,textAlign:"left"}}}(r),e,n&&gt("div",function(t){var e=t.design.fontWeight,n=t.group,r=n.descriptionFontColor,o=n.descriptionFontSize,i=t.customCss.antiAdBlocker,a=t.mobile,c=t.pageRequestUuid4;return{className:"y"===i?void 0:"rcb-group-description",style:{color:r,fontSize:(0,q.D)(a,c,+o),fontWeight:e,marginTop:5}}}(r),n))},kt=n(2260),xt=n(7585),wt=n(2121),Ct=n(229),St=n(7029).h,At=function(t){var e,n=t.group,r=t.cookie,o=r.id,i=(0,_.S)(),a=i.consent,s=i.activeAction,u=i.essentialGroup===n.slug,l=u||"history"===s,d=u||((null===(e=a.groups)||void 0===e?void 0:e[n.id])||[]).some((function(t){return t===o})),f=(0,c.I4)((function(){return!l&&i.updateCookieChecked(n.id,o,!d)}),[l,i,n,o,d]);return St(Ct.V,{cookie:r,propertyListProps:{isEssentialGroup:u},checked:d,disabled:l,onToggleCheck:f})},Ot=n(7029).h,Dt=function(t){var e,n=t.group,r=(0,_.S)(),o=n.id,i=n.slug,a=n.name,s=n.description,l=n.items,d=(0,c.eJ)(!1),f=(0,u.Z)(d,2),p=f[0],h=f[1],v=(0,c.eJ)(!1),b=(0,u.Z)(v,2),m=b[0],g=b[1],y=(0,c.eJ)(!1),k=(0,u.Z)(y,2),x=k[0],w=k[1],C=r.previewCheckboxActiveState,S=r.individualTexts,A=S.showMore,O=S.hideMore,D=r.consent,E=r.activeAction,Z=r.essentialGroup;(0,c.bt)((function(){h(!0)}),[]);var I=Z===i,B=I||"history"===E,T=C||I||!!D.groups[o],N=I||JSON.stringify(l.map((function(t){return t.id})).sort())===JSON.stringify((null===(e=D.groups[o])||void 0===e?void 0:e.sort())||[])?mt.Z:bt.Z,P=(0,c.I4)((function(){return!B&&r.updateGroupChecked(o,!T)}),[B,r,o,T]);return Ot("div",function(t){var e=t.group,n=e.groupBg,r=e.groupBorderRadius,o=e.groupBorderColor,i=e.groupPadding,a=e.groupBorderWidth,c=e.groupInheritBg,s=t.customCss.antiAdBlocker,u=t.mobile,l=t.pageRequestUuid4,d=(0,q.D)(u,l,a);return{className:"y"===s?void 0:"rcb-group",style:{background:c?void 0:n,border:d>0?"".concat(d,"px solid ").concat(o):void 0,padding:(0,q.D)(u,l,i).map((function(t){return"".concat(t,"px")})).join(" "),borderRadius:+r,textAlign:"left"}}}(r),Ot(yt,{title:Ot(c.HY,null,Ot(kt.p,(0,Y.Z)({icon:N,onClick:P},(0,xt.z)(r,p,T,B))),Ot("span",{style:{verticalAlign:"middle",cursor:"pointer"},onClick:P},a," (",l.length,")"))},s,!!l&&Ot(c.HY,null,"  •  ",Ot("a",(0,Y.Z)({href:"#"},(0,wt.c)(r,m),{onClick:function(t){w(!x),t.preventDefault()},onMouseEnter:function(){return g(!0)},onMouseLeave:function(){return g(!1)}}),x?O:A),x&&l.map((function(t){return Ot(At,{key:t.id,group:n,cookie:t})})))))},Et=n(7029).h,Zt=function(){var t=(0,_.S)(),e=t.groups,n=t.group.groupSpacing,r=t.mobile,o=t.pageRequestUuid4,i=e.filter((function(t){return t.items.length}));return Et("div",{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-groups",style:{marginTop:10,clear:"both"}},i.map((function(t,e){return Et(c.HY,{key:t.id},Et(Dt,{key:t.id,group:t}),e!==i.length-1&&Et("div",{style:{height:(0,q.D)(r,o,+n)}}))})))},It=n(7029).h,Bt=function(t){var e=t.group,n=e.id,r=e.slug,o=e.name,i=(0,c.eJ)(!1),a=(0,u.Z)(i,2),s=(a[0],a[1]),l=(0,_.S)(),d=l.decision.groupsFirstView,f=(l.design.fontSize,l.consent),p=l.essentialGroup;(0,c.bt)((function(){s(!0)}),[]);var h=p===r,v=h||!!f.groups[n],b=(0,c.I4)((function(){return false}),[false,h,l,n,v,d]);return It("span",(0,Y.Z)({key:o},function(t){var e=t.design.fontSize,n=t.bodyDesign,r=n.dottedGroupsInheritFontSize,o=n.dottedGroupsFontSize,i=t.mobile,a=t.pageRequestUuid4;return{className:void 0,style:{paddingRight:10,fontSize:(0,q.D)(i,a,r?+e:+o),whiteSpace:"nowrap",display:"inline-block"}}}(l)),It("span",null,It(c.HY,null,It("strong",function(t){return{className:void 0,style:{color:t.bodyDesign.dottedGroupsBulletColor}}}(l),"●")," "),It("span",{style:{verticalAlign:"middle",cursor:d?"pointer":void 0},onClick:b},o)))},Tt=n(7029).h,Nt=function(){var t=(0,_.S)(),e=t.groups;return t.decision.showGroups?Tt("div",{className:"y"===t.customCss.antiAdBlocker?void 0:"rcb-dotted-groups",style:{marginTop:10,lineBreak:"anywhere",lineHeight:2}},e.filter((function(t){return!!t.items.length})).map((function(t){return Tt(Bt,{key:t.id,group:t})}))):null},Pt=n(7029).h,Rt=function(){var t=(0,_.S)(),e=(0,c.eJ)(-1),n=(0,u.Z)(e,2),r=n[0],o=n[1],i=t.activeAction,a=t.history,s=t.selectHistoryEntry,l=t.i18n,d=l.historyLabel,f=l.historySelectNone,p=(0,c.Ye)((function(){var t;return null==a||null===(t=a.filter((function(t){return t.id===r})))||void 0===t?void 0:t[0]}),[r]);(0,c.d4)((function(){i?"history"===i&&null!=a&&a.length&&o(a[0].id):o(-1)}),[i,a]);var h,v,b,m,g,y,k,x,w,C,S=null==p?void 0:p.uuid,A={className:void 0,style:{background:t.design.bg}};return Pt(c.HY,null,d," ",Pt("select",(0,Y.Z)({},(v=(h=t).design,b=v.fontSize,m=v.fontColor,g=h.bodyDesign,y=g.descriptionInheritFontSize,k=g.descriptionFontSize,x=h.customCss.antiAdBlocker,w=h.mobile,C=h.pageRequestUuid4,{className:"y"===x?void 0:"rcb-history-select",style:{fontSize:(0,q.D)(w,C,y?+b:+k),background:"transparent",border:0,color:m,borderBottom:"1px solid ".concat($(m,50))}}),{disabled:!(null!=a&&a.length),value:r,onChange:function(t){var e=+t.target.value;a.forEach((function(t){var n=t.id,r=t.decision,i=t.groups,a=t.tcf;n===e&&(o(n),s(i,r,a))}))}}),(null==a?void 0:a.length)>0?a.map((function(t){var e=t.id,n=t.isDoNotTrack,r=t.isUnblock,o=t.isForwarded,i=t.created;return Pt("option",(0,Y.Z)({key:e,value:e},A),new Date(i).toLocaleString(document.documentElement.lang),n?" (Do Not Track)":"",r?" (Content Blocker)":"",o?" (Consent Forwarding)":"")})):Pt("option",(0,Y.Z)({value:-1},A),f)),!!S&&Pt("div",{style:{opacity:.5,marginTop:5}},"UUID: ",S))},zt=n(8346),Lt=n(7613);function Wt(t,e,n,r,o){var i=t.name,a=t.order,c=t.type,s=t.borderRadius,u=t.bg,l=t.hoverBg,d=t.fontSize,f=t.textAlign,p=t.fontColor,h=t.fontWeight,v=t.hoverFontColor,b=t.borderWidth,m=t.borderColor,g=t.hoverBorderColor,y=t.padding,k=t.antiAdBlocker,x=t.pageRequestUuid4,w=!o||a>1,C=o&&1===a?5:0,S=o&&0===a?5:0,A=(0,q.D)(e,x,+b),O={textDecoration:"link"===c?"underline":"none",borderRadius:+s,cursor:"button"===c?"pointer":void 0,backgroundColor:"button"===c?n?l:u:void 0,fontSize:(0,q.D)(e,x,+d),fontWeight:h,color:n?v:p,transition:"background-color 250ms, color 250ms, border-color 250ms",margin:"0 ".concat(S,"px ").concat((0,q.D)(e,x,10,void 0,!0),"px ").concat(C,"px"),border:"button"===c&&A>0?"".concat(A,"px solid ").concat(n?g:m):void 0,padding:(0,q.D)(e,x,y,void 0,"button"!==c).map((function(t){return"".concat(t,"px")})).join(" "),overflow:"hidden",outline:r?"rgb(255, 94, 94) solid 5px":void 0,flex:w?"1 1 100%":"0 0 calc(50% - ".concat(C+S,"px)"),display:"flex",alignItems:"center",justifyContent:"right"===f?"flex-end":"center"===f?"center":"left",order:a};return{className:"y"===k?void 0:"rcb-btn-".concat(i),style:O}}function Ht(t,e,n,r,o){var i=t.isTcf,a=t.decision.acceptEssentials,c=t.layout.borderRadius,s=t.bodyDesign,u=s.acceptEssentialsFontSize,l=s.acceptEssentialsBg,d=s.acceptEssentialsTextAlign,f=s.acceptEssentialsBorderColor,p=s.acceptEssentialsPadding,h=s.acceptEssentialsBorderWidth,v=s.acceptEssentialsFontColor,b=s.acceptEssentialsFontWeight,m=s.acceptEssentialsHoverBg,g=s.acceptEssentialsHoverFontColor,y=s.acceptEssentialsHoverBorderColor,k=s.acceptAllFontWeight,x=s.acceptAllFontSize,w=s.acceptAllPadding,C=t.customCss.antiAdBlocker,S=t.mobile;return Wt({name:"accept-essentials",order:r,type:a,borderRadius:c,bg:l,hoverBg:m,fontSize:o||i?x:u,textAlign:d,fontColor:v,fontWeight:i?k:b,hoverFontColor:g,borderWidth:h,borderColor:f,hoverBorderColor:y,padding:o?w:p,antiAdBlocker:C,pageRequestUuid4:t.pageRequestUuid4},S,e,n,o)}function _t(t,e,n,r,o){var i=t.decision.acceptIndividual,a=t.layout.borderRadius,c=t.bodyDesign,s=c.acceptIndividualFontSize,u=c.acceptIndividualBg,l=c.acceptIndividualTextAlign,d=c.acceptIndividualBorderColor,f=c.acceptIndividualPadding,p=c.acceptIndividualBorderWidth,h=c.acceptIndividualFontColor,v=c.acceptIndividualFontWeight,b=c.acceptIndividualHoverBg,m=c.acceptIndividualHoverFontColor,g=c.acceptIndividualHoverBorderColor,y=t.customCss.antiAdBlocker,k=t.mobile;return Wt({name:"accept-individual",order:r,type:i,borderRadius:a,bg:u,hoverBg:b,fontSize:s,textAlign:l,fontColor:h,fontWeight:v,hoverFontColor:m,borderWidth:p,borderColor:d,hoverBorderColor:g,padding:f,antiAdBlocker:y,pageRequestUuid4:t.pageRequestUuid4},k,e,n,o)}function Yt(t,e,n,r,o){var i=t.isTcf,a=t.layout.borderRadius,c=t.bodyDesign,s=c.acceptAllFontWeight,u=c.acceptAllFontSize,l=t.saveButton,d=l.type,f=l.fontSize,p=l.bg,h=l.textAlign,v=l.borderColor,b=l.padding,m=l.borderWidth,g=l.fontColor,y=l.fontWeight,k=l.hoverBg,x=l.hoverFontColor,w=l.hoverBorderColor,C=t.customCss.antiAdBlocker,S=t.mobile;return Wt({name:"accept-individual-save",order:r,type:d,borderRadius:a,bg:p,hoverBg:k,fontSize:i?u:f,textAlign:h,fontColor:g,fontWeight:i?s:y,hoverFontColor:x,borderWidth:m,borderColor:v,hoverBorderColor:w,padding:b,antiAdBlocker:C,pageRequestUuid4:t.pageRequestUuid4},S,e,n,o)}function Ut(t,e,n,r,o){var i=t.decision.acceptAll,a=t.layout.borderRadius,c=t.bodyDesign,s=c.acceptAllFontSize,u=c.acceptAllBg,l=c.acceptAllTextAlign,d=c.acceptAllBorderColor,f=c.acceptAllPadding,p=c.acceptAllBorderWidth,h=c.acceptAllFontColor,v=c.acceptAllFontWeight,b=c.acceptAllHoverBg,m=c.acceptAllHoverFontColor,g=c.acceptAllHoverBorderColor,y=t.customCss.antiAdBlocker,k=t.mobile;return Wt({name:"accept-all",order:r,type:i,borderRadius:a,bg:u,hoverBg:b,fontSize:s,textAlign:l,fontColor:h,fontWeight:v,hoverFontColor:m,borderWidth:p,borderColor:d,hoverBorderColor:g,padding:f,antiAdBlocker:y,pageRequestUuid4:t.pageRequestUuid4},k,e,n,o)}var Ft=n(4902),Mt=n(7029).h,jt=function(t){var e=t.inlineStyle,n=t.type,r=t.onClick,o=t.children,i=t.framed,a=t.busyOnClick,s=t.order;if("hide"===n)return null;var l=(0,c.eJ)(!1),d=(0,u.Z)(l,2),f=d[0],p=d[1],h=(0,c.I4)((function(){f||(a&&p(!0),null==r||r())}),[r,f,a]),v=(0,c.eJ)(!1),b=(0,u.Z)(v,2),m=b[0],g=b[1],y=(0,_.S)(),k=y.individualPrivacyOpen,x=y.decision,w=x.acceptAll,C=x.acceptEssentials,S=y.bodyDesign,A=S.acceptAllOneRowLayout,O=S.acceptEssentialsUseAcceptAll?w:C,D={onClick:h,onMouseEnter:function(){return g(!0)},onMouseLeave:function(){return g(!1)}},E=(0,c.Ye)((function(){switch(e){case"acceptEssentials":return Ht;case"acceptIndividual":return _t;case"save":return Yt;default:return Ut}}),[e]);return Mt("div",(0,Y.Z)({},"button"===n?D:{},E(y,m,i,s,!(/MSIE (\d+\.\d+);/.test(navigator.userAgent)||navigator.userAgent.indexOf("Trident/")>-1||"hide"===w||"hide"===O||k||s>1)&&A)),Mt("span","link"===n?D:{},f?Mt(Ft.X,null):o))},Gt=n(7029).h,qt=function(){var t=(0,_.S)(),e=t.activeAction,n=t.bodyDesign,r=n.acceptEssentialsUseAcceptAll,o=n.acceptAllOneRowLayout,i=t.decision,a=(i.showGroups,i.groupsFirstView,i.saveButton,i.acceptAll),s=i.acceptEssentials,u=i.acceptIndividual,l=i.buttonOrder,d=t.texts,f=d.acceptAll,p=d.acceptEssentials,h=d.acceptIndividual,v=t.saveButton,b=v.type,m=v.useAcceptAll,g=t.individualTexts.save,y=t.individualPrivacyOpen,k=(t.didGroupFirstChange,t.productionNotice),x=t.buttonClicked,w=void 0===x?"":x,C=(0,c.Ye)((function(){var t=l.split(","),e=t.reduce((function(e,n){return e[n]=t.indexOf(n),e}),{}),n=t.reduce((function(e,n){return e[t.indexOf(n)]=n,e}),{});return o&&(e[n[0]]=1,e[n[1]]=0),e}),[l,o]),S=C.all,A=C.essential,O=C.individual,D=C.save,E=ot(),Z=E.buttonClickedAll,I=E.buttonClickedEssentials,B=E.buttonClickedCustom,T=E.acceptAll,N=E.acceptEssentials,P=E.acceptIndividual,R=E.openIndividualPrivacy,z="change"===e;return Gt(c.HY,null,Gt(jt,{onClick:T,type:a,inlineStyle:"acceptAll",framed:w===Z,busyOnClick:z,order:S},f),"change"!==e&&Gt(jt,{onClick:N,type:r?a:s,inlineStyle:r?"acceptAll":"acceptEssentials",framed:w===I,busyOnClick:z,order:A},p),!!y&&Gt(jt,{onClick:P,type:m?a:b,inlineStyle:m?"acceptAll":"save",framed:w===B,busyOnClick:z,order:D},g),!y&&Gt(jt,{type:u,onClick:R,inlineStyle:"acceptIndividual",framed:w.startsWith("ind_"),busyOnClick:z,order:O},h),k)},Xt=n(7029).h,Vt=function(t){var e,n=t.leftSideContainerRef,r=t.rightSideContainerRef,o=(0,_.S)(),i=o.layout.type,a=o.mobile,s=o.bodyDesign.teachingsSeparatorActive,u=o.tcf,l=o.individualPrivacyOpen,d=o.activeAction,f=o.pageRequestUuid4,p=(0,vt.k)(),h=p.description,v=p.teachings,b="bnnr-body-leftSide-".concat(f),m="bnnr-body-rightSide-".concat(f),g="cntnt-".concat(f);(0,F.G)(" #".concat(b," img {\n max-width: 100%;\n height: auto;\n}\n\n").concat((null===(e=document.getElementById(f))||void 0===e?void 0:e.clientWidth)>700?"":"#".concat(b," {\n float: initial !important;\n width: auto !important;\n padding-right: initial !important;\n ").concat("banner"!==(0,q.D)(a,f,i,"banner")||l?l?"padding-top: 10px !important;":"":"padding-bottom: 10px !important;","\n }\n\n #").concat(g," {\n min-height: calc(var(--rendered-height-header) + var(--rendered-height-footer) + var(--rendered-height-rightSideContainer) + 60px);\n }\n \n #").concat(m," {\n float: initial !important;\n width: auto !important;\n max-width: initial !important;\n margin: initial !important;\n ").concat(l?"padding-bottom: 5px !important;":"padding-top: 10px !important;","\n position: sticky;\n }")));var y=(0,c.Ye)((function(){return Xt(l?Zt:Nt,null)}),[l,u]),k=Xt("div",(0,Y.Z)({ref:n,key:"leftSide",id:b},function(t){var e=t.layout.type,n=t.bodyDesign.padding,r=t.customCss.antiAdBlocker,o=t.mobile,i=t.individualPrivacyOpen,a=t.activeAction,c=t.pageRequestUuid4,s=(0,q.D)(o,c,e,"banner"),u=(0,q.D)(o,c,n);return{className:"y"===r?void 0:"rcb-tb-left",style:{float:"banner"===s&&"history"!==a?"left":void 0,width:"banner"===s&&"history"!==a?"calc(100% - ".concat(300,"px)"):void 0,paddingRight:"banner"===s?20:void 0,paddingTop:+u[0],paddingBottom:"banner"===s||i?+u[2]:0}}}(o)),Xt("div",function(t){var e=t.design.fontSize,n=t.bodyDesign,r=n.descriptionInheritFontSize,o=n.descriptionFontSize,i=t.individualLayout.descriptionTextAlign,a=t.customCss.antiAdBlocker,c=t.mobile,s=t.individualPrivacyOpen,u=t.pageRequestUuid4;return{className:"y"===a?void 0:"rcb-description",style:{lineHeight:1.5,fontSize:(0,q.D)(c,u,r?+e:+o),textAlign:s?i:void 0}}}(o),"history"===d?Xt(Rt,null):Xt(c.HY,null,Xt("span",{dangerouslySetInnerHTML:{__html:h}}),v.length>0&&Xt(c.HY,null,s&&Xt("div",null,Xt("span",(0,zt.V)(o))),v.map((function(t){return Xt("span",(0,Y.Z)({key:t},(0,Lt.W)(o),{dangerouslySetInnerHTML:{__html:t}}))}))))),y),x="history"===d?Xt("div",{ref:r}):Xt("div",(0,Y.Z)({ref:r,key:"rightSide",id:m},function(t){var e,n=t.layout,r=n.type,o=n.dialogMaxWidth,i=t.design,a=i.borderWidth,c=i.bg,s=i.fontColor,u=t.headerDesign,l=t.footerDesign,d=t.bodyDesign.padding,f=t.individualLayout.inheritDialogMaxWidth,p=t.customCss.antiAdBlocker,h=t.mobile,v=t.individualPrivacyOpen,b=t.pageRequestUuid4,m=(0,q.D)(h,b,r,"banner"),g=(0,q.D)(h,b,a),y=(0,q.D)(h,b,d,void 0,!0),k=J(s),x=k.r,w=k.g,C=k.b,S="dialog"===m?+o-y[1]-y[3]-2*g:300;return{className:"y"===p?void 0:"rcb-tb-right",style:(e={background:c,paddingTop:"banner"===m||v?+y[0]:10,paddingBottom:v?10:+y[2],float:"banner"===m||v?"right":void 0,maxWidth:S,width:S,margin:"dialog"===m&&v&&!f?"0 0 10px 10px":void 0,position:v?void 0:"sticky"},(0,V.Z)(e,v?"top":"bottom",v?"calc(var(--rendered-height-header) + ".concat((0,q.D)(h,b,u.borderWidth),"px)"):"calc(var(--rendered-height-footer) + ".concat((0,q.D)(h,b,l.borderWidth),"px)")),(0,V.Z)(e,"zIndex",1),(0,V.Z)(e,"display","flex"),(0,V.Z)(e,"flexWrap","wrap"),(0,V.Z)(e,"transition","box-shadow ease-in-out .1s"),(0,V.Z)(e,"--boxShadowShowScroll","0 -15px 15px -15px rgba(".concat(x,", ").concat(w,", ").concat(C,", 0.3)")),e)}}(o)),Xt(qt,null));return Xt("div",function(t){var e=t.layout.type,n=t.design,r=n.bg,o=n.borderWidth,i=n.borderColor,a=t.bodyDesign.padding,c=t.customCss.antiAdBlocker,s=t.mobile,u=t.pageRequestUuid4,l=(0,q.D)(s,u,o),d={background:r,padding:(0,q.D)(s,u,a).map((function(t,e){return"".concat([0,2].indexOf(e)>-1?0:t,"px")})).join(" "),lineHeight:1.4};return"dialog"===(0,q.D)(s,u,e,"banner")&&l>0&&(d.borderLeft="".concat(l,"px solid ").concat(i),d.borderRight=d.borderLeft),{className:"y"===c?void 0:"rcb-body-container",style:d}}(o),Xt("div",function(t){var e=t.layout,n=e.type,r=e.bannerMaxWidth,o=t.individualLayout,i=t.customCss.antiAdBlocker,a=t.mobile,c=t.individualPrivacyOpen,s=t.pageRequestUuid4;return{className:"y"===i?void 0:"rcb-body",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===(0,q.D)(a,s,n,"banner")?+(c&&!o.inheritBannerMaxWidth?o.bannerMaxWidth:r):void 0,margin:"auto"}}}(o),l?[x,k]:[k,x],Xt("div",{style:{clear:"both"}})))},Jt=n(6092),$t=n(7029).h,Qt=(0,c.Gp)((function(t,e){var n=(0,_.S)(),r=(n.isTcf,n.layout.type),o=(n.individualPrivacyOpen,n.updateIndividualPrivacyOpen,n.onClose),i=(n.i18n.tcf,n.isConsentRecord),a=(0,c.I4)((function(t){o(),t.preventDefault()}),[o]),s=(0,Jt.g)({onClose:i?a:void 0,putPoweredByLinkInRow:"banner"===r?0:1,row1:[!1]}),u=s.rows,l=s.render;return $t("div",(0,Y.Z)({ref:e},function(t){var e=t.layout,n=e.type,r=e.dialogBorderRadius,o=t.design,i=t.footerDesign,a=i.inheritBg,c=i.bg,s=i.inheritTextAlign,u=i.textAlign,l=i.padding,d=i.fontSize,f=i.fontColor,p=i.fontWeight,h=t.customCss.antiAdBlocker,v=t.mobile,b=t.pageRequestUuid4,m=(0,q.D)(v,b,n,"banner"),g=(0,q.D)(v,b,o.borderWidth),y={padding:(0,q.D)(v,b,l,void 0,!0).map((function(t){return"".concat(t,"px")})).join(" "),background:a?o.bg:c,borderRadius:"dialog"===m?"0 0 ".concat(r,"px ").concat(r,"px"):void 0,fontSize:(0,q.D)(v,b,+d),fontWeight:p,color:f,textAlign:s?o.textAlign:u,position:"sticky",bottom:0,zIndex:1};return"dialog"===m&&g>0&&(y.borderBottom="".concat(g,"px solid ").concat(o.borderColor),y.borderLeft=y.borderBottom,y.borderRight=y.borderBottom),{className:"y"===h?void 0:"rcb-footer-container",style:y}}(n)),$t("div",function(t){var e=t.layout,n=e.type,r=e.bannerMaxWidth,o=t.individualLayout,i=t.customCss.antiAdBlocker,a=t.mobile,c=t.pageRequestUuid4,s=t.individualPrivacyOpen;return{className:"y"===i?void 0:"rcb-footer",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===(0,q.D)(a,c,n,"banner")?+(s&&!o.inheritBannerMaxWidth?o.bannerMaxWidth:r):void 0,margin:"auto",lineHeight:1.8}}}(n),l(u)))})),Kt=n(7029).h,te=function(){var t=(0,_.S)(),e=t.layout,n=e.type,r=e.dialogBorderRadius,o=t.decision,i=o.acceptAll,a=o.acceptEssentials,s=o.showCloseIcon,l=t.mobile,d=t.individualPrivacyOpen,f=t.design.bg,p=t.bodyDesign,h=p.teachingsFontColor,v=p.acceptEssentialsUseAcceptAll,b=t.activeAction,m=t.pageRequestUuid4,g="bnnr-body-rightSide-".concat(m),y="cntnt-".concat(m),k=(0,c.sO)(),x=k.current,w=v?i:a,C=!0;!l.hideHeader||b||d||"hide"===w&&s||(C=(0,q.D)(l,m,C,!1));var S=(0,c.eJ)(!1),A=(0,u.Z)(S,2),O=A[0],D=A[1],E=(0,c.I4)((function(){if(x){var t=x.clientHeight,e=x.scrollHeight,n=x.scrollTop,r=x.offsetHeight,o=t<e,i=Math.ceil(n+r)>=e,a=o&&!i&&!d;O!==a&&D(a)}}),[x,d,O]);E(),(0,c.bt)((function(){return x?(x.addEventListener("scroll",E),function(){return x.removeEventListener("scroll",E)}):function(){}}),[x,E]),(0,F.G)(O?"#".concat(g," {box-shadow:var(--boxShadowShowScroll);}"):""),(0,F.G)("Win32"===navigator.platform&&"dialog"===n&&r>0?["#".concat(y,"{overflow:overlay!important;}"),"#".concat(y,"::-webkit-scrollbar{width:11px;}"),"#".concat(y,"{scrollbar-width:thin;scrollbar-color:").concat(h," transparent;}"),"#".concat(y,"::-webkit-scrollbar-track{background:transparent;}"),"#".concat(y,"::-webkit-scrollbar-thumb{background-color:").concat(h,";border-radius:").concat(r,"px;border:3px solid ").concat(f,";}"),"#".concat(y,">div{border-top-right-radius:0!important;border-bottom-right-radius:0!important;}")].join("\n"):"");var Z=(0,c.sO)(),I=(0,c.sO)(),B=(0,c.sO)();return et(Z.current,"header"),et(I.current,"footer"),et(B.current,"rightSideContainer"),Kt("div",(0,Y.Z)({},function(t){var e,n=t.layout.type,r=t.customCss.antiAdBlocker,o=t.decision.showCloseIcon,i=t.activeAction,a=t.individualPrivacyOpen,c=t.mobile,s=t.pageRequestUuid4,u=(null===(e=document.getElementById(s))||void 0===e?void 0:e.clientHeight)||window.innerHeight,l=+c.maxHeight,d=l>u?u:l,f=o||i?51:0;return{className:"y"===r?void 0:"rcb-content",style:{position:"relative",maxHeight:(0,q.D)(c,s,u-("banner"===n?0:20)-f,a?u-f:d-f),overflow:"auto"}}}(t),{ref:k,id:y}),C&&Kt(c.HY,null,Kt(ht,{ref:Z}),Kt("div",function(t){var e=t.layout.type,n=t.design,r=t.headerDesign,o=r.borderWidth,i=r.borderColor,a=t.customCss.antiAdBlocker,c=t.mobile,s=t.pageRequestUuid4,u=(0,q.D)(c,s,n.borderWidth),l={height:(0,q.D)(c,s,+o),background:i,position:"sticky",top:"var(--rendered-height-header)",zIndex:9};return"dialog"===(0,q.D)(c,s,e,"banner")&&u>0&&(l.borderLeft="".concat(u,"px solid ").concat(n.borderColor),l.borderRight=l.borderLeft),{className:"y"===a?void 0:"rcb-header-separator",style:l}}(t))),Kt(Vt,{rightSideContainerRef:B}),Kt("div",function(t){var e=t.layout.type,n=t.design,r=t.footerDesign,o=r.borderWidth,i=r.borderColor,a=t.customCss.antiAdBlocker,c=t.mobile,s=t.pageRequestUuid4,u=(0,q.D)(c,s,n.borderWidth),l={height:(0,q.D)(c,s,+o),background:i,position:"sticky",bottom:"var(--rendered-height-footer)"};return"dialog"===(0,q.D)(c,s,e,"banner")&&u>0&&(l.borderLeft="".concat(u,"px solid ").concat(n.borderColor),l.borderRight=l.borderLeft),{className:"y"===a?void 0:"rcb-footer-separator",style:l}}(t)),Kt(Qt,{ref:I}))},ee=n(7029).h,ne=function(){var t,e,n,r,o,i,a,c,s,l,d,f,p,h,v,b,m,g,y,k,x,w,C,S,A,O,D,E,Z,I,B,T,N,P=(0,_.S)(),R=P.layout,z=R.animationInDuration,L=R.animationOutDuration,H=P.animationVisible,U=W()(P.layout),F=U.useAnimationIn,M=U.useAnimationOut,j=X(F,z),G=(0,u.Z)(j,2),J=G[0],Q=G[1],K=X("none"===M?"fadeOut":M,"none"===M?0:L),et=(0,u.Z)(K,2),nt=et[0],rt=et[1];return ee(tt,(0,Y.Z)({animationIn:J,animationInDuration:Q,animationOut:nt,animationOutDuration:rt,isVisible:H},(n=(e=(t=P).layout).type,r=e.dialogMaxWidth,o=e.dialogPosition,i=e.dialogMargin,a=e.bannerPosition,c=e.dialogBorderRadius,l=(s=t.design).borderWidth,d=s.borderColor,f=s.textAlign,p=s.fontColor,h=s.fontInheritFamily,v=s.fontFamily,b=s.fontWeight,m=s.boxShadowEnabled,g=s.boxShadowOffsetX,y=s.boxShadowOffsetY,k=s.boxShadowBlurRadius,x=s.boxShadowSpreadRadius,w=s.boxShadowColor,C=s.boxShadowColorAlpha,S=t.individualLayout,A=t.customCss.antiAdBlocker,O=t.mobile,D=t.pageRequestUuid4,E=t.individualPrivacyOpen,Z=O.alignment,I=(0,q.D)(O,D,n,"banner"),B=(0,q.D)(O,D,l),T="dialog"===I?+(E&&!S.inheritDialogMaxWidth?S.dialogMaxWidth:r):"100%",N=(0,V.Z)({pointerEvents:"all",transition:"width 500ms, max-width 500ms",maxWidth:T,textAlign:f,width:T,overflow:"hidden",alignSelf:(0,q.D)(O,D,"banner"===I?"top"===a?"flex-start":"flex-end":void 0,"bottom"===Z?"flex-end":"top"===Z?"flex-start":"center"),fontFamily:h?void 0:v,fontWeight:b,color:p,margin:"dialog"===I?10:void 0,borderRadius:"dialog"===I?+c:void 0,boxShadow:m?"".concat(g,"px ").concat(y,"px ").concat(k,"px ").concat(x,"px ").concat($(w,C)):void 0},"banner"===I?"top"===a?"borderBottom":"borderTop":"border","banner"===I&&B>0?"".concat(B,"px solid ").concat(d):void 0),"dialog"===I&&"middleCenter"!==o&&(N.margin=i.map((function(t){return"".concat(t,"px")})).join(" ")),{className:"y"===A?void 0:"rcb-inner",style:N})),ee(te,null))},re=n(7029).h,oe=function(){var t=(0,_.S)(),e=t.layout,n=e.overlay,r=(e.overlayBlur,t.customCss),i=r.antiAdBlocker,s=r.css,l=t.visible,d=t.animationVisible,f=t.activeAction,p=t.skipOverlay,h=t.gotHiddenDueLegal,v=t.pageRequestUuid4,b=t.individualPrivacyOpen,m=R(t),g=l&&!m||!!f;(0,F.G)(i?s:""),(0,F.G)("#".concat(v,", #").concat(v," * {box-sizing: border-box;backface-visibility:initial;text-transform:initial;-webkit-text-size-adjust:100%;}")),function(t){(0,c.d4)((function(){var e=document.body,n=e.dataset,r=e.style;void 0===n.rcbPreviousOverflow&&(n.rcbPreviousOverflow=r.overflow),r.overflow=t?"hidden":n.rcbPreviousOverflow,document.body.parentElement.style.overflow=r.overflow}),[t])}(g&&n&&d);var y,k,x,w,C=(0,c.eJ)(0),S=(0,u.Z)(C,2)[1],A=function(){return S(+new Date)};if((0,c.bt)((function(){return window.addEventListener("resize",A),function(){return window.removeEventListener("resize",A)}}),[]),(0,c.bt)((function(){(0,U.s)(1e3)}),[d,b]),h&&(0,c.d4)((function(){h(m)}),[m]),function(){var t=(0,_.S)(),e=t.consent,n=t.groups,r=t.tcf,i=t.activeAction,s=t.selectHistoryEntry,l=t.fetchHistory,d=(0,c.eJ)({consent:e,groups:n,tcf:r}),f=(0,u.Z)(d,2),p=f[0],h=f[1];(0,c.d4)((function(){i||h({consent:e,groups:n,tcf:r})}),[e,n,r,i]),(0,c.d4)((function(){function t(){return(t=(0,o.Z)(a().mark((function t(){var e,n,r,o,i,c;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,l();case 2:(e=t.sent).length?(n=(0,u.Z)(e,1),r=n[0],o=r.groups,i=r.decision,c=r.tcf,s(o,i,c)):s([],[]);case 4:case"end":return t.stop()}}),t)})))).apply(this,arguments)}if("history"===i)h({consent:e,groups:n,tcf:r}),function(){t.apply(this,arguments)}();else{var c=p.groups,d=p.consent.groups,f=p.tcf;null==s||s(c,d,f)}}),[i])}(),y=(0,_.S)(),k=y.openBanner,x=y.openHistory,w=y.revokeConsent,(0,c.d4)((function(){var t=function(t,e,n){if(k)switch(t){case"change":k(n);break;case"history":x(n);break;case"revoke":w(e,n)}},e=function(e){if(k){var n=e.target;(0,M.w)(n,G).concat((0,j.D)(n,G)?[n]:[]).forEach((function(n){t(n.getAttribute("href").slice(9),n.getAttribute("data-success-message"),e)})),(0,j.D)(n,".rcb-sc-link")&&t(n.getAttribute("href").slice(1),n.getAttribute("data-success-message"),e)}},n=function(){var e=window.location.hash;e.startsWith("#consent-")&&t(e.substring(9),void 0,void 0)};return window.addEventListener("hashchange",n),document.addEventListener("click",e,!0),function(){window.removeEventListener("hashchange",n),document.removeEventListener("click",e,!0)}}),[k,x,w]),!g)return null;var O=re("div",function(t){var e=t.layout,n=e.type,r=e.dialogPosition,o=t.customCss.antiAdBlocker,i=t.mobile,a=t.pageRequestUuid4,c={display:"flex",width:"100%",height:"100%"};return"dialog"===(0,q.D)(i,a,n,"banner")&&(c.alignItems=r.startsWith("top")?"flex-start":r.startsWith("bottom")?"flex-end":"center",c.justifyContent=r.endsWith("Center")?"center":r.endsWith("Left")?"flex-start":"flex-end"),{className:"wp-exclude-emoji ".concat("y"===o?"":"rcb-align"),style:c}}(t),re(ne,null));return p?O:re("div",(0,Y.Z)({id:v},function(t){var e=t.layout,n=e.type,r=e.overlay,o=e.overlayBg,i=e.overlayBgAlpha,a=t.design.fontSize,c=t.customCss.antiAdBlocker,s=t.mobile,u=t.pageRequestUuid4;return{className:"y"===c?void 0:"rcb-bann3r rcb-bann3r-".concat((0,q.D)(s,u,n,"banner")," ").concat(r?"":"overlay-deactivated"),style:{background:r?$(o,i):"none",position:"fixed",top:0,left:0,right:0,bottom:0,zIndex:99999,pointerEvents:r?"all":"none",fontSize:(0,q.D)(s,u,+a),filter:"none"}}}(t)),O)},ie={path:"/consent",method:N.O.GET},ae=n(1100),ce=n(7029).h,se=function(t){var e,n=t.poweredLink,r=(0,l.u)(),i=r.customizeValuesBanner,p=i.layout,h=i.decision,v=i.legal,b=i.design,m=i.headerDesign,g=i.bodyDesign,k=i.footerDesign,C=i.texts,S=i.individualLayout,O=i.saveButton,D=i.group,Z=i.individualTexts,N=i.customCss,Y=i.mobile,U=r.pageId,F=r.pageRequestUuid4,M=r.pageIdToPermalink,j=r.consentForwardingExternalHosts,G=r.essentialGroup,q=r.isTcf,X=r.isEPrivacyUSA,V=r.isAgeNotice,J=r.isListServicesNotice,$=r.tcf,Q=r.tcfMetadata,K=r.groups,tt=r.userConsentCookieName,et=r.bannerI18n,nt=r.affiliate,rt=r.isCurrentlyInTranslationEditorPreview,ot=r.pageByIdUrl,it=(0,w.h)(tt),at=function(t,e,n){return(0,c.Ye)((function(){}),[t,e,n])}(q,$,Q),ct=function(t){var e=W(),n=(0,c.I4)((function(n,r){var o=n.layout,i=o.animationInDuration,a=o.animationOutDuration,c=e(o),u=c.useAnimationIn,l=c.useAnimationOut,d=r?"none"===u?0:i:"none"===l?0:a;d>0&&(t.style.transition="background ".concat(d,"ms")),t.style.background="transparent",r?(setTimeout((function(){t.style.display="block"}),0),setTimeout((function(){var e=t.getAttribute("data-bg");t.style.background=e?e.split(":")[1].trim().replace(";",""):"transparent"}),100)):setTimeout((function(){t.style.display="none"}),d);var f={animationVisible:r};return r?(0,s.Z)({visible:!0},f):f}),[e]);return{overlay:t,toggleOverlay:n}}(document.getElementById(F)),st=ct.toggleOverlay,ut=function(t){var e=t.toggleOverlay,n=t.revokeConsent,r=function(t,n){return t((function(t){return(0,s.Z)((0,s.Z)({},t),{},{activeAction:n,individualPrivacyOpen:!0,refreshSiteAfterSave:"change"===n&&2e3},e(t,!0))}))};return{openHistory:function(t){r(t,"history"),H(arguments.length<=1?void 0:arguments[1])},openBanner:function(t){r(t,"change"),H(arguments.length<=1?void 0:arguments[1])},revokeConsent:function(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),o=1;o<e;o++)r[o-1]=arguments[o];var i=r[0],a=r[1];t((function(t){return n(t).then((function(){i&&alert(i),setTimeout((function(){return window.location.reload()}),2e3)})),t})),H(a)},updateTcfFilterBy:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];var o=n[0];t((function(t){return(0,s.Z)((0,s.Z)({},t),{},{tcfFilterBy:o})}))},updateIndividualPrivacyOpen:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];var o=n[0];t((function(t){return(0,s.Z)((0,s.Z)({},t),{},{individualPrivacyOpen:o})}))},updateGroupChecked:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];var o=n[0],i=n[1];t((function(t){var e=JSON.parse(JSON.stringify(t.consent));return i?e.groups[o]=t.groups.filter((function(t){return t.id===o}))[0].items.map((function(t){return t.id})):delete e.groups[o],(0,s.Z)((0,s.Z)({},t),{},{consent:e,didGroupFirstChange:!0})}))},updateCookieChecked:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];var o=n[0],i=n[1],a=n[2];t((function(t){var e=JSON.parse(JSON.stringify(t.consent));e.groups[o]||(e.groups[o]=[]);var n=e.groups[o],r=n.indexOf(i);return a&&-1===r?n.push(i):!a&&r>-1&&n.splice(r,1),n.length||delete e.groups[o],(0,s.Z)((0,s.Z)({},t),{},{consent:e})}))},onClose:function(t){t((function(t){return(0,s.Z)((0,s.Z)((0,s.Z)({},t),e(t,!1)),{},{refreshSiteAfterSave:!1})}))},selectHistoryEntry:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];var o=n[0],i=n[1],a=n[2];t((function(t){var e={isTcf:!!a,tcf:null};return(0,s.Z)((0,s.Z)({},t),{},{groups:o,consent:(0,s.Z)((0,s.Z)({},t.consent),{},{groups:i})},e)}))}}}({toggleOverlay:st,revokeConsent:function(t){return t.tcf,(0,z.$)({consent:{groups:(0,f.b)().getDefaultDecision(!0)},buttonClicked:"shortcode_revoke",tcfString:void 0})}}),lt=ut.openHistory,dt=ut.openBanner,ft=ut.revokeConsent,pt=ut.updateTcfFilterBy,ht=ut.updateIndividualPrivacyOpen,vt=ut.updateGroupChecked,bt=ut.updateCookieChecked,mt=ut.onClose,gt=ut.selectHistoryEntry,yt=(0,c.eJ)({layout:(0,s.Z)({},p),decision:(0,s.Z)({},h),legal:(0,s.Z)({},v),design:(0,s.Z)({},b),headerDesign:(0,s.Z)({},m),bodyDesign:(0,s.Z)({},g),footerDesign:(0,s.Z)({},k),texts:(0,s.Z)({},C),individualLayout:(0,s.Z)({},S),saveButton:(0,s.Z)({},O),group:(0,s.Z)({},D),individualTexts:(0,s.Z)({},Z),customCss:(0,s.Z)({},N),mobile:(0,s.Z)({},Y),productionNotice:ce(ae.Z,null),pageRequestUuid4:F,pageIdToPermalink:M,pageByIdUrl:ot,consentForwardingExternalHosts:j,pageId:U,isTcf:q,ePrivacyUSA:X,ageNotice:V,listServicesNotice:J,tcf:at,tcfFilterBy:"legInt",groups:K,essentialGroup:G,poweredLink:n,visible:!1,animationVisible:!0,skipOverlay:!0,previewCheckboxActiveState:!1,individualPrivacyOpen:!1,i18n:et,keepVariablesInTexts:rt,affiliate:nt,consent:{groups:(0,s.Z)((0,s.Z)({},!1===it?{}:it.consent),(0,f.b)().getDefaultDecision(!1===it))},didGroupFirstChange:!1,onSave:function(t,e){wt((function(n){var r=(0,z.$)({consent:n.consent,markAsDoNotTrack:t,buttonClicked:e,tcfString:void 0});return n.refreshSiteAfterSave?(r.then((function(){return setTimeout((function(){return window.location.reload()}),n.refreshSiteAfterSave||2e3)})),n):(0,s.Z)((0,s.Z)({},n),st(n,!1))}))},fetchHistory:(e=(0,o.Z)(a().mark((function t(){var e,n,r,o,i,c;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=(0,d.m)(),n=e.restNamespace,r=e.restRoot,o=e.restQuery,i=e.restNonce,t.next=3,(0,T.D)({location:ie,options:{restNamespace:n,restRoot:r,restQuery:o,restNonce:i},sendRestNonce:!1});case 3:return c=t.sent,wt((function(t){return(0,s.Z)((0,s.Z)({},t),{},{history:c})})),t.abrupt("return",c);case 6:case"end":return t.stop()}}),t)}))),function(){return e.apply(this,arguments)}),updateTcfFilterBy:function(t){return pt(wt,t)},updateIndividualPrivacyOpen:function(t){return ht(wt,t)},updateGroupChecked:function(t,e){return vt(wt,t,e)},updateCookieChecked:function(t,e,n){return bt(wt,t,e,n)},onClose:function(){return mt(wt)},selectHistoryEntry:function(t,e,n){return gt(wt,t,e,n)},openHistory:function(t){return lt(wt,t)},openBanner:function(t){return dt(wt,t)},revokeConsent:function(t,e){return ft(wt,t,e)}}),kt=(0,u.Z)(yt,2),xt=kt[0],wt=kt[1];(function(t,e,n){(0,c.d4)((function(){if(!(0,l.u)().customizeIdsBanner){var r,i,c,u=(0,d.m)(),p=u.restNamespace,h=u.restRoot,v=u.restQuery,b=u.restNonce,m=u.others,g=m.isAcceptAllForBots,k=m.isPreventPreDecision,C=m.hasDynamicPreDecisions,S=m.isRespectDoNotTrack,O=t.onSave;!function(t,e){y.apply(this,arguments)}((0,f.b)(),{gateways:[x,(c=["login-action-"],(0,o.Z)(a().mark((function t(){var e;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=document.body.className,t.abrupt("return",c.filter((function(t){return e.indexOf(t)>-1})).length>0&&"consent");case 2:case"end":return t.stop()}}),t)})))),E((function(){var t=document.documentElement,e=t.clientWidth,n=t.clientHeight;return(0,T.D)({location:P,options:{restNamespace:p,restRoot:h,restQuery:v,restNonce:b},sendRestNonce:!1,request:{viewPortWidth:e,viewPortHeight:n},params:{_wp_http_referer:window.location.href}})}),1e4,C),function(){var t=(0,o.Z)(a().mark((function t(e,n){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",!!R(n)&&"consent");case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}(),(i=k,function(){var t=(0,o.Z)(a().mark((function t(e){var n,r;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.decisionCookieName,r=(0,w.h)(n),t.abrupt("return",!(!i||!1!==r)&&(A()?"all":"consent"));case 3:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),(r=!!g&&"all",function(){var t=(0,o.Z)(a().mark((function t(e){var n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.decisionCookieName,!1===(0,w.h)(n)&&r){t.next=3;break}return t.abrupt("return",!1);case 3:return t.abrupt("return",!!A()&&r);case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),I(S),B],args:[t],onIsDoNotTrack:function(){O(!0,"none")},onShowCookieBanner:function(){return e((function(t){return(0,s.Z)((0,s.Z)({},t),{},{consent:{groups:(0,f.b)().getDefaultDecision()}},n(t,!0))}))}})}}),[])})(xt,wt,st),function(t,e){(0,c.d4)((function(){var n=function(){var n=(0,w.h)(e);n&&t((function(t){return(0,s.Z)((0,s.Z)({},t),{},{consent:{groups:n.consent}})}))};return document.addEventListener(L.V,n),function(){document.removeEventListener(L.V,n)}}),[])}(wt,tt);var Ct=_.k.Context();return ce(Ct.Provider,{value:xt},ce(oe,null))},ue=n(6346),le=n(3102),de=n(9575),fe=n(55).default;function pe(t){return he.apply(this,arguments)}function he(){return he=(0,o.Z)(a().mark((function t(e){var n,r,o,i=arguments;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=i.length>1&&void 0!==i[1]?i[1]:500,r=i.length>2&&void 0!==i[2]?i[2]:0,o=0;case 3:if(e()){t.next=11;break}if(!(r>0&&o>=r)){t.next=6;break}return t.abrupt("return",void 0);case 6:return t.next=8,new fe((function(t){return setTimeout(t,n)}));case 8:o++,t.next=3;break;case 11:return t.abrupt("return",e());case 12:case"end":return t.stop()}}),t)}))),he.apply(this,arguments)}var ve=0,be={path:"/consent/clear",method:N.O.DELETE},me=n(9302),ge=n(1456),ye=n(1829);function ke(t,e,n){var r,o=[],i=(0,l.u)(),a=i.groups,c=i.revisionHash,s=a.map((function(t){return t.items})).flat(),u=(0,h.Z)(s);try{for(u.s();!(r=u.n()).done;){var d=r.value;if("number"==typeof t)d.id===t&&o.push({cookie:d,relevance:10});else{var f=d.technicalDefinitions;if(null!=f&&f.length){var p,v=(0,h.Z)(f);try{for(v.s();!(p=v.n()).done;){var b=p.value,m=(0,ye.L)(b.name);if(b.type===t&&(b.name===e||e.match(m))&&(b.host===n||"*"===n)){o.push({cookie:d,relevance:f.length+f.indexOf(b)+1});break}}}catch(t){v.e(t)}finally{v.f()}}}}}catch(t){u.e(t)}finally{u.f()}var g=(0,w.h)((0,l.u)().userConsentCookieName);if(o.length){var y=o.sort((function(t,e){return t.relevance-e.relevance}))[0].cookie;return g&&c===g.revision?Object.values(g.consent).flat().indexOf(y.id)>-1?{cookie:y,consentGiven:!0,cookieOptIn:!0}:{cookie:y,consentGiven:!0,cookieOptIn:!1}:{cookie:y,consentGiven:!1,cookieOptIn:!1}}return{cookie:null,consentGiven:!!g,cookieOptIn:!0}}var xe=n(55).default;function we(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return new xe((function(t,n){var r=ke.apply(void 0,e),i=r.cookie,c=r.consentGiven,s=r.cookieOptIn;i?c?s?t():n():(document.addEventListener(de.g,function(){var e=(0,o.Z)(a().mark((function e(n){return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n.detail.cookie===i&&t();case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),document.addEventListener(ge.E,function(){var t=(0,o.Z)(a().mark((function t(e){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e.detail.cookie===i&&n();case 2:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())):t()}))}var Ce=n(55).default;function Se(t){return Ce.all(t.map((function(t){return we.apply(void 0,(0,p.Z)(t))})))}var Ae=n(4312),Oe=n(5672),De=n(7029).h;n.p=(0,Ae.sE)({NODE_ENV:"production",env:"production",rootSlug:"devowl-wp",slug:"real-cookie-banner",PLUGIN_CTX:"lite",ANTD_PREFIX:"rcb-antd",IS_TCF:"0",TCF_CMP_ID:367}),document.addEventListener(de.g,function(){var t=(0,o.Z)(a().mark((function t(e){var n,r,i,c,s,u,l,d;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=e.detail.cookie,r=n.presetId,i=n.codeOptIn,c=n.codeDynamics,t.t0=r,t.next="amazon-associates-widget"===t.t0?4:"google-maps"===t.t0?16:18;break;case 4:if(!(s=(c||{}).amznAssoWidgetHtmlId)){t.next=15;break}if(!(u=document.getElementById(s))){t.next=15;break}return l=ve,ve++,(0,ue.K)(i,c,u),t.next=13,pe((function(){return document.querySelector('[id^="amzn_assoc_ad_div_"][id$="'.concat(l,'"]'))}),500,50);case 13:(d=t.sent)&&u.appendChild(d);case 15:return t.abrupt("break",19);case 16:return document.addEventListener(le.T,function(){var t=(0,o.Z)(a().mark((function t(e){var n,r,o,i;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.detail.element,r=window,o=r.et_pb_map_init,!((i=r.jQuery)&&n.matches(".et_pb_map")&&o)){t.next=6;break}return t.next=5,pe((function(){return window.google}));case 5:o(i(n).parent());case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),t.abrupt("break",19);case 18:return t.abrupt("break",19);case 19:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),(0,l.u)().isTcf,(0,g.C)((function(){var t,e,n=(0,l.u)().pageRequestUuid4,r=(0,Oe.U)(n),i=function(t){var e=document.body;return t.parentElement!==e&&e.appendChild(t),t}(document.getElementById(n));t=(0,f.b)(),e=Array.prototype.slice.call(document.querySelectorAll(".rcb-consent-history-uuids")),document.addEventListener(m.I,(function(){e.forEach((function(t){return t.innerHTML=t.getAttribute("data-fallback")}))})),document.addEventListener(L.V,(function(){var n=(0,w.h)(t instanceof v.G?t.getOption("decisionCookieName"):t),r=n?[n.uuid].concat((0,p.Z)(n.previousUuids)):[];e.forEach((function(t){return t.innerHTML=r.length>0?r.join(", "):t.getAttribute("data-fallback")}))})),document.addEventListener(ge.E,function(){var t=(0,o.Z)(a().mark((function t(e){var n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:(n=e.detail.deleteHttpCookies).length&&setTimeout((function(){return t=n,r=(e=(0,d.m)()).restNamespace,o=e.restRoot,i=e.restQuery,a=e.restNonce,(0,T.D)({location:be,options:{restNamespace:r,restRoot:o,restQuery:i,restNonce:a},sendRestNonce:!1,params:{cookies:t.join(",")}});var t,e,r,o,i,a}),0);case 2:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),i&&(0,c.sY)(De(se,{poweredLink:r}),i)}),"interactive"),window&&(window.consentApi=r)},1100:function(t,e,n){"use strict";n.d(e,{Z:function(){return i}});var r=n(3438),o=n(7029).h,i=function(){var t=(0,r.u)(),e=t.isPro,n=t.isLicensed,i=t.isDevLicense,a=t.bannerI18n,c=a.noLicense,s=a.devLicense;if(!e)return null;var u="";return i?u=s:n||(u=c),u?o("div",{style:{fontSize:13,color:"#c95252",fontWeight:"bold",order:9}},u):null}},6423:function(t,e,n){"use strict";n.d(e,{$:function(){return m}});var r=n(2711),o=n(7938),i=n(5450),a=n.n(i),c={path:"/consent",method:n(6811).O.POST},s=n(625),u=n(38),l=n(3438),d=n(9448).default,f=n(55).default;function p(t){var e=t.endpoints,n=t.data;if((0,l.u)().isPro){var r,o=[],i=(0,u.Z)(e);try{for(i.s();!(r=i.n()).done;){var a=r.value;o.push(d(a,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(n)}))}}catch(t){i.e(t)}finally{i.f()}return f.all(o)}return f.reject()}var h=n(6886),v=n(3075),b=n(55).default;function m(t){return g.apply(this,arguments)}function g(){return(g=(0,o.Z)(a().mark((function t(e){var n,o,i,u,l,d,f,m,g,y,k,x,w,C,S,A,O,D,E,Z,I;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.consent,o=e.markAsDoNotTrack,i=void 0!==o&&o,u=e.buttonClicked,l=e.blocker,d=void 0===l?0:l,f=e.blockerThumbnail,m=e.tcfString,g=document.documentElement,y=g.clientWidth,k=g.clientHeight,x=(0,s.m)(),w=x.restNamespace,C=x.restRoot,S=x.restQuery,A=x.restNonce,t.next=5,(0,v.D)({location:c,options:{restNamespace:w,restRoot:C,restQuery:S,restNonce:A},sendRestNonce:!1,request:(0,r.Z)((0,r.Z)({},n),{},{markAsDoNotTrack:i,buttonClicked:u,viewPortWidth:y,viewPortHeight:k,blocker:d,blockerThumbnail:f,tcfString:m}),params:{_wp_http_referer:window.location.href}});case 5:return O=t.sent,D=O.forward,E=O.uuid,Z=O.cookie_revision,I=O.decision_in_cookie,window.rcbDisabledCookieComp={uuid:E,previousUuids:[],revision:Z,consent:I},t.next=13,b.all([D&&p(D),(0,h.b)().applyCookies({type:"consent"})].filter(Boolean));case 13:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},6886:function(t,e,n){"use strict";n.d(e,{b:function(){return a}});var r=n(8218),o=n(625),i=n(3438);function a(){var t,e=(0,i.u)(),n=e.userConsentCookieName,a=e.revisionHash,c=e.setCookiesViaManager,s=e.groups,u=e.essentialGroup;return window.rcbConsentManager||(window.rcbConsentManager=new r.G({decisionCookieName:n,essentialGroupSlug:u,groups:s,revisionHash:a,supportsCookiesName:"real_cookie_banner-test",tagManager:c,skipOptIn:function(t){var e=t.presetId;return["amazon-associates-widget"].indexOf(e)>-1},cmpId:367,cmpVersion:("major",t=(0,o.m)().version.split("."),+t[0]),tcfCookieName:"".concat(n,"-tcf")})),window.rcbConsentManager}},625:function(t,e,n){"use strict";function r(){return window["real-cookie-banner".replace(/-([a-z])/g,(function(t){return t[1].toUpperCase()}))]}n.d(e,{m:function(){return r}})},3438:function(t,e,n){"use strict";n.d(e,{u:function(){return o}});var r=n(625);function o(){return(0,r.m)().others}},6652:function(){String.prototype.startsWith||(String.prototype.startsWith=function(t,e){return e=e||0,this.indexOf(t,e)===e}),String.prototype.endsWith||(String.prototype.endsWith=function(t,e){var n=this.toString();("number"!=typeof e||!isFinite(e)||Math.floor(e)!==e||e>n.length)&&(e=n.length),e-=t.length;var r=n.indexOf(t,e);return-1!==r&&r===e}),null==Element.prototype.getAttributeNames&&(Element.prototype.getAttributeNames=function(){for(var t=this.attributes,e=t.length,n=new Array(e),r=0;r<e;r++)n[r]=t[r].name;return n}),"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}),Object.values=Object.values?Object.values:function(t){var e=Object.prototype.toString.call(t);if(null==t)throw new TypeError("Cannot convert undefined or null to object");if(~["[object String]","[object Object]","[object Array]","[object Function]"].indexOf(e)){if(Object.keys)return Object.keys(t).map((function(e){return t[e]}));var n=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&n.push(t[r]);return n}return[]},"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var r=e[0];if(null==r)throw new TypeError("Cannot convert undefined or null to object");for(var o=Object(r),i=1;i<e.length;i++){var a=e[i];if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(o[c]=a[c])}return o},writable:!0,configurable:!0}),[Element.prototype,CharacterData.prototype,DocumentType.prototype].forEach((function(t){t.hasOwnProperty("remove")||Object.defineProperty(t,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){this.parentNode.removeChild(this)}})}))},3428:function(t){"use strict";t.exports="/*! Hint.css - v2.7.0 - 2021-10-01\n* https://kushagra.dev/lab/hint/\n* Copyright (c) 2021 Kushagra Gour */\n\n[class*=hint--]{position:relative;display:inline-block}[class*=hint--]:after,[class*=hint--]:before{position:absolute;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;-webkit-transition:.3s ease;-moz-transition:.3s ease;transition:.3s ease;-webkit-transition-delay:0s;-moz-transition-delay:0s;transition-delay:0s}[class*=hint--]:hover:after,[class*=hint--]:hover:before{visibility:visible;opacity:1;-webkit-transition-delay:.1s;-moz-transition-delay:.1s;transition-delay:.1s}[class*=hint--]:before{content:'';position:absolute;background:0 0;border:6px solid transparent;z-index:1000001}[class*=hint--]:after{background:#383838;color:#fff;padding:8px 10px;font-size:12px;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;line-height:12px;white-space:nowrap;text-shadow:0 -1px 0 #000;box-shadow:4px 4px 8px rgba(0,0,0,.3)}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label='']:after,[aria-label='']:before,[data-hint='']:after,[data-hint='']:before{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#383838}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#383838}.hint--top:after,.hint--top:before{bottom:100%;left:50%}.hint--top:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}.hint--top:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--top:hover:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}.hint--bottom:after,.hint--bottom:before{top:100%;left:50%}.hint--bottom:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}.hint--bottom:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom:hover:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}.hint--right:before{border-right-color:#383838;margin-left:-11px;margin-bottom:-6px}.hint--right:after{margin-bottom:-14px}.hint--right:after,.hint--right:before{left:100%;bottom:50%}.hint--right:hover:after,.hint--right:hover:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--left:before{border-left-color:#383838;margin-right:-11px;margin-bottom:-6px}.hint--left:after{margin-bottom:-14px}.hint--left:after,.hint--left:before{right:100%;bottom:50%}.hint--left:hover:after,.hint--left:hover:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--top-left:after,.hint--top-left:before{bottom:100%;left:50%}.hint--top-left:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--top-left:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--top-left:hover:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}.hint--top-right:after,.hint--top-right:before{bottom:100%;left:50%}.hint--top-right:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--top-right:hover:after,.hint--top-right:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--bottom-left:after,.hint--bottom-left:before{top:100%;left:50%}.hint--bottom-left:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--bottom-left:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom-left:hover:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--bottom-right:after,.hint--bottom-right:before{top:100%;left:50%}.hint--bottom-right:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--bottom-right:hover:after,.hint--bottom-right:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--large:after,.hint--medium:after,.hint--small:after{white-space:normal;line-height:1.4em;word-wrap:break-word}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}.hint--error:after{background-color:#b34e4d;text-shadow:0 -1px 0 #592726}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{background-color:#c09854;text-shadow:0 -1px 0 #6c5328}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{background-color:#3986ac;text-shadow:0 -1px 0 #1a3c4d}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{background-color:#458746;text-shadow:0 -1px 0 #1a321a}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--top:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}.hint--always.hint--top-left:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--top-left:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}.hint--always.hint--top-right:after,.hint--always.hint--top-right:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--bottom:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--bottom:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}.hint--always.hint--bottom-left:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--bottom-left:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--always.hint--bottom-right:after,.hint--always.hint--bottom-right:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--left:after,.hint--always.hint--left:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--always.hint--right:after,.hint--always.hint--right:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:after,.hint--no-animate:before{-webkit-transition-duration:0s;-moz-transition-duration:0s;transition-duration:0s}.hint--bounce:after,.hint--bounce:before{-webkit-transition:opacity .3s ease,visibility .3s ease,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s ease,visibility .3s ease,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s ease,visibility .3s ease,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:after,.hint--no-shadow:before{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}"}},n={};function r(t){var o=n[t];if(void 0!==o)return o.exports;var i=n[t]={exports:{}};return e[t].call(i.exports,i,i.exports,r),i.exports}r.m=e,t=[],r.O=function(e,n,o,i){if(!n){var a=1/0;for(l=0;l<t.length;l++){n=t[l][0],o=t[l][1],i=t[l][2];for(var c=!0,s=0;s<n.length;s++)(!1&i||a>=i)&&Object.keys(r.O).every((function(t){return r.O[t](n[s])}))?n.splice(s--,1):(c=!1,i<a&&(a=i));if(c){t.splice(l--,1);var u=o();void 0!==u&&(e=u)}}return e}i=i||0;for(var l=t.length;l>0&&t[l-1][2]>i;l--)t[l]=t[l-1];t[l]=[n,o,i]},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},function(){var t;r.g.importScripts&&(t=r.g.location+"");var e=r.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");n.length&&(t=n[n.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=t}(),function(){var t={392:0};r.O.j=function(e){return 0===t[e]};var e=function(e,n){var o,i,a=n[0],c=n[1],s=n[2],u=0;if(a.some((function(e){return 0!==t[e]}))){for(o in c)r.o(c,o)&&(r.m[o]=c[o]);if(s)var l=s(r)}for(e&&e(n);u<a.length;u++)i=a[u],r.o(t,i)&&t[i]&&t[i][0](),t[a[u]]=0;return r.O(l)},n=self.webpackChunkrealCookieBanner_name_=self.webpackChunkrealCookieBanner_name_||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))}(),r.O(void 0,[568],(function(){return r(6652)}));var o=r.O(void 0,[568],(function(){return r(4584)}));o=r.O(o),realCookieBanner_banner=o}();
2
  //# sourceMappingURL=banner.lite.js.map
public/dist/banner.lite.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"banner.lite.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/getServiceSelection.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/getManagerDependingVariables.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/optIn.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/optInOutManager.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/deleteCookiesLocally.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/optOut.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/apply.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/getDefaultDecision.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/manager.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/getUserDecision.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/getCookie.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/explode.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/bannerPredecisionShow.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optIn.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optInAll.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optOut.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/ready.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/regExpPatternFromWildcardName.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/pregQuote.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/supportsCookies.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/dom/applyDynamicsToHtml.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/dom/htmlAttributes.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/dom/putHtmlCodeToDom.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/events/optInContentBlocker.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/dispatchResizeEvent.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/htmlDecode.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/isUrl.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/parents.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/asciiSpinner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/groups/cookieProperty.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/cookieProperty.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/groups/cookiePropertyList.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/groups/cookie.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/cookie.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/plainAntdIconAsSvg.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/tooltip.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/contexts/banner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/contexts/blocker.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/footer/link.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/footer/link.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/footer/poweredByLink.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/jsxJoin.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/common/useCommonFooterLink.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/common/useCommonTeachings.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useBannerOrBlocker.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useLegalLinks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/usePlainCss.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/body/teaching.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/body/teachingSeparator.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/checkbox.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/linkMore.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/header/headline.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/scale.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/others/getSsrPoweredByLink.tsx","webpack:///../../frontend-packages/resolve-none-computed-style/src/matchingSelector.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/commonUrlBuilder.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/nonceDeprecationPool.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/parseResult.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/commonRequest.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/routeHttpVerbEnum.tsx","webpack:///../../wordpress-packages/utils/lib/helpers.tsx","webpack:///./src/public/ts/api/unblock.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/gateway.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/supportsCookies.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/isCrawler.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/promiseTimeout.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/dynamicRequest.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/isDoNotTrack.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/isDoNotTrack.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/userConsent.tsx","webpack:///./src/public/ts/wp-api/consentDynamicPredecision.get.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/others/isHiddenDueLegal.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerAnimation.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/index.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerStateContextCallbacks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerActionLinks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useResettableAnimation.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/hexToRgb.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/calculateRgba.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/animateCss.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useRenderedHeightsAsCssVars.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerButtonCallbacks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/portal.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/closeIcon.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/header/closeIcon.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/header/header.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/container.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/header.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/logo.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/sectionTitle.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/title.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/description.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/cookie.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/group.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/group.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/list.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/groups.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/dottedGroup.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/dottedGroupItem.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/dottedGroupBullet.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/dottedGroupList.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/dottedGroups.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/historySelect.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/historySelect.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/historySelectOption.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/common.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/acceptEssentials.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/acceptIndividual.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/save.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/acceptAll.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/button.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/isIE.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/ellipsesText.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/buttonList.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/body.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/leftSide.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/description.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/rightSide.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/container.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/body.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/footer/footer.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/footer/container.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/footer/footer.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/content.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/content/content.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/separator.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/footer/separator.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/animatedContent.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/content/inner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/banner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useRestrictScrollWhenVisible.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerHistory.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/overlay/alignment.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/overlay/overlay.tsx","webpack:///./src/public/ts/wp-api/consent.get.tsx","webpack:///./src/public/ts/components/websiteBanner.tsx","webpack:///./src/public/ts/hooks/useTcf.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerToggleOverlay.tsx","webpack:///./src/public/ts/hooks/useBannerPreDecisionGateway.tsx","webpack:///./src/public/ts/utils/isCustomize.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/isCrawler.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/isPreventPreDecision.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/hasPageClass.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerConsentListener.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/waitObject.tsx","webpack:///./src/public/ts/others/comp/listenPresetOptIn.tsx","webpack:///./src/public/ts/wp-api/consentClear.delete.tsx","webpack:///./src/public/ts/api/consentSync.tsx","webpack:///./src/public/ts/api/consent.tsx","webpack:///./src/public/ts/api/consentAll.tsx","webpack:///./src/public/ts/banner.tsx","webpack:///./src/public/ts/tcf/cmpApi.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/printConsentUuidsToHTMLElement.tsx","webpack:///./src/public/ts/utils/ensureBodyElement.tsx","webpack:///./src/public/ts/others/deleteCookiesServer.tsx","webpack:///./src/public/ts/components/bannerProductionNotice.tsx","webpack:///./src/public/ts/wp-api/consent.post.tsx","webpack:///./src/public/ts/others/applyConsentForwarding.tsx","webpack:///./src/public/ts/others/applyConsent.tsx","webpack:///./src/public/ts/others/getCookieConsentManager.tsx","webpack:///./src/public/ts/utils/getCmpVersion.tsx","webpack:///./src/public/ts/utils/getOptionsFromWindow.tsx","webpack:///./src/public/ts/utils/getOtherOptionsFromWindow.tsx","webpack:///./src/public/ts/utils/polyfill.tsx","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \".\";\n\n/**\n * Read the selected groups + cookies depending on the passed type.\n */\nfunction getServiceSelection(_ref) {\n var decisionCookieName = _ref.decisionCookieName,\n tagManager = _ref.tagManager,\n groups = _ref.groups,\n essentialGroupSlug = _ref.essentialGroupSlug,\n type = _ref.type;\n var selectedGroups;\n var isManagerActive = tagManager !== \"none\";\n\n var _groups$filter = groups.filter(function (_ref2) {\n var slug = _ref2.slug;\n return slug === essentialGroupSlug;\n }),\n _groups$filter2 = _slicedToArray(_groups$filter, 1),\n essentialGroupObj = _groups$filter2[0];\n\n var consentEssentials = _defineProperty({}, essentialGroupObj.id, essentialGroupObj.items.map(function (_ref3) {\n var id = _ref3.id;\n return id;\n })); // Read current consent\n\n\n if (type === \"consent\") {\n var decision = getUserDecision(decisionCookieName);\n\n if (decision !== false) {\n selectedGroups = decision.consent;\n } else {\n console.warn(\"Something went wrong while reading the cookie, fallback to essentials only...\");\n selectedGroups = consentEssentials;\n }\n }\n\n if (type === \"essentials\") {\n selectedGroups = consentEssentials;\n }\n\n return {\n isManagerActive: isManagerActive,\n selectedGroups: selectedGroups,\n iterateCookies: function () {\n var _iterateCookies = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(callback) {\n var _iterator, _step, _group, _iterator2, _step2, _selectedGroups$_grou, _cookie, _isOptIn;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _iterator = _createForOfIteratorHelper(groups);\n _context.prev = 1;\n\n _iterator.s();\n\n case 3:\n if ((_step = _iterator.n()).done) {\n _context.next = 25;\n break;\n }\n\n _group = _step.value;\n _iterator2 = _createForOfIteratorHelper(_group.items);\n _context.prev = 6;\n\n _iterator2.s();\n\n case 8:\n if ((_step2 = _iterator2.n()).done) {\n _context.next = 15;\n break;\n }\n\n _cookie = _step2.value;\n _isOptIn = type === \"all\" || ((_selectedGroups$_grou = selectedGroups[_group.id]) === null || _selectedGroups$_grou === void 0 ? void 0 : _selectedGroups$_grou.indexOf(_cookie.id)) > -1;\n _context.next = 13;\n return callback(_group, _cookie, _isOptIn);\n\n case 13:\n _context.next = 8;\n break;\n\n case 15:\n _context.next = 20;\n break;\n\n case 17:\n _context.prev = 17;\n _context.t0 = _context[\"catch\"](6);\n\n _iterator2.e(_context.t0);\n\n case 20:\n _context.prev = 20;\n\n _iterator2.f();\n\n return _context.finish(20);\n\n case 23:\n _context.next = 3;\n break;\n\n case 25:\n _context.next = 30;\n break;\n\n case 27:\n _context.prev = 27;\n _context.t1 = _context[\"catch\"](1);\n\n _iterator.e(_context.t1);\n\n case 30:\n _context.prev = 30;\n\n _iterator.f();\n\n return _context.finish(30);\n\n case 33:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 27, 30, 33], [6, 17, 20, 23]]);\n }));\n\n function iterateCookies(_x) {\n return _iterateCookies.apply(this, arguments);\n }\n\n return iterateCookies;\n }()\n };\n}\n\nexport { getServiceSelection };","function getManagerDependingVariables(isManagerActive, setCookiesViaManager) {\n var useVariableNameCamel;\n var useVariableNamePascal;\n var useGlobalObjectName;\n\n if (isManagerActive) {\n useVariableNameCamel = setCookiesViaManager;\n useVariableNamePascal = useVariableNameCamel.charAt(0).toUpperCase() + useVariableNameCamel.slice(1);\n var isGtm = setCookiesViaManager === \"googleTagManager\"; // const isMtm = setCookiesViaManager === \"matomoTagManager\"; // This variable is not yet needed, because we only have 2 managers\n\n useGlobalObjectName = isGtm ? \"dataLayer\" : \"_mtm\";\n }\n\n return {\n useVariableNameCamel: useVariableNameCamel,\n useVariableNamePascal: useVariableNamePascal,\n useGlobalObjectName: useGlobalObjectName\n };\n}\n\nexport { getManagerDependingVariables };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getServiceSelection } from \"../decision\";\nimport { OPT_IN_EVENT } from \"../events\";\nimport { getManagerDependingVariables } from \".\";\n\n/**\n * Opt-in to a set of cookies.\n */\nfunction applyOptIn(_x) {\n return _applyOptIn.apply(this, arguments);\n}\n\nfunction _applyOptIn() {\n _applyOptIn = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(options) {\n var allOptInCookies, _getServiceSelection, isManagerActive, iterateCookies, tagManager, skipOptIn, _getManagerDependingV, useGlobalObjectName, useVariableNamePascal, isManagerOptOut, dataLayerPromise, waitPromises;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n allOptInCookies = [];\n _getServiceSelection = getServiceSelection(options), isManagerActive = _getServiceSelection.isManagerActive, iterateCookies = _getServiceSelection.iterateCookies;\n tagManager = options.tagManager, skipOptIn = options.skipOptIn;\n _getManagerDependingV = getManagerDependingVariables(isManagerActive, tagManager), useGlobalObjectName = _getManagerDependingV.useGlobalObjectName, useVariableNamePascal = _getManagerDependingV.useVariableNamePascal; // Handle managers like GTM and MTM\n\n isManagerOptOut = false;\n dataLayerPromise = Promise.resolve(undefined);\n waitPromises = []; // Handle opt-ins sequentially\n\n _context2.next = 9;\n return iterateCookies( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(group, cookie, isOptIn) {\n var codeDynamics, codeOptIn, rest, isManager, isOnlyWhenNoConsentToManager, isSkipOptIn;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n codeDynamics = cookie.codeDynamics, codeOptIn = cookie.codeOptIn, rest = _objectWithoutProperties(cookie, [\"codeDynamics\", \"codeOptIn\"]);\n isManager = isManagerActive && rest[\"thisIs\".concat(useVariableNamePascal)];\n\n if (isOptIn) {\n // Check if the script should explicitly only be loaded if no consent is given to the manager\n isOnlyWhenNoConsentToManager = isManagerActive && rest[\"codeOptInNo\".concat(useVariableNamePascal)];\n isSkipOptIn = typeof skipOptIn === \"function\" ? skipOptIn(cookie) : false;\n\n if (!isOnlyWhenNoConsentToManager && !isSkipOptIn) {\n waitPromises.push(putHtmlCodeToDom(codeOptIn, codeDynamics));\n } // If this is a manager, wait for the object to be loaded\n\n /* Silence is golden... Until you have PRO Version! */\n\n\n // If this is a manager, wait for the object to be loaded\n\n /* Silence is golden... Until you have PRO Version! */\n document.dispatchEvent(new CustomEvent(OPT_IN_EVENT, {\n detail: {\n group: group,\n cookie: cookie\n }\n }));\n allOptInCookies.push({\n group: group,\n cookie: cookie\n });\n } else if (isManager) {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x2, _x3, _x4) {\n return _ref.apply(this, arguments);\n };\n }());\n\n case 9:\n return _context2.abrupt(\"return\", {\n isManagerOptOut: isManagerOptOut,\n dataLayerPromise: dataLayerPromise,\n cookies: allOptInCookies,\n ready: Promise.all(waitPromises)\n });\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _applyOptIn.apply(this, arguments);\n}\n\nexport { applyOptIn };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getServiceSelection } from \"../decision\";\nimport { getManagerDependingVariables } from \".\";\n/**\n * Opt-in and opt-out to a set of cookies for a given data manager like GTM / MTM.\n */\n\nfunction applyOptInOutManager(_x, _x2, _x3) {\n return _applyOptInOutManager.apply(this, arguments);\n}\n\nfunction _applyOptInOutManager() {\n _applyOptInOutManager = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(options, dataLayer, isManagerOptOut) {\n var waitPromises, _getServiceSelection, isManagerActive, iterateCookies, tagManager, _getManagerDependingV, useVariableNameCamel, useVariableNamePascal;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n waitPromises = [];\n /* onlypro:start */\n\n _getServiceSelection = getServiceSelection(options), isManagerActive = _getServiceSelection.isManagerActive, iterateCookies = _getServiceSelection.iterateCookies;\n tagManager = options.tagManager;\n _getManagerDependingV = getManagerDependingVariables(isManagerActive, tagManager), useVariableNameCamel = _getManagerDependingV.useVariableNameCamel, useVariableNamePascal = _getManagerDependingV.useVariableNamePascal; // When there is a manager, let's push all opt-in and opt-out events (parallel)\n\n if (!dataLayer) {\n _context2.next = 11;\n break;\n }\n\n // Opt-in events\n iterateCookies(function (group, cookie, isOptIn) {\n var event = cookie[\"\".concat(useVariableNameCamel, \"InEventName\")];\n\n if (isOptIn && event) {\n dataLayer.push({\n realCookieBannerOptInEvents: _defineProperty({}, event, true),\n event: event\n });\n }\n }); // Wait x seconds\n\n _context2.next = 8;\n return new Promise(function (r) {\n return setTimeout(r, 1000);\n });\n\n case 8:\n // Opt-out events\n iterateCookies(function (group, cookie, isOptIn) {\n var event = cookie[\"\".concat(useVariableNameCamel, \"OutEventName\")];\n\n if (!isOptIn && event) {\n dataLayer.push({\n realCookieBannerOptOutEvents: _defineProperty({}, event, true),\n event: event\n });\n }\n });\n _context2.next = 14;\n break;\n\n case 11:\n if (!(isManagerActive && isManagerOptOut)) {\n _context2.next = 14;\n break;\n }\n\n _context2.next = 14;\n return iterateCookies( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(group, _ref, isOptIn) {\n var codeDynamics, codeOptIn, rest;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n codeDynamics = _ref.codeDynamics, codeOptIn = _ref.codeOptIn, rest = _objectWithoutProperties(_ref, [\"codeDynamics\", \"codeOptIn\"]);\n\n if (isOptIn && rest[\"codeOptInNo\".concat(useVariableNamePascal)]) {\n waitPromises.push(putHtmlCodeToDom(codeOptIn, codeDynamics));\n }\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x4, _x5, _x6) {\n return _ref2.apply(this, arguments);\n };\n }());\n\n case 14:\n return _context2.abrupt(\"return\", {\n ready: Promise.all(waitPromises)\n });\n\n case 15:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _applyOptInOutManager.apply(this, arguments);\n}\n\nexport { applyOptInOutManager };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport Cookie from \"js-cookie\";\nimport { applyDynamicsToHtml } from \"@devowl-wp/headless-content-unblocker\";\nimport { regExpPatternFromWildcardName } from \"../utils\";\n/**\n * Delete cookies on client side (currently only `localStorage` and `sessionStorage`).\n */\n\nfunction deleteCookiesLocally(technicalDefinitions, dynamics) {\n var _iterator = _createForOfIteratorHelper(technicalDefinitions),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _step.value,\n type = _step$value.type,\n name = _step$value.name;\n // Create valid Regxp pattern\n var pattern = new RegExp(regExpPatternFromWildcardName(applyDynamicsToHtml(name, dynamics)), \"g\");\n\n switch (type) {\n case \"http\":\n {\n for (var _i = 0, _Object$keys = Object.keys(Cookie.get()); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n\n if (pattern.test(key)) {\n Cookie.remove(key);\n }\n }\n\n break;\n }\n\n case \"local\":\n case \"session\":\n {\n try {\n var useStorage = type === \"local\" ? window.localStorage : window.sessionStorage;\n\n if (useStorage) {\n for (var _i2 = 0, _Object$keys2 = Object.keys(useStorage); _i2 < _Object$keys2.length; _i2++) {\n var itemName = _Object$keys2[_i2];\n\n if (pattern.test(itemName)) {\n try {\n // Fallback to `null` because `removeItem` can have issues on some browsers\n useStorage.setItem(itemName, null);\n } catch (e) {// Silence is golden. A `QuotaExceededError` can be thrown but we ignore it, because we remove the item\n } // Try as long (but max 100 times) until deleted\n\n\n var tries = 0;\n\n while (useStorage.getItem(itemName) && tries < 100) {\n tries++;\n useStorage.removeItem(itemName);\n }\n }\n }\n }\n } catch (e) {\n // Browser does not support localStorage, let's do nothing...\n continue;\n }\n\n break;\n }\n\n default:\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n}\n\nexport { deleteCookiesLocally };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getServiceSelection } from \"../decision\";\nimport { OPT_OUT_EVENT } from \"../events\";\nimport { deleteCookiesLocally, getManagerDependingVariables } from \".\";\n/**\n * Opt-in to a set of cookies for a given data manager like GTM / MTM.\n */\n\nfunction applyOptOut(_x, _x2) {\n return _applyOptOut.apply(this, arguments);\n}\n\nfunction _applyOptOut() {\n _applyOptOut = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(options, isManagerOptOut) {\n var _getServiceSelection, isManagerActive, iterateCookies, tagManager, _getManagerDependingV, useVariableNamePascal, deleteHttpCookies;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _getServiceSelection = getServiceSelection(options), isManagerActive = _getServiceSelection.isManagerActive, iterateCookies = _getServiceSelection.iterateCookies;\n tagManager = options.tagManager;\n _getManagerDependingV = getManagerDependingVariables(isManagerActive, tagManager), useVariableNamePascal = _getManagerDependingV.useVariableNamePascal; // Handle opt-outs sequentially\n\n deleteHttpCookies = [];\n _context2.next = 6;\n return iterateCookies( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(group, cookie, isOptIn) {\n var id, codeDynamics, codeOptOut, codeOptOutDelete, noTechnicalDefinitions, technicalDefinitions, rest, isOnlyWhenNoConsentToManager;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n id = cookie.id, codeDynamics = cookie.codeDynamics, codeOptOut = cookie.codeOptOut, codeOptOutDelete = cookie.codeOptOutDelete, noTechnicalDefinitions = cookie.noTechnicalDefinitions, technicalDefinitions = cookie.technicalDefinitions, rest = _objectWithoutProperties(cookie, [\"id\", \"codeDynamics\", \"codeOptOut\", \"codeOptOutDelete\", \"noTechnicalDefinitions\", \"technicalDefinitions\"]);\n\n if (!isOptIn) {\n // Check if the script should explicitly only be loaded if no consent is given to the manager\n isOnlyWhenNoConsentToManager = isManagerActive && rest[\"codeOptInNo\".concat(useVariableNamePascal)];\n\n if (isOnlyWhenNoConsentToManager && !isManagerOptOut || !isOnlyWhenNoConsentToManager) {\n putHtmlCodeToDom(codeOptOut, codeDynamics);\n }\n\n if (codeOptOutDelete && !noTechnicalDefinitions) {\n deleteCookiesLocally(technicalDefinitions, codeDynamics); // Mark deletable server-side cookies\n\n // Mark deletable server-side cookies\n if (technicalDefinitions.some(function (_ref2) {\n var type = _ref2.type;\n return type === \"http\";\n })) {\n deleteHttpCookies.push(id);\n }\n }\n\n document.dispatchEvent(new CustomEvent(OPT_OUT_EVENT, {\n detail: {\n group: group,\n cookie: cookie,\n deleteHttpCookies: deleteHttpCookies\n }\n }));\n }\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x3, _x4, _x5) {\n return _ref.apply(this, arguments);\n };\n }());\n\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _applyOptOut.apply(this, arguments);\n}\n\nexport { applyOptOut };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { applyOptIn, applyOptInOutManager, applyOptOut } from \".\";\nimport { OPT_IN_ALL_EVENT } from \"../events\";\nimport { ready } from \"../utils\";\n/**\n * Apply cookies on frontend. Depending on some other mechanism you can differ\n * between the following \"decision\" types:\n *\n * - `all`: All cookies are applied (e. g. bots)\n * - `consent`: All cookies from the current consent (read from cookie)\n *\n * The cookies are sent in the following way:\n *\n * 1. Apply opt-in scripts (sequentially)\n * 2. If GTM / MTM is active, wait for the data layer\n * a) Push all opt-in events (parallel)\n * b) Wait x seconds to avoid side effects\n * c) Push all opt-out events (parallel)\n * 3. Apply opt-in scripts (sequentially)\n *\n * @param type\n * @see https://www.simoahava.com/analytics/notify-page-google-tag-manager-loaded/\n * @see https://support.google.com/tagmanager/answer/7679219\n * @see https://developer.matomo.org/guides/tagmanager/datalayer\n */\n\nfunction apply(_x) {\n return _apply.apply(this, arguments);\n}\n\nfunction _apply() {\n _apply = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(options) {\n var _yield$applyOptIn, dataLayerPromise, isManagerOptOut, cookies, applyOptInReady, _yield$applyOptInOutM, applyOptInOutManagerReady, optInAllReady;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return ready();\n\n case 2:\n _context.next = 4;\n return applyOptIn(options);\n\n case 4:\n _yield$applyOptIn = _context.sent;\n dataLayerPromise = _yield$applyOptIn.dataLayerPromise;\n isManagerOptOut = _yield$applyOptIn.isManagerOptOut;\n cookies = _yield$applyOptIn.cookies;\n applyOptInReady = _yield$applyOptIn.ready;\n _context.t0 = applyOptInOutManager;\n _context.t1 = options;\n _context.next = 13;\n return dataLayerPromise;\n\n case 13:\n _context.t2 = _context.sent;\n _context.t3 = isManagerOptOut;\n _context.next = 17;\n return (0, _context.t0)(_context.t1, _context.t2, _context.t3);\n\n case 17:\n _yield$applyOptInOutM = _context.sent;\n applyOptInOutManagerReady = _yield$applyOptInOutM.ready;\n optInAllReady = Promise.all([applyOptInReady, applyOptInOutManagerReady]);\n document.dispatchEvent(new CustomEvent(OPT_IN_ALL_EVENT, {\n detail: {\n cookies: cookies,\n ready: optInAllReady\n }\n })); // Do opt-out\n\n _context.next = 23;\n return applyOptOut(options, isManagerOptOut);\n\n case 23:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _apply.apply(this, arguments);\n}\n\nexport { apply };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\n/**\n * Get the default decision and respect essential group and legitimate interests.\n */\nfunction getDefaultDecision(_ref) {\n var groups = _ref.groups,\n essentialGroupSlug = _ref.essentialGroupSlug;\n var respectLegitimateInterests = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n var _groups$filter = groups.filter(function (_ref2) {\n var slug = _ref2.slug;\n return slug === essentialGroupSlug;\n }),\n _groups$filter2 = _slicedToArray(_groups$filter, 1),\n essentialGroupObj = _groups$filter2[0]; // We need always use the current essential group\n\n\n var result = _defineProperty({}, essentialGroupObj.id, essentialGroupObj.items.map(function (_ref3) {\n var id = _ref3.id;\n return id;\n }));\n\n if (respectLegitimateInterests) {\n var _iterator = _createForOfIteratorHelper(groups),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var group = _step.value;\n\n if (group === essentialGroupObj) {\n continue;\n }\n\n var ids = group.items.filter(function (_ref4) {\n var legalBasis = _ref4.legalBasis;\n return legalBasis === \"legitimate-interest\";\n }).map(function (_ref5) {\n var id = _ref5.id;\n return id;\n });\n\n if (ids.length) {\n result[group.id] = ids;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n return result;\n}\n\nexport { getDefaultDecision };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { apply } from \".\";\nimport { getDefaultDecision as _getDefaultDecision, getUserDecision as _getUserDecision } from \"..\";\n\n/**\n * Main class to manage cookie consents within your application.\n */\nvar CookieConsentManager = /*#__PURE__*/function () {\n function CookieConsentManager(options) {\n _classCallCheck(this, CookieConsentManager);\n\n this.options = void 0;\n this.options = options;\n }\n\n _createClass(CookieConsentManager, [{\n key: \"applyCookies\",\n value: function applyCookies(options) {\n return apply(_objectSpread(_objectSpread({}, options), this.options));\n }\n }, {\n key: \"getUserDecision\",\n value: function getUserDecision() {\n return _getUserDecision(this.getOption(\"decisionCookieName\"));\n }\n }, {\n key: \"getDefaultDecision\",\n value: function getDefaultDecision() {\n var respectLegitimateInterests = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n return _getDefaultDecision(this.options, respectLegitimateInterests);\n }\n }, {\n key: \"getOption\",\n value: function getOption(name) {\n return this.options[name];\n }\n }, {\n key: \"getOptions\",\n value: function getOptions() {\n return this.options;\n }\n }]);\n\n return CookieConsentManager;\n}();\n\nexport { CookieConsentManager };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { explode, getCookie, supportsCookies } from \"../utils\";\n\n/**\n * Get current user decision from the cookie value in a minimal form.\n */\nfunction getUserDecision(cookieName) {\n var cookieValue = getCookie(cookieName);\n\n if (!cookieValue) {\n if (!supportsCookies()) {\n // Use our `window` object instead of cookie value\n return window.rcbDisabledCookieComp || false;\n }\n\n return false;\n } // Validate cookie length\n\n\n var split = explode(cookieValue, \":\", 3);\n\n if (split.length !== 3) {\n return false;\n }\n\n var _split = _slicedToArray(split, 2),\n uuidString = _split[0],\n revision = _split[1];\n\n var uuids = uuidString.split(\",\");\n var uuid = uuids.shift();\n var consent = JSON.parse(split[2]);\n return {\n uuid: uuid,\n previousUuids: uuids,\n revision: revision,\n consent: consent\n };\n}\n\nexport { getUserDecision };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\n\n/**\n * Get cookie by name. Please keep in mind you need to `decodeURIComponent` the value in some cases!\n *\n * @param cname\n * @see https://stackoverflow.com/questions/10730362/get-cookie-by-name\n * @see https://stackoverflow.com/a/25490531/5506547\n */\nfunction getCookie(cname) {\n var decode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n // In some cases there could be cookies with the same name in `document.cooke` -> take the last one\n var matches = _toConsumableArray(document.cookie.matchAll(new RegExp(\"(^|;)\\\\s*\".concat(cname, \"\\\\s*=\\\\s*([^;]+)\"), \"g\")));\n\n if (!matches.length) {\n return \"\";\n }\n\n var value = matches // Last match in `document.cookie`\n .pop() // Value of regex match\n .pop();\n return decode ? decodeURIComponent(value) : value;\n}\n\nexport { getCookie };","/**\n * A PHP's port of `explode`. `.split` is not similar because it does not join\n * remaining string.\n */\nfunction explode(string, separator, n) {\n var split = string.split(separator);\n if (split.length <= n) return split;\n var out = split.slice(0, n - 1);\n out.push(split.slice(n - 1).join(separator));\n return out;\n}\n\nexport { explode };","/**\n * This event is fired when the user has no consent or invalid consent\n * and the banner gets visible.\n */\nexport var BANNER_PRE_DECISION_SHOW_EVENT = \"RCB/Banner/Show\";","export var OPT_IN_EVENT = \"RCB/OptIn\";","export var OPT_IN_ALL_EVENT = \"RCB/OptIn/All\";","export var OPT_OUT_EVENT = \"RCB/OptOut\";","/**\n * Wait DOM is ready depending on a state.\n *\n * - `interactive`: Defer scripts are executing, but DOM is ready\n * - `complete`: All scripts including deferred ones are executed and DOM is ready\n *\n * @see https://stackoverflow.com/a/65430734/5506547\n * @see https://stackoverflow.com/a/51980980/5506547\n */\nvar ready = function ready(fn) {\n var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"complete\";\n return new Promise(function (resolve) {\n var cb = function cb() {\n fn === null || fn === void 0 ? void 0 : fn(); // We need to make this promise non-blocking. E.g. on Safari this\n // could lead to issues as the `readystatechange` event listener\n // can be nested (once `interactive`, then waiting `complete`)\n // Imagine, you are using an `await ready` within a `ready(fn)` statement.\n\n setTimeout(resolve, 0);\n };\n\n if (document.readyState === state) {\n cb();\n } else {\n document.addEventListener(\"readystatechange\", function () {\n if (document.readyState === state) {\n cb();\n }\n });\n }\n });\n};\n\nexport { ready };","import { pregQuote } from \".\";\n/**\n * Create regular expression pattern from a string like `my_test*` and replace asterisks\n * with `(.*)`.\n */\n\nfunction regExpPatternFromWildcardName(name) {\n var tmp = name.replace(/\\*/g, \"PLEACE_REPLACE_ME_AGAIN\");\n return \"^\".concat(pregQuote(tmp).replace(/PLEACE_REPLACE_ME_AGAIN/g, \"(.*)\"), \"$\");\n}\n\nexport { regExpPatternFromWildcardName };","/**\n * Port of `preg_quote`.\n *\n * @see https://github.com/kvz/locutus/blob/3f14dc5d142f5dcbdf36b4271c21a850a4a259da/src/php/pcre/preg_quote.js#L1\n */\nfunction pregQuote(str, delimiter) {\n // discuss at: https://locutus.io/php/preg_quote/\n // original by: booeyOH\n // improved by: Ates Goral (https://magnetiq.com)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // example 1: preg_quote(\"$40\")\n // returns 1: '\\\\$40'\n // example 2: preg_quote(\"*RRRING* Hello?\")\n // returns 2: '\\\\*RRRING\\\\* Hello\\\\?'\n // example 3: preg_quote(\"\\\\.+*?[^]$(){}=!<>|:\")\n // returns 3: '\\\\\\\\\\\\.\\\\+\\\\*\\\\?\\\\[\\\\^\\\\]\\\\$\\\\(\\\\)\\\\{\\\\}\\\\=\\\\!\\\\<\\\\>\\\\|\\\\:'\n return str.replace(new RegExp(\"[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\\".concat(delimiter || \"\", \"-]\"), \"g\"), \"\\\\$&\");\n}\n\nexport { pregQuote };","/**\n * Check if the current environment supports cookies.\n *\n * @see https://git.io/JcXiP\n * @returns\n */\nfunction supportsCookies() {\n var cookieName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"test\";\n\n try {\n document.cookie = \"\".concat(cookieName, \"=1\");\n var result = document.cookie.indexOf(\"\".concat(cookieName, \"=\")) !== -1;\n document.cookie = \"\".concat(cookieName, \"=1; expires=Thu, 01-Jan-1970 00:00:01 GMT\");\n return result;\n } catch (e) {\n return false;\n }\n}\n\nexport { supportsCookies };","var DYNAMICS_VARIABLE_REGEXP = /{{([A-Za-z0-9_]+)}}/gm;\n/**\n * Takes any string and replaces `{{myVariable}}` with the value of the passed `dynamics` map.\n */\n\nfunction applyDynamicsToHtml(src, dynamics) {\n return src.replace(DYNAMICS_VARIABLE_REGEXP, function (fullMatch, variableName) {\n return Object.prototype.hasOwnProperty.call(dynamics, variableName) ? dynamics[variableName] : fullMatch;\n });\n}\n\nexport { applyDynamicsToHtml, DYNAMICS_VARIABLE_REGEXP };","// Also ported to `view/Blocker.php`\nexport var HTML_ATTRIBUTE_CAPTURE_PREFIX = \"consent-original\";\nexport var HTML_ATTRIBUTE_CAPTURE_CLICK_PREFIX = \"consent-click-original\";\nexport var HTML_ATTRIBUTE_CAPTURE_SUFFIX = \"_\";\nexport var HTML_ATTRIBUTE_BY = \"consent-by\"; // TODO: cookie -> required?\n\nexport var HTML_ATTRIBUTE_COOKIE_IDS = \"consent-required\";\nexport var HTML_ATTRIBUTE_VISUAL_PARENT = \"consent-visual-use-parent\";\nexport var HTML_ATTRIBUTE_VISUAL_PAINT_MODE = \"consent-visual-paint-mode\";\nexport var HTML_ATTRIBUTE_INLINE = \"consent-inline\";\nexport var HTML_ATTRIBUTE_INLINE_STYLE = \"consent-inline-style\";\nexport var HTML_ATTRIBUTE_BLOCKER_ID = \"consent-id\";\nexport var HTML_TAG_CONSENT_SCRIPT = \"script\";\nexport var HTML_ATTRIBUTE_BLOCKER_CONNECTED = \"consent-blocker-connected\";\nexport var HTML_ATTRIBUTE_BLOCKER_CONNECTED_PRESERVED = \"consent-blocker-connected-pres\";\nexport var HTML_ATTRIBUTE_UNBLOCKED_TRANSACTION_COMPLETE = \"consent-transaction-complete\";\nexport var HTML_ATTRIBUTE_TRANSFORM_WRAPPER = \"consent-transform-wrapper\";\nexport var HTML_ATTRIBUTE_TRANSFORM_WRAPPER_VALUE = \"1\";\nexport var HTML_ATTRIBUTE_WAS_PREVIOUSLY_STRICT_HIDDEN = \"consent-strict-hidden\";\nexport var HTML_ATTRIBUTE_RESET_PARENT = \"consent-cb-reset-parent\";\nexport var HTML_ATTRIBUTE_RESET_PARENT_VALUE = \"1\";\nexport var HTML_ATTRIBUTE_RESET_PARENT_IS_RATIO_CONTAINER = \"consent-cb-reset-parent-is-ratio\";\nexport var HTML_ATTRIBUTE_GOT_CLICKED = \"consent-got-clicked\";\nexport var HTML_ATTRIBUTE_GOT_CLICKED_VALUE = \"1\";\nexport var HTML_ATTRIBUTE_GOT_CLICKED_VALUE_DO_NOT_USE_IN_NESTED = \"2\";\nexport var HTML_ATTRIBUTE_THUMBNAIL = \"consent-thumbnail\";\nexport var HTML_ATTRIBUTE_THUMBNAIL_SUGGESTION = \"consent-thumbnail-suggestion\";","import postscribe from \"postscribe\";\nimport { applyDynamicsToHtml } from \".\";\nimport { htmlDecode } from \"../utils\";\n/**\n * We do not modify `window.onload` directly, you need to use this variable name.\n */\n\nvar WINDOW_ONLOAD_UNBLOCK_REPLACEMENT = \"rcbInitiatorOnload\";\n/**\n * Put HTML code to the current DOM. `script` tags gets automatically\n * executed instead of pushing to DOM.\n *\n * @see https://github.com/krux/postscribe\n * @see https://stackoverflow.com/a/49724894/5506547\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\nfunction putHtmlCodeToDom(html, dynamics) {\n var referenceNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document.body;\n return new Promise(function (resolve) {\n if (html) {\n postscribe(referenceNode, applyDynamicsToHtml(html, dynamics), {\n done: resolve,\n error: function error(e) {\n // We do ignore all errors as we handle like the usual browser\n // E.g. a script blocked by an ad-blocker should not break the execution\n // for upcoming scripts.\n console.error(e);\n },\n beforeWriteToken: function beforeWriteToken(token) {\n var attrs = token.attrs,\n booleanAttrs = token.booleanAttrs,\n src = token.src,\n href = token.href,\n content = token.content; // Probably skip this token? (do not use `disabled` tag as it should still be written to DOM)\n\n if (booleanAttrs !== null && booleanAttrs !== void 0 && booleanAttrs[\"skip-write\"]) {\n return false;\n } // Allow `window.onload` event\n\n\n if (content) {\n token.content = content.replace(/window\\.onload\\s+=/g, \"window.\".concat(WINDOW_ONLOAD_UNBLOCK_REPLACEMENT, \" =\"));\n } // Automatically unescape html entities in all attributes (https://github.com/krux/postscribe/issues/346#issuecomment-310227387)\n\n\n for (var attr in attrs) {\n attrs[attr] = htmlDecode(attrs[attr]); // Allow to skip complete HTML tag when it already got loaded by unique ID (e.g. Google Tag Manager gtag.js)\n\n if (attr === \"unique-write-name\" && document.querySelector(\"[unique-write-name=\\\"\".concat(attrs[attr], \"\\\"]\"))) {\n return false;\n }\n } // Scripts\n\n\n if (src) {\n token.src = htmlDecode(src);\n } // Styles\n\n\n if (href) {\n token.href = htmlDecode(href);\n }\n\n return token;\n }\n });\n } else {\n resolve();\n }\n });\n}\n\nexport { WINDOW_ONLOAD_UNBLOCK_REPLACEMENT, putHtmlCodeToDom };","/**\n * A content - which was blocked - got unblocked.\n */\nexport var OPT_IN_CONTENT_BLOCKER = \"RCB/OptIn/ContentBlocker\";","/**\n * In some cases, the complete layout can be changed and calculations are based on containers width.\n * Imagine: Google Fonts get added and the navigation bar has a button with a calculated width (e.g. BeTheme).\n * Another example: The instagram feed is not loaded / adjusted (masonry), so we need to trigger a resize\n * event manually\n *\n * @param delay\n */\nfunction dispatchResizeEvent() {\n var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n setTimeout(function () {\n try {\n window.dispatchEvent(new Event(\"resize\"));\n } catch (e) {// You are running in IE, it's a UI bug, we can skip...\n }\n }, delay);\n}\n\nexport { dispatchResizeEvent };","import { isUrl } from \".\";\n/**\n * Decode HTML entities in a given string.\n *\n * @see https://stackoverflow.com/a/34064434/5506547\n */\n\nfunction htmlDecode(input) {\n var inputIsUrl = isUrl(input);\n\n if (inputIsUrl) {\n var _doc$querySelector;\n\n // URLs needs to be handled a bit different as e.g. `?regionid` gets parsed to `&#39;ionid=`\n var doc = new DOMParser().parseFromString(\"<a href=\\\"\".concat(input, \"\\\"></a>\"), \"text/html\");\n return (_doc$querySelector = doc.querySelector(\"a\")) === null || _doc$querySelector === void 0 ? void 0 : _doc$querySelector.href;\n } else {\n // Keep XSS protection intact\n var _doc = new DOMParser().parseFromString(input, \"text/html\");\n\n return _doc.documentElement.textContent;\n }\n}\n\nexport { htmlDecode };","/**\n * Check if a given string is an URL.\n *\n * @see https://www.w3resource.com/javascript-exercises/javascript-regexp-exercise-9.php\n */\nfunction isUrl(url) {\n var pattern = /^(?:(?:https?|ftp):\\/\\/)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:\\/\\S*)?$/;\n return !!pattern.test(url);\n}\n\nexport { isUrl };","import { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\n/**\n * Port of `jQuery.parents()`.\n */\n\nfunction parents(element, selector) {\n var elements = [];\n var elem = element.parentElement;\n\n while (elem !== null) {\n if (elem.nodeType === Node.ELEMENT_NODE && matchingSelector(elem, selector)) {\n elements.push(elem);\n }\n\n elem = elem.parentElement;\n }\n\n return elements;\n}\n\nexport { parents };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useEffect } from \"react\";\n\nvar AsciiSpinner = function AsciiSpinner(_ref) {\n var _ref$ms = _ref.ms,\n ms = _ref$ms === void 0 ? 100 : _ref$ms,\n _ref$chars = _ref.chars,\n chars = _ref$chars === void 0 ? [\"&#9719;\", \"&#9718;\", \"&#9717;\", \"&#9716;\"] : _ref$chars;\n\n var _useState = useState(1),\n _useState2 = _slicedToArray(_useState, 2),\n i = _useState2[0],\n setI = _useState2[1];\n\n useEffect(function () {\n var interval = setInterval(function () {\n setI(i + 1);\n }, ms);\n return function () {\n return clearInterval(interval);\n };\n }, [i]);\n return h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: chars[i % 4]\n }\n });\n};\n\nexport { AsciiSpinner };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { isUrl } from \"@devowl-wp/headless-content-unblocker\";\nimport { useBannerOrBlocker } from \"../../../hooks\";\nimport { commonGroupsInlineStyleLinkMore, commonInlineStyleGroupsCookieProperty } from \"../../../inlineStyles\";\n\nvar CookieProperty = function CookieProperty(_ref) {\n var label = _ref.label,\n value = _ref.value,\n children = _ref.children,\n printValueAs = _ref.printValueAs;\n var banner = useBannerOrBlocker();\n var _banner$i18n = banner.i18n,\n yes = _banner$i18n.yes,\n no = _banner$i18n.no;\n var isValueUrl = typeof value === \"string\" && isUrl(value);\n var useValue = isValueUrl ? h(\"a\", {\n href: value,\n style: _objectSpread({\n wordBreak: \"break-all\"\n }, commonGroupsInlineStyleLinkMore(banner, false).style),\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, value) : typeof value === \"string\" ? h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: value\n }\n }) : value;\n\n if (printValueAs === \"boolean\") {\n useValue = useValue ? yes : no;\n }\n\n return h(\"div\", _extends({\n key: label\n }, commonInlineStyleGroupsCookieProperty(banner)), label && h(\"strong\", null, label, \":\\xA0\"), useValue, !!children && h(\"div\", null, children));\n};\n\nexport { CookieProperty };","import { scaleMobile } from \"../..\";\n\nfunction commonInlineStyleGroupsCookieProperty(_ref) {\n var _ref$group = _ref.group,\n groupBorderWidth = _ref$group.groupBorderWidth,\n groupBorderColor = _ref$group.groupBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useGroupBorderWidth = pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, groupBorderWidth) : groupBorderWidth;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-cookie-prop\",\n style: {\n borderLeft: useGroupBorderWidth > 0 ? \"1px solid \".concat(groupBorderColor) : undefined,\n paddingLeft: 15\n }\n };\n}\n\nexport { commonInlineStyleGroupsCookieProperty };","import { Fragment } from \"react\";\nimport { CookieProperty } from \".\";\nimport { useBannerOrBlocker } from \"../../../hooks\";\nimport { applyDynamicsToHtml } from \"@devowl-wp/headless-content-unblocker\";\n\nvar CookiePropertyList = function CookiePropertyList(_ref) {\n var _ref$cookie = _ref.cookie,\n purpose = _ref$cookie.purpose,\n provider = _ref$cookie.provider,\n providerPrivacyPolicy = _ref$cookie.providerPrivacyPolicy,\n legalBasis = _ref$cookie.legalBasis,\n ePrivacyUSA = _ref$cookie.ePrivacyUSA,\n noTechnicalDefinitions = _ref$cookie.noTechnicalDefinitions,\n technicalDefinitions = _ref$cookie.technicalDefinitions,\n codeDynamics = _ref$cookie.codeDynamics,\n isEssentialGroup = _ref.isEssentialGroup;\n\n var _useBannerOrBlocker = useBannerOrBlocker(),\n i18n = _useBannerOrBlocker.i18n,\n ePrivacyUSAEnabled = _useBannerOrBlocker.ePrivacyUSA;\n\n var types = getCookieTypeLocalizationMap();\n return h(Fragment, null, !!purpose && h(CookieProperty, {\n label: i18n.purpose,\n value: purpose\n }), h(CookieProperty, {\n label: i18n.legalBasis,\n value: legalBasis === \"legal-requirement\" ? i18n.legalRequirement : legalBasis === \"legitimate-interest\" || isEssentialGroup ? i18n.legitimateInterest : i18n.consent\n }), h(CookieProperty, {\n label: i18n.provider,\n value: provider\n }), !!providerPrivacyPolicy && h(CookieProperty, {\n label: i18n.providerPrivacyPolicy,\n value: providerPrivacyPolicy\n }), !!ePrivacyUSAEnabled && h(CookieProperty, {\n label: i18n.ePrivacyUSA,\n value: ePrivacyUSA,\n printValueAs: \"boolean\"\n }), !noTechnicalDefinitions && technicalDefinitions.map(function (_ref2) {\n var type = _ref2.type,\n name = _ref2.name,\n host = _ref2.host,\n duration = _ref2.duration,\n durationUnit = _ref2.durationUnit,\n sessionDuration = _ref2.sessionDuration,\n purpose = _ref2.purpose;\n return h(CookieProperty, {\n key: name,\n label: i18n.technicalCookieDefinition,\n value: h(\"span\", {\n style: {\n fontFamily: \"monospace\"\n }\n }, applyDynamicsToHtml(name, codeDynamics))\n }, h(CookieProperty, {\n label: i18n.type,\n value: types[type].name\n }), !!purpose && h(CookieProperty, {\n label: i18n.purpose,\n value: purpose\n }), !!host && h(CookieProperty, {\n label: i18n.host,\n value: h(\"span\", {\n style: {\n fontFamily: \"monospace\"\n }\n }, host)\n }), h(CookieProperty, {\n label: i18n.duration,\n value: [\"local\", \"indexedDb\", \"flash\"].indexOf(type) > -1 ? i18n.noExpiration : sessionDuration || type === \"session\" ? \"Session\" : \"\".concat(duration, \" \").concat(i18n.durationUnit[durationUnit])\n }));\n }));\n};\n\nfunction getCookieTypeLocalizationMap() {\n return {\n http: {\n name: \"HTTP Cookie\",\n abbr: \"HTTP\",\n backgroundColor: \"black\"\n },\n local: {\n name: \"Local Storage\",\n abbr: \"Local\",\n backgroundColor: \"#b3983c\"\n },\n session: {\n name: \"Session Storage\",\n abbr: \"Session\",\n backgroundColor: \"#3c99b3\"\n },\n flash: {\n name: \"Flash Local Shared Object\",\n abbr: \"Flash\",\n backgroundColor: \"#b33c3c\"\n },\n indexedDb: {\n name: \"IndexedDB\",\n abbr: \"I-DB\",\n backgroundColor: \"#4ab33c\"\n }\n };\n}\n\nexport { CookiePropertyList, getCookieTypeLocalizationMap };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useLayoutEffect, useState } from \"react\";\nimport { useBannerOrBlocker } from \"../../../hooks\";\nimport { commonInlineStyleGroupsCookie, commonInlineStyleGroupsCheckbox } from \"../../..\";\nimport { PlainAntdIconAsSvg } from \"../..\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { CheckOutlined } from \"@ant-design/icons-svg\";\nimport { CookiePropertyList } from \".\";\n\nvar Cookie = function Cookie(_ref) {\n var cookie = _ref.cookie,\n checked = _ref.checked,\n disabled = _ref.disabled,\n onToggleCheck = _ref.onToggleCheck,\n _ref$propertyListProp = _ref.propertyListProps,\n propertyListProps = _ref$propertyListProp === void 0 ? {} : _ref$propertyListProp;\n var name = cookie.name;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRendered = _useState2[0],\n setIsRendered = _useState2[1];\n\n var bannerOrBlocker = useBannerOrBlocker();\n var descriptionFontSize = bannerOrBlocker.group.descriptionFontSize;\n useLayoutEffect(function () {\n setIsRendered(true);\n }, []);\n return h(\"div\", commonInlineStyleGroupsCookie(bannerOrBlocker), h(\"div\", {\n style: {\n marginBottom: 10\n }\n }, h(PlainAntdIconAsSvg, _extends({\n icon: CheckOutlined,\n onClick: onToggleCheck\n }, commonInlineStyleGroupsCheckbox(bannerOrBlocker, isRendered, checked, disabled, descriptionFontSize))), h(\"strong\", {\n style: {\n verticalAlign: \"middle\"\n },\n onClick: onToggleCheck\n }, name)), h(CookiePropertyList, _extends({\n cookie: cookie\n }, propertyListProps)));\n};\n\nexport { Cookie };","function commonInlineStyleGroupsCookie(_ref) {\n var antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-cookie\",\n style: {\n marginTop: 10\n }\n };\n}\n\nexport { commonInlineStyleGroupsCookie };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { useMemo } from \"react\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { renderIconDefinitionToSVGElement } from \"@ant-design/icons-svg/es/helpers\";\n/**\n * Inject a plain SVG icon from `@ant-design/icons-svg`. This reduces the bundle size.\n * You can determine yourself to use `@ant-design/icons` or this helper component. For example,\n * this component is preferred for website bundles where website size matters.\n *\n * @see https://app.clickup.com/t/60pz5t\n */\n\nvar PlainAntdIconAsSvg = function PlainAntdIconAsSvg(_ref) {\n var icon = _ref.icon,\n rest = _objectWithoutProperties(_ref, [\"icon\"]);\n\n var svgString = useMemo(function () {\n return renderIconDefinitionToSVGElement(icon, {\n extraSVGAttrs: {\n style: \"width:auto;height:100%;\",\n fill: \"currentColor\"\n }\n });\n }, [icon]);\n return h(\"div\", _extends({}, rest, {\n dangerouslySetInnerHTML: {\n __html: svgString\n }\n }));\n};\n\nexport { PlainAntdIconAsSvg };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { forwardRef } from \"react\";\nimport hintCss from \"hint.css/hint.min.css?inline-raw\";\nimport { usePlainCss } from \"../hooks\";\n/**\n * This is a very basic `hint.css` implementation for a tooltip.\n *\n * @see https://kushagra.dev/lab/hint/\n */\n// eslint-disable-next-line react/display-name\n\nvar Tooltip = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var children = _ref.children,\n className = _ref.className,\n title = _ref.title,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? \"top\" : _ref$position,\n color = _ref.color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? \"large\" : _ref$size,\n always = _ref.always,\n rounded = _ref.rounded,\n noAnimate = _ref.noAnimate,\n bounce = _ref.bounce,\n rest = _objectWithoutProperties(_ref, [\"children\", \"className\", \"title\", \"position\", \"color\", \"size\", \"always\", \"rounded\", \"noAnimate\", \"bounce\"]);\n\n usePlainCss(hintCss, \"hint-css\", true);\n return h(\"div\", _extends({\n style: {\n position: \"relative\",\n display: \"inline\"\n },\n ref: ref,\n \"aria-label\": title,\n className: \"hint--\".concat(position, \" hint--\").concat(size, \" \").concat(color ? \"hint--\".concat(color) : \"\", \" \").concat(always ? \"hint--always\" : \"\", \" \").concat(rounded ? \"hint--rounded\" : \"\", \" \").concat(noAnimate ? \"hint--no-animate\" : \"\", \" \").concat(bounce ? \"hint--bounce\" : \"\", \" \").concat(className || \"\")\n }, rest), children);\n});\nexport { Tooltip };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { createContext, useContext } from \"react\";\n\n/**\n * Create a side-effect-free context provider.\n */\nvar BannerContextFactory = /*#__PURE__*/function () {\n function BannerContextFactory() {\n _classCallCheck(this, BannerContextFactory);\n }\n\n _createClass(BannerContextFactory, null, [{\n key: \"Context\",\n value: function (_Context) {\n function Context() {\n return _Context.apply(this, arguments);\n }\n\n Context.toString = function () {\n return _Context.toString();\n };\n\n return Context;\n }(function () {\n return this.context = this.context || /*#__PURE__*/createContext({});\n })\n }]);\n\n return BannerContextFactory;\n}();\n\nBannerContextFactory.context = void 0;\n\nfunction useBanner() {\n return useContext(BannerContextFactory.Context());\n}\n\nexport { BannerContextFactory, useBanner };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { createContext, useContext } from \"react\";\n\n/**\n * Create a side-effect-free context provider.\n */\nvar BlockerContextFactory = /*#__PURE__*/function () {\n function BlockerContextFactory() {\n _classCallCheck(this, BlockerContextFactory);\n }\n\n _createClass(BlockerContextFactory, null, [{\n key: \"Context\",\n value: function (_Context) {\n function Context() {\n return _Context.apply(this, arguments);\n }\n\n Context.toString = function () {\n return _Context.toString();\n };\n\n return Context;\n }(function () {\n return this.context = this.context || /*#__PURE__*/createContext({});\n })\n }]);\n\n return BlockerContextFactory;\n}();\n\nBlockerContextFactory.context = void 0;\n\nfunction useBlocker() {\n return useContext(BlockerContextFactory.Context());\n}\n\nexport { BlockerContextFactory, useBlocker };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { useState } from \"react\";\nimport { commonInlineStyleFooterLink, useBannerOrBlocker } from \"../../..\";\n\nvar FooterLink = function FooterLink(_ref) {\n var children = _ref.children,\n anchorRest = _objectWithoutProperties(_ref, [\"children\"]);\n\n var bannerOrBlocker = useBannerOrBlocker();\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isHover = _useState2[0],\n setIsHover = _useState2[1];\n\n return h(\"a\", _extends({\n onMouseEnter: function onMouseEnter() {\n return setIsHover(true);\n },\n onMouseLeave: function onMouseLeave() {\n return setIsHover(false);\n }\n }, commonInlineStyleFooterLink(bannerOrBlocker, isHover), anchorRest), children);\n};\n\nexport { FooterLink };","import { scaleMobile } from \"../../scale\";\n\nfunction commonInlineStyleFooterLink(_ref) {\n var _ref$footerDesign = _ref.footerDesign,\n fontSize = _ref$footerDesign.fontSize,\n fontColor = _ref$footerDesign.fontColor,\n hoverFontColor = _ref$footerDesign.hoverFontColor,\n fontInheritFamily = _ref$footerDesign.fontInheritFamily,\n fontFamily = _ref$footerDesign.fontFamily,\n linkTextDecoration = _ref.design.linkTextDecoration,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var isHover = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var style = {\n textDecoration: linkTextDecoration,\n fontSize: pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +fontSize) : +fontSize,\n color: isHover ? hoverFontColor : fontColor,\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n padding: \"0 5px\"\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-link\",\n style: style\n };\n}\n\nexport { commonInlineStyleFooterLink };","import { FooterLink } from \".\";\nimport { Tooltip } from \"../..\";\n\nvar FooterPoweredByLink = function FooterPoweredByLink(_ref) {\n var poweredLink = _ref.poweredLink,\n affiliate = _ref.affiliate;\n return h(FooterLink, {\n href: affiliate ? affiliate.link : poweredLink.href,\n target: poweredLink.target,\n key: \"powered-by\"\n }, h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: poweredLink.innerHTML\n }\n }), affiliate && h(Tooltip, {\n title: affiliate.description,\n position: \"top-left\"\n }, \" \", affiliate.labelBehind));\n};\n\nexport { FooterPoweredByLink };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { Fragment } from \"react\";\n/**\n * Join together a set of JSX elements with a separator.\n *\n * @see https://stackoverflow.com/q/33577448/5506547\n */\n\nfunction jsxJoin(components, separator) {\n // Just to be sure, remove falsy values so we can add conditionals to the components array\n var filtered = components.filter(Boolean);\n return filtered.length === 0 ? null : filtered.reduce(function (acc, curr, i) {\n return acc.length ? [].concat(_toConsumableArray(acc), [// Wrap the separator in a fragment to avoid `missing key` issues\n h(Fragment, {\n key: i\n }, separator), curr]) : [curr];\n }, []);\n}\n\nexport { jsxJoin };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { useCallback, Fragment } from \"react\";\nimport { useBannerOrBlocker, useLegalLinks } from \"..\";\nimport { FooterLink, FooterPoweredByLink } from \"../../components\";\nimport { jsxJoin } from \"../../utils\";\n\nfunction useCommonFooterLinks() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n onClose = _ref.onClose,\n putPoweredByLinkInRow = _ref.putPoweredByLinkInRow,\n row1 = _ref.row1;\n\n var _useBannerOrBlocker = useBannerOrBlocker(),\n close = _useBannerOrBlocker.i18n.close,\n _useBannerOrBlocker$f = _useBannerOrBlocker.footerDesign,\n poweredByLink = _useBannerOrBlocker$f.poweredByLink,\n linkTarget = _useBannerOrBlocker$f.linkTarget,\n poweredLink = _useBannerOrBlocker.poweredLink,\n affiliate = _useBannerOrBlocker.affiliate;\n\n var _useLegalLinks = useLegalLinks(),\n linkPrivacyPolicy = _useLegalLinks.linkPrivacyPolicy,\n linkImprint = _useLegalLinks.linkImprint;\n\n var targetAttributes = linkTarget === \"_blank\" ? {\n target: \"_blank\",\n rel: \"noopener\"\n } : {};\n var rows = [// Row 1\n [onClose && h(FooterLink, {\n href: \"#\",\n onClick: onClose,\n key: \"close\"\n }, h(\"strong\", null, close))].concat(_toConsumableArray(row1 || []), [linkPrivacyPolicy && h(FooterLink, _extends({\n href: linkPrivacyPolicy.url\n }, targetAttributes, {\n key: \"privacyPolicy\"\n }), linkPrivacyPolicy.label), linkImprint && h(FooterLink, _extends({\n href: linkImprint.url\n }, targetAttributes, {\n key: \"imprint\"\n }), linkImprint.label)]).filter(Boolean), // Row 2\n [] // Nothing yet\n ];\n\n if (!!poweredLink && poweredByLink) {\n rows[putPoweredByLinkInRow || 0].push(h(FooterPoweredByLink, {\n key: \"poweredBy\",\n poweredLink: poweredLink,\n affiliate: affiliate\n }));\n }\n\n var render = useCallback(function (rows) {\n return jsxJoin(rows.map(function (row) {\n return row.length ? h(Fragment, {\n key: row[0].key\n }, jsxJoin(row, h(Fragment, null, \" \\u2022 \"))) : null;\n }), h(\"br\", null));\n }, []);\n return {\n rows: rows,\n render: render\n };\n}\n\nexport { useCommonFooterLinks };","import { useBannerOrBlocker, useLegalLinks } from \"..\";\n\nfunction joinWithAndSeparator(arr, andSeparator) {\n if (arr.length > 1) {\n arr.splice(arr.length - 1, 0, \"{{andSeparator}}\");\n }\n\n return arr.join(\", \").replace(/,\\s+{{andSeparator}},\\s+/g, andSeparator);\n}\n/**\n * @see https://gist.github.com/unruthless/413930\n * @see https://stackoverflow.com/a/23630325/5506547\n */\n\n\nvar supWithLineHeightFix = '<sup style=\"vertical-align:top;line-height:100%;position:initial;\">';\n\nfunction useCommonTeachings() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n disableDataProcessingInUnsafeCountries = _ref.disableDataProcessingInUnsafeCountries,\n disableAgeNotice = _ref.disableAgeNotice,\n disableListServicesNotice = _ref.disableListServicesNotice;\n\n var _useBannerOrBlocker = useBannerOrBlocker(),\n blocker = _useBannerOrBlocker.blocker,\n groups = _useBannerOrBlocker.groups,\n isEPrivacyUSA = _useBannerOrBlocker.ePrivacyUSA,\n isAgeNotice = _useBannerOrBlocker.ageNotice,\n isListServicesNotice = _useBannerOrBlocker.listServicesNotice,\n _useBannerOrBlocker$t = _useBannerOrBlocker.texts,\n description = _useBannerOrBlocker$t.description,\n ePrivacyUSA = _useBannerOrBlocker$t.ePrivacyUSA,\n ageNoticeBanner = _useBannerOrBlocker$t.ageNoticeBanner,\n listServicesNotice = _useBannerOrBlocker$t.listServicesNotice,\n consentForwardingExternalHostsText = _useBannerOrBlocker$t.consentForwardingExternalHosts,\n tcf = _useBannerOrBlocker.tcf,\n consentForwardingExternalHosts = _useBannerOrBlocker.consentForwardingExternalHosts,\n individualPrivacyOpen = _useBannerOrBlocker.individualPrivacyOpen,\n individualDescription = _useBannerOrBlocker.individualTexts.description,\n essentialGroup = _useBannerOrBlocker.essentialGroup,\n _useBannerOrBlocker$i = _useBannerOrBlocker.i18n,\n andSeparator = _useBannerOrBlocker$i.andSeparator,\n tcfBannerI18n = _useBannerOrBlocker$i.tcf,\n keepVariablesInTexts = _useBannerOrBlocker.keepVariablesInTexts;\n\n var _useLegalLinks = useLegalLinks(),\n linkPrivacyPolicy = _useLegalLinks.linkPrivacyPolicy; // Description text (combination of configured text and Consent Forwarding)\n\n\n var consentForwardingExternalHostsFinalText = \"\";\n\n if (consentForwardingExternalHosts && !keepVariablesInTexts) {\n consentForwardingExternalHostsFinalText = consentForwardingExternalHostsText.replace(/{{websites}}/g, consentForwardingExternalHosts.join(\", \"));\n }\n\n var useDescription = [blocker ? blocker.description : individualPrivacyOpen ? individualDescription : description, consentForwardingExternalHostsFinalText].filter(Boolean).join(\" \");\n\n if (!keepVariablesInTexts) {\n // Place policy link into the text https://regex101.com/r/ayeFVy/1\n useDescription = useDescription.replace(/{{privacyPolicy}}(.*){{\\/privacyPolicy}}/g, linkPrivacyPolicy ? \"<a href=\\\"\".concat(linkPrivacyPolicy.url, \"\\\" style=\\\"text-decoration:underline;color:inherit;\\\" onmouseenter=\\\"this.style.textDecoration='none'\\\" onmouseleave=\\\"this.style.textDecoration='underline'\\\" target=\\\"_blank\\\">$1</a>\") : \"$1\");\n } // Teaching: Data processing in unsafe countries (formerly USA ePrivacy)\n\n\n var useDataProcessingInUnsafeCountries = !disableDataProcessingInUnsafeCountries && isEPrivacyUSA ? ePrivacyUSA : \"\"; // Teaching: Age notice\n\n var useAgeNotice = isAgeNotice && !disableAgeNotice ? ageNoticeBanner : \"\"; // Teaching: List services notice\n\n var useListServicesNotice = \"\";\n\n if (isListServicesNotice && !disableListServicesNotice) {\n var hasBothPlaceholders = listServicesNotice.indexOf(\"{{services}}\") > -1 && listServicesNotice.indexOf(\"{{serviceGroups}}\") > -1;\n var nonEssentialGroups = groups.filter(function (_ref2) {\n var slug = _ref2.slug;\n return slug !== essentialGroup;\n });\n var flattenSeparator = \"~;~\";\n var listServicesNames = joinWithAndSeparator(nonEssentialGroups.map(function (_ref3, groupIdx) {\n var items = _ref3.items;\n return items.map(function (_ref4) {\n var name = _ref4.name,\n ePrivacyUSA = _ref4.ePrivacyUSA;\n return \"\".concat(name).concat(supWithLineHeightFix).concat([hasBothPlaceholders ? groupIdx + 1 : \"\", useDataProcessingInUnsafeCountries && ePrivacyUSA ? \"U\" : \"\"].filter(Boolean).join(\",\"), \"</sup>\");\n }).join(flattenSeparator);\n }).join(flattenSeparator).split(flattenSeparator), andSeparator);\n\n if (listServicesNames) {\n var listServiceGroupsNames = joinWithAndSeparator(nonEssentialGroups.map(function (_ref5, groupIdx) {\n var name = _ref5.name;\n return \"\".concat(name).concat(supWithLineHeightFix).concat(hasBothPlaceholders ? groupIdx + 1 : \"\", \"</sup>\");\n }), andSeparator);\n useListServicesNotice = \"<span>\".concat(listServicesNotice, \"</span>\").concat(tcf && !individualPrivacyOpen ? \"<span>\".concat(tcfBannerI18n.listOfServicesAppendix, \"</span>\") : \"\");\n\n if (!keepVariablesInTexts) {\n // Place service list into the text\n useListServicesNotice = useListServicesNotice.replace(/{{services}}/g, listServicesNames) // Place service group list into the text\n .replace(/{{serviceGroups}}/g, listServiceGroupsNames);\n }\n\n if (useDataProcessingInUnsafeCountries) {\n useDataProcessingInUnsafeCountries += \"\".concat(supWithLineHeightFix, \"U</sup>\");\n }\n }\n }\n\n return {\n description: useDescription,\n teachings: [useDataProcessingInUnsafeCountries, useAgeNotice, useListServicesNotice].filter(Boolean)\n };\n}\n\nexport { useCommonTeachings };","import { useBanner, useBlocker } from \"../contexts\";\n\n/**\n * Use one of the available banner or blocker contexts as union typed.\n */\nfunction useBannerOrBlocker() {\n var banner = useBanner();\n var blocker = useBlocker(); // Check for a common context property in an available context as it is never `undefined`\n\n return banner.groups ? banner : blocker;\n}\n\nexport { useBannerOrBlocker };","import { useBannerOrBlocker } from \".\";\n\nfunction useLegalLinks() {\n var _useBannerOrBlocker = useBannerOrBlocker(),\n _useBannerOrBlocker$l = _useBannerOrBlocker.legal,\n privacyPolicy = _useBannerOrBlocker$l.privacyPolicy,\n privacyPolicyExternalUrl = _useBannerOrBlocker$l.privacyPolicyExternalUrl,\n privacyPolicyIsExternalUrl = _useBannerOrBlocker$l.privacyPolicyIsExternalUrl,\n privacyPolicyLabel = _useBannerOrBlocker$l.privacyPolicyLabel,\n imprint = _useBannerOrBlocker$l.imprint,\n imprintExternalUrl = _useBannerOrBlocker$l.imprintExternalUrl,\n imprintIsExternalUrl = _useBannerOrBlocker$l.imprintIsExternalUrl,\n imprintLabel = _useBannerOrBlocker$l.imprintLabel,\n pageByIdUrl = _useBannerOrBlocker.pageByIdUrl;\n\n var pageIdToPermalink = useBannerOrBlocker().pageIdToPermalink || {};\n var linkPrivacyPolicy = privacyPolicy > 0 ? pageIdToPermalink[privacyPolicy] || \"\".concat(pageByIdUrl, \"=\").concat(privacyPolicy) : undefined;\n var linkImprint = imprint > 0 ? pageIdToPermalink[imprint] || \"\".concat(pageByIdUrl, \"=\").concat(imprint) : undefined;\n\n if (privacyPolicyIsExternalUrl) {\n linkPrivacyPolicy = privacyPolicyExternalUrl;\n }\n\n if (imprintIsExternalUrl) {\n linkImprint = imprintExternalUrl;\n }\n\n return {\n linkPrivacyPolicy: privacyPolicyLabel && linkPrivacyPolicy ? {\n url: linkPrivacyPolicy,\n label: privacyPolicyLabel\n } : false,\n linkImprint: imprintLabel && linkImprint ? {\n url: linkImprint,\n label: imprintLabel\n } : false\n };\n}\n\nexport { useLegalLinks };","import { useMemo, useLayoutEffect } from \"react\";\nvar counter = 0;\n/**\n * Dynamically creates a style-tag in your head with a given plain CSS string.\n */\n\nfunction usePlainCss(css, uniqueId, keep) {\n var id = useMemo(function () {\n return \"react-use-plain-css-\".concat(uniqueId || (counter++).toString(36));\n }, []);\n useLayoutEffect(function () {\n var element = document.getElementById(id);\n\n if (!element) {\n element = document.createElement(\"style\");\n element.style.type = \"text/css\";\n element.id = id;\n document.getElementsByTagName(\"head\")[0].appendChild(element);\n }\n\n element.innerHTML = css;\n return function () {\n if (!keep) {\n var _element$parentNode;\n\n (_element$parentNode = element.parentNode) === null || _element$parentNode === void 0 ? void 0 : _element$parentNode.removeChild(element);\n }\n };\n }, [css, keep]);\n return id;\n}\n\nexport { usePlainCss };","import { scaleMobile } from \"../../scale\";\n\nfunction commonInlineStyleBodyTeaching(_ref) {\n var _ref$bodyDesign = _ref.bodyDesign,\n teachingsInheritTextAlign = _ref$bodyDesign.teachingsInheritTextAlign,\n teachingsTextAlign = _ref$bodyDesign.teachingsTextAlign,\n teachingsInheritFontSize = _ref$bodyDesign.teachingsInheritFontSize,\n teachingsFontSize = _ref$bodyDesign.teachingsFontSize,\n teachingsInheritFontColor = _ref$bodyDesign.teachingsInheritFontColor,\n teachingsFontColor = _ref$bodyDesign.teachingsFontColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-teachings\",\n style: {\n marginTop: 7,\n display: \"inline-block\",\n textAlign: teachingsInheritTextAlign ? undefined : teachingsTextAlign,\n fontSize: teachingsInheritFontSize ? undefined : pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +teachingsFontSize) : +teachingsFontSize,\n color: teachingsInheritFontColor ? undefined : teachingsFontColor\n }\n };\n}\n\nexport { commonInlineStyleBodyTeaching };","function commonInlineStyleBodyTeachingsSeparator(_ref) {\n var borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n teachingsSeparatorActive = _ref$bodyDesign.teachingsSeparatorActive,\n teachingsSeparatorWidth = _ref$bodyDesign.teachingsSeparatorWidth,\n teachingsSeparatorHeight = _ref$bodyDesign.teachingsSeparatorHeight,\n teachingsSeparatorColor = _ref$bodyDesign.teachingsSeparatorColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-teachings-separator\",\n style: {\n marginTop: 7,\n display: \"inline-block\",\n maxWidth: \"100%\",\n borderRadius: +borderRadius,\n width: +teachingsSeparatorWidth,\n height: teachingsSeparatorActive ? +teachingsSeparatorHeight : 0,\n background: teachingsSeparatorColor\n }\n };\n}\n\nexport { commonInlineStyleBodyTeachingsSeparator };","import { scaleMobile } from \"../..\";\n\n/**\n * Use `visible` together with `useLayoutEffect` to avoid flickering.\n * This is needed because the SVG icons of ant are a bit flickering.\n */\nfunction commonInlineStyleGroupsCheckbox(_ref, visible, checked, disabled, fontSize) {\n var borderRadius = _ref.layout.borderRadius,\n _ref$group = _ref.group,\n headlineFontSize = _ref$group.headlineFontSize,\n checkboxBg = _ref$group.checkboxBg,\n checkboxBorderWidth = _ref$group.checkboxBorderWidth,\n checkboxBorderColor = _ref$group.checkboxBorderColor,\n checkboxActiveBg = _ref$group.checkboxActiveBg,\n checkboxActiveBorderColor = _ref$group.checkboxActiveBorderColor,\n checkboxActiveColor = _ref$group.checkboxActiveColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useFontSize = fontSize || headlineFontSize;\n useFontSize = pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, useFontSize) : useFontSize;\n var useCheckboxBorderWidth = pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +checkboxBorderWidth) : +checkboxBorderWidth;\n var height = +useFontSize + useCheckboxBorderWidth * 2 + 6;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-checkbox\",\n style: {\n cursor: disabled ? \"not-allowed\" : \"pointer\",\n opacity: disabled ? 0.5 : undefined,\n color: checked ? checkboxActiveColor : checkboxBg,\n display: visible ? \"inline-block\" : \"none\",\n background: checked ? checkboxActiveBg : checkboxBg,\n border: \"\".concat(useCheckboxBorderWidth, \"px solid \").concat(checked ? checkboxActiveBorderColor : checkboxBorderColor),\n padding: 3,\n height: height,\n width: height,\n marginRight: 10,\n borderRadius: +borderRadius,\n verticalAlign: \"middle\",\n lineHeight: 0,\n boxSizing: \"border-box\"\n }\n };\n}\n\nexport { commonInlineStyleGroupsCheckbox };","function commonGroupsInlineStyleLinkMore(_ref, isHover) {\n var linkTextDecoration = _ref.design.linkTextDecoration,\n _ref$group = _ref.group,\n linkColor = _ref$group.linkColor,\n linkHoverColor = _ref$group.linkHoverColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group-more\",\n style: {\n color: isHover ? linkHoverColor : linkColor,\n textDecoration: linkTextDecoration\n }\n };\n}\n\nexport { commonGroupsInlineStyleLinkMore };","import { scaleMobile } from \"../..\";\n\nfunction commonInlineStyleHeaderHeadline(_ref, hasCloseIcon) {\n var _ref$headerDesign = _ref.headerDesign,\n fontSize = _ref$headerDesign.fontSize,\n fontColor = _ref$headerDesign.fontColor,\n fontInheritFamily = _ref$headerDesign.fontInheritFamily,\n fontFamily = _ref$headerDesign.fontFamily,\n fontWeight = _ref$headerDesign.fontWeight,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-headline\",\n style: {\n color: fontColor,\n lineHeight: 1.8,\n fontSize: pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +fontSize) : +fontSize,\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n fontWeight: fontWeight,\n paddingRight: hasCloseIcon ? 20 : undefined\n }\n };\n}\n\nexport { commonInlineStyleHeaderHeadline };","var calculateNewVal = function calculateNewVal(val, scalePercent) {\n var newVal = val;\n newVal = val / 100 * scalePercent;\n newVal = newVal < 1 ? 1 : newVal;\n return newVal;\n};\n/**\n * Calculate the new value for an inline style value and respect the scaling options.\n */\n\n\nfunction scaleMobile(_ref, useWidthOfThisContainerId, original, replaceWith) {\n var enabled = _ref.enabled,\n scalePercent = _ref.scalePercent,\n scalePercentVertical = _ref.scalePercentVertical;\n var additionalVerticalScaling = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n return original;\n}\n\nexport { scaleMobile };","import { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\nwindow.rcbPoweredByCacheOuterHTML = \"\";\n/**\n * Get the server-side-rendered powered by link.\n */\n\nfunction getSsrPoweredByLink(id) {\n var element = document.getElementById(id); // SSR-powered by\n\n var originalPoweredLink = element.nextElementSibling;\n var poweredLink = document.createElement(\"div\");\n\n if (window.rcbPoweredByCacheOuterHTML) {\n // We have cached the link as we remove it from the DOM\n poweredLink.innerHTML = window.rcbPoweredByCacheOuterHTML;\n } else if (matchingSelector(originalPoweredLink, \"a\") && originalPoweredLink.innerHTML.toLowerCase().indexOf(\"Real Cookie Banner\")) {\n window.rcbPoweredByCacheOuterHTML = originalPoweredLink.outerHTML;\n poweredLink.innerHTML = window.rcbPoweredByCacheOuterHTML;\n originalPoweredLink.parentNode.removeChild(originalPoweredLink);\n }\n\n return poweredLink.children[0];\n}\n\nexport { getSsrPoweredByLink };","function matchingSelector(element, selector) {\n var proto = typeof Element !== \"undefined\" ? Element.prototype : {};\n var nativeFunction = proto.matches || proto.matchesSelector || proto.webkitMatchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector;\n\n if (!element || element.nodeType !== 1 || !element.parentElement) {\n return false;\n }\n\n if (nativeFunction) {\n return nativeFunction.call(element, selector);\n }\n\n var matchingElements = element.parentElement.querySelectorAll(selector);\n\n for (var matchIdx in matchingElements) {\n if (matchingElements[matchIdx] === element) {\n return true;\n }\n }\n\n return false;\n}\n\nexport { matchingSelector };","import Url from \"url-parse\";\nimport { trailingslashit, untrailingslashit } from \"../../helpers\";\nimport { RouteHttpVerb } from \".\";\nimport deepMerge from \"deepmerge\";\n\n/**\n * Build an URL for a specific scheme.\n *\n * @param param0\n */\nfunction commonUrlBuilder(_ref) {\n var location = _ref.location,\n _ref$params = _ref.params,\n params = _ref$params === void 0 ? {} : _ref$params,\n _ref$nonce = _ref.nonce,\n nonce = _ref$nonce === void 0 ? true : _ref$nonce,\n options = _ref.options;\n var apiUrl = new Url(options.restRoot, true);\n var query = apiUrl.query;\n var permalinkPath = query.rest_route || apiUrl.pathname; // Determine path from permalink settings\n // Find dynamic parameters from URL bindings (like /user/:id)\n\n var foundParams = [];\n var path = location.path.replace(/:([A-Za-z0-9-_]+)/g, function (match, group) {\n foundParams.push(group);\n return params[group];\n });\n var getParams = {}; // Find undeclared body params (which are not bind above) and add it to GET query\n\n for (var _i = 0, _Object$keys = Object.keys(params); _i < _Object$keys.length; _i++) {\n var checkParam = _Object$keys[_i];\n\n if (foundParams.indexOf(checkParam) === -1) {\n getParams[checkParam] = params[checkParam]; // We do not need `encodeURIComponent` as it is supported by `url-parse` already\n }\n }\n\n var usePath = trailingslashit(permalinkPath) + untrailingslashit(location.namespace || options.restNamespace) + path; // Force protocol from parent location\n\n var useThisProtocol = new Url(window.location.href).protocol.slice(0, -1);\n apiUrl.set(\"protocol\", useThisProtocol); // Set path depending on permalink settings\n\n if (query.rest_route) {\n query.rest_route = usePath; // eslint-disable-line @typescript-eslint/naming-convention\n } else {\n apiUrl.set(\"pathname\", usePath); // Set path\n } // Append others\n\n\n if (nonce && options.restNonce) {\n query._wpnonce = options.restNonce;\n }\n\n var currentApiUrlString = apiUrl.toString();\n\n if ([\"wp-json/\", \"rest_route=\"].filter(function (s) {\n return currentApiUrlString.indexOf(s) > -1;\n }).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n query._method = location.method;\n }\n\n return apiUrl.set(\"query\", deepMerge.all([options.restQuery, getParams, query])).toString();\n}\n\nexport { commonUrlBuilder, Url };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nvar pool = {};\nvar recreateFetchPool = {};\n/**\n * A REST nonce in WordPress is only valid for 12 hours (can be configured). However, if it gets\n * invalid, the REST endpoints return a `403` error which signals us, we should recreate the nonce.\n * To avoid multiple recreations, we memorize the newly created nonce in a pool.\n */\n\nfunction nonceDeprecationPool(_x, _x2) {\n return _nonceDeprecationPool.apply(this, arguments);\n}\n\nfunction _nonceDeprecationPool() {\n _nonceDeprecationPool = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(nonce, restRecreateNonceEndpoint) {\n var resultPromise, returnNonce;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(typeof restRecreateNonceEndpoint !== \"undefined\")) {\n _context2.next = 6;\n break;\n }\n\n resultPromise = // Reuse already sent request\n recreateFetchPool[nonce] || new Promise(\n /*#__PURE__*/\n // eslint-disable-next-line no-async-promise-executor\n function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve, reject) {\n var recreateFetch, newNonce;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return window.fetch(restRecreateNonceEndpoint);\n\n case 3:\n recreateFetch = _context.sent;\n\n if (!recreateFetch.ok) {\n _context.next = 11;\n break;\n }\n\n _context.next = 7;\n return recreateFetch.text();\n\n case 7:\n newNonce = _context.sent;\n\n if (nonce === newNonce) {\n reject();\n } else {\n pool[nonce] = newNonce;\n resolve(newNonce);\n }\n\n _context.next = 12;\n break;\n\n case 11:\n reject();\n\n case 12:\n _context.next = 17;\n break;\n\n case 14:\n _context.prev = 14;\n _context.t0 = _context[\"catch\"](0);\n reject();\n\n case 17:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 14]]);\n }));\n\n return function (_x3, _x4) {\n return _ref.apply(this, arguments);\n };\n }());\n recreateFetchPool[nonce] = resultPromise;\n return _context2.abrupt(\"return\", resultPromise);\n\n case 6:\n if (!(typeof nonce === \"undefined\")) {\n _context2.next = 8;\n break;\n }\n\n return _context2.abrupt(\"return\", undefined);\n\n case 8:\n _context2.next = 10;\n return Promise.all(Object.values(recreateFetchPool));\n\n case 10:\n returnNonce = nonce;\n\n case 11:\n if (!pool[returnNonce]) {\n _context2.next = 17;\n break;\n }\n\n returnNonce = pool[returnNonce];\n\n if (!(pool[returnNonce] === nonce)) {\n _context2.next = 15;\n break;\n }\n\n return _context2.abrupt(\"break\", 17);\n\n case 15:\n _context2.next = 11;\n break;\n\n case 17:\n return _context2.abrupt(\"return\", Promise.resolve(returnNonce));\n\n case 18:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _nonceDeprecationPool.apply(this, arguments);\n}\n\nexport { nonceDeprecationPool };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { RouteHttpVerb } from \".\";\n/**\n * Get the result of the `Response`. It also handles multiline responses, e. g.\n * a PHP `Notice:` message is output through a conflicting plugin:\n *\n * If you are using a verb like `DELETE` or `PUT` the response may be empty and this\n * function will return `undefined`.\n *\n * @see https://developer.mozilla.org/de/docs/Web/HTTP/Methods/DELETE\n */\n\nfunction parseResult(_x, _x2, _x3) {\n return _parseResult.apply(this, arguments);\n}\n\nfunction _parseResult() {\n _parseResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(url, result, method) {\n var cloneForFallback, body, lastError, _iterator, _step, line;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cloneForFallback = result.clone();\n _context.prev = 1;\n _context.next = 4;\n return result.json();\n\n case 4:\n return _context.abrupt(\"return\", _context.sent);\n\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](1);\n _context.next = 11;\n return cloneForFallback.text();\n\n case 11:\n body = _context.sent;\n\n if (!(body === \"\" && [RouteHttpVerb.DELETE, RouteHttpVerb.PUT].indexOf(method) > -1)) {\n _context.next = 14;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 14:\n console.warn(\"The response of \".concat(url, \" contains unexpected JSON, try to resolve the JSON line by line...\"), {\n body: body\n });\n _iterator = _createForOfIteratorHelper(body.split(\"\\n\"));\n _context.prev = 16;\n\n _iterator.s();\n\n case 18:\n if ((_step = _iterator.n()).done) {\n _context.next = 30;\n break;\n }\n\n line = _step.value;\n\n if (!(line.startsWith(\"[\") || line.startsWith(\"{\"))) {\n _context.next = 28;\n break;\n }\n\n _context.prev = 21;\n return _context.abrupt(\"return\", JSON.parse(line));\n\n case 25:\n _context.prev = 25;\n _context.t1 = _context[\"catch\"](21);\n lastError = _context.t1;\n\n case 28:\n _context.next = 18;\n break;\n\n case 30:\n _context.next = 35;\n break;\n\n case 32:\n _context.prev = 32;\n _context.t2 = _context[\"catch\"](16);\n\n _iterator.e(_context.t2);\n\n case 35:\n _context.prev = 35;\n\n _iterator.f();\n\n return _context.finish(35);\n\n case 38:\n throw lastError;\n\n case 39:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 7], [16, 32, 35, 38], [21, 25]]);\n }));\n return _parseResult.apply(this, arguments);\n}\n\nexport { parseResult };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { commonUrlBuilder, RouteHttpVerb } from \"./\";\nimport deepMerge from \"deepmerge\";\nimport Url from \"url-parse\";\nimport { parseResult, nonceDeprecationPool } from \".\";\nimport jsonFormData from \"json-form-data\";\nvar CONTENT_TYPE_JSON = \"application/json;charset=utf-8\"; // Fix: Return type of exported function has or is using name 'FormatOptions'\n// from external module \"/home/mg/vscode-workspace/devowl-wp/node_modules/@types/json-form-data/index\" but cannot be named.\n// type MultiPartOptions = Parameters<typeof jsonFormData>[1];\n\n/**\n * Build and execute a specific REST query.\n *\n * @see urlBuilder\n * @returns Result of REST API\n * @throws\n */\nfunction commonRequest(_x) {\n return _commonRequest.apply(this, arguments);\n}\n\nfunction _commonRequest() {\n _commonRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var location, options, routeRequest, params, _ref$settings, settings, _ref$multipart, multipart, _ref$sendRestNonce, sendRestNonce, url, apiUrl, allowBody, body, restNonce, hasRestNonce, init, apiUrlBuilt, result, responseJSON, replay, restRecreateNonceEndpoint, resultAny;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n location = _ref.location, options = _ref.options, routeRequest = _ref.request, params = _ref.params, _ref$settings = _ref.settings, settings = _ref$settings === void 0 ? {} : _ref$settings, _ref$multipart = _ref.multipart, multipart = _ref$multipart === void 0 ? false : _ref$multipart, _ref$sendRestNonce = _ref.sendRestNonce, sendRestNonce = _ref$sendRestNonce === void 0 ? true : _ref$sendRestNonce;\n url = commonUrlBuilder({\n location: location,\n params: params,\n nonce: false,\n options: options\n }); // Use global parameter (see https://developer.wordpress.org/rest-api/using-the-rest-api/global-parameters/)\n\n if ([\"wp-json/\", \"rest_route=\"].filter(function (s) {\n return url.indexOf(s) > -1;\n }).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n settings.method = RouteHttpVerb.POST;\n } else {\n settings.method = location.method || RouteHttpVerb.GET;\n } // Request with GET/HEAD method cannot have body\n\n\n apiUrl = new Url(url, true);\n allowBody = [\"HEAD\", \"GET\"].indexOf(settings.method) === -1;\n\n if (!allowBody && routeRequest) {\n apiUrl.set(\"query\", deepMerge(apiUrl.query, routeRequest));\n } // Determine body\n\n\n if (allowBody) {\n if (multipart) {\n // Let's create a multipart request...\n body = jsonFormData(routeRequest, typeof multipart === \"boolean\" ? {} : multipart);\n } else {\n // It is a usual JSON request, we do not need to send a multipart request\n body = JSON.stringify(routeRequest);\n }\n } // Do the request\n\n\n _context.next = 9;\n return nonceDeprecationPool(options.restNonce);\n\n case 9:\n restNonce = _context.sent;\n hasRestNonce = typeof restNonce !== \"undefined\";\n init = deepMerge.all([settings, {\n headers: _objectSpread(_objectSpread(_objectSpread({}, typeof body === \"string\" ? {\n \"Content-Type\": CONTENT_TYPE_JSON\n } : {}), hasRestNonce && sendRestNonce ? {\n \"X-WP-Nonce\": restNonce\n } : {}), {}, {\n Accept: \"application/json, */*;q=0.1\"\n })\n }]);\n init.body = body; // Do not make body merge-able\n\n apiUrlBuilt = apiUrl.toString();\n _context.next = 16;\n return window.fetch(apiUrlBuilt, init);\n\n case 16:\n result = _context.sent;\n\n if (result.ok) {\n _context.next = 47;\n break;\n }\n\n responseJSON = undefined;\n replay = false;\n _context.prev = 20;\n _context.next = 23;\n return parseResult(apiUrlBuilt, result, location.method);\n\n case 23:\n responseJSON = _context.sent;\n\n // wordpress.com private site compatibility\n\n /* istanbul ignore if */\n if (responseJSON.code === \"private_site\" && result.status === 403 && hasRestNonce && !sendRestNonce) {\n replay = true;\n } // Refresh nonce automatically\n\n /* istanbul ignore if */\n\n\n if (!(responseJSON.code === \"rest_cookie_invalid_nonce\" && hasRestNonce)) {\n _context.next = 35;\n break;\n }\n\n restRecreateNonceEndpoint = options.restRecreateNonceEndpoint;\n _context.prev = 27;\n _context.next = 30;\n return nonceDeprecationPool(restNonce, restRecreateNonceEndpoint);\n\n case 30:\n replay = true;\n _context.next = 35;\n break;\n\n case 33:\n _context.prev = 33;\n _context.t0 = _context[\"catch\"](27);\n\n case 35:\n _context.next = 39;\n break;\n\n case 37:\n _context.prev = 37;\n _context.t1 = _context[\"catch\"](20);\n\n case 39:\n if (!replay) {\n _context.next = 43;\n break;\n }\n\n _context.next = 42;\n return commonRequest({\n location: location,\n options: options,\n multipart: multipart,\n params: params,\n request: routeRequest,\n sendRestNonce: true,\n settings: settings\n });\n\n case 42:\n return _context.abrupt(\"return\", _context.sent);\n\n case 43:\n // Set this request as failing so the endpoint is probably corrupt (see `corruptRestApi.tsx`)\n settings.method === RouteHttpVerb.GET && (window.detectCorruptRestApiFailed = (window.detectCorruptRestApiFailed || 0) + 1);\n resultAny = result;\n resultAny.responseJSON = responseJSON;\n throw resultAny;\n\n case 47:\n return _context.abrupt(\"return\", parseResult(apiUrlBuilt, result, location.method));\n\n case 48:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[20, 37], [27, 33]]);\n }));\n return _commonRequest.apply(this, arguments);\n}\n\nexport { commonRequest };","var RouteHttpVerb;\n\n(function (RouteHttpVerb) {\n RouteHttpVerb[\"GET\"] = \"GET\";\n RouteHttpVerb[\"POST\"] = \"POST\";\n RouteHttpVerb[\"PUT\"] = \"PUT\";\n RouteHttpVerb[\"DELETE\"] = \"DELETE\";\n RouteHttpVerb[\"PATCH\"] = \"PATCH\";\n})(RouteHttpVerb || (RouteHttpVerb = {}));\n\nexport { RouteHttpVerb };","var untrailingslashit = function untrailingslashit(str) {\n return str.endsWith(\"/\") || str.endsWith(\"\\\\\") ? untrailingslashit(str.slice(0, -1)) : str;\n};\n\nvar trailingslashit = function trailingslashit(str) {\n return \"\".concat(untrailingslashit(str), \"/\");\n}; // Allows to make an interface extension and make some properties optional (https://git.io/JeK6J)\n\n\n/**\n * You need to manually put the following code snippet in each of your entry points to enable\n * \"on the fly\" public path for chunks:\n *\n * ```\n * __webpack_public_path__ = getWebpackPublicPath(process.env);\n * ```\n *\n * @see https://webpack.js.org/guides/public-path/#on-the-fly\n */\nvar getWebpackPublicPath = function getWebpackPublicPath(env) {\n var options = window[env.slug.replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n })];\n return \"\".concat(options.publicUrl).concat(options.chunkFolder, \"/\");\n};\n\nexport { untrailingslashit, trailingslashit, getWebpackPublicPath };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\nimport { HTML_ATTRIBUTE_COOKIE_IDS, HTML_ATTRIBUTE_BLOCKER_ID, HTML_ATTRIBUTE_BY, OPT_IN_CONTENT_BLOCKER } from \"@devowl-wp/headless-content-unblocker\";\nimport { regExpPatternFromWildcardName } from \"@devowl-wp/cookie-consent-web-client\";\n/**\n * `window.consentApi.unblock`: Check if a given URL / string is blocked by a Content Blocker:\n *\n * - When a Content Blocker exists, the Promise is only resolved after given consent\n * - When no Content Blocker exists, the Promise is immediate resolved\n *\n * Example (ES5):\n * ```js\n * (window.consentApi && window.consentApi.unblock(\"player.vimeo.com\") || Promise.resolve()).then(function() {\n * console.log(\"Consent for Vimeo given, unlock content...!\");\n * });\n * ```\n *\n * Example (ES6, Babel, TS):\n * ```js\n * (window.consentApi?.unblock(\"player.vimeo.com\") || Promise.resolve()).then(() => {\n * console.log(\"Consent for Vimeo given, unlock content...!\");\n * });\n * ```\n *\n * @param url\n * @param ref Create a visual content blocker to a given HTML element\n */\n\nfunction unblock(url) {\n var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.createElement(\"div\");\n return new Promise(function (resolve) {\n // Find matching blocker\n var found;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n blocker = _getOtherOptionsFromW.blocker;\n\n var isPseudoRef = !ref.parentElement;\n\n var _iterator = _createForOfIteratorHelper(blocker),\n _step;\n\n try {\n loop1: for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var row = _step.value;\n var hosts = row.hosts; // Check if host matches\n\n var _iterator2 = _createForOfIteratorHelper(hosts),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var host = _step2.value;\n var regexp = regExpPatternFromWildcardName(host);\n\n if (url.match(regexp)) {\n found = row;\n break loop1;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (found) {\n // Add attributes to DOM element so it can be consumed by `manipulateDom`\n ref.setAttribute(HTML_ATTRIBUTE_BY, \"cookies\");\n ref.setAttribute(HTML_ATTRIBUTE_COOKIE_IDS, found.cookies.join(\",\"));\n ref.setAttribute(HTML_ATTRIBUTE_BLOCKER_ID, found.id.toString());\n ref.addEventListener(OPT_IN_CONTENT_BLOCKER, function () {\n isPseudoRef && ref.remove();\n resolve();\n }); // Append blocking element to HTML DOM if not already exists\n\n if (isPseudoRef) {\n document.body.appendChild(ref);\n }\n } else {\n resolve();\n }\n });\n}\n\nexport { unblock };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { CookieConsentManager } from \"../apply\";\nimport { apply } from \"../apply\";\nimport { BANNER_PRE_DECISION_SHOW_EVENT } from \"../events\";\nimport { ready } from \"../utils\";\n\nfunction preDecisionGateway(_x, _x2) {\n return _preDecisionGateway.apply(this, arguments);\n}\n\nfunction _preDecisionGateway() {\n _preDecisionGateway = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(options, handler) {\n var show, useOptions, gateways, args, onIsDoNotTrack, onShowCookieBanner, _iterator, _step, gateway, result, _ret;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n show = true;\n useOptions = options instanceof CookieConsentManager ? options.getOptions() : options;\n gateways = handler.gateways, args = handler.args, onIsDoNotTrack = handler.onIsDoNotTrack, onShowCookieBanner = handler.onShowCookieBanner;\n _iterator = _createForOfIteratorHelper(gateways);\n _context.prev = 4;\n\n _iterator.s();\n\n case 6:\n if ((_step = _iterator.n()).done) {\n _context.next = 17;\n break;\n }\n\n gateway = _step.value;\n _context.next = 10;\n return gateway.apply(void 0, [useOptions].concat(_toConsumableArray(args)));\n\n case 10:\n result = _context.sent;\n\n if (!(result !== false)) {\n _context.next = 15;\n break;\n }\n\n _ret = function () {\n show = false;\n\n var applyCookiesWithOptions = function applyCookiesWithOptions(type) {\n return apply(_objectSpread({\n type: type\n }, useOptions));\n };\n\n if (result === \"all\") {\n applyCookiesWithOptions(\"all\");\n } else if (result === \"essentials\") {\n applyCookiesWithOptions(\"essentials\");\n } else if (result === \"dnt\") {\n onIsDoNotTrack(function () {\n return applyCookiesWithOptions(\"essentials\");\n });\n } else if (result === \"consent\") {\n // Apply cookies for the current user decision\n applyCookiesWithOptions(\"consent\");\n }\n\n return \"break\";\n }();\n\n if (!(_ret === \"break\")) {\n _context.next = 15;\n break;\n }\n\n return _context.abrupt(\"break\", 17);\n\n case 15:\n _context.next = 6;\n break;\n\n case 17:\n _context.next = 22;\n break;\n\n case 19:\n _context.prev = 19;\n _context.t0 = _context[\"catch\"](4);\n\n _iterator.e(_context.t0);\n\n case 22:\n _context.prev = 22;\n\n _iterator.f();\n\n return _context.finish(22);\n\n case 25:\n if (!show) {\n _context.next = 30;\n break;\n }\n\n onShowCookieBanner(); // Wait all events are initialized\n\n _context.next = 29;\n return ready();\n\n case 29:\n document.dispatchEvent(new CustomEvent(BANNER_PRE_DECISION_SHOW_EVENT, {\n detail: {}\n }));\n\n case 30:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[4, 19, 22, 25]]);\n }));\n return _preDecisionGateway.apply(this, arguments);\n}\n\nexport { preDecisionGateway };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { supportsCookies } from \"../utils\";\n/**\n * Does the current browser support cookies?\n */\n\nvar preDecisionGatewaySupportsCookies = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var supportsCookiesName;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n supportsCookiesName = _ref.supportsCookiesName;\n return _context.abrupt(\"return\", supportsCookies(supportsCookiesName) ? false : \"essentials\");\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewaySupportsCookies(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewaySupportsCookies };","import isbot from \"isbot\";\n/**\n * Is the current browser a spider / crawler?\n */\n\nfunction isCrawler() {\n var _navigator = navigator,\n userAgent = _navigator.userAgent;\n\n if (userAgent) {\n // Lighthouse / Google PageSpeed isn't currently a bot (https://git.io/J3r5z)\n if (/chrome-lighthouse/i.test(userAgent)) {\n return false;\n }\n\n return isbot(userAgent);\n }\n\n return false;\n}\n\nexport { isCrawler };","/**\n * Let a `Promise` be rejected after a given amount of time.\n */\nfunction promiseTimeout(promise, ms) {\n return new Promise(function (resolve, reject) {\n promise.then(resolve, reject);\n var e = new Error(\"Timed out\");\n setTimeout(reject, ms, e);\n });\n}\n\nexport { promiseTimeout };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \"../decision\";\nimport { isCrawler, promiseTimeout } from \"../utils\";\n\n/**\n * Dynamically allow to get a predecision with a extra request to an external API.\n * If your server does not respond within a given timeout or with an error, it automatically\n * continues with the predecisions. Otherwise, the predecision of the response is used.\n */\nvar preDecisionGatewayDynamicRequest = function preDecisionGatewayDynamicRequest(request) {\n var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10000;\n var active = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n return /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var decisionCookieName, revisionHash, decision, revision, _yield$promiseTimeout, predecision;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decisionCookieName = _ref.decisionCookieName, revisionHash = _ref.revisionHash;\n\n if (!(isCrawler() || !active)) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 3:\n // Check if revision has changed, and probably access our dynamic predecision again\n decision = getUserDecision(decisionCookieName);\n\n if (!decision) {\n _context.next = 8;\n break;\n }\n\n revision = decision.revision;\n\n if (!(revisionHash === revision)) {\n _context.next = 8;\n break;\n }\n\n return _context.abrupt(\"return\", \"consent\");\n\n case 8:\n _context.prev = 8;\n _context.next = 11;\n return promiseTimeout(request(), timeout);\n\n case 11:\n _yield$promiseTimeout = _context.sent;\n predecision = _yield$promiseTimeout.predecision;\n return _context.abrupt(\"return\", predecision);\n\n case 16:\n _context.prev = 16;\n _context.t0 = _context[\"catch\"](8);\n return _context.abrupt(\"return\", false);\n\n case 19:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[8, 16]]);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n};\n\nexport { preDecisionGatewayDynamicRequest };","/**\n * Checks if the given browser is requesting \"Do Not Track\" header.\n *\n * @see https://dev.to/corbindavenport/how-to-correctly-check-for-do-not-track-with-javascript-135d\n */\nfunction isDoNotTrack() {\n try {\n var w = window;\n\n if (w.doNotTrack || w.navigator.doNotTrack || w.navigator.msDoNotTrack || \"msTrackingProtectionEnabled\" in w.external) {\n // The browser supports Do Not Track!\n if (w.doNotTrack == \"1\" || w.navigator.doNotTrack == \"yes\" || w.navigator.doNotTrack == \"1\" || w.navigator.msDoNotTrack == \"1\" || w.external.msTrackingProtectionEnabled()) {\n return true;\n }\n }\n } catch (e) {// Silence is golden.\n }\n\n return false;\n}\n\nexport { isDoNotTrack };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \"../decision\";\nimport { isDoNotTrack } from \"../utils\";\n\n/**\n * When the user has \"Do not track\" enabled and is allowed to use, let's automatically\n * save the dialog without any action.\n */\nvar preDecisionGatewayIsDoNotTrack = function preDecisionGatewayIsDoNotTrack() {\n var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n return /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var decisionCookieName, groups, essentialGroupSlug, _groups$filter, _groups$filter2, essentialGroupObj, _iterator, _step, group, _iterator2, _step2, legalBasis;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decisionCookieName = _ref.decisionCookieName, groups = _ref.groups, essentialGroupSlug = _ref.essentialGroupSlug;\n _groups$filter = groups.filter(function (_ref3) {\n var slug = _ref3.slug;\n return slug === essentialGroupSlug;\n }), _groups$filter2 = _slicedToArray(_groups$filter, 1), essentialGroupObj = _groups$filter2[0];\n\n if (!(getUserDecision(decisionCookieName) !== false || !active)) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 4:\n // As soon we have a legitimate interest, we need to show the cookie banner\n _iterator = _createForOfIteratorHelper(groups);\n _context.prev = 5;\n\n _iterator.s();\n\n case 7:\n if ((_step = _iterator.n()).done) {\n _context.next = 29;\n break;\n }\n\n group = _step.value;\n\n if (!(group !== essentialGroupObj)) {\n _context.next = 27;\n break;\n }\n\n _iterator2 = _createForOfIteratorHelper(group.items);\n _context.prev = 11;\n\n _iterator2.s();\n\n case 13:\n if ((_step2 = _iterator2.n()).done) {\n _context.next = 19;\n break;\n }\n\n legalBasis = _step2.value.legalBasis;\n\n if (!(legalBasis === \"legitimate-interest\")) {\n _context.next = 17;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 17:\n _context.next = 13;\n break;\n\n case 19:\n _context.next = 24;\n break;\n\n case 21:\n _context.prev = 21;\n _context.t0 = _context[\"catch\"](11);\n\n _iterator2.e(_context.t0);\n\n case 24:\n _context.prev = 24;\n\n _iterator2.f();\n\n return _context.finish(24);\n\n case 27:\n _context.next = 7;\n break;\n\n case 29:\n _context.next = 34;\n break;\n\n case 31:\n _context.prev = 31;\n _context.t1 = _context[\"catch\"](5);\n\n _iterator.e(_context.t1);\n\n case 34:\n _context.prev = 34;\n\n _iterator.f();\n\n return _context.finish(34);\n\n case 37:\n return _context.abrupt(\"return\", isDoNotTrack() ? \"dnt\" : false);\n\n case 38:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[5, 31, 34, 37], [11, 21, 24, 27]]);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n};\n\nexport { preDecisionGatewayIsDoNotTrack };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \"../decision\";\n/**\n * Has the user already consent to the latest requested revision (hash)?\n */\n\nvar preDecisionGatewayUserConsent = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var decisionCookieName, revisionHash, decision, revision;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decisionCookieName = _ref.decisionCookieName, revisionHash = _ref.revisionHash;\n decision = getUserDecision(decisionCookieName);\n\n if (!(decision === false)) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 4:\n revision = decision.revision;\n return _context.abrupt(\"return\", revisionHash === revision ? \"consent\" : false);\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewayUserConsent(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayUserConsent };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentDynamicPredecisionGet = {\n path: \"/consent/dynamic-predecision\",\n method: RouteHttpVerb.GET\n};","/**\n * Checks if the given banner is not visible due to legal settings.\n */\nfunction isHiddenDueLegal(banner) {\n var _banner$legal = banner.legal,\n imprint = _banner$legal.imprint,\n imprintHide = _banner$legal.imprintHide,\n privacyPolicy = _banner$legal.privacyPolicy,\n privacyPolicyHide = _banner$legal.privacyPolicyHide,\n pageId = banner.pageId;\n return [imprintHide && +imprint, privacyPolicyHide && +privacyPolicy].filter(Boolean).indexOf(pageId) > -1;\n}\n\nexport { isHiddenDueLegal };","import { useCallback, useMemo } from \"react\";\nimport { BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER } from \"../..\";\n/**\n * Depending on the current screen, calculate the animation to use.\n *\n * Currently, we do not support animations on resize as we cannot calculate the\n * width of the overlay container as it does not exist on first render cycle of React.\n *\n * Drawback if animation only on mobile is enabled: if the window is first a mobile,\n * and the window gets resize it will reuse the animation on desktop again\n */\n\nfunction useBannerAnimation() {\n var clientWidth = useMemo(function () {\n return window.innerWidth;\n }, []);\n var isMobile = clientWidth < BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER; // Check if it is mobile Firefox, as it does not support `position:sticky;bottom:0;` and animations.\n // Effect: The buttons and footer are not visible.\n\n var isMobileFirefox = useMemo(function () {\n var userAgent = window.navigator.userAgent.toLowerCase();\n return [\"firefox\", \"gecko\", \"mobile\", \"android\"].map(function (term) {\n return userAgent.indexOf(term) > -1;\n }).filter(Boolean).length === 4;\n }, []);\n return useCallback(function (_ref) {\n var animationIn = _ref.animationIn,\n animationInOnlyMobile = _ref.animationInOnlyMobile,\n animationOut = _ref.animationOut,\n animationOutOnlyMobile = _ref.animationOutOnlyMobile;\n var useAnimationIn = animationInOnlyMobile ? isMobile ? animationIn : \"none\" : animationIn;\n var useAnimationOut = animationOutOnlyMobile ? isMobile ? animationOut : \"none\" : animationOut;\n\n if (isMobileFirefox) {\n useAnimationIn = \"none\";\n useAnimationOut = \"none\";\n }\n\n return {\n useAnimationIn: useAnimationIn,\n useAnimationOut: useAnimationOut\n };\n }, []);\n}\n\nexport { useBannerAnimation };","export var BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER = 700;\nexport * from \"./types\";\nexport * from \"./contexts\";\nexport * from \"./hooks\";\nexport * from \"./inlineStyles\";\nexport * from \"./utils\";\nexport * from \"./components\";\nexport * from \"./others\";","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { createTcfModel } from \"@devowl-wp/cookie-consent-web-client\";\n\nvar cancelEvent = function cancelEvent(e) {\n if (!e) {\n return;\n }\n\n e.preventDefault(); // Some themes (e.g. AKEA) do have listeners on each link separately and do a custom redirect\n\n e.stopPropagation();\n};\n\nfunction useBannerStateContextCallbacks(_ref) {\n var toggleOverlay = _ref.toggleOverlay,\n _revokeConsent = _ref.revokeConsent;\n\n var toggleWithActiveAction = function toggleWithActiveAction(setContextValue, type) {\n return setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeAction: type,\n individualPrivacyOpen: true,\n refreshSiteAfterSave: type === \"change\" ? 2000 : false\n }, toggleOverlay(state, true));\n });\n };\n\n return {\n openHistory: function openHistory(setContextValue) {\n toggleWithActiveAction(setContextValue, \"history\");\n cancelEvent(arguments.length <= 1 ? undefined : arguments[1]);\n },\n openBanner: function openBanner(setContextValue) {\n toggleWithActiveAction(setContextValue, \"change\");\n cancelEvent(arguments.length <= 1 ? undefined : arguments[1]);\n },\n revokeConsent: function revokeConsent(setContextValue) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var successMessage = args[0],\n e = args[1];\n setContextValue(function (state) {\n _revokeConsent(state).then(function () {\n successMessage && alert(successMessage); // Always reload (always wait 2s to ensure opt-out scripts are exeucted)\n // Fix iOS / Safari bug when we want to reload the page after a POST request\n\n setTimeout(function () {\n return window.location.reload();\n }, 2000);\n }); // Do not change anything\n\n\n return state;\n });\n cancelEvent(e);\n },\n updateTcfFilterBy: function updateTcfFilterBy(setContextValue) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var newFilter = args[0];\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n tcfFilterBy: newFilter\n });\n });\n },\n updateIndividualPrivacyOpen: function updateIndividualPrivacyOpen(setContextValue) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n var opened = args[0];\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n individualPrivacyOpen: opened\n });\n });\n },\n updateGroupChecked: function updateGroupChecked(setContextValue) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n var id = args[0],\n checked = args[1];\n setContextValue(function (state) {\n var newConsent = JSON.parse(JSON.stringify(state.consent));\n\n if (checked) {\n newConsent.groups[id] = state.groups.filter(function (group) {\n return group.id === id;\n })[0].items.map(function (_ref2) {\n var id = _ref2.id;\n return id;\n });\n } else {\n delete newConsent.groups[id];\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n consent: newConsent,\n didGroupFirstChange: true\n });\n });\n },\n updateCookieChecked: function updateCookieChecked(setContextValue) {\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n var groupId = args[0],\n id = args[1],\n checked = args[2];\n setContextValue(function (state) {\n var newConsent = JSON.parse(JSON.stringify(state.consent)); // Initially create \"selected\" cookies\n\n if (!newConsent.groups[groupId]) {\n newConsent.groups[groupId] = [];\n }\n\n var cookieIds = newConsent.groups[groupId];\n var indexOf = cookieIds.indexOf(id);\n\n if (checked && indexOf === -1) {\n cookieIds.push(id);\n } else if (!checked && indexOf > -1) {\n cookieIds.splice(indexOf, 1);\n } // Delete group entirely when no cookies selected\n\n\n if (!cookieIds.length) {\n delete newConsent.groups[groupId];\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n consent: newConsent\n });\n });\n },\n onClose: function onClose(setContextValue) {\n setContextValue(function (state) {\n return _objectSpread(_objectSpread(_objectSpread({}, state), toggleOverlay(state, false)), {}, {\n // This should be set always by you again as it is one-time\n refreshSiteAfterSave: false\n });\n });\n },\n selectHistoryEntry: function selectHistoryEntry(setContextValue) {\n for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {\n args[_key6 - 1] = arguments[_key6];\n }\n\n var groups = args[0],\n consentGroups = args[1],\n tcf = args[2];\n setContextValue(function (state) {\n var additionalChanges = {\n // In case we previously used non-TCF functionality, do not show the TCF banner\n isTcf: !!tcf,\n tcf: null\n };\n\n if (process.env.IS_TCF === \"1\" && tcf) {\n Object.assign(additionalChanges, {\n tcf: \"gvl\" in tcf ? tcf : createTcfModel(tcf)\n });\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n groups: groups,\n consent: _objectSpread(_objectSpread({}, state.consent), {}, {\n groups: consentGroups\n })\n }, additionalChanges);\n });\n }\n };\n}\n\nexport { useBannerStateContextCallbacks };","import { useEffect } from \"react\";\nimport { parents } from \"@devowl-wp/headless-content-unblocker\";\nimport { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\nimport { useBanner } from \"../..\";\nvar HREF_MATCHER = '[href^=\"#consent-\"]';\n/**\n * Listen to anchor links and execute the banner action:\n *\n * ```\n * #consent-change\n * #consent-history\n * #consent-revoke\n * ```\n */\n\nfunction useBannerActionLinks() {\n var _useBanner = useBanner(),\n openBanner = _useBanner.openBanner,\n openHistory = _useBanner.openHistory,\n revokeConsent = _useBanner.revokeConsent;\n\n useEffect(function () {\n var handleType = function handleType(type, successMessage, e) {\n if (!openBanner) {\n // `useBannerActions` is not yet initialized.\n return;\n }\n\n switch (type) {\n case \"change\":\n openBanner(e);\n break;\n\n case \"history\":\n openHistory(e);\n break;\n\n case \"revoke\":\n revokeConsent(successMessage, e);\n break;\n\n default:\n break;\n }\n };\n\n var eventListenerDocumentClick = function eventListenerDocumentClick(e) {\n if (!openBanner) {\n // `useBannerActions` is not yet initialized.\n return;\n } // Check if one of the parents has a valid hash link\n\n\n var element = e.target;\n parents(element, HREF_MATCHER).concat(matchingSelector(element, HREF_MATCHER) ? [element] : []).forEach(function (parent) {\n handleType(parent.getAttribute(\"href\").slice(9), parent.getAttribute(\"data-success-message\"), e);\n }); // @deprecated Old behavior with simple links like `#change`\n\n if (matchingSelector(element, \".rcb-sc-link\")) {\n handleType(element.getAttribute(\"href\").slice(1), element.getAttribute(\"data-success-message\"), e);\n }\n };\n\n var eventListenerHashChange = function eventListenerHashChange() {\n var hash = window.location.hash;\n\n if (hash.startsWith(\"#consent-\")) {\n handleType(hash.substring(9), undefined, undefined);\n }\n };\n\n window.addEventListener(\"hashchange\", eventListenerHashChange);\n document.addEventListener(\"click\", eventListenerDocumentClick, true);\n return function () {\n window.removeEventListener(\"hashchange\", eventListenerHashChange);\n document.removeEventListener(\"click\", eventListenerDocumentClick, true);\n };\n }, [openBanner, openHistory, revokeConsent]);\n}\n\nexport { useBannerActionLinks };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useEffect, useState } from \"react\";\n\nfunction useResettableAnimation(animation, duration) {\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n i = _useState2[0],\n setI = _useState2[1];\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n j = _useState4[0],\n setJ = _useState4[1];\n\n var _useState5 = useState(animation),\n _useState6 = _slicedToArray(_useState5, 2),\n stateAnimation = _useState6[0],\n setStateAnimation = _useState6[1];\n\n var _useState7 = useState(undefined),\n _useState8 = _slicedToArray(_useState7, 2),\n stateAnimationReset = _useState8[0],\n setStateAnimationReset = _useState8[1];\n\n var _useState9 = useState(duration),\n _useState10 = _slicedToArray(_useState9, 2),\n stateDuration = _useState10[0],\n setStateDuration = _useState10[1];\n\n var _useState11 = useState(undefined),\n _useState12 = _slicedToArray(_useState11, 2),\n stateDurationReset = _useState12[0],\n setStateDurationReset = _useState12[1]; // Reset animation, save it temporary so when changing it, it needs to be to \"none\" and then the needed one\n\n\n useEffect(function () {\n // Avoid first rendering as the first is animated at mount-time\n if (i > 0) {\n if (animation === \"none\") {\n setStateAnimation(animation);\n } else {\n setStateAnimation(\"none\");\n setStateAnimationReset(animation);\n }\n }\n\n setI(i + 1);\n }, [animation]);\n useEffect(function () {\n // Avoid first rendering as the first is animated at mount-time\n if (j > 0) {\n if (duration === 0) {\n setStateDuration(duration);\n } else {\n setStateDuration(0);\n setStateDurationReset(duration);\n setStateAnimation(\"none\");\n setStateAnimationReset(animation);\n }\n }\n\n setJ(j + 1);\n }, [duration]);\n useEffect(function () {\n if (stateAnimationReset !== undefined) {\n setStateAnimation(stateAnimationReset);\n setStateAnimationReset(undefined);\n }\n }, [stateAnimationReset]);\n useEffect(function () {\n if (stateDurationReset !== undefined) {\n setStateDuration(stateDurationReset);\n setStateDurationReset(undefined);\n }\n }, [stateDurationReset]);\n return [stateAnimation, stateDuration];\n}\n\nexport { useResettableAnimation };","/**\n * @see https://stackoverflow.com/a/5624139/5506547\n * @param hex\n */\nfunction hexToRgb(hex) {\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n}\n\nexport { hexToRgb };","import { hexToRgb } from \".\";\n\n/**\n * @param hex\n * @param alpha 0 - 100\n */\nfunction calculateRgba(hex, alpha) {\n var _hexToRgb = hexToRgb(hex),\n r = _hexToRgb.r,\n g = _hexToRgb.g,\n b = _hexToRgb.b;\n\n return \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(alpha / 100, \")\");\n}\n\nexport { calculateRgba };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useEffect } from \"react\";\n\nfunction getAnimationRelatedState(_ref) {\n var isVisible = _ref.isVisible,\n animationIn = _ref.animationIn,\n animationOut = _ref.animationOut,\n animationInDuration = _ref.animationInDuration,\n animationOutDuration = _ref.animationOutDuration,\n animationInDelay = _ref.animationInDelay,\n animationOutDelay = _ref.animationOutDelay;\n return isVisible ? {\n animation: animationIn,\n duration: animationInDuration,\n delay: animationInDelay\n } : {\n animation: animationOut,\n duration: animationOutDuration,\n delay: animationOutDelay\n };\n}\n/**\n * Ported from https://www.npmjs.com/package/react-animated-css due to high bundle size.\n */\n\n\nvar AnimatedCss = function AnimatedCss(_ref2) {\n var _ref2$animateOnMount = _ref2.animateOnMount,\n animateOnMount = _ref2$animateOnMount === void 0 ? true : _ref2$animateOnMount,\n _ref2$isVisible = _ref2.isVisible,\n isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,\n _ref2$animationIn = _ref2.animationIn,\n animationIn = _ref2$animationIn === void 0 ? \"fadeIn\" : _ref2$animationIn,\n _ref2$animationOut = _ref2.animationOut,\n animationOut = _ref2$animationOut === void 0 ? \"fadeOut\" : _ref2$animationOut,\n _ref2$animationInDela = _ref2.animationInDelay,\n animationInDelay = _ref2$animationInDela === void 0 ? 0 : _ref2$animationInDela,\n _ref2$animationOutDel = _ref2.animationOutDelay,\n animationOutDelay = _ref2$animationOutDel === void 0 ? 0 : _ref2$animationOutDel,\n _ref2$animationInDura = _ref2.animationInDuration,\n animationInDuration = _ref2$animationInDura === void 0 ? 1000 : _ref2$animationInDura,\n _ref2$animationOutDur = _ref2.animationOutDuration,\n animationOutDuration = _ref2$animationOutDur === void 0 ? 1000 : _ref2$animationOutDur,\n _ref2$className = _ref2.className,\n className = _ref2$className === void 0 ? \"\" : _ref2$className,\n _ref2$style = _ref2.style,\n style = _ref2$style === void 0 ? {} : _ref2$style,\n children = _ref2.children;\n\n var _useState = useState(animateOnMount ? getAnimationRelatedState({\n isVisible: isVisible,\n animationIn: animationIn,\n animationOut: animationOut,\n animationInDelay: animationInDelay,\n animationOutDelay: animationOutDelay,\n animationInDuration: animationInDuration,\n animationOutDuration: animationOutDuration\n }) : {\n animation: \"\",\n delay: undefined,\n duration: 0\n }),\n _useState2 = _slicedToArray(_useState, 2),\n _useState2$ = _useState2[0],\n animation = _useState2$.animation,\n duration = _useState2$.duration,\n delay = _useState2$.delay,\n setAnimationRelatedState = _useState2[1];\n\n useEffect(function () {\n setAnimationRelatedState(getAnimationRelatedState({\n isVisible: isVisible,\n animationIn: animationIn,\n animationOut: animationOut,\n animationInDelay: animationInDelay,\n animationOutDelay: animationOutDelay,\n animationInDuration: animationInDuration,\n animationOutDuration: animationOutDuration\n }));\n }, [isVisible, animationIn, animationOut, animationInDelay, animationOutDelay, animationInDuration, animationOutDuration]);\n var classes = \"animate__animated animate__\".concat(animation, \" \").concat(className);\n var backwardStyle = !animation ? {\n opacity: isVisible ? 1 : 0,\n transition: \"opacity \".concat(delay, \"ms\")\n } : {};\n return h(\"div\", {\n className: classes,\n style: _objectSpread(_objectSpread({\n animationDelay: \"\".concat(delay, \"ms\"),\n animationDuration: \"\".concat(duration, \"ms\"),\n pointerEvents: isVisible ? \"all\" : \"none\"\n }, style), backwardStyle)\n }, children);\n};\n\nexport { AnimatedCss };","import { useEffect } from \"react\";\nimport { useBanner } from \"../contexts\";\nimport { usePlainCss } from \".\";\n/**\n * Pass an HTML refs and we will provide a root stylesheet with the height dimensions and variables\n * with the calculated height. This is needed as we need to do some positioning of header and footer.\n */\n\nfunction useRenderedHeightsAsCssVars(element, name) {\n var _useBanner = useBanner(),\n pageRequestUuid4 = _useBanner.pageRequestUuid4; // We do directly modify the inline CSS as we do not want to trigger a rerender for the complete banner content\n\n\n var cssId = usePlainCss(\"\", \"useRenderedHeightsAsCssVars-\".concat(name));\n var cssElement = document.getElementById(cssId);\n useEffect(function () {\n var previousHeight = 0;\n\n var recalculate = function recalculate() {\n var currentHeight = element.getBoundingClientRect().height;\n\n if (previousHeight !== currentHeight) {\n previousHeight = currentHeight;\n cssElement.innerHTML = \"#\".concat(pageRequestUuid4, \"{--rendered-height-\").concat(name, \": \").concat(Math.floor(currentHeight), \"px;--rendered-height-raw-\").concat(name, \": \").concat(currentHeight, \"px}\");\n }\n };\n\n if (!element) {\n return function () {// Silence is golden.\n };\n } // Support animations\n\n\n var animateContainer = document.querySelector(\"#\".concat(pageRequestUuid4, \" div[class*=\\\"animate__\\\"]\"));\n animateContainer.addEventListener(\"animationend\", recalculate);\n\n if (window.ResizeObserver) {\n var ro = new ResizeObserver(recalculate);\n ro.observe(element);\n return function () {\n ro.disconnect();\n animateContainer.removeEventListener(\"animationend\", recalculate);\n };\n } else {\n var interval = setInterval(recalculate, 150);\n return function () {\n clearInterval(interval);\n animateContainer.removeEventListener(\"animationend\", recalculate);\n };\n }\n }, [element, name]);\n}\n\nexport { useRenderedHeightsAsCssVars };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { useBanner } from \"../..\";\nimport { useCallback } from \"react\";\n/**\n * Provide callbacks for all the available button types in our cookie banner:\n *\n * - Accept all\n * - Continue without consent (accept essentials)\n * - Save custom choices (no changes to the current selected groups and services)\n * - Change individual privacy preferences\n */\n\nfunction useBannerButtonCallbacks() {\n var _useBanner = useBanner(),\n individualPrivacyOpen = _useBanner.individualPrivacyOpen,\n onSave = _useBanner.onSave,\n updateGroupChecked = _useBanner.updateGroupChecked,\n updateCookieChecked = _useBanner.updateCookieChecked,\n groups = _useBanner.groups,\n essentialGroup = _useBanner.essentialGroup,\n updateIndividualPrivacyOpen = _useBanner.updateIndividualPrivacyOpen,\n activeAction = _useBanner.activeAction,\n onClose = _useBanner.onClose;\n\n var buttonClickedAll = individualPrivacyOpen ? \"ind_all\" : \"main_all\";\n var buttonClickedEssentials = individualPrivacyOpen ? \"ind_essential\" : \"main_essential\";\n var buttonClickedCloseIcon = individualPrivacyOpen ? \"ind_close_icon\" : \"main_close_icon\";\n var buttonClickedCustom = individualPrivacyOpen ? \"ind_custom\" : \"main_custom\";\n var result = {\n buttonClickedAll: buttonClickedAll,\n buttonClickedEssentials: buttonClickedEssentials,\n buttonClickedCloseIcon: buttonClickedCloseIcon,\n buttonClickedCustom: buttonClickedCustom,\n acceptAll: useCallback(function () {\n groups.forEach(function (g) {\n return updateGroupChecked(g.id, true);\n });\n onSave(false, buttonClickedAll);\n }, [buttonClickedAll]),\n\n /**\n * This includes the complete \"Essential\" group + legal basis = legitimate interests.\n */\n acceptEssentials: useCallback(function () {\n var isCloseIcon = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n groups.forEach(function (_ref) {\n var slug = _ref.slug,\n id = _ref.id,\n items = _ref.items;\n\n if (slug === essentialGroup) {\n updateGroupChecked(id, true);\n } else {\n var _iterator = _createForOfIteratorHelper(items),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _step.value,\n legalBasis = _step$value.legalBasis,\n cookieId = _step$value.id;\n updateCookieChecked(id, cookieId, legalBasis === \"legitimate-interest\");\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n });\n onSave(false, isCloseIcon ? buttonClickedCloseIcon : buttonClickedEssentials);\n }, [buttonClickedEssentials]),\n acceptIndividual: useCallback(function () {\n return onSave(false, buttonClickedCustom);\n }, [buttonClickedCustom]),\n openIndividualPrivacy: useCallback(function () {\n updateIndividualPrivacyOpen(true);\n }, [updateIndividualPrivacyOpen])\n };\n return _objectSpread(_objectSpread({}, result), {}, {\n closeIcon: useCallback(function () {\n if (!activeAction) {\n // If we do not have yet a consent and it shows the banner for the first time,\n // the close icon is equivalent to \"Continue without consent\"\n result.acceptEssentials(true);\n } else {\n onClose();\n }\n }, [activeAction, onClose, result.acceptEssentials])\n });\n}\n\nexport { useBannerButtonCallbacks };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\n/**\n * Portals provide a first-class way to render children into a DOM node that exists outside the DOM hierarchy of the parent component.\n *\n * @see https://reactjs.org/docs/portals.html\n */\n\nvar Portal = function Portal(_ref) {\n var children = _ref.children,\n className = _ref.className,\n _ref$tag = _ref.tag,\n tag = _ref$tag === void 0 ? \"div\" : _ref$tag,\n renderInContainer = _ref.renderInContainer;\n\n var _useState = useState(function () {\n var el = document.createElement(tag);\n className && el.classList.add(className);\n return el;\n }),\n _useState2 = _slicedToArray(_useState, 1),\n renderIn = _useState2[0]; // Append container to `body`\n\n\n useEffect(function () {\n document.body.appendChild(renderIn);\n return function () {\n document.body.removeChild(renderIn);\n };\n }, []);\n return /*#__PURE__*/createPortal(children, renderInContainer || renderIn);\n};\n\nexport { Portal };","import { useMemo, useRef, Fragment } from \"react\";\nimport { useRect } from \"@reach/rect\";\nimport { usePlainCss } from \"../hooks\";\nimport { Portal, Tooltip } from \".\";\nvar counter = 0;\n/**\n * A portaled close icon creates a close icon rendered to a given container. This allows\n * you to put the close icon on the top right corner of an `overflow:hidden` container and\n * the tooltip gets rendered correctly.\n */\n\nvar CloseIcon = function CloseIcon(_ref) {\n var width = _ref.width,\n color = _ref.color,\n tooltipText = _ref.tooltipText,\n framed = _ref.framed,\n renderInContainer = _ref.renderInContainer,\n tooltipAlways = _ref.tooltipAlways,\n onClick = _ref.onClick,\n _ref$thickness = _ref.thickness,\n thickness = _ref$thickness === void 0 ? 1 : _ref$thickness;\n var idCloseIconNotPortaled = useMemo(function () {\n return \"react-close-icon-\".concat((counter++).toString(36));\n }, []);\n var idCloseIconPortaled = useMemo(function () {\n return \"react-close-icon-\".concat((counter++).toString(36));\n }, []);\n /**\n * Why two containers for a simple close icon? I need to explain something technical here.\n * Our complete banner/dialog is tainted with `overflow:hidden` due to flickering effects\n * with animate.css etc. We will now create an invisible element with the placeholder,\n * we will then read its positioning (rect) and generate the visible close icon based on this position.\n */\n\n var idCloseIconPlaceholder = useMemo(function () {\n return \"react-close-icon-\".concat((counter++).toString(36));\n }, []);\n var ref = useRef();\n var rect = useRect(ref);\n usePlainCss(\"#\".concat(idCloseIconPlaceholder, \", #\").concat(idCloseIconNotPortaled, \" {\\n position: absolute;\\n top: 50%;\\n right: 0;\\n margin-top: calc(\").concat(width, \"px / 2 * -1);\\n display: block;\\n width: \").concat(width, \"px;\\n height: \").concat(width, \"px; \\n pointer-events: none;\\n}\\n\\n#\").concat(idCloseIconNotPortaled, \" {\\n position: absolute !important;\\n}\\n\\n#\").concat(idCloseIconNotPortaled, \", #\").concat(idCloseIconPortaled, \" {\\n cursor: pointer;\\n pointer-events: all;\\n \").concat(framed ? \"outline: rgb(255, 94, 94) solid 5px;\" : \"\", \"\\n}\\n\\n#\").concat(idCloseIconPortaled, \" {\\n position: fixed !important;\\n \").concat(rect ? \"top: \".concat(rect.y, \"px;left: \").concat(rect.x, \"px;display:block;\") : \"display:none;\", \"\\n width: \").concat(width, \"px;\\n height: \").concat(width, \"px;\\n z-index: 99;\\n}\\n#\").concat(idCloseIconPortaled, \":after, #\").concat(idCloseIconNotPortaled, \":after {\\n width: auto !important;\\n white-space: nowrap !important;\\n}\\n#\").concat(idCloseIconPortaled, \">span:before, #\").concat(idCloseIconPortaled, \">span:after,\\n#\").concat(idCloseIconNotPortaled, \">span:before, #\").concat(idCloseIconNotPortaled, \">span:after {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: \").concat(thickness, \"px;\\n height: \").concat(width, \"px;\\n background-color: \").concat(color, \";\\n transform: rotate(45deg) translate(-50%, -50%);\\n transform-origin: top left;\\n transition: all 420ms;\\n content: '';\\n opacity: 0.5;\\n pointer-events: none;\\n}\\n#\").concat(idCloseIconPortaled, \">span:after,\\n#\").concat(idCloseIconNotPortaled, \">span:after {\\n transform: rotate(-45deg) translate(-50%, -50%);\\n}\\n#\").concat(idCloseIconPortaled, \">span:hover:before, #\").concat(idCloseIconPortaled, \">span:hover:after,\\n#\").concat(idCloseIconNotPortaled, \">span:hover:before, #\").concat(idCloseIconNotPortaled, \">span:hover:after {\\n opacity: 1;\\n width: \").concat(thickness + 1, \"px;\\n}\"));\n return renderInContainer ? h(Fragment, null, h(\"div\", {\n id: idCloseIconPlaceholder,\n ref: ref\n }), (rect === null || rect === void 0 ? void 0 : rect.y) > 0 && h(Portal, {\n renderInContainer: renderInContainer\n }, h(Tooltip, {\n title: tooltipText,\n id: idCloseIconPortaled,\n onClick: onClick,\n position: rect.y > 50 ? \"top-left\" : \"left\",\n always: tooltipAlways\n }, h(\"span\", null)))) : h(Tooltip, {\n title: tooltipText,\n id: idCloseIconNotPortaled,\n onClick: onClick,\n position: \"top-left\",\n always: tooltipAlways\n }, h(\"span\", null));\n};\n\nexport { CloseIcon };","import { useBanner, useBannerButtonCallbacks, scaleMobile, CloseIcon, BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER } from \"../../..\";\n\nvar BannerCloseIcon = function BannerCloseIcon() {\n var _useBanner = useBanner(),\n _useBanner$headerDesi = _useBanner.headerDesign,\n fontSize = _useBanner$headerDesi.fontSize,\n fontColor = _useBanner$headerDesi.fontColor,\n acceptEssentials = _useBanner.texts.acceptEssentials,\n mobile = _useBanner.mobile,\n activeAction = _useBanner.activeAction,\n pageRequestUuid4 = _useBanner.pageRequestUuid4,\n _useBanner$i18n = _useBanner.i18n,\n close = _useBanner$i18n.close,\n closeWithoutSaving = _useBanner$i18n.closeWithoutSaving,\n _useBanner$buttonClic = _useBanner.buttonClicked,\n buttonClicked = _useBanner$buttonClic === void 0 ? \"\" : _useBanner$buttonClic;\n\n var _useBannerButtonCallb = useBannerButtonCallbacks(),\n buttonClickedCloseIcon = _useBannerButtonCallb.buttonClickedCloseIcon,\n closeIcon = _useBannerButtonCallb.closeIcon;\n\n var container = document.getElementById(pageRequestUuid4);\n return h(CloseIcon, {\n width: scaleMobile(mobile, pageRequestUuid4, fontSize),\n color: fontColor,\n tooltipText: activeAction ? activeAction === \"change\" ? closeWithoutSaving : close : acceptEssentials,\n tooltipAlways: (container === null || container === void 0 ? void 0 : container.clientWidth) < BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER,\n framed: buttonClicked === buttonClickedCloseIcon,\n renderInContainer: container,\n onClick: closeIcon\n });\n};\n\nexport { BannerCloseIcon };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useBanner, bannerHeaderInlineStyleContainer, bannerHeaderInlineStyle, bannerHeaderInlineStyleLogo, commonInlineStyleHeaderHeadline, BannerCloseIcon } from \"../../..\";\nimport { forwardRef } from \"react\"; // eslint-disable-next-line react/display-name\n\nvar BannerHeader = /*#__PURE__*/forwardRef(function (_, ref) {\n var banner = useBanner();\n var _banner$headerDesign = banner.headerDesign,\n logo = _banner$headerDesign.logo,\n logoRetina = _banner$headerDesign.logoRetina,\n showCloseIcon = banner.decision.showCloseIcon,\n headline = banner.texts.headline,\n activeAction = banner.activeAction,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n individualTexts = banner.individualTexts,\n headerTitlePrivacyPolicyHistory = banner.i18n.headerTitlePrivacyPolicyHistory; // Calculate logo\n\n var useRetina = logoRetina && !(logo !== null && logo !== void 0 && logo.endsWith(\".svg\")) && window.devicePixelRatio > 1;\n var useLogo = useRetina ? logoRetina : logo; // Calculate headline\n\n var useHeadline = individualPrivacyOpen ? activeAction === \"history\" ? headerTitlePrivacyPolicyHistory : individualTexts.headline : headline;\n return h(\"div\", _extends({\n ref: ref\n }, bannerHeaderInlineStyleContainer(banner)), h(\"div\", bannerHeaderInlineStyle(banner), !!useLogo && h(\"img\", _extends({\n alt: \"\",\n src: useLogo\n }, bannerHeaderInlineStyleLogo(banner, useRetina))), !!useHeadline && h(\"div\", commonInlineStyleHeaderHeadline(banner, false), useHeadline), (!!showCloseIcon || !!activeAction) && h(BannerCloseIcon, null)));\n});\nexport { BannerHeader };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyleContainer(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogBorderRadius = _ref$layout.dialogBorderRadius,\n _ref$design = _ref.design,\n borderWidth = _ref$design.borderWidth,\n borderColor = _ref$design.borderColor,\n restDesign = _objectWithoutProperties(_ref$design, [\"borderWidth\", \"borderColor\"]),\n _ref$headerDesign = _ref.headerDesign,\n inheritBg = _ref$headerDesign.inheritBg,\n bg = _ref$headerDesign.bg,\n padding = _ref$headerDesign.padding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n\n var useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n var style = {\n padding: scaleMobile(mobile, pageRequestUuid4, padding, undefined, true).map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n background: inheritBg ? restDesign.bg : bg,\n borderRadius: useType === \"dialog\" ? \"\".concat(dialogBorderRadius, \"px \").concat(dialogBorderRadius, \"px 0 0\") : undefined,\n position: \"sticky\",\n zIndex: 9,\n top: 0\n };\n\n if (useType === \"dialog\" && useBorderWidth > 0) {\n style.borderTop = \"\".concat(useBorderWidth, \"px solid \").concat(borderColor);\n style.borderLeft = style.borderTop;\n style.borderRight = style.borderTop;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header-container\",\n style: style\n };\n}\n\nexport { bannerHeaderInlineStyleContainer };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyle(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n bannerMaxWidth = _ref$layout.bannerMaxWidth,\n textAlign = _ref.design.textAlign,\n _ref$headerDesign = _ref.headerDesign,\n inheritTextAlign = _ref$headerDesign.inheritTextAlign,\n logo = _ref$headerDesign.logo,\n logoPosition = _ref$headerDesign.logoPosition,\n restHeaderDesign = _objectWithoutProperties(_ref$headerDesign, [\"inheritTextAlign\", \"logo\", \"logoPosition\"]),\n headline = _ref.texts.headline,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n individualPrivacyOpen = _ref.individualPrivacyOpen;\n\n var useTextAlign = inheritTextAlign ? textAlign : restHeaderDesign.textAlign;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header\",\n style: {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\",\n display: \"flex\",\n justifyContent: useTextAlign === \"center\" ? \"center\" : useTextAlign === \"right\" ? \"flex-end\" : undefined,\n textAlign: useTextAlign,\n alignItems: \"center\",\n position: \"relative\",\n flexDirection: logo && headline ? logoPosition === \"left\" ? \"row\" : logoPosition === \"right\" ? \"row-reverse\" : \"column\" : undefined\n }\n };\n}\n\nexport { bannerHeaderInlineStyle };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyleLogo(_ref, isRetina) {\n var _ref$headerDesign = _ref.headerDesign,\n logoMaxHeight = _ref$headerDesign.logoMaxHeight,\n logoMargin = _ref$headerDesign.logoMargin,\n logoFitDim = _ref$headerDesign.logoFitDim,\n logoRetinaFitDim = _ref$headerDesign.logoRetinaFitDim,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useFitDim = isRetina ? logoRetinaFitDim : logoFitDim;\n var dimStyle = useFitDim ? {\n width: useFitDim[0],\n height: useFitDim[1]\n } : {\n width: \"auto\",\n height: scaleMobile(mobile, pageRequestUuid4, +logoMaxHeight)\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-logo\",\n style: _objectSpread(_objectSpread({}, dimStyle), {}, {\n margin: scaleMobile(mobile, pageRequestUuid4, logoMargin).map(function (m) {\n return \"\".concat(m, \"px\");\n }).join(\" \") //[logoPosition === \"left\" ? \"marginRight\" : \"marginLeft\"]: logoPosition === \"above\" ? undefined : 15,\n //marginBottom: logoPosition === \"above\" ? 5 : undefined\n\n })\n };\n}\n\nexport { bannerHeaderInlineStyleLogo };","import { useBanner, bannerGroupsInlineStyleTitle, bannerGroupsInlineStyleDescription } from \"../../..\";\n\nvar BannerGroupSectionTitle = function BannerGroupSectionTitle(_ref) {\n var title = _ref.title,\n children = _ref.children;\n var banner = useBanner();\n return h(\"div\", bannerGroupsInlineStyleTitle(banner), title, children && h(\"div\", bannerGroupsInlineStyleDescription(banner), children));\n};\n\nexport { BannerGroupSectionTitle };","import { scaleMobile } from \"../..\";\n\nfunction bannerGroupsInlineStyleTitle(_ref) {\n var _ref$group = _ref.group,\n headlineFontSize = _ref$group.headlineFontSize,\n headlineFontColor = _ref$group.headlineFontColor,\n headlineFontWeight = _ref$group.headlineFontWeight,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group\",\n style: {\n color: headlineFontColor,\n fontSize: scaleMobile(mobile, pageRequestUuid4, headlineFontSize),\n fontWeight: headlineFontWeight,\n textAlign: \"left\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyleTitle };","import { scaleMobile } from \"../..\";\n\nfunction bannerGroupsInlineStyleDescription(_ref) {\n var fontWeight = _ref.design.fontWeight,\n _ref$group = _ref.group,\n descriptionFontColor = _ref$group.descriptionFontColor,\n descriptionFontSize = _ref$group.descriptionFontSize,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group-description\",\n style: {\n color: descriptionFontColor,\n fontSize: scaleMobile(mobile, pageRequestUuid4, +descriptionFontSize),\n fontWeight: fontWeight,\n marginTop: 5\n }\n };\n}\n\nexport { bannerGroupsInlineStyleDescription };","import { useCallback } from \"react\";\nimport { useBanner, Cookie } from \"../../..\";\n\nvar BannerCookie = function BannerCookie(_ref) {\n var _consent$groups;\n\n var group = _ref.group,\n cookie = _ref.cookie;\n var id = cookie.id;\n var banner = useBanner();\n var consent = banner.consent,\n activeAction = banner.activeAction,\n essentialGroup = banner.essentialGroup;\n var isEssentialGroup = essentialGroup === group.slug;\n var isDisabled = isEssentialGroup || activeAction === \"history\";\n var isChecked = isEssentialGroup || (((_consent$groups = consent.groups) === null || _consent$groups === void 0 ? void 0 : _consent$groups[group.id]) || []).some(function (c) {\n return c === id;\n });\n var handleCheckbox = useCallback(function () {\n return !isDisabled && banner.updateCookieChecked(group.id, id, !isChecked);\n }, [isDisabled, banner, group, id, isChecked]);\n return h(Cookie, {\n cookie: cookie,\n propertyListProps: {\n isEssentialGroup: isEssentialGroup\n },\n checked: isChecked,\n disabled: isDisabled,\n onToggleCheck: handleCheckbox\n });\n};\n\nexport { BannerCookie };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useLayoutEffect, Fragment, useCallback } from \"react\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { CheckOutlined, MinusOutlined } from \"@ant-design/icons-svg\";\nimport { useBanner, bannerGroupsInlineStyleGroup, commonInlineStyleGroupsCheckbox, commonGroupsInlineStyleLinkMore, PlainAntdIconAsSvg, BannerGroupSectionTitle, BannerCookie } from \"../../..\";\n\nvar BannerGroup = function BannerGroup(_ref) {\n var _consent$groups$id;\n\n var group = _ref.group;\n var banner = useBanner();\n var id = group.id,\n slug = group.slug,\n name = group.name,\n description = group.description,\n items = group.items;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRendered = _useState2[0],\n setIsRendered = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isHover = _useState4[0],\n setIsHover = _useState4[1];\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n isOpen = _useState6[0],\n setIsOpen = _useState6[1];\n\n var previewCheckboxActiveState = banner.previewCheckboxActiveState,\n _banner$individualTex = banner.individualTexts,\n showMore = _banner$individualTex.showMore,\n hideMore = _banner$individualTex.hideMore,\n consent = banner.consent,\n activeAction = banner.activeAction,\n essentialGroup = banner.essentialGroup;\n useLayoutEffect(function () {\n setIsRendered(true);\n }, []);\n var isEssentialGroup = essentialGroup === slug;\n var isDisabled = isEssentialGroup || activeAction === \"history\";\n var isChecked = previewCheckboxActiveState || isEssentialGroup || !!consent.groups[id];\n var isPartial = !isEssentialGroup && JSON.stringify(items.map(function (_ref2) {\n var id = _ref2.id;\n return id;\n }).sort()) !== JSON.stringify(((_consent$groups$id = consent.groups[id]) === null || _consent$groups$id === void 0 ? void 0 : _consent$groups$id.sort()) || []);\n var CheckboxIcon = isPartial ? MinusOutlined : CheckOutlined;\n var handleCheckbox = useCallback(function () {\n return !isDisabled && banner.updateGroupChecked(id, !isChecked);\n }, [isDisabled, banner, id, isChecked]);\n return h(\"div\", bannerGroupsInlineStyleGroup(banner), h(BannerGroupSectionTitle, {\n title: h(Fragment, null, h(PlainAntdIconAsSvg, _extends({\n icon: CheckboxIcon,\n onClick: handleCheckbox\n }, commonInlineStyleGroupsCheckbox(banner, isRendered, isChecked, isDisabled))), h(\"span\", {\n style: {\n verticalAlign: \"middle\",\n cursor: \"pointer\"\n },\n onClick: handleCheckbox\n }, name, \" (\", items.length, \")\"))\n }, description, !!items && h(Fragment, null, \"\\xA0\\xA0\\u2022\\xA0\\xA0\", h(\"a\", _extends({\n href: \"#\"\n }, commonGroupsInlineStyleLinkMore(banner, isHover), {\n onClick: function onClick(e) {\n setIsOpen(!isOpen);\n e.preventDefault();\n },\n onMouseEnter: function onMouseEnter() {\n return setIsHover(true);\n },\n onMouseLeave: function onMouseLeave() {\n return setIsHover(false);\n }\n }), isOpen ? hideMore : showMore), isOpen && items.map(function (cookie) {\n return h(BannerCookie, {\n key: cookie.id,\n group: group,\n cookie: cookie\n });\n }))));\n};\n\nexport { BannerGroup };","import { scaleMobile } from \"../..\";\n\nfunction bannerGroupsInlineStyleGroup(_ref) {\n var _ref$group = _ref.group,\n groupBg = _ref$group.groupBg,\n groupBorderRadius = _ref$group.groupBorderRadius,\n groupBorderColor = _ref$group.groupBorderColor,\n groupPadding = _ref$group.groupPadding,\n groupBorderWidth = _ref$group.groupBorderWidth,\n groupInheritBg = _ref$group.groupInheritBg,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useGroupBorderWidth = scaleMobile(mobile, pageRequestUuid4, groupBorderWidth);\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group\",\n style: {\n background: groupInheritBg ? undefined : groupBg,\n border: useGroupBorderWidth > 0 ? \"\".concat(useGroupBorderWidth, \"px solid \").concat(groupBorderColor) : undefined,\n padding: scaleMobile(mobile, pageRequestUuid4, groupPadding).map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n borderRadius: +groupBorderRadius,\n textAlign: \"left\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyleGroup };","import { scaleMobile, useBanner, bannerGroupsInlineStyle, BannerGroup } from \"../../..\";\nimport { Fragment } from \"react\";\n\nvar BannerGroupList = function BannerGroupList() {\n var banner = useBanner();\n var groups = banner.groups,\n groupSpacing = banner.group.groupSpacing,\n mobile = banner.mobile,\n pageRequestUuid4 = banner.pageRequestUuid4;\n var useGroups = groups.filter(function (_ref) {\n var items = _ref.items;\n return items.length;\n });\n return h(\"div\", bannerGroupsInlineStyle(banner), useGroups.map(function (group, index) {\n return h(Fragment, {\n key: group.id\n }, h(BannerGroup, {\n key: group.id,\n group: group\n }), index !== useGroups.length - 1 && h(\"div\", {\n style: {\n height: scaleMobile(mobile, pageRequestUuid4, +groupSpacing)\n }\n }));\n }));\n};\n\nexport { BannerGroupList };","function bannerGroupsInlineStyle(_ref) {\n var antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-groups\",\n style: {\n marginTop: 10,\n clear: \"both\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyle };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useLayoutEffect, Fragment, useCallback } from \"react\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { CheckOutlined } from \"@ant-design/icons-svg\";\nimport { useBanner } from \"../../../contexts\";\nimport { bannerInlineStyleBodyDottedGroupItem, commonInlineStyleGroupsCheckbox, bannerInlineStyleBodyDottedGroupBullet } from \"../../../inlineStyles\";\nimport { PlainAntdIconAsSvg } from \"../..\";\n\nvar BannerDottedGroup = function BannerDottedGroup(_ref) {\n var _ref$group = _ref.group,\n id = _ref$group.id,\n slug = _ref$group.slug,\n name = _ref$group.name;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRendered = _useState2[0],\n setIsRendered = _useState2[1];\n\n var banner = useBanner();\n var groupsFirstView = banner.decision.groupsFirstView,\n fontSize = banner.design.fontSize,\n consent = banner.consent,\n essentialGroup = banner.essentialGroup;\n var isPro = process.env.PLUGIN_CTX === \"pro\";\n useLayoutEffect(function () {\n setIsRendered(true);\n }, []);\n var isEssentialGroup = essentialGroup === slug;\n var isChecked = isEssentialGroup || !!consent.groups[id];\n var handleCheckbox = useCallback(function () {\n return isPro && groupsFirstView && !isEssentialGroup && banner.updateGroupChecked(id, !isChecked);\n }, [isPro, isEssentialGroup, banner, id, isChecked, groupsFirstView]);\n return h(\"span\", _extends({\n key: name\n }, bannerInlineStyleBodyDottedGroupItem(banner)), h(\"span\", null, isPro && groupsFirstView ? h(PlainAntdIconAsSvg, _extends({\n icon: CheckOutlined,\n onClick: handleCheckbox\n }, commonInlineStyleGroupsCheckbox(banner, isRendered, isChecked, isEssentialGroup, fontSize))) : h(Fragment, null, h(\"strong\", bannerInlineStyleBodyDottedGroupBullet(banner), \"\\u25CF\"), \"\\xA0\"), h(\"span\", {\n style: {\n verticalAlign: \"middle\",\n cursor: groupsFirstView ? \"pointer\" : undefined\n },\n onClick: handleCheckbox\n }, name)));\n};\n\nexport { BannerDottedGroup };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBodyDottedGroupItem(_ref) {\n var fontSize = _ref.design.fontSize,\n _ref$bodyDesign = _ref.bodyDesign,\n dottedGroupsInheritFontSize = _ref$bodyDesign.dottedGroupsInheritFontSize,\n dottedGroupsFontSize = _ref$bodyDesign.dottedGroupsFontSize,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: undefined,\n style: {\n paddingRight: 10,\n fontSize: scaleMobile(mobile, pageRequestUuid4, dottedGroupsInheritFontSize ? +fontSize : +dottedGroupsFontSize),\n whiteSpace: \"nowrap\",\n display: \"inline-block\"\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroupItem };","function bannerInlineStyleBodyDottedGroupBullet(_ref) {\n var dottedGroupsBulletColor = _ref.bodyDesign.dottedGroupsBulletColor;\n return {\n className: undefined,\n style: {\n color: dottedGroupsBulletColor\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroupBullet };","import { BannerDottedGroup } from \".\";\nimport { useBanner, bannerInlineStyleBodyDottedGroups } from \"../../..\";\n\nvar BannerDottedGroupList = function BannerDottedGroupList() {\n var banner = useBanner();\n var groups = banner.groups,\n showGroups = banner.decision.showGroups;\n return showGroups ? h(\"div\", bannerInlineStyleBodyDottedGroups(banner), groups.filter(function (_ref) {\n var items = _ref.items;\n return !!items.length;\n }).map(function (group) {\n return h(BannerDottedGroup, {\n key: group.id,\n group: group\n });\n })) : null;\n};\n\nexport { BannerDottedGroupList };","function bannerInlineStyleBodyDottedGroups(_ref) {\n var antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-dotted-groups\",\n style: {\n marginTop: 10,\n lineBreak: \"anywhere\",\n lineHeight: 2\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroups };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useBanner, bannerInlineStyleHistorySelect, bannerInlineStyleHistorySelectOption } from \"../../..\";\nimport { useMemo } from \"react\";\nimport { Fragment, useState, useEffect } from \"react\";\nvar SELECT_NONE = -1;\n\nvar BannerHistorySelect = function BannerHistorySelect() {\n var banner = useBanner();\n\n var _useState = useState(SELECT_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n selectedId = _useState2[0],\n setSelectedId = _useState2[1];\n\n var activeAction = banner.activeAction,\n history = banner.history,\n selectHistoryEntry = banner.selectHistoryEntry,\n _banner$i18n = banner.i18n,\n historyLabel = _banner$i18n.historyLabel,\n historySelectNone = _banner$i18n.historySelectNone;\n var selectedHistoryItem = useMemo(function () {\n var _history$filter;\n\n return history === null || history === void 0 ? void 0 : (_history$filter = history.filter(function (_ref) {\n var id = _ref.id;\n return id === selectedId;\n })) === null || _history$filter === void 0 ? void 0 : _history$filter[0];\n }, [selectedId]); // Reset select after exit history dialog\n\n useEffect(function () {\n if (!activeAction) {\n setSelectedId(SELECT_NONE);\n } else if (activeAction === \"history\" && history !== null && history !== void 0 && history.length) {\n setSelectedId(history[0].id);\n }\n }, [activeAction, history]); // History can only contain my data, so we can pick the first entry for the history\n\n var uuid = selectedHistoryItem === null || selectedHistoryItem === void 0 ? void 0 : selectedHistoryItem.uuid;\n var optionStyle = bannerInlineStyleHistorySelectOption(banner);\n return h(Fragment, null, historyLabel, \"\\xA0\", h(\"select\", _extends({}, bannerInlineStyleHistorySelect(banner), {\n disabled: !(history !== null && history !== void 0 && history.length),\n value: selectedId,\n onChange: function onChange(e) {\n var value = +e.target.value;\n history.forEach(function (_ref2) {\n var id = _ref2.id,\n decision = _ref2.decision,\n groups = _ref2.groups,\n tcf = _ref2.tcf;\n\n if (id === value) {\n setSelectedId(id);\n selectHistoryEntry(groups, decision, tcf);\n }\n });\n }\n }), (history === null || history === void 0 ? void 0 : history.length) > 0 ? history.map(function (_ref3) {\n var id = _ref3.id,\n isDoNotTrack = _ref3.isDoNotTrack,\n isUnblock = _ref3.isUnblock,\n isForwarded = _ref3.isForwarded,\n created = _ref3.created;\n return h(\"option\", _extends({\n key: id,\n value: id\n }, optionStyle), new Date(created).toLocaleString(document.documentElement.lang), isDoNotTrack ? \" (Do Not Track)\" : \"\", isUnblock ? \" (Content Blocker)\" : \"\", isForwarded ? \" (Consent Forwarding)\" : \"\");\n }) : h(\"option\", _extends({\n value: SELECT_NONE\n }, optionStyle), historySelectNone)), !!uuid && h(\"div\", {\n style: {\n opacity: 0.5,\n marginTop: 5\n }\n }, \"UUID: \", uuid));\n};\n\nexport { BannerHistorySelect };","import { calculateRgba } from \"../../../utils\";\nimport { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleHistorySelect(_ref) {\n var _ref$design = _ref.design,\n fontSize = _ref$design.fontSize,\n fontColor = _ref$design.fontColor,\n _ref$bodyDesign = _ref.bodyDesign,\n descriptionInheritFontSize = _ref$bodyDesign.descriptionInheritFontSize,\n descriptionFontSize = _ref$bodyDesign.descriptionFontSize,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-history-select\",\n style: {\n fontSize: scaleMobile(mobile, pageRequestUuid4, descriptionInheritFontSize ? +fontSize : +descriptionFontSize),\n background: \"transparent\",\n border: 0,\n color: fontColor,\n borderBottom: \"1px solid \".concat(calculateRgba(fontColor, 50))\n }\n };\n}\n\nexport { bannerInlineStyleHistorySelect };","function bannerInlineStyleHistorySelectOption(_ref) {\n var bg = _ref.design.bg;\n return {\n className: undefined,\n style: {\n background: bg\n }\n };\n}\n\nexport { bannerInlineStyleHistorySelectOption };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerButtonsInlineStyleCommon(_ref, mobile, isHover, framed, isTwoButtonRowLayout) {\n var name = _ref.name,\n order = _ref.order,\n type = _ref.type,\n borderRadius = _ref.borderRadius,\n bg = _ref.bg,\n hoverBg = _ref.hoverBg,\n fontSize = _ref.fontSize,\n textAlign = _ref.textAlign,\n fontColor = _ref.fontColor,\n fontWeight = _ref.fontWeight,\n hoverFontColor = _ref.hoverFontColor,\n borderWidth = _ref.borderWidth,\n borderColor = _ref.borderColor,\n hoverBorderColor = _ref.hoverBorderColor,\n padding = _ref.padding,\n antiAdBlocker = _ref.antiAdBlocker,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var fullWidth = !isTwoButtonRowLayout || order > 1;\n var marginLeft = isTwoButtonRowLayout && order === 1 ? 5 : 0;\n var marginRight = isTwoButtonRowLayout && order === 0 ? 5 : 0;\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, +borderWidth);\n var style = {\n textDecoration: type === \"link\" ? \"underline\" : \"none\",\n borderRadius: +borderRadius,\n cursor: type === \"button\" ? \"pointer\" : undefined,\n backgroundColor: type === \"button\" ? isHover ? hoverBg : bg : undefined,\n fontSize: scaleMobile(mobile, pageRequestUuid4, +fontSize),\n fontWeight: fontWeight,\n color: isHover ? hoverFontColor : fontColor,\n transition: \"background-color 250ms, color 250ms, border-color 250ms\",\n margin: \"0 \".concat(marginRight, \"px \").concat(scaleMobile(mobile, pageRequestUuid4, 10, undefined, true), \"px \").concat(marginLeft, \"px\"),\n border: type === \"button\" && useBorderWidth > 0 ? \"\".concat(useBorderWidth, \"px solid \").concat(isHover ? hoverBorderColor : borderColor) : undefined,\n padding: scaleMobile(mobile, pageRequestUuid4, padding, undefined, type !== \"button\").map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n overflow: \"hidden\",\n outline: framed ? \"rgb(255, 94, 94) solid 5px\" : undefined,\n flex: fullWidth ? \"1 1 100%\" : \"0 0 calc(50% - \".concat(marginLeft + marginRight, \"px)\"),\n display: \"flex\",\n alignItems: \"center\",\n // text-align is not supported within a `display: flex`\n justifyContent: textAlign === \"right\" ? \"flex-end\" : textAlign === \"center\" ? \"center\" : \"left\",\n order: order\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-btn-\".concat(name),\n style: style\n };\n}\n\nexport { bannerButtonsInlineStyleCommon };","import { bannerButtonsInlineStyleCommon } from \".\";\n\nfunction bannerButtonsInlineStyleAcceptEssentials(_ref, isHover, framed, order, isTwoButtonRowLayout) {\n var isTcf = _ref.isTcf,\n acceptEssentials = _ref.decision.acceptEssentials,\n borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptEssentialsFontSize = _ref$bodyDesign.acceptEssentialsFontSize,\n acceptEssentialsBg = _ref$bodyDesign.acceptEssentialsBg,\n acceptEssentialsTextAlign = _ref$bodyDesign.acceptEssentialsTextAlign,\n acceptEssentialsBorderColor = _ref$bodyDesign.acceptEssentialsBorderColor,\n acceptEssentialsPadding = _ref$bodyDesign.acceptEssentialsPadding,\n acceptEssentialsBorderWidth = _ref$bodyDesign.acceptEssentialsBorderWidth,\n acceptEssentialsFontColor = _ref$bodyDesign.acceptEssentialsFontColor,\n acceptEssentialsFontWeight = _ref$bodyDesign.acceptEssentialsFontWeight,\n acceptEssentialsHoverBg = _ref$bodyDesign.acceptEssentialsHoverBg,\n acceptEssentialsHoverFontColor = _ref$bodyDesign.acceptEssentialsHoverFontColor,\n acceptEssentialsHoverBorderColor = _ref$bodyDesign.acceptEssentialsHoverBorderColor,\n acceptAllFontWeight = _ref$bodyDesign.acceptAllFontWeight,\n acceptAllFontSize = _ref$bodyDesign.acceptAllFontSize,\n acceptAllPadding = _ref$bodyDesign.acceptAllPadding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-essentials\",\n order: order,\n type: acceptEssentials,\n borderRadius: borderRadius,\n bg: acceptEssentialsBg,\n hoverBg: acceptEssentialsHoverBg,\n fontSize: isTwoButtonRowLayout || isTcf ? acceptAllFontSize : acceptEssentialsFontSize,\n textAlign: acceptEssentialsTextAlign,\n fontColor: acceptEssentialsFontColor,\n fontWeight: isTcf ? acceptAllFontWeight : acceptEssentialsFontWeight,\n hoverFontColor: acceptEssentialsHoverFontColor,\n borderWidth: acceptEssentialsBorderWidth,\n borderColor: acceptEssentialsBorderColor,\n hoverBorderColor: acceptEssentialsHoverBorderColor,\n padding: isTwoButtonRowLayout ? acceptAllPadding : acceptEssentialsPadding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleAcceptEssentials };","import { bannerButtonsInlineStyleCommon } from \".\";\n\nfunction bannerButtonsInlineStyleAcceptIndividual(_ref, isHover, framed, order, isTwoButtonRowLayout) {\n var acceptIndividual = _ref.decision.acceptIndividual,\n borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptIndividualFontSize = _ref$bodyDesign.acceptIndividualFontSize,\n acceptIndividualBg = _ref$bodyDesign.acceptIndividualBg,\n acceptIndividualTextAlign = _ref$bodyDesign.acceptIndividualTextAlign,\n acceptIndividualBorderColor = _ref$bodyDesign.acceptIndividualBorderColor,\n acceptIndividualPadding = _ref$bodyDesign.acceptIndividualPadding,\n acceptIndividualBorderWidth = _ref$bodyDesign.acceptIndividualBorderWidth,\n acceptIndividualFontColor = _ref$bodyDesign.acceptIndividualFontColor,\n acceptIndividualFontWeight = _ref$bodyDesign.acceptIndividualFontWeight,\n acceptIndividualHoverBg = _ref$bodyDesign.acceptIndividualHoverBg,\n acceptIndividualHoverFontColor = _ref$bodyDesign.acceptIndividualHoverFontColor,\n acceptIndividualHoverBorderColor = _ref$bodyDesign.acceptIndividualHoverBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-individual\",\n order: order,\n type: acceptIndividual,\n borderRadius: borderRadius,\n bg: acceptIndividualBg,\n hoverBg: acceptIndividualHoverBg,\n fontSize: acceptIndividualFontSize,\n textAlign: acceptIndividualTextAlign,\n fontColor: acceptIndividualFontColor,\n fontWeight: acceptIndividualFontWeight,\n hoverFontColor: acceptIndividualHoverFontColor,\n borderWidth: acceptIndividualBorderWidth,\n borderColor: acceptIndividualBorderColor,\n hoverBorderColor: acceptIndividualHoverBorderColor,\n padding: acceptIndividualPadding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleAcceptIndividual };","import { bannerButtonsInlineStyleCommon } from \"./\";\n\nfunction bannerButtonsInlineStyleSave(_ref, isHover, framed, order, isTwoButtonRowLayout) {\n var isTcf = _ref.isTcf,\n borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptAllFontWeight = _ref$bodyDesign.acceptAllFontWeight,\n acceptAllFontSize = _ref$bodyDesign.acceptAllFontSize,\n _ref$saveButton = _ref.saveButton,\n type = _ref$saveButton.type,\n fontSize = _ref$saveButton.fontSize,\n bg = _ref$saveButton.bg,\n textAlign = _ref$saveButton.textAlign,\n borderColor = _ref$saveButton.borderColor,\n padding = _ref$saveButton.padding,\n borderWidth = _ref$saveButton.borderWidth,\n fontColor = _ref$saveButton.fontColor,\n fontWeight = _ref$saveButton.fontWeight,\n hoverBg = _ref$saveButton.hoverBg,\n hoverFontColor = _ref$saveButton.hoverFontColor,\n hoverBorderColor = _ref$saveButton.hoverBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-individual-save\",\n order: order,\n type: type,\n borderRadius: borderRadius,\n bg: bg,\n hoverBg: hoverBg,\n fontSize: isTcf ? acceptAllFontSize : fontSize,\n textAlign: textAlign,\n fontColor: fontColor,\n fontWeight: isTcf ? acceptAllFontWeight : fontWeight,\n hoverFontColor: hoverFontColor,\n borderWidth: borderWidth,\n borderColor: borderColor,\n hoverBorderColor: hoverBorderColor,\n padding: padding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleSave };","import { bannerButtonsInlineStyleCommon } from \".\";\n\nfunction bannerButtonsInlineStyleAcceptAll(_ref, isHover, framed, order, isTwoButtonRowLayout) {\n var acceptAll = _ref.decision.acceptAll,\n borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptAllFontSize = _ref$bodyDesign.acceptAllFontSize,\n acceptAllBg = _ref$bodyDesign.acceptAllBg,\n acceptAllTextAlign = _ref$bodyDesign.acceptAllTextAlign,\n acceptAllBorderColor = _ref$bodyDesign.acceptAllBorderColor,\n acceptAllPadding = _ref$bodyDesign.acceptAllPadding,\n acceptAllBorderWidth = _ref$bodyDesign.acceptAllBorderWidth,\n acceptAllFontColor = _ref$bodyDesign.acceptAllFontColor,\n acceptAllFontWeight = _ref$bodyDesign.acceptAllFontWeight,\n acceptAllHoverBg = _ref$bodyDesign.acceptAllHoverBg,\n acceptAllHoverFontColor = _ref$bodyDesign.acceptAllHoverFontColor,\n acceptAllHoverBorderColor = _ref$bodyDesign.acceptAllHoverBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-all\",\n order: order,\n type: acceptAll,\n borderRadius: borderRadius,\n bg: acceptAllBg,\n hoverBg: acceptAllHoverBg,\n fontSize: acceptAllFontSize,\n textAlign: acceptAllTextAlign,\n fontColor: acceptAllFontColor,\n fontWeight: acceptAllFontWeight,\n hoverFontColor: acceptAllHoverFontColor,\n borderWidth: acceptAllBorderWidth,\n borderColor: acceptAllBorderColor,\n hoverBorderColor: acceptAllHoverBorderColor,\n padding: acceptAllPadding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleAcceptAll };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useCallback } from \"react\";\nimport { useState, useMemo } from \"react\";\nimport { isIE, AsciiSpinner, useBanner, bannerButtonsInlineStyleAcceptAll, bannerButtonsInlineStyleAcceptEssentials, bannerButtonsInlineStyleAcceptIndividual, bannerButtonsInlineStyleEllipsesText, bannerButtonsInlineStyleSave } from \"../../../..\";\n\nvar BannerButton = function BannerButton(_ref) {\n var inlineStyle = _ref.inlineStyle,\n type = _ref.type,\n onClick = _ref.onClick,\n children = _ref.children,\n framed = _ref.framed,\n busyOnClick = _ref.busyOnClick,\n order = _ref.order;\n\n if (type === \"hide\") {\n return null;\n }\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isBusy = _useState2[0],\n setIsBusy = _useState2[1];\n\n var handleOnClick = useCallback(function () {\n if (!isBusy) {\n busyOnClick && setIsBusy(true);\n onClick === null || onClick === void 0 ? void 0 : onClick();\n }\n }, [onClick, isBusy, busyOnClick]);\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isHover = _useState4[0],\n setIsHover = _useState4[1];\n\n var banner = useBanner();\n var individualPrivacyOpen = banner.individualPrivacyOpen,\n _banner$decision = banner.decision,\n acceptAll = _banner$decision.acceptAll,\n acceptEssentials = _banner$decision.acceptEssentials,\n _banner$bodyDesign = banner.bodyDesign,\n acceptAllOneRowLayout = _banner$bodyDesign.acceptAllOneRowLayout,\n acceptEssentialsUseAcceptAll = _banner$bodyDesign.acceptEssentialsUseAcceptAll;\n var useAcceptEssentials = acceptEssentialsUseAcceptAll ? acceptAll : acceptEssentials;\n var interactionAttr = {\n onClick: handleOnClick,\n onMouseEnter: function onMouseEnter() {\n return setIsHover(true);\n },\n onMouseLeave: function onMouseLeave() {\n return setIsHover(false);\n }\n };\n var useStyleFn = useMemo(function () {\n switch (inlineStyle) {\n case \"acceptEssentials\":\n return bannerButtonsInlineStyleAcceptEssentials;\n\n case \"acceptIndividual\":\n return bannerButtonsInlineStyleAcceptIndividual;\n\n case \"save\":\n return bannerButtonsInlineStyleSave;\n\n default:\n return bannerButtonsInlineStyleAcceptAll;\n }\n }, [inlineStyle]); // Also create a spacing `height:10` container because `marginBottom` causes issues with `position:sticky`\n\n return h(\"div\", _extends({}, type === \"button\" ? interactionAttr : {}, useStyleFn(banner, isHover, framed, order, // IE does not support flex with calc()\n isIE() || acceptAll === \"hide\" || useAcceptEssentials === \"hide\" || individualPrivacyOpen || order > 1 ? false : acceptAllOneRowLayout)), h(\"span\", _extends({}, bannerButtonsInlineStyleEllipsesText(), type === \"link\" ? interactionAttr : {}), isBusy ? h(AsciiSpinner, null) : children));\n};\n\nexport { BannerButton };","function isIE() {\n return /MSIE (\\d+\\.\\d+);/.test(navigator.userAgent) || navigator.userAgent.indexOf(\"Trident/\") > -1;\n}\n\nexport { isIE };","function bannerButtonsInlineStyleEllipsesText() {\n return {\n style: {\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n wordBreak: \"keep-all\",\n overflow: \"hidden\",\n cursor: \"pointer\"\n }\n };\n}\n\nexport { bannerButtonsInlineStyleEllipsesText };","import { Fragment, useMemo } from \"react\";\nimport { useBanner, useBannerButtonCallbacks, BannerButton } from \"../../..\";\n\nvar BannerButtonList = function BannerButtonList() {\n var banner = useBanner();\n var activeAction = banner.activeAction,\n _banner$bodyDesign = banner.bodyDesign,\n acceptEssentialsUseAcceptAll = _banner$bodyDesign.acceptEssentialsUseAcceptAll,\n acceptAllOneRowLayout = _banner$bodyDesign.acceptAllOneRowLayout,\n _banner$decision = banner.decision,\n showGroups = _banner$decision.showGroups,\n groupsFirstView = _banner$decision.groupsFirstView,\n saveButton = _banner$decision.saveButton,\n acceptAll = _banner$decision.acceptAll,\n acceptEssentials = _banner$decision.acceptEssentials,\n acceptIndividual = _banner$decision.acceptIndividual,\n buttonOrderString = _banner$decision.buttonOrder,\n _banner$texts = banner.texts,\n acceptAllText = _banner$texts.acceptAll,\n acceptEssentialsText = _banner$texts.acceptEssentials,\n acceptIndividualText = _banner$texts.acceptIndividual,\n _banner$saveButton = banner.saveButton,\n saveButtonType = _banner$saveButton.type,\n saveButtonUseAcceptAll = _banner$saveButton.useAcceptAll,\n save = banner.individualTexts.save,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n didGroupFirstChange = banner.didGroupFirstChange,\n productionNotice = banner.productionNotice,\n _banner$buttonClicked = banner.buttonClicked,\n buttonClicked = _banner$buttonClicked === void 0 ? \"\" : _banner$buttonClicked; // Calculate order of the buttons depending on a string like `all,essential,save,individual`\n\n var _useMemo = useMemo(function () {\n var buttonOrder = buttonOrderString.split(\",\");\n var buttonToOrder = buttonOrder.reduce(function (previous, curr) {\n previous[curr] = buttonOrder.indexOf(curr);\n return previous;\n }, {});\n var orderToButton = buttonOrder.reduce(function (previous, curr) {\n previous[buttonOrder.indexOf(curr)] = curr;\n return previous;\n }, {}); // If one-row layout is enabled, reverse the first two orders so the first button gets moved to the right\n\n // If one-row layout is enabled, reverse the first two orders so the first button gets moved to the right\n if (acceptAllOneRowLayout) {\n buttonToOrder[orderToButton[0]] = 1;\n buttonToOrder[orderToButton[1]] = 0;\n }\n\n return buttonToOrder;\n }, [buttonOrderString, acceptAllOneRowLayout]),\n buttonOrderAll = _useMemo.all,\n buttonOrderEssential = _useMemo.essential,\n buttonOrderIndividual = _useMemo.individual,\n buttonOrderSave = _useMemo.save;\n\n var isPro = process.env.PLUGIN_CTX === \"pro\";\n\n var _useBannerButtonCallb = useBannerButtonCallbacks(),\n buttonClickedAll = _useBannerButtonCallb.buttonClickedAll,\n buttonClickedEssentials = _useBannerButtonCallb.buttonClickedEssentials,\n buttonClickedCustom = _useBannerButtonCallb.buttonClickedCustom,\n handleAll = _useBannerButtonCallb.acceptAll,\n handleEssentials = _useBannerButtonCallb.acceptEssentials,\n handleIndividual = _useBannerButtonCallb.acceptIndividual,\n openIndividualPrivacy = _useBannerButtonCallb.openIndividualPrivacy; // We expect a reload of the page for the \"change\" action (keeps also dialog open)\n\n\n var busyOnClick = activeAction === \"change\";\n var groupsFirstViewEnabled = showGroups && groupsFirstView;\n return h(Fragment, null, !individualPrivacyOpen && isPro && groupsFirstViewEnabled && saveButton === \"afterChangeAll\" && didGroupFirstChange ? h(BannerButton, {\n onClick: handleIndividual,\n type: acceptAll,\n inlineStyle: \"acceptAll\",\n framed: buttonClicked === buttonClickedCustom,\n busyOnClick: busyOnClick,\n order: buttonOrderAll\n }, save) : h(BannerButton, {\n onClick: handleAll,\n type: acceptAll,\n inlineStyle: \"acceptAll\",\n framed: buttonClicked === buttonClickedAll,\n busyOnClick: busyOnClick,\n order: buttonOrderAll\n }, acceptAllText), activeAction !== \"change\" && h(BannerButton, {\n onClick: handleEssentials,\n type: acceptEssentialsUseAcceptAll ? acceptAll : acceptEssentials,\n inlineStyle: acceptEssentialsUseAcceptAll ? \"acceptAll\" : \"acceptEssentials\",\n framed: buttonClicked === buttonClickedEssentials,\n busyOnClick: busyOnClick,\n order: buttonOrderEssential\n }, acceptEssentialsText), (individualPrivacyOpen || isPro && groupsFirstViewEnabled && (saveButton === \"always\" || saveButton === \"afterChange\" && didGroupFirstChange)) && h(BannerButton, {\n onClick: handleIndividual,\n type: saveButtonUseAcceptAll ? acceptAll : saveButtonType,\n inlineStyle: saveButtonUseAcceptAll ? \"acceptAll\" : \"save\",\n framed: buttonClicked === buttonClickedCustom,\n busyOnClick: busyOnClick,\n order: buttonOrderSave\n }, save), !individualPrivacyOpen && h(BannerButton, {\n type: acceptIndividual,\n onClick: openIndividualPrivacy,\n inlineStyle: \"acceptIndividual\",\n framed: buttonClicked.startsWith(\"ind_\"),\n busyOnClick: busyOnClick,\n order: buttonOrderIndividual\n }, acceptIndividualText), productionNotice);\n};\n\nexport { BannerButtonList };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useBanner, BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER, usePlainCss, scaleMobile, bannerInlineStylesRightSide, bannerInlineStylesLeftSide, bannerInlineStyleBody, bannerInlineStyleBodyContainer, bannerInlineStyleBodyDescription, commonInlineStyleBodyTeaching, commonInlineStyleBodyTeachingsSeparator, BannerDottedGroupList, BannerTcfStackList, BannerGroupList, BannerTcfGroupList, BannerButtonList, BannerHistorySelect, useCommonTeachings } from \"../../..\";\nimport { useMemo, Fragment } from \"react\";\n\nvar BannerBody = function BannerBody(_ref) {\n var _document$getElementB;\n\n var leftSideContainerRef = _ref.leftSideContainerRef,\n rightSideContainerRef = _ref.rightSideContainerRef;\n var banner = useBanner();\n var type = banner.layout.type,\n mobile = banner.mobile,\n teachingsSeparatorActive = banner.bodyDesign.teachingsSeparatorActive,\n tcf = banner.tcf,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n activeAction = banner.activeAction,\n pageRequestUuid4 = banner.pageRequestUuid4;\n\n var _useCommonTeachings = useCommonTeachings(),\n description = _useCommonTeachings.description,\n teachings = _useCommonTeachings.teachings; // Make the content responsive\n\n\n var leftSideId = \"bnnr-body-leftSide-\".concat(pageRequestUuid4);\n var rightSideId = \"bnnr-body-rightSide-\".concat(pageRequestUuid4);\n var contentId = \"cntnt-\".concat(pageRequestUuid4);\n usePlainCss(\" #\".concat(leftSideId, \" img {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n\").concat(((_document$getElementB = document.getElementById(pageRequestUuid4)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.clientWidth) > BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER ? \"\" : \"#\".concat(leftSideId, \" {\\n float: initial !important;\\n width: auto !important;\\n padding-right: initial !important;\\n \").concat(scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" && !individualPrivacyOpen ? \"padding-bottom: 10px !important;\" : individualPrivacyOpen ? \"padding-top: 10px !important;\" : \"\", \"\\n }\\n\\n #\").concat(contentId, \" {\\n min-height: calc(var(--rendered-height-header) + var(--rendered-height-footer) + var(--rendered-height-rightSideContainer) + 60px);\\n }\\n \\n #\").concat(rightSideId, \" {\\n float: initial !important;\\n width: auto !important;\\n max-width: initial !important;\\n margin: initial !important;\\n \").concat(individualPrivacyOpen ? \"padding-bottom: 5px !important;\" : \"padding-top: 10px !important;\", \"\\n position: sticky;\\n }\"))); // Calculate the body content depending on TCF availability and if second view got opened\n\n var stackOrGroups = useMemo(function () {\n if (process.env.IS_TCF === \"1\" && tcf) {\n return individualPrivacyOpen ? h(BannerTcfGroupList, null) : h(BannerTcfStackList, null);\n } else {\n return individualPrivacyOpen ? h(BannerGroupList, null) : h(BannerDottedGroupList, null);\n }\n }, [individualPrivacyOpen, tcf]);\n var leftSide = h(\"div\", _extends({\n ref: leftSideContainerRef,\n key: \"leftSide\",\n id: leftSideId\n }, bannerInlineStylesLeftSide(banner)), h(\"div\", bannerInlineStyleBodyDescription(banner), activeAction === \"history\" ? h(BannerHistorySelect, null) : h(Fragment, null, h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: description\n }\n }), teachings.length > 0 && h(Fragment, null, teachingsSeparatorActive && h(\"div\", null, h(\"span\", commonInlineStyleBodyTeachingsSeparator(banner))), teachings.map(function (teaching) {\n return h(\"span\", _extends({\n key: teaching\n }, commonInlineStyleBodyTeaching(banner), {\n dangerouslySetInnerHTML: {\n __html: teaching\n }\n }));\n })))), stackOrGroups);\n var rightSide = activeAction === \"history\" ? h(\"div\", {\n ref: rightSideContainerRef\n }) : h(\"div\", _extends({\n ref: rightSideContainerRef,\n key: \"rightSide\",\n id: rightSideId\n }, bannerInlineStylesRightSide(banner)), h(BannerButtonList, null));\n return h(\"div\", bannerInlineStyleBodyContainer(banner), h(\"div\", bannerInlineStyleBody(banner), individualPrivacyOpen ? [rightSide, leftSide] : [leftSide, rightSide], h(\"div\", {\n style: {\n clear: \"both\"\n }\n })));\n};\n\nexport { BannerBody };","import { scaleMobile } from \"../../scale\";\nvar BUTTONS_WIDTH = 300;\n\nfunction bannerInlineStylesLeftSide(_ref) {\n var type = _ref.layout.type,\n padding = _ref.bodyDesign.padding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n activeAction = _ref.activeAction,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n var usePadding = scaleMobile(mobile, pageRequestUuid4, padding);\n var style = {\n float: useType === \"banner\" && activeAction !== \"history\" ? \"left\" : undefined,\n width: useType === \"banner\" && activeAction !== \"history\" ? \"calc(100% - \".concat(BUTTONS_WIDTH, \"px)\") : undefined,\n paddingRight: useType === \"banner\" ? 20 : undefined,\n paddingTop: +usePadding[0],\n paddingBottom: useType === \"banner\" || individualPrivacyOpen ? +usePadding[2] : 0\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-tb-left\",\n style: style\n };\n}\n\nexport { BUTTONS_WIDTH, bannerInlineStylesLeftSide };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBodyDescription(_ref) {\n var fontSize = _ref.design.fontSize,\n _ref$bodyDesign = _ref.bodyDesign,\n descriptionInheritFontSize = _ref$bodyDesign.descriptionInheritFontSize,\n descriptionFontSize = _ref$bodyDesign.descriptionFontSize,\n descriptionTextAlign = _ref.individualLayout.descriptionTextAlign,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-description\",\n style: {\n lineHeight: 1.5,\n fontSize: scaleMobile(mobile, pageRequestUuid4, descriptionInheritFontSize ? +fontSize : +descriptionFontSize),\n textAlign: individualPrivacyOpen ? descriptionTextAlign : undefined\n }\n };\n}\n\nexport { bannerInlineStyleBodyDescription };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { hexToRgb } from \"../../../utils\";\nimport { scaleMobile } from \"../../scale\";\nimport { BUTTONS_WIDTH } from \"./leftSide\";\n\nfunction bannerInlineStylesRightSide(_ref) {\n var _style;\n\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogMaxWidth = _ref$layout.dialogMaxWidth,\n _ref$design = _ref.design,\n borderWidth = _ref$design.borderWidth,\n bg = _ref$design.bg,\n fontColor = _ref$design.fontColor,\n headerDesign = _ref.headerDesign,\n footerDesign = _ref.footerDesign,\n padding = _ref.bodyDesign.padding,\n inheritDialogMaxWidth = _ref.individualLayout.inheritDialogMaxWidth,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n var usePadding = scaleMobile(mobile, pageRequestUuid4, padding, undefined, true);\n\n var _hexToRgb = hexToRgb(fontColor),\n r = _hexToRgb.r,\n g = _hexToRgb.g,\n b = _hexToRgb.b;\n\n var width = useType === \"dialog\" ? +dialogMaxWidth - usePadding[1] - usePadding[3] - useBorderWidth * 2 : BUTTONS_WIDTH;\n var style = (_style = {\n background: bg,\n paddingTop: useType === \"banner\" || individualPrivacyOpen ? +usePadding[0] : 10,\n paddingBottom: !individualPrivacyOpen ? +usePadding[2] : 10,\n float: useType === \"banner\" || individualPrivacyOpen ? \"right\" : undefined,\n maxWidth: width,\n width: width,\n margin: useType === \"dialog\" && individualPrivacyOpen && !inheritDialogMaxWidth ? \"0 0 10px 10px\" : undefined,\n // position: individualPrivacyOpen ? \"sticky\" : undefined, This is done by `body.tsx#usePlainCss`\n position: individualPrivacyOpen ? undefined : \"sticky\"\n }, _defineProperty(_style, individualPrivacyOpen ? \"top\" : \"bottom\", individualPrivacyOpen ? \"calc(var(--rendered-height-header) + \".concat(scaleMobile(mobile, pageRequestUuid4, headerDesign.borderWidth), \"px)\") : \"calc(var(--rendered-height-footer) + \".concat(scaleMobile(mobile, pageRequestUuid4, footerDesign.borderWidth), \"px)\")), _defineProperty(_style, \"zIndex\", 1), _defineProperty(_style, \"display\", \"flex\"), _defineProperty(_style, \"flexWrap\", \"wrap\"), _defineProperty(_style, \"transition\", \"box-shadow ease-in-out .1s\"), _defineProperty(_style, \"--boxShadowShowScroll\", \"0 -15px 15px -15px rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", 0.3)\")), _style);\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-tb-right\",\n style: style\n };\n}\n\nexport { bannerInlineStylesRightSide };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBodyContainer(_ref) {\n var type = _ref.layout.type,\n _ref$design = _ref.design,\n bg = _ref$design.bg,\n borderWidth = _ref$design.borderWidth,\n borderColor = _ref$design.borderColor,\n padding = _ref.bodyDesign.padding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n var style = {\n background: bg,\n // Top / Bottom padding is applied in leftSide and rightSide containers\n padding: scaleMobile(mobile, pageRequestUuid4, padding).map(function (p, i) {\n return \"\".concat([0, 2].indexOf(i) > -1 ? 0 : p, \"px\");\n }).join(\" \"),\n lineHeight: 1.4\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useBorderWidth > 0) {\n style.borderLeft = \"\".concat(useBorderWidth, \"px solid \").concat(borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-body-container\",\n style: style\n };\n}\n\nexport { bannerInlineStyleBodyContainer };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBody(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n bannerMaxWidth = _ref$layout.bannerMaxWidth,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var style = {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\"\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-body\",\n style: style\n };\n}\n\nexport { bannerInlineStyleBody };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { forwardRef, useCallback } from \"react\";\nimport { useBanner, bannerFooterInlineStyle, bannerFooterInlineStyleContainer, FooterLink, useCommonFooterLinks } from \"../../..\"; // eslint-disable-next-line react/display-name\n\nvar BannerFooter = /*#__PURE__*/forwardRef(function (_, ref) {\n var banner = useBanner();\n var isTcf = banner.isTcf,\n type = banner.layout.type,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n updateIndividualPrivacyOpen = banner.updateIndividualPrivacyOpen,\n onClose = banner.onClose,\n tcf = banner.i18n.tcf,\n isConsentRecord = banner.isConsentRecord;\n var handleTcfVendorList = process.env.IS_TCF === \"1\" && isTcf ? useCallback(function (e) {\n updateIndividualPrivacyOpen(true);\n e.preventDefault();\n }, [updateIndividualPrivacyOpen]) : undefined;\n var handleClose = useCallback(function (e) {\n onClose();\n e.preventDefault();\n }, [onClose]);\n\n var _useCommonFooterLinks = useCommonFooterLinks({\n onClose: isConsentRecord ? handleClose : undefined,\n putPoweredByLinkInRow: type === \"banner\" ? 0 : 1,\n row1: [process.env.IS_TCF === \"1\" && isTcf && !individualPrivacyOpen && h(FooterLink, {\n href: \"#\",\n onClick: handleTcfVendorList,\n key: \"vendorList\"\n }, tcf.vendorList)]\n }),\n links = _useCommonFooterLinks.rows,\n renderLinks = _useCommonFooterLinks.render;\n\n return h(\"div\", _extends({\n ref: ref\n }, bannerFooterInlineStyleContainer(banner)), h(\"div\", bannerFooterInlineStyle(banner), renderLinks(links)));\n});\nexport { BannerFooter };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerFooterInlineStyleContainer(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogBorderRadius = _ref$layout.dialogBorderRadius,\n design = _ref.design,\n _ref$footerDesign = _ref.footerDesign,\n inheritBg = _ref$footerDesign.inheritBg,\n bg = _ref$footerDesign.bg,\n inheritTextAlign = _ref$footerDesign.inheritTextAlign,\n textAlign = _ref$footerDesign.textAlign,\n padding = _ref$footerDesign.padding,\n fontSize = _ref$footerDesign.fontSize,\n fontColor = _ref$footerDesign.fontColor,\n fontWeight = _ref$footerDesign.fontWeight,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, design.borderWidth);\n var style = {\n padding: scaleMobile(mobile, pageRequestUuid4, padding, undefined, true).map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n background: inheritBg ? design.bg : bg,\n borderRadius: useType === \"dialog\" ? \"0 0 \".concat(dialogBorderRadius, \"px \").concat(dialogBorderRadius, \"px\") : undefined,\n fontSize: scaleMobile(mobile, pageRequestUuid4, +fontSize),\n fontWeight: fontWeight,\n color: fontColor,\n textAlign: inheritTextAlign ? design.textAlign : textAlign,\n position: \"sticky\",\n bottom: 0,\n zIndex: 1\n };\n\n if (useType === \"dialog\" && useBorderWidth > 0) {\n style.borderBottom = \"\".concat(useBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderLeft = style.borderBottom;\n style.borderRight = style.borderBottom;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-container\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyleContainer };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerFooterInlineStyle(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n bannerMaxWidth = _ref$layout.bannerMaxWidth,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n individualPrivacyOpen = _ref.individualPrivacyOpen;\n var style = {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\",\n lineHeight: 1.8\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyle };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { scaleMobile, useBanner, usePlainCss, useRenderedHeightsAsCssVars, bannerContentInlineStyle, bannerFooterInlineStyleSeparator, bannerHeaderInlineStyleSeparator, BannerHeader, BannerFooter, BannerBody } from \"../../..\";\nimport { Fragment, useState, useRef, useLayoutEffect, useCallback } from \"react\";\n\nvar BannerContent = function BannerContent() {\n var banner = useBanner();\n var _banner$layout = banner.layout,\n type = _banner$layout.type,\n dialogBorderRadius = _banner$layout.dialogBorderRadius,\n _banner$decision = banner.decision,\n acceptAll = _banner$decision.acceptAll,\n acceptEssentials = _banner$decision.acceptEssentials,\n showCloseIcon = _banner$decision.showCloseIcon,\n mobile = banner.mobile,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n bg = banner.design.bg,\n _banner$bodyDesign = banner.bodyDesign,\n teachingsFontColor = _banner$bodyDesign.teachingsFontColor,\n acceptEssentialsUseAcceptAll = _banner$bodyDesign.acceptEssentialsUseAcceptAll,\n activeAction = banner.activeAction,\n pageRequestUuid4 = banner.pageRequestUuid4;\n var rightSideId = \"bnnr-body-rightSide-\".concat(pageRequestUuid4);\n var id = \"cntnt-\".concat(pageRequestUuid4);\n var ref = useRef();\n var currentRef = ref.current;\n var useAcceptEssentials = acceptEssentialsUseAcceptAll ? acceptAll : acceptEssentials;\n var showHeader = true;\n\n if (mobile.hideHeader && !activeAction && !individualPrivacyOpen && (useAcceptEssentials === \"hide\" ? !showCloseIcon : true)) {\n showHeader = scaleMobile(mobile, pageRequestUuid4, showHeader, false);\n } // Enable box shadow effect for the scrolling behavior\n\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showScrollBoxShadow = _useState2[0],\n setShowScrollBoxShadow = _useState2[1];\n\n var updateShowScrollBoxShadow = useCallback(function () {\n if (currentRef) {\n var clientHeight = currentRef.clientHeight,\n scrollHeight = currentRef.scrollHeight,\n scrollTop = currentRef.scrollTop,\n offsetHeight = currentRef.offsetHeight;\n var hasScrollbar = clientHeight < scrollHeight;\n var scrolledToBottom = Math.ceil(scrollTop + offsetHeight) >= scrollHeight;\n var result = hasScrollbar && !scrolledToBottom && !individualPrivacyOpen;\n\n if (showScrollBoxShadow !== result) {\n setShowScrollBoxShadow(result);\n }\n }\n }, [currentRef, individualPrivacyOpen, showScrollBoxShadow]);\n updateShowScrollBoxShadow(); // The function gets called for each resize in `Banner` component\n\n useLayoutEffect(function () {\n if (currentRef) {\n currentRef.addEventListener(\"scroll\", updateShowScrollBoxShadow);\n return function () {\n return currentRef.removeEventListener(\"scroll\", updateShowScrollBoxShadow);\n };\n } // eslint-disable-next-line @typescript-eslint/no-empty-function\n\n\n return function () {};\n }, [currentRef, updateShowScrollBoxShadow]);\n usePlainCss(showScrollBoxShadow ? \"#\".concat(rightSideId, \" {box-shadow:var(--boxShadowShowScroll);}\") : \"\"); // Create custom scrollbar when a border radius is active (https://css-tricks.com/the-current-state-of-styling-scrollbars/)\n\n usePlainCss(navigator.platform === \"Win32\" && type === \"dialog\" && dialogBorderRadius > 0 ? [\"#\".concat(id, \"{overflow:overlay!important;}\"), \"#\".concat(id, \"::-webkit-scrollbar{width:11px;}\"), \"#\".concat(id, \"{scrollbar-width:thin;scrollbar-color:\").concat(teachingsFontColor, \" transparent;}\"), \"#\".concat(id, \"::-webkit-scrollbar-track{background:transparent;}\"), \"#\".concat(id, \"::-webkit-scrollbar-thumb{background-color:\").concat(teachingsFontColor, \";border-radius:\").concat(dialogBorderRadius, \"px;border:3px solid \").concat(bg, \";}\"), \"#\".concat(id, \">div{border-top-right-radius:0!important;border-bottom-right-radius:0!important;}\")].join(\"\\n\") : \"\");\n var headerRef = useRef();\n var footerRef = useRef();\n var rightSideContainerRef = useRef();\n useRenderedHeightsAsCssVars(headerRef.current, \"header\");\n useRenderedHeightsAsCssVars(footerRef.current, \"footer\");\n useRenderedHeightsAsCssVars(rightSideContainerRef.current, \"rightSideContainer\");\n return h(\"div\", _extends({}, bannerContentInlineStyle(banner), {\n ref: ref,\n id: id\n }), showHeader && h(Fragment, null, h(BannerHeader, {\n ref: headerRef\n }), h(\"div\", bannerHeaderInlineStyleSeparator(banner))), h(BannerBody, {\n rightSideContainerRef: rightSideContainerRef\n }), h(\"div\", bannerFooterInlineStyleSeparator(banner)), h(BannerFooter, {\n ref: footerRef\n }));\n};\n\nexport { BannerContent };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerContentInlineStyle(_ref) {\n var _document$getElementB;\n\n var type = _ref.layout.type,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n showCloseIcon = _ref.decision.showCloseIcon,\n activeAction = _ref.activeAction,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var innerHeight = ((_document$getElementB = document.getElementById(pageRequestUuid4)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.clientHeight) || window.innerHeight;\n var mobileMaxHeight = +mobile.maxHeight;\n var useMobileMaxHeight = mobileMaxHeight > innerHeight ? innerHeight : mobileMaxHeight;\n var closeIconDistance = showCloseIcon || activeAction ? 51 : 0;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-content\",\n style: {\n position: \"relative\",\n maxHeight: scaleMobile(mobile, pageRequestUuid4, innerHeight - (type === \"banner\" ? 0 : 20) - closeIconDistance, individualPrivacyOpen ? innerHeight - closeIconDistance : useMobileMaxHeight - closeIconDistance),\n overflow: \"auto\"\n }\n };\n}\n\nexport { bannerContentInlineStyle };","import { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyleSeparator(_ref) {\n var type = _ref.layout.type,\n design = _ref.design,\n _ref$headerDesign = _ref.headerDesign,\n borderWidth = _ref$headerDesign.borderWidth,\n borderColor = _ref$headerDesign.borderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useDesignBorderWidth = scaleMobile(mobile, pageRequestUuid4, design.borderWidth);\n var style = {\n height: scaleMobile(mobile, pageRequestUuid4, +borderWidth),\n background: borderColor,\n position: \"sticky\",\n top: \"var(--rendered-height-header)\",\n zIndex: 9\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useDesignBorderWidth > 0) {\n style.borderLeft = \"\".concat(useDesignBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header-separator\",\n style: style\n };\n}\n\nexport { bannerHeaderInlineStyleSeparator };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerFooterInlineStyleSeparator(_ref) {\n var type = _ref.layout.type,\n design = _ref.design,\n _ref$footerDesign = _ref.footerDesign,\n borderWidth = _ref$footerDesign.borderWidth,\n borderColor = _ref$footerDesign.borderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, design.borderWidth);\n var style = {\n height: scaleMobile(mobile, pageRequestUuid4, +borderWidth),\n background: borderColor,\n position: \"sticky\",\n bottom: \"var(--rendered-height-footer)\"\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useBorderWidth > 0) {\n style.borderLeft = \"\".concat(useBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-separator\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyleSeparator };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { bannerContentInlineStyleInner, useBanner, useBannerAnimation, useResettableAnimation } from \"../../..\";\nimport { AnimatedCss } from \"../..\";\nimport { BannerContent } from \".\";\n\nvar BannerAnimatedContent = function BannerAnimatedContent() {\n var banner = useBanner();\n var _banner$layout = banner.layout,\n animationInDuration = _banner$layout.animationInDuration,\n animationOutDuration = _banner$layout.animationOutDuration,\n animationVisible = banner.animationVisible;\n\n var _useBannerAnimation = useBannerAnimation()(banner.layout),\n useAnimationIn = _useBannerAnimation.useAnimationIn,\n useAnimationOut = _useBannerAnimation.useAnimationOut;\n\n var _useResettableAnimati = useResettableAnimation(useAnimationIn, animationInDuration),\n _useResettableAnimati2 = _slicedToArray(_useResettableAnimati, 2),\n stateAnimationIn = _useResettableAnimati2[0],\n stateAnimationInDuration = _useResettableAnimati2[1];\n\n var _useResettableAnimati3 = useResettableAnimation(useAnimationOut === \"none\" ? \"fadeOut\" : useAnimationOut, useAnimationOut === \"none\" ? 0 : animationOutDuration),\n _useResettableAnimati4 = _slicedToArray(_useResettableAnimati3, 2),\n stateAnimationOut = _useResettableAnimati4[0],\n stateAnimationOutDuration = _useResettableAnimati4[1];\n\n return h(AnimatedCss, _extends({\n animationIn: stateAnimationIn,\n animationInDuration: stateAnimationInDuration,\n animationOut: stateAnimationOut,\n animationOutDuration: stateAnimationOutDuration,\n isVisible: animationVisible\n }, bannerContentInlineStyleInner(banner)), h(BannerContent, null));\n};\n\nexport { BannerAnimatedContent };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { calculateRgba } from \"../../../utils\";\nimport { scaleMobile } from \"../../scale\";\n\nfunction bannerContentInlineStyleInner(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogMaxWidth = _ref$layout.dialogMaxWidth,\n dialogPosition = _ref$layout.dialogPosition,\n dialogMargin = _ref$layout.dialogMargin,\n bannerPosition = _ref$layout.bannerPosition,\n dialogBorderRadius = _ref$layout.dialogBorderRadius,\n _ref$design = _ref.design,\n borderWidth = _ref$design.borderWidth,\n borderColor = _ref$design.borderColor,\n textAlign = _ref$design.textAlign,\n fontColor = _ref$design.fontColor,\n fontInheritFamily = _ref$design.fontInheritFamily,\n fontFamily = _ref$design.fontFamily,\n fontWeight = _ref$design.fontWeight,\n boxShadowEnabled = _ref$design.boxShadowEnabled,\n boxShadowOffsetX = _ref$design.boxShadowOffsetX,\n boxShadowOffsetY = _ref$design.boxShadowOffsetY,\n boxShadowBlurRadius = _ref$design.boxShadowBlurRadius,\n boxShadowSpreadRadius = _ref$design.boxShadowSpreadRadius,\n boxShadowColor = _ref$design.boxShadowColor,\n boxShadowColorAlpha = _ref$design.boxShadowColorAlpha,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n individualPrivacyOpen = _ref.individualPrivacyOpen;\n var mobileAlignment = mobile.alignment;\n var useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n var width = useType === \"dialog\" ? +(individualPrivacyOpen && !individualLayout.inheritDialogMaxWidth ? individualLayout.dialogMaxWidth : dialogMaxWidth) : \"100%\";\n\n var style = _defineProperty({\n pointerEvents: \"all\",\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: width,\n textAlign: textAlign,\n width: width,\n overflow: \"hidden\",\n alignSelf: scaleMobile(mobile, pageRequestUuid4, useType === \"banner\" ? bannerPosition === \"top\" ? \"flex-start\" : \"flex-end\" : undefined, mobileAlignment === \"bottom\" ? \"flex-end\" : mobileAlignment === \"top\" ? \"flex-start\" : \"center\"),\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n fontWeight: fontWeight,\n color: fontColor,\n margin: useType === \"dialog\" ? 10 : undefined,\n borderRadius: useType === \"dialog\" ? +dialogBorderRadius : undefined,\n boxShadow: boxShadowEnabled ? \"\".concat(boxShadowOffsetX, \"px \").concat(boxShadowOffsetY, \"px \").concat(boxShadowBlurRadius, \"px \").concat(boxShadowSpreadRadius, \"px \").concat(calculateRgba(boxShadowColor, boxShadowColorAlpha)) : undefined\n }, useType === \"banner\" ? bannerPosition === \"top\" ? \"borderBottom\" : \"borderTop\" : \"border\", useType === \"banner\" ? useBorderWidth > 0 ? \"\".concat(useBorderWidth, \"px solid \").concat(borderColor) : undefined : undefined);\n\n if (useType === \"dialog\" && dialogPosition !== \"middleCenter\") {\n style.margin = dialogMargin.map(function (i) {\n return \"\".concat(i, \"px\");\n }).join(\" \");\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-inner\",\n style: style\n };\n}\n\nexport { bannerContentInlineStyleInner };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useLayoutEffect, useEffect } from \"react\";\nimport { dispatchResizeEvent } from \"@devowl-wp/headless-content-unblocker\";\nimport { useBanner, useBannerActionLinks, useBannerHistory, usePlainCss, useRestrictScrollWhenVisible, bannerOverlayInlineStyle, bannerOverlayInlineStyleAlignment, BannerAnimatedContent, isHiddenDueLegal } from \"../..\";\n\nvar Banner = function Banner() {\n var banner = useBanner();\n var _banner$layout = banner.layout,\n overlay = _banner$layout.overlay,\n overlayBlur = _banner$layout.overlayBlur,\n _banner$customCss = banner.customCss,\n antiAdBlocker = _banner$customCss.antiAdBlocker,\n css = _banner$customCss.css,\n visible = banner.visible,\n animationVisible = banner.animationVisible,\n activeAction = banner.activeAction,\n skipOverlay = banner.skipOverlay,\n gotHiddenDueLegal = banner.gotHiddenDueLegal,\n pageRequestUuid4 = banner.pageRequestUuid4,\n individualPrivacyOpen = banner.individualPrivacyOpen;\n var hiddenDueLegal = isHiddenDueLegal(banner);\n var show = visible && !hiddenDueLegal || !!activeAction;\n usePlainCss(antiAdBlocker ? css : \"\");\n usePlainCss(\"#\".concat(pageRequestUuid4, \", #\").concat(pageRequestUuid4, \" * {box-sizing: border-box;backface-visibility:initial;text-transform: initial;}\")); // Blur effect\n\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n useRestrictScrollWhenVisible(show && overlay && animationVisible); // Listen to window resizes and resize the content automatically\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n setInvalidate = _useState2[1];\n\n var updateSize = function updateSize() {\n return setInvalidate(+new Date());\n };\n\n useLayoutEffect(function () {\n window.addEventListener(\"resize\", updateSize);\n return function () {\n return window.removeEventListener(\"resize\", updateSize);\n };\n }, []);\n useLayoutEffect(function () {\n dispatchResizeEvent(1000);\n }, [animationVisible, individualPrivacyOpen]); // When changes to the legal settings are done, make the banner visible or hide\n\n gotHiddenDueLegal && useEffect(function () {\n gotHiddenDueLegal(hiddenDueLegal);\n }, [hiddenDueLegal]);\n useBannerHistory();\n useBannerActionLinks();\n\n if (!show) {\n return null;\n }\n\n var content = h(\"div\", bannerOverlayInlineStyleAlignment(banner), h(BannerAnimatedContent, null));\n return skipOverlay ? content : h(\"div\", _extends({\n id: pageRequestUuid4\n }, bannerOverlayInlineStyle(banner)), content);\n};\n\nexport { Banner };","import { useEffect } from \"react\";\n/**\n * Do not allow scrolling when this banner is visible\n *\n * @param visible\n */\n\nfunction useRestrictScrollWhenVisible(visible) {\n return useEffect(function () {\n var _document$body = document.body,\n dataset = _document$body.dataset,\n style = _document$body.style; // Save first state\n\n if (dataset.rcbPreviousOverflow === undefined) {\n dataset.rcbPreviousOverflow = style.overflow;\n }\n\n style.overflow = visible ? \"hidden\" : dataset.rcbPreviousOverflow;\n document.body.parentElement.style.overflow = style.overflow;\n }, [visible]);\n}\n\nexport { useRestrictScrollWhenVisible };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useEffect, useState } from \"react\";\nimport { useBanner } from \"../../..\";\n\nfunction useBannerHistory() {\n var banner = useBanner();\n var consent = banner.consent,\n groups = banner.groups,\n tcf = banner.tcf,\n activeAction = banner.activeAction,\n selectHistoryEntry = banner.selectHistoryEntry,\n fetchHistory = banner.fetchHistory; // Save the current consent and group settings to restore\n\n var _useState = useState({\n consent: consent,\n groups: groups,\n tcf: tcf\n }),\n _useState2 = _slicedToArray(_useState, 2),\n originalConsent = _useState2[0],\n setOriginalConsent = _useState2[1]; // Listen to consent changes and save it as original consent (only when non-history)\n\n\n useEffect(function () {\n if (!activeAction) {\n setOriginalConsent({\n consent: consent,\n groups: groups,\n tcf: tcf\n });\n }\n }, [consent, groups, tcf, activeAction]);\n useEffect(function () {\n function fetch() {\n return _fetch.apply(this, arguments);\n }\n\n function _fetch() {\n _fetch = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var result, _result, _result$, _groups2, decision, _tcf2;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return fetchHistory();\n\n case 2:\n result = _context.sent;\n\n // Initially select first item\n if (result.length) {\n _result = _slicedToArray(result, 1), _result$ = _result[0], _groups2 = _result$.groups, decision = _result$.decision, _tcf2 = _result$.tcf;\n selectHistoryEntry(_groups2, decision, _tcf2);\n } else {\n selectHistoryEntry([], []);\n }\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _fetch.apply(this, arguments);\n }\n\n if (activeAction === \"history\") {\n // Save state of original consent\n setOriginalConsent({\n consent: consent,\n groups: groups,\n tcf: tcf\n });\n fetch();\n } else {\n // If we close the history, restore the original state\n var _groups = originalConsent.groups,\n consentGroups = originalConsent.consent.groups,\n _tcf = originalConsent.tcf;\n selectHistoryEntry === null || selectHistoryEntry === void 0 ? void 0 : selectHistoryEntry(_groups, consentGroups, _tcf);\n }\n }, [activeAction]);\n}\n\nexport { useBannerHistory };","import { scaleMobile } from \"../..\";\n\nfunction bannerOverlayInlineStyleAlignment(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogPosition = _ref$layout.dialogPosition,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var style = {\n display: \"flex\",\n width: \"100%\",\n height: \"100%\"\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\") {\n style.alignItems = dialogPosition.startsWith(\"top\") ? \"flex-start\" : dialogPosition.startsWith(\"bottom\") ? \"flex-end\" : \"center\";\n style.justifyContent = dialogPosition.endsWith(\"Center\") ? \"center\" : dialogPosition.endsWith(\"Left\") ? \"flex-start\" : \"flex-end\";\n }\n\n return {\n className: \"wp-exclude-emoji \".concat(antiAdBlocker === \"y\" ? \"\" : \"rcb-align\"),\n style: style\n };\n}\n\nexport { bannerOverlayInlineStyleAlignment };","import { scaleMobile } from \"../..\";\nimport { calculateRgba } from \"../../..\";\n/**\n * This method needs to be ported to Banner.php#wp_footer, too!\n */\n\nfunction bannerOverlayInlineStyle(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n overlay = _ref$layout.overlay,\n overlayBg = _ref$layout.overlayBg,\n overlayBgAlpha = _ref$layout.overlayBgAlpha,\n fontSize = _ref.design.fontSize,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-bann3r rcb-bann3r-\".concat(scaleMobile(mobile, pageRequestUuid4, type, \"banner\"), \" \").concat(overlay ? \"\" : \"overlay-deactivated\"),\n style: {\n background: overlay ? calculateRgba(overlayBg, overlayBgAlpha) : \"none\",\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 99999,\n pointerEvents: overlay ? \"all\" : \"none\",\n fontSize: scaleMobile(mobile, pageRequestUuid4, +fontSize),\n filter: \"none\"\n }\n };\n}\n\nexport { bannerOverlayInlineStyle };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentGet = {\n path: \"/consent\",\n method: RouteHttpVerb.GET\n};","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useState } from \"react\";\nimport { getOptionsFromWindow, getOtherOptionsFromWindow } from \"../utils\";\nimport { useBannerPreDecisionGateway, useTcf } from \"../hooks\";\nimport { applyConsent, getCookieConsentManager } from \"../others\";\nimport { prepareTcfString } from \"../tcf\";\nimport { getUserDecision } from \"@devowl-wp/cookie-consent-web-client\";\nimport { useBannerConsentListener } from \"@devowl-wp/react-cookie-banner\";\nimport { BannerContextFactory, useBannerToggleOverlay, Banner, useBannerStateContextCallbacks } from \"@devowl-wp/react-cookie-banner\";\nimport { locationRestConsentGet } from \"../wp-api\";\nimport { commonRequest } from \"@devowl-wp/utils\";\nimport { BannerProductionNotice } from \".\";\n/**\n * Simply connects a context store to the banner itself. On the website itself\n * it should not rely\n */\n\nvar WebsiteBanner = function WebsiteBanner(_ref) {\n var poweredLink = _ref.poweredLink;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.customizeValuesBanner,\n layout = _getOtherOptionsFromW2.layout,\n decision = _getOtherOptionsFromW2.decision,\n legal = _getOtherOptionsFromW2.legal,\n design = _getOtherOptionsFromW2.design,\n headerDesign = _getOtherOptionsFromW2.headerDesign,\n bodyDesign = _getOtherOptionsFromW2.bodyDesign,\n footerDesign = _getOtherOptionsFromW2.footerDesign,\n texts = _getOtherOptionsFromW2.texts,\n individualLayout = _getOtherOptionsFromW2.individualLayout,\n saveButton = _getOtherOptionsFromW2.saveButton,\n group = _getOtherOptionsFromW2.group,\n individualTexts = _getOtherOptionsFromW2.individualTexts,\n customCss = _getOtherOptionsFromW2.customCss,\n mobile = _getOtherOptionsFromW2.mobile,\n pageId = _getOtherOptionsFromW.pageId,\n pageRequestUuid4 = _getOtherOptionsFromW.pageRequestUuid4,\n pageIdToPermalink = _getOtherOptionsFromW.pageIdToPermalink,\n consentForwardingExternalHosts = _getOtherOptionsFromW.consentForwardingExternalHosts,\n essentialGroup = _getOtherOptionsFromW.essentialGroup,\n isTcf = _getOtherOptionsFromW.isTcf,\n isEPrivacyUSA = _getOtherOptionsFromW.isEPrivacyUSA,\n isAgeNotice = _getOtherOptionsFromW.isAgeNotice,\n isListServicesNotice = _getOtherOptionsFromW.isListServicesNotice,\n tcf = _getOtherOptionsFromW.tcf,\n tcfMetadata = _getOtherOptionsFromW.tcfMetadata,\n groups = _getOtherOptionsFromW.groups,\n userConsentCookieName = _getOtherOptionsFromW.userConsentCookieName,\n bannerI18n = _getOtherOptionsFromW.bannerI18n,\n affiliate = _getOtherOptionsFromW.affiliate,\n isCurrentlyInTranslationEditorPreview = _getOtherOptionsFromW.isCurrentlyInTranslationEditorPreview,\n pageByIdUrl = _getOtherOptionsFromW.pageByIdUrl;\n\n var userDecision = getUserDecision(userConsentCookieName); // TCF compatibility\n\n var tcfObject = useTcf(isTcf, tcf, tcfMetadata); // Server-side rendered overlay handler\n\n var _useBannerToggleOverl = useBannerToggleOverlay(document.getElementById(pageRequestUuid4)),\n toggleOverlay = _useBannerToggleOverl.toggleOverlay;\n\n var _useBannerStateContex = useBannerStateContextCallbacks({\n toggleOverlay: toggleOverlay,\n revokeConsent: function revokeConsent(_ref2) {\n var tcf = _ref2.tcf;\n // Do not rely on current state of `groups` because it can be altered through history change\n var buttonClicked = \"shortcode_revoke\"; // TCF compatibility: revoke TCF string\n\n // TCF compatibility: revoke TCF string\n var tcfString;\n\n if (process.env.IS_TCF === \"1\" && tcf !== null && tcf !== void 0 && tcf.model) {\n tcfString = prepareTcfString(tcf.model, buttonClicked);\n }\n\n return applyConsent({\n consent: {\n groups: getCookieConsentManager().getDefaultDecision(true)\n },\n buttonClicked: buttonClicked,\n tcfString: tcfString\n });\n }\n }),\n _openHistory = _useBannerStateContex.openHistory,\n _openBanner = _useBannerStateContex.openBanner,\n _revokeConsent = _useBannerStateContex.revokeConsent,\n _updateTcfFilterBy = _useBannerStateContex.updateTcfFilterBy,\n _updateIndividualPrivacyOpen = _useBannerStateContex.updateIndividualPrivacyOpen,\n _updateGroupChecked = _useBannerStateContex.updateGroupChecked,\n _updateCookieChecked = _useBannerStateContex.updateCookieChecked,\n _onClose = _useBannerStateContex.onClose,\n _selectHistoryEntry = _useBannerStateContex.selectHistoryEntry; // Context values preparation\n\n\n var _useState = useState({\n layout: _objectSpread({}, layout),\n decision: _objectSpread({}, decision),\n legal: _objectSpread({}, legal),\n design: _objectSpread({}, design),\n headerDesign: _objectSpread({}, headerDesign),\n bodyDesign: _objectSpread({}, bodyDesign),\n footerDesign: _objectSpread({}, footerDesign),\n texts: _objectSpread({}, texts),\n individualLayout: _objectSpread({}, individualLayout),\n saveButton: _objectSpread({}, saveButton),\n group: _objectSpread({}, group),\n individualTexts: _objectSpread({}, individualTexts),\n customCss: _objectSpread({}, customCss),\n mobile: _objectSpread({}, mobile),\n productionNotice: h(BannerProductionNotice, null),\n pageRequestUuid4: pageRequestUuid4,\n pageIdToPermalink: pageIdToPermalink,\n pageByIdUrl: pageByIdUrl,\n consentForwardingExternalHosts: consentForwardingExternalHosts,\n pageId: pageId,\n isTcf: isTcf,\n ePrivacyUSA: isEPrivacyUSA,\n ageNotice: isAgeNotice,\n listServicesNotice: isListServicesNotice,\n tcf: tcfObject,\n tcfFilterBy: \"legInt\",\n groups: groups,\n essentialGroup: essentialGroup,\n poweredLink: poweredLink,\n visible: false,\n animationVisible: true,\n skipOverlay: true,\n previewCheckboxActiveState: false,\n individualPrivacyOpen: false,\n i18n: bannerI18n,\n keepVariablesInTexts: isCurrentlyInTranslationEditorPreview,\n affiliate: affiliate,\n consent: {\n groups: _objectSpread(_objectSpread({}, userDecision === false ? {} : userDecision.consent), getCookieConsentManager().getDefaultDecision(userDecision === false))\n },\n didGroupFirstChange: false,\n onSave: function onSave(markAsDoNotTrack, buttonClicked) {\n setContextValue(function (state) {\n var _state$tcf;\n\n // TCF compatibility: persist TCF string\n var tcfString;\n\n if (process.env.IS_TCF === \"1\" && isTcf && (_state$tcf = state.tcf) !== null && _state$tcf !== void 0 && _state$tcf.model) {\n tcfString = prepareTcfString(state.tcf.model, buttonClicked);\n }\n\n var appliedConsent = applyConsent({\n consent: state.consent,\n markAsDoNotTrack: markAsDoNotTrack,\n buttonClicked: buttonClicked,\n tcfString: tcfString\n });\n\n if (state.refreshSiteAfterSave) {\n appliedConsent.then(function () {\n return (// Fix iOS / Safari bug when we want to reload the page after a POST request\n setTimeout(function () {\n return window.location.reload();\n }, state.refreshSiteAfterSave ||\n /* BC */\n 2000)\n );\n }); // When refreshing the site, do not show any out animation\n\n // When refreshing the site, do not show any out animation\n return state;\n } else {\n return _objectSpread(_objectSpread({}, state), toggleOverlay(state, false));\n }\n });\n },\n fetchHistory: function () {\n var _fetchHistory = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _getOptionsFromWindow, restNamespace, restRoot, restQuery, restNonce, history;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _getOptionsFromWindow = getOptionsFromWindow(), restNamespace = _getOptionsFromWindow.restNamespace, restRoot = _getOptionsFromWindow.restRoot, restQuery = _getOptionsFromWindow.restQuery, restNonce = _getOptionsFromWindow.restNonce;\n _context.next = 3;\n return commonRequest({\n location: locationRestConsentGet,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false\n });\n\n case 3:\n history = _context.sent;\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n history: history\n });\n });\n return _context.abrupt(\"return\", history);\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function fetchHistory() {\n return _fetchHistory.apply(this, arguments);\n }\n\n return fetchHistory;\n }(),\n // Predefined callbacks\n updateTcfFilterBy: function updateTcfFilterBy(newFilter) {\n return _updateTcfFilterBy(setContextValue, newFilter);\n },\n updateIndividualPrivacyOpen: function updateIndividualPrivacyOpen(opened) {\n return _updateIndividualPrivacyOpen(setContextValue, opened);\n },\n updateGroupChecked: function updateGroupChecked(id, checked) {\n return _updateGroupChecked(setContextValue, id, checked);\n },\n updateCookieChecked: function updateCookieChecked(groupId, id, checked) {\n return _updateCookieChecked(setContextValue, groupId, id, checked);\n },\n onClose: function onClose() {\n return _onClose(setContextValue);\n },\n selectHistoryEntry: function selectHistoryEntry(groups, consentGroups, tcf) {\n return _selectHistoryEntry(setContextValue, groups, consentGroups, tcf);\n },\n openHistory: function openHistory(e) {\n return _openHistory(setContextValue, e);\n },\n openBanner: function openBanner(e) {\n return _openBanner(setContextValue, e);\n },\n revokeConsent: function revokeConsent(successMessage, e) {\n return _revokeConsent(setContextValue, successMessage, e);\n }\n }),\n _useState2 = _slicedToArray(_useState, 2),\n contextValue = _useState2[0],\n setContextValue = _useState2[1];\n\n useBannerPreDecisionGateway(contextValue, setContextValue, toggleOverlay);\n useBannerConsentListener(setContextValue, userConsentCookieName);\n var BannerContext = BannerContextFactory.Context();\n return h(BannerContext.Provider, {\n value: contextValue\n }, h(Banner, null));\n};\n\nexport { WebsiteBanner };","import { useMemo } from \"react\";\nimport { prepareTcfString } from \"../tcf\";\nimport { applyTcfModelMetadata, applyRestrictivePurposes, createTcfModel, createTcfModelFromCookie } from \"@devowl-wp/cookie-consent-web-client\";\nimport { getCookieConsentManager } from \"../others\";\n/**\n * Merges the localized `tcf` and `tcfMetadata` together so it can be\n * used inside our `BannerContextProps` and returns a valid `GVL` instance.\n */\n\nfunction useTcf(active, tcf, tcfMeta) {\n return useMemo(function () {\n if (process.env.IS_TCF === \"1\" && active && Object.values(tcf.vendors).length > 0) {\n var gvl;\n var model;\n var manager = getCookieConsentManager();\n var restored = createTcfModelFromCookie(tcf, tcfMeta, manager.getOption(\"tcfCookieName\")); // First, try to resolve from user consent (cookie value)\n\n if (restored) {\n gvl = restored.gvl;\n model = restored.model;\n } else {\n // No consent given, let's create an empty model\n var newTcf = createTcfModel({\n tcf: tcf,\n tcfMeta: tcfMeta,\n tcfString: \"\"\n });\n gvl = newTcf.gvl;\n model = newTcf.model;\n }\n\n applyTcfModelMetadata(model, tcfMeta, manager);\n applyRestrictivePurposes(model, tcf.vendorConfigurations);\n\n if (!restored) {\n prepareTcfString(model, \"initial\");\n }\n\n return {\n gvl: gvl,\n model: model,\n original: tcf,\n metadata: tcfMeta\n };\n } else {\n return undefined;\n }\n }, [active, tcf, tcfMeta]);\n}\n\nexport { useTcf };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { useCallback } from \"react\";\nimport { useBannerAnimation } from \"../..\";\n/**\n * Provides a callback which can be used to update the state of the banner context and manipulate\n * the `visible` and `animationVisible` property correctly.\n */\n\nfunction useBannerToggleOverlay(overlay) {\n var useBannerAnimationCallback = useBannerAnimation();\n var toggleOverlay = useCallback(function (_ref, show) {\n var layout = _ref.layout;\n var animationInDuration = layout.animationInDuration,\n animationOutDuration = layout.animationOutDuration;\n\n var _useBannerAnimationCa = useBannerAnimationCallback(layout),\n useAnimationIn = _useBannerAnimationCa.useAnimationIn,\n useAnimationOut = _useBannerAnimationCa.useAnimationOut;\n\n var defaultIfNoAnimation = 0; // Avoid \"hard\" overlay\n\n var useDuration = show ? useAnimationIn === \"none\" ? defaultIfNoAnimation : animationInDuration : useAnimationOut === \"none\" ? defaultIfNoAnimation : animationOutDuration; // Toggle SSR-rendered overlay\n\n useDuration > 0 && (overlay.style.transition = \"background \".concat(useDuration, \"ms\"));\n overlay.style.background = \"transparent\";\n\n if (show) {\n // We need a small delay to avoid flickering of animation out effect in customizer\n setTimeout(function () {\n overlay.style.display = \"block\";\n }, 0);\n setTimeout(function () {\n var bg = overlay.getAttribute(\"data-bg\");\n overlay.style.background = bg ? bg.split(\":\")[1].trim().replace(\";\", \"\") : \"transparent\";\n }, 100);\n } else {\n setTimeout(function () {\n overlay.style.display = \"none\";\n }, useDuration);\n }\n\n var animationVisible = {\n animationVisible: show\n };\n return show ? _objectSpread({\n visible: true\n }, animationVisible) : animationVisible;\n }, [useBannerAnimationCallback]);\n return {\n overlay: overlay,\n toggleOverlay: toggleOverlay\n };\n}\n\nexport { useBannerToggleOverlay };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useEffect } from \"react\";\nimport { getOptionsFromWindow, isCustomize } from \"../utils\";\nimport { getCookieConsentManager } from \"../others\";\nimport { preDecisionGateway } from \"@devowl-wp/cookie-consent-web-client\";\nimport { preDecisionGatewayDynamicRequest, preDecisionGatewayHasPageClass, preDecisionGatewayIsCrawler, preDecisionGatewayIsPreventPreDecision, preDecisionGatewaySupportsCookies, preDecisionGatewayUserConsent, preDecisionGatewayIsDoNotTrack } from \"@devowl-wp/cookie-consent-web-client\";\nimport { commonRequest } from \"@devowl-wp/utils\";\nimport { locationRestConsentDynamicPredecisionGet } from \"../wp-api\";\nimport { isHiddenDueLegal } from \"@devowl-wp/react-cookie-banner\";\n/**\n * Do some decision gateways like DNT, Bot / Crawler and Decision and depending\n * on that, show the Banner initially.\n */\n\nfunction useBannerPreDecisionGateway(banner, setContextValue, toggleOverlay) {\n useEffect(function () {\n // Only run this predecision mechanism once and when not in customize\n if (isCustomize()) {\n return;\n }\n\n var _getOptionsFromWindow = getOptionsFromWindow(),\n restNamespace = _getOptionsFromWindow.restNamespace,\n restRoot = _getOptionsFromWindow.restRoot,\n restQuery = _getOptionsFromWindow.restQuery,\n restNonce = _getOptionsFromWindow.restNonce,\n _getOptionsFromWindow2 = _getOptionsFromWindow.others,\n isAcceptAllForBots = _getOptionsFromWindow2.isAcceptAllForBots,\n isPreventPreDecision = _getOptionsFromWindow2.isPreventPreDecision,\n hasDynamicPreDecisions = _getOptionsFromWindow2.hasDynamicPreDecisions,\n isRespectDoNotTrack = _getOptionsFromWindow2.isRespectDoNotTrack;\n\n var onSave = banner.onSave;\n preDecisionGateway(getCookieConsentManager(), {\n gateways: [preDecisionGatewaySupportsCookies, preDecisionGatewayHasPageClass([\"login-action-\"]), preDecisionGatewayDynamicRequest(function () {\n var _document$documentEle = document.documentElement,\n clientWidth = _document$documentEle.clientWidth,\n clientHeight = _document$documentEle.clientHeight;\n return commonRequest({\n location: locationRestConsentDynamicPredecisionGet,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false,\n request: {\n viewPortWidth: clientWidth,\n viewPortHeight: clientHeight\n },\n params: {\n _wp_http_referer: window.location.href\n }\n });\n }, 10000, hasDynamicPreDecisions), /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_, banner) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", isHiddenDueLegal(banner) ? \"consent\" : false);\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x, _x2) {\n return _ref.apply(this, arguments);\n };\n }(), preDecisionGatewayIsPreventPreDecision(isPreventPreDecision), preDecisionGatewayIsCrawler(isAcceptAllForBots ? \"all\" : false), preDecisionGatewayIsDoNotTrack(isRespectDoNotTrack), preDecisionGatewayUserConsent],\n args: [banner],\n onIsDoNotTrack: function onIsDoNotTrack() {\n onSave(true, \"none\");\n },\n onShowCookieBanner: function onShowCookieBanner() {\n return setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n // Always revert back to \"Essentials\" only consent when cookie needs to be consented\n consent: {\n groups: getCookieConsentManager().getDefaultDecision()\n }\n }, toggleOverlay(state, true));\n });\n }\n });\n }, []);\n}\n\nexport { useBannerPreDecisionGateway };","import { getOtherOptionsFromWindow } from \"./getOtherOptionsFromWindow\";\n/**\n * Checks if the current page is customize page.\n */\n\nfunction isCustomize() {\n return !!getOtherOptionsFromWindow().customizeIdsBanner;\n}\n\nexport { isCustomize };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \"../decision\";\nimport { isCrawler } from \"../utils\";\n/**\n * Is the current request from a spider / crawler?\n */\n\nvar preDecisionGatewayIsCrawler = function preDecisionGatewayIsCrawler(resultIfBot) {\n return /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var decisionCookieName;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decisionCookieName = _ref.decisionCookieName;\n\n if (!(getUserDecision(decisionCookieName) !== false || !resultIfBot)) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 3:\n return _context.abrupt(\"return\", isCrawler() ? resultIfBot : false);\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n};\n\nexport { preDecisionGatewayIsCrawler };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \"../decision\";\nimport { isCrawler } from \"../utils\";\n/**\n * Prevent any predecision and user decision and force to reuse existing consent or all for crawlers.\n * This could be e.g. be configured by a dynamic hook or on server-side via a localized variable.\n */\n\nvar preDecisionGatewayIsPreventPreDecision = function preDecisionGatewayIsPreventPreDecision(preventPreDecision) {\n return /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var decisionCookieName, userDecision;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decisionCookieName = _ref.decisionCookieName;\n userDecision = getUserDecision(decisionCookieName);\n return _context.abrupt(\"return\", preventPreDecision && userDecision === false ? isCrawler() ? // For crawlers we need to explicitly allow cookies on all pages\n \"all\" : \"consent\" : false);\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n};\n\nexport { preDecisionGatewayIsPreventPreDecision };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\n/**\n * Do not show cookie banner for a certain page, e.g. the login page.\n */\nvar preDecisionGatewayHasPageClass = function preDecisionGatewayHasPageClass(classNames) {\n return /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var className;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n className = document.body.className;\n return _context.abrupt(\"return\", classNames.filter(function (c) {\n return className.indexOf(c) > -1;\n }).length > 0 ? \"consent\" : false);\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n};\n\nexport { preDecisionGatewayHasPageClass };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { getUserDecision, OPT_IN_ALL_EVENT } from \"@devowl-wp/cookie-consent-web-client\";\nimport { useEffect } from \"react\";\n\nfunction useBannerConsentListener(setContextValue, userConsentCookieName) {\n useEffect(function () {\n var listener = function listener() {\n var consent = getUserDecision(userConsentCookieName);\n consent && setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n consent: {\n groups: consent.consent\n }\n });\n });\n };\n\n document.addEventListener(OPT_IN_ALL_EVENT, listener);\n return function () {\n document.removeEventListener(OPT_IN_ALL_EVENT, listener);\n };\n }, []);\n}\n\nexport { useBannerConsentListener };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\n/**\n * Wait for a given object which is calculated through a callback.\n */\nfunction waitObject(_x) {\n return _waitObject.apply(this, arguments);\n}\n\nfunction _waitObject() {\n _waitObject = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(getObject) {\n var delayNextCheck,\n maxTries,\n i,\n _args = arguments;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n delayNextCheck = _args.length > 1 && _args[1] !== undefined ? _args[1] : 500;\n maxTries = _args.length > 2 && _args[2] !== undefined ? _args[2] : 0;\n i = 0;\n\n case 3:\n if (getObject()) {\n _context.next = 11;\n break;\n }\n\n if (!(maxTries > 0 && i >= maxTries)) {\n _context.next = 6;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 6:\n _context.next = 8;\n return new Promise(function (r) {\n return setTimeout(r, delayNextCheck);\n });\n\n case 8:\n i++;\n _context.next = 3;\n break;\n\n case 11:\n return _context.abrupt(\"return\", getObject());\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _waitObject.apply(this, arguments);\n}\n\nexport { waitObject };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { putHtmlCodeToDom, OPT_IN_CONTENT_BLOCKER } from \"@devowl-wp/headless-content-unblocker\";\nimport { OPT_IN_EVENT, waitObject } from \"@devowl-wp/cookie-consent-web-client\";\nvar amazonWidgetsSlotNum = 0;\n/**\n * Some presets have custom opt-in coding, e. g. Amazon Widgets.\n */\n\nfunction listenPresetOptIn() {\n document.addEventListener(OPT_IN_EVENT, /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref) {\n var _ref$detail$cookie, presetId, codeOptIn, codeDynamics, _ref3, amznAssoWidgetHtmlId, element, slotNum, adContainer;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _ref$detail$cookie = _ref.detail.cookie, presetId = _ref$detail$cookie.presetId, codeOptIn = _ref$detail$cookie.codeOptIn, codeDynamics = _ref$detail$cookie.codeDynamics;\n _context2.t0 = presetId;\n _context2.next = _context2.t0 === \"amazon-associates-widget\" ? 4 : _context2.t0 === \"google-maps\" ? 16 : 18;\n break;\n\n case 4:\n _ref3 = codeDynamics || {}, amznAssoWidgetHtmlId = _ref3.amznAssoWidgetHtmlId;\n\n if (!amznAssoWidgetHtmlId) {\n _context2.next = 15;\n break;\n }\n\n element = document.getElementById(amznAssoWidgetHtmlId);\n\n if (!element) {\n _context2.next = 15;\n break;\n }\n\n slotNum = amazonWidgetsSlotNum;\n amazonWidgetsSlotNum++;\n putHtmlCodeToDom(codeOptIn, codeDynamics, element); // Amazon Widgets is using `document.write`, we need to manually move the ad container...\n\n _context2.next = 13;\n return waitObject(function () {\n return document.querySelector(\"[id^=\\\"amzn_assoc_ad_div_\\\"][id$=\\\"\".concat(slotNum, \"\\\"]\"));\n }, 500, 50);\n\n case 13:\n adContainer = _context2.sent;\n\n if (adContainer) {\n element.appendChild(adContainer);\n }\n\n case 15:\n return _context2.abrupt(\"break\", 19);\n\n case 16:\n document.addEventListener(OPT_IN_CONTENT_BLOCKER, /*#__PURE__*/function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref4) {\n var element, _ref6, et_pb_map_init, jQuery;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n element = _ref4.detail.element;\n _ref6 = window, et_pb_map_init = _ref6.et_pb_map_init, jQuery = _ref6.jQuery;\n\n if (!(jQuery && element.matches(\".et_pb_map\") && et_pb_map_init)) {\n _context.next = 6;\n break;\n }\n\n _context.next = 5;\n return waitObject(function () {\n return window.google;\n });\n\n case 5:\n et_pb_map_init(jQuery(element).parent());\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x2) {\n return _ref5.apply(this, arguments);\n };\n }());\n return _context2.abrupt(\"break\", 19);\n\n case 18:\n return _context2.abrupt(\"break\", 19);\n\n case 19:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n}\n\nexport { listenPresetOptIn };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentClearDelete = {\n path: \"/consent/clear\",\n method: RouteHttpVerb.DELETE\n};","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\nimport { getUserDecision, regExpPatternFromWildcardName } from \"@devowl-wp/cookie-consent-web-client\";\n/**\n * Synchronously check if a consent is given. See `window.consentApi.consent` for more documentation.\n */\n\nfunction consentSync(typeOrId, name,\n/**\n * This can also be `*` to allow all hosts.\n */\nhost) {\n // Find matching cookie\n var found = [];\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n groups = _getOtherOptionsFromW.groups,\n revisionHash = _getOtherOptionsFromW.revisionHash;\n\n var allCookies = groups.map(function (_ref) {\n var items = _ref.items;\n return items;\n }).flat();\n\n var _iterator = _createForOfIteratorHelper(allCookies),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var row = _step.value;\n\n if (typeof typeOrId === \"number\") {\n if (row.id === typeOrId) {\n found.push({\n cookie: row,\n relevance: 10\n });\n }\n } else {\n var technicalDefinitions = row.technicalDefinitions;\n\n if (technicalDefinitions !== null && technicalDefinitions !== void 0 && technicalDefinitions.length) {\n // Check if technical information matches\n var _iterator2 = _createForOfIteratorHelper(technicalDefinitions),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var td = _step2.value;\n var regexp = regExpPatternFromWildcardName(td.name);\n\n if (td.type === typeOrId && (td.name === name || name.match(regexp)) && (td.host === host || host === \"*\")) {\n found.push({\n cookie: row,\n // Create a priority by \"relevance\" inside the technical definitions\n // This is the case if e.g. another Cookie consumes the same technical cookie\n // Example: Vimeo uses Facebook Pixel, too\n relevance: technicalDefinitions.length + technicalDefinitions.indexOf(td) + 1\n });\n break;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var already = getUserDecision(getOtherOptionsFromWindow().userConsentCookieName);\n\n if (found.length) {\n var relevantCookie = found.sort(function (_ref2, _ref3) {\n var a = _ref2.relevance;\n var b = _ref3.relevance;\n return a - b;\n })[0].cookie; // Check if consent is already given\n\n if (already && revisionHash === already.revision) {\n var consentCookieIds = Object.values(already.consent).flat();\n\n if (consentCookieIds.indexOf(relevantCookie.id) > -1) {\n return {\n cookie: relevantCookie,\n consentGiven: true,\n cookieOptIn: true\n };\n } else {\n return {\n cookie: relevantCookie,\n consentGiven: true,\n cookieOptIn: false\n };\n }\n } else {\n return {\n cookie: relevantCookie,\n consentGiven: false,\n cookieOptIn: false\n };\n }\n } else {\n return {\n cookie: null,\n consentGiven: !!already,\n cookieOptIn: true\n };\n }\n}\n\nexport { consentSync };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { OPT_IN_EVENT, OPT_OUT_EVENT } from \"@devowl-wp/cookie-consent-web-client\";\nimport { consentSync } from \".\";\n/**\n * `window.consentApi.consent`: Check if a given technical information (e.g. HTTP Cookie, LocalStorage, ...) has a consent:\n *\n * - When a technical information exists in defined cookies, the Promise is only resolved after given consent\n * - When no technical information exists, the Promise is immediate resolved\n *\n * Example (ES5):\n * ```js\n * (window.consentApi && window.consentApi.consent(\"http\", \"_twitter_sess\", \".twitter.com\") || Promise.resolve()).then(function() {\n * console.log(\"Consent for Twitter embed given, do something...!\");\n * });\n * ```\n *\n * Example (ES6, Babel, TS):\n * ```js\n * (window.consentApi?.consent(\"http\", \"_twitter_sess\", \".twitter.com\") || Promise.resolve()).then(() => {\n * console.log(\"Consent for Twitter embed given, do something...!\");\n * });\n * ```\n *\n * **Since 2.3.0**: You can also check for consent by cookie ID (ID in `wp_posts`, post id):\n *\n * ```js\n * window.consentApi.consent(15)\n * ```\n */\n\nfunction consent() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return new Promise(function (resolve, reject) {\n var _consentSync = consentSync.apply(void 0, args),\n foundCookie = _consentSync.cookie,\n consentGiven = _consentSync.consentGiven,\n cookieOptIn = _consentSync.cookieOptIn;\n\n if (foundCookie) {\n if (consentGiven) {\n if (cookieOptIn) {\n resolve();\n } else {\n reject();\n }\n } else {\n // Wait for consent\n document.addEventListener(OPT_IN_EVENT, /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var cookie;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cookie = _ref.detail.cookie;\n\n if (cookie === foundCookie) {\n resolve();\n }\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }()); // Wait for opt out\n\n document.addEventListener(OPT_OUT_EVENT, /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref3) {\n var cookie;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n cookie = _ref3.detail.cookie;\n\n if (cookie === foundCookie) {\n reject();\n }\n\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }());\n }\n } else {\n resolve();\n }\n });\n}\n\nexport { consent };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { consent } from \".\";\n/**\n * `window.consentApi.consentAll`: Check if a set of given technical information (e.g. HTTP Cookie, LocalStorage, ...)\n * have a consent. This is similar to `window.consentApi.consent` but for multiple cookies.\n */\n\nfunction consentAll(technicalDefinitions) {\n return Promise.all(technicalDefinitions.map(function (args) {\n return consent.apply(void 0, _toConsumableArray(args));\n }));\n}\n\nexport { consentAll };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\n/* istanbul ignore file: we do not need to care about the entry point file as errors are detected through integration tests (E2E) */\n\n/**\n * Entrypoint for plain website. This file is only loaded if the visitor needs to accept cookies.\n */\nimport { render } from \"react-dom\";\nimport { WebsiteBanner } from \"./components\";\nimport { getOtherOptionsFromWindow, ensureBodyElement } from \"./utils\";\nimport { listenPresetOptIn, deleteCookiesServer, getCookieConsentManager } from \"./others\";\nimport { tcfCmpApi } from \"./tcf\";\nimport * as API from \"./api\";\nimport { getWebpackPublicPath } from \"@devowl-wp/utils\";\nimport { printConsentUuidsToHTMLElement } from \"@devowl-wp/cookie-consent-web-client\";\nimport { OPT_OUT_EVENT, ready } from \"@devowl-wp/cookie-consent-web-client\";\nimport { getSsrPoweredByLink } from \"@devowl-wp/react-cookie-banner\";\n__webpack_public_path__ = getWebpackPublicPath(process.env);\nlistenPresetOptIn();\ntcfCmpApi();\nready(function () {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n pageRequestUuid4 = _getOtherOptionsFromW.pageRequestUuid4;\n\n var poweredLink = getSsrPoweredByLink(pageRequestUuid4);\n var element = ensureBodyElement(document.getElementById(pageRequestUuid4));\n printConsentUuidsToHTMLElement(\".rcb-consent-history-uuids\", getCookieConsentManager());\n document.addEventListener(OPT_OUT_EVENT, /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var deleteHttpCookies;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n deleteHttpCookies = _ref.detail.deleteHttpCookies;\n // Handle cookie deletion which needs to be done server-side (e. g. HTTP cookies)\n deleteHttpCookies.length && setTimeout(function () {\n return deleteCookiesServer(deleteHttpCookies);\n }, 0);\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n\n if (element) {\n render(h(WebsiteBanner, {\n poweredLink: poweredLink\n }), element);\n }\n}, \"interactive\"); // Expose public API\n\nif (window) {\n window.consentApi = API;\n}\n\nexport * from \"./api\";","import { tcfCmpApiDispatcher } from \"@devowl-wp/cookie-consent-web-client\";\nimport { CmpApi } from \"@iabtcf/cmpapi\";\nimport { getCookieConsentManager } from \"../others\";\nimport { getCmpVersion, getOtherOptionsFromWindow } from \"../utils\";\nvar cmpApiInstance;\n/**\n * Initialize a CMP API once for this page request. If TCF is not available, it will\n * return `undefined`.\n *\n * @see https://www.npmjs.com/package/@iabtcf/cmpapi\n */\n\nfunction tcfCmpApi() {\n var other = getOtherOptionsFromWindow();\n var isTcf = other.isTcf;\n\n if (process.env.IS_TCF === \"1\" && isTcf) {\n var tcf = other.tcf,\n tcfMetadata = other.tcfMetadata;\n var scope = tcfMetadata.scope; // Create instance only once\n\n if (!cmpApiInstance) {\n cmpApiInstance = new CmpApi(+process.env.TCF_CMP_ID, // Currently, only two bits (https://git.io/JmuD0) can be saved to the cmpVersion, so we can only save the major version\n getCmpVersion(\"major\"), scope === \"service-specific\"); // Dispatch events to vendors can listen to it\n\n setTimeout(function () {\n return tcfCmpApiDispatcher(tcf, tcfMetadata, cmpApiInstance, getCookieConsentManager().getOption(\"tcfCookieName\"));\n }, 0);\n }\n\n return cmpApiInstance;\n } else {\n return undefined;\n }\n}\n\nexport { tcfCmpApi };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { CookieConsentManager } from \"../apply\";\nimport { BANNER_PRE_DECISION_SHOW_EVENT, OPT_IN_ALL_EVENT } from \"../events\";\nimport { getUserDecision } from \".\";\n/**\n * Listen to opt-in so we can safely print the UUID of the current consent to HTML elements.\n */\n\nfunction printConsentUuidsToHTMLElement(selector, decisionCookieName) {\n var elements = Array.prototype.slice.call(document.querySelectorAll(selector));\n document.addEventListener(BANNER_PRE_DECISION_SHOW_EVENT, function () {\n elements.forEach(function (element) {\n return element.innerHTML = element.getAttribute(\"data-fallback\");\n });\n });\n document.addEventListener(OPT_IN_ALL_EVENT, function () {\n var consent = getUserDecision(decisionCookieName instanceof CookieConsentManager ? decisionCookieName.getOption(\"decisionCookieName\") : decisionCookieName);\n var allUuids = consent ? [consent.uuid].concat(_toConsumableArray(consent.previousUuids)) : [];\n elements.forEach(function (element) {\n return element.innerHTML = allUuids.length > 0 ? allUuids.join(\", \") : element.getAttribute(\"data-fallback\");\n });\n });\n}\n\nexport { printConsentUuidsToHTMLElement };","/**\n * Ensure the given HTML is a child of `body`. If not, it automatically gets moved.\n */\nfunction ensureBodyElement(element) {\n var _document = document,\n body = _document.body;\n var parentElement = element.parentElement;\n\n if (parentElement !== body) {\n body.appendChild(element);\n }\n\n return element;\n}\n\nexport { ensureBodyElement };","import { commonRequest } from \"@devowl-wp/utils\";\nimport { getOptionsFromWindow } from \"../utils\";\nimport { locationRestConsentClearDelete } from \"../wp-api\";\n/**\n * Delete cookies on server side (currently only `http`).\n */\n\nfunction deleteCookiesServer(cookies) {\n var _getOptionsFromWindow = getOptionsFromWindow(),\n restNamespace = _getOptionsFromWindow.restNamespace,\n restRoot = _getOptionsFromWindow.restRoot,\n restQuery = _getOptionsFromWindow.restQuery,\n restNonce = _getOptionsFromWindow.restNonce;\n\n return commonRequest({\n location: locationRestConsentClearDelete,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false,\n params: {\n cookies: cookies.join(\",\")\n }\n });\n}\n\nexport { deleteCookiesServer };","import { getOtherOptionsFromWindow } from \"../utils\";\n\nvar BannerProductionNotice = function BannerProductionNotice() {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n isPro = _getOtherOptionsFromW.isPro,\n isLicensed = _getOtherOptionsFromW.isLicensed,\n isDevLicense = _getOtherOptionsFromW.isDevLicense,\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.bannerI18n,\n noLicense = _getOtherOptionsFromW2.noLicense,\n devLicense = _getOtherOptionsFromW2.devLicense;\n\n if (!isPro) {\n return null;\n }\n\n var useText = \"\";\n\n if (isDevLicense) {\n useText = devLicense;\n } else if (!isLicensed) {\n useText = noLicense;\n }\n\n return useText ? h(\"div\", {\n style: {\n fontSize: 13,\n color: \"#c95252\",\n fontWeight: \"bold\",\n order: 9\n }\n }, useText) : null;\n};\n\nexport { BannerProductionNotice };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentPost = {\n path: \"/consent\",\n method: RouteHttpVerb.POST\n};","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\n/**\n * Apply Consent Forwarding, it set's cross domain cookies via CORS requests.\n *\n * @see https://javascript.info/fetch-crossorigin\n */\n\nfunction applyConsentForwarding(_ref) {\n var endpoints = _ref.endpoints,\n data = _ref.data;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n isPro = _getOtherOptionsFromW.isPro;\n\n if (isPro) {\n /* onlypro:start */\n var promises = [];\n\n var _iterator = _createForOfIteratorHelper(endpoints),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var endpoint = _step.value;\n promises.push(window.fetch(endpoint, {\n method: \"POST\",\n credentials: \"include\",\n headers: {\n \"Content-Type\": \"application/json;charset=utf-8\"\n },\n body: JSON.stringify(data)\n }));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return Promise.all(promises);\n /* onlypro:start */\n } else {\n return Promise.reject();\n }\n}\n\nexport { applyConsentForwarding };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { locationRestConsentPost } from \"../wp-api\";\nimport { getOptionsFromWindow } from \"../utils\";\nimport { applyConsentForwarding, getCookieConsentManager } from \".\";\nimport { commonRequest } from \"@devowl-wp/utils\";\n\n/**\n * Save consent to the backend and apply cookies on running session.\n */\nfunction applyConsent(_x) {\n return _applyConsent.apply(this, arguments);\n}\n\nfunction _applyConsent() {\n _applyConsent = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var consent, _ref$markAsDoNotTrack, markAsDoNotTrack, buttonClicked, _ref$blocker, blocker, blockerThumbnail, tcfString, _document$documentEle, clientWidth, clientHeight, _getOptionsFromWindow, restNamespace, restRoot, restQuery, restNonce, _yield$commonRequest, forward, uuid, cookie_revision, decision_in_cookie;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n consent = _ref.consent, _ref$markAsDoNotTrack = _ref.markAsDoNotTrack, markAsDoNotTrack = _ref$markAsDoNotTrack === void 0 ? false : _ref$markAsDoNotTrack, buttonClicked = _ref.buttonClicked, _ref$blocker = _ref.blocker, blocker = _ref$blocker === void 0 ? 0 : _ref$blocker, blockerThumbnail = _ref.blockerThumbnail, tcfString = _ref.tcfString;\n _document$documentEle = document.documentElement, clientWidth = _document$documentEle.clientWidth, clientHeight = _document$documentEle.clientHeight;\n _getOptionsFromWindow = getOptionsFromWindow(), restNamespace = _getOptionsFromWindow.restNamespace, restRoot = _getOptionsFromWindow.restRoot, restQuery = _getOptionsFromWindow.restQuery, restNonce = _getOptionsFromWindow.restNonce; // Use `commonRequest` cause on frontend we do not have `wp.i18n` available\n\n _context.next = 5;\n return commonRequest({\n location: locationRestConsentPost,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false,\n request: _objectSpread(_objectSpread({}, consent), {}, {\n markAsDoNotTrack: markAsDoNotTrack,\n buttonClicked: buttonClicked,\n viewPortWidth: clientWidth,\n viewPortHeight: clientHeight,\n blocker: blocker,\n blockerThumbnail: blockerThumbnail,\n tcfString: tcfString\n }),\n params: {\n _wp_http_referer: window.location.href\n }\n });\n\n case 5:\n _yield$commonRequest = _context.sent;\n forward = _yield$commonRequest.forward;\n uuid = _yield$commonRequest.uuid;\n cookie_revision = _yield$commonRequest.cookie_revision;\n decision_in_cookie = _yield$commonRequest.decision_in_cookie;\n // Does the browser support cookies? Save the decision locally in `window` so `getUserDecision` can fallback\n window.rcbDisabledCookieComp = {\n uuid: uuid,\n previousUuids: [],\n revision: cookie_revision,\n consent: decision_in_cookie\n };\n _context.next = 13;\n return Promise.all([// Apply consent forwarding and wait for all requests\n forward && applyConsentForwarding(forward), getCookieConsentManager().applyCookies({\n type: \"consent\"\n })].filter(Boolean));\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _applyConsent.apply(this, arguments);\n}\n\nexport { applyConsent };","import { CookieConsentManager } from \"@devowl-wp/cookie-consent-web-client\";\nimport { getCmpVersion, getOtherOptionsFromWindow } from \"../utils\";\n\nfunction getCookieConsentManager() {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n userConsentCookieName = _getOtherOptionsFromW.userConsentCookieName,\n revisionHash = _getOtherOptionsFromW.revisionHash,\n setCookiesViaManager = _getOtherOptionsFromW.setCookiesViaManager,\n groups = _getOtherOptionsFromW.groups,\n essentialGroup = _getOtherOptionsFromW.essentialGroup;\n\n if (!window.rcbConsentManager) {\n window.rcbConsentManager = new CookieConsentManager({\n decisionCookieName: userConsentCookieName,\n essentialGroupSlug: essentialGroup,\n groups: groups,\n revisionHash: revisionHash,\n supportsCookiesName: \"real_cookie_banner-test\",\n tagManager: setCookiesViaManager,\n skipOptIn: function skipOptIn(cookie) {\n var _ref = cookie,\n presetId = _ref.presetId;\n return [\"amazon-associates-widget\"].indexOf(presetId) > -1;\n },\n cmpId: process.env.TCF_CMP_ID,\n cmpVersion: getCmpVersion(\"major\"),\n tcfCookieName: \"\".concat(userConsentCookieName, \"-tcf\")\n });\n }\n\n return window.rcbConsentManager;\n}\n\nexport { getCookieConsentManager };","import { getOptionsFromWindow } from \"./getOptionsFromWindow\";\n/**\n * Get the version of Real Cookie Banner as integer.\n */\n\nfunction getCmpVersion(type) {\n var split = getOptionsFromWindow().version.split(\".\");\n return +(type === \"major\" ? split[0] : split.map(function (i) {\n return +i < 10 ? \"0\".concat(i) : i;\n }).join(\"\")); // 1.11.1 => 1011000; 2.5.0 => 2005001;\n}\n\nexport { getCmpVersion };","/**\n * Use this if you do not have the Mobx store available in your JavaScript asset.\n * E. g. the `banner.js` does not rely on the mobx store and should access the\n * localized options via `window.realCookieBanner` directly.\n */\nfunction getOptionsFromWindow() {\n return window[process.env.slug.replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n })];\n}\n\nexport { getOptionsFromWindow };","import { getOptionsFromWindow } from \"./getOptionsFromWindow\";\n/**\n * Use this if you do not have the Mobx store available in your JavaScript asset.\n * E. g. the `banner.js` does not rely on the mobx store and should access the\n * localized options via `window.realCookieBanner.others` directly.\n */\n\nfunction getOtherOptionsFromWindow() {\n return getOptionsFromWindow().others;\n}\n\nexport { getOtherOptionsFromWindow };","// Currently we can not rely on core-js for frontend banner because\n// it increases the bundle size a lot. There is an open issue for this:\n// https://github.com/zloirock/core-js/issues/388\n// import \"core-js/stable/string/virtual/starts-with\";\n// import \"core-js/stable/string/virtual/ends-with\";\n// import \"core-js/features/object/assign\";\n// import \"core-js/features/object/values\";\n// import \"core-js/features/promise\";\n// https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/endsWIth\nif (!String.prototype.startsWith) {\n // @see\n String.prototype.startsWith = function (searchString, position) {\n position = position || 0;\n return this.indexOf(searchString, position) === position;\n };\n} // https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nif (!String.prototype.endsWith) {\n String.prototype.endsWith = function (searchString, position) {\n var subjectString = this.toString();\n\n if (typeof position !== \"number\" || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n position = subjectString.length;\n }\n\n position -= searchString.length;\n var lastIndex = subjectString.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n };\n} // https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttributeNames\n\n\nif (Element.prototype.getAttributeNames == undefined) {\n Element.prototype.getAttributeNames = function () {\n var attributes = this.attributes;\n var length = attributes.length;\n var result = new Array(length);\n\n for (var i = 0; i < length; i++) {\n result[i] = attributes[i].name;\n }\n\n return result;\n };\n} // https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent#Polyfill\n\n\n(function () {\n if (typeof window.CustomEvent === \"function\") return;\n\n function CustomEvent(event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: null\n };\n var evt = document.createEvent(\"CustomEvent\");\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n\n window.CustomEvent = CustomEvent;\n})(); // https://github.com/KhaledElAnsari/Object.values\n\n\nObject.values = Object.values ? Object.values : function (obj) {\n var allowedTypes = [\"[object String]\", \"[object Object]\", \"[object Array]\", \"[object Function]\"];\n var objType = Object.prototype.toString.call(obj);\n\n if (obj === null || typeof obj === \"undefined\") {\n throw new TypeError(\"Cannot convert undefined or null to object\");\n } else if (!~allowedTypes.indexOf(objType)) {\n return [];\n } else {\n // if ES6 is supported\n if (Object.keys) {\n return Object.keys(obj).map(function (key) {\n return obj[key];\n });\n }\n\n var result = [];\n\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n result.push(obj[prop]);\n }\n }\n\n return result;\n }\n}; // https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n\nif (typeof Object.assign != \"function\") {\n // Must be writable: true, enumerable: false, configurable: true\n Object.defineProperty(Object, \"assign\", {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n value: function assign() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var target = args[0]; // .length of function is 2\n\n \"use strict\";\n\n if (target == null) {\n // TypeError if undefined or null\n throw new TypeError(\"Cannot convert undefined or null to object\");\n }\n\n var to = Object(target);\n\n for (var index = 1; index < args.length; index++) {\n var nextSource = args[index];\n\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n\n return to;\n },\n writable: true,\n configurable: true\n });\n} // https://stackoverflow.com/a/20428914/5506547\n\n\n(function (arr) {\n arr.forEach(function (item) {\n // eslint-disable-next-line no-prototype-builtins\n if (item.hasOwnProperty(\"remove\")) {\n return;\n }\n\n Object.defineProperty(item, \"remove\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function remove() {\n this.parentNode.removeChild(this);\n }\n });\n });\n})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t392: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkrealCookieBanner_name_\"] = self[\"webpackChunkrealCookieBanner_name_\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\n__webpack_require__.O(undefined, [568], function() { return __webpack_require__(6652); })\nvar __webpack_exports__ = __webpack_require__.O(undefined, [568], function() { return __webpack_require__(6946); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","getServiceSelection","_ref","selectedGroups","_iterateCookies","decisionCookieName","tagManager","groups","essentialGroupSlug","type","isManagerActive","_groups$filter","filter","_ref2","slug","essentialGroupObj","consentEssentials","id","items","map","_ref3","decision","getUserDecision","consent","console","warn","iterateCookies","_callee","callback","_iterator","_step","_group","_iterator2","_step2","_selectedGroups$_grou","_cookie","_isOptIn","_context","prev","next","s","n","done","value","indexOf","t0","e","f","finish","t1","stop","_x","apply","this","arguments","getManagerDependingVariables","setCookiesViaManager","useVariableNameCamel","useVariableNamePascal","useGlobalObjectName","charAt","toUpperCase","slice","applyOptIn","_applyOptIn","_callee2","options","allOptInCookies","_getServiceSelection","skipOptIn","_getManagerDependingV","isManagerOptOut","dataLayerPromise","waitPromises","_context2","Promise","resolve","undefined","group","cookie","isOptIn","codeDynamics","codeOptIn","rest","isOnlyWhenNoConsentToManager","isSkipOptIn","concat","push","putHtmlCodeToDom","document","dispatchEvent","CustomEvent","detail","_x2","_x3","_x4","abrupt","cookies","ready","all","applyOptInOutManager","_applyOptInOutManager","dataLayer","event","realCookieBannerOptInEvents","r","setTimeout","realCookieBannerOptOutEvents","_x5","_x6","deleteCookiesLocally","technicalDefinitions","dynamics","_step$value","name","pattern","RegExp","regExpPatternFromWildcardName","applyDynamicsToHtml","_i","_Object$keys","Object","keys","length","key","test","useStorage","window","localStorage","sessionStorage","_i2","_Object$keys2","itemName","setItem","tries","getItem","removeItem","err","applyOptOut","_applyOptOut","deleteHttpCookies","codeOptOut","codeOptOutDelete","noTechnicalDefinitions","some","_apply","_yield$applyOptIn","applyOptInReady","_yield$applyOptInOutM","applyOptInOutManagerReady","optInAllReady","sent","t2","t3","respectLegitimateInterests","_groups$filter2","result","ids","_ref4","legalBasis","_ref5","CookieConsentManager","getOption","cookieName","cookieValue","cname","decode","matches","matchAll","pop","decodeURIComponent","getCookie","supportsCookies","rcbDisabledCookieComp","split","string","separator","out","join","explode","_split","uuidString","revision","uuids","uuid","shift","previousUuids","JSON","parse","BANNER_PRE_DECISION_SHOW_EVENT","OPT_IN_EVENT","OPT_IN_ALL_EVENT","OPT_OUT_EVENT","fn","state","cb","readyState","addEventListener","str","tmp","replace","DYNAMICS_VARIABLE_REGEXP","src","fullMatch","variableName","prototype","hasOwnProperty","call","HTML_ATTRIBUTE_CAPTURE_PREFIX","HTML_ATTRIBUTE_CAPTURE_CLICK_PREFIX","HTML_ATTRIBUTE_CAPTURE_SUFFIX","HTML_ATTRIBUTE_BY","HTML_ATTRIBUTE_COOKIE_IDS","HTML_ATTRIBUTE_VISUAL_PARENT","HTML_ATTRIBUTE_VISUAL_PAINT_MODE","HTML_ATTRIBUTE_INLINE","HTML_ATTRIBUTE_INLINE_STYLE","HTML_ATTRIBUTE_BLOCKER_ID","HTML_TAG_CONSENT_SCRIPT","HTML_ATTRIBUTE_BLOCKER_CONNECTED","HTML_ATTRIBUTE_BLOCKER_CONNECTED_PRESERVED","HTML_ATTRIBUTE_UNBLOCKED_TRANSACTION_COMPLETE","HTML_ATTRIBUTE_TRANSFORM_WRAPPER","HTML_ATTRIBUTE_TRANSFORM_WRAPPER_VALUE","HTML_ATTRIBUTE_WAS_PREVIOUSLY_STRICT_HIDDEN","HTML_ATTRIBUTE_RESET_PARENT","HTML_ATTRIBUTE_RESET_PARENT_VALUE","HTML_ATTRIBUTE_RESET_PARENT_IS_RATIO_CONTAINER","HTML_ATTRIBUTE_GOT_CLICKED","HTML_ATTRIBUTE_GOT_CLICKED_VALUE","HTML_ATTRIBUTE_GOT_CLICKED_VALUE_DO_NOT_USE_IN_NESTED","HTML_ATTRIBUTE_THUMBNAIL","WINDOW_ONLOAD_UNBLOCK_REPLACEMENT","html","referenceNode","body","error","beforeWriteToken","token","attrs","booleanAttrs","href","content","attr","querySelector","OPT_IN_CONTENT_BLOCKER","dispatchResizeEvent","delay","Event","htmlDecode","input","_doc$querySelector","DOMParser","parseFromString","documentElement","textContent","isUrl","url","parents","element","selector","elements","elem","parentElement","nodeType","Node","ELEMENT_NODE","AsciiSpinner","_ref$ms","ms","_ref$chars","chars","_useState","_useState2","i","setI","interval","setInterval","clearInterval","h","dangerouslySetInnerHTML","__html","CookieProperty","label","children","printValueAs","banner","useBannerOrBlocker","_banner$i18n","i18n","yes","no","useValue","style","wordBreak","c","target","rel","_ref$group","groupBorderWidth","groupBorderColor","antiAdBlocker","customCss","mobile","pageRequestUuid4","className","borderLeft","scale","paddingLeft","commonInlineStyleGroupsCookieProperty","CookiePropertyList","_ref$cookie","purpose","provider","providerPrivacyPolicy","ePrivacyUSA","isEssentialGroup","_useBannerOrBlocker","ePrivacyUSAEnabled","types","http","abbr","backgroundColor","local","session","flash","indexedDb","legalRequirement","legitimateInterest","host","duration","durationUnit","sessionDuration","technicalCookieDefinition","fontFamily","noExpiration","Cookie","checked","disabled","onToggleCheck","_ref$propertyListProp","propertyListProps","isRendered","setIsRendered","bannerOrBlocker","descriptionFontSize","marginTop","commonInlineStyleGroupsCookie","marginBottom","icon","CheckOutlined","onClick","verticalAlign","PlainAntdIconAsSvg","svgString","extraSVGAttrs","fill","Tooltip","ref","title","_ref$position","position","color","_ref$size","size","always","rounded","noAnimate","bounce","display","BannerContextFactory","_Context","Context","toString","context","useBanner","BlockerContextFactory","useBlocker","FooterLink","anchorRest","isHover","setIsHover","onMouseEnter","onMouseLeave","_ref$footerDesign","footerDesign","fontSize","fontColor","hoverFontColor","fontInheritFamily","linkTextDecoration","design","textDecoration","padding","commonInlineStyleFooterLink","FooterPoweredByLink","poweredLink","affiliate","link","innerHTML","description","labelBehind","jsxJoin","components","filtered","Boolean","reduce","acc","curr","useCommonFooterLinks","onClose","putPoweredByLinkInRow","row1","close","_useBannerOrBlocker$f","poweredByLink","linkTarget","_useLegalLinks","useLegalLinks","linkPrivacyPolicy","linkImprint","targetAttributes","rows","render","row","joinWithAndSeparator","arr","andSeparator","splice","supWithLineHeightFix","useCommonTeachings","disableDataProcessingInUnsafeCountries","disableAgeNotice","disableListServicesNotice","blocker","isEPrivacyUSA","isAgeNotice","ageNotice","isListServicesNotice","listServicesNotice","_useBannerOrBlocker$t","texts","ageNoticeBanner","consentForwardingExternalHostsText","consentForwardingExternalHosts","tcf","individualPrivacyOpen","individualDescription","individualTexts","essentialGroup","_useBannerOrBlocker$i","tcfBannerI18n","keepVariablesInTexts","consentForwardingExternalHostsFinalText","useDescription","useDataProcessingInUnsafeCountries","useAgeNotice","useListServicesNotice","hasBothPlaceholders","nonEssentialGroups","flattenSeparator","listServicesNames","groupIdx","listServiceGroupsNames","listOfServicesAppendix","teachings","_useBannerOrBlocker$l","legal","privacyPolicy","privacyPolicyExternalUrl","privacyPolicyIsExternalUrl","privacyPolicyLabel","imprint","imprintExternalUrl","imprintIsExternalUrl","imprintLabel","pageByIdUrl","pageIdToPermalink","counter","usePlainCss","css","uniqueId","keep","getElementById","createElement","getElementsByTagName","appendChild","_element$parentNode","parentNode","removeChild","commonInlineStyleBodyTeaching","_ref$bodyDesign","bodyDesign","teachingsInheritTextAlign","teachingsTextAlign","teachingsInheritFontSize","teachingsFontSize","teachingsInheritFontColor","teachingsFontColor","textAlign","commonInlineStyleBodyTeachingsSeparator","borderRadius","layout","teachingsSeparatorActive","teachingsSeparatorWidth","teachingsSeparatorHeight","teachingsSeparatorColor","maxWidth","width","height","background","commonInlineStyleGroupsCheckbox","visible","headlineFontSize","checkboxBg","checkboxBorderWidth","checkboxBorderColor","checkboxActiveBg","checkboxActiveBorderColor","checkboxActiveColor","useFontSize","useCheckboxBorderWidth","cursor","opacity","border","marginRight","lineHeight","boxSizing","commonGroupsInlineStyleLinkMore","linkColor","linkHoverColor","commonInlineStyleHeaderHeadline","hasCloseIcon","_ref$headerDesign","headerDesign","fontWeight","paddingRight","scaleMobile","useWidthOfThisContainerId","original","replaceWith","enabled","scalePercent","scalePercentVertical","getSsrPoweredByLink","originalPoweredLink","nextElementSibling","rcbPoweredByCacheOuterHTML","toLowerCase","outerHTML","matchingSelector","proto","Element","nativeFunction","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","matchingElements","querySelectorAll","matchIdx","commonUrlBuilder","location","_ref$params","params","_ref$nonce","nonce","apiUrl","restRoot","query","permalinkPath","rest_route","pathname","foundParams","path","match","getParams","checkParam","usePath","namespace","restNamespace","useThisProtocol","protocol","set","restNonce","_wpnonce","currentApiUrlString","method","_method","restQuery","pool","recreateFetchPool","nonceDeprecationPool","_nonceDeprecationPool","restRecreateNonceEndpoint","resultPromise","returnNonce","reject","recreateFetch","newNonce","ok","text","values","parseResult","_parseResult","cloneForFallback","lastError","line","clone","json","startsWith","CONTENT_TYPE_JSON","commonRequest","_commonRequest","routeRequest","_ref$settings","settings","_ref$multipart","multipart","_ref$sendRestNonce","sendRestNonce","allowBody","hasRestNonce","init","apiUrlBuilt","responseJSON","replay","resultAny","request","stringify","headers","Accept","code","status","detectCorruptRestApiFailed","RouteHttpVerb","untrailingslashit","endsWith","trailingslashit","getWebpackPublicPath","env","g","publicUrl","chunkFolder","unblock","found","isPseudoRef","loop1","hosts","regexp","setAttribute","remove","_preDecisionGateway","handler","show","useOptions","gateways","args","onIsDoNotTrack","onShowCookieBanner","gateway","getOptions","applyCookiesWithOptions","preDecisionGatewaySupportsCookies","supportsCookiesName","isCrawler","userAgent","navigator","promiseTimeout","promise","then","Error","preDecisionGatewayDynamicRequest","timeout","active","revisionHash","_yield$promiseTimeout","predecision","isDoNotTrack","w","doNotTrack","msDoNotTrack","external","msTrackingProtectionEnabled","preDecisionGatewayIsDoNotTrack","preDecisionGatewayUserConsent","locationRestConsentDynamicPredecisionGet","isHiddenDueLegal","_banner$legal","imprintHide","privacyPolicyHide","pageId","useBannerAnimation","isMobile","innerWidth","isMobileFirefox","term","animationIn","animationInOnlyMobile","animationOut","animationOutOnlyMobile","useAnimationIn","useAnimationOut","cancelEvent","preventDefault","stopPropagation","HREF_MATCHER","useResettableAnimation","animation","_useState3","_useState4","j","setJ","_useState5","_useState6","stateAnimation","setStateAnimation","_useState7","_useState8","stateAnimationReset","setStateAnimationReset","_useState9","_useState10","stateDuration","setStateDuration","_useState11","_useState12","stateDurationReset","setStateDurationReset","hexToRgb","hex","exec","parseInt","b","calculateRgba","alpha","_hexToRgb","getAnimationRelatedState","isVisible","animationInDuration","animationOutDuration","animationInDelay","animationOutDelay","AnimatedCss","_ref2$animateOnMount","animateOnMount","_ref2$isVisible","_ref2$animationIn","_ref2$animationOut","_ref2$animationInDela","_ref2$animationOutDel","_ref2$animationInDura","_ref2$animationOutDur","_ref2$className","_ref2$style","_useState2$","setAnimationRelatedState","classes","backwardStyle","transition","animationDelay","animationDuration","pointerEvents","useRenderedHeightsAsCssVars","cssId","cssElement","previousHeight","recalculate","currentHeight","getBoundingClientRect","Math","floor","animateContainer","ResizeObserver","ro","observe","disconnect","removeEventListener","useBannerButtonCallbacks","_useBanner","onSave","updateGroupChecked","updateCookieChecked","updateIndividualPrivacyOpen","activeAction","buttonClickedAll","buttonClickedEssentials","buttonClickedCloseIcon","buttonClickedCustom","acceptAll","forEach","acceptEssentials","isCloseIcon","cookieId","acceptIndividual","openIndividualPrivacy","closeIcon","Portal","_ref$tag","tag","renderInContainer","el","classList","add","renderIn","CloseIcon","tooltipText","framed","tooltipAlways","_ref$thickness","thickness","idCloseIconNotPortaled","idCloseIconPortaled","idCloseIconPlaceholder","rect","y","x","BannerCloseIcon","_useBanner$headerDesi","_useBanner$i18n","closeWithoutSaving","_useBanner$buttonClic","buttonClicked","_useBannerButtonCallb","container","clientWidth","BannerHeader","_","_ref$layout","dialogBorderRadius","_ref$design","borderWidth","borderColor","restDesign","inheritBg","bg","useType","useBorderWidth","_banner$headerDesign","logo","logoRetina","showCloseIcon","headline","headerTitlePrivacyPolicyHistory","useRetina","devicePixelRatio","useLogo","useHeadline","p","zIndex","top","borderTop","borderRight","bannerMaxWidth","inheritTextAlign","logoPosition","restHeaderDesign","individualLayout","useTextAlign","inheritBannerMaxWidth","margin","justifyContent","alignItems","flexDirection","bannerHeaderInlineStyle","alt","isRetina","logoMaxHeight","logoMargin","logoFitDim","logoRetinaFitDim","useFitDim","dimStyle","m","bannerHeaderInlineStyleLogo","BannerGroupSectionTitle","headlineFontColor","headlineFontWeight","bannerGroupsInlineStyleTitle","descriptionFontColor","bannerGroupsInlineStyleDescription","BannerCookie","_consent$groups","isDisabled","isChecked","handleCheckbox","BannerGroup","_consent$groups$id","isOpen","setIsOpen","previewCheckboxActiveState","_banner$individualTex","showMore","hideMore","CheckboxIcon","sort","MinusOutlined","groupBg","groupBorderRadius","groupPadding","groupInheritBg","useGroupBorderWidth","bannerGroupsInlineStyleGroup","BannerGroupList","groupSpacing","useGroups","clear","index","BannerDottedGroup","groupsFirstView","dottedGroupsInheritFontSize","dottedGroupsFontSize","whiteSpace","bannerInlineStyleBodyDottedGroupItem","dottedGroupsBulletColor","bannerInlineStyleBodyDottedGroupBullet","BannerDottedGroupList","showGroups","lineBreak","BannerHistorySelect","selectedId","setSelectedId","history","selectHistoryEntry","historyLabel","historySelectNone","selectedHistoryItem","_history$filter","descriptionInheritFontSize","optionStyle","borderBottom","onChange","isUnblock","isForwarded","created","Date","toLocaleString","lang","bannerButtonsInlineStyleCommon","isTwoButtonRowLayout","order","hoverBg","hoverBorderColor","fullWidth","marginLeft","overflow","outline","flex","bannerButtonsInlineStyleAcceptEssentials","isTcf","acceptEssentialsFontSize","acceptEssentialsBg","acceptEssentialsTextAlign","acceptEssentialsBorderColor","acceptEssentialsPadding","acceptEssentialsBorderWidth","acceptEssentialsFontColor","acceptEssentialsFontWeight","acceptEssentialsHoverBg","acceptEssentialsHoverFontColor","acceptEssentialsHoverBorderColor","acceptAllFontWeight","acceptAllFontSize","acceptAllPadding","bannerButtonsInlineStyleAcceptIndividual","acceptIndividualFontSize","acceptIndividualBg","acceptIndividualTextAlign","acceptIndividualBorderColor","acceptIndividualPadding","acceptIndividualBorderWidth","acceptIndividualFontColor","acceptIndividualFontWeight","acceptIndividualHoverBg","acceptIndividualHoverFontColor","acceptIndividualHoverBorderColor","bannerButtonsInlineStyleSave","_ref$saveButton","saveButton","bannerButtonsInlineStyleAcceptAll","acceptAllBg","acceptAllTextAlign","acceptAllBorderColor","acceptAllBorderWidth","acceptAllFontColor","acceptAllHoverBg","acceptAllHoverFontColor","acceptAllHoverBorderColor","BannerButton","inlineStyle","busyOnClick","isBusy","setIsBusy","handleOnClick","_banner$decision","_banner$bodyDesign","acceptAllOneRowLayout","useAcceptEssentials","acceptEssentialsUseAcceptAll","interactionAttr","useStyleFn","textOverflow","BannerButtonList","buttonOrderString","buttonOrder","_banner$texts","acceptAllText","acceptEssentialsText","acceptIndividualText","_banner$saveButton","saveButtonType","saveButtonUseAcceptAll","useAcceptAll","save","productionNotice","didGroupFirstChange","_banner$buttonClicked","_useMemo","buttonToOrder","previous","orderToButton","buttonOrderAll","buttonOrderEssential","essential","buttonOrderIndividual","individual","buttonOrderSave","handleAll","handleEssentials","handleIndividual","BannerBody","_document$getElementB","leftSideContainerRef","rightSideContainerRef","_useCommonTeachings","leftSideId","rightSideId","contentId","stackOrGroups","leftSide","usePadding","float","paddingTop","paddingBottom","bannerInlineStylesLeftSide","descriptionTextAlign","bannerInlineStyleBodyDescription","teaching","rightSide","_style","dialogMaxWidth","inheritDialogMaxWidth","bannerInlineStylesRightSide","bannerInlineStyleBodyContainer","bannerInlineStyleBody","BannerFooter","isConsentRecord","handleClose","_useCommonFooterLinks","useCommonFooterLink","links","renderLinks","bottom","bannerFooterInlineStyleContainer","bannerFooterInlineStyle","BannerContent","_banner$layout","currentRef","current","showHeader","hideHeader","showScrollBoxShadow","setShowScrollBoxShadow","updateShowScrollBoxShadow","clientHeight","scrollHeight","scrollTop","offsetHeight","hasScrollbar","scrolledToBottom","ceil","platform","headerRef","footerRef","innerHeight","mobileMaxHeight","maxHeight","useMobileMaxHeight","closeIconDistance","bannerContentInlineStyle","useDesignBorderWidth","bannerHeaderInlineStyleSeparator","bannerFooterInlineStyleSeparator","BannerAnimatedContent","dialogPosition","dialogMargin","bannerPosition","boxShadowEnabled","boxShadowOffsetX","boxShadowOffsetY","boxShadowBlurRadius","boxShadowSpreadRadius","boxShadowColor","boxShadowColorAlpha","mobileAlignment","animationVisible","_useBannerAnimation","_useResettableAnimati","_useResettableAnimati2","stateAnimationIn","stateAnimationInDuration","_useResettableAnimati3","_useResettableAnimati4","stateAnimationOut","stateAnimationOutDuration","alignment","alignSelf","boxShadow","Banner","overlay","_banner$customCss","overlayBlur","skipOverlay","gotHiddenDueLegal","hiddenDueLegal","_document$body","dataset","rcbPreviousOverflow","useRestrictScrollWhenVisible","openBanner","openHistory","revokeConsent","setInvalidate","updateSize","fetchHistory","originalConsent","setOriginalConsent","_fetch","_result","_result$","_groups2","_tcf2","fetch","_groups","consentGroups","_tcf","useBannerHistory","handleType","successMessage","eventListenerDocumentClick","parent","getAttribute","eventListenerHashChange","hash","substring","bannerOverlayInlineStyleAlignment","overlayBg","overlayBgAlpha","left","right","bannerOverlayInlineStyle","locationRestConsentGet","WebsiteBanner","_fetchHistory","_getOtherOptionsFromW","getOtherOptionsFromWindow","_getOtherOptionsFromW2","customizeValuesBanner","tcfMetadata","userConsentCookieName","bannerI18n","isCurrentlyInTranslationEditorPreview","userDecision","tcfObject","tcfMeta","useTcf","_useBannerToggleOverl","useBannerAnimationCallback","toggleOverlay","_useBannerAnimationCa","useDuration","trim","useBannerToggleOverlay","_useBannerStateContex","_revokeConsent","toggleWithActiveAction","setContextValue","refreshSiteAfterSave","_len","Array","_key","alert","reload","updateTcfFilterBy","_len2","_key2","newFilter","tcfFilterBy","_len3","_key3","opened","_len4","_key4","newConsent","_len5","_key5","groupId","cookieIds","_len6","_key6","additionalChanges","useBannerStateContextCallbacks","applyConsent","getCookieConsentManager","getDefaultDecision","tcfString","_openHistory","_openBanner","_updateTcfFilterBy","_updateIndividualPrivacyOpen","_updateGroupChecked","_updateCookieChecked","_onClose","_selectHistoryEntry","markAsDoNotTrack","appliedConsent","_getOptionsFromWindow","getOptionsFromWindow","contextValue","customizeIdsBanner","resultIfBot","preventPreDecision","classNames","_getOptionsFromWindow2","others","isAcceptAllForBots","isPreventPreDecision","hasDynamicPreDecisions","isRespectDoNotTrack","preDecisionGateway","_document$documentEle","viewPortWidth","viewPortHeight","_wp_http_referer","useBannerPreDecisionGateway","listener","useBannerConsentListener","BannerContext","Provider","waitObject","_waitObject","getObject","delayNextCheck","maxTries","_args","amazonWidgetsSlotNum","locationRestConsentClearDelete","consentSync","typeOrId","allCookies","flat","relevance","td","already","relevantCookie","consentGiven","cookieOptIn","_consentSync","foundCookie","consentAll","_ref$detail$cookie","presetId","amznAssoWidgetHtmlId","slotNum","adContainer","_ref6","et_pb_map_init","jQuery","google","ensureBodyElement","allUuids","consentApi","BannerProductionNotice","isPro","isLicensed","isDevLicense","noLicense","devLicense","useText","locationRestConsentPost","applyConsentForwarding","endpoints","data","promises","endpoint","credentials","_applyConsent","_ref$markAsDoNotTrack","_ref$blocker","blockerThumbnail","_yield$commonRequest","forward","cookie_revision","decision_in_cookie","applyCookies","rcbConsentManager","cmpId","cmpVersion","version","tcfCookieName","String","searchString","subjectString","isFinite","lastIndex","getAttributeNames","attributes","bubbles","cancelable","evt","createEvent","initCustomEvent","obj","objType","TypeError","prop","assign","defineProperty","to","nextSource","nextKey","writable","configurable","CharacterData","DocumentType","item","enumerable","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","d","a","definition","o","get","globalThis","Function","Symbol","toStringTag","scriptUrl","importScripts","currentScript","scripts","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""}
1
+ {"version":3,"file":"banner.lite.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/getServiceSelection.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/getManagerDependingVariables.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/optIn.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/optInOutManager.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/deleteCookiesLocally.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/optOut.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/apply.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/getDefaultDecision.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/manager.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/getUserDecision.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/getCookie.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/explode.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/bannerPredecisionShow.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optIn.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optInAll.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optOut.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/ready.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/regExpPatternFromWildcardName.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/pregQuote.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/supportsCookies.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/dom/applyDynamicsToHtml.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/dom/htmlAttributes.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/dom/putHtmlCodeToDom.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/events/optInContentBlocker.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/dispatchResizeEvent.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/htmlDecode.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/isUrl.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/parents.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/asciiSpinner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/groups/cookieProperty.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/cookieProperty.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/groups/cookiePropertyList.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/groups/cookie.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/cookie.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/plainAntdIconAsSvg.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/tooltip.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/contexts/banner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/contexts/blocker.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/footer/link.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/footer/link.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/footer/poweredByLink.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/jsxJoin.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/common/useCommonFooterLink.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/common/useCommonTeachings.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useBannerOrBlocker.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useLegalLinks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/usePlainCss.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/body/teaching.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/body/teachingSeparator.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/checkbox.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/linkMore.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/header/headline.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/scale.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/others/getSsrPoweredByLink.tsx","webpack:///../../frontend-packages/resolve-none-computed-style/src/matchingSelector.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/commonUrlBuilder.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/nonceDeprecationPool.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/parseResult.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/commonRequest.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/routeHttpVerbEnum.tsx","webpack:///../../wordpress-packages/utils/lib/helpers.tsx","webpack:///./src/public/ts/api/unblock.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/gateway.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/supportsCookies.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/isCrawler.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/promiseTimeout.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/dynamicRequest.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/isDoNotTrack.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/isDoNotTrack.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/userConsent.tsx","webpack:///./src/public/ts/wp-api/consentDynamicPredecision.get.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/others/isHiddenDueLegal.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerAnimation.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/index.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerStateContextCallbacks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerActionLinks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useResettableAnimation.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/hexToRgb.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/calculateRgba.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/animateCss.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useRenderedHeightsAsCssVars.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerButtonCallbacks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/portal.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/closeIcon.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/header/closeIcon.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/header/header.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/container.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/header.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/logo.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/sectionTitle.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/title.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/description.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/cookie.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/group.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/group.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/list.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/groups.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/dottedGroup.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/dottedGroupItem.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/dottedGroupBullet.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/dottedGroupList.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/dottedGroups.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/historySelect.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/historySelect.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/historySelectOption.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/common.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/acceptEssentials.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/acceptIndividual.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/save.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/acceptAll.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/button.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/isIE.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/buttonList.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/body.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/leftSide.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/description.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/rightSide.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/container.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/body.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/footer/footer.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/footer/container.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/footer/footer.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/content.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/content/content.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/separator.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/footer/separator.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/animatedContent.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/content/inner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/banner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useRestrictScrollWhenVisible.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerHistory.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/overlay/alignment.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/overlay/overlay.tsx","webpack:///./src/public/ts/wp-api/consent.get.tsx","webpack:///./src/public/ts/components/websiteBanner.tsx","webpack:///./src/public/ts/hooks/useTcf.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerToggleOverlay.tsx","webpack:///./src/public/ts/hooks/useBannerPreDecisionGateway.tsx","webpack:///./src/public/ts/utils/isCustomize.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/isCrawler.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/isPreventPreDecision.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/hasPageClass.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerConsentListener.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/waitObject.tsx","webpack:///./src/public/ts/others/comp/listenPresetOptIn.tsx","webpack:///./src/public/ts/wp-api/consentClear.delete.tsx","webpack:///./src/public/ts/api/consentSync.tsx","webpack:///./src/public/ts/api/consent.tsx","webpack:///./src/public/ts/api/consentAll.tsx","webpack:///./src/public/ts/banner.tsx","webpack:///./src/public/ts/tcf/cmpApi.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/printConsentUuidsToHTMLElement.tsx","webpack:///./src/public/ts/utils/ensureBodyElement.tsx","webpack:///./src/public/ts/others/deleteCookiesServer.tsx","webpack:///./src/public/ts/components/bannerProductionNotice.tsx","webpack:///./src/public/ts/wp-api/consent.post.tsx","webpack:///./src/public/ts/others/applyConsentForwarding.tsx","webpack:///./src/public/ts/others/applyConsent.tsx","webpack:///./src/public/ts/others/getCookieConsentManager.tsx","webpack:///./src/public/ts/utils/getCmpVersion.tsx","webpack:///./src/public/ts/utils/getOptionsFromWindow.tsx","webpack:///./src/public/ts/utils/getOtherOptionsFromWindow.tsx","webpack:///./src/public/ts/utils/polyfill.tsx","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \".\";\n\n/**\n * Read the selected groups + cookies depending on the passed type.\n */\nfunction getServiceSelection(_ref) {\n var decisionCookieName = _ref.decisionCookieName,\n tagManager = _ref.tagManager,\n groups = _ref.groups,\n essentialGroupSlug = _ref.essentialGroupSlug,\n type = _ref.type;\n var selectedGroups;\n var isManagerActive = tagManager !== \"none\";\n\n var _groups$filter = groups.filter(function (_ref2) {\n var slug = _ref2.slug;\n return slug === essentialGroupSlug;\n }),\n _groups$filter2 = _slicedToArray(_groups$filter, 1),\n essentialGroupObj = _groups$filter2[0];\n\n var consentEssentials = _defineProperty({}, essentialGroupObj.id, essentialGroupObj.items.map(function (_ref3) {\n var id = _ref3.id;\n return id;\n })); // Read current consent\n\n\n if (type === \"consent\") {\n var decision = getUserDecision(decisionCookieName);\n\n if (decision !== false) {\n selectedGroups = decision.consent;\n } else {\n console.warn(\"Something went wrong while reading the cookie, fallback to essentials only...\");\n selectedGroups = consentEssentials;\n }\n }\n\n if (type === \"essentials\") {\n selectedGroups = consentEssentials;\n }\n\n return {\n isManagerActive: isManagerActive,\n selectedGroups: selectedGroups,\n iterateCookies: function () {\n var _iterateCookies = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(callback) {\n var _iterator, _step, _group, _iterator2, _step2, _selectedGroups$_grou, _cookie, _isOptIn;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _iterator = _createForOfIteratorHelper(groups);\n _context.prev = 1;\n\n _iterator.s();\n\n case 3:\n if ((_step = _iterator.n()).done) {\n _context.next = 25;\n break;\n }\n\n _group = _step.value;\n _iterator2 = _createForOfIteratorHelper(_group.items);\n _context.prev = 6;\n\n _iterator2.s();\n\n case 8:\n if ((_step2 = _iterator2.n()).done) {\n _context.next = 15;\n break;\n }\n\n _cookie = _step2.value;\n _isOptIn = type === \"all\" || ((_selectedGroups$_grou = selectedGroups[_group.id]) === null || _selectedGroups$_grou === void 0 ? void 0 : _selectedGroups$_grou.indexOf(_cookie.id)) > -1;\n _context.next = 13;\n return callback(_group, _cookie, _isOptIn);\n\n case 13:\n _context.next = 8;\n break;\n\n case 15:\n _context.next = 20;\n break;\n\n case 17:\n _context.prev = 17;\n _context.t0 = _context[\"catch\"](6);\n\n _iterator2.e(_context.t0);\n\n case 20:\n _context.prev = 20;\n\n _iterator2.f();\n\n return _context.finish(20);\n\n case 23:\n _context.next = 3;\n break;\n\n case 25:\n _context.next = 30;\n break;\n\n case 27:\n _context.prev = 27;\n _context.t1 = _context[\"catch\"](1);\n\n _iterator.e(_context.t1);\n\n case 30:\n _context.prev = 30;\n\n _iterator.f();\n\n return _context.finish(30);\n\n case 33:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 27, 30, 33], [6, 17, 20, 23]]);\n }));\n\n function iterateCookies(_x) {\n return _iterateCookies.apply(this, arguments);\n }\n\n return iterateCookies;\n }()\n };\n}\n\nexport { getServiceSelection };","function getManagerDependingVariables(isManagerActive, setCookiesViaManager) {\n var useVariableNameCamel;\n var useVariableNamePascal;\n var useGlobalObjectName;\n\n if (isManagerActive) {\n useVariableNameCamel = setCookiesViaManager;\n useVariableNamePascal = useVariableNameCamel.charAt(0).toUpperCase() + useVariableNameCamel.slice(1);\n var isGtm = setCookiesViaManager === \"googleTagManager\"; // const isMtm = setCookiesViaManager === \"matomoTagManager\"; // This variable is not yet needed, because we only have 2 managers\n\n useGlobalObjectName = isGtm ? \"dataLayer\" : \"_mtm\";\n }\n\n return {\n useVariableNameCamel: useVariableNameCamel,\n useVariableNamePascal: useVariableNamePascal,\n useGlobalObjectName: useGlobalObjectName\n };\n}\n\nexport { getManagerDependingVariables };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getServiceSelection } from \"../decision\";\nimport { OPT_IN_EVENT } from \"../events\";\nimport { getManagerDependingVariables } from \".\";\n\n/**\n * Opt-in to a set of cookies.\n */\nfunction applyOptIn(_x) {\n return _applyOptIn.apply(this, arguments);\n}\n\nfunction _applyOptIn() {\n _applyOptIn = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(options) {\n var allOptInCookies, _getServiceSelection, isManagerActive, iterateCookies, tagManager, skipOptIn, _getManagerDependingV, useGlobalObjectName, useVariableNamePascal, isManagerOptOut, dataLayerPromise, waitPromises;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n allOptInCookies = [];\n _getServiceSelection = getServiceSelection(options), isManagerActive = _getServiceSelection.isManagerActive, iterateCookies = _getServiceSelection.iterateCookies;\n tagManager = options.tagManager, skipOptIn = options.skipOptIn;\n _getManagerDependingV = getManagerDependingVariables(isManagerActive, tagManager), useGlobalObjectName = _getManagerDependingV.useGlobalObjectName, useVariableNamePascal = _getManagerDependingV.useVariableNamePascal; // Handle managers like GTM and MTM\n\n isManagerOptOut = false;\n dataLayerPromise = Promise.resolve(undefined);\n waitPromises = []; // Handle opt-ins sequentially\n\n _context2.next = 9;\n return iterateCookies( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(group, cookie, isOptIn) {\n var codeDynamics, codeOptIn, rest, isManager, isOnlyWhenNoConsentToManager, isSkipOptIn;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n codeDynamics = cookie.codeDynamics, codeOptIn = cookie.codeOptIn, rest = _objectWithoutProperties(cookie, [\"codeDynamics\", \"codeOptIn\"]);\n isManager = isManagerActive && rest[\"thisIs\".concat(useVariableNamePascal)];\n\n if (isOptIn) {\n // Check if the script should explicitly only be loaded if no consent is given to the manager\n isOnlyWhenNoConsentToManager = isManagerActive && rest[\"codeOptInNo\".concat(useVariableNamePascal)];\n isSkipOptIn = typeof skipOptIn === \"function\" ? skipOptIn(cookie) : false;\n\n if (!isOnlyWhenNoConsentToManager && !isSkipOptIn) {\n waitPromises.push(putHtmlCodeToDom(codeOptIn, codeDynamics));\n } // If this is a manager, wait for the object to be loaded\n\n /* Silence is golden... Until you have PRO Version! */\n\n\n // If this is a manager, wait for the object to be loaded\n\n /* Silence is golden... Until you have PRO Version! */\n document.dispatchEvent(new CustomEvent(OPT_IN_EVENT, {\n detail: {\n group: group,\n cookie: cookie\n }\n }));\n allOptInCookies.push({\n group: group,\n cookie: cookie\n });\n } else if (isManager) {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x2, _x3, _x4) {\n return _ref.apply(this, arguments);\n };\n }());\n\n case 9:\n return _context2.abrupt(\"return\", {\n isManagerOptOut: isManagerOptOut,\n dataLayerPromise: dataLayerPromise,\n cookies: allOptInCookies,\n ready: Promise.all(waitPromises)\n });\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _applyOptIn.apply(this, arguments);\n}\n\nexport { applyOptIn };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getServiceSelection } from \"../decision\";\nimport { getManagerDependingVariables } from \".\";\n/**\n * Opt-in and opt-out to a set of cookies for a given data manager like GTM / MTM.\n */\n\nfunction applyOptInOutManager(_x, _x2, _x3) {\n return _applyOptInOutManager.apply(this, arguments);\n}\n\nfunction _applyOptInOutManager() {\n _applyOptInOutManager = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(options, dataLayer, isManagerOptOut) {\n var waitPromises, _getServiceSelection, isManagerActive, iterateCookies, tagManager, _getManagerDependingV, useVariableNameCamel, useVariableNamePascal;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n waitPromises = [];\n /* onlypro:start */\n\n _getServiceSelection = getServiceSelection(options), isManagerActive = _getServiceSelection.isManagerActive, iterateCookies = _getServiceSelection.iterateCookies;\n tagManager = options.tagManager;\n _getManagerDependingV = getManagerDependingVariables(isManagerActive, tagManager), useVariableNameCamel = _getManagerDependingV.useVariableNameCamel, useVariableNamePascal = _getManagerDependingV.useVariableNamePascal; // When there is a manager, let's push all opt-in and opt-out events (parallel)\n\n if (!dataLayer) {\n _context2.next = 11;\n break;\n }\n\n // Opt-in events\n iterateCookies(function (group, cookie, isOptIn) {\n var event = cookie[\"\".concat(useVariableNameCamel, \"InEventName\")];\n\n if (isOptIn && event) {\n dataLayer.push({\n realCookieBannerOptInEvents: _defineProperty({}, event, true),\n event: event\n });\n }\n }); // Wait x seconds\n\n _context2.next = 8;\n return new Promise(function (r) {\n return setTimeout(r, 1000);\n });\n\n case 8:\n // Opt-out events\n iterateCookies(function (group, cookie, isOptIn) {\n var event = cookie[\"\".concat(useVariableNameCamel, \"OutEventName\")];\n\n if (!isOptIn && event) {\n dataLayer.push({\n realCookieBannerOptOutEvents: _defineProperty({}, event, true),\n event: event\n });\n }\n });\n _context2.next = 14;\n break;\n\n case 11:\n if (!(isManagerActive && isManagerOptOut)) {\n _context2.next = 14;\n break;\n }\n\n _context2.next = 14;\n return iterateCookies( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(group, _ref, isOptIn) {\n var codeDynamics, codeOptIn, rest;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n codeDynamics = _ref.codeDynamics, codeOptIn = _ref.codeOptIn, rest = _objectWithoutProperties(_ref, [\"codeDynamics\", \"codeOptIn\"]);\n\n if (isOptIn && rest[\"codeOptInNo\".concat(useVariableNamePascal)]) {\n waitPromises.push(putHtmlCodeToDom(codeOptIn, codeDynamics));\n }\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x4, _x5, _x6) {\n return _ref2.apply(this, arguments);\n };\n }());\n\n case 14:\n return _context2.abrupt(\"return\", {\n ready: Promise.all(waitPromises)\n });\n\n case 15:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _applyOptInOutManager.apply(this, arguments);\n}\n\nexport { applyOptInOutManager };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport Cookie from \"js-cookie\";\nimport { applyDynamicsToHtml } from \"@devowl-wp/headless-content-unblocker\";\nimport { regExpPatternFromWildcardName } from \"../utils\";\n/**\n * Delete cookies on client side (currently only `localStorage` and `sessionStorage`).\n */\n\nfunction deleteCookiesLocally(technicalDefinitions, dynamics) {\n var _iterator = _createForOfIteratorHelper(technicalDefinitions),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _step.value,\n type = _step$value.type,\n name = _step$value.name;\n // Create valid Regxp pattern\n var pattern = new RegExp(regExpPatternFromWildcardName(applyDynamicsToHtml(name, dynamics)), \"g\");\n\n switch (type) {\n case \"http\":\n {\n for (var _i = 0, _Object$keys = Object.keys(Cookie.get()); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n\n if (pattern.test(key)) {\n Cookie.remove(key);\n }\n }\n\n break;\n }\n\n case \"local\":\n case \"session\":\n {\n try {\n var useStorage = type === \"local\" ? window.localStorage : window.sessionStorage;\n\n if (useStorage) {\n for (var _i2 = 0, _Object$keys2 = Object.keys(useStorage); _i2 < _Object$keys2.length; _i2++) {\n var itemName = _Object$keys2[_i2];\n\n if (pattern.test(itemName)) {\n try {\n // Fallback to `null` because `removeItem` can have issues on some browsers\n useStorage.setItem(itemName, null);\n } catch (e) {// Silence is golden. A `QuotaExceededError` can be thrown but we ignore it, because we remove the item\n } // Try as long (but max 100 times) until deleted\n\n\n var tries = 0;\n\n while (useStorage.getItem(itemName) && tries < 100) {\n tries++;\n useStorage.removeItem(itemName);\n }\n }\n }\n }\n } catch (e) {\n // Browser does not support localStorage, let's do nothing...\n continue;\n }\n\n break;\n }\n\n default:\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n}\n\nexport { deleteCookiesLocally };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getServiceSelection } from \"../decision\";\nimport { OPT_OUT_EVENT } from \"../events\";\nimport { deleteCookiesLocally, getManagerDependingVariables } from \".\";\n/**\n * Opt-in to a set of cookies for a given data manager like GTM / MTM.\n */\n\nfunction applyOptOut(_x, _x2) {\n return _applyOptOut.apply(this, arguments);\n}\n\nfunction _applyOptOut() {\n _applyOptOut = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(options, isManagerOptOut) {\n var _getServiceSelection, isManagerActive, iterateCookies, tagManager, _getManagerDependingV, useVariableNamePascal, deleteHttpCookies;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _getServiceSelection = getServiceSelection(options), isManagerActive = _getServiceSelection.isManagerActive, iterateCookies = _getServiceSelection.iterateCookies;\n tagManager = options.tagManager;\n _getManagerDependingV = getManagerDependingVariables(isManagerActive, tagManager), useVariableNamePascal = _getManagerDependingV.useVariableNamePascal; // Handle opt-outs sequentially\n\n deleteHttpCookies = [];\n _context2.next = 6;\n return iterateCookies( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(group, cookie, isOptIn) {\n var id, codeDynamics, codeOptOut, codeOptOutDelete, noTechnicalDefinitions, technicalDefinitions, rest, isOnlyWhenNoConsentToManager;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n id = cookie.id, codeDynamics = cookie.codeDynamics, codeOptOut = cookie.codeOptOut, codeOptOutDelete = cookie.codeOptOutDelete, noTechnicalDefinitions = cookie.noTechnicalDefinitions, technicalDefinitions = cookie.technicalDefinitions, rest = _objectWithoutProperties(cookie, [\"id\", \"codeDynamics\", \"codeOptOut\", \"codeOptOutDelete\", \"noTechnicalDefinitions\", \"technicalDefinitions\"]);\n\n if (!isOptIn) {\n // Check if the script should explicitly only be loaded if no consent is given to the manager\n isOnlyWhenNoConsentToManager = isManagerActive && rest[\"codeOptInNo\".concat(useVariableNamePascal)];\n\n if (isOnlyWhenNoConsentToManager && !isManagerOptOut || !isOnlyWhenNoConsentToManager) {\n putHtmlCodeToDom(codeOptOut, codeDynamics);\n }\n\n if (codeOptOutDelete && !noTechnicalDefinitions) {\n deleteCookiesLocally(technicalDefinitions, codeDynamics); // Mark deletable server-side cookies\n\n // Mark deletable server-side cookies\n if (technicalDefinitions.some(function (_ref2) {\n var type = _ref2.type;\n return type === \"http\";\n })) {\n deleteHttpCookies.push(id);\n }\n }\n\n document.dispatchEvent(new CustomEvent(OPT_OUT_EVENT, {\n detail: {\n group: group,\n cookie: cookie,\n deleteHttpCookies: deleteHttpCookies\n }\n }));\n }\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x3, _x4, _x5) {\n return _ref.apply(this, arguments);\n };\n }());\n\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _applyOptOut.apply(this, arguments);\n}\n\nexport { applyOptOut };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { applyOptIn, applyOptInOutManager, applyOptOut } from \".\";\nimport { OPT_IN_ALL_EVENT } from \"../events\";\nimport { ready } from \"../utils\";\n/**\n * Apply cookies on frontend. Depending on some other mechanism you can differ\n * between the following \"decision\" types:\n *\n * - `all`: All cookies are applied (e. g. bots)\n * - `consent`: All cookies from the current consent (read from cookie)\n *\n * The cookies are sent in the following way:\n *\n * 1. Apply opt-in scripts (sequentially)\n * 2. If GTM / MTM is active, wait for the data layer\n * a) Push all opt-in events (parallel)\n * b) Wait x seconds to avoid side effects\n * c) Push all opt-out events (parallel)\n * 3. Apply opt-in scripts (sequentially)\n *\n * @param type\n * @see https://www.simoahava.com/analytics/notify-page-google-tag-manager-loaded/\n * @see https://support.google.com/tagmanager/answer/7679219\n * @see https://developer.matomo.org/guides/tagmanager/datalayer\n */\n\nfunction apply(_x) {\n return _apply.apply(this, arguments);\n}\n\nfunction _apply() {\n _apply = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(options) {\n var _yield$applyOptIn, dataLayerPromise, isManagerOptOut, cookies, applyOptInReady, _yield$applyOptInOutM, applyOptInOutManagerReady, optInAllReady;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return ready();\n\n case 2:\n _context.next = 4;\n return applyOptIn(options);\n\n case 4:\n _yield$applyOptIn = _context.sent;\n dataLayerPromise = _yield$applyOptIn.dataLayerPromise;\n isManagerOptOut = _yield$applyOptIn.isManagerOptOut;\n cookies = _yield$applyOptIn.cookies;\n applyOptInReady = _yield$applyOptIn.ready;\n _context.t0 = applyOptInOutManager;\n _context.t1 = options;\n _context.next = 13;\n return dataLayerPromise;\n\n case 13:\n _context.t2 = _context.sent;\n _context.t3 = isManagerOptOut;\n _context.next = 17;\n return (0, _context.t0)(_context.t1, _context.t2, _context.t3);\n\n case 17:\n _yield$applyOptInOutM = _context.sent;\n applyOptInOutManagerReady = _yield$applyOptInOutM.ready;\n optInAllReady = Promise.all([applyOptInReady, applyOptInOutManagerReady]);\n document.dispatchEvent(new CustomEvent(OPT_IN_ALL_EVENT, {\n detail: {\n cookies: cookies,\n ready: optInAllReady\n }\n })); // Do opt-out\n\n _context.next = 23;\n return applyOptOut(options, isManagerOptOut);\n\n case 23:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _apply.apply(this, arguments);\n}\n\nexport { apply };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\n/**\n * Get the default decision and respect essential group and legitimate interests.\n */\nfunction getDefaultDecision(_ref) {\n var groups = _ref.groups,\n essentialGroupSlug = _ref.essentialGroupSlug;\n var respectLegitimateInterests = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n var _groups$filter = groups.filter(function (_ref2) {\n var slug = _ref2.slug;\n return slug === essentialGroupSlug;\n }),\n _groups$filter2 = _slicedToArray(_groups$filter, 1),\n essentialGroupObj = _groups$filter2[0]; // We need always use the current essential group\n\n\n var result = _defineProperty({}, essentialGroupObj.id, essentialGroupObj.items.map(function (_ref3) {\n var id = _ref3.id;\n return id;\n }));\n\n if (respectLegitimateInterests) {\n var _iterator = _createForOfIteratorHelper(groups),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var group = _step.value;\n\n if (group === essentialGroupObj) {\n continue;\n }\n\n var ids = group.items.filter(function (_ref4) {\n var legalBasis = _ref4.legalBasis;\n return legalBasis === \"legitimate-interest\";\n }).map(function (_ref5) {\n var id = _ref5.id;\n return id;\n });\n\n if (ids.length) {\n result[group.id] = ids;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n return result;\n}\n\nexport { getDefaultDecision };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { apply } from \".\";\nimport { getDefaultDecision as _getDefaultDecision, getUserDecision as _getUserDecision } from \"..\";\n\n/**\n * Main class to manage cookie consents within your application.\n */\nvar CookieConsentManager = /*#__PURE__*/function () {\n function CookieConsentManager(options) {\n _classCallCheck(this, CookieConsentManager);\n\n this.options = void 0;\n this.options = options;\n }\n\n _createClass(CookieConsentManager, [{\n key: \"applyCookies\",\n value: function applyCookies(options) {\n return apply(_objectSpread(_objectSpread({}, options), this.options));\n }\n }, {\n key: \"getUserDecision\",\n value: function getUserDecision() {\n return _getUserDecision(this.getOption(\"decisionCookieName\"));\n }\n }, {\n key: \"getDefaultDecision\",\n value: function getDefaultDecision() {\n var respectLegitimateInterests = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n return _getDefaultDecision(this.options, respectLegitimateInterests);\n }\n }, {\n key: \"getOption\",\n value: function getOption(name) {\n return this.options[name];\n }\n }, {\n key: \"getOptions\",\n value: function getOptions() {\n return this.options;\n }\n }]);\n\n return CookieConsentManager;\n}();\n\nexport { CookieConsentManager };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { explode, getCookie, supportsCookies } from \"../utils\";\n\n/**\n * Get current user decision from the cookie value in a minimal form.\n */\nfunction getUserDecision(cookieName) {\n var cookieValue = getCookie(cookieName);\n\n if (!cookieValue) {\n if (!supportsCookies()) {\n // Use our `window` object instead of cookie value\n return window.rcbDisabledCookieComp || false;\n }\n\n return false;\n } // Validate cookie length\n\n\n var split = explode(cookieValue, \":\", 3);\n\n if (split.length !== 3) {\n return false;\n }\n\n var _split = _slicedToArray(split, 2),\n uuidString = _split[0],\n revision = _split[1];\n\n var uuids = uuidString.split(\",\");\n var uuid = uuids.shift();\n var consent = JSON.parse(split[2]);\n return {\n uuid: uuid,\n previousUuids: uuids,\n revision: revision,\n consent: consent\n };\n}\n\nexport { getUserDecision };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\n\n/**\n * Get cookie by name. Please keep in mind you need to `decodeURIComponent` the value in some cases!\n *\n * @param cname\n * @see https://stackoverflow.com/questions/10730362/get-cookie-by-name\n * @see https://stackoverflow.com/a/25490531/5506547\n */\nfunction getCookie(cname) {\n var decode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n // In some cases there could be cookies with the same name in `document.cooke` -> take the last one\n var matches = _toConsumableArray(document.cookie.matchAll(new RegExp(\"(^|;)\\\\s*\".concat(cname, \"\\\\s*=\\\\s*([^;]+)\"), \"g\")));\n\n if (!matches.length) {\n return \"\";\n }\n\n var value = matches // Last match in `document.cookie`\n .pop() // Value of regex match\n .pop();\n return decode ? decodeURIComponent(value) : value;\n}\n\nexport { getCookie };","/**\n * A PHP's port of `explode`. `.split` is not similar because it does not join\n * remaining string.\n */\nfunction explode(string, separator, n) {\n var split = string.split(separator);\n if (split.length <= n) return split;\n var out = split.slice(0, n - 1);\n out.push(split.slice(n - 1).join(separator));\n return out;\n}\n\nexport { explode };","/**\n * This event is fired when the user has no consent or invalid consent\n * and the banner gets visible.\n */\nexport var BANNER_PRE_DECISION_SHOW_EVENT = \"RCB/Banner/Show\";","export var OPT_IN_EVENT = \"RCB/OptIn\";","export var OPT_IN_ALL_EVENT = \"RCB/OptIn/All\";","export var OPT_OUT_EVENT = \"RCB/OptOut\";","/**\n * Wait DOM is ready depending on a state.\n *\n * - `interactive`: Defer scripts are executing, but DOM is ready\n * - `complete`: All scripts including deferred ones are executed and DOM is ready\n *\n * @see https://stackoverflow.com/a/65430734/5506547\n * @see https://stackoverflow.com/a/51980980/5506547\n */\nvar ready = function ready(fn) {\n var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"complete\";\n return new Promise(function (resolve) {\n var cb = function cb() {\n fn === null || fn === void 0 ? void 0 : fn(); // We need to make this promise non-blocking. E.g. on Safari this\n // could lead to issues as the `readystatechange` event listener\n // can be nested (once `interactive`, then waiting `complete`)\n // Imagine, you are using an `await ready` within a `ready(fn)` statement.\n\n setTimeout(resolve, 0);\n };\n\n if (document.readyState === state) {\n cb();\n } else {\n document.addEventListener(\"readystatechange\", function () {\n if (document.readyState === state) {\n cb();\n }\n });\n }\n });\n};\n\nexport { ready };","import { pregQuote } from \".\";\n/**\n * Create regular expression pattern from a string like `my_test*` and replace asterisks\n * with `(.*)`.\n */\n\nfunction regExpPatternFromWildcardName(name) {\n var tmp = name.replace(/\\*/g, \"PLEACE_REPLACE_ME_AGAIN\");\n return \"^\".concat(pregQuote(tmp).replace(/PLEACE_REPLACE_ME_AGAIN/g, \"(.*)\"), \"$\");\n}\n\nexport { regExpPatternFromWildcardName };","/**\n * Port of `preg_quote`.\n *\n * @see https://github.com/kvz/locutus/blob/3f14dc5d142f5dcbdf36b4271c21a850a4a259da/src/php/pcre/preg_quote.js#L1\n */\nfunction pregQuote(str, delimiter) {\n // discuss at: https://locutus.io/php/preg_quote/\n // original by: booeyOH\n // improved by: Ates Goral (https://magnetiq.com)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // example 1: preg_quote(\"$40\")\n // returns 1: '\\\\$40'\n // example 2: preg_quote(\"*RRRING* Hello?\")\n // returns 2: '\\\\*RRRING\\\\* Hello\\\\?'\n // example 3: preg_quote(\"\\\\.+*?[^]$(){}=!<>|:\")\n // returns 3: '\\\\\\\\\\\\.\\\\+\\\\*\\\\?\\\\[\\\\^\\\\]\\\\$\\\\(\\\\)\\\\{\\\\}\\\\=\\\\!\\\\<\\\\>\\\\|\\\\:'\n return str.replace(new RegExp(\"[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\\".concat(delimiter || \"\", \"-]\"), \"g\"), \"\\\\$&\");\n}\n\nexport { pregQuote };","/**\n * Check if the current environment supports cookies.\n *\n * @see https://git.io/JcXiP\n * @returns\n */\nfunction supportsCookies() {\n var cookieName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"test\";\n\n try {\n document.cookie = \"\".concat(cookieName, \"=1\");\n var result = document.cookie.indexOf(\"\".concat(cookieName, \"=\")) !== -1;\n document.cookie = \"\".concat(cookieName, \"=1; expires=Thu, 01-Jan-1970 00:00:01 GMT\");\n return result;\n } catch (e) {\n return false;\n }\n}\n\nexport { supportsCookies };","var DYNAMICS_VARIABLE_REGEXP = /{{([A-Za-z0-9_]+)}}/gm;\n/**\n * Takes any string and replaces `{{myVariable}}` with the value of the passed `dynamics` map.\n */\n\nfunction applyDynamicsToHtml(src, dynamics) {\n return src.replace(DYNAMICS_VARIABLE_REGEXP, function (fullMatch, variableName) {\n return Object.prototype.hasOwnProperty.call(dynamics, variableName) ? dynamics[variableName] : fullMatch;\n });\n}\n\nexport { applyDynamicsToHtml, DYNAMICS_VARIABLE_REGEXP };","// Also ported to `view/Blocker.php`\nexport var HTML_ATTRIBUTE_CAPTURE_PREFIX = \"consent-original\";\nexport var HTML_ATTRIBUTE_CAPTURE_CLICK_PREFIX = \"consent-click-original\";\nexport var HTML_ATTRIBUTE_CAPTURE_SUFFIX = \"_\";\nexport var HTML_ATTRIBUTE_BY = \"consent-by\"; // TODO: cookie -> required?\n\nexport var HTML_ATTRIBUTE_COOKIE_IDS = \"consent-required\";\nexport var HTML_ATTRIBUTE_VISUAL_PARENT = \"consent-visual-use-parent\";\nexport var HTML_ATTRIBUTE_VISUAL_PAINT_MODE = \"consent-visual-paint-mode\";\nexport var HTML_ATTRIBUTE_INLINE = \"consent-inline\";\nexport var HTML_ATTRIBUTE_INLINE_STYLE = \"consent-inline-style\";\nexport var HTML_ATTRIBUTE_BLOCKER_ID = \"consent-id\";\nexport var HTML_TAG_CONSENT_SCRIPT = \"script\";\nexport var HTML_ATTRIBUTE_BLOCKER_CONNECTED = \"consent-blocker-connected\";\nexport var HTML_ATTRIBUTE_BLOCKER_CONNECTED_PRESERVED = \"consent-blocker-connected-pres\";\nexport var HTML_ATTRIBUTE_UNBLOCKED_TRANSACTION_COMPLETE = \"consent-transaction-complete\";\nexport var HTML_ATTRIBUTE_TRANSFORM_WRAPPER = \"consent-transform-wrapper\";\nexport var HTML_ATTRIBUTE_TRANSFORM_WRAPPER_VALUE = \"1\";\nexport var HTML_ATTRIBUTE_WAS_PREVIOUSLY_STRICT_HIDDEN = \"consent-strict-hidden\";\nexport var HTML_ATTRIBUTE_RESET_PARENT = \"consent-cb-reset-parent\";\nexport var HTML_ATTRIBUTE_RESET_PARENT_VALUE = \"1\";\nexport var HTML_ATTRIBUTE_RESET_PARENT_IS_RATIO_CONTAINER = \"consent-cb-reset-parent-is-ratio\";\nexport var HTML_ATTRIBUTE_GOT_CLICKED = \"consent-got-clicked\";\nexport var HTML_ATTRIBUTE_GOT_CLICKED_VALUE = \"1\";\nexport var HTML_ATTRIBUTE_GOT_CLICKED_VALUE_DO_NOT_USE_IN_NESTED = \"2\";\nexport var HTML_ATTRIBUTE_THUMBNAIL = \"consent-thumbnail\";\nexport var HTML_ATTRIBUTE_THUMBNAIL_SUGGESTION = \"consent-thumbnail-suggestion\";","import postscribe from \"postscribe\";\nimport { applyDynamicsToHtml } from \".\";\nimport { htmlDecode } from \"../utils\";\n/**\n * We do not modify `window.onload` directly, you need to use this variable name.\n */\n\nvar WINDOW_ONLOAD_UNBLOCK_REPLACEMENT = \"rcbInitiatorOnload\";\n/**\n * Put HTML code to the current DOM. `script` tags gets automatically\n * executed instead of pushing to DOM.\n *\n * @see https://github.com/krux/postscribe\n * @see https://stackoverflow.com/a/49724894/5506547\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\nfunction putHtmlCodeToDom(html, dynamics) {\n var referenceNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document.body;\n return new Promise(function (resolve) {\n if (html) {\n postscribe(referenceNode, applyDynamicsToHtml(html, dynamics), {\n done: resolve,\n error: function error(e) {\n // We do ignore all errors as we handle like the usual browser\n // E.g. a script blocked by an ad-blocker should not break the execution\n // for upcoming scripts.\n console.error(e);\n },\n beforeWriteToken: function beforeWriteToken(token) {\n var attrs = token.attrs,\n booleanAttrs = token.booleanAttrs,\n src = token.src,\n href = token.href,\n content = token.content; // Probably skip this token? (do not use `disabled` tag as it should still be written to DOM)\n\n if (booleanAttrs !== null && booleanAttrs !== void 0 && booleanAttrs[\"skip-write\"]) {\n return false;\n } // Allow `window.onload` event\n\n\n if (content) {\n token.content = content.replace(/window\\.onload\\s+=/g, \"window.\".concat(WINDOW_ONLOAD_UNBLOCK_REPLACEMENT, \" =\"));\n } // Automatically unescape html entities in all attributes (https://github.com/krux/postscribe/issues/346#issuecomment-310227387)\n\n\n for (var attr in attrs) {\n attrs[attr] = htmlDecode(attrs[attr]); // Allow to skip complete HTML tag when it already got loaded by unique ID (e.g. Google Tag Manager gtag.js)\n\n if (attr === \"unique-write-name\" && document.querySelector(\"[unique-write-name=\\\"\".concat(attrs[attr], \"\\\"]\"))) {\n return false;\n }\n } // Scripts\n\n\n if (src) {\n token.src = htmlDecode(src);\n } // Styles\n\n\n if (href) {\n token.href = htmlDecode(href);\n }\n\n return token;\n }\n });\n } else {\n resolve();\n }\n });\n}\n\nexport { WINDOW_ONLOAD_UNBLOCK_REPLACEMENT, putHtmlCodeToDom };","/**\n * A content - which was blocked - got unblocked.\n */\nexport var OPT_IN_CONTENT_BLOCKER = \"RCB/OptIn/ContentBlocker\";","/**\n * In some cases, the complete layout can be changed and calculations are based on containers width.\n * Imagine: Google Fonts get added and the navigation bar has a button with a calculated width (e.g. BeTheme).\n * Another example: The instagram feed is not loaded / adjusted (masonry), so we need to trigger a resize\n * event manually\n *\n * @param delay\n */\nfunction dispatchResizeEvent() {\n var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n setTimeout(function () {\n try {\n window.dispatchEvent(new Event(\"resize\"));\n } catch (e) {// You are running in IE, it's a UI bug, we can skip...\n }\n }, delay);\n}\n\nexport { dispatchResizeEvent };","import { isUrl } from \".\";\n/**\n * Decode HTML entities in a given string.\n *\n * @see https://stackoverflow.com/a/34064434/5506547\n */\n\nfunction htmlDecode(input) {\n var inputIsUrl = isUrl(input);\n\n if (inputIsUrl) {\n var _doc$querySelector;\n\n // URLs needs to be handled a bit different as e.g. `?regionid` gets parsed to `&#39;ionid=`\n var doc = new DOMParser().parseFromString(\"<a href=\\\"\".concat(input, \"\\\"></a>\"), \"text/html\");\n return (_doc$querySelector = doc.querySelector(\"a\")) === null || _doc$querySelector === void 0 ? void 0 : _doc$querySelector.href;\n } else {\n // Keep XSS protection intact\n var _doc = new DOMParser().parseFromString(input, \"text/html\");\n\n return _doc.documentElement.textContent;\n }\n}\n\nexport { htmlDecode };","/**\n * Check if a given string is an URL.\n *\n * @see https://www.w3resource.com/javascript-exercises/javascript-regexp-exercise-9.php\n */\nfunction isUrl(url) {\n var pattern = /^(?:(?:https?|ftp):\\/\\/)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:\\/\\S*)?$/;\n return !!pattern.test(url);\n}\n\nexport { isUrl };","import { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\n/**\n * Port of `jQuery.parents()`.\n */\n\nfunction parents(element, selector) {\n var elements = [];\n var elem = element.parentElement;\n\n while (elem !== null) {\n if (elem.nodeType === Node.ELEMENT_NODE && matchingSelector(elem, selector)) {\n elements.push(elem);\n }\n\n elem = elem.parentElement;\n }\n\n return elements;\n}\n\nexport { parents };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useEffect } from \"react\";\n\nvar AsciiSpinner = function AsciiSpinner(_ref) {\n var _ref$ms = _ref.ms,\n ms = _ref$ms === void 0 ? 100 : _ref$ms,\n _ref$chars = _ref.chars,\n chars = _ref$chars === void 0 ? [\"&#9719;\", \"&#9718;\", \"&#9717;\", \"&#9716;\"] : _ref$chars;\n\n var _useState = useState(1),\n _useState2 = _slicedToArray(_useState, 2),\n i = _useState2[0],\n setI = _useState2[1];\n\n useEffect(function () {\n var interval = setInterval(function () {\n setI(i + 1);\n }, ms);\n return function () {\n return clearInterval(interval);\n };\n }, [i]);\n return h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: chars[i % 4]\n }\n });\n};\n\nexport { AsciiSpinner };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { isUrl } from \"@devowl-wp/headless-content-unblocker\";\nimport { useBannerOrBlocker } from \"../../../hooks\";\nimport { commonGroupsInlineStyleLinkMore, commonInlineStyleGroupsCookieProperty } from \"../../../inlineStyles\";\n\nvar CookieProperty = function CookieProperty(_ref) {\n var label = _ref.label,\n value = _ref.value,\n children = _ref.children,\n printValueAs = _ref.printValueAs;\n var banner = useBannerOrBlocker();\n var _banner$i18n = banner.i18n,\n yes = _banner$i18n.yes,\n no = _banner$i18n.no;\n var isValueUrl = typeof value === \"string\" && isUrl(value);\n var useValue = isValueUrl ? h(\"a\", {\n href: value,\n style: _objectSpread({\n wordBreak: \"break-all\"\n }, commonGroupsInlineStyleLinkMore(banner, false).style),\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, value) : typeof value === \"string\" ? h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: value\n }\n }) : value;\n\n if (printValueAs === \"boolean\") {\n useValue = useValue ? yes : no;\n }\n\n return h(\"div\", _extends({\n key: label\n }, commonInlineStyleGroupsCookieProperty(banner)), label && h(\"strong\", null, label, \":\\xA0\"), useValue, !!children && h(\"div\", null, children));\n};\n\nexport { CookieProperty };","import { scaleMobile } from \"../..\";\n\nfunction commonInlineStyleGroupsCookieProperty(_ref) {\n var _ref$group = _ref.group,\n groupBorderWidth = _ref$group.groupBorderWidth,\n groupBorderColor = _ref$group.groupBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useGroupBorderWidth = pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, groupBorderWidth) : groupBorderWidth;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-cookie-prop\",\n style: {\n borderLeft: useGroupBorderWidth > 0 ? \"1px solid \".concat(groupBorderColor) : undefined,\n paddingLeft: 15\n }\n };\n}\n\nexport { commonInlineStyleGroupsCookieProperty };","import { Fragment } from \"react\";\nimport { CookieProperty } from \".\";\nimport { useBannerOrBlocker } from \"../../../hooks\";\nimport { applyDynamicsToHtml } from \"@devowl-wp/headless-content-unblocker\";\n\nvar CookiePropertyList = function CookiePropertyList(_ref) {\n var _ref$cookie = _ref.cookie,\n purpose = _ref$cookie.purpose,\n provider = _ref$cookie.provider,\n providerPrivacyPolicy = _ref$cookie.providerPrivacyPolicy,\n legalBasis = _ref$cookie.legalBasis,\n ePrivacyUSA = _ref$cookie.ePrivacyUSA,\n noTechnicalDefinitions = _ref$cookie.noTechnicalDefinitions,\n technicalDefinitions = _ref$cookie.technicalDefinitions,\n codeDynamics = _ref$cookie.codeDynamics,\n isEssentialGroup = _ref.isEssentialGroup;\n\n var _useBannerOrBlocker = useBannerOrBlocker(),\n i18n = _useBannerOrBlocker.i18n,\n ePrivacyUSAEnabled = _useBannerOrBlocker.ePrivacyUSA;\n\n var types = getCookieTypeLocalizationMap();\n return h(Fragment, null, !!purpose && h(CookieProperty, {\n label: i18n.purpose,\n value: purpose\n }), h(CookieProperty, {\n label: i18n.legalBasis,\n value: legalBasis === \"legal-requirement\" ? i18n.legalRequirement : legalBasis === \"legitimate-interest\" || isEssentialGroup ? i18n.legitimateInterest : i18n.consent\n }), h(CookieProperty, {\n label: i18n.provider,\n value: provider\n }), !!providerPrivacyPolicy && h(CookieProperty, {\n label: i18n.providerPrivacyPolicy,\n value: providerPrivacyPolicy\n }), !!ePrivacyUSAEnabled && h(CookieProperty, {\n label: i18n.ePrivacyUSA,\n value: ePrivacyUSA,\n printValueAs: \"boolean\"\n }), !noTechnicalDefinitions && technicalDefinitions.map(function (_ref2) {\n var type = _ref2.type,\n name = _ref2.name,\n host = _ref2.host,\n duration = _ref2.duration,\n durationUnit = _ref2.durationUnit,\n sessionDuration = _ref2.sessionDuration,\n purpose = _ref2.purpose;\n return h(CookieProperty, {\n key: name,\n label: i18n.technicalCookieDefinition,\n value: h(\"span\", {\n style: {\n fontFamily: \"monospace\"\n }\n }, applyDynamicsToHtml(name, codeDynamics))\n }, h(CookieProperty, {\n label: i18n.type,\n value: types[type].name\n }), !!purpose && h(CookieProperty, {\n label: i18n.purpose,\n value: purpose\n }), !!host && h(CookieProperty, {\n label: i18n.host,\n value: h(\"span\", {\n style: {\n fontFamily: \"monospace\"\n }\n }, host)\n }), h(CookieProperty, {\n label: i18n.duration,\n value: [\"local\", \"indexedDb\", \"flash\"].indexOf(type) > -1 ? i18n.noExpiration : sessionDuration || type === \"session\" ? \"Session\" : \"\".concat(duration, \" \").concat(i18n.durationUnit[durationUnit])\n }));\n }));\n};\n\nfunction getCookieTypeLocalizationMap() {\n return {\n http: {\n name: \"HTTP Cookie\",\n abbr: \"HTTP\",\n backgroundColor: \"black\"\n },\n local: {\n name: \"Local Storage\",\n abbr: \"Local\",\n backgroundColor: \"#b3983c\"\n },\n session: {\n name: \"Session Storage\",\n abbr: \"Session\",\n backgroundColor: \"#3c99b3\"\n },\n flash: {\n name: \"Flash Local Shared Object\",\n abbr: \"Flash\",\n backgroundColor: \"#b33c3c\"\n },\n indexedDb: {\n name: \"IndexedDB\",\n abbr: \"I-DB\",\n backgroundColor: \"#4ab33c\"\n }\n };\n}\n\nexport { CookiePropertyList, getCookieTypeLocalizationMap };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useLayoutEffect, useState } from \"react\";\nimport { useBannerOrBlocker } from \"../../../hooks\";\nimport { commonInlineStyleGroupsCookie, commonInlineStyleGroupsCheckbox } from \"../../..\";\nimport { PlainAntdIconAsSvg } from \"../..\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { CheckOutlined } from \"@ant-design/icons-svg\";\nimport { CookiePropertyList } from \".\";\n\nvar Cookie = function Cookie(_ref) {\n var cookie = _ref.cookie,\n checked = _ref.checked,\n disabled = _ref.disabled,\n onToggleCheck = _ref.onToggleCheck,\n _ref$propertyListProp = _ref.propertyListProps,\n propertyListProps = _ref$propertyListProp === void 0 ? {} : _ref$propertyListProp;\n var name = cookie.name;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRendered = _useState2[0],\n setIsRendered = _useState2[1];\n\n var bannerOrBlocker = useBannerOrBlocker();\n var descriptionFontSize = bannerOrBlocker.group.descriptionFontSize;\n useLayoutEffect(function () {\n setIsRendered(true);\n }, []);\n return h(\"div\", commonInlineStyleGroupsCookie(bannerOrBlocker), h(\"div\", {\n style: {\n marginBottom: 10\n }\n }, h(PlainAntdIconAsSvg, _extends({\n icon: CheckOutlined,\n onClick: onToggleCheck\n }, commonInlineStyleGroupsCheckbox(bannerOrBlocker, isRendered, checked, disabled, descriptionFontSize))), h(\"strong\", {\n style: {\n verticalAlign: \"middle\"\n },\n onClick: onToggleCheck\n }, name)), h(CookiePropertyList, _extends({\n cookie: cookie\n }, propertyListProps)));\n};\n\nexport { Cookie };","function commonInlineStyleGroupsCookie(_ref) {\n var antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-cookie\",\n style: {\n marginTop: 10\n }\n };\n}\n\nexport { commonInlineStyleGroupsCookie };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { useMemo } from \"react\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { renderIconDefinitionToSVGElement } from \"@ant-design/icons-svg/es/helpers\";\n/**\n * Inject a plain SVG icon from `@ant-design/icons-svg`. This reduces the bundle size.\n * You can determine yourself to use `@ant-design/icons` or this helper component. For example,\n * this component is preferred for website bundles where website size matters.\n *\n * @see https://app.clickup.com/t/60pz5t\n */\n\nvar PlainAntdIconAsSvg = function PlainAntdIconAsSvg(_ref) {\n var icon = _ref.icon,\n rest = _objectWithoutProperties(_ref, [\"icon\"]);\n\n var svgString = useMemo(function () {\n return renderIconDefinitionToSVGElement(icon, {\n extraSVGAttrs: {\n style: \"width:auto;height:100%;\",\n fill: \"currentColor\"\n }\n });\n }, [icon]);\n return h(\"div\", _extends({}, rest, {\n dangerouslySetInnerHTML: {\n __html: svgString\n }\n }));\n};\n\nexport { PlainAntdIconAsSvg };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { forwardRef } from \"react\";\nimport hintCss from \"hint.css/hint.min.css?inline-raw\";\nimport { usePlainCss } from \"../hooks\";\n/**\n * This is a very basic `hint.css` implementation for a tooltip.\n *\n * @see https://kushagra.dev/lab/hint/\n */\n// eslint-disable-next-line react/display-name\n\nvar Tooltip = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var children = _ref.children,\n className = _ref.className,\n title = _ref.title,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? \"top\" : _ref$position,\n color = _ref.color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? \"large\" : _ref$size,\n always = _ref.always,\n rounded = _ref.rounded,\n noAnimate = _ref.noAnimate,\n bounce = _ref.bounce,\n rest = _objectWithoutProperties(_ref, [\"children\", \"className\", \"title\", \"position\", \"color\", \"size\", \"always\", \"rounded\", \"noAnimate\", \"bounce\"]);\n\n usePlainCss(hintCss, \"hint-css\", true);\n return h(\"div\", _extends({\n style: {\n position: \"relative\",\n display: \"inline\"\n },\n ref: ref,\n \"aria-label\": title,\n className: \"hint--\".concat(position, \" hint--\").concat(size, \" \").concat(color ? \"hint--\".concat(color) : \"\", \" \").concat(always ? \"hint--always\" : \"\", \" \").concat(rounded ? \"hint--rounded\" : \"\", \" \").concat(noAnimate ? \"hint--no-animate\" : \"\", \" \").concat(bounce ? \"hint--bounce\" : \"\", \" \").concat(className || \"\")\n }, rest), children);\n});\nexport { Tooltip };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { createContext, useContext } from \"react\";\n\n/**\n * Create a side-effect-free context provider.\n */\nvar BannerContextFactory = /*#__PURE__*/function () {\n function BannerContextFactory() {\n _classCallCheck(this, BannerContextFactory);\n }\n\n _createClass(BannerContextFactory, null, [{\n key: \"Context\",\n value: function (_Context) {\n function Context() {\n return _Context.apply(this, arguments);\n }\n\n Context.toString = function () {\n return _Context.toString();\n };\n\n return Context;\n }(function () {\n return this.context = this.context || /*#__PURE__*/createContext({});\n })\n }]);\n\n return BannerContextFactory;\n}();\n\nBannerContextFactory.context = void 0;\n\nfunction useBanner() {\n return useContext(BannerContextFactory.Context());\n}\n\nexport { BannerContextFactory, useBanner };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { createContext, useContext } from \"react\";\n\n/**\n * Create a side-effect-free context provider.\n */\nvar BlockerContextFactory = /*#__PURE__*/function () {\n function BlockerContextFactory() {\n _classCallCheck(this, BlockerContextFactory);\n }\n\n _createClass(BlockerContextFactory, null, [{\n key: \"Context\",\n value: function (_Context) {\n function Context() {\n return _Context.apply(this, arguments);\n }\n\n Context.toString = function () {\n return _Context.toString();\n };\n\n return Context;\n }(function () {\n return this.context = this.context || /*#__PURE__*/createContext({});\n })\n }]);\n\n return BlockerContextFactory;\n}();\n\nBlockerContextFactory.context = void 0;\n\nfunction useBlocker() {\n return useContext(BlockerContextFactory.Context());\n}\n\nexport { BlockerContextFactory, useBlocker };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { useState } from \"react\";\nimport { commonInlineStyleFooterLink, useBannerOrBlocker } from \"../../..\";\n\nvar FooterLink = function FooterLink(_ref) {\n var children = _ref.children,\n anchorRest = _objectWithoutProperties(_ref, [\"children\"]);\n\n var bannerOrBlocker = useBannerOrBlocker();\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isHover = _useState2[0],\n setIsHover = _useState2[1];\n\n return h(\"a\", _extends({\n onMouseEnter: function onMouseEnter() {\n return setIsHover(true);\n },\n onMouseLeave: function onMouseLeave() {\n return setIsHover(false);\n }\n }, commonInlineStyleFooterLink(bannerOrBlocker, isHover), anchorRest), children);\n};\n\nexport { FooterLink };","import { scaleMobile } from \"../../scale\";\n\nfunction commonInlineStyleFooterLink(_ref) {\n var _ref$footerDesign = _ref.footerDesign,\n fontSize = _ref$footerDesign.fontSize,\n fontColor = _ref$footerDesign.fontColor,\n hoverFontColor = _ref$footerDesign.hoverFontColor,\n fontInheritFamily = _ref$footerDesign.fontInheritFamily,\n fontFamily = _ref$footerDesign.fontFamily,\n linkTextDecoration = _ref.design.linkTextDecoration,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var isHover = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var style = {\n textDecoration: linkTextDecoration,\n fontSize: pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +fontSize) : +fontSize,\n color: isHover ? hoverFontColor : fontColor,\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n padding: \"0 5px\"\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-link\",\n style: style\n };\n}\n\nexport { commonInlineStyleFooterLink };","import { FooterLink } from \".\";\nimport { Tooltip } from \"../..\";\n\nvar FooterPoweredByLink = function FooterPoweredByLink(_ref) {\n var poweredLink = _ref.poweredLink,\n affiliate = _ref.affiliate;\n return h(FooterLink, {\n href: affiliate ? affiliate.link : poweredLink.href,\n target: poweredLink.target,\n key: \"powered-by\"\n }, h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: poweredLink.innerHTML\n }\n }), affiliate && h(Tooltip, {\n title: affiliate.description,\n position: \"top-left\"\n }, \" \", affiliate.labelBehind));\n};\n\nexport { FooterPoweredByLink };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { Fragment } from \"react\";\n/**\n * Join together a set of JSX elements with a separator.\n *\n * @see https://stackoverflow.com/q/33577448/5506547\n */\n\nfunction jsxJoin(components, separator) {\n // Just to be sure, remove falsy values so we can add conditionals to the components array\n var filtered = components.filter(Boolean);\n return filtered.length === 0 ? null : filtered.reduce(function (acc, curr, i) {\n return acc.length ? [].concat(_toConsumableArray(acc), [// Wrap the separator in a fragment to avoid `missing key` issues\n h(Fragment, {\n key: i\n }, separator), curr]) : [curr];\n }, []);\n}\n\nexport { jsxJoin };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { useCallback, Fragment } from \"react\";\nimport { useBannerOrBlocker, useLegalLinks } from \"..\";\nimport { FooterLink, FooterPoweredByLink } from \"../../components\";\nimport { jsxJoin } from \"../../utils\";\n\nfunction useCommonFooterLinks() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n onClose = _ref.onClose,\n putPoweredByLinkInRow = _ref.putPoweredByLinkInRow,\n row1 = _ref.row1;\n\n var _useBannerOrBlocker = useBannerOrBlocker(),\n close = _useBannerOrBlocker.i18n.close,\n _useBannerOrBlocker$f = _useBannerOrBlocker.footerDesign,\n poweredByLink = _useBannerOrBlocker$f.poweredByLink,\n linkTarget = _useBannerOrBlocker$f.linkTarget,\n poweredLink = _useBannerOrBlocker.poweredLink,\n affiliate = _useBannerOrBlocker.affiliate;\n\n var _useLegalLinks = useLegalLinks(),\n linkPrivacyPolicy = _useLegalLinks.linkPrivacyPolicy,\n linkImprint = _useLegalLinks.linkImprint;\n\n var targetAttributes = linkTarget === \"_blank\" ? {\n target: \"_blank\",\n rel: \"noopener\"\n } : {};\n var rows = [// Row 1\n [onClose && h(FooterLink, {\n href: \"#\",\n onClick: onClose,\n key: \"close\"\n }, h(\"strong\", null, close))].concat(_toConsumableArray(row1 || []), [linkPrivacyPolicy && h(FooterLink, _extends({\n href: linkPrivacyPolicy.url\n }, targetAttributes, {\n key: \"privacyPolicy\"\n }), linkPrivacyPolicy.label), linkImprint && h(FooterLink, _extends({\n href: linkImprint.url\n }, targetAttributes, {\n key: \"imprint\"\n }), linkImprint.label)]).filter(Boolean), // Row 2\n [] // Nothing yet\n ];\n\n if (!!poweredLink && poweredByLink) {\n rows[putPoweredByLinkInRow || 0].push(h(FooterPoweredByLink, {\n key: \"poweredBy\",\n poweredLink: poweredLink,\n affiliate: affiliate\n }));\n }\n\n var render = useCallback(function (rows) {\n return jsxJoin(rows.map(function (row) {\n return row.length ? h(Fragment, {\n key: row[0].key\n }, jsxJoin(row, h(Fragment, null, \" \\u2022 \"))) : null;\n }), h(\"br\", null));\n }, []);\n return {\n rows: rows,\n render: render\n };\n}\n\nexport { useCommonFooterLinks };","import { useBannerOrBlocker, useLegalLinks } from \"..\";\n\nfunction joinWithAndSeparator(arr, andSeparator) {\n if (arr.length > 1) {\n arr.splice(arr.length - 1, 0, \"{{andSeparator}}\");\n }\n\n return arr.join(\", \").replace(/,\\s+{{andSeparator}},\\s+/g, andSeparator);\n}\n/**\n * @see https://gist.github.com/unruthless/413930\n * @see https://stackoverflow.com/a/23630325/5506547\n */\n\n\nvar supWithLineHeightFix = '<sup style=\"vertical-align:top;line-height:100%;position:initial;\">';\n\nfunction useCommonTeachings() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n disableDataProcessingInUnsafeCountries = _ref.disableDataProcessingInUnsafeCountries,\n disableAgeNotice = _ref.disableAgeNotice,\n disableListServicesNotice = _ref.disableListServicesNotice;\n\n var _useBannerOrBlocker = useBannerOrBlocker(),\n blocker = _useBannerOrBlocker.blocker,\n groups = _useBannerOrBlocker.groups,\n isEPrivacyUSA = _useBannerOrBlocker.ePrivacyUSA,\n isAgeNotice = _useBannerOrBlocker.ageNotice,\n isListServicesNotice = _useBannerOrBlocker.listServicesNotice,\n _useBannerOrBlocker$t = _useBannerOrBlocker.texts,\n description = _useBannerOrBlocker$t.description,\n ePrivacyUSA = _useBannerOrBlocker$t.ePrivacyUSA,\n ageNoticeBanner = _useBannerOrBlocker$t.ageNoticeBanner,\n listServicesNotice = _useBannerOrBlocker$t.listServicesNotice,\n consentForwardingExternalHostsText = _useBannerOrBlocker$t.consentForwardingExternalHosts,\n tcf = _useBannerOrBlocker.tcf,\n consentForwardingExternalHosts = _useBannerOrBlocker.consentForwardingExternalHosts,\n individualPrivacyOpen = _useBannerOrBlocker.individualPrivacyOpen,\n individualDescription = _useBannerOrBlocker.individualTexts.description,\n essentialGroup = _useBannerOrBlocker.essentialGroup,\n _useBannerOrBlocker$i = _useBannerOrBlocker.i18n,\n andSeparator = _useBannerOrBlocker$i.andSeparator,\n tcfBannerI18n = _useBannerOrBlocker$i.tcf,\n keepVariablesInTexts = _useBannerOrBlocker.keepVariablesInTexts;\n\n var _useLegalLinks = useLegalLinks(),\n linkPrivacyPolicy = _useLegalLinks.linkPrivacyPolicy; // Description text (combination of configured text and Consent Forwarding)\n\n\n var consentForwardingExternalHostsFinalText = \"\";\n\n if (consentForwardingExternalHosts && !keepVariablesInTexts) {\n consentForwardingExternalHostsFinalText = consentForwardingExternalHostsText.replace(/{{websites}}/g, consentForwardingExternalHosts.join(\", \"));\n }\n\n var useDescription = [blocker ? blocker.description : individualPrivacyOpen ? individualDescription : description, consentForwardingExternalHostsFinalText].filter(Boolean).join(\" \");\n\n if (!keepVariablesInTexts) {\n // Place policy link into the text https://regex101.com/r/ayeFVy/1\n useDescription = useDescription.replace(/{{privacyPolicy}}(.*){{\\/privacyPolicy}}/g, linkPrivacyPolicy ? \"<a href=\\\"\".concat(linkPrivacyPolicy.url, \"\\\" style=\\\"text-decoration:underline;color:inherit;\\\" onmouseenter=\\\"this.style.textDecoration='none'\\\" onmouseleave=\\\"this.style.textDecoration='underline'\\\" target=\\\"_blank\\\">$1</a>\") : \"$1\");\n } // Teaching: Data processing in unsafe countries (formerly USA ePrivacy)\n\n\n var useDataProcessingInUnsafeCountries = !disableDataProcessingInUnsafeCountries && isEPrivacyUSA ? ePrivacyUSA : \"\"; // Teaching: Age notice\n\n var useAgeNotice = isAgeNotice && !disableAgeNotice ? ageNoticeBanner : \"\"; // Teaching: List services notice\n\n var useListServicesNotice = \"\";\n\n if (isListServicesNotice && !disableListServicesNotice) {\n var hasBothPlaceholders = listServicesNotice.indexOf(\"{{services}}\") > -1 && listServicesNotice.indexOf(\"{{serviceGroups}}\") > -1;\n var nonEssentialGroups = groups.filter(function (_ref2) {\n var slug = _ref2.slug;\n return slug !== essentialGroup;\n });\n var flattenSeparator = \"~;~\";\n var listServicesNames = joinWithAndSeparator(nonEssentialGroups.map(function (_ref3, groupIdx) {\n var items = _ref3.items;\n return items.map(function (_ref4) {\n var name = _ref4.name,\n ePrivacyUSA = _ref4.ePrivacyUSA;\n return \"\".concat(name).concat(supWithLineHeightFix).concat([hasBothPlaceholders ? groupIdx + 1 : \"\", useDataProcessingInUnsafeCountries && ePrivacyUSA ? \"U\" : \"\"].filter(Boolean).join(\",\"), \"</sup>\");\n }).join(flattenSeparator);\n }).join(flattenSeparator).split(flattenSeparator), andSeparator);\n\n if (listServicesNames) {\n var listServiceGroupsNames = joinWithAndSeparator(nonEssentialGroups.map(function (_ref5, groupIdx) {\n var name = _ref5.name;\n return \"\".concat(name).concat(supWithLineHeightFix).concat(hasBothPlaceholders ? groupIdx + 1 : \"\", \"</sup>\");\n }), andSeparator);\n useListServicesNotice = \"<span>\".concat(listServicesNotice, \"</span>\").concat(tcf && !individualPrivacyOpen ? \"<span>\".concat(tcfBannerI18n.listOfServicesAppendix, \"</span>\") : \"\");\n\n if (!keepVariablesInTexts) {\n // Place service list into the text\n useListServicesNotice = useListServicesNotice.replace(/{{services}}/g, listServicesNames) // Place service group list into the text\n .replace(/{{serviceGroups}}/g, listServiceGroupsNames);\n }\n\n if (useDataProcessingInUnsafeCountries) {\n useDataProcessingInUnsafeCountries += \"\".concat(supWithLineHeightFix, \"U</sup>\");\n }\n }\n }\n\n return {\n description: useDescription,\n teachings: [useDataProcessingInUnsafeCountries, useAgeNotice, useListServicesNotice].filter(Boolean)\n };\n}\n\nexport { useCommonTeachings };","import { useBanner, useBlocker } from \"../contexts\";\n\n/**\n * Use one of the available banner or blocker contexts as union typed.\n */\nfunction useBannerOrBlocker() {\n var banner = useBanner();\n var blocker = useBlocker(); // Check for a common context property in an available context as it is never `undefined`\n\n return banner.groups ? banner : blocker;\n}\n\nexport { useBannerOrBlocker };","import { useBannerOrBlocker } from \".\";\n\nfunction useLegalLinks() {\n var _useBannerOrBlocker = useBannerOrBlocker(),\n _useBannerOrBlocker$l = _useBannerOrBlocker.legal,\n privacyPolicy = _useBannerOrBlocker$l.privacyPolicy,\n privacyPolicyExternalUrl = _useBannerOrBlocker$l.privacyPolicyExternalUrl,\n privacyPolicyIsExternalUrl = _useBannerOrBlocker$l.privacyPolicyIsExternalUrl,\n privacyPolicyLabel = _useBannerOrBlocker$l.privacyPolicyLabel,\n imprint = _useBannerOrBlocker$l.imprint,\n imprintExternalUrl = _useBannerOrBlocker$l.imprintExternalUrl,\n imprintIsExternalUrl = _useBannerOrBlocker$l.imprintIsExternalUrl,\n imprintLabel = _useBannerOrBlocker$l.imprintLabel,\n pageByIdUrl = _useBannerOrBlocker.pageByIdUrl;\n\n var pageIdToPermalink = useBannerOrBlocker().pageIdToPermalink || {};\n var linkPrivacyPolicy = privacyPolicy > 0 ? pageIdToPermalink[privacyPolicy] || \"\".concat(pageByIdUrl, \"=\").concat(privacyPolicy) : undefined;\n var linkImprint = imprint > 0 ? pageIdToPermalink[imprint] || \"\".concat(pageByIdUrl, \"=\").concat(imprint) : undefined;\n\n if (privacyPolicyIsExternalUrl) {\n linkPrivacyPolicy = privacyPolicyExternalUrl;\n }\n\n if (imprintIsExternalUrl) {\n linkImprint = imprintExternalUrl;\n }\n\n return {\n linkPrivacyPolicy: privacyPolicyLabel && linkPrivacyPolicy ? {\n url: linkPrivacyPolicy,\n label: privacyPolicyLabel\n } : false,\n linkImprint: imprintLabel && linkImprint ? {\n url: linkImprint,\n label: imprintLabel\n } : false\n };\n}\n\nexport { useLegalLinks };","import { useMemo, useLayoutEffect } from \"react\";\nvar counter = 0;\n/**\n * Dynamically creates a style-tag in your head with a given plain CSS string.\n */\n\nfunction usePlainCss(css, uniqueId, keep) {\n var id = useMemo(function () {\n return \"react-use-plain-css-\".concat(uniqueId || (counter++).toString(36));\n }, []);\n useLayoutEffect(function () {\n var element = document.getElementById(id);\n\n if (!element) {\n element = document.createElement(\"style\");\n element.style.type = \"text/css\";\n element.id = id;\n document.getElementsByTagName(\"head\")[0].appendChild(element);\n }\n\n element.innerHTML = css;\n return function () {\n if (!keep) {\n var _element$parentNode;\n\n (_element$parentNode = element.parentNode) === null || _element$parentNode === void 0 ? void 0 : _element$parentNode.removeChild(element);\n }\n };\n }, [css, keep]);\n return id;\n}\n\nexport { usePlainCss };","import { scaleMobile } from \"../../scale\";\n\nfunction commonInlineStyleBodyTeaching(_ref) {\n var _ref$bodyDesign = _ref.bodyDesign,\n teachingsInheritTextAlign = _ref$bodyDesign.teachingsInheritTextAlign,\n teachingsTextAlign = _ref$bodyDesign.teachingsTextAlign,\n teachingsInheritFontSize = _ref$bodyDesign.teachingsInheritFontSize,\n teachingsFontSize = _ref$bodyDesign.teachingsFontSize,\n teachingsInheritFontColor = _ref$bodyDesign.teachingsInheritFontColor,\n teachingsFontColor = _ref$bodyDesign.teachingsFontColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-teachings\",\n style: {\n marginTop: 7,\n display: \"inline-block\",\n textAlign: teachingsInheritTextAlign ? undefined : teachingsTextAlign,\n fontSize: teachingsInheritFontSize ? undefined : pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +teachingsFontSize) : +teachingsFontSize,\n color: teachingsInheritFontColor ? undefined : teachingsFontColor\n }\n };\n}\n\nexport { commonInlineStyleBodyTeaching };","function commonInlineStyleBodyTeachingsSeparator(_ref) {\n var borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n teachingsSeparatorActive = _ref$bodyDesign.teachingsSeparatorActive,\n teachingsSeparatorWidth = _ref$bodyDesign.teachingsSeparatorWidth,\n teachingsSeparatorHeight = _ref$bodyDesign.teachingsSeparatorHeight,\n teachingsSeparatorColor = _ref$bodyDesign.teachingsSeparatorColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-teachings-separator\",\n style: {\n marginTop: 7,\n display: \"inline-block\",\n maxWidth: \"100%\",\n borderRadius: +borderRadius,\n width: +teachingsSeparatorWidth,\n height: teachingsSeparatorActive ? +teachingsSeparatorHeight : 0,\n background: teachingsSeparatorColor\n }\n };\n}\n\nexport { commonInlineStyleBodyTeachingsSeparator };","import { scaleMobile } from \"../..\";\n\n/**\n * Use `visible` together with `useLayoutEffect` to avoid flickering.\n * This is needed because the SVG icons of ant are a bit flickering.\n */\nfunction commonInlineStyleGroupsCheckbox(_ref, visible, checked, disabled, fontSize) {\n var borderRadius = _ref.layout.borderRadius,\n _ref$group = _ref.group,\n headlineFontSize = _ref$group.headlineFontSize,\n checkboxBg = _ref$group.checkboxBg,\n checkboxBorderWidth = _ref$group.checkboxBorderWidth,\n checkboxBorderColor = _ref$group.checkboxBorderColor,\n checkboxActiveBg = _ref$group.checkboxActiveBg,\n checkboxActiveBorderColor = _ref$group.checkboxActiveBorderColor,\n checkboxActiveColor = _ref$group.checkboxActiveColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useFontSize = fontSize || headlineFontSize;\n useFontSize = pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, useFontSize) : useFontSize;\n var useCheckboxBorderWidth = pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +checkboxBorderWidth) : +checkboxBorderWidth;\n var height = +useFontSize + useCheckboxBorderWidth * 2 + 6;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-checkbox\",\n style: {\n cursor: disabled ? \"not-allowed\" : \"pointer\",\n opacity: disabled ? 0.5 : undefined,\n color: checked ? checkboxActiveColor : checkboxBg,\n display: visible ? \"inline-block\" : \"none\",\n background: checked ? checkboxActiveBg : checkboxBg,\n border: \"\".concat(useCheckboxBorderWidth, \"px solid \").concat(checked ? checkboxActiveBorderColor : checkboxBorderColor),\n padding: 3,\n height: height,\n width: height,\n marginRight: 10,\n borderRadius: +borderRadius,\n verticalAlign: \"middle\",\n lineHeight: 0,\n boxSizing: \"border-box\"\n }\n };\n}\n\nexport { commonInlineStyleGroupsCheckbox };","function commonGroupsInlineStyleLinkMore(_ref, isHover) {\n var linkTextDecoration = _ref.design.linkTextDecoration,\n _ref$group = _ref.group,\n linkColor = _ref$group.linkColor,\n linkHoverColor = _ref$group.linkHoverColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group-more\",\n style: {\n color: isHover ? linkHoverColor : linkColor,\n textDecoration: linkTextDecoration\n }\n };\n}\n\nexport { commonGroupsInlineStyleLinkMore };","import { scaleMobile } from \"../..\";\n\nfunction commonInlineStyleHeaderHeadline(_ref, hasCloseIcon) {\n var _ref$headerDesign = _ref.headerDesign,\n fontSize = _ref$headerDesign.fontSize,\n fontColor = _ref$headerDesign.fontColor,\n fontInheritFamily = _ref$headerDesign.fontInheritFamily,\n fontFamily = _ref$headerDesign.fontFamily,\n fontWeight = _ref$headerDesign.fontWeight,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-headline\",\n style: {\n color: fontColor,\n lineHeight: 1.8,\n fontSize: pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +fontSize) : +fontSize,\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n fontWeight: fontWeight,\n paddingRight: hasCloseIcon ? 20 : undefined\n }\n };\n}\n\nexport { commonInlineStyleHeaderHeadline };","var calculateNewVal = function calculateNewVal(val, scalePercent) {\n var newVal = val;\n newVal = val / 100 * scalePercent;\n newVal = newVal < 1 ? 1 : newVal;\n return newVal;\n};\n/**\n * Calculate the new value for an inline style value and respect the scaling options.\n */\n\n\nfunction scaleMobile(_ref, useWidthOfThisContainerId, original, replaceWith) {\n var enabled = _ref.enabled,\n scalePercent = _ref.scalePercent,\n scalePercentVertical = _ref.scalePercentVertical;\n var additionalVerticalScaling = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n return original;\n}\n\nexport { scaleMobile };","import { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\nwindow.rcbPoweredByCacheOuterHTML = \"\";\n/**\n * Get the server-side-rendered powered by link.\n */\n\nfunction getSsrPoweredByLink(id) {\n var element = document.getElementById(id); // SSR-powered by\n\n var originalPoweredLink = element.nextElementSibling;\n var poweredLink = document.createElement(\"div\");\n\n if (window.rcbPoweredByCacheOuterHTML) {\n // We have cached the link as we remove it from the DOM\n poweredLink.innerHTML = window.rcbPoweredByCacheOuterHTML;\n } else if (matchingSelector(originalPoweredLink, \"a\") && originalPoweredLink.innerHTML.toLowerCase().indexOf(\"Real Cookie Banner\")) {\n window.rcbPoweredByCacheOuterHTML = originalPoweredLink.outerHTML;\n poweredLink.innerHTML = window.rcbPoweredByCacheOuterHTML;\n originalPoweredLink.parentNode.removeChild(originalPoweredLink);\n }\n\n return poweredLink.children[0];\n}\n\nexport { getSsrPoweredByLink };","function matchingSelector(element, selector) {\n var proto = typeof Element !== \"undefined\" ? Element.prototype : {};\n var nativeFunction = proto.matches || proto.matchesSelector || proto.webkitMatchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector;\n\n if (!element || element.nodeType !== 1 || !element.parentElement) {\n return false;\n }\n\n if (nativeFunction) {\n return nativeFunction.call(element, selector);\n }\n\n var matchingElements = element.parentElement.querySelectorAll(selector);\n\n for (var matchIdx in matchingElements) {\n if (matchingElements[matchIdx] === element) {\n return true;\n }\n }\n\n return false;\n}\n\nexport { matchingSelector };","import Url from \"url-parse\";\nimport { trailingslashit, untrailingslashit } from \"../../helpers\";\nimport { RouteHttpVerb } from \".\";\nimport deepMerge from \"deepmerge\";\n\n/**\n * Build an URL for a specific scheme.\n *\n * @param param0\n */\nfunction commonUrlBuilder(_ref) {\n var location = _ref.location,\n _ref$params = _ref.params,\n params = _ref$params === void 0 ? {} : _ref$params,\n _ref$nonce = _ref.nonce,\n nonce = _ref$nonce === void 0 ? true : _ref$nonce,\n options = _ref.options;\n var apiUrl = new Url(options.restRoot, true);\n var query = apiUrl.query;\n var permalinkPath = query.rest_route || apiUrl.pathname; // Determine path from permalink settings\n // Find dynamic parameters from URL bindings (like /user/:id)\n\n var foundParams = [];\n var path = location.path.replace(/:([A-Za-z0-9-_]+)/g, function (match, group) {\n foundParams.push(group);\n return params[group];\n });\n var getParams = {}; // Find undeclared body params (which are not bind above) and add it to GET query\n\n for (var _i = 0, _Object$keys = Object.keys(params); _i < _Object$keys.length; _i++) {\n var checkParam = _Object$keys[_i];\n\n if (foundParams.indexOf(checkParam) === -1) {\n getParams[checkParam] = params[checkParam]; // We do not need `encodeURIComponent` as it is supported by `url-parse` already\n }\n }\n\n var usePath = trailingslashit(permalinkPath) + untrailingslashit(location.namespace || options.restNamespace) + path; // Force protocol from parent location\n\n var useThisProtocol = new Url(window.location.href).protocol.slice(0, -1);\n apiUrl.set(\"protocol\", useThisProtocol); // Set path depending on permalink settings\n\n if (query.rest_route) {\n query.rest_route = usePath; // eslint-disable-line @typescript-eslint/naming-convention\n } else {\n apiUrl.set(\"pathname\", usePath); // Set path\n } // Append others\n\n\n if (nonce && options.restNonce) {\n query._wpnonce = options.restNonce;\n }\n\n var currentApiUrlString = apiUrl.toString();\n\n if ([\"wp-json/\", \"rest_route=\"].filter(function (s) {\n return currentApiUrlString.indexOf(s) > -1;\n }).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n query._method = location.method;\n }\n\n return apiUrl.set(\"query\", deepMerge.all([options.restQuery, getParams, query])).toString();\n}\n\nexport { commonUrlBuilder, Url };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nvar pool = {};\nvar recreateFetchPool = {};\n/**\n * A REST nonce in WordPress is only valid for 12 hours (can be configured). However, if it gets\n * invalid, the REST endpoints return a `403` error which signals us, we should recreate the nonce.\n * To avoid multiple recreations, we memorize the newly created nonce in a pool.\n */\n\nfunction nonceDeprecationPool(_x, _x2) {\n return _nonceDeprecationPool.apply(this, arguments);\n}\n\nfunction _nonceDeprecationPool() {\n _nonceDeprecationPool = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(nonce, restRecreateNonceEndpoint) {\n var resultPromise, returnNonce;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(typeof restRecreateNonceEndpoint !== \"undefined\")) {\n _context2.next = 6;\n break;\n }\n\n resultPromise = // Reuse already sent request\n recreateFetchPool[nonce] || new Promise(\n /*#__PURE__*/\n // eslint-disable-next-line no-async-promise-executor\n function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve, reject) {\n var recreateFetch, newNonce;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return window.fetch(restRecreateNonceEndpoint);\n\n case 3:\n recreateFetch = _context.sent;\n\n if (!recreateFetch.ok) {\n _context.next = 11;\n break;\n }\n\n _context.next = 7;\n return recreateFetch.text();\n\n case 7:\n newNonce = _context.sent;\n\n if (nonce === newNonce) {\n reject();\n } else {\n pool[nonce] = newNonce;\n resolve(newNonce);\n }\n\n _context.next = 12;\n break;\n\n case 11:\n reject();\n\n case 12:\n _context.next = 17;\n break;\n\n case 14:\n _context.prev = 14;\n _context.t0 = _context[\"catch\"](0);\n reject();\n\n case 17:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 14]]);\n }));\n\n return function (_x3, _x4) {\n return _ref.apply(this, arguments);\n };\n }());\n recreateFetchPool[nonce] = resultPromise;\n return _context2.abrupt(\"return\", resultPromise);\n\n case 6:\n if (!(typeof nonce === \"undefined\")) {\n _context2.next = 8;\n break;\n }\n\n return _context2.abrupt(\"return\", undefined);\n\n case 8:\n _context2.next = 10;\n return Promise.all(Object.values(recreateFetchPool));\n\n case 10:\n returnNonce = nonce;\n\n case 11:\n if (!pool[returnNonce]) {\n _context2.next = 17;\n break;\n }\n\n returnNonce = pool[returnNonce];\n\n if (!(pool[returnNonce] === nonce)) {\n _context2.next = 15;\n break;\n }\n\n return _context2.abrupt(\"break\", 17);\n\n case 15:\n _context2.next = 11;\n break;\n\n case 17:\n return _context2.abrupt(\"return\", Promise.resolve(returnNonce));\n\n case 18:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _nonceDeprecationPool.apply(this, arguments);\n}\n\nexport { nonceDeprecationPool };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { RouteHttpVerb } from \".\";\n/**\n * Get the result of the `Response`. It also handles multiline responses, e. g.\n * a PHP `Notice:` message is output through a conflicting plugin:\n *\n * If you are using a verb like `DELETE` or `PUT` the response may be empty and this\n * function will return `undefined`.\n *\n * @see https://developer.mozilla.org/de/docs/Web/HTTP/Methods/DELETE\n */\n\nfunction parseResult(_x, _x2, _x3) {\n return _parseResult.apply(this, arguments);\n}\n\nfunction _parseResult() {\n _parseResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(url, result, method) {\n var cloneForFallback, body, lastError, _iterator, _step, line;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cloneForFallback = result.clone();\n _context.prev = 1;\n _context.next = 4;\n return result.json();\n\n case 4:\n return _context.abrupt(\"return\", _context.sent);\n\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](1);\n _context.next = 11;\n return cloneForFallback.text();\n\n case 11:\n body = _context.sent;\n\n if (!(body === \"\" && [RouteHttpVerb.DELETE, RouteHttpVerb.PUT].indexOf(method) > -1)) {\n _context.next = 14;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 14:\n console.warn(\"The response of \".concat(url, \" contains unexpected JSON, try to resolve the JSON line by line...\"), {\n body: body\n });\n _iterator = _createForOfIteratorHelper(body.split(\"\\n\"));\n _context.prev = 16;\n\n _iterator.s();\n\n case 18:\n if ((_step = _iterator.n()).done) {\n _context.next = 30;\n break;\n }\n\n line = _step.value;\n\n if (!(line.startsWith(\"[\") || line.startsWith(\"{\"))) {\n _context.next = 28;\n break;\n }\n\n _context.prev = 21;\n return _context.abrupt(\"return\", JSON.parse(line));\n\n case 25:\n _context.prev = 25;\n _context.t1 = _context[\"catch\"](21);\n lastError = _context.t1;\n\n case 28:\n _context.next = 18;\n break;\n\n case 30:\n _context.next = 35;\n break;\n\n case 32:\n _context.prev = 32;\n _context.t2 = _context[\"catch\"](16);\n\n _iterator.e(_context.t2);\n\n case 35:\n _context.prev = 35;\n\n _iterator.f();\n\n return _context.finish(35);\n\n case 38:\n throw lastError;\n\n case 39:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 7], [16, 32, 35, 38], [21, 25]]);\n }));\n return _parseResult.apply(this, arguments);\n}\n\nexport { parseResult };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { commonUrlBuilder, RouteHttpVerb } from \"./\";\nimport deepMerge from \"deepmerge\";\nimport Url from \"url-parse\";\nimport { parseResult, nonceDeprecationPool } from \".\";\nimport jsonFormData from \"json-form-data\";\nvar CONTENT_TYPE_JSON = \"application/json;charset=utf-8\"; // Fix: Return type of exported function has or is using name 'FormatOptions'\n// from external module \"/home/mg/vscode-workspace/devowl-wp/node_modules/@types/json-form-data/index\" but cannot be named.\n// type MultiPartOptions = Parameters<typeof jsonFormData>[1];\n\n/**\n * Build and execute a specific REST query.\n *\n * @see urlBuilder\n * @returns Result of REST API\n * @throws\n */\nfunction commonRequest(_x) {\n return _commonRequest.apply(this, arguments);\n}\n\nfunction _commonRequest() {\n _commonRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var location, options, routeRequest, params, _ref$settings, settings, _ref$multipart, multipart, _ref$sendRestNonce, sendRestNonce, url, apiUrl, allowBody, body, restNonce, hasRestNonce, init, apiUrlBuilt, result, responseJSON, replay, restRecreateNonceEndpoint, resultAny;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n location = _ref.location, options = _ref.options, routeRequest = _ref.request, params = _ref.params, _ref$settings = _ref.settings, settings = _ref$settings === void 0 ? {} : _ref$settings, _ref$multipart = _ref.multipart, multipart = _ref$multipart === void 0 ? false : _ref$multipart, _ref$sendRestNonce = _ref.sendRestNonce, sendRestNonce = _ref$sendRestNonce === void 0 ? true : _ref$sendRestNonce;\n url = commonUrlBuilder({\n location: location,\n params: params,\n nonce: false,\n options: options\n }); // Use global parameter (see https://developer.wordpress.org/rest-api/using-the-rest-api/global-parameters/)\n\n if ([\"wp-json/\", \"rest_route=\"].filter(function (s) {\n return url.indexOf(s) > -1;\n }).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n settings.method = RouteHttpVerb.POST;\n } else {\n settings.method = location.method || RouteHttpVerb.GET;\n } // Request with GET/HEAD method cannot have body\n\n\n apiUrl = new Url(url, true);\n allowBody = [\"HEAD\", \"GET\"].indexOf(settings.method) === -1;\n\n if (!allowBody && routeRequest) {\n apiUrl.set(\"query\", deepMerge(apiUrl.query, routeRequest));\n } // Determine body\n\n\n if (allowBody) {\n if (multipart) {\n // Let's create a multipart request...\n body = jsonFormData(routeRequest, typeof multipart === \"boolean\" ? {} : multipart);\n } else {\n // It is a usual JSON request, we do not need to send a multipart request\n body = JSON.stringify(routeRequest);\n }\n } // Do the request\n\n\n _context.next = 9;\n return nonceDeprecationPool(options.restNonce);\n\n case 9:\n restNonce = _context.sent;\n hasRestNonce = typeof restNonce !== \"undefined\";\n init = deepMerge.all([settings, {\n headers: _objectSpread(_objectSpread(_objectSpread({}, typeof body === \"string\" ? {\n \"Content-Type\": CONTENT_TYPE_JSON\n } : {}), hasRestNonce && sendRestNonce ? {\n \"X-WP-Nonce\": restNonce\n } : {}), {}, {\n Accept: \"application/json, */*;q=0.1\"\n })\n }]);\n init.body = body; // Do not make body merge-able\n\n apiUrlBuilt = apiUrl.toString();\n _context.next = 16;\n return window.fetch(apiUrlBuilt, init);\n\n case 16:\n result = _context.sent;\n\n if (result.ok) {\n _context.next = 47;\n break;\n }\n\n responseJSON = undefined;\n replay = false;\n _context.prev = 20;\n _context.next = 23;\n return parseResult(apiUrlBuilt, result, location.method);\n\n case 23:\n responseJSON = _context.sent;\n\n // wordpress.com private site compatibility\n\n /* istanbul ignore if */\n if (responseJSON.code === \"private_site\" && result.status === 403 && hasRestNonce && !sendRestNonce) {\n replay = true;\n } // Refresh nonce automatically\n\n /* istanbul ignore if */\n\n\n if (!(responseJSON.code === \"rest_cookie_invalid_nonce\" && hasRestNonce)) {\n _context.next = 35;\n break;\n }\n\n restRecreateNonceEndpoint = options.restRecreateNonceEndpoint;\n _context.prev = 27;\n _context.next = 30;\n return nonceDeprecationPool(restNonce, restRecreateNonceEndpoint);\n\n case 30:\n replay = true;\n _context.next = 35;\n break;\n\n case 33:\n _context.prev = 33;\n _context.t0 = _context[\"catch\"](27);\n\n case 35:\n _context.next = 39;\n break;\n\n case 37:\n _context.prev = 37;\n _context.t1 = _context[\"catch\"](20);\n\n case 39:\n if (!replay) {\n _context.next = 43;\n break;\n }\n\n _context.next = 42;\n return commonRequest({\n location: location,\n options: options,\n multipart: multipart,\n params: params,\n request: routeRequest,\n sendRestNonce: true,\n settings: settings\n });\n\n case 42:\n return _context.abrupt(\"return\", _context.sent);\n\n case 43:\n // Set this request as failing so the endpoint is probably corrupt (see `corruptRestApi.tsx`)\n settings.method === RouteHttpVerb.GET && (window.detectCorruptRestApiFailed = (window.detectCorruptRestApiFailed || 0) + 1);\n resultAny = result;\n resultAny.responseJSON = responseJSON;\n throw resultAny;\n\n case 47:\n return _context.abrupt(\"return\", parseResult(apiUrlBuilt, result, location.method));\n\n case 48:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[20, 37], [27, 33]]);\n }));\n return _commonRequest.apply(this, arguments);\n}\n\nexport { commonRequest };","var RouteHttpVerb;\n\n(function (RouteHttpVerb) {\n RouteHttpVerb[\"GET\"] = \"GET\";\n RouteHttpVerb[\"POST\"] = \"POST\";\n RouteHttpVerb[\"PUT\"] = \"PUT\";\n RouteHttpVerb[\"DELETE\"] = \"DELETE\";\n RouteHttpVerb[\"PATCH\"] = \"PATCH\";\n})(RouteHttpVerb || (RouteHttpVerb = {}));\n\nexport { RouteHttpVerb };","var untrailingslashit = function untrailingslashit(str) {\n return str.endsWith(\"/\") || str.endsWith(\"\\\\\") ? untrailingslashit(str.slice(0, -1)) : str;\n};\n\nvar trailingslashit = function trailingslashit(str) {\n return \"\".concat(untrailingslashit(str), \"/\");\n}; // Allows to make an interface extension and make some properties optional (https://git.io/JeK6J)\n\n\n/**\n * You need to manually put the following code snippet in each of your entry points to enable\n * \"on the fly\" public path for chunks:\n *\n * ```\n * __webpack_public_path__ = getWebpackPublicPath(process.env);\n * ```\n *\n * @see https://webpack.js.org/guides/public-path/#on-the-fly\n */\nvar getWebpackPublicPath = function getWebpackPublicPath(env) {\n var options = window[env.slug.replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n })];\n return \"\".concat(options.publicUrl).concat(options.chunkFolder, \"/\");\n};\n\nexport { untrailingslashit, trailingslashit, getWebpackPublicPath };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\nimport { HTML_ATTRIBUTE_COOKIE_IDS, HTML_ATTRIBUTE_BLOCKER_ID, HTML_ATTRIBUTE_BY, OPT_IN_CONTENT_BLOCKER } from \"@devowl-wp/headless-content-unblocker\";\nimport { regExpPatternFromWildcardName } from \"@devowl-wp/cookie-consent-web-client\";\n/**\n * `window.consentApi.unblock`: Check if a given URL / string is blocked by a Content Blocker:\n *\n * - When a Content Blocker exists, the Promise is only resolved after given consent\n * - When no Content Blocker exists, the Promise is immediate resolved\n *\n * Example (ES5):\n * ```js\n * (window.consentApi && window.consentApi.unblock(\"player.vimeo.com\") || Promise.resolve()).then(function() {\n * console.log(\"Consent for Vimeo given, unlock content...!\");\n * });\n * ```\n *\n * Example (ES6, Babel, TS):\n * ```js\n * (window.consentApi?.unblock(\"player.vimeo.com\") || Promise.resolve()).then(() => {\n * console.log(\"Consent for Vimeo given, unlock content...!\");\n * });\n * ```\n *\n * @param url\n * @param ref Create a visual content blocker to a given HTML element\n */\n\nfunction unblock(url) {\n var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.createElement(\"div\");\n return new Promise(function (resolve) {\n // Find matching blocker\n var found;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n blocker = _getOtherOptionsFromW.blocker;\n\n var isPseudoRef = !ref.parentElement;\n\n var _iterator = _createForOfIteratorHelper(blocker),\n _step;\n\n try {\n loop1: for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var row = _step.value;\n var hosts = row.hosts; // Check if host matches\n\n var _iterator2 = _createForOfIteratorHelper(hosts),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var host = _step2.value;\n var regexp = regExpPatternFromWildcardName(host);\n\n if (url.match(regexp)) {\n found = row;\n break loop1;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (found) {\n // Add attributes to DOM element so it can be consumed by `manipulateDom`\n ref.setAttribute(HTML_ATTRIBUTE_BY, \"cookies\");\n ref.setAttribute(HTML_ATTRIBUTE_COOKIE_IDS, found.cookies.join(\",\"));\n ref.setAttribute(HTML_ATTRIBUTE_BLOCKER_ID, found.id.toString());\n ref.addEventListener(OPT_IN_CONTENT_BLOCKER, function () {\n isPseudoRef && ref.remove();\n resolve();\n }); // Append blocking element to HTML DOM if not already exists\n\n if (isPseudoRef) {\n document.body.appendChild(ref);\n }\n } else {\n resolve();\n }\n });\n}\n\nexport { unblock };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { CookieConsentManager } from \"../apply\";\nimport { apply } from \"../apply\";\nimport { BANNER_PRE_DECISION_SHOW_EVENT } from \"../events\";\nimport { ready } from \"../utils\";\n\nfunction preDecisionGateway(_x, _x2) {\n return _preDecisionGateway.apply(this, arguments);\n}\n\nfunction _preDecisionGateway() {\n _preDecisionGateway = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(options, handler) {\n var show, useOptions, gateways, args, onIsDoNotTrack, onShowCookieBanner, _iterator, _step, gateway, result, _ret;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n show = true;\n useOptions = options instanceof CookieConsentManager ? options.getOptions() : options;\n gateways = handler.gateways, args = handler.args, onIsDoNotTrack = handler.onIsDoNotTrack, onShowCookieBanner = handler.onShowCookieBanner;\n _iterator = _createForOfIteratorHelper(gateways);\n _context.prev = 4;\n\n _iterator.s();\n\n case 6:\n if ((_step = _iterator.n()).done) {\n _context.next = 17;\n break;\n }\n\n gateway = _step.value;\n _context.next = 10;\n return gateway.apply(void 0, [useOptions].concat(_toConsumableArray(args)));\n\n case 10:\n result = _context.sent;\n\n if (!(result !== false)) {\n _context.next = 15;\n break;\n }\n\n _ret = function () {\n show = false;\n\n var applyCookiesWithOptions = function applyCookiesWithOptions(type) {\n return apply(_objectSpread({\n type: type\n }, useOptions));\n };\n\n if (result === \"all\") {\n applyCookiesWithOptions(\"all\");\n } else if (result === \"essentials\") {\n applyCookiesWithOptions(\"essentials\");\n } else if (result === \"dnt\") {\n onIsDoNotTrack(function () {\n return applyCookiesWithOptions(\"essentials\");\n });\n } else if (result === \"consent\") {\n // Apply cookies for the current user decision\n applyCookiesWithOptions(\"consent\");\n }\n\n return \"break\";\n }();\n\n if (!(_ret === \"break\")) {\n _context.next = 15;\n break;\n }\n\n return _context.abrupt(\"break\", 17);\n\n case 15:\n _context.next = 6;\n break;\n\n case 17:\n _context.next = 22;\n break;\n\n case 19:\n _context.prev = 19;\n _context.t0 = _context[\"catch\"](4);\n\n _iterator.e(_context.t0);\n\n case 22:\n _context.prev = 22;\n\n _iterator.f();\n\n return _context.finish(22);\n\n case 25:\n if (!show) {\n _context.next = 30;\n break;\n }\n\n onShowCookieBanner(); // Wait all events are initialized\n\n _context.next = 29;\n return ready();\n\n case 29:\n document.dispatchEvent(new CustomEvent(BANNER_PRE_DECISION_SHOW_EVENT, {\n detail: {}\n }));\n\n case 30:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[4, 19, 22, 25]]);\n }));\n return _preDecisionGateway.apply(this, arguments);\n}\n\nexport { preDecisionGateway };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { supportsCookies } from \"../utils\";\n/**\n * Does the current browser support cookies?\n */\n\nvar preDecisionGatewaySupportsCookies = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var supportsCookiesName;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n supportsCookiesName = _ref.supportsCookiesName;\n return _context.abrupt(\"return\", supportsCookies(supportsCookiesName) ? false : \"essentials\");\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewaySupportsCookies(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewaySupportsCookies };","import isbot from \"isbot\";\n/**\n * Is the current browser a spider / crawler?\n */\n\nfunction isCrawler() {\n var _navigator = navigator,\n userAgent = _navigator.userAgent;\n\n if (userAgent) {\n // Lighthouse / Google PageSpeed isn't currently a bot (https://git.io/J3r5z)\n if (/chrome-lighthouse/i.test(userAgent)) {\n return false;\n }\n\n return isbot(userAgent);\n }\n\n return false;\n}\n\nexport { isCrawler };","/**\n * Let a `Promise` be rejected after a given amount of time.\n */\nfunction promiseTimeout(promise, ms) {\n return new Promise(function (resolve, reject) {\n promise.then(resolve, reject);\n var e = new Error(\"Timed out\");\n setTimeout(reject, ms, e);\n });\n}\n\nexport { promiseTimeout };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \"../decision\";\nimport { isCrawler, promiseTimeout } from \"../utils\";\n\n/**\n * Dynamically allow to get a predecision with a extra request to an external API.\n * If your server does not respond within a given timeout or with an error, it automatically\n * continues with the predecisions. Otherwise, the predecision of the response is used.\n */\nvar preDecisionGatewayDynamicRequest = function preDecisionGatewayDynamicRequest(request) {\n var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10000;\n var active = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n return /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var decisionCookieName, revisionHash, decision, revision, _yield$promiseTimeout, predecision;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decisionCookieName = _ref.decisionCookieName, revisionHash = _ref.revisionHash;\n\n if (!(isCrawler() || !active)) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 3:\n // Check if revision has changed, and probably access our dynamic predecision again\n decision = getUserDecision(decisionCookieName);\n\n if (!decision) {\n _context.next = 8;\n break;\n }\n\n revision = decision.revision;\n\n if (!(revisionHash === revision)) {\n _context.next = 8;\n break;\n }\n\n return _context.abrupt(\"return\", \"consent\");\n\n case 8:\n _context.prev = 8;\n _context.next = 11;\n return promiseTimeout(request(), timeout);\n\n case 11:\n _yield$promiseTimeout = _context.sent;\n predecision = _yield$promiseTimeout.predecision;\n return _context.abrupt(\"return\", predecision);\n\n case 16:\n _context.prev = 16;\n _context.t0 = _context[\"catch\"](8);\n return _context.abrupt(\"return\", false);\n\n case 19:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[8, 16]]);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n};\n\nexport { preDecisionGatewayDynamicRequest };","/**\n * Checks if the given browser is requesting \"Do Not Track\" header.\n *\n * @see https://dev.to/corbindavenport/how-to-correctly-check-for-do-not-track-with-javascript-135d\n */\nfunction isDoNotTrack() {\n try {\n var w = window;\n\n if (w.doNotTrack || w.navigator.doNotTrack || w.navigator.msDoNotTrack || \"msTrackingProtectionEnabled\" in w.external) {\n // The browser supports Do Not Track!\n if (w.doNotTrack == \"1\" || w.navigator.doNotTrack == \"yes\" || w.navigator.doNotTrack == \"1\" || w.navigator.msDoNotTrack == \"1\" || w.external.msTrackingProtectionEnabled()) {\n return true;\n }\n }\n } catch (e) {// Silence is golden.\n }\n\n return false;\n}\n\nexport { isDoNotTrack };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \"../decision\";\nimport { isDoNotTrack } from \"../utils\";\n\n/**\n * When the user has \"Do not track\" enabled and is allowed to use, let's automatically\n * save the dialog without any action.\n */\nvar preDecisionGatewayIsDoNotTrack = function preDecisionGatewayIsDoNotTrack() {\n var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n return /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var decisionCookieName, groups, essentialGroupSlug, _groups$filter, _groups$filter2, essentialGroupObj, _iterator, _step, group, _iterator2, _step2, legalBasis;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decisionCookieName = _ref.decisionCookieName, groups = _ref.groups, essentialGroupSlug = _ref.essentialGroupSlug;\n _groups$filter = groups.filter(function (_ref3) {\n var slug = _ref3.slug;\n return slug === essentialGroupSlug;\n }), _groups$filter2 = _slicedToArray(_groups$filter, 1), essentialGroupObj = _groups$filter2[0];\n\n if (!(getUserDecision(decisionCookieName) !== false || !active)) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 4:\n // As soon we have a legitimate interest, we need to show the cookie banner\n _iterator = _createForOfIteratorHelper(groups);\n _context.prev = 5;\n\n _iterator.s();\n\n case 7:\n if ((_step = _iterator.n()).done) {\n _context.next = 29;\n break;\n }\n\n group = _step.value;\n\n if (!(group !== essentialGroupObj)) {\n _context.next = 27;\n break;\n }\n\n _iterator2 = _createForOfIteratorHelper(group.items);\n _context.prev = 11;\n\n _iterator2.s();\n\n case 13:\n if ((_step2 = _iterator2.n()).done) {\n _context.next = 19;\n break;\n }\n\n legalBasis = _step2.value.legalBasis;\n\n if (!(legalBasis === \"legitimate-interest\")) {\n _context.next = 17;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 17:\n _context.next = 13;\n break;\n\n case 19:\n _context.next = 24;\n break;\n\n case 21:\n _context.prev = 21;\n _context.t0 = _context[\"catch\"](11);\n\n _iterator2.e(_context.t0);\n\n case 24:\n _context.prev = 24;\n\n _iterator2.f();\n\n return _context.finish(24);\n\n case 27:\n _context.next = 7;\n break;\n\n case 29:\n _context.next = 34;\n break;\n\n case 31:\n _context.prev = 31;\n _context.t1 = _context[\"catch\"](5);\n\n _iterator.e(_context.t1);\n\n case 34:\n _context.prev = 34;\n\n _iterator.f();\n\n return _context.finish(34);\n\n case 37:\n return _context.abrupt(\"return\", isDoNotTrack() ? \"dnt\" : false);\n\n case 38:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[5, 31, 34, 37], [11, 21, 24, 27]]);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n};\n\nexport { preDecisionGatewayIsDoNotTrack };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \"../decision\";\n/**\n * Has the user already consent to the latest requested revision (hash)?\n */\n\nvar preDecisionGatewayUserConsent = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var decisionCookieName, revisionHash, decision, revision;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decisionCookieName = _ref.decisionCookieName, revisionHash = _ref.revisionHash;\n decision = getUserDecision(decisionCookieName);\n\n if (!(decision === false)) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 4:\n revision = decision.revision;\n return _context.abrupt(\"return\", revisionHash === revision ? \"consent\" : false);\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewayUserConsent(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayUserConsent };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentDynamicPredecisionGet = {\n path: \"/consent/dynamic-predecision\",\n method: RouteHttpVerb.GET\n};","/**\n * Checks if the given banner is not visible due to legal settings.\n */\nfunction isHiddenDueLegal(banner) {\n var _banner$legal = banner.legal,\n imprint = _banner$legal.imprint,\n imprintHide = _banner$legal.imprintHide,\n privacyPolicy = _banner$legal.privacyPolicy,\n privacyPolicyHide = _banner$legal.privacyPolicyHide,\n pageId = banner.pageId;\n return [imprintHide && +imprint, privacyPolicyHide && +privacyPolicy].filter(Boolean).indexOf(pageId) > -1;\n}\n\nexport { isHiddenDueLegal };","import { useCallback, useMemo } from \"react\";\nimport { BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER } from \"../..\";\n/**\n * Depending on the current screen, calculate the animation to use.\n *\n * Currently, we do not support animations on resize as we cannot calculate the\n * width of the overlay container as it does not exist on first render cycle of React.\n *\n * Drawback if animation only on mobile is enabled: if the window is first a mobile,\n * and the window gets resize it will reuse the animation on desktop again\n */\n\nfunction useBannerAnimation() {\n var clientWidth = useMemo(function () {\n return window.innerWidth;\n }, []);\n var isMobile = clientWidth < BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER; // Check if it is mobile Firefox, as it does not support `position:sticky;bottom:0;` and animations.\n // Effect: The buttons and footer are not visible.\n\n var isMobileFirefox = useMemo(function () {\n var userAgent = window.navigator.userAgent.toLowerCase();\n return [\"firefox\", \"gecko\", \"mobile\", \"android\"].map(function (term) {\n return userAgent.indexOf(term) > -1;\n }).filter(Boolean).length === 4;\n }, []);\n return useCallback(function (_ref) {\n var animationIn = _ref.animationIn,\n animationInOnlyMobile = _ref.animationInOnlyMobile,\n animationOut = _ref.animationOut,\n animationOutOnlyMobile = _ref.animationOutOnlyMobile;\n var useAnimationIn = animationInOnlyMobile ? isMobile ? animationIn : \"none\" : animationIn;\n var useAnimationOut = animationOutOnlyMobile ? isMobile ? animationOut : \"none\" : animationOut;\n\n if (isMobileFirefox) {\n useAnimationIn = \"none\";\n useAnimationOut = \"none\";\n }\n\n return {\n useAnimationIn: useAnimationIn,\n useAnimationOut: useAnimationOut\n };\n }, []);\n}\n\nexport { useBannerAnimation };","export var BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER = 700;\nexport * from \"./types\";\nexport * from \"./contexts\";\nexport * from \"./hooks\";\nexport * from \"./inlineStyles\";\nexport * from \"./utils\";\nexport * from \"./components\";\nexport * from \"./others\";","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { createTcfModel } from \"@devowl-wp/cookie-consent-web-client\";\n\nvar cancelEvent = function cancelEvent(e) {\n if (!e) {\n return;\n }\n\n e.preventDefault(); // Some themes (e.g. AKEA) do have listeners on each link separately and do a custom redirect\n\n e.stopPropagation();\n};\n\nfunction useBannerStateContextCallbacks(_ref) {\n var toggleOverlay = _ref.toggleOverlay,\n _revokeConsent = _ref.revokeConsent;\n\n var toggleWithActiveAction = function toggleWithActiveAction(setContextValue, type) {\n return setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeAction: type,\n individualPrivacyOpen: true,\n refreshSiteAfterSave: type === \"change\" ? 2000 : false\n }, toggleOverlay(state, true));\n });\n };\n\n return {\n openHistory: function openHistory(setContextValue) {\n toggleWithActiveAction(setContextValue, \"history\");\n cancelEvent(arguments.length <= 1 ? undefined : arguments[1]);\n },\n openBanner: function openBanner(setContextValue) {\n toggleWithActiveAction(setContextValue, \"change\");\n cancelEvent(arguments.length <= 1 ? undefined : arguments[1]);\n },\n revokeConsent: function revokeConsent(setContextValue) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var successMessage = args[0],\n e = args[1];\n setContextValue(function (state) {\n _revokeConsent(state).then(function () {\n successMessage && alert(successMessage); // Always reload (always wait 2s to ensure opt-out scripts are exeucted)\n // Fix iOS / Safari bug when we want to reload the page after a POST request\n\n setTimeout(function () {\n return window.location.reload();\n }, 2000);\n }); // Do not change anything\n\n\n return state;\n });\n cancelEvent(e);\n },\n updateTcfFilterBy: function updateTcfFilterBy(setContextValue) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var newFilter = args[0];\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n tcfFilterBy: newFilter\n });\n });\n },\n updateIndividualPrivacyOpen: function updateIndividualPrivacyOpen(setContextValue) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n var opened = args[0];\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n individualPrivacyOpen: opened\n });\n });\n },\n updateGroupChecked: function updateGroupChecked(setContextValue) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n var id = args[0],\n checked = args[1];\n setContextValue(function (state) {\n var newConsent = JSON.parse(JSON.stringify(state.consent));\n\n if (checked) {\n newConsent.groups[id] = state.groups.filter(function (group) {\n return group.id === id;\n })[0].items.map(function (_ref2) {\n var id = _ref2.id;\n return id;\n });\n } else {\n delete newConsent.groups[id];\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n consent: newConsent,\n didGroupFirstChange: true\n });\n });\n },\n updateCookieChecked: function updateCookieChecked(setContextValue) {\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n var groupId = args[0],\n id = args[1],\n checked = args[2];\n setContextValue(function (state) {\n var newConsent = JSON.parse(JSON.stringify(state.consent)); // Initially create \"selected\" cookies\n\n if (!newConsent.groups[groupId]) {\n newConsent.groups[groupId] = [];\n }\n\n var cookieIds = newConsent.groups[groupId];\n var indexOf = cookieIds.indexOf(id);\n\n if (checked && indexOf === -1) {\n cookieIds.push(id);\n } else if (!checked && indexOf > -1) {\n cookieIds.splice(indexOf, 1);\n } // Delete group entirely when no cookies selected\n\n\n if (!cookieIds.length) {\n delete newConsent.groups[groupId];\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n consent: newConsent\n });\n });\n },\n onClose: function onClose(setContextValue) {\n setContextValue(function (state) {\n return _objectSpread(_objectSpread(_objectSpread({}, state), toggleOverlay(state, false)), {}, {\n // This should be set always by you again as it is one-time\n refreshSiteAfterSave: false\n });\n });\n },\n selectHistoryEntry: function selectHistoryEntry(setContextValue) {\n for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {\n args[_key6 - 1] = arguments[_key6];\n }\n\n var groups = args[0],\n consentGroups = args[1],\n tcf = args[2];\n setContextValue(function (state) {\n var additionalChanges = {\n // In case we previously used non-TCF functionality, do not show the TCF banner\n isTcf: !!tcf,\n tcf: null\n };\n\n if (process.env.IS_TCF === \"1\" && tcf) {\n Object.assign(additionalChanges, {\n tcf: \"gvl\" in tcf ? tcf : createTcfModel(tcf)\n });\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n groups: groups,\n consent: _objectSpread(_objectSpread({}, state.consent), {}, {\n groups: consentGroups\n })\n }, additionalChanges);\n });\n }\n };\n}\n\nexport { useBannerStateContextCallbacks };","import { useEffect } from \"react\";\nimport { parents } from \"@devowl-wp/headless-content-unblocker\";\nimport { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\nimport { useBanner } from \"../..\";\nvar HREF_MATCHER = '[href^=\"#consent-\"]';\n/**\n * Listen to anchor links and execute the banner action:\n *\n * ```\n * #consent-change\n * #consent-history\n * #consent-revoke\n * ```\n */\n\nfunction useBannerActionLinks() {\n var _useBanner = useBanner(),\n openBanner = _useBanner.openBanner,\n openHistory = _useBanner.openHistory,\n revokeConsent = _useBanner.revokeConsent;\n\n useEffect(function () {\n var handleType = function handleType(type, successMessage, e) {\n if (!openBanner) {\n // `useBannerActions` is not yet initialized.\n return;\n }\n\n switch (type) {\n case \"change\":\n openBanner(e);\n break;\n\n case \"history\":\n openHistory(e);\n break;\n\n case \"revoke\":\n revokeConsent(successMessage, e);\n break;\n\n default:\n break;\n }\n };\n\n var eventListenerDocumentClick = function eventListenerDocumentClick(e) {\n if (!openBanner) {\n // `useBannerActions` is not yet initialized.\n return;\n } // Check if one of the parents has a valid hash link\n\n\n var element = e.target;\n parents(element, HREF_MATCHER).concat(matchingSelector(element, HREF_MATCHER) ? [element] : []).forEach(function (parent) {\n handleType(parent.getAttribute(\"href\").slice(9), parent.getAttribute(\"data-success-message\"), e);\n }); // @deprecated Old behavior with simple links like `#change`\n\n if (matchingSelector(element, \".rcb-sc-link\")) {\n handleType(element.getAttribute(\"href\").slice(1), element.getAttribute(\"data-success-message\"), e);\n }\n };\n\n var eventListenerHashChange = function eventListenerHashChange() {\n var hash = window.location.hash;\n\n if (hash.startsWith(\"#consent-\")) {\n handleType(hash.substring(9), undefined, undefined);\n }\n };\n\n window.addEventListener(\"hashchange\", eventListenerHashChange);\n document.addEventListener(\"click\", eventListenerDocumentClick, true);\n return function () {\n window.removeEventListener(\"hashchange\", eventListenerHashChange);\n document.removeEventListener(\"click\", eventListenerDocumentClick, true);\n };\n }, [openBanner, openHistory, revokeConsent]);\n}\n\nexport { useBannerActionLinks };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useEffect, useState } from \"react\";\n\nfunction useResettableAnimation(animation, duration) {\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n i = _useState2[0],\n setI = _useState2[1];\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n j = _useState4[0],\n setJ = _useState4[1];\n\n var _useState5 = useState(animation),\n _useState6 = _slicedToArray(_useState5, 2),\n stateAnimation = _useState6[0],\n setStateAnimation = _useState6[1];\n\n var _useState7 = useState(undefined),\n _useState8 = _slicedToArray(_useState7, 2),\n stateAnimationReset = _useState8[0],\n setStateAnimationReset = _useState8[1];\n\n var _useState9 = useState(duration),\n _useState10 = _slicedToArray(_useState9, 2),\n stateDuration = _useState10[0],\n setStateDuration = _useState10[1];\n\n var _useState11 = useState(undefined),\n _useState12 = _slicedToArray(_useState11, 2),\n stateDurationReset = _useState12[0],\n setStateDurationReset = _useState12[1]; // Reset animation, save it temporary so when changing it, it needs to be to \"none\" and then the needed one\n\n\n useEffect(function () {\n // Avoid first rendering as the first is animated at mount-time\n if (i > 0) {\n if (animation === \"none\") {\n setStateAnimation(animation);\n } else {\n setStateAnimation(\"none\");\n setStateAnimationReset(animation);\n }\n }\n\n setI(i + 1);\n }, [animation]);\n useEffect(function () {\n // Avoid first rendering as the first is animated at mount-time\n if (j > 0) {\n if (duration === 0) {\n setStateDuration(duration);\n } else {\n setStateDuration(0);\n setStateDurationReset(duration);\n setStateAnimation(\"none\");\n setStateAnimationReset(animation);\n }\n }\n\n setJ(j + 1);\n }, [duration]);\n useEffect(function () {\n if (stateAnimationReset !== undefined) {\n setStateAnimation(stateAnimationReset);\n setStateAnimationReset(undefined);\n }\n }, [stateAnimationReset]);\n useEffect(function () {\n if (stateDurationReset !== undefined) {\n setStateDuration(stateDurationReset);\n setStateDurationReset(undefined);\n }\n }, [stateDurationReset]);\n return [stateAnimation, stateDuration];\n}\n\nexport { useResettableAnimation };","/**\n * @see https://stackoverflow.com/a/5624139/5506547\n * @param hex\n */\nfunction hexToRgb(hex) {\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n}\n\nexport { hexToRgb };","import { hexToRgb } from \".\";\n\n/**\n * @param hex\n * @param alpha 0 - 100\n */\nfunction calculateRgba(hex, alpha) {\n var _hexToRgb = hexToRgb(hex),\n r = _hexToRgb.r,\n g = _hexToRgb.g,\n b = _hexToRgb.b;\n\n return \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(alpha / 100, \")\");\n}\n\nexport { calculateRgba };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useEffect } from \"react\";\n\nfunction getAnimationRelatedState(_ref) {\n var isVisible = _ref.isVisible,\n animationIn = _ref.animationIn,\n animationOut = _ref.animationOut,\n animationInDuration = _ref.animationInDuration,\n animationOutDuration = _ref.animationOutDuration,\n animationInDelay = _ref.animationInDelay,\n animationOutDelay = _ref.animationOutDelay;\n return isVisible ? {\n animation: animationIn,\n duration: animationInDuration,\n delay: animationInDelay\n } : {\n animation: animationOut,\n duration: animationOutDuration,\n delay: animationOutDelay\n };\n}\n/**\n * Ported from https://www.npmjs.com/package/react-animated-css due to high bundle size.\n */\n\n\nvar AnimatedCss = function AnimatedCss(_ref2) {\n var _ref2$animateOnMount = _ref2.animateOnMount,\n animateOnMount = _ref2$animateOnMount === void 0 ? true : _ref2$animateOnMount,\n _ref2$isVisible = _ref2.isVisible,\n isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,\n _ref2$animationIn = _ref2.animationIn,\n animationIn = _ref2$animationIn === void 0 ? \"fadeIn\" : _ref2$animationIn,\n _ref2$animationOut = _ref2.animationOut,\n animationOut = _ref2$animationOut === void 0 ? \"fadeOut\" : _ref2$animationOut,\n _ref2$animationInDela = _ref2.animationInDelay,\n animationInDelay = _ref2$animationInDela === void 0 ? 0 : _ref2$animationInDela,\n _ref2$animationOutDel = _ref2.animationOutDelay,\n animationOutDelay = _ref2$animationOutDel === void 0 ? 0 : _ref2$animationOutDel,\n _ref2$animationInDura = _ref2.animationInDuration,\n animationInDuration = _ref2$animationInDura === void 0 ? 1000 : _ref2$animationInDura,\n _ref2$animationOutDur = _ref2.animationOutDuration,\n animationOutDuration = _ref2$animationOutDur === void 0 ? 1000 : _ref2$animationOutDur,\n _ref2$className = _ref2.className,\n className = _ref2$className === void 0 ? \"\" : _ref2$className,\n _ref2$style = _ref2.style,\n style = _ref2$style === void 0 ? {} : _ref2$style,\n children = _ref2.children;\n\n var _useState = useState(animateOnMount ? getAnimationRelatedState({\n isVisible: isVisible,\n animationIn: animationIn,\n animationOut: animationOut,\n animationInDelay: animationInDelay,\n animationOutDelay: animationOutDelay,\n animationInDuration: animationInDuration,\n animationOutDuration: animationOutDuration\n }) : {\n animation: \"\",\n delay: undefined,\n duration: 0\n }),\n _useState2 = _slicedToArray(_useState, 2),\n _useState2$ = _useState2[0],\n animation = _useState2$.animation,\n duration = _useState2$.duration,\n delay = _useState2$.delay,\n setAnimationRelatedState = _useState2[1];\n\n useEffect(function () {\n setAnimationRelatedState(getAnimationRelatedState({\n isVisible: isVisible,\n animationIn: animationIn,\n animationOut: animationOut,\n animationInDelay: animationInDelay,\n animationOutDelay: animationOutDelay,\n animationInDuration: animationInDuration,\n animationOutDuration: animationOutDuration\n }));\n }, [isVisible, animationIn, animationOut, animationInDelay, animationOutDelay, animationInDuration, animationOutDuration]);\n var classes = \"animate__animated animate__\".concat(animation, \" \").concat(className);\n var backwardStyle = !animation ? {\n opacity: isVisible ? 1 : 0,\n transition: \"opacity \".concat(delay, \"ms\")\n } : {};\n return h(\"div\", {\n className: classes,\n style: _objectSpread(_objectSpread({\n animationDelay: \"\".concat(delay, \"ms\"),\n animationDuration: \"\".concat(duration, \"ms\"),\n pointerEvents: isVisible ? \"all\" : \"none\"\n }, style), backwardStyle)\n }, children);\n};\n\nexport { AnimatedCss };","import { useEffect } from \"react\";\nimport { useBanner } from \"../contexts\";\nimport { usePlainCss } from \".\";\n/**\n * Pass an HTML refs and we will provide a root stylesheet with the height dimensions and variables\n * with the calculated height. This is needed as we need to do some positioning of header and footer.\n */\n\nfunction useRenderedHeightsAsCssVars(element, name) {\n var _useBanner = useBanner(),\n pageRequestUuid4 = _useBanner.pageRequestUuid4; // We do directly modify the inline CSS as we do not want to trigger a rerender for the complete banner content\n\n\n var cssId = usePlainCss(\"\", \"useRenderedHeightsAsCssVars-\".concat(name));\n var cssElement = document.getElementById(cssId);\n useEffect(function () {\n var previousHeight = 0;\n\n var recalculate = function recalculate() {\n var currentHeight = element.getBoundingClientRect().height;\n\n if (previousHeight !== currentHeight) {\n previousHeight = currentHeight;\n cssElement.innerHTML = \"#\".concat(pageRequestUuid4, \"{--rendered-height-\").concat(name, \": \").concat(Math.floor(currentHeight), \"px;--rendered-height-raw-\").concat(name, \": \").concat(currentHeight, \"px}\");\n }\n };\n\n if (!element) {\n return function () {// Silence is golden.\n };\n } // Support animations\n\n\n var animateContainer = document.querySelector(\"#\".concat(pageRequestUuid4, \" div[class*=\\\"animate__\\\"]\"));\n animateContainer.addEventListener(\"animationend\", recalculate);\n\n if (window.ResizeObserver) {\n var ro = new ResizeObserver(recalculate);\n ro.observe(element);\n return function () {\n ro.disconnect();\n animateContainer.removeEventListener(\"animationend\", recalculate);\n };\n } else {\n var interval = setInterval(recalculate, 150);\n return function () {\n clearInterval(interval);\n animateContainer.removeEventListener(\"animationend\", recalculate);\n };\n }\n }, [element, name]);\n}\n\nexport { useRenderedHeightsAsCssVars };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { useBanner } from \"../..\";\nimport { useCallback } from \"react\";\n/**\n * Provide callbacks for all the available button types in our cookie banner:\n *\n * - Accept all\n * - Continue without consent (accept essentials)\n * - Save custom choices (no changes to the current selected groups and services)\n * - Change individual privacy preferences\n */\n\nfunction useBannerButtonCallbacks() {\n var _useBanner = useBanner(),\n individualPrivacyOpen = _useBanner.individualPrivacyOpen,\n onSave = _useBanner.onSave,\n updateGroupChecked = _useBanner.updateGroupChecked,\n updateCookieChecked = _useBanner.updateCookieChecked,\n groups = _useBanner.groups,\n essentialGroup = _useBanner.essentialGroup,\n updateIndividualPrivacyOpen = _useBanner.updateIndividualPrivacyOpen,\n activeAction = _useBanner.activeAction,\n onClose = _useBanner.onClose;\n\n var buttonClickedAll = individualPrivacyOpen ? \"ind_all\" : \"main_all\";\n var buttonClickedEssentials = individualPrivacyOpen ? \"ind_essential\" : \"main_essential\";\n var buttonClickedCloseIcon = individualPrivacyOpen ? \"ind_close_icon\" : \"main_close_icon\";\n var buttonClickedCustom = individualPrivacyOpen ? \"ind_custom\" : \"main_custom\";\n var result = {\n buttonClickedAll: buttonClickedAll,\n buttonClickedEssentials: buttonClickedEssentials,\n buttonClickedCloseIcon: buttonClickedCloseIcon,\n buttonClickedCustom: buttonClickedCustom,\n acceptAll: useCallback(function () {\n groups.forEach(function (g) {\n return updateGroupChecked(g.id, true);\n });\n onSave(false, buttonClickedAll);\n }, [buttonClickedAll]),\n\n /**\n * This includes the complete \"Essential\" group + legal basis = legitimate interests.\n */\n acceptEssentials: useCallback(function () {\n var isCloseIcon = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n groups.forEach(function (_ref) {\n var slug = _ref.slug,\n id = _ref.id,\n items = _ref.items;\n\n if (slug === essentialGroup) {\n updateGroupChecked(id, true);\n } else {\n var _iterator = _createForOfIteratorHelper(items),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _step.value,\n legalBasis = _step$value.legalBasis,\n cookieId = _step$value.id;\n updateCookieChecked(id, cookieId, legalBasis === \"legitimate-interest\");\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n });\n onSave(false, isCloseIcon ? buttonClickedCloseIcon : buttonClickedEssentials);\n }, [buttonClickedEssentials]),\n acceptIndividual: useCallback(function () {\n return onSave(false, buttonClickedCustom);\n }, [buttonClickedCustom]),\n openIndividualPrivacy: useCallback(function () {\n updateIndividualPrivacyOpen(true);\n }, [updateIndividualPrivacyOpen])\n };\n return _objectSpread(_objectSpread({}, result), {}, {\n closeIcon: useCallback(function () {\n if (!activeAction) {\n // If we do not have yet a consent and it shows the banner for the first time,\n // the close icon is equivalent to \"Continue without consent\"\n result.acceptEssentials(true);\n } else {\n onClose();\n }\n }, [activeAction, onClose, result.acceptEssentials])\n });\n}\n\nexport { useBannerButtonCallbacks };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\n/**\n * Portals provide a first-class way to render children into a DOM node that exists outside the DOM hierarchy of the parent component.\n *\n * @see https://reactjs.org/docs/portals.html\n */\n\nvar Portal = function Portal(_ref) {\n var children = _ref.children,\n className = _ref.className,\n _ref$tag = _ref.tag,\n tag = _ref$tag === void 0 ? \"div\" : _ref$tag,\n renderInContainer = _ref.renderInContainer;\n\n var _useState = useState(function () {\n var el = document.createElement(tag);\n className && el.classList.add(className);\n return el;\n }),\n _useState2 = _slicedToArray(_useState, 1),\n renderIn = _useState2[0]; // Append container to `body`\n\n\n useEffect(function () {\n document.body.appendChild(renderIn);\n return function () {\n document.body.removeChild(renderIn);\n };\n }, []);\n return /*#__PURE__*/createPortal(children, renderInContainer || renderIn);\n};\n\nexport { Portal };","import { useMemo, useRef, Fragment } from \"react\";\nimport { useRect } from \"@reach/rect\";\nimport { usePlainCss } from \"../hooks\";\nimport { Portal, Tooltip } from \".\";\nvar counter = 0;\n/**\n * A portaled close icon creates a close icon rendered to a given container. This allows\n * you to put the close icon on the top right corner of an `overflow:hidden` container and\n * the tooltip gets rendered correctly.\n */\n\nvar CloseIcon = function CloseIcon(_ref) {\n var width = _ref.width,\n color = _ref.color,\n tooltipText = _ref.tooltipText,\n framed = _ref.framed,\n renderInContainer = _ref.renderInContainer,\n tooltipAlways = _ref.tooltipAlways,\n onClick = _ref.onClick,\n _ref$thickness = _ref.thickness,\n thickness = _ref$thickness === void 0 ? 1 : _ref$thickness;\n var idCloseIconNotPortaled = useMemo(function () {\n return \"react-close-icon-\".concat((counter++).toString(36));\n }, []);\n var idCloseIconPortaled = useMemo(function () {\n return \"react-close-icon-\".concat((counter++).toString(36));\n }, []);\n /**\n * Why two containers for a simple close icon? I need to explain something technical here.\n * Our complete banner/dialog is tainted with `overflow:hidden` due to flickering effects\n * with animate.css etc. We will now create an invisible element with the placeholder,\n * we will then read its positioning (rect) and generate the visible close icon based on this position.\n */\n\n var idCloseIconPlaceholder = useMemo(function () {\n return \"react-close-icon-\".concat((counter++).toString(36));\n }, []);\n var ref = useRef();\n var rect = useRect(ref);\n usePlainCss(\"#\".concat(idCloseIconPlaceholder, \", #\").concat(idCloseIconNotPortaled, \" {\\n position: absolute;\\n top: 50%;\\n right: 0;\\n margin-top: calc(\").concat(width, \"px / 2 * -1);\\n display: block;\\n width: \").concat(width, \"px;\\n height: \").concat(width, \"px; \\n pointer-events: none;\\n}\\n\\n#\").concat(idCloseIconNotPortaled, \" {\\n position: absolute !important;\\n}\\n\\n#\").concat(idCloseIconNotPortaled, \", #\").concat(idCloseIconPortaled, \" {\\n cursor: pointer;\\n pointer-events: all;\\n \").concat(framed ? \"outline: rgb(255, 94, 94) solid 5px;\" : \"\", \"\\n}\\n\\n#\").concat(idCloseIconPortaled, \" {\\n position: fixed !important;\\n \").concat(rect ? \"top: \".concat(rect.y, \"px;left: \").concat(rect.x, \"px;display:block;\") : \"display:none;\", \"\\n width: \").concat(width, \"px;\\n height: \").concat(width, \"px;\\n z-index: 99;\\n}\\n#\").concat(idCloseIconPortaled, \":after, #\").concat(idCloseIconNotPortaled, \":after {\\n width: auto !important;\\n white-space: nowrap !important;\\n}\\n#\").concat(idCloseIconPortaled, \">span:before, #\").concat(idCloseIconPortaled, \">span:after,\\n#\").concat(idCloseIconNotPortaled, \">span:before, #\").concat(idCloseIconNotPortaled, \">span:after {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: \").concat(thickness, \"px;\\n height: \").concat(width, \"px;\\n background-color: \").concat(color, \";\\n transform: rotate(45deg) translate(-50%, -50%);\\n transform-origin: top left;\\n transition: all 420ms;\\n content: '';\\n opacity: 0.5;\\n pointer-events: none;\\n}\\n#\").concat(idCloseIconPortaled, \">span:after,\\n#\").concat(idCloseIconNotPortaled, \">span:after {\\n transform: rotate(-45deg) translate(-50%, -50%);\\n}\\n#\").concat(idCloseIconPortaled, \">span:hover:before, #\").concat(idCloseIconPortaled, \">span:hover:after,\\n#\").concat(idCloseIconNotPortaled, \">span:hover:before, #\").concat(idCloseIconNotPortaled, \">span:hover:after {\\n opacity: 1;\\n width: \").concat(thickness + 1, \"px;\\n}\"));\n return renderInContainer ? h(Fragment, null, h(\"div\", {\n id: idCloseIconPlaceholder,\n ref: ref\n }), (rect === null || rect === void 0 ? void 0 : rect.y) > 0 && h(Portal, {\n renderInContainer: renderInContainer\n }, h(Tooltip, {\n title: tooltipText,\n id: idCloseIconPortaled,\n onClick: onClick,\n position: rect.y > 50 ? \"top-left\" : \"left\",\n always: tooltipAlways\n }, h(\"span\", null)))) : h(Tooltip, {\n title: tooltipText,\n id: idCloseIconNotPortaled,\n onClick: onClick,\n position: \"top-left\",\n always: tooltipAlways\n }, h(\"span\", null));\n};\n\nexport { CloseIcon };","import { useBanner, useBannerButtonCallbacks, scaleMobile, CloseIcon, BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER } from \"../../..\";\n\nvar BannerCloseIcon = function BannerCloseIcon() {\n var _useBanner = useBanner(),\n _useBanner$headerDesi = _useBanner.headerDesign,\n fontSize = _useBanner$headerDesi.fontSize,\n fontColor = _useBanner$headerDesi.fontColor,\n acceptEssentials = _useBanner.texts.acceptEssentials,\n mobile = _useBanner.mobile,\n activeAction = _useBanner.activeAction,\n pageRequestUuid4 = _useBanner.pageRequestUuid4,\n _useBanner$i18n = _useBanner.i18n,\n close = _useBanner$i18n.close,\n closeWithoutSaving = _useBanner$i18n.closeWithoutSaving,\n _useBanner$buttonClic = _useBanner.buttonClicked,\n buttonClicked = _useBanner$buttonClic === void 0 ? \"\" : _useBanner$buttonClic;\n\n var _useBannerButtonCallb = useBannerButtonCallbacks(),\n buttonClickedCloseIcon = _useBannerButtonCallb.buttonClickedCloseIcon,\n closeIcon = _useBannerButtonCallb.closeIcon;\n\n var container = document.getElementById(pageRequestUuid4);\n return h(CloseIcon, {\n width: scaleMobile(mobile, pageRequestUuid4, fontSize),\n color: fontColor,\n tooltipText: activeAction ? activeAction === \"change\" ? closeWithoutSaving : close : acceptEssentials,\n tooltipAlways: (container === null || container === void 0 ? void 0 : container.clientWidth) < BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER,\n framed: buttonClicked === buttonClickedCloseIcon,\n renderInContainer: container,\n onClick: closeIcon\n });\n};\n\nexport { BannerCloseIcon };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useBanner, bannerHeaderInlineStyleContainer, bannerHeaderInlineStyle, bannerHeaderInlineStyleLogo, commonInlineStyleHeaderHeadline, BannerCloseIcon } from \"../../..\";\nimport { forwardRef } from \"react\"; // eslint-disable-next-line react/display-name\n\nvar BannerHeader = /*#__PURE__*/forwardRef(function (_, ref) {\n var banner = useBanner();\n var _banner$headerDesign = banner.headerDesign,\n logo = _banner$headerDesign.logo,\n logoRetina = _banner$headerDesign.logoRetina,\n showCloseIcon = banner.decision.showCloseIcon,\n headline = banner.texts.headline,\n activeAction = banner.activeAction,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n individualTexts = banner.individualTexts,\n headerTitlePrivacyPolicyHistory = banner.i18n.headerTitlePrivacyPolicyHistory; // Calculate logo\n\n var useRetina = logoRetina && !(logo !== null && logo !== void 0 && logo.endsWith(\".svg\")) && window.devicePixelRatio > 1;\n var useLogo = useRetina ? logoRetina : logo; // Calculate headline\n\n var useHeadline = individualPrivacyOpen ? activeAction === \"history\" ? headerTitlePrivacyPolicyHistory : individualTexts.headline : headline;\n return h(\"div\", _extends({\n ref: ref\n }, bannerHeaderInlineStyleContainer(banner)), h(\"div\", bannerHeaderInlineStyle(banner), !!useLogo && h(\"img\", _extends({\n alt: \"\",\n src: useLogo\n }, bannerHeaderInlineStyleLogo(banner, useRetina))), !!useHeadline && h(\"div\", commonInlineStyleHeaderHeadline(banner, false), useHeadline), (!!showCloseIcon || !!activeAction) && h(BannerCloseIcon, null)));\n});\nexport { BannerHeader };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyleContainer(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogBorderRadius = _ref$layout.dialogBorderRadius,\n _ref$design = _ref.design,\n borderWidth = _ref$design.borderWidth,\n borderColor = _ref$design.borderColor,\n restDesign = _objectWithoutProperties(_ref$design, [\"borderWidth\", \"borderColor\"]),\n _ref$headerDesign = _ref.headerDesign,\n inheritBg = _ref$headerDesign.inheritBg,\n bg = _ref$headerDesign.bg,\n padding = _ref$headerDesign.padding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n\n var useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n var style = {\n padding: scaleMobile(mobile, pageRequestUuid4, padding, undefined, true).map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n background: inheritBg ? restDesign.bg : bg,\n borderRadius: useType === \"dialog\" ? \"\".concat(dialogBorderRadius, \"px \").concat(dialogBorderRadius, \"px 0 0\") : undefined,\n position: \"sticky\",\n zIndex: 9,\n top: 0\n };\n\n if (useType === \"dialog\" && useBorderWidth > 0) {\n style.borderTop = \"\".concat(useBorderWidth, \"px solid \").concat(borderColor);\n style.borderLeft = style.borderTop;\n style.borderRight = style.borderTop;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header-container\",\n style: style\n };\n}\n\nexport { bannerHeaderInlineStyleContainer };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyle(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n bannerMaxWidth = _ref$layout.bannerMaxWidth,\n textAlign = _ref.design.textAlign,\n _ref$headerDesign = _ref.headerDesign,\n inheritTextAlign = _ref$headerDesign.inheritTextAlign,\n logo = _ref$headerDesign.logo,\n logoPosition = _ref$headerDesign.logoPosition,\n restHeaderDesign = _objectWithoutProperties(_ref$headerDesign, [\"inheritTextAlign\", \"logo\", \"logoPosition\"]),\n headline = _ref.texts.headline,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n individualPrivacyOpen = _ref.individualPrivacyOpen;\n\n var useTextAlign = inheritTextAlign ? textAlign : restHeaderDesign.textAlign;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header\",\n style: {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\",\n display: \"flex\",\n justifyContent: useTextAlign === \"center\" ? \"center\" : useTextAlign === \"right\" ? \"flex-end\" : undefined,\n textAlign: useTextAlign,\n alignItems: \"center\",\n position: \"relative\",\n flexDirection: logo && headline ? logoPosition === \"left\" ? \"row\" : logoPosition === \"right\" ? \"row-reverse\" : \"column\" : undefined\n }\n };\n}\n\nexport { bannerHeaderInlineStyle };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyleLogo(_ref, isRetina) {\n var _ref$headerDesign = _ref.headerDesign,\n logoMaxHeight = _ref$headerDesign.logoMaxHeight,\n logoMargin = _ref$headerDesign.logoMargin,\n logoFitDim = _ref$headerDesign.logoFitDim,\n logoRetinaFitDim = _ref$headerDesign.logoRetinaFitDim,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useFitDim = isRetina ? logoRetinaFitDim : logoFitDim;\n var dimStyle = useFitDim ? {\n width: useFitDim[0],\n height: useFitDim[1]\n } : {\n width: \"auto\",\n height: scaleMobile(mobile, pageRequestUuid4, +logoMaxHeight)\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-logo\",\n style: _objectSpread(_objectSpread({}, dimStyle), {}, {\n margin: scaleMobile(mobile, pageRequestUuid4, logoMargin).map(function (m) {\n return \"\".concat(m, \"px\");\n }).join(\" \") //[logoPosition === \"left\" ? \"marginRight\" : \"marginLeft\"]: logoPosition === \"above\" ? undefined : 15,\n //marginBottom: logoPosition === \"above\" ? 5 : undefined\n\n })\n };\n}\n\nexport { bannerHeaderInlineStyleLogo };","import { useBanner, bannerGroupsInlineStyleTitle, bannerGroupsInlineStyleDescription } from \"../../..\";\n\nvar BannerGroupSectionTitle = function BannerGroupSectionTitle(_ref) {\n var title = _ref.title,\n children = _ref.children;\n var banner = useBanner();\n return h(\"div\", bannerGroupsInlineStyleTitle(banner), title, children && h(\"div\", bannerGroupsInlineStyleDescription(banner), children));\n};\n\nexport { BannerGroupSectionTitle };","import { scaleMobile } from \"../..\";\n\nfunction bannerGroupsInlineStyleTitle(_ref) {\n var _ref$group = _ref.group,\n headlineFontSize = _ref$group.headlineFontSize,\n headlineFontColor = _ref$group.headlineFontColor,\n headlineFontWeight = _ref$group.headlineFontWeight,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group\",\n style: {\n color: headlineFontColor,\n fontSize: scaleMobile(mobile, pageRequestUuid4, headlineFontSize),\n fontWeight: headlineFontWeight,\n textAlign: \"left\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyleTitle };","import { scaleMobile } from \"../..\";\n\nfunction bannerGroupsInlineStyleDescription(_ref) {\n var fontWeight = _ref.design.fontWeight,\n _ref$group = _ref.group,\n descriptionFontColor = _ref$group.descriptionFontColor,\n descriptionFontSize = _ref$group.descriptionFontSize,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group-description\",\n style: {\n color: descriptionFontColor,\n fontSize: scaleMobile(mobile, pageRequestUuid4, +descriptionFontSize),\n fontWeight: fontWeight,\n marginTop: 5\n }\n };\n}\n\nexport { bannerGroupsInlineStyleDescription };","import { useCallback } from \"react\";\nimport { useBanner, Cookie } from \"../../..\";\n\nvar BannerCookie = function BannerCookie(_ref) {\n var _consent$groups;\n\n var group = _ref.group,\n cookie = _ref.cookie;\n var id = cookie.id;\n var banner = useBanner();\n var consent = banner.consent,\n activeAction = banner.activeAction,\n essentialGroup = banner.essentialGroup;\n var isEssentialGroup = essentialGroup === group.slug;\n var isDisabled = isEssentialGroup || activeAction === \"history\";\n var isChecked = isEssentialGroup || (((_consent$groups = consent.groups) === null || _consent$groups === void 0 ? void 0 : _consent$groups[group.id]) || []).some(function (c) {\n return c === id;\n });\n var handleCheckbox = useCallback(function () {\n return !isDisabled && banner.updateCookieChecked(group.id, id, !isChecked);\n }, [isDisabled, banner, group, id, isChecked]);\n return h(Cookie, {\n cookie: cookie,\n propertyListProps: {\n isEssentialGroup: isEssentialGroup\n },\n checked: isChecked,\n disabled: isDisabled,\n onToggleCheck: handleCheckbox\n });\n};\n\nexport { BannerCookie };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useLayoutEffect, Fragment, useCallback } from \"react\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { CheckOutlined, MinusOutlined } from \"@ant-design/icons-svg\";\nimport { useBanner, bannerGroupsInlineStyleGroup, commonInlineStyleGroupsCheckbox, commonGroupsInlineStyleLinkMore, PlainAntdIconAsSvg, BannerGroupSectionTitle, BannerCookie } from \"../../..\";\n\nvar BannerGroup = function BannerGroup(_ref) {\n var _consent$groups$id;\n\n var group = _ref.group;\n var banner = useBanner();\n var id = group.id,\n slug = group.slug,\n name = group.name,\n description = group.description,\n items = group.items;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRendered = _useState2[0],\n setIsRendered = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isHover = _useState4[0],\n setIsHover = _useState4[1];\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n isOpen = _useState6[0],\n setIsOpen = _useState6[1];\n\n var previewCheckboxActiveState = banner.previewCheckboxActiveState,\n _banner$individualTex = banner.individualTexts,\n showMore = _banner$individualTex.showMore,\n hideMore = _banner$individualTex.hideMore,\n consent = banner.consent,\n activeAction = banner.activeAction,\n essentialGroup = banner.essentialGroup;\n useLayoutEffect(function () {\n setIsRendered(true);\n }, []);\n var isEssentialGroup = essentialGroup === slug;\n var isDisabled = isEssentialGroup || activeAction === \"history\";\n var isChecked = previewCheckboxActiveState || isEssentialGroup || !!consent.groups[id];\n var isPartial = !isEssentialGroup && JSON.stringify(items.map(function (_ref2) {\n var id = _ref2.id;\n return id;\n }).sort()) !== JSON.stringify(((_consent$groups$id = consent.groups[id]) === null || _consent$groups$id === void 0 ? void 0 : _consent$groups$id.sort()) || []);\n var CheckboxIcon = isPartial ? MinusOutlined : CheckOutlined;\n var handleCheckbox = useCallback(function () {\n return !isDisabled && banner.updateGroupChecked(id, !isChecked);\n }, [isDisabled, banner, id, isChecked]);\n return h(\"div\", bannerGroupsInlineStyleGroup(banner), h(BannerGroupSectionTitle, {\n title: h(Fragment, null, h(PlainAntdIconAsSvg, _extends({\n icon: CheckboxIcon,\n onClick: handleCheckbox\n }, commonInlineStyleGroupsCheckbox(banner, isRendered, isChecked, isDisabled))), h(\"span\", {\n style: {\n verticalAlign: \"middle\",\n cursor: \"pointer\"\n },\n onClick: handleCheckbox\n }, name, \" (\", items.length, \")\"))\n }, description, !!items && h(Fragment, null, \"\\xA0\\xA0\\u2022\\xA0\\xA0\", h(\"a\", _extends({\n href: \"#\"\n }, commonGroupsInlineStyleLinkMore(banner, isHover), {\n onClick: function onClick(e) {\n setIsOpen(!isOpen);\n e.preventDefault();\n },\n onMouseEnter: function onMouseEnter() {\n return setIsHover(true);\n },\n onMouseLeave: function onMouseLeave() {\n return setIsHover(false);\n }\n }), isOpen ? hideMore : showMore), isOpen && items.map(function (cookie) {\n return h(BannerCookie, {\n key: cookie.id,\n group: group,\n cookie: cookie\n });\n }))));\n};\n\nexport { BannerGroup };","import { scaleMobile } from \"../..\";\n\nfunction bannerGroupsInlineStyleGroup(_ref) {\n var _ref$group = _ref.group,\n groupBg = _ref$group.groupBg,\n groupBorderRadius = _ref$group.groupBorderRadius,\n groupBorderColor = _ref$group.groupBorderColor,\n groupPadding = _ref$group.groupPadding,\n groupBorderWidth = _ref$group.groupBorderWidth,\n groupInheritBg = _ref$group.groupInheritBg,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useGroupBorderWidth = scaleMobile(mobile, pageRequestUuid4, groupBorderWidth);\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group\",\n style: {\n background: groupInheritBg ? undefined : groupBg,\n border: useGroupBorderWidth > 0 ? \"\".concat(useGroupBorderWidth, \"px solid \").concat(groupBorderColor) : undefined,\n padding: scaleMobile(mobile, pageRequestUuid4, groupPadding).map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n borderRadius: +groupBorderRadius,\n textAlign: \"left\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyleGroup };","import { scaleMobile, useBanner, bannerGroupsInlineStyle, BannerGroup } from \"../../..\";\nimport { Fragment } from \"react\";\n\nvar BannerGroupList = function BannerGroupList() {\n var banner = useBanner();\n var groups = banner.groups,\n groupSpacing = banner.group.groupSpacing,\n mobile = banner.mobile,\n pageRequestUuid4 = banner.pageRequestUuid4;\n var useGroups = groups.filter(function (_ref) {\n var items = _ref.items;\n return items.length;\n });\n return h(\"div\", bannerGroupsInlineStyle(banner), useGroups.map(function (group, index) {\n return h(Fragment, {\n key: group.id\n }, h(BannerGroup, {\n key: group.id,\n group: group\n }), index !== useGroups.length - 1 && h(\"div\", {\n style: {\n height: scaleMobile(mobile, pageRequestUuid4, +groupSpacing)\n }\n }));\n }));\n};\n\nexport { BannerGroupList };","function bannerGroupsInlineStyle(_ref) {\n var antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-groups\",\n style: {\n marginTop: 10,\n clear: \"both\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyle };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useLayoutEffect, Fragment, useCallback } from \"react\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { CheckOutlined } from \"@ant-design/icons-svg\";\nimport { useBanner } from \"../../../contexts\";\nimport { bannerInlineStyleBodyDottedGroupItem, commonInlineStyleGroupsCheckbox, bannerInlineStyleBodyDottedGroupBullet } from \"../../../inlineStyles\";\nimport { PlainAntdIconAsSvg } from \"../..\";\n\nvar BannerDottedGroup = function BannerDottedGroup(_ref) {\n var _ref$group = _ref.group,\n id = _ref$group.id,\n slug = _ref$group.slug,\n name = _ref$group.name;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRendered = _useState2[0],\n setIsRendered = _useState2[1];\n\n var banner = useBanner();\n var groupsFirstView = banner.decision.groupsFirstView,\n fontSize = banner.design.fontSize,\n consent = banner.consent,\n essentialGroup = banner.essentialGroup;\n var isPro = process.env.PLUGIN_CTX === \"pro\";\n useLayoutEffect(function () {\n setIsRendered(true);\n }, []);\n var isEssentialGroup = essentialGroup === slug;\n var isChecked = isEssentialGroup || !!consent.groups[id];\n var handleCheckbox = useCallback(function () {\n return isPro && groupsFirstView && !isEssentialGroup && banner.updateGroupChecked(id, !isChecked);\n }, [isPro, isEssentialGroup, banner, id, isChecked, groupsFirstView]);\n return h(\"span\", _extends({\n key: name\n }, bannerInlineStyleBodyDottedGroupItem(banner)), h(\"span\", null, isPro && groupsFirstView ? h(PlainAntdIconAsSvg, _extends({\n icon: CheckOutlined,\n onClick: handleCheckbox\n }, commonInlineStyleGroupsCheckbox(banner, isRendered, isChecked, isEssentialGroup, fontSize))) : h(Fragment, null, h(\"strong\", bannerInlineStyleBodyDottedGroupBullet(banner), \"\\u25CF\"), \"\\xA0\"), h(\"span\", {\n style: {\n verticalAlign: \"middle\",\n cursor: groupsFirstView ? \"pointer\" : undefined\n },\n onClick: handleCheckbox\n }, name)));\n};\n\nexport { BannerDottedGroup };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBodyDottedGroupItem(_ref) {\n var fontSize = _ref.design.fontSize,\n _ref$bodyDesign = _ref.bodyDesign,\n dottedGroupsInheritFontSize = _ref$bodyDesign.dottedGroupsInheritFontSize,\n dottedGroupsFontSize = _ref$bodyDesign.dottedGroupsFontSize,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: undefined,\n style: {\n paddingRight: 10,\n fontSize: scaleMobile(mobile, pageRequestUuid4, dottedGroupsInheritFontSize ? +fontSize : +dottedGroupsFontSize),\n whiteSpace: \"nowrap\",\n display: \"inline-block\"\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroupItem };","function bannerInlineStyleBodyDottedGroupBullet(_ref) {\n var dottedGroupsBulletColor = _ref.bodyDesign.dottedGroupsBulletColor;\n return {\n className: undefined,\n style: {\n color: dottedGroupsBulletColor\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroupBullet };","import { BannerDottedGroup } from \".\";\nimport { useBanner, bannerInlineStyleBodyDottedGroups } from \"../../..\";\n\nvar BannerDottedGroupList = function BannerDottedGroupList() {\n var banner = useBanner();\n var groups = banner.groups,\n showGroups = banner.decision.showGroups;\n return showGroups ? h(\"div\", bannerInlineStyleBodyDottedGroups(banner), groups.filter(function (_ref) {\n var items = _ref.items;\n return !!items.length;\n }).map(function (group) {\n return h(BannerDottedGroup, {\n key: group.id,\n group: group\n });\n })) : null;\n};\n\nexport { BannerDottedGroupList };","function bannerInlineStyleBodyDottedGroups(_ref) {\n var antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-dotted-groups\",\n style: {\n marginTop: 10,\n lineBreak: \"anywhere\",\n lineHeight: 2\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroups };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useBanner, bannerInlineStyleHistorySelect, bannerInlineStyleHistorySelectOption } from \"../../..\";\nimport { useMemo } from \"react\";\nimport { Fragment, useState, useEffect } from \"react\";\nvar SELECT_NONE = -1;\n\nvar BannerHistorySelect = function BannerHistorySelect() {\n var banner = useBanner();\n\n var _useState = useState(SELECT_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n selectedId = _useState2[0],\n setSelectedId = _useState2[1];\n\n var activeAction = banner.activeAction,\n history = banner.history,\n selectHistoryEntry = banner.selectHistoryEntry,\n _banner$i18n = banner.i18n,\n historyLabel = _banner$i18n.historyLabel,\n historySelectNone = _banner$i18n.historySelectNone;\n var selectedHistoryItem = useMemo(function () {\n var _history$filter;\n\n return history === null || history === void 0 ? void 0 : (_history$filter = history.filter(function (_ref) {\n var id = _ref.id;\n return id === selectedId;\n })) === null || _history$filter === void 0 ? void 0 : _history$filter[0];\n }, [selectedId]); // Reset select after exit history dialog\n\n useEffect(function () {\n if (!activeAction) {\n setSelectedId(SELECT_NONE);\n } else if (activeAction === \"history\" && history !== null && history !== void 0 && history.length) {\n setSelectedId(history[0].id);\n }\n }, [activeAction, history]); // History can only contain my data, so we can pick the first entry for the history\n\n var uuid = selectedHistoryItem === null || selectedHistoryItem === void 0 ? void 0 : selectedHistoryItem.uuid;\n var optionStyle = bannerInlineStyleHistorySelectOption(banner);\n return h(Fragment, null, historyLabel, \"\\xA0\", h(\"select\", _extends({}, bannerInlineStyleHistorySelect(banner), {\n disabled: !(history !== null && history !== void 0 && history.length),\n value: selectedId,\n onChange: function onChange(e) {\n var value = +e.target.value;\n history.forEach(function (_ref2) {\n var id = _ref2.id,\n decision = _ref2.decision,\n groups = _ref2.groups,\n tcf = _ref2.tcf;\n\n if (id === value) {\n setSelectedId(id);\n selectHistoryEntry(groups, decision, tcf);\n }\n });\n }\n }), (history === null || history === void 0 ? void 0 : history.length) > 0 ? history.map(function (_ref3) {\n var id = _ref3.id,\n isDoNotTrack = _ref3.isDoNotTrack,\n isUnblock = _ref3.isUnblock,\n isForwarded = _ref3.isForwarded,\n created = _ref3.created;\n return h(\"option\", _extends({\n key: id,\n value: id\n }, optionStyle), new Date(created).toLocaleString(document.documentElement.lang), isDoNotTrack ? \" (Do Not Track)\" : \"\", isUnblock ? \" (Content Blocker)\" : \"\", isForwarded ? \" (Consent Forwarding)\" : \"\");\n }) : h(\"option\", _extends({\n value: SELECT_NONE\n }, optionStyle), historySelectNone)), !!uuid && h(\"div\", {\n style: {\n opacity: 0.5,\n marginTop: 5\n }\n }, \"UUID: \", uuid));\n};\n\nexport { BannerHistorySelect };","import { calculateRgba } from \"../../../utils\";\nimport { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleHistorySelect(_ref) {\n var _ref$design = _ref.design,\n fontSize = _ref$design.fontSize,\n fontColor = _ref$design.fontColor,\n _ref$bodyDesign = _ref.bodyDesign,\n descriptionInheritFontSize = _ref$bodyDesign.descriptionInheritFontSize,\n descriptionFontSize = _ref$bodyDesign.descriptionFontSize,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-history-select\",\n style: {\n fontSize: scaleMobile(mobile, pageRequestUuid4, descriptionInheritFontSize ? +fontSize : +descriptionFontSize),\n background: \"transparent\",\n border: 0,\n color: fontColor,\n borderBottom: \"1px solid \".concat(calculateRgba(fontColor, 50))\n }\n };\n}\n\nexport { bannerInlineStyleHistorySelect };","function bannerInlineStyleHistorySelectOption(_ref) {\n var bg = _ref.design.bg;\n return {\n className: undefined,\n style: {\n background: bg\n }\n };\n}\n\nexport { bannerInlineStyleHistorySelectOption };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerButtonsInlineStyleCommon(_ref, mobile, isHover, framed, isTwoButtonRowLayout) {\n var name = _ref.name,\n order = _ref.order,\n type = _ref.type,\n borderRadius = _ref.borderRadius,\n bg = _ref.bg,\n hoverBg = _ref.hoverBg,\n fontSize = _ref.fontSize,\n textAlign = _ref.textAlign,\n fontColor = _ref.fontColor,\n fontWeight = _ref.fontWeight,\n hoverFontColor = _ref.hoverFontColor,\n borderWidth = _ref.borderWidth,\n borderColor = _ref.borderColor,\n hoverBorderColor = _ref.hoverBorderColor,\n padding = _ref.padding,\n antiAdBlocker = _ref.antiAdBlocker,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var fullWidth = !isTwoButtonRowLayout || order > 1;\n var marginLeft = isTwoButtonRowLayout && order === 1 ? 5 : 0;\n var marginRight = isTwoButtonRowLayout && order === 0 ? 5 : 0;\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, +borderWidth);\n var style = {\n textDecoration: type === \"link\" ? \"underline\" : \"none\",\n borderRadius: +borderRadius,\n cursor: type === \"button\" ? \"pointer\" : undefined,\n backgroundColor: type === \"button\" ? isHover ? hoverBg : bg : undefined,\n fontSize: scaleMobile(mobile, pageRequestUuid4, +fontSize),\n fontWeight: fontWeight,\n color: isHover ? hoverFontColor : fontColor,\n transition: \"background-color 250ms, color 250ms, border-color 250ms\",\n margin: \"0 \".concat(marginRight, \"px \").concat(scaleMobile(mobile, pageRequestUuid4, 10, undefined, true), \"px \").concat(marginLeft, \"px\"),\n border: type === \"button\" && useBorderWidth > 0 ? \"\".concat(useBorderWidth, \"px solid \").concat(isHover ? hoverBorderColor : borderColor) : undefined,\n padding: scaleMobile(mobile, pageRequestUuid4, padding, undefined, type !== \"button\").map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n overflow: \"hidden\",\n outline: framed ? \"rgb(255, 94, 94) solid 5px\" : undefined,\n flex: fullWidth ? \"1 1 100%\" : \"0 0 calc(50% - \".concat(marginLeft + marginRight, \"px)\"),\n display: \"flex\",\n alignItems: \"center\",\n // text-align is not supported within a `display: flex`\n justifyContent: textAlign === \"right\" ? \"flex-end\" : textAlign === \"center\" ? \"center\" : \"left\",\n order: order\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-btn-\".concat(name),\n style: style\n };\n}\n\nexport { bannerButtonsInlineStyleCommon };","import { bannerButtonsInlineStyleCommon } from \".\";\n\nfunction bannerButtonsInlineStyleAcceptEssentials(_ref, isHover, framed, order, isTwoButtonRowLayout) {\n var isTcf = _ref.isTcf,\n acceptEssentials = _ref.decision.acceptEssentials,\n borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptEssentialsFontSize = _ref$bodyDesign.acceptEssentialsFontSize,\n acceptEssentialsBg = _ref$bodyDesign.acceptEssentialsBg,\n acceptEssentialsTextAlign = _ref$bodyDesign.acceptEssentialsTextAlign,\n acceptEssentialsBorderColor = _ref$bodyDesign.acceptEssentialsBorderColor,\n acceptEssentialsPadding = _ref$bodyDesign.acceptEssentialsPadding,\n acceptEssentialsBorderWidth = _ref$bodyDesign.acceptEssentialsBorderWidth,\n acceptEssentialsFontColor = _ref$bodyDesign.acceptEssentialsFontColor,\n acceptEssentialsFontWeight = _ref$bodyDesign.acceptEssentialsFontWeight,\n acceptEssentialsHoverBg = _ref$bodyDesign.acceptEssentialsHoverBg,\n acceptEssentialsHoverFontColor = _ref$bodyDesign.acceptEssentialsHoverFontColor,\n acceptEssentialsHoverBorderColor = _ref$bodyDesign.acceptEssentialsHoverBorderColor,\n acceptAllFontWeight = _ref$bodyDesign.acceptAllFontWeight,\n acceptAllFontSize = _ref$bodyDesign.acceptAllFontSize,\n acceptAllPadding = _ref$bodyDesign.acceptAllPadding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-essentials\",\n order: order,\n type: acceptEssentials,\n borderRadius: borderRadius,\n bg: acceptEssentialsBg,\n hoverBg: acceptEssentialsHoverBg,\n fontSize: isTwoButtonRowLayout || isTcf ? acceptAllFontSize : acceptEssentialsFontSize,\n textAlign: acceptEssentialsTextAlign,\n fontColor: acceptEssentialsFontColor,\n fontWeight: isTcf ? acceptAllFontWeight : acceptEssentialsFontWeight,\n hoverFontColor: acceptEssentialsHoverFontColor,\n borderWidth: acceptEssentialsBorderWidth,\n borderColor: acceptEssentialsBorderColor,\n hoverBorderColor: acceptEssentialsHoverBorderColor,\n padding: isTwoButtonRowLayout ? acceptAllPadding : acceptEssentialsPadding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleAcceptEssentials };","import { bannerButtonsInlineStyleCommon } from \".\";\n\nfunction bannerButtonsInlineStyleAcceptIndividual(_ref, isHover, framed, order, isTwoButtonRowLayout) {\n var acceptIndividual = _ref.decision.acceptIndividual,\n borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptIndividualFontSize = _ref$bodyDesign.acceptIndividualFontSize,\n acceptIndividualBg = _ref$bodyDesign.acceptIndividualBg,\n acceptIndividualTextAlign = _ref$bodyDesign.acceptIndividualTextAlign,\n acceptIndividualBorderColor = _ref$bodyDesign.acceptIndividualBorderColor,\n acceptIndividualPadding = _ref$bodyDesign.acceptIndividualPadding,\n acceptIndividualBorderWidth = _ref$bodyDesign.acceptIndividualBorderWidth,\n acceptIndividualFontColor = _ref$bodyDesign.acceptIndividualFontColor,\n acceptIndividualFontWeight = _ref$bodyDesign.acceptIndividualFontWeight,\n acceptIndividualHoverBg = _ref$bodyDesign.acceptIndividualHoverBg,\n acceptIndividualHoverFontColor = _ref$bodyDesign.acceptIndividualHoverFontColor,\n acceptIndividualHoverBorderColor = _ref$bodyDesign.acceptIndividualHoverBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-individual\",\n order: order,\n type: acceptIndividual,\n borderRadius: borderRadius,\n bg: acceptIndividualBg,\n hoverBg: acceptIndividualHoverBg,\n fontSize: acceptIndividualFontSize,\n textAlign: acceptIndividualTextAlign,\n fontColor: acceptIndividualFontColor,\n fontWeight: acceptIndividualFontWeight,\n hoverFontColor: acceptIndividualHoverFontColor,\n borderWidth: acceptIndividualBorderWidth,\n borderColor: acceptIndividualBorderColor,\n hoverBorderColor: acceptIndividualHoverBorderColor,\n padding: acceptIndividualPadding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleAcceptIndividual };","import { bannerButtonsInlineStyleCommon } from \"./\";\n\nfunction bannerButtonsInlineStyleSave(_ref, isHover, framed, order, isTwoButtonRowLayout) {\n var isTcf = _ref.isTcf,\n borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptAllFontWeight = _ref$bodyDesign.acceptAllFontWeight,\n acceptAllFontSize = _ref$bodyDesign.acceptAllFontSize,\n _ref$saveButton = _ref.saveButton,\n type = _ref$saveButton.type,\n fontSize = _ref$saveButton.fontSize,\n bg = _ref$saveButton.bg,\n textAlign = _ref$saveButton.textAlign,\n borderColor = _ref$saveButton.borderColor,\n padding = _ref$saveButton.padding,\n borderWidth = _ref$saveButton.borderWidth,\n fontColor = _ref$saveButton.fontColor,\n fontWeight = _ref$saveButton.fontWeight,\n hoverBg = _ref$saveButton.hoverBg,\n hoverFontColor = _ref$saveButton.hoverFontColor,\n hoverBorderColor = _ref$saveButton.hoverBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-individual-save\",\n order: order,\n type: type,\n borderRadius: borderRadius,\n bg: bg,\n hoverBg: hoverBg,\n fontSize: isTcf ? acceptAllFontSize : fontSize,\n textAlign: textAlign,\n fontColor: fontColor,\n fontWeight: isTcf ? acceptAllFontWeight : fontWeight,\n hoverFontColor: hoverFontColor,\n borderWidth: borderWidth,\n borderColor: borderColor,\n hoverBorderColor: hoverBorderColor,\n padding: padding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleSave };","import { bannerButtonsInlineStyleCommon } from \".\";\n\nfunction bannerButtonsInlineStyleAcceptAll(_ref, isHover, framed, order, isTwoButtonRowLayout) {\n var acceptAll = _ref.decision.acceptAll,\n borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptAllFontSize = _ref$bodyDesign.acceptAllFontSize,\n acceptAllBg = _ref$bodyDesign.acceptAllBg,\n acceptAllTextAlign = _ref$bodyDesign.acceptAllTextAlign,\n acceptAllBorderColor = _ref$bodyDesign.acceptAllBorderColor,\n acceptAllPadding = _ref$bodyDesign.acceptAllPadding,\n acceptAllBorderWidth = _ref$bodyDesign.acceptAllBorderWidth,\n acceptAllFontColor = _ref$bodyDesign.acceptAllFontColor,\n acceptAllFontWeight = _ref$bodyDesign.acceptAllFontWeight,\n acceptAllHoverBg = _ref$bodyDesign.acceptAllHoverBg,\n acceptAllHoverFontColor = _ref$bodyDesign.acceptAllHoverFontColor,\n acceptAllHoverBorderColor = _ref$bodyDesign.acceptAllHoverBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-all\",\n order: order,\n type: acceptAll,\n borderRadius: borderRadius,\n bg: acceptAllBg,\n hoverBg: acceptAllHoverBg,\n fontSize: acceptAllFontSize,\n textAlign: acceptAllTextAlign,\n fontColor: acceptAllFontColor,\n fontWeight: acceptAllFontWeight,\n hoverFontColor: acceptAllHoverFontColor,\n borderWidth: acceptAllBorderWidth,\n borderColor: acceptAllBorderColor,\n hoverBorderColor: acceptAllHoverBorderColor,\n padding: acceptAllPadding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleAcceptAll };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useCallback } from \"react\";\nimport { useState, useMemo } from \"react\";\nimport { isIE, AsciiSpinner, useBanner, bannerButtonsInlineStyleAcceptAll, bannerButtonsInlineStyleAcceptEssentials, bannerButtonsInlineStyleAcceptIndividual, bannerButtonsInlineStyleSave } from \"../../../..\";\n\nvar BannerButton = function BannerButton(_ref) {\n var inlineStyle = _ref.inlineStyle,\n type = _ref.type,\n onClick = _ref.onClick,\n children = _ref.children,\n framed = _ref.framed,\n busyOnClick = _ref.busyOnClick,\n order = _ref.order;\n\n if (type === \"hide\") {\n return null;\n }\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isBusy = _useState2[0],\n setIsBusy = _useState2[1];\n\n var handleOnClick = useCallback(function () {\n if (!isBusy) {\n busyOnClick && setIsBusy(true);\n onClick === null || onClick === void 0 ? void 0 : onClick();\n }\n }, [onClick, isBusy, busyOnClick]);\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isHover = _useState4[0],\n setIsHover = _useState4[1];\n\n var banner = useBanner();\n var individualPrivacyOpen = banner.individualPrivacyOpen,\n _banner$decision = banner.decision,\n acceptAll = _banner$decision.acceptAll,\n acceptEssentials = _banner$decision.acceptEssentials,\n _banner$bodyDesign = banner.bodyDesign,\n acceptAllOneRowLayout = _banner$bodyDesign.acceptAllOneRowLayout,\n acceptEssentialsUseAcceptAll = _banner$bodyDesign.acceptEssentialsUseAcceptAll;\n var useAcceptEssentials = acceptEssentialsUseAcceptAll ? acceptAll : acceptEssentials;\n var interactionAttr = {\n onClick: handleOnClick,\n onMouseEnter: function onMouseEnter() {\n return setIsHover(true);\n },\n onMouseLeave: function onMouseLeave() {\n return setIsHover(false);\n }\n };\n var useStyleFn = useMemo(function () {\n switch (inlineStyle) {\n case \"acceptEssentials\":\n return bannerButtonsInlineStyleAcceptEssentials;\n\n case \"acceptIndividual\":\n return bannerButtonsInlineStyleAcceptIndividual;\n\n case \"save\":\n return bannerButtonsInlineStyleSave;\n\n default:\n return bannerButtonsInlineStyleAcceptAll;\n }\n }, [inlineStyle]); // Also create a spacing `height:10` container because `marginBottom` causes issues with `position:sticky`\n\n return h(\"div\", _extends({}, type === \"button\" ? interactionAttr : {}, useStyleFn(banner, isHover, framed, order, // IE does not support flex with calc()\n isIE() || acceptAll === \"hide\" || useAcceptEssentials === \"hide\" || individualPrivacyOpen || order > 1 ? false : acceptAllOneRowLayout)), h(\"span\", type === \"link\" ? interactionAttr : {}, isBusy ? h(AsciiSpinner, null) : children));\n};\n\nexport { BannerButton };","function isIE() {\n return /MSIE (\\d+\\.\\d+);/.test(navigator.userAgent) || navigator.userAgent.indexOf(\"Trident/\") > -1;\n}\n\nexport { isIE };","import { Fragment, useMemo } from \"react\";\nimport { useBanner, useBannerButtonCallbacks, BannerButton } from \"../../..\";\n\nvar BannerButtonList = function BannerButtonList() {\n var banner = useBanner();\n var activeAction = banner.activeAction,\n _banner$bodyDesign = banner.bodyDesign,\n acceptEssentialsUseAcceptAll = _banner$bodyDesign.acceptEssentialsUseAcceptAll,\n acceptAllOneRowLayout = _banner$bodyDesign.acceptAllOneRowLayout,\n _banner$decision = banner.decision,\n showGroups = _banner$decision.showGroups,\n groupsFirstView = _banner$decision.groupsFirstView,\n saveButton = _banner$decision.saveButton,\n acceptAll = _banner$decision.acceptAll,\n acceptEssentials = _banner$decision.acceptEssentials,\n acceptIndividual = _banner$decision.acceptIndividual,\n buttonOrderString = _banner$decision.buttonOrder,\n _banner$texts = banner.texts,\n acceptAllText = _banner$texts.acceptAll,\n acceptEssentialsText = _banner$texts.acceptEssentials,\n acceptIndividualText = _banner$texts.acceptIndividual,\n _banner$saveButton = banner.saveButton,\n saveButtonType = _banner$saveButton.type,\n saveButtonUseAcceptAll = _banner$saveButton.useAcceptAll,\n save = banner.individualTexts.save,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n didGroupFirstChange = banner.didGroupFirstChange,\n productionNotice = banner.productionNotice,\n _banner$buttonClicked = banner.buttonClicked,\n buttonClicked = _banner$buttonClicked === void 0 ? \"\" : _banner$buttonClicked; // Calculate order of the buttons depending on a string like `all,essential,save,individual`\n\n var _useMemo = useMemo(function () {\n var buttonOrder = buttonOrderString.split(\",\");\n var buttonToOrder = buttonOrder.reduce(function (previous, curr) {\n previous[curr] = buttonOrder.indexOf(curr);\n return previous;\n }, {});\n var orderToButton = buttonOrder.reduce(function (previous, curr) {\n previous[buttonOrder.indexOf(curr)] = curr;\n return previous;\n }, {}); // If one-row layout is enabled, reverse the first two orders so the first button gets moved to the right\n\n // If one-row layout is enabled, reverse the first two orders so the first button gets moved to the right\n if (acceptAllOneRowLayout) {\n buttonToOrder[orderToButton[0]] = 1;\n buttonToOrder[orderToButton[1]] = 0;\n }\n\n return buttonToOrder;\n }, [buttonOrderString, acceptAllOneRowLayout]),\n buttonOrderAll = _useMemo.all,\n buttonOrderEssential = _useMemo.essential,\n buttonOrderIndividual = _useMemo.individual,\n buttonOrderSave = _useMemo.save;\n\n var isPro = process.env.PLUGIN_CTX === \"pro\";\n\n var _useBannerButtonCallb = useBannerButtonCallbacks(),\n buttonClickedAll = _useBannerButtonCallb.buttonClickedAll,\n buttonClickedEssentials = _useBannerButtonCallb.buttonClickedEssentials,\n buttonClickedCustom = _useBannerButtonCallb.buttonClickedCustom,\n handleAll = _useBannerButtonCallb.acceptAll,\n handleEssentials = _useBannerButtonCallb.acceptEssentials,\n handleIndividual = _useBannerButtonCallb.acceptIndividual,\n openIndividualPrivacy = _useBannerButtonCallb.openIndividualPrivacy; // We expect a reload of the page for the \"change\" action (keeps also dialog open)\n\n\n var busyOnClick = activeAction === \"change\";\n var groupsFirstViewEnabled = showGroups && groupsFirstView;\n return h(Fragment, null, !individualPrivacyOpen && isPro && groupsFirstViewEnabled && saveButton === \"afterChangeAll\" && didGroupFirstChange ? h(BannerButton, {\n onClick: handleIndividual,\n type: acceptAll,\n inlineStyle: \"acceptAll\",\n framed: buttonClicked === buttonClickedCustom,\n busyOnClick: busyOnClick,\n order: buttonOrderAll\n }, save) : h(BannerButton, {\n onClick: handleAll,\n type: acceptAll,\n inlineStyle: \"acceptAll\",\n framed: buttonClicked === buttonClickedAll,\n busyOnClick: busyOnClick,\n order: buttonOrderAll\n }, acceptAllText), activeAction !== \"change\" && h(BannerButton, {\n onClick: handleEssentials,\n type: acceptEssentialsUseAcceptAll ? acceptAll : acceptEssentials,\n inlineStyle: acceptEssentialsUseAcceptAll ? \"acceptAll\" : \"acceptEssentials\",\n framed: buttonClicked === buttonClickedEssentials,\n busyOnClick: busyOnClick,\n order: buttonOrderEssential\n }, acceptEssentialsText), (individualPrivacyOpen || isPro && groupsFirstViewEnabled && (saveButton === \"always\" || saveButton === \"afterChange\" && didGroupFirstChange)) && h(BannerButton, {\n onClick: handleIndividual,\n type: saveButtonUseAcceptAll ? acceptAll : saveButtonType,\n inlineStyle: saveButtonUseAcceptAll ? \"acceptAll\" : \"save\",\n framed: buttonClicked === buttonClickedCustom,\n busyOnClick: busyOnClick,\n order: buttonOrderSave\n }, save), !individualPrivacyOpen && h(BannerButton, {\n type: acceptIndividual,\n onClick: openIndividualPrivacy,\n inlineStyle: \"acceptIndividual\",\n framed: buttonClicked.startsWith(\"ind_\"),\n busyOnClick: busyOnClick,\n order: buttonOrderIndividual\n }, acceptIndividualText), productionNotice);\n};\n\nexport { BannerButtonList };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useBanner, BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER, usePlainCss, scaleMobile, bannerInlineStylesRightSide, bannerInlineStylesLeftSide, bannerInlineStyleBody, bannerInlineStyleBodyContainer, bannerInlineStyleBodyDescription, commonInlineStyleBodyTeaching, commonInlineStyleBodyTeachingsSeparator, BannerDottedGroupList, BannerTcfStackList, BannerGroupList, BannerTcfGroupList, BannerButtonList, BannerHistorySelect, useCommonTeachings } from \"../../..\";\nimport { useMemo, Fragment } from \"react\";\n\nvar BannerBody = function BannerBody(_ref) {\n var _document$getElementB;\n\n var leftSideContainerRef = _ref.leftSideContainerRef,\n rightSideContainerRef = _ref.rightSideContainerRef;\n var banner = useBanner();\n var type = banner.layout.type,\n mobile = banner.mobile,\n teachingsSeparatorActive = banner.bodyDesign.teachingsSeparatorActive,\n tcf = banner.tcf,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n activeAction = banner.activeAction,\n pageRequestUuid4 = banner.pageRequestUuid4;\n\n var _useCommonTeachings = useCommonTeachings(),\n description = _useCommonTeachings.description,\n teachings = _useCommonTeachings.teachings; // Make the content responsive\n\n\n var leftSideId = \"bnnr-body-leftSide-\".concat(pageRequestUuid4);\n var rightSideId = \"bnnr-body-rightSide-\".concat(pageRequestUuid4);\n var contentId = \"cntnt-\".concat(pageRequestUuid4);\n usePlainCss(\" #\".concat(leftSideId, \" img {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n\").concat(((_document$getElementB = document.getElementById(pageRequestUuid4)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.clientWidth) > BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER ? \"\" : \"#\".concat(leftSideId, \" {\\n float: initial !important;\\n width: auto !important;\\n padding-right: initial !important;\\n \").concat(scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" && !individualPrivacyOpen ? \"padding-bottom: 10px !important;\" : individualPrivacyOpen ? \"padding-top: 10px !important;\" : \"\", \"\\n }\\n\\n #\").concat(contentId, \" {\\n min-height: calc(var(--rendered-height-header) + var(--rendered-height-footer) + var(--rendered-height-rightSideContainer) + 60px);\\n }\\n \\n #\").concat(rightSideId, \" {\\n float: initial !important;\\n width: auto !important;\\n max-width: initial !important;\\n margin: initial !important;\\n \").concat(individualPrivacyOpen ? \"padding-bottom: 5px !important;\" : \"padding-top: 10px !important;\", \"\\n position: sticky;\\n }\"))); // Calculate the body content depending on TCF availability and if second view got opened\n\n var stackOrGroups = useMemo(function () {\n if (process.env.IS_TCF === \"1\" && tcf) {\n return individualPrivacyOpen ? h(BannerTcfGroupList, null) : h(BannerTcfStackList, null);\n } else {\n return individualPrivacyOpen ? h(BannerGroupList, null) : h(BannerDottedGroupList, null);\n }\n }, [individualPrivacyOpen, tcf]);\n var leftSide = h(\"div\", _extends({\n ref: leftSideContainerRef,\n key: \"leftSide\",\n id: leftSideId\n }, bannerInlineStylesLeftSide(banner)), h(\"div\", bannerInlineStyleBodyDescription(banner), activeAction === \"history\" ? h(BannerHistorySelect, null) : h(Fragment, null, h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: description\n }\n }), teachings.length > 0 && h(Fragment, null, teachingsSeparatorActive && h(\"div\", null, h(\"span\", commonInlineStyleBodyTeachingsSeparator(banner))), teachings.map(function (teaching) {\n return h(\"span\", _extends({\n key: teaching\n }, commonInlineStyleBodyTeaching(banner), {\n dangerouslySetInnerHTML: {\n __html: teaching\n }\n }));\n })))), stackOrGroups);\n var rightSide = activeAction === \"history\" ? h(\"div\", {\n ref: rightSideContainerRef\n }) : h(\"div\", _extends({\n ref: rightSideContainerRef,\n key: \"rightSide\",\n id: rightSideId\n }, bannerInlineStylesRightSide(banner)), h(BannerButtonList, null));\n return h(\"div\", bannerInlineStyleBodyContainer(banner), h(\"div\", bannerInlineStyleBody(banner), individualPrivacyOpen ? [rightSide, leftSide] : [leftSide, rightSide], h(\"div\", {\n style: {\n clear: \"both\"\n }\n })));\n};\n\nexport { BannerBody };","import { scaleMobile } from \"../../scale\";\nvar BUTTONS_WIDTH = 300;\n\nfunction bannerInlineStylesLeftSide(_ref) {\n var type = _ref.layout.type,\n padding = _ref.bodyDesign.padding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n activeAction = _ref.activeAction,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n var usePadding = scaleMobile(mobile, pageRequestUuid4, padding);\n var style = {\n float: useType === \"banner\" && activeAction !== \"history\" ? \"left\" : undefined,\n width: useType === \"banner\" && activeAction !== \"history\" ? \"calc(100% - \".concat(BUTTONS_WIDTH, \"px)\") : undefined,\n paddingRight: useType === \"banner\" ? 20 : undefined,\n paddingTop: +usePadding[0],\n paddingBottom: useType === \"banner\" || individualPrivacyOpen ? +usePadding[2] : 0\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-tb-left\",\n style: style\n };\n}\n\nexport { BUTTONS_WIDTH, bannerInlineStylesLeftSide };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBodyDescription(_ref) {\n var fontSize = _ref.design.fontSize,\n _ref$bodyDesign = _ref.bodyDesign,\n descriptionInheritFontSize = _ref$bodyDesign.descriptionInheritFontSize,\n descriptionFontSize = _ref$bodyDesign.descriptionFontSize,\n descriptionTextAlign = _ref.individualLayout.descriptionTextAlign,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-description\",\n style: {\n lineHeight: 1.5,\n fontSize: scaleMobile(mobile, pageRequestUuid4, descriptionInheritFontSize ? +fontSize : +descriptionFontSize),\n textAlign: individualPrivacyOpen ? descriptionTextAlign : undefined\n }\n };\n}\n\nexport { bannerInlineStyleBodyDescription };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { hexToRgb } from \"../../../utils\";\nimport { scaleMobile } from \"../../scale\";\nimport { BUTTONS_WIDTH } from \"./leftSide\";\n\nfunction bannerInlineStylesRightSide(_ref) {\n var _style;\n\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogMaxWidth = _ref$layout.dialogMaxWidth,\n _ref$design = _ref.design,\n borderWidth = _ref$design.borderWidth,\n bg = _ref$design.bg,\n fontColor = _ref$design.fontColor,\n headerDesign = _ref.headerDesign,\n footerDesign = _ref.footerDesign,\n padding = _ref.bodyDesign.padding,\n inheritDialogMaxWidth = _ref.individualLayout.inheritDialogMaxWidth,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n var usePadding = scaleMobile(mobile, pageRequestUuid4, padding, undefined, true);\n\n var _hexToRgb = hexToRgb(fontColor),\n r = _hexToRgb.r,\n g = _hexToRgb.g,\n b = _hexToRgb.b;\n\n var width = useType === \"dialog\" ? +dialogMaxWidth - usePadding[1] - usePadding[3] - useBorderWidth * 2 : BUTTONS_WIDTH;\n var style = (_style = {\n background: bg,\n paddingTop: useType === \"banner\" || individualPrivacyOpen ? +usePadding[0] : 10,\n paddingBottom: !individualPrivacyOpen ? +usePadding[2] : 10,\n float: useType === \"banner\" || individualPrivacyOpen ? \"right\" : undefined,\n maxWidth: width,\n width: width,\n margin: useType === \"dialog\" && individualPrivacyOpen && !inheritDialogMaxWidth ? \"0 0 10px 10px\" : undefined,\n // position: individualPrivacyOpen ? \"sticky\" : undefined, This is done by `body.tsx#usePlainCss`\n position: individualPrivacyOpen ? undefined : \"sticky\"\n }, _defineProperty(_style, individualPrivacyOpen ? \"top\" : \"bottom\", individualPrivacyOpen ? \"calc(var(--rendered-height-header) + \".concat(scaleMobile(mobile, pageRequestUuid4, headerDesign.borderWidth), \"px)\") : \"calc(var(--rendered-height-footer) + \".concat(scaleMobile(mobile, pageRequestUuid4, footerDesign.borderWidth), \"px)\")), _defineProperty(_style, \"zIndex\", 1), _defineProperty(_style, \"display\", \"flex\"), _defineProperty(_style, \"flexWrap\", \"wrap\"), _defineProperty(_style, \"transition\", \"box-shadow ease-in-out .1s\"), _defineProperty(_style, \"--boxShadowShowScroll\", \"0 -15px 15px -15px rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", 0.3)\")), _style);\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-tb-right\",\n style: style\n };\n}\n\nexport { bannerInlineStylesRightSide };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBodyContainer(_ref) {\n var type = _ref.layout.type,\n _ref$design = _ref.design,\n bg = _ref$design.bg,\n borderWidth = _ref$design.borderWidth,\n borderColor = _ref$design.borderColor,\n padding = _ref.bodyDesign.padding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n var style = {\n background: bg,\n // Top / Bottom padding is applied in leftSide and rightSide containers\n padding: scaleMobile(mobile, pageRequestUuid4, padding).map(function (p, i) {\n return \"\".concat([0, 2].indexOf(i) > -1 ? 0 : p, \"px\");\n }).join(\" \"),\n lineHeight: 1.4\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useBorderWidth > 0) {\n style.borderLeft = \"\".concat(useBorderWidth, \"px solid \").concat(borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-body-container\",\n style: style\n };\n}\n\nexport { bannerInlineStyleBodyContainer };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBody(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n bannerMaxWidth = _ref$layout.bannerMaxWidth,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var style = {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\"\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-body\",\n style: style\n };\n}\n\nexport { bannerInlineStyleBody };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { forwardRef, useCallback } from \"react\";\nimport { useBanner, bannerFooterInlineStyle, bannerFooterInlineStyleContainer, FooterLink, useCommonFooterLinks } from \"../../..\"; // eslint-disable-next-line react/display-name\n\nvar BannerFooter = /*#__PURE__*/forwardRef(function (_, ref) {\n var banner = useBanner();\n var isTcf = banner.isTcf,\n type = banner.layout.type,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n updateIndividualPrivacyOpen = banner.updateIndividualPrivacyOpen,\n onClose = banner.onClose,\n tcf = banner.i18n.tcf,\n isConsentRecord = banner.isConsentRecord;\n var handleTcfVendorList = process.env.IS_TCF === \"1\" && isTcf ? useCallback(function (e) {\n updateIndividualPrivacyOpen(true);\n e.preventDefault();\n }, [updateIndividualPrivacyOpen]) : undefined;\n var handleClose = useCallback(function (e) {\n onClose();\n e.preventDefault();\n }, [onClose]);\n\n var _useCommonFooterLinks = useCommonFooterLinks({\n onClose: isConsentRecord ? handleClose : undefined,\n putPoweredByLinkInRow: type === \"banner\" ? 0 : 1,\n row1: [process.env.IS_TCF === \"1\" && isTcf && !individualPrivacyOpen && h(FooterLink, {\n href: \"#\",\n onClick: handleTcfVendorList,\n key: \"vendorList\"\n }, tcf.vendorList)]\n }),\n links = _useCommonFooterLinks.rows,\n renderLinks = _useCommonFooterLinks.render;\n\n return h(\"div\", _extends({\n ref: ref\n }, bannerFooterInlineStyleContainer(banner)), h(\"div\", bannerFooterInlineStyle(banner), renderLinks(links)));\n});\nexport { BannerFooter };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerFooterInlineStyleContainer(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogBorderRadius = _ref$layout.dialogBorderRadius,\n design = _ref.design,\n _ref$footerDesign = _ref.footerDesign,\n inheritBg = _ref$footerDesign.inheritBg,\n bg = _ref$footerDesign.bg,\n inheritTextAlign = _ref$footerDesign.inheritTextAlign,\n textAlign = _ref$footerDesign.textAlign,\n padding = _ref$footerDesign.padding,\n fontSize = _ref$footerDesign.fontSize,\n fontColor = _ref$footerDesign.fontColor,\n fontWeight = _ref$footerDesign.fontWeight,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, design.borderWidth);\n var style = {\n padding: scaleMobile(mobile, pageRequestUuid4, padding, undefined, true).map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n background: inheritBg ? design.bg : bg,\n borderRadius: useType === \"dialog\" ? \"0 0 \".concat(dialogBorderRadius, \"px \").concat(dialogBorderRadius, \"px\") : undefined,\n fontSize: scaleMobile(mobile, pageRequestUuid4, +fontSize),\n fontWeight: fontWeight,\n color: fontColor,\n textAlign: inheritTextAlign ? design.textAlign : textAlign,\n position: \"sticky\",\n bottom: 0,\n zIndex: 1\n };\n\n if (useType === \"dialog\" && useBorderWidth > 0) {\n style.borderBottom = \"\".concat(useBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderLeft = style.borderBottom;\n style.borderRight = style.borderBottom;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-container\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyleContainer };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerFooterInlineStyle(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n bannerMaxWidth = _ref$layout.bannerMaxWidth,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n individualPrivacyOpen = _ref.individualPrivacyOpen;\n var style = {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\",\n lineHeight: 1.8\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyle };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { scaleMobile, useBanner, usePlainCss, useRenderedHeightsAsCssVars, bannerContentInlineStyle, bannerFooterInlineStyleSeparator, bannerHeaderInlineStyleSeparator, BannerHeader, BannerFooter, BannerBody } from \"../../..\";\nimport { Fragment, useState, useRef, useLayoutEffect, useCallback } from \"react\";\n\nvar BannerContent = function BannerContent() {\n var banner = useBanner();\n var _banner$layout = banner.layout,\n type = _banner$layout.type,\n dialogBorderRadius = _banner$layout.dialogBorderRadius,\n _banner$decision = banner.decision,\n acceptAll = _banner$decision.acceptAll,\n acceptEssentials = _banner$decision.acceptEssentials,\n showCloseIcon = _banner$decision.showCloseIcon,\n mobile = banner.mobile,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n bg = banner.design.bg,\n _banner$bodyDesign = banner.bodyDesign,\n teachingsFontColor = _banner$bodyDesign.teachingsFontColor,\n acceptEssentialsUseAcceptAll = _banner$bodyDesign.acceptEssentialsUseAcceptAll,\n activeAction = banner.activeAction,\n pageRequestUuid4 = banner.pageRequestUuid4;\n var rightSideId = \"bnnr-body-rightSide-\".concat(pageRequestUuid4);\n var id = \"cntnt-\".concat(pageRequestUuid4);\n var ref = useRef();\n var currentRef = ref.current;\n var useAcceptEssentials = acceptEssentialsUseAcceptAll ? acceptAll : acceptEssentials;\n var showHeader = true;\n\n if (mobile.hideHeader && !activeAction && !individualPrivacyOpen && (useAcceptEssentials === \"hide\" ? !showCloseIcon : true)) {\n showHeader = scaleMobile(mobile, pageRequestUuid4, showHeader, false);\n } // Enable box shadow effect for the scrolling behavior\n\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showScrollBoxShadow = _useState2[0],\n setShowScrollBoxShadow = _useState2[1];\n\n var updateShowScrollBoxShadow = useCallback(function () {\n if (currentRef) {\n var clientHeight = currentRef.clientHeight,\n scrollHeight = currentRef.scrollHeight,\n scrollTop = currentRef.scrollTop,\n offsetHeight = currentRef.offsetHeight;\n var hasScrollbar = clientHeight < scrollHeight;\n var scrolledToBottom = Math.ceil(scrollTop + offsetHeight) >= scrollHeight;\n var result = hasScrollbar && !scrolledToBottom && !individualPrivacyOpen;\n\n if (showScrollBoxShadow !== result) {\n setShowScrollBoxShadow(result);\n }\n }\n }, [currentRef, individualPrivacyOpen, showScrollBoxShadow]);\n updateShowScrollBoxShadow(); // The function gets called for each resize in `Banner` component\n\n useLayoutEffect(function () {\n if (currentRef) {\n currentRef.addEventListener(\"scroll\", updateShowScrollBoxShadow);\n return function () {\n return currentRef.removeEventListener(\"scroll\", updateShowScrollBoxShadow);\n };\n } // eslint-disable-next-line @typescript-eslint/no-empty-function\n\n\n return function () {};\n }, [currentRef, updateShowScrollBoxShadow]);\n usePlainCss(showScrollBoxShadow ? \"#\".concat(rightSideId, \" {box-shadow:var(--boxShadowShowScroll);}\") : \"\"); // Create custom scrollbar when a border radius is active (https://css-tricks.com/the-current-state-of-styling-scrollbars/)\n\n usePlainCss(navigator.platform === \"Win32\" && type === \"dialog\" && dialogBorderRadius > 0 ? [\"#\".concat(id, \"{overflow:overlay!important;}\"), \"#\".concat(id, \"::-webkit-scrollbar{width:11px;}\"), \"#\".concat(id, \"{scrollbar-width:thin;scrollbar-color:\").concat(teachingsFontColor, \" transparent;}\"), \"#\".concat(id, \"::-webkit-scrollbar-track{background:transparent;}\"), \"#\".concat(id, \"::-webkit-scrollbar-thumb{background-color:\").concat(teachingsFontColor, \";border-radius:\").concat(dialogBorderRadius, \"px;border:3px solid \").concat(bg, \";}\"), \"#\".concat(id, \">div{border-top-right-radius:0!important;border-bottom-right-radius:0!important;}\")].join(\"\\n\") : \"\");\n var headerRef = useRef();\n var footerRef = useRef();\n var rightSideContainerRef = useRef();\n useRenderedHeightsAsCssVars(headerRef.current, \"header\");\n useRenderedHeightsAsCssVars(footerRef.current, \"footer\");\n useRenderedHeightsAsCssVars(rightSideContainerRef.current, \"rightSideContainer\");\n return h(\"div\", _extends({}, bannerContentInlineStyle(banner), {\n ref: ref,\n id: id\n }), showHeader && h(Fragment, null, h(BannerHeader, {\n ref: headerRef\n }), h(\"div\", bannerHeaderInlineStyleSeparator(banner))), h(BannerBody, {\n rightSideContainerRef: rightSideContainerRef\n }), h(\"div\", bannerFooterInlineStyleSeparator(banner)), h(BannerFooter, {\n ref: footerRef\n }));\n};\n\nexport { BannerContent };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerContentInlineStyle(_ref) {\n var _document$getElementB;\n\n var type = _ref.layout.type,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n showCloseIcon = _ref.decision.showCloseIcon,\n activeAction = _ref.activeAction,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var innerHeight = ((_document$getElementB = document.getElementById(pageRequestUuid4)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.clientHeight) || window.innerHeight;\n var mobileMaxHeight = +mobile.maxHeight;\n var useMobileMaxHeight = mobileMaxHeight > innerHeight ? innerHeight : mobileMaxHeight;\n var closeIconDistance = showCloseIcon || activeAction ? 51 : 0;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-content\",\n style: {\n position: \"relative\",\n maxHeight: scaleMobile(mobile, pageRequestUuid4, innerHeight - (type === \"banner\" ? 0 : 20) - closeIconDistance, individualPrivacyOpen ? innerHeight - closeIconDistance : useMobileMaxHeight - closeIconDistance),\n overflow: \"auto\"\n }\n };\n}\n\nexport { bannerContentInlineStyle };","import { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyleSeparator(_ref) {\n var type = _ref.layout.type,\n design = _ref.design,\n _ref$headerDesign = _ref.headerDesign,\n borderWidth = _ref$headerDesign.borderWidth,\n borderColor = _ref$headerDesign.borderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useDesignBorderWidth = scaleMobile(mobile, pageRequestUuid4, design.borderWidth);\n var style = {\n height: scaleMobile(mobile, pageRequestUuid4, +borderWidth),\n background: borderColor,\n position: \"sticky\",\n top: \"var(--rendered-height-header)\",\n zIndex: 9\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useDesignBorderWidth > 0) {\n style.borderLeft = \"\".concat(useDesignBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header-separator\",\n style: style\n };\n}\n\nexport { bannerHeaderInlineStyleSeparator };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerFooterInlineStyleSeparator(_ref) {\n var type = _ref.layout.type,\n design = _ref.design,\n _ref$footerDesign = _ref.footerDesign,\n borderWidth = _ref$footerDesign.borderWidth,\n borderColor = _ref$footerDesign.borderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, design.borderWidth);\n var style = {\n height: scaleMobile(mobile, pageRequestUuid4, +borderWidth),\n background: borderColor,\n position: \"sticky\",\n bottom: \"var(--rendered-height-footer)\"\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useBorderWidth > 0) {\n style.borderLeft = \"\".concat(useBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-separator\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyleSeparator };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { bannerContentInlineStyleInner, useBanner, useBannerAnimation, useResettableAnimation } from \"../../..\";\nimport { AnimatedCss } from \"../..\";\nimport { BannerContent } from \".\";\n\nvar BannerAnimatedContent = function BannerAnimatedContent() {\n var banner = useBanner();\n var _banner$layout = banner.layout,\n animationInDuration = _banner$layout.animationInDuration,\n animationOutDuration = _banner$layout.animationOutDuration,\n animationVisible = banner.animationVisible;\n\n var _useBannerAnimation = useBannerAnimation()(banner.layout),\n useAnimationIn = _useBannerAnimation.useAnimationIn,\n useAnimationOut = _useBannerAnimation.useAnimationOut;\n\n var _useResettableAnimati = useResettableAnimation(useAnimationIn, animationInDuration),\n _useResettableAnimati2 = _slicedToArray(_useResettableAnimati, 2),\n stateAnimationIn = _useResettableAnimati2[0],\n stateAnimationInDuration = _useResettableAnimati2[1];\n\n var _useResettableAnimati3 = useResettableAnimation(useAnimationOut === \"none\" ? \"fadeOut\" : useAnimationOut, useAnimationOut === \"none\" ? 0 : animationOutDuration),\n _useResettableAnimati4 = _slicedToArray(_useResettableAnimati3, 2),\n stateAnimationOut = _useResettableAnimati4[0],\n stateAnimationOutDuration = _useResettableAnimati4[1];\n\n return h(AnimatedCss, _extends({\n animationIn: stateAnimationIn,\n animationInDuration: stateAnimationInDuration,\n animationOut: stateAnimationOut,\n animationOutDuration: stateAnimationOutDuration,\n isVisible: animationVisible\n }, bannerContentInlineStyleInner(banner)), h(BannerContent, null));\n};\n\nexport { BannerAnimatedContent };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { calculateRgba } from \"../../../utils\";\nimport { scaleMobile } from \"../../scale\";\n\nfunction bannerContentInlineStyleInner(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogMaxWidth = _ref$layout.dialogMaxWidth,\n dialogPosition = _ref$layout.dialogPosition,\n dialogMargin = _ref$layout.dialogMargin,\n bannerPosition = _ref$layout.bannerPosition,\n dialogBorderRadius = _ref$layout.dialogBorderRadius,\n _ref$design = _ref.design,\n borderWidth = _ref$design.borderWidth,\n borderColor = _ref$design.borderColor,\n textAlign = _ref$design.textAlign,\n fontColor = _ref$design.fontColor,\n fontInheritFamily = _ref$design.fontInheritFamily,\n fontFamily = _ref$design.fontFamily,\n fontWeight = _ref$design.fontWeight,\n boxShadowEnabled = _ref$design.boxShadowEnabled,\n boxShadowOffsetX = _ref$design.boxShadowOffsetX,\n boxShadowOffsetY = _ref$design.boxShadowOffsetY,\n boxShadowBlurRadius = _ref$design.boxShadowBlurRadius,\n boxShadowSpreadRadius = _ref$design.boxShadowSpreadRadius,\n boxShadowColor = _ref$design.boxShadowColor,\n boxShadowColorAlpha = _ref$design.boxShadowColorAlpha,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n individualPrivacyOpen = _ref.individualPrivacyOpen;\n var mobileAlignment = mobile.alignment;\n var useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n var width = useType === \"dialog\" ? +(individualPrivacyOpen && !individualLayout.inheritDialogMaxWidth ? individualLayout.dialogMaxWidth : dialogMaxWidth) : \"100%\";\n\n var style = _defineProperty({\n pointerEvents: \"all\",\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: width,\n textAlign: textAlign,\n width: width,\n overflow: \"hidden\",\n alignSelf: scaleMobile(mobile, pageRequestUuid4, useType === \"banner\" ? bannerPosition === \"top\" ? \"flex-start\" : \"flex-end\" : undefined, mobileAlignment === \"bottom\" ? \"flex-end\" : mobileAlignment === \"top\" ? \"flex-start\" : \"center\"),\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n fontWeight: fontWeight,\n color: fontColor,\n margin: useType === \"dialog\" ? 10 : undefined,\n borderRadius: useType === \"dialog\" ? +dialogBorderRadius : undefined,\n boxShadow: boxShadowEnabled ? \"\".concat(boxShadowOffsetX, \"px \").concat(boxShadowOffsetY, \"px \").concat(boxShadowBlurRadius, \"px \").concat(boxShadowSpreadRadius, \"px \").concat(calculateRgba(boxShadowColor, boxShadowColorAlpha)) : undefined\n }, useType === \"banner\" ? bannerPosition === \"top\" ? \"borderBottom\" : \"borderTop\" : \"border\", useType === \"banner\" ? useBorderWidth > 0 ? \"\".concat(useBorderWidth, \"px solid \").concat(borderColor) : undefined : undefined);\n\n if (useType === \"dialog\" && dialogPosition !== \"middleCenter\") {\n style.margin = dialogMargin.map(function (i) {\n return \"\".concat(i, \"px\");\n }).join(\" \");\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-inner\",\n style: style\n };\n}\n\nexport { bannerContentInlineStyleInner };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useLayoutEffect, useEffect } from \"react\";\nimport { dispatchResizeEvent } from \"@devowl-wp/headless-content-unblocker\";\nimport { useBanner, useBannerActionLinks, useBannerHistory, usePlainCss, useRestrictScrollWhenVisible, bannerOverlayInlineStyle, bannerOverlayInlineStyleAlignment, BannerAnimatedContent, isHiddenDueLegal } from \"../..\";\n\nvar Banner = function Banner() {\n var banner = useBanner();\n var _banner$layout = banner.layout,\n overlay = _banner$layout.overlay,\n overlayBlur = _banner$layout.overlayBlur,\n _banner$customCss = banner.customCss,\n antiAdBlocker = _banner$customCss.antiAdBlocker,\n css = _banner$customCss.css,\n visible = banner.visible,\n animationVisible = banner.animationVisible,\n activeAction = banner.activeAction,\n skipOverlay = banner.skipOverlay,\n gotHiddenDueLegal = banner.gotHiddenDueLegal,\n pageRequestUuid4 = banner.pageRequestUuid4,\n individualPrivacyOpen = banner.individualPrivacyOpen;\n var hiddenDueLegal = isHiddenDueLegal(banner);\n var show = visible && !hiddenDueLegal || !!activeAction;\n usePlainCss(antiAdBlocker ? css : \"\");\n usePlainCss( // `-webkit-text-size-adjust:100%;`: https://stackoverflow.com/a/2711132/5506547\n \"#\".concat(pageRequestUuid4, \", #\").concat(pageRequestUuid4, \" * {box-sizing: border-box;backface-visibility:initial;text-transform:initial;-webkit-text-size-adjust:100%;}\")); // Blur effect\n\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n useRestrictScrollWhenVisible(show && overlay && animationVisible); // Listen to window resizes and resize the content automatically\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n setInvalidate = _useState2[1];\n\n var updateSize = function updateSize() {\n return setInvalidate(+new Date());\n };\n\n useLayoutEffect(function () {\n window.addEventListener(\"resize\", updateSize);\n return function () {\n return window.removeEventListener(\"resize\", updateSize);\n };\n }, []);\n useLayoutEffect(function () {\n dispatchResizeEvent(1000);\n }, [animationVisible, individualPrivacyOpen]); // When changes to the legal settings are done, make the banner visible or hide\n\n gotHiddenDueLegal && useEffect(function () {\n gotHiddenDueLegal(hiddenDueLegal);\n }, [hiddenDueLegal]);\n useBannerHistory();\n useBannerActionLinks();\n\n if (!show) {\n return null;\n }\n\n var content = h(\"div\", bannerOverlayInlineStyleAlignment(banner), h(BannerAnimatedContent, null));\n return skipOverlay ? content : h(\"div\", _extends({\n id: pageRequestUuid4\n }, bannerOverlayInlineStyle(banner)), content);\n};\n\nexport { Banner };","import { useEffect } from \"react\";\n/**\n * Do not allow scrolling when this banner is visible\n *\n * @param visible\n */\n\nfunction useRestrictScrollWhenVisible(visible) {\n return useEffect(function () {\n var _document$body = document.body,\n dataset = _document$body.dataset,\n style = _document$body.style; // Save first state\n\n if (dataset.rcbPreviousOverflow === undefined) {\n dataset.rcbPreviousOverflow = style.overflow;\n }\n\n style.overflow = visible ? \"hidden\" : dataset.rcbPreviousOverflow;\n document.body.parentElement.style.overflow = style.overflow;\n }, [visible]);\n}\n\nexport { useRestrictScrollWhenVisible };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useEffect, useState } from \"react\";\nimport { useBanner } from \"../../..\";\n\nfunction useBannerHistory() {\n var banner = useBanner();\n var consent = banner.consent,\n groups = banner.groups,\n tcf = banner.tcf,\n activeAction = banner.activeAction,\n selectHistoryEntry = banner.selectHistoryEntry,\n fetchHistory = banner.fetchHistory; // Save the current consent and group settings to restore\n\n var _useState = useState({\n consent: consent,\n groups: groups,\n tcf: tcf\n }),\n _useState2 = _slicedToArray(_useState, 2),\n originalConsent = _useState2[0],\n setOriginalConsent = _useState2[1]; // Listen to consent changes and save it as original consent (only when non-history)\n\n\n useEffect(function () {\n if (!activeAction) {\n setOriginalConsent({\n consent: consent,\n groups: groups,\n tcf: tcf\n });\n }\n }, [consent, groups, tcf, activeAction]);\n useEffect(function () {\n function fetch() {\n return _fetch.apply(this, arguments);\n }\n\n function _fetch() {\n _fetch = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var result, _result, _result$, _groups2, decision, _tcf2;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return fetchHistory();\n\n case 2:\n result = _context.sent;\n\n // Initially select first item\n if (result.length) {\n _result = _slicedToArray(result, 1), _result$ = _result[0], _groups2 = _result$.groups, decision = _result$.decision, _tcf2 = _result$.tcf;\n selectHistoryEntry(_groups2, decision, _tcf2);\n } else {\n selectHistoryEntry([], []);\n }\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _fetch.apply(this, arguments);\n }\n\n if (activeAction === \"history\") {\n // Save state of original consent\n setOriginalConsent({\n consent: consent,\n groups: groups,\n tcf: tcf\n });\n fetch();\n } else {\n // If we close the history, restore the original state\n var _groups = originalConsent.groups,\n consentGroups = originalConsent.consent.groups,\n _tcf = originalConsent.tcf;\n selectHistoryEntry === null || selectHistoryEntry === void 0 ? void 0 : selectHistoryEntry(_groups, consentGroups, _tcf);\n }\n }, [activeAction]);\n}\n\nexport { useBannerHistory };","import { scaleMobile } from \"../..\";\n\nfunction bannerOverlayInlineStyleAlignment(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogPosition = _ref$layout.dialogPosition,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var style = {\n display: \"flex\",\n width: \"100%\",\n height: \"100%\"\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\") {\n style.alignItems = dialogPosition.startsWith(\"top\") ? \"flex-start\" : dialogPosition.startsWith(\"bottom\") ? \"flex-end\" : \"center\";\n style.justifyContent = dialogPosition.endsWith(\"Center\") ? \"center\" : dialogPosition.endsWith(\"Left\") ? \"flex-start\" : \"flex-end\";\n }\n\n return {\n className: \"wp-exclude-emoji \".concat(antiAdBlocker === \"y\" ? \"\" : \"rcb-align\"),\n style: style\n };\n}\n\nexport { bannerOverlayInlineStyleAlignment };","import { scaleMobile } from \"../..\";\nimport { calculateRgba } from \"../../..\";\n/**\n * This method needs to be ported to Banner.php#wp_footer, too!\n */\n\nfunction bannerOverlayInlineStyle(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n overlay = _ref$layout.overlay,\n overlayBg = _ref$layout.overlayBg,\n overlayBgAlpha = _ref$layout.overlayBgAlpha,\n fontSize = _ref.design.fontSize,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-bann3r rcb-bann3r-\".concat(scaleMobile(mobile, pageRequestUuid4, type, \"banner\"), \" \").concat(overlay ? \"\" : \"overlay-deactivated\"),\n style: {\n background: overlay ? calculateRgba(overlayBg, overlayBgAlpha) : \"none\",\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 99999,\n pointerEvents: overlay ? \"all\" : \"none\",\n fontSize: scaleMobile(mobile, pageRequestUuid4, +fontSize),\n filter: \"none\"\n }\n };\n}\n\nexport { bannerOverlayInlineStyle };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentGet = {\n path: \"/consent\",\n method: RouteHttpVerb.GET\n};","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useState } from \"react\";\nimport { getOptionsFromWindow, getOtherOptionsFromWindow } from \"../utils\";\nimport { useBannerPreDecisionGateway, useTcf } from \"../hooks\";\nimport { applyConsent, getCookieConsentManager } from \"../others\";\nimport { prepareTcfString } from \"../tcf\";\nimport { getUserDecision } from \"@devowl-wp/cookie-consent-web-client\";\nimport { useBannerConsentListener } from \"@devowl-wp/react-cookie-banner\";\nimport { BannerContextFactory, useBannerToggleOverlay, Banner, useBannerStateContextCallbacks } from \"@devowl-wp/react-cookie-banner\";\nimport { locationRestConsentGet } from \"../wp-api\";\nimport { commonRequest } from \"@devowl-wp/utils\";\nimport { BannerProductionNotice } from \".\";\n/**\n * Simply connects a context store to the banner itself. On the website itself\n * it should not rely\n */\n\nvar WebsiteBanner = function WebsiteBanner(_ref) {\n var poweredLink = _ref.poweredLink;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.customizeValuesBanner,\n layout = _getOtherOptionsFromW2.layout,\n decision = _getOtherOptionsFromW2.decision,\n legal = _getOtherOptionsFromW2.legal,\n design = _getOtherOptionsFromW2.design,\n headerDesign = _getOtherOptionsFromW2.headerDesign,\n bodyDesign = _getOtherOptionsFromW2.bodyDesign,\n footerDesign = _getOtherOptionsFromW2.footerDesign,\n texts = _getOtherOptionsFromW2.texts,\n individualLayout = _getOtherOptionsFromW2.individualLayout,\n saveButton = _getOtherOptionsFromW2.saveButton,\n group = _getOtherOptionsFromW2.group,\n individualTexts = _getOtherOptionsFromW2.individualTexts,\n customCss = _getOtherOptionsFromW2.customCss,\n mobile = _getOtherOptionsFromW2.mobile,\n pageId = _getOtherOptionsFromW.pageId,\n pageRequestUuid4 = _getOtherOptionsFromW.pageRequestUuid4,\n pageIdToPermalink = _getOtherOptionsFromW.pageIdToPermalink,\n consentForwardingExternalHosts = _getOtherOptionsFromW.consentForwardingExternalHosts,\n essentialGroup = _getOtherOptionsFromW.essentialGroup,\n isTcf = _getOtherOptionsFromW.isTcf,\n isEPrivacyUSA = _getOtherOptionsFromW.isEPrivacyUSA,\n isAgeNotice = _getOtherOptionsFromW.isAgeNotice,\n isListServicesNotice = _getOtherOptionsFromW.isListServicesNotice,\n tcf = _getOtherOptionsFromW.tcf,\n tcfMetadata = _getOtherOptionsFromW.tcfMetadata,\n groups = _getOtherOptionsFromW.groups,\n userConsentCookieName = _getOtherOptionsFromW.userConsentCookieName,\n bannerI18n = _getOtherOptionsFromW.bannerI18n,\n affiliate = _getOtherOptionsFromW.affiliate,\n isCurrentlyInTranslationEditorPreview = _getOtherOptionsFromW.isCurrentlyInTranslationEditorPreview,\n pageByIdUrl = _getOtherOptionsFromW.pageByIdUrl;\n\n var userDecision = getUserDecision(userConsentCookieName); // TCF compatibility\n\n var tcfObject = useTcf(isTcf, tcf, tcfMetadata); // Server-side rendered overlay handler\n\n var _useBannerToggleOverl = useBannerToggleOverlay(document.getElementById(pageRequestUuid4)),\n toggleOverlay = _useBannerToggleOverl.toggleOverlay;\n\n var _useBannerStateContex = useBannerStateContextCallbacks({\n toggleOverlay: toggleOverlay,\n revokeConsent: function revokeConsent(_ref2) {\n var tcf = _ref2.tcf;\n // Do not rely on current state of `groups` because it can be altered through history change\n var buttonClicked = \"shortcode_revoke\"; // TCF compatibility: revoke TCF string\n\n // TCF compatibility: revoke TCF string\n var tcfString;\n\n if (process.env.IS_TCF === \"1\" && tcf !== null && tcf !== void 0 && tcf.model) {\n tcfString = prepareTcfString(tcf.model, buttonClicked);\n }\n\n return applyConsent({\n consent: {\n groups: getCookieConsentManager().getDefaultDecision(true)\n },\n buttonClicked: buttonClicked,\n tcfString: tcfString\n });\n }\n }),\n _openHistory = _useBannerStateContex.openHistory,\n _openBanner = _useBannerStateContex.openBanner,\n _revokeConsent = _useBannerStateContex.revokeConsent,\n _updateTcfFilterBy = _useBannerStateContex.updateTcfFilterBy,\n _updateIndividualPrivacyOpen = _useBannerStateContex.updateIndividualPrivacyOpen,\n _updateGroupChecked = _useBannerStateContex.updateGroupChecked,\n _updateCookieChecked = _useBannerStateContex.updateCookieChecked,\n _onClose = _useBannerStateContex.onClose,\n _selectHistoryEntry = _useBannerStateContex.selectHistoryEntry; // Context values preparation\n\n\n var _useState = useState({\n layout: _objectSpread({}, layout),\n decision: _objectSpread({}, decision),\n legal: _objectSpread({}, legal),\n design: _objectSpread({}, design),\n headerDesign: _objectSpread({}, headerDesign),\n bodyDesign: _objectSpread({}, bodyDesign),\n footerDesign: _objectSpread({}, footerDesign),\n texts: _objectSpread({}, texts),\n individualLayout: _objectSpread({}, individualLayout),\n saveButton: _objectSpread({}, saveButton),\n group: _objectSpread({}, group),\n individualTexts: _objectSpread({}, individualTexts),\n customCss: _objectSpread({}, customCss),\n mobile: _objectSpread({}, mobile),\n productionNotice: h(BannerProductionNotice, null),\n pageRequestUuid4: pageRequestUuid4,\n pageIdToPermalink: pageIdToPermalink,\n pageByIdUrl: pageByIdUrl,\n consentForwardingExternalHosts: consentForwardingExternalHosts,\n pageId: pageId,\n isTcf: isTcf,\n ePrivacyUSA: isEPrivacyUSA,\n ageNotice: isAgeNotice,\n listServicesNotice: isListServicesNotice,\n tcf: tcfObject,\n tcfFilterBy: \"legInt\",\n groups: groups,\n essentialGroup: essentialGroup,\n poweredLink: poweredLink,\n visible: false,\n animationVisible: true,\n skipOverlay: true,\n previewCheckboxActiveState: false,\n individualPrivacyOpen: false,\n i18n: bannerI18n,\n keepVariablesInTexts: isCurrentlyInTranslationEditorPreview,\n affiliate: affiliate,\n consent: {\n groups: _objectSpread(_objectSpread({}, userDecision === false ? {} : userDecision.consent), getCookieConsentManager().getDefaultDecision(userDecision === false))\n },\n didGroupFirstChange: false,\n onSave: function onSave(markAsDoNotTrack, buttonClicked) {\n setContextValue(function (state) {\n var _state$tcf;\n\n // TCF compatibility: persist TCF string\n var tcfString;\n\n if (process.env.IS_TCF === \"1\" && isTcf && (_state$tcf = state.tcf) !== null && _state$tcf !== void 0 && _state$tcf.model) {\n tcfString = prepareTcfString(state.tcf.model, buttonClicked);\n }\n\n var appliedConsent = applyConsent({\n consent: state.consent,\n markAsDoNotTrack: markAsDoNotTrack,\n buttonClicked: buttonClicked,\n tcfString: tcfString\n });\n\n if (state.refreshSiteAfterSave) {\n appliedConsent.then(function () {\n return (// Fix iOS / Safari bug when we want to reload the page after a POST request\n setTimeout(function () {\n return window.location.reload();\n }, state.refreshSiteAfterSave ||\n /* BC */\n 2000)\n );\n }); // When refreshing the site, do not show any out animation\n\n // When refreshing the site, do not show any out animation\n return state;\n } else {\n return _objectSpread(_objectSpread({}, state), toggleOverlay(state, false));\n }\n });\n },\n fetchHistory: function () {\n var _fetchHistory = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _getOptionsFromWindow, restNamespace, restRoot, restQuery, restNonce, history;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _getOptionsFromWindow = getOptionsFromWindow(), restNamespace = _getOptionsFromWindow.restNamespace, restRoot = _getOptionsFromWindow.restRoot, restQuery = _getOptionsFromWindow.restQuery, restNonce = _getOptionsFromWindow.restNonce;\n _context.next = 3;\n return commonRequest({\n location: locationRestConsentGet,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false\n });\n\n case 3:\n history = _context.sent;\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n history: history\n });\n });\n return _context.abrupt(\"return\", history);\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function fetchHistory() {\n return _fetchHistory.apply(this, arguments);\n }\n\n return fetchHistory;\n }(),\n // Predefined callbacks\n updateTcfFilterBy: function updateTcfFilterBy(newFilter) {\n return _updateTcfFilterBy(setContextValue, newFilter);\n },\n updateIndividualPrivacyOpen: function updateIndividualPrivacyOpen(opened) {\n return _updateIndividualPrivacyOpen(setContextValue, opened);\n },\n updateGroupChecked: function updateGroupChecked(id, checked) {\n return _updateGroupChecked(setContextValue, id, checked);\n },\n updateCookieChecked: function updateCookieChecked(groupId, id, checked) {\n return _updateCookieChecked(setContextValue, groupId, id, checked);\n },\n onClose: function onClose() {\n return _onClose(setContextValue);\n },\n selectHistoryEntry: function selectHistoryEntry(groups, consentGroups, tcf) {\n return _selectHistoryEntry(setContextValue, groups, consentGroups, tcf);\n },\n openHistory: function openHistory(e) {\n return _openHistory(setContextValue, e);\n },\n openBanner: function openBanner(e) {\n return _openBanner(setContextValue, e);\n },\n revokeConsent: function revokeConsent(successMessage, e) {\n return _revokeConsent(setContextValue, successMessage, e);\n }\n }),\n _useState2 = _slicedToArray(_useState, 2),\n contextValue = _useState2[0],\n setContextValue = _useState2[1];\n\n useBannerPreDecisionGateway(contextValue, setContextValue, toggleOverlay);\n useBannerConsentListener(setContextValue, userConsentCookieName);\n var BannerContext = BannerContextFactory.Context();\n return h(BannerContext.Provider, {\n value: contextValue\n }, h(Banner, null));\n};\n\nexport { WebsiteBanner };","import { useMemo } from \"react\";\nimport { prepareTcfString } from \"../tcf\";\nimport { applyTcfModelMetadata, applyRestrictivePurposes, createTcfModel, createTcfModelFromCookie } from \"@devowl-wp/cookie-consent-web-client\";\nimport { getCookieConsentManager } from \"../others\";\n/**\n * Merges the localized `tcf` and `tcfMetadata` together so it can be\n * used inside our `BannerContextProps` and returns a valid `GVL` instance.\n */\n\nfunction useTcf(active, tcf, tcfMeta) {\n return useMemo(function () {\n if (process.env.IS_TCF === \"1\" && active && Object.values(tcf.vendors).length > 0) {\n var gvl;\n var model;\n var manager = getCookieConsentManager();\n var restored = createTcfModelFromCookie(tcf, tcfMeta, manager.getOption(\"tcfCookieName\")); // First, try to resolve from user consent (cookie value)\n\n if (restored) {\n gvl = restored.gvl;\n model = restored.model;\n } else {\n // No consent given, let's create an empty model\n var newTcf = createTcfModel({\n tcf: tcf,\n tcfMeta: tcfMeta,\n tcfString: \"\"\n });\n gvl = newTcf.gvl;\n model = newTcf.model;\n }\n\n applyTcfModelMetadata(model, tcfMeta, manager);\n applyRestrictivePurposes(model, tcf.vendorConfigurations);\n\n if (!restored) {\n prepareTcfString(model, \"initial\");\n }\n\n return {\n gvl: gvl,\n model: model,\n original: tcf,\n metadata: tcfMeta\n };\n } else {\n return undefined;\n }\n }, [active, tcf, tcfMeta]);\n}\n\nexport { useTcf };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { useCallback } from \"react\";\nimport { useBannerAnimation } from \"../..\";\n/**\n * Provides a callback which can be used to update the state of the banner context and manipulate\n * the `visible` and `animationVisible` property correctly.\n */\n\nfunction useBannerToggleOverlay(overlay) {\n var useBannerAnimationCallback = useBannerAnimation();\n var toggleOverlay = useCallback(function (_ref, show) {\n var layout = _ref.layout;\n var animationInDuration = layout.animationInDuration,\n animationOutDuration = layout.animationOutDuration;\n\n var _useBannerAnimationCa = useBannerAnimationCallback(layout),\n useAnimationIn = _useBannerAnimationCa.useAnimationIn,\n useAnimationOut = _useBannerAnimationCa.useAnimationOut;\n\n var defaultIfNoAnimation = 0; // Avoid \"hard\" overlay\n\n var useDuration = show ? useAnimationIn === \"none\" ? defaultIfNoAnimation : animationInDuration : useAnimationOut === \"none\" ? defaultIfNoAnimation : animationOutDuration; // Toggle SSR-rendered overlay\n\n useDuration > 0 && (overlay.style.transition = \"background \".concat(useDuration, \"ms\"));\n overlay.style.background = \"transparent\";\n\n if (show) {\n // We need a small delay to avoid flickering of animation out effect in customizer\n setTimeout(function () {\n overlay.style.display = \"block\";\n }, 0);\n setTimeout(function () {\n var bg = overlay.getAttribute(\"data-bg\");\n overlay.style.background = bg ? bg.split(\":\")[1].trim().replace(\";\", \"\") : \"transparent\";\n }, 100);\n } else {\n setTimeout(function () {\n overlay.style.display = \"none\";\n }, useDuration);\n }\n\n var animationVisible = {\n animationVisible: show\n };\n return show ? _objectSpread({\n visible: true\n }, animationVisible) : animationVisible;\n }, [useBannerAnimationCallback]);\n return {\n overlay: overlay,\n toggleOverlay: toggleOverlay\n };\n}\n\nexport { useBannerToggleOverlay };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useEffect } from \"react\";\nimport { getOptionsFromWindow, isCustomize } from \"../utils\";\nimport { getCookieConsentManager } from \"../others\";\nimport { preDecisionGateway } from \"@devowl-wp/cookie-consent-web-client\";\nimport { preDecisionGatewayDynamicRequest, preDecisionGatewayHasPageClass, preDecisionGatewayIsCrawler, preDecisionGatewayIsPreventPreDecision, preDecisionGatewaySupportsCookies, preDecisionGatewayUserConsent, preDecisionGatewayIsDoNotTrack } from \"@devowl-wp/cookie-consent-web-client\";\nimport { commonRequest } from \"@devowl-wp/utils\";\nimport { locationRestConsentDynamicPredecisionGet } from \"../wp-api\";\nimport { isHiddenDueLegal } from \"@devowl-wp/react-cookie-banner\";\n/**\n * Do some decision gateways like DNT, Bot / Crawler and Decision and depending\n * on that, show the Banner initially.\n */\n\nfunction useBannerPreDecisionGateway(banner, setContextValue, toggleOverlay) {\n useEffect(function () {\n // Only run this predecision mechanism once and when not in customize\n if (isCustomize()) {\n return;\n }\n\n var _getOptionsFromWindow = getOptionsFromWindow(),\n restNamespace = _getOptionsFromWindow.restNamespace,\n restRoot = _getOptionsFromWindow.restRoot,\n restQuery = _getOptionsFromWindow.restQuery,\n restNonce = _getOptionsFromWindow.restNonce,\n _getOptionsFromWindow2 = _getOptionsFromWindow.others,\n isAcceptAllForBots = _getOptionsFromWindow2.isAcceptAllForBots,\n isPreventPreDecision = _getOptionsFromWindow2.isPreventPreDecision,\n hasDynamicPreDecisions = _getOptionsFromWindow2.hasDynamicPreDecisions,\n isRespectDoNotTrack = _getOptionsFromWindow2.isRespectDoNotTrack;\n\n var onSave = banner.onSave;\n preDecisionGateway(getCookieConsentManager(), {\n gateways: [preDecisionGatewaySupportsCookies, preDecisionGatewayHasPageClass([\"login-action-\"]), preDecisionGatewayDynamicRequest(function () {\n var _document$documentEle = document.documentElement,\n clientWidth = _document$documentEle.clientWidth,\n clientHeight = _document$documentEle.clientHeight;\n return commonRequest({\n location: locationRestConsentDynamicPredecisionGet,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false,\n request: {\n viewPortWidth: clientWidth,\n viewPortHeight: clientHeight\n },\n params: {\n _wp_http_referer: window.location.href\n }\n });\n }, 10000, hasDynamicPreDecisions), /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_, banner) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", isHiddenDueLegal(banner) ? \"consent\" : false);\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x, _x2) {\n return _ref.apply(this, arguments);\n };\n }(), preDecisionGatewayIsPreventPreDecision(isPreventPreDecision), preDecisionGatewayIsCrawler(isAcceptAllForBots ? \"all\" : false), preDecisionGatewayIsDoNotTrack(isRespectDoNotTrack), preDecisionGatewayUserConsent],\n args: [banner],\n onIsDoNotTrack: function onIsDoNotTrack() {\n onSave(true, \"none\");\n },\n onShowCookieBanner: function onShowCookieBanner() {\n return setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n // Always revert back to \"Essentials\" only consent when cookie needs to be consented\n consent: {\n groups: getCookieConsentManager().getDefaultDecision()\n }\n }, toggleOverlay(state, true));\n });\n }\n });\n }, []);\n}\n\nexport { useBannerPreDecisionGateway };","import { getOtherOptionsFromWindow } from \"./getOtherOptionsFromWindow\";\n/**\n * Checks if the current page is customize page.\n */\n\nfunction isCustomize() {\n return !!getOtherOptionsFromWindow().customizeIdsBanner;\n}\n\nexport { isCustomize };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \"../decision\";\nimport { isCrawler } from \"../utils\";\n/**\n * Is the current request from a spider / crawler?\n */\n\nvar preDecisionGatewayIsCrawler = function preDecisionGatewayIsCrawler(resultIfBot) {\n return /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var decisionCookieName;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decisionCookieName = _ref.decisionCookieName;\n\n if (!(getUserDecision(decisionCookieName) !== false || !resultIfBot)) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 3:\n return _context.abrupt(\"return\", isCrawler() ? resultIfBot : false);\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n};\n\nexport { preDecisionGatewayIsCrawler };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \"../decision\";\nimport { isCrawler } from \"../utils\";\n/**\n * Prevent any predecision and user decision and force to reuse existing consent or all for crawlers.\n * This could be e.g. be configured by a dynamic hook or on server-side via a localized variable.\n */\n\nvar preDecisionGatewayIsPreventPreDecision = function preDecisionGatewayIsPreventPreDecision(preventPreDecision) {\n return /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var decisionCookieName, userDecision;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decisionCookieName = _ref.decisionCookieName;\n userDecision = getUserDecision(decisionCookieName);\n return _context.abrupt(\"return\", preventPreDecision && userDecision === false ? isCrawler() ? // For crawlers we need to explicitly allow cookies on all pages\n \"all\" : \"consent\" : false);\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n};\n\nexport { preDecisionGatewayIsPreventPreDecision };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\n/**\n * Do not show cookie banner for a certain page, e.g. the login page.\n */\nvar preDecisionGatewayHasPageClass = function preDecisionGatewayHasPageClass(classNames) {\n return /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var className;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n className = document.body.className;\n return _context.abrupt(\"return\", classNames.filter(function (c) {\n return className.indexOf(c) > -1;\n }).length > 0 ? \"consent\" : false);\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n};\n\nexport { preDecisionGatewayHasPageClass };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { getUserDecision, OPT_IN_ALL_EVENT } from \"@devowl-wp/cookie-consent-web-client\";\nimport { useEffect } from \"react\";\n\nfunction useBannerConsentListener(setContextValue, userConsentCookieName) {\n useEffect(function () {\n var listener = function listener() {\n var consent = getUserDecision(userConsentCookieName);\n consent && setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n consent: {\n groups: consent.consent\n }\n });\n });\n };\n\n document.addEventListener(OPT_IN_ALL_EVENT, listener);\n return function () {\n document.removeEventListener(OPT_IN_ALL_EVENT, listener);\n };\n }, []);\n}\n\nexport { useBannerConsentListener };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\n/**\n * Wait for a given object which is calculated through a callback.\n */\nfunction waitObject(_x) {\n return _waitObject.apply(this, arguments);\n}\n\nfunction _waitObject() {\n _waitObject = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(getObject) {\n var delayNextCheck,\n maxTries,\n i,\n _args = arguments;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n delayNextCheck = _args.length > 1 && _args[1] !== undefined ? _args[1] : 500;\n maxTries = _args.length > 2 && _args[2] !== undefined ? _args[2] : 0;\n i = 0;\n\n case 3:\n if (getObject()) {\n _context.next = 11;\n break;\n }\n\n if (!(maxTries > 0 && i >= maxTries)) {\n _context.next = 6;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 6:\n _context.next = 8;\n return new Promise(function (r) {\n return setTimeout(r, delayNextCheck);\n });\n\n case 8:\n i++;\n _context.next = 3;\n break;\n\n case 11:\n return _context.abrupt(\"return\", getObject());\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _waitObject.apply(this, arguments);\n}\n\nexport { waitObject };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { putHtmlCodeToDom, OPT_IN_CONTENT_BLOCKER } from \"@devowl-wp/headless-content-unblocker\";\nimport { OPT_IN_EVENT, waitObject } from \"@devowl-wp/cookie-consent-web-client\";\nvar amazonWidgetsSlotNum = 0;\n/**\n * Some presets have custom opt-in coding, e. g. Amazon Widgets.\n */\n\nfunction listenPresetOptIn() {\n document.addEventListener(OPT_IN_EVENT, /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref) {\n var _ref$detail$cookie, presetId, codeOptIn, codeDynamics, _ref3, amznAssoWidgetHtmlId, element, slotNum, adContainer;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _ref$detail$cookie = _ref.detail.cookie, presetId = _ref$detail$cookie.presetId, codeOptIn = _ref$detail$cookie.codeOptIn, codeDynamics = _ref$detail$cookie.codeDynamics;\n _context2.t0 = presetId;\n _context2.next = _context2.t0 === \"amazon-associates-widget\" ? 4 : _context2.t0 === \"google-maps\" ? 16 : 18;\n break;\n\n case 4:\n _ref3 = codeDynamics || {}, amznAssoWidgetHtmlId = _ref3.amznAssoWidgetHtmlId;\n\n if (!amznAssoWidgetHtmlId) {\n _context2.next = 15;\n break;\n }\n\n element = document.getElementById(amznAssoWidgetHtmlId);\n\n if (!element) {\n _context2.next = 15;\n break;\n }\n\n slotNum = amazonWidgetsSlotNum;\n amazonWidgetsSlotNum++;\n putHtmlCodeToDom(codeOptIn, codeDynamics, element); // Amazon Widgets is using `document.write`, we need to manually move the ad container...\n\n _context2.next = 13;\n return waitObject(function () {\n return document.querySelector(\"[id^=\\\"amzn_assoc_ad_div_\\\"][id$=\\\"\".concat(slotNum, \"\\\"]\"));\n }, 500, 50);\n\n case 13:\n adContainer = _context2.sent;\n\n if (adContainer) {\n element.appendChild(adContainer);\n }\n\n case 15:\n return _context2.abrupt(\"break\", 19);\n\n case 16:\n document.addEventListener(OPT_IN_CONTENT_BLOCKER, /*#__PURE__*/function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref4) {\n var element, _ref6, et_pb_map_init, jQuery;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n element = _ref4.detail.element;\n _ref6 = window, et_pb_map_init = _ref6.et_pb_map_init, jQuery = _ref6.jQuery;\n\n if (!(jQuery && element.matches(\".et_pb_map\") && et_pb_map_init)) {\n _context.next = 6;\n break;\n }\n\n _context.next = 5;\n return waitObject(function () {\n return window.google;\n });\n\n case 5:\n et_pb_map_init(jQuery(element).parent());\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x2) {\n return _ref5.apply(this, arguments);\n };\n }());\n return _context2.abrupt(\"break\", 19);\n\n case 18:\n return _context2.abrupt(\"break\", 19);\n\n case 19:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n}\n\nexport { listenPresetOptIn };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentClearDelete = {\n path: \"/consent/clear\",\n method: RouteHttpVerb.DELETE\n};","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\nimport { getUserDecision, regExpPatternFromWildcardName } from \"@devowl-wp/cookie-consent-web-client\";\n/**\n * Synchronously check if a consent is given. See `window.consentApi.consent` for more documentation.\n */\n\nfunction consentSync(typeOrId, name,\n/**\n * This can also be `*` to allow all hosts.\n */\nhost) {\n // Find matching cookie\n var found = [];\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n groups = _getOtherOptionsFromW.groups,\n revisionHash = _getOtherOptionsFromW.revisionHash;\n\n var allCookies = groups.map(function (_ref) {\n var items = _ref.items;\n return items;\n }).flat();\n\n var _iterator = _createForOfIteratorHelper(allCookies),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var row = _step.value;\n\n if (typeof typeOrId === \"number\") {\n if (row.id === typeOrId) {\n found.push({\n cookie: row,\n relevance: 10\n });\n }\n } else {\n var technicalDefinitions = row.technicalDefinitions;\n\n if (technicalDefinitions !== null && technicalDefinitions !== void 0 && technicalDefinitions.length) {\n // Check if technical information matches\n var _iterator2 = _createForOfIteratorHelper(technicalDefinitions),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var td = _step2.value;\n var regexp = regExpPatternFromWildcardName(td.name);\n\n if (td.type === typeOrId && (td.name === name || name.match(regexp)) && (td.host === host || host === \"*\")) {\n found.push({\n cookie: row,\n // Create a priority by \"relevance\" inside the technical definitions\n // This is the case if e.g. another Cookie consumes the same technical cookie\n // Example: Vimeo uses Facebook Pixel, too\n relevance: technicalDefinitions.length + technicalDefinitions.indexOf(td) + 1\n });\n break;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var already = getUserDecision(getOtherOptionsFromWindow().userConsentCookieName);\n\n if (found.length) {\n var relevantCookie = found.sort(function (_ref2, _ref3) {\n var a = _ref2.relevance;\n var b = _ref3.relevance;\n return a - b;\n })[0].cookie; // Check if consent is already given\n\n if (already && revisionHash === already.revision) {\n var consentCookieIds = Object.values(a