PageSourceSearch

https://mindthegraph.com/assets/js/cactustech-gdpr.lib.js

js mindthegraph.com collected 2026-10-02 02:49:17 UTC 19,462 bytes, 403 lines download raw bytes

1!(function (e, t) {
2  if ('object' == typeof exports && 'object' == typeof module) module.exports = t();
3  else if ('function' == typeof define && define.amd) define([], t);
4  else {
5    var o = t();
6    for (var n in o) ('object' == typeof exports ? exports : e)[n] = o[n];
7  }
8})(globalThis, function () {
9  return (
10    (e = {
11      360: (e, t, o) => {
12        var n;
13        void 0 ===
14          (n = function (e, t) {
15            'use strict';
16            Object.defineProperty(t, '__esModule', { value: !0 }),
17              (t.init =
18                t.closeDetailedConsentPopup =
19                t.launchModifyConsentPopup =
20                t.setUserConsent =
21                t.getUserConsent =
22                t.showDetailedConsentPopup =
23                  void 0);
24            var o = {
25                domain: '',
26                template: !0,
27                mandatory: !1,
28                expiry: 365,
29                language: 'en',
30                revalidate: !1,
31                fallback: !0,
32                debugMode: !1,
33                skipConsent: !1,
34                country: null,
35                delayScripts: 5e3,
36              },
37              n = [
38                'BR',
39                'AT',
40                'BE',
41                'BG',
42                'HR',
43                'CY',
44                'CZ',
45                'DK',
46                'EE',
47                'FI',
48                'FR',
49                'DE',
50                'GR',
51                'HU',
52                'IE',
53                'IT',
54                'LV',
55                'LT',
56                'LU',
57                'MT',
58                'NL',
59                'PL',
60                'PT',
61                'RO',
62                'SK',
63                'SI',
64                'ES',
65                'SE',
66                'GB',
67              ],
68              r = ['performance', 'functional', 'mandatory', 'mandatory_delay'],
69              i = {
70                functional: {},
71                targeting: {},
72                performance: {},
73                mandatory: {},
74                mandatory_delay: {},
75              },
76              a = !1,
77              s = !1,
78              c = !1;
79            if (void 0 === l) var l = {};
80            l.preference = 'no';
81            var d = {
82                shortConsentTitle: 'We value your privacy.',
83                shortConsentMessage:
84                  'Mind the Graph uses cookies and other data to deliver, maintain and improve our services. The company also uses data to provide a safer &amp; better experience by personalizing content, tailoring and measuring ads. You can <span class="button-click-here" onclick="showDetailedConsentPopup()">click here</span> to manage your preferences or click "ok" to agree to the usage of all cookies.',
85                shortConsentButton: 'Ok',
86                detailedConsentTitle: 'Cookie Preferences',
87                detailedConsentMessage:
88                  'Cookies are small pieces of data that are stored on a browser, which does not usually directly identify you, but provides a more personalized web experience and makes the site works as you expect it to. As we respect your right to privacy, you can choose not to allow some types of cookies.<br> <span class="bold"><h2 class="descriptionHowever">However, not allowing some types of cookies may affect your experience using the site and the services we are able to offer.</h2></span>',
89                necessaryCookieTitle: 'Necessary Cookies',
90                necessaryCookieMessage:
91                  "These cookies are necessary for the website to work and can't be switched off in our systems. They are usually set in response to actions you have taken which result in a request for services, such as setting your privacy preferences, logging in, filling in forms, etc.",
92                functionalCookieTitle: 'Functional Cookies',
93                functionalCookieMessage:
94                  "These cookies allow the provision of enhanced functionality and personalisation like live chats. They may be set by us or by third-party providers whose services we have added to our pages. If you don't allow these cookies then some or all of these functionalities may not work properly.",
95                performanceCookieTitle: 'Performance Cookies',
96                performanceCookieMessage:
97                  "These cookies allow us to anonymously track and measure data so that we can adjust and improve the performance of our website. If you don't allow these cookies, it will limit our ability to improve and give you an exceptional website experience.",
98                targetingCookieTitle: 'Targeting Cookies',
99                targetingCookieMessage:
100                  "These cookies are set through our site by our advertising partners and show you relevant ads on other sites. They work by uniquely identifying your browser and device. If you don't allow these cookies, you will not experience targeted relevant advertising for you across other websites.",
101                savePreferenceButton: 'Save preferences',
102                allowAllButton: 'Allow all',
103                cookiePolicyTitle: 'Cookie Policy',
104              },
105              u = '';
106            t.showDetailedConsentPopup = function () {
107              if (
108                (document.getElementById('popup1').classList.remove('overlay'),
109                document.getElementById('popup1').classList.add('overlay-show'),
110                (document.getElementById('gdpr-ui').style.visibility = 'hidden'),
111                s)
112              ) {
113                var e = document.getElementById('gdpr-ui');
114                e.parentNode.removeChild(e);
115              }
116              document.body.classList.add('gdpr-overlay-active');
117            };
118            var p = function (e, t) {
119                o.debugMode && ('info' === t ? console.info(e) : console.error(e));
120              },
121              y = function (e, t) {
122                try {
123                  var n = new Date();
124                  n.setTime(n.getTime() + 24 * t * 60 * 60 * 1e3);
125                  var r = ';expires=' + n.toUTCString(),
126                    i = o.domain ? ';domain=.' + o.domain : '';
127                  document.cookie = 'consent=' + btoa(JSON.stringify(e)) + i + r + ';path=/';
128                } catch (e) {
129                  p(e, 'error');
130                }
131              },
132              f = function (e) {
133                try {
134                  var t = document.cookie.match(new RegExp('(^| )' + e + '=([^;]+)'));
135                  if (t) return JSON.parse(atob(t[2]));
136                } catch (e) {
137                  p(e, 'error');
138                }
139                return null;
140              },
141              v = function (e) {
142                var t = f('consent');
143                t && (l = t), e && (l.preference = e);
144              };
145            t.getUserConsent = function () {
146              return f('consent');
147            };
148            var h = function (e, t) {
149                e.forEach(function (e) {
150                  try {
151                    var o = document.createElement('script');
152                    o.setAttribute('src', e),
153                      'head' === t && document.head.appendChild(o),
154                      'body' === t && document.body.appendChild(o);
155                  } catch (e) {
156                    p(e, 'error');
157                  }
158                });
159              },
160              g = function (e, t) {
161                var o = null;
162                try {
163                  o = new CustomEvent(e, { detail: t });
164                } catch (n) {
165                  p(n, 'error'),
166                    (o = document.createEvent('Event')).initEvent(e, !0, !0),
167                    (o.detail = t);
168                }
169                document.dispatchEvent(o);
170              },
171              m = function () {
172                var e = f('consent');
173                e &&
174                  (setTimeout(function () {
175                    Object.keys(e).forEach(function (t) {
176                      Object.prototype.hasOwnProperty.call(e, t) &&
177                        'yes' === e[t] &&
178                        Object.prototype.hasOwnProperty.call(i, t) &&
179                        Object.keys(i[t]).forEach(function (e) {
180                          h(i[t][e], e);
181                        });
182                    });
183                  }, parseInt(o.delayScripts.toString())),
184                  s && (e.updated = 'yes'),
185                  v(),
186                  g('consent_available', { consent: e }));
187              };
188            t.setUserConsent = function (e, t) {
189              if ('object' == typeof e) {
190                var n,
191                  i = {
192                    necessary: 'yes',
193                    available: 'yes',
194                    source: null != t ? 'user' : 'auto',
195                    preference: null != t ? 'yes' : 'no',
196                  };
197                Object.keys(e).forEach(function (t) {
198                  var o = e[t] ? 'yes' : 'no';
199                  -1 !== r.indexOf(t) && (i[t] = o);
200                }),
201                  y(i, parseInt(o.expiry.toString(), 10)),
202                  m(),
203                  void 0 !== (n = document.getElementById('gdpr-consent-div')) &&
204                    null != n &&
205                    n.parentElement.removeChild(n),
206                  document.body.classList.remove('gdpr-overlay-active'),
207                  x();
208              }
209            };
210            var b = function (e) {
211                var n = {};
212                r.forEach(function (t) {
213                  n[t] = void 0 !== e ? e : o.fallback;
214                }),
215                  t.setUserConsent(n);
216              },
217              k = function () {
218                return (
219                  '\n  <style>\n  ' +
220                  u +
221                  '\n</style>\n<div id="gdpr-base" class="gdpr-base">\n  <div id="gdpr-ui" class="gdpr-ui">\n    <div class="gdpr-detail">\n      <h2>' +
222                  d.shortConsentTitle +
223                  '</h2>\n      <p class="gdpr-short-message">' +
224                  d.shortConsentMessage +
225                  "</p>\n    </div>\n    <div class=\"gdpr-cta\"> <button onclick=\"setUserConsent({'performance': true, 'targeting': true, 'functional': true}, 'user')\">" +
226                  d.shortConsentButton +
227                  '</button> </div>\n  </div>\n  <div id="popup1" class="overlay">\n    <div class="preference-modal">\n      <div class="gdpr-inner-scroll">\n        <h2 class="titleCookiePreferences">' +
228                  d.detailedConsentTitle +
229                  '</h2> <span class="close" href="javascript:void(0)" onclick="closeDetailedConsentPopup();">&times;</span>\n        <div class="gdpr-refernce-main-detail">\n          <div class="content">\n            <p>' +
230                  d.detailedConsentMessage +
231                  '</p>\n          </div>\n          <div class="gdpr-refernce-inner-detail">\n            <h3> ' +
232                  d.necessaryCookieTitle +
233                  ' <span class="lock"></span> </h3>\n            <p>' +
234                  d.necessaryCookieMessage +
235                  '</p>\n          </div>\n          <div class="gdpr-refernce-inner-detail">\n            <h3> ' +
236                  d.functionalCookieTitle +
237                  ' <input type="checkbox" id="functional-switch" /><label class="preference-modal-switch" for="functional-switch">Toggle</label> </h3>\n            <p>' +
238                  d.functionalCookieMessage +
239                  '</p>\n          </div>\n          <div class="gdpr-refernce-inner-detail">\n            <h3> ' +
240                  d.performanceCookieTitle +
241                  ' <input type="checkbox" id="performance-switch" /><label class="preference-modal-switch" for="performance-switch">Toggle</label> </h3>\n            <p>' +
242                  d.performanceCookieMessage +
243                  '</p>\n          </div>\n          <div class="gdpr-refernce-inner-detail">\n            <h3> ' +
244                  d.targetingCookieTitle +
245                  ' <input type="checkbox" id="targeting-switch" /><label class="preference-modal-switch" for="targeting-switch">Toggle</label> </h3>\n            <p>' +
246                  d.targetingCookieMessage +
247                  "</p>\n          </div>\n        </div>\n        <div>\n          <div class=\"gdpr-popup-cta\">\n            <div> <button class=\"primary-cta\" onclick=\"setUserConsent({'performance': true, 'targeting': true, 'functional': true},'user');\"> " +
248                  d.allowAllButton +
249                  " </button> <button class=\"secondary-cta\" onclick=\"setUserConsent({'performance': document.getElementById('performance-switch').checked, 'targeting': document.getElementById('targeting-switch').checked, 'functional': document.getElementById('functional-switch').checked}, 'user');\"> " +
250                  d.savePreferenceButton +
251                  ' </button> </div>\n          <div class="clearfix"></div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n'
252                );
253              },
254              w = function (e) {
255                var t = k();
256                'cn' === e && (t = k());
257                var o = document.createElement('div');
258                (o.id = 'gdpr-consent-div'),
259                  (o.innerHTML = t),
260                  document.body.appendChild(o),
261                  v('yes'),
262                  g('consent_required', { preference: 'yes' });
263              },
264              C = function (e) {
265                if (-1 !== n.indexOf(e.country_code))
266                  return a ? void _() : void w(o.language.toString());
267                b(!0);
268              },
269              E = function () {
270                try {
271                  if (o.country && 'string' == typeof o.country)
272                    return void C({ country_code: o.country });
273                  var e = new XMLHttpRequest();
274                  (e.onreadystatechange = function (t) {
275                    if (4 === t.currentTarget.readyState)
276                      if (200 === t.currentTarget.status) {
277                        var o = JSON.parse(e.responseText);
278                        C(o);
279                      } else b();
280                  }),
281                    e.open('GET', 'https://geoip.cactusglobal.io/json/', !0),
282                    e.send();
283                } catch (e) {
284                  p(e, 'error'), b();
285                }
286              };
287            t.launchModifyConsentPopup = function (e) {
288              var n = f('consent');
289              n &&
290                ((s = !0), (c = e), w(o.language.toString()), O(n), t.showDetailedConsentPopup());
291            };
292            var T = function (e) {
293                if ('object' == typeof e)
294                  return Object.prototype.hasOwnProperty.call(e, 'source') &&
295                    Object.prototype.hasOwnProperty.call(e, 'preference')
296                    ? void (
297                        (o.mandatory ||
298                          (Object.prototype.hasOwnProperty.call(e, 'source') &&
299                            'user' === e.source)) &&
300                        _()
301                      )
302                    : ((a = !0), void E());
303              },
304              O = function (e) {
305                'object' == typeof e &&
306                  Object.keys(e).forEach(function (t) {
307                    if (-1 !== r.indexOf(t)) {
308                      var o = document.getElementById(t + '-switch');
309                      void 0 !== o && null != o && (o.checked = 'yes' === e[t]);
310                    }
311                  });
312              },
313              _ = function () {
314                var e = document.getElementsByClassName('review_consent');
315                null != e &&
316                  Array.prototype.forEach.call(e, function (e) {
317                    e.style.display = 'inline';
318                  }),
319                  v('yes'),
320                  g('consent_required', { preference: 'yes' });
321              },
322              x = function () {
323                if (s) {
324                  var e = c;
325                  (s = !1), (c = !1), e && window.location.reload();
326                }
327              };
328            (t.closeDetailedConsentPopup = function () {
329              document.getElementById('popup1').classList.remove('overlay-show'),
330                document.getElementById('popup1').classList.add('overlay'),
331                s || (document.getElementById('gdpr-ui').style.visibility = ''),
332                document.body.classList.remove('gdpr-overlay-active');
333            }),
334              (t.init = function (e) {
335                void 0 !== e &&
336                  ((function (e) {
337                    void 0 !== e._config &&
338                      Object.keys(e._config).forEach(function (t) {
339                        o[t] = e._config[t];
340                      }),
341                      o.revalidate && y({}, 0);
342                  })(e),
343                  (function (e) {
344                    void 0 !== e._countries && (n = n.concat(e._countries));
345                  })(e),
346                  (function (e) {
347                    void 0 !== e._scripts &&
348                      Object.keys(e._scripts).forEach(function (t) {
349                        i[t] = e._scripts[t];
350                      }),
351                      Object.prototype.hasOwnProperty.call(i, 'mandatory') &&
352                        (Object.keys(i.mandatory).forEach(function (e) {
353                          h(i.mandatory[e], e);
354                        }),
355                        delete i.mandatory),
356                      Object.prototype.hasOwnProperty.call(i, 'mandatory_delay') &&
357                        setTimeout(function () {
358                          Object.keys(i.mandatory_delay).forEach(function (e) {
359                            h(i.mandatory_delay[e], e);
360                          }),
361                            delete i.mandatory_delay;
362                        }, parseInt(o.delayScripts.toString()));
363                  })(e),
364                  (function (e) {
365                    void 0 !== e._message &&
366                      Object.keys(e._message).forEach(function (t) {
367                        d[t] = e._message[t];
368                      });
369                  })(e),
370                  (function (e) {
371                    void 0 !== e._style && (u = e._style);
372                  })(e)),
373                  o.skipConsent
374                    ? b()
375                    : (function () {
376                        try {
377                          var e = f('consent');
378                          if (!e || !Object.prototype.hasOwnProperty.call(e, 'available'))
379                            return o.mandatory ? void w(o.language.toString()) : void E();
380                          (function () {
381                            document.getElementsByClassName('review_consent');
382                            var e = f('consent');
383                            e && T(e);
384                          })(),
385                            m();
386                        } catch (e) {
387                          p(e, 'error'), b();
388                        }
389                      })();
390              }),
391              'undefined' != typeof _policies ? t.init(_policies) : t.init({});
392          }.apply(t, [o, t])) || (e.exports = n);
393      },
394    }),
395    (t = {}),
396    (function o(n) {
397      if (t[n]) return t[n].exports;
398      var r = (t[n] = { exports: {} });
399      return e[n](r, r.exports, o), r.exports;
400    })(360)
401  );
402  var e, t;
403});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.