PageSourceSearch

https://www.santelmomuseoa.eus/templates/san_telmo/js/klaro-config.js?v=02

js santelmomuseoa.eus collected 2026-10-02 07:09:22 UTC 28,992 bytes, 617 lines download raw bytes

1/*@preserve
2 * Configuración de Adimedia del plugin Klaro
3 * v3.4.1
4 */
5var net = net || {};
6net.adimedia = net.adimedia || {};
7net.adimedia.utils = net.adimedia.utils || {};
8// https://javascript.info/cookie#getcookie-name
9net.adimedia.utils.getCookie = function getCookie(name) {
10  let matches = document.cookie.match(new RegExp(
11    "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
12  ));
13  return matches ? decodeURIComponent(matches[1]) : undefined;
14};
15// https://javascript.info/cookie#setcookie-name-value-attributes
16net.adimedia.utils.setCookie = function setCookie(name, value, attributes = {}) {
17  attributes = {
18    path: '/',
19    // add other defaults here if necessary
20    ...attributes
21  };
22
23  if (attributes.expires instanceof Date) {
24    attributes.expires = attributes.expires.toUTCString();
25  }
26
27  let updatedCookie = encodeURIComponent(name) + "=" + encodeURIComponent(value);
28
29  for (let attributeKey in attributes) {
30    updatedCookie += "; " + attributeKey;
31    let attributeValue = attributes[attributeKey];
32    if (attributeValue !== true) {
33      updatedCookie += "=" + attributeValue;
34    }
35  }
36
37  document.cookie = updatedCookie;
38};
39
40net.adimedia.klaro = net.adimedia.klaro || {};
41net.adimedia.klaro.idiomaActual = document.documentElement.dataset.langPoliticaCookies;
42net.adimedia.klaro.enlacePoliticaCookies = document.documentElement.dataset.enlacePoliticaCookies;
43net.adimedia.klaro.hideDeclineAll = false;
44// No bloqueamos el contenido en ningún momento para cumplir con la normativa
45net.adimedia.klaro.blockContentBeforeCookiesAcceptance = false;
46net.adimedia.klaro.getPreferencesCookiesConsent = function getPreferencesCookiesConsent() {
47	var consent = net.adimedia.klaro.getCookiesCategoryConsent('preferences');
48	return consent;
49};
50net.adimedia.klaro.getAnalyticsCookiesConsent = function getAnalyticsCookiesConsent() {
51	var consent = net.adimedia.klaro.getCookiesCategoryConsent('analytics');
52	return consent;
53};
54net.adimedia.klaro.getMarketingCookiesConsent = function getMarketingCookiesConsent() {
55	var consent = net.adimedia.klaro.getCookiesCategoryConsent('marketing');
56	return consent;
57};
58net.adimedia.klaro.getCookiesCategoryConsent = function getCookiesCategoryConsent(category) {
59	var klaroManager = klaro.getManager(klaroConfig);
60	var consent = klaroManager.getConsent(category);
61	return consent;
62};
63/*
64 * A watcher must implement an update(obj, name, data) function
65 * https://heyklaro.com/docs/api/js_api
66 * 
67 * Ejemplo de uso
68 * net.adimedia.klaro.watchForCookiesConsentUpdate({
69     update: function update(obj, name, data) {
70      if (name == "applyConsents" && obj.consents.preferences === true) {
71        console.log('Se ha aceptado la categoría de cookies "Preferencias"');
72      }
73
74      if (name == "applyConsents" && obj.consents.analytics === true) {
75        console.log('Se ha aceptado la categoría de cookies "Analytics"');
76      }
77
78      if (name == "applyConsents" && obj.consents.marketing === true) {
79        console.log('Se ha aceptado la categoría de cookies "Marketing"');
80      }
81     }
82    });
83 */
84net.adimedia.klaro.watchForCookiesConsentUpdate = function watchForCookiesConsentUpdate(watcher) {
85	var klaroManager = klaro.getManager(klaroConfig);
86	klaroManager.watch(watcher);
87};
88
89net.adimedia.klaro.esRequeridaActualizacionConsentimientoPorNuevosServiciosAniadidos = function esRequeridaActualizacionConsentimientoPorNuevosServiciosAniadidos() {
90  var configServicesLength = klaroConfig.services.length;
91  var cookieAsJson = JSON.parse(net.adimedia.utils.getCookie('klaro-rgpd'));
92  var cookieServicesLength = Object.keys(cookieAsJson).length;
93  return configServicesLength > cookieServicesLength;
94};
95
96// By default, Klaro will load the config from  a global "klaroConfig" variable.
97// You can change this by specifying the "data-config" attribute on your
98// script take, e.g. like this:
99// <script src="klaro.js" data-config="myConfigVariableName" />
100var klaroConfig = {
101  // With the 0.7.0 release we introduce a 'version' paramter that will make
102  // if easier for us to keep configuration files backwards-compatible in the future.
103  version: 1,
104
105  // You can customize the ID of the DIV element that Klaro will create
106  // when starting up. If undefined, Klaro will use 'klaro'.
107  elementID: 'klaro',
108
109  // You can override CSS style variables here. For IE11, Klaro will
110  // dynamically inject the variables into the CSS. If you still consider
111  // supporting IE9-10 (which you probably shouldn't) you need to use Klaro
112  // with an external stylesheet as the dynamic replacement won't work there.
113  // Opciones "light" y "dark"
114  styling: {
115    theme: ['dark', 'bottom', 'wide']
116  },
117
118  // Setting this to true will keep Klaro from automatically loading itself
119  // when the page is being loaded.
120  noAutoLoad: false,
121
122  // Setting this to true will render the descriptions of the consent
123  // modal and consent notice are HTML. Use with care.
124  htmlTexts: true,
125
126  // Setting 'embedded' to true will render the Klaro modal and n
126otice without
127  // the modal background, allowing you to e.g. embed them into a specific element
128  // of your website, such as your privacy notice.
129  embedded: false,
130
131  // You can group services by their purpose in the modal. This is advisable
132  // if you have a large number of services. Users can then enable or disable
133  // entire groups of services instead of having to enable or disable every service.
134  groupByPurpose: true,
135
136  // How Klaro should store the user's preferences. It can be either 'cookie'
137  // (the default) or 'localStorage'.
138  storageMethod: 'cookie',
139
140  // You can customize the name of the cookie that Klaro uses for storing
141  // user consent decisions. If undefined, Klaro will use 'klaro'.
142  cookieName: 'klaro-rgpd',
143
144  // You can also set a custom expiration time for the Klaro cookie.
145  // By default, it will expire after 120 days.
146  cookieExpiresAfterDays: 730,
147
148  // You can change to cookie domain for the consent manager itself.
149  // Use this if you want to get consent once for multiple matching domains.
150  // If undefined, Klaro will use the current domain.
151  //cookieDomain: '.github.com',
152
153  // Defines the default state for services (true=enabled by default).
154  default: false,
155
156  // If "mustConsent" is set to true, Klaro will directly display the consent
157  // manager modal and not allow the user to close it before having actively
158  // consented or declines the use of third-party services.
159  mustConsent: false,
160
161  // Show "accept all" to accept all services instead of "ok" that only accepts
162  // required and "default: true" services
163  acceptAll: true,
164
165  // replace "decline" with cookie manager modal
166  hideDeclineAll: net.adimedia.klaro.hideDeclineAll,
167
168  // hide "learnMore" link
169  hideLearnMore: false,
170
171  // show cookie notice as modal
172  noticeAsModal: false,
173
174  // You can also remove the 'Realized with Klaro!' text in the consent modal.
175  // Please don't do this! We provide Klaro as a free open source tool.
176  // Placing a link to our website helps us spread the word about it,
177  // which ultimately enables us to make Klaro! better for everyone.
178  // So please be fair and keep the link enabled. Thanks :)
179  disablePoweredBy: true,
180
181  // you can specify an additional class (or classes) that will be added to the Klaro `div`
182  //additionalClass: 'my-klaro',
183
184  // You can define the UI language directly here. If undefined, Klaro will
185  // use the value given in the global "lang" variable. If that does
186  // not exist, it will use the value given in the "lang" attribute of your
187  // HTML tag. If that also doesn't exist, it will use 'en'.
188  lang: net.adimedia.klaro.idiomaActual,
189
190  // You can overwrite existing translations and add translations for your
191  // service descriptions and purposes. See `src/translations/` for a full
192  // list of translations that can be overwritten:
193  // https://github.com/KIProtect/klaro/tree/master/src/translations
194
195  // Example config that shows how to overwrite translations:
196  // https://github.com/KIProtect/klaro/blob/master/src/configs/i18n.js
197  translations: {
198    // translationsed defined under the 'zz' language code act as default
199    // translations.
200    zz: {
201      privacyPolicyUrl: net.adimedia.klaro.enlacePoliticaCookies,
202      acceptAll: 'ACCEPT ALL',
203      acceptSelected: 'ACCEPT SELECTED',
204      close: 'Close',
205      consentModal: {
206        title: 'Configure cookies',
207        description:
208          'This website uses cookies and/or similar technologies that store and retrieve information in the user’s browser and which allow us to obtain information about your browsing for various purposes. The specific uses we make of these technologies are described below.'
209      },
210      consentNotice: {
211        description:
212          '<span class="title">We use cookies</span> We use our own and third-party cookies to analyze website usage and show you advertising related to your preferences based on a profile made from your browsing habits (for example, pages visited). <a href="' +
213          net.adimedia.klaro.enlacePoliticaCookies +
214          '">Cookie policy</a>.',
215        learnMore: 'CONFIGURE'
216      },
217      contextualConsent: {
218        acceptAlways: 'Always',
219        acceptOnce: 'Yes',
220        description: 'Do you want to load external content supplied by {title}?'
221      },
222      decline: 'REJECT',
223      ok: 'ACCEPT',
224      privacyPolicy: {
225        name: 'More information on our Cookie Policy page',
226        text: '{privacyPolicy}'
227      },
228      purposeItem: {
229        service: 'service',
230        services: 'services'
231      },
232      purposes: {
233        necessary: {
234          title: 'Techniques',
235          description:
236            'These cookies are necessary for the website to work, so they cannot be disabled. They are generally only set up in response to your actions when you request services, such as setting your privacy preferences, logging in, or filling out forms, and do not store personally identifiable information. If the user configures their browser to block these cookies, the website will not function correctly.'
237        },
238        preferences: {
239          title: 'Preferences',
240          description:
241            'They allow the website to remember information that changes the way the website behaves or looks, such as the user’s preferred language or the region where the user is located. If the user does not allow the use of these cookies, it is possible that some of these services may not work properly.'
242        },
243        analytics: {
244          title: 'Analysis',
245          description:
246            'They help website owners understand how visitors interact with websites by collecting and providing information anonymously.'
247        },
248        marketing: {
249          title: 'Behavioural advertising',
250          description:
251            'They allow us to analyse the user’s Internet browsing habits so that we can show them adverts related to their browsing profile.'
252        }
253      },
254      save: 'SAVE',
255      service: {
256        disableAll: {
257          description: 'Use this switch to enable or disable all services.',
258          title: 'Enable or disable all services'
259        },
260        purpose: 'Purpose',
261        purposes: 'Purposes',
262        required: {
263          description: 'This services is always required',
264          title: '(always required)'
265        }
266      },
267      siteNecessary: {
268        description: ''
269      },
270      sitePreferences: {
271        description:
272          "We use cookies to save the user's language (so that on subsequent visits the Web is loaded in that language), as well as to save the acceptance of the cookie policy of this site and not to show you the warning message again.<br>If these cookies are disabled you will not be able to correctly receive our content and services."
273      }
274    },
275    // If you erase the "consentModal" translations, Klaro will use the
276    // bundled translations.
277    es: {
278      privacyPolicyUrl: net.adimedia.klaro.enlacePoliticaCookies,
279      acceptAll: 'ACEPTAR TODAS',
280      acceptSelected: 'ACEPTAR SELECCIONADAS',
281      close: 'Cerrar',
282      consentModal: {
283        title: 'Configurar cookies',
284        description:
285          "En este apartado puedes activar y desactivar las cookies en función de su finalidad. Si clicas en \"Aceptar seleccionadas\" o \"Guardar\" sin haber activado ninguna funcionalidad, se considerará que rechazas las cookies."
286      },
287      consentNotice: {
288        description:
289          "<span class='title'>Usamos cookies</span> Utilizamos cookies propias y de terceros para analizar el uso del sitio web y mostrarte publicidad relacionada con tus preferencias sobre la base de un perfil elaborado a partir de tus hábitos de navegación (por ejemplo, páginas visitadas). <a href=\"" +
290          net.adimedia.klaro.enlacePoliticaCookies +
291          "\">Política de cookies</a>.",
292      learnMore: 'CONFIGURAR COOKIES',
293        learnMore: 'CONFIGURAR',
294        changeDescription: 'El uso de nuevos servicios en este sitio web requieren la renovación de su consentimiento.',
295      },
296      contextualConsent: {
297        acceptAlways: 'Siempre',
298        acceptOnce: 'Sólo esta vez',
299        description:
300          '¿Quieres cargar contenido externo? Haciéndolo aceptas el uso de cookies de terceros para mostrarte publicidad personalizada.'
301      },
302      decline: 'RECHAZAR',
303      ok: 'ACEPTAR',
304      privacyPolicy: {
305        name: 'Más información en nuestra página de Política de cookies',
306        text: '{privacyPolicy}'
307      },
308      purposeItem: {
309        service: 'servicio',
310        services: 'servicios'
311      },
312      purposes: {
313        necessary: {
314          title: 'Técnicas',
315          description:
316            'Estas cookies son necesarias para que la página web funcione, por lo que no se pueden desactivar. Por lo general, solo se configuran en respuesta a sus acciones realizadas al solicitar servicios, como establecer sus preferencias de privacidad, iniciar sesión o completar formularios, en ningún caso almacenan información de identificación personal. En caso de que el usuario configure su navegador para bloquear estas cookies, la página web no funcionaría correctamente.'
317        },
318        preferences: {
319          title: 'Preferencias',
320          description:
321            'Permiten a la página web recordar información que cambia la forma en que la página se comporta o el aspecto que tiene, como el idioma preferido por el usuario o la región en la que el usuario se encuentra. Si el usuario no permite utilizar estas cookies, es posible que algunos de estos servicios no funcionen correctamente.'
322        },
323        analytics: {
324          title: 'Análisis',
325          description:
326            'Ayudan a los propietarios de páginas web a comprender cómo interactúan los visitantes con las páginas web reuniendo y proporcionando información de forma anónima.'
327        },
328        marketing: {
329          title: 'Publicidad comportamental',
330          description:
331            'Permiten analizar los hábitos de navegación en Internet del usuario para que podamos mostrarle publicidad relacionada con su perfil de navegación.'
332        }
333      },
334      save: 'GUARDAR',
335      service: {
336        disableAll: {
337          description:
338            'Utilice este interruptor para activar o desactivar todos los servicios.',
339          title: 'Activar o desactivar todos los servicios'
340        },
341        purpose: 'Finalidad',
342        purposes: 'Finalidades',
343        required: {
344          description: 'Este servicio es necesario siempre',
345          title: '(siempre requerido)'
346        }
347      },
348      siteNecessary: {
349        description: ''
350      },
351      sitePreferences: {
352        description:
353          'Utilizamos cookies para guardar el idioma del usuario (para que en posteriores visitas se cargue la Web en dicho idioma), así como para guardar la aceptación de la política de cookies de este sitio y no volver a mostrarte el mensaje de aviso.<br>Si se desactivan estas cookies no podrá recibir correctamente nuestros contenidos y servicios.'
354      }
355    },
356    eu: {
357      privacyPolicyUrl: net.adimedia.klaro.enlacePoliticaCookies,
358      acceptAll: 'ONARTU DENAK',
359      acceptSelected: 'ONARTU HAUTATUTAKOAK',
360      close: 'Itxi',
361      consentModal: {
362        title: 'Cookieak konfiguratu',
363        description:
364          'Atal honetan cookieak aktibatu eta desaktibatu ditzakezu, helburuaren arabera. Funtzionaltasunik aktibatu gabe "Onartu hautatuak" edo "Gorde" botoietan klik egiten baduzu, cookieak baztertzen dituzula ulertuko da.'
365      },
366      consentNotice: {
367        description:
368        "<span class='title'>Cookieak erabiltzen ditugu</span> Gure cookieak eta hirugarrenenak erabiltzen ditugu webgunearen erabilera aztertzeko eta zure lehentasunekin lotutako publizitatea erakusteko, zure nabigazio-ohituretan oinarrituta egindako profil batean oinarrituta (adibidez, bisitatutako orriak). <a href=\"" +
369        net.adimedia.klaro.enlacePoliticaCookies +
370        "\">Cookie-politika</a>.",
371        learnMore: 'KONFIGURATU'
372      },
373      contextualConsent: {
374        acceptAlways: 'Beti',
375        acceptOnce: 'Oraingoan bakarrik',
376        description: 'Kanpoko edukia kargatu nahi duzu? Onartzen duzu hirugarrenen cookie-ak erabiltzea publizitate pertsonalizatua erakusteko.'
377      },
378      decline: 'BAZTERTU',
379      ok: 'ONARTU',
380      privacyPolicy: {
381        name: 'Informazio gehiago gure Cookie-politika orrian',
382        text: '{privacyPolicy}'
383      },
384      purposeItem: {
385        service: 'zerbitzua',
386        services: 'zerbitzuak'
387      },
388      purposes: {
389        necessary: {
390          title: 'Teknikoak',
391          description:
392            'Cookie hauek beharrezkoak dira web orriak funtziona dezan, beraz, ezin dira desaktibatu. Oro har, soilik konfiguratzen dira erabiltzaileak zerbitzuak eskatzean egiten dituen ekintzei erantzuteko, besteak beste pribatutasun lehentasunak ezartzeko, saioa hasteko edo inprimakiak betetzeko, eta inola ere ez dute gordetzen identifikazio pertsonalerako informaziorik.  Erabiltzaileak bere nabigatzailea konfiguratzen badu cookie horiek blokeatzeko, web orriak ez du ongi funtzionatuko.'
393        },
394        preferences: {
395          title: 'Lehentasunekoak',
396          description:
397            'Cookie hauen bitartez, web orriak gogoan hartzen du bere portaera edo itxura aldatzen duen informazioa, esaterako, erabiltzaileak zein hizkuntza duen nahiago edo zein eskualdetan dagoen. Erabiltzaileak ez badu baimenik ematen cookie hauek erabiltzeko, posible da zerbitzu horietako batzuek ongi ez funtzionatzea.'
398        },
399        analytics: {
400          title: 'Analisikoak',
401          description:
402            'Web orrien jabeei laguntzen diete ulertzen nola harremantzen diren bisitariak euren web orriekin, informazio anonimoa bilduz eta eskainiz.'
403        },
404        marketing: {
405          title: 'Portaeraren araberako publizitatekoak',
406          description:
407            'Cookie hauen bitartez, erabiltzailearen Interneteko nabigazio-ohiturak aztertzen dira, horrela bere nabigazio-profilaren araberako publizitatea erakusteko.'
408        }
409      },
410      save: 'GORDE',
411      service: {
412        disableAll: {
413          description:
414            'Erabili etengailu hau zerbitzu guztiak aktibatzeko edo desaktibatzeko.',
415          title: 'Aktibatu edo desaktibatu zerbitzu guztiak'
416        },
417        purpose: 'Helburua',
418        purposes: 'Helburuak',
419        required: {
420          description: 'Zerbitzu hau beharrezkoa da beti',
421          title: '(beti beharrezkoa)'
422        }
423      },
424      siteNecessary: {
425        description: ''
426      },
427      sitePreferences: {
428        description:
429          'Cookieak erabiltzen ditugu erabiltzailearen hizkuntza gordetzeko (hurrengo bisitetan webgunea hizkuntza horretan kargatzeko), bai eta gune horretako cookie-politikaren onarpena gordetzeko eta ohar-mezua berriro ez bistaratzeko ere.'
430      }
431    },
432    fr: {
433      privacyPolicyUrl: net.adimedia.klaro.enlacePoliticaCookies,
434      acceptAll: 'TOUT ACCEPTER',
435      acceptSelected: 'ACCEPTER LA SÉLECTION',
436      close: 'Fermer',
437      consentModal: {
438        title: 'Configuration des cookies',
439        description:
440          'Ce site web utilise des cookies et/ou des technologies similaires qui stockent et récupèrent des informations dans le navigateur de l’utilisateur et qui permettent d’obtenir des informations sur sa navigation à des fins diverses. Les utilisations spécifiques que nous faisons de ces technologies sont décrites ci-dessous.'
441      },
442      consentNotice: {
443        description:
444          '<span class="title">
444Nous utilisons des cookies</span> Nous utilisons nos propres cookies et ceux de tiers pour analyser l’utilisation du site web et vous montrer de la publicité liée à vos préférences sur la base d’un profil élaboré à partir de vos habitudes de navigation (par exemple, les pages visitées). <a href="' +
445          net.adimedia.klaro.enlacePoliticaCookies +
446          '">Politique de cookies</a>.',
447        learnMore: 'CONFIGURER',
448        changeDescription: 'L’utilisation de nouveaux services sur ce site web nécessite le renouvellement de votre consentement.',
449      },
450      contextualConsent: {
451        acceptAlways: 'Toujours',
452        acceptOnce: 'Juste pour cette fois',
453        description:
454          'Voulez-vous télécharger un contenu externe ? En le faisant, vous acceptez l’utilisation de cookies tiers pour vous montrer des publicités personnalisées.'
455      },
456      decline: 'REFUSER',
457      ok: 'ACCEPTER',
458      privacyPolicy: {
459        name: 'Plus d’informations sur notre page Politique en matière de cookies',
460        text: '{privacyPolicy}'
461      },
462      purposeItem: {
463        service: 'service',
464        services: 'services'
465      },
466      purposes: {
467        necessary: {
468          title: 'Techniques',
469          description:
470            'Ces cookies sont nécessaires au fonctionnement du site web et ne peuvent être désactivés. Ils ne sont généralement définis qu’en réponse à vos actions lors de la demande de services, comme la définition de vos préférences en matière de confidentialité, votre connexion ou le remplissage de formulaires, et ne stockent jamais d’informations personnelles d’identification. Si vous configurez votre navigateur pour bloquer ces cookies, le site web ne fonctionnera pas correctement.'
471        },
472        preferences: {
473          title: 'Préférences',
474          description:
475            'Ils permettent au site web de mémoriser des informations qui modifient le comportement ou l’apparence du site, comme la langue préférée de l’utilisateur ou la région dans laquelle il se trouve. Si l’utilisateur n’autorise pas l’utilisation de ces cookies, certains de ces services peuvent ne pas fonctionner correctement.'
476        },
477        analytics: {
478          title: 'Analyse',
479          description:
480            'Ils aident les propriétaires de sites web à comprendre comment les visiteurs interagissent avec les sites web en collectant et en fournissant des informations de façon anonyme.'
481        },
482        marketing: {
483          title: 'Publicité comportementale',
484          description:
485            'Ils permettent d’analyser les habitudes de navigation de l’utilisateur sur Internet afin de lui présenter des publicités adaptées à son profil de navigation.'
486        }
487      },
488      save: 'ENREGISTRER',
489      service: {
490        disableAll: {
491          description:
492            'Utiliser ce bouton pour activer ou désactiver tous les services.',
493          title: 'Activer ou désactiver tous les services'
494        },
495        purpose: 'Finalité',
496        purposes: 'Finalités',
497        required: {
498          description: 'Ce service est toujours nécessaire',
499          title: '(toujours requis)'
500        }
501      },
502      siteNecessary: {
503        description: ''
504      },
505      sitePreferences: {
506        description:
507          'Nous utilisons des cookies pour sauvegarder la langue de l’utilisateur (afin que lors des visites suivantes, le site web se charge dans cette langue), ainsi que pour sauvegarder l’acceptation de la politique de cookies de ce site et ne pas vous montrer à nouveau le message d’avertissement.<br>Si ces cookies sont désactivés, vous ne pourrez pas recevoir correctement nos contenus et services.'
508      }
509    },
510  },
511  //list of third-party services that Klaro will manage for you.
512  //NOTA: "contextualConsentOnly" - setting this to true will exempt this service from the "Accept All", so clicking on "Accept All" will NOT enable this service.
513  services: [
514    {
515      default: true,
516      name: 'klaro',
517      onAccept: function () {
518        // Si el usuario ha aceptado el uso de alguna cookie
519        if (document.cookie.indexOf('klaro-rgpd') !== -1) {
520          if (net.adimedia.klaro.esRequeridaActualizacionConsentimientoPorNuevosServiciosA
520niadidos()) return;
521          var body = document.getElementsByTagName('body')[0];
522          // Si el contenido de la página estaba bloqueado
523          if (body.classList.contains('klaro_cortinilla')) {
524              body.classList.remove('klaro_visible');
525          }
526        }
527      },
528      onInit: function () {
529        // initialization code here (will be executed only once per page-load)
530        document.addEventListener('click', function(e) {
531          if(e.target.classList.contains('js-show-cookie-modal')) {
532            klaro.show(klaroConfig, true);
533          }
534        });
535
536        // Si el usuario aún no ha aceptado el uso de ninguna cookie
537        if (document.cookie.indexOf('klaro-rgpd') === -1 || net.adimedia.klaro.esRequeridaActualizacionConsentimientoPorNuevosServiciosAniadidos()) {
538          // Si queremos bloquear el contenido de la página hasta que el usuario acepte todas o parte de las cookies
539          if (net.adimedia.klaro.blockContentBeforeCookiesAcceptance) {
540            var body = document.getElementsByTagName('body')[0];
541            body.classList.add('klaro_cortinilla');
542            body.classList.add('klaro_visible');
543          }
544        }
545
546        // Requisito para notificar a anayltics, vía eventos, la aceptación de cookies de analytics y marketing
547        window.dataLayer = window.dataLayer || [];
548        window.gtag = function(){dataLayer.push(arguments)};
549      },
550      purposes: ['necessary'],
551      required: true,
552    },
553    {
554      cookies: [
555        'cookie-preferences-example',
556      ],
557      name: 'preferences',
558      purposes: ['preferences'],
559      required: true,
560    },
561    {
562      // In GTM, you should define a custom event trigger named `gdpr-analytics-accepted` which should trigger the Google Analytics integration.
563      cookies: [
564        [/^__utm.$/, '/', window.location.hostname.replace('www', '')], // Google Analytics (__utmz, __utmc, __utmb, __utma, __utmt)
565        [/^_g(at?|id)(_.*)?/, '/', window.location.hostname.replace('www', '')], // Google Analytics
566        [/^_dc_gtm_UA-\d+\-\d+$/, '/', window.location.hostname.replace('www', '')] // Google Analytics (_dc_gtm_UA-*)
567      ],
568      name: 'analytics',
569      onAccept: function (opts) {
570        dataLayer.push({'event': 'gdpr-analytics-accepted'})
571      },
572      purposes: ['analytics'],
573    },
574    {
575      cookies: [
576        /*
577          ATENCIÓN: Ordenar las cookies alfabéticamente por dominio y nombre de cookie.
578          
579          Notice that it is not possible to delete cookies that were set on a third-party domain,
580          or cookies that have the HTTPOnly attribute:
581          https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie#new-cookie_domain
582        */
583       '__atuvs', // AddThis
584       '__atuvc', // AddThis
585       ['loc', '/', '.addthiss.com'],
586       ['na_id', '/', '.addthiss.com'],
587       ['na_tc', '/', '.addthiss.com'],
588       ['ouid', '/', '.addthiss.com'],
589       ['ssc', '/', '.addthiss.com'],
590       ['uid', '/', '.addthiss.com'],
591       ['uvc', '/', '.addthiss.com'],
592       ['IDE', '/', '.doubleclick.net'],
593       ['_fbp', '/', window.location.hostname.replace('www', '')], // píxel de facebook
594       ['1P_JAR', '/', '.google.com'],
595       ['CONSENT', '/', '.google.com'],
596       ['DV', '/', '.google.com'],
597       ['NID', '/', '.google.com'],
598       ['OGPC', '/', '.google.com'],
599       ['CONSENT', '/', '.google.es'],
600       ['NID', '/', '.google.es'],
601       ['eu_cn', '/', '.twitter.com'],
602       ['external_referer', '/', '.twitter.com'],
603       ['G_ENABLED_IDPS', '/', '.twitter.com'],
604       ['_ga', '/', '.twitter.com'],
605       ['guest_id', '/', '.twitter.com'],
606       ['personalization_id', '/', '.twitter.com'],
607       ['VISITOR_INFO1_LIVE', '/', '.youtube.com'],
608       ['CONSENT', '/', '.youtube.com'],
609      ],
610      name: 'marketing',
611      onAccept: function (opts) {
612        dataLayer.push({'event': 'gdpr-marketing-accepted'})
613      },
614      purposes: ['marketing'],
615    },
616  ]
617}

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.