Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

gdpr-consent

Package Overview
Dependencies
Maintainers
1
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gdpr-consent - npm Package Compare versions

Comparing version 1.1.2 to 2.0.0

2

build/gdpr-consent.js

@@ -1,1 +0,1 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.GDPRConsent=t():e.GDPRConsent=t()}(self,(()=>(()=>{var e={20:(e,t,a)=>{"use strict";function n(e){void 0!==e&&window.dispatchEvent(new Event(e))}function o(e,t,a,n,o,i){let s,r=!1;!1===n?"function"==typeof a&&a():(s=document.createElement("script"),s.type="text/javascript",s.id=void 0!==t?t:"",s.async=!0,s.src=e,void 0!==o&&void 0!==i&&s.setAttribute(o,i),"function"==typeof a&&(s.onreadystatechange=s.onload=function(){const e=s.readyState;r||e&&!/loaded|complete/.test(e)||(r=!0,a())}),document.getElementsByTagName("head")[0].appendChild(s))}function i(e,t){const a=document.getElementsByTagName("*");let n,o=0;for(n in a)if(void 0!==a[n])for(o=0;o<e.length;o+=1)(" "+a[n].className+" ").indexOf(" "+e[o]+" ")>-1&&t(a[n])}function s(e,t,a){null!==document.getElementById(e)&&(document.getElementById(e).style[t]=a)}a.d(t,{Z:()=>T});const r={siteDisclaimerTitle:"«&nbsp;Le site qui raconte l’actualité en séries&nbsp;»",siteDisclaimerMessage:'<i>Les&nbsp;Jours</i> sont un média <a data-ga-type="click" data-ga-category="Bottom Bar" data-ga-action="Navigate" data-ga-label="Les Jours c’est quoi ?" href="/les-jours-c-quoi/">indépendant et sans pub</a> accessible par <a data-ga-type="click" data-ga-category="Bottom Bar" data-ga-action="Navigate" data-ga-label="Abonnement" href="/abonnement/jouriste">abonnement</a>. Découvrez <a data-ga-category="Bottom Bar" data-ga-action="Navigate" data-ga-label="Les Jours en Clair" href="/les-jours-en-clair/">notre zone gratuite</a>&nbsp;: l’actualité en profondeur, avec des épisodes, des personnages, des lieux.',alertBigScroll:"En continuant de défiler,",alertBigClick:"En poursuivant votre navigation,",alertBig:"vous acceptez l’utilisation de services tiers pouvant installer des cookies",alertBigPrivacy:"Ce site utilise des cookies et vous donne le contrôle sur ce que vous souhaitez activer",personalize:"Personnaliser",acceptAll:"Tout autoriser",continue:"Continuer sans accepter",close:"Fermer",all:"Préférences pour tous les services",disclaimer:"En autorisant ces services tiers, vous acceptez le dépôt et la lecture de cookies et l’utilisation de technologies de suivi nécessaires à leur bon fonctionnement.",disclaimerWebsite:"Ces services nous aident à améliorer",allow:"Autoriser",deny:"Interdire",noCookie:"Ce service ne dépose aucun cookie.",useCookie:"Ce service peut déposer",useCookieCurrent:"Ce service a déposé",useNoCookie:"Ce service n’a déposé aucun cookie.",source:"Voir le site officiel",noServices:"Ce site n’utilise aucun cookie nécessitant votre consentement.",title:"Panneau de gestion des cookies",newWindow:"(nouvelle fenêtre)",allowAll:"Tout autoriser",denyAll:"Tout interdire",ads:{title:"Régies publicitaires (pour nous faire connaître)",details:"Les régies publicitaires permettent de générer des revenus en commercialisant les espaces publicitaires du site."},analytic:{title:"Mesure de navigation (ergonomie) et d’audience",details:"Les services de mesure d’audience permettent de générer des statistiques de fréquentation utiles à l’amélioration du site."},social:{title:"Réseaux sociaux (boutons de partage et Twitter cards)",details:"Les réseaux sociaux permettent d’améliorer la convivialité du site et aident à sa promotion via les partages."},video:{title:"Vidéos",details:"Les services de partage de vidéo permettent d’enrichir le site de contenu multimédia et augmentent sa visibilité."},comment:{title:"Commentaires",details:"Les gestionnaires de commentaires facilitent le dépôt de vos commentaires et luttent contre le spam."},support:{title:"Support",details:"Les services de support vous permettent d’entrer en contact avec l’équipe du site et d’aider à son amélioration."},api:{title:"Services",details:"Les APIs permettent de charger des scripts : géolocalisation, moteurs de recherche, traductions, ..."},other:{title:"Autre",details:"Services visant à afficher du contenu web."},mandatoryTitle:"Cookies obligatoires",mandatoryText:"Ce site utilise des cookies nécessaires à son bon fonctionnement qui ne peuvent pas être désactivés."},c={siteDisclaimerTitle:"«&nbsp;Le site qui raconte l’actualité en séries&nbsp;»",siteDisclaimerMessage:'<i>Les&nbsp;Jours</i> sont un média <a data-ga-type="click" data-ga-category="Bottom Bar" data-ga-action="Navigate" data-ga-label="Les Jours c’est quoi ?" href="/les-jours-c-quoi/">indépendant et sans pub</a> accessible par <a data-ga-type="click" data-ga-category="Bottom Bar" data-ga-action="Navigate" data-ga-label="Abonnement" href="/abonnement/jouriste">abonnement</a>. Découvrez <a data-ga-category="Bottom Bar" data-ga-action="Navigate" data-ga-label="Les Jours en Clair" href="/les-jours-en-clair/">notre zone gratuite</a>&nbsp;: l’actualité en profondeur, avec des épisodes, des personnages, des lieux.',alertBigScroll:"By continuing to scroll,",alertBigClick:"If you continue to browse this website,",alertBig:"you are allowing all third-party services",alertBigPrivacy:"This site uses cookies and gives you control over what you want to activate",personalize:"Personalize",acceptAll:"OK, accept all",continue:"Reject cookies & keep on browsing",close:"Close",all:"Preference for all services",disclaimer:"By allowing these third party services, you accept their cookies and the use of tracking technologies necessary for their proper functioning.",disclaimerWebsite:"These services help us improve",allow:"Allow",deny:"Deny",noCookie:"This service does not use cookie.",useCookie:"This service can install",useCookieCurrent:"This service has installed",useNoCookie:"This service has not installed any cookie.",source:"View the official website",noServices:"This website does not use any cookie requiring your consent.",title:"Cookies management panel",newWindow:"(new window)",allowAll:"Allow all cookies",denyAll:"Deny all cookies",ads:{title:"Advertising network (to let us know)",details:"Ad networks can generate revenue by selling advertising space on the site."},analytic:{title:"Navigation (ergonomics) and audience measurement",details:"The audience measurement services used to generate useful statistics attendance to improve the site."},social:{title:"Social networks (sharing buttons and Twitter cards)",details:"Social networks can improve the usability of the site and help to promote it via the shares."},video:{title:"Videos",details:"Video sharing services help to add rich media on the site and increase its visibility."},comment:{title:"Comments",details:"Comments managers facilitate the filing of comments and fight against spam."},support:{title:"Support",details:"Support services allow you to get in touch with the site team and help to improve it."},api:{title:"Services",details:"APIs are used to load scripts: geolocation, search engines, translations, ..."},other:{title:"Other",details:"Services to display web content."},mandatoryTitle:"Mandatory cookies",mandatoryText:"This site uses cookies necessary for its proper functioning which cannot be deactivated."},l=e=>({key:"facebookpixel",type:"ads",name:"Facebook Pixel",uri:"https://www.facebook.com/policies/cookies/",needConsent:!0,lazyConsent:!1,cookies:["datr","fr","reg_ext_ref","reg_fb_gate","reg_fb_ref","sb","wd","x-src"],js:function(){if(window.fbq)return;const t=window.fbq=function(){t.callMethod?t.callMethod.apply(t,arguments):t.queue.push(arguments)};window._fbq||(window._fbq=t),t.push=t,t.loaded=!0,t.version="2.0",t.queue=[],o("//connect.facebook.net/en_US/fbevents.js","facebook-fbevents",(function(){fbq("init",e.fbPixelId),fbq("track","PageView")}))}}),d=e=>({key:"googletagmanager",type:"api",name:"Google Tag Manager",uri:"https://adssettings.google.com/",needConsent:!0,lazyConsent:!1,cookies:["_ga","_gat","__utma","__utmb","__utmc","__utmt","__utmz","__gads","_drt_","FLC","exchange_uid","id","fc","rrs","rds","rv","uid","UIDR","UID","clid","ipinfo","acs"],js:function(){void 0!==e.googletagmanagerId&&(window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":(new Date).getTime(),event:"gtm.js"}),o("https://www.googletagmanager.com/gtm.js?id="+e.googletagmanagerId))}}),u=e=>({key:"gtag",type:"analytic",name:"Google Analytics (gtag.js)",uri:"https://support.google.com/analytics/answer/6004245",needConsent:!0,lazyConsent:!1,cookies:function(){let t="_gat_gtag_"+e.gtagUa;return t=t.replace(/-/g,"_"),["_ga","_gat","_gid","__utma","__utmb","__utmc","__utmt","__utmz",t]}(),js:function(){window.dataLayer=window.dataLayer||[],o("https://www.googletagmanager.com/gtag/js?id="+e.gtagUa,"",(function(){window.gtag=function(){window.dataLayer.push(arguments)},gtag("js",new Date),e.gtagInitOptions?gtag("config",e.gtagUa,e.gtagInitOptions):gtag("config",e.gtagUa),"function"==typeof e.gtagMore&&e.gtagMore()}))}}),g=a(187),p=a(187),m={};function v(e,t){let a;for(a=0;a<e.length;a+=1)if(e[a]===t)return!0;return!1}function f(e){const t=e.cookieName+"=",a=document.cookie.split(";");let n,o;for(n=0;n<a.length;n+=1){for(o=a[n];" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return o.substring(t.length,o.length)}return""}const y={read:f,create:function(e,t,a){const n=new Date,o=n.getTime()+a.timeExpire,i=new RegExp("!"+e+"=(wait|true|false)","g"),s=f(a).replace(i,""),r=a.cookieName+"="+s+"!"+e+"="+t;n.setTime(o),document.cookie=r+"; expires="+n.toGMTString()+"; path=/;"},purge:function(e){let t;for(t=0;t<e.length;t+=1)document.cookie=e[t]+"=; expires=Thu, 01 Jan 2000 00:00:00 GMT; path=/;",document.cookie=e[t]+"=; expires=Thu, 01 Jan 2000 00:00:00 GMT; path=/; domain=."+location.hostname+";",document.cookie=e[t]+"=; expires=Thu, 01 Jan 2000 00:00:00 GMT; path=/; domain=."+location.hostname.split(".").slice(-2).join(".")+";"},checkCount:function(e,t,a){const n=t.cookies,o=n.length;let i,s=0,r="";const c=document.cookie.indexOf(e+"=true");if(c>=0&&0===o)r+=a.useNoCookie;else if(c>=0){for(i=0;i<o;i+=1)-1!==document.cookie.indexOf(n[i]+"=")&&(s+=1,void 0===m[n[i]]&&(m[n[i]]=[]),!1===v(m[n[i]],t.name)&&m[n[i]].push(t.name));s>0?(r+=a.useCookieCurrent+" "+s+" cookie",s>1&&(r+="s"),r+="."):r+=a.useNoCookie}else 0===o?r=a.noCookie:(r+=a.useCookie+" "+o+" cookie",o>1&&(r+="s"),r+=".");null!==document.getElementById("tacCL"+e)&&(document.getElementById("tacCL"+e).innerHTML=r)}};function b(){const e="tarteaucitron";var t;s(e+"-percentage","display","none"),s(e+"-alert-big","display","none"),t=e+"-root",null!==document.getElementById(t)&&document.getElementById(t).classList.remove("tarteaucitron-before-visible"),n("tac.close_alert")}function h(e,t,a){const n=document.getElementById(e+"Switch"),o=document.getElementById(e+"Allowed"),i=document.getElementById(e+"Denied");let s,r,c,l=!1,d=0,u=0;for(n.classList.remove("switch-denied"),n.classList.remove("switch-allowed"),o.classList.remove("active"),i.classList.remove("active"),!0===t?(n.classList.add("switch-allowed"),n.children[0].innerHTML="&#10003;",o.classList.add("active")):(n.classList.add("switch-denied"),n.children[0].innerHTML="&#10007;",i.classList.add("active")),s=0;s<a.job.length;s++)r=a.job[s],c=a.state[r],void 0!==c?!0===c?d+=1:u+=1:!0!==a.services[r].lazyConsent&&(l=!0);l||b(),d===a.job.length?(document.getElementById("tarteaucitron-all-denied").classList.remove("tarteaucitron-is-selected"),document.getElementById("tarteaucitron-all-allowed").classList.add("tarteaucitron-is-selected")):u===a.job.length&&(document.getElementById("tarteaucitron-all-allowed").classList.remove("tarteaucitron-is-selected"),document.getElementById("tarteaucitron-all-denied").classList.add("tarteaucitron-is-selected")),!0===t?(null!==document.getElementById("tacCL"+e)&&(document.getElementById("tacCL"+e).innerHTML="..."),setTimeout((function(){y.checkCount(e,a.services[e],a.lang)}),2500)):y.checkCount(e,a.services[e],a.lang)}const k={closeAlert:b,openAlert:function(){const e="tarteaucitron";var t;s(e+"-percentage","display","block"),s(e+"-alert-big","display","block"),t=e+"-root",null!==document.getElementById(t)&&document.getElementById(t).classList.add("tarteaucitron-before-visible"),n("tac.open_alert")},closePanel:function(e){document.location.hash===e.hashtag&&(window.history?window.history.replaceState("",document.title,window.location.pathname+window.location.search):document.location.hash=""),s("tarteaucitron","display","none"),i(["tarteaucitron-info-box"],(function(e){e.style.display="none"})),!0===e.reloadThePage?window.location.reload():s("tarteaucitron-back","display","none"),null!==document.getElementById("tarteaucitron-close-alert")&&document.getElementById("tarteaucitron-close-alert").focus(),document.getElementsByTagName("body")[0].classList.remove("modal-open"),n("tac.close_panel")},openPanel:function(e){let t;for(s("tarteaucitron","display","block"),s("tarteaucitron-back","display","block"),document.getElementById("tarteaucitron-close-panel").focus(),document.getElementsByTagName("body")[0].classList.add("modal-open"),t=0;t<e.job.length;t++)void 0!==e.state[e.job[t]]&&h(e.job[t],e.state[e.job[t]],e);n("tac.open_panel")},respondAll:function(e,t,a){const n=t.services;let o,i,s=0;for(s=0;s<t.job.length;s+=1)o=n[t.job[s]],i=o.key,t.state[i]!==e&&(!1===e&&!0===t.launch[i]&&(t.reloadThePage=!0),!0!==t.launch[i]&&!0===e&&(t.launch[i]=!0,t.services[i].js()),t.state[i]=e,y.create(i,e,a),h(i,e,t))},respond:function(e,t,a,o){const i=e.id.replace(/(Eng[0-9]+|Allow|Deni)ed|Switch/g,"");let s;const r=function(e){return e.clientX}(o),c=e.getBoundingClientRect();if(e.classList.contains("tarteaucitron-switch"))s=void 0!==t.state[i]?!!e.classList.contains("switch-denied"):r<c.left+e.clientWidth/2;else if(e.classList.contains("tarteaucitron-switch-state"))if(e.id.includes("Allowed")&&!0!==t.state[i])s=!0;else{if(!e.id.includes("Denied")||!1===t.state[i])return;s=!1}!0===s&&!0!==t.launch[i]&&(t.launch[i]=!0,n(i+"_loaded"),t.services[i].js()),!1===s&&!0===t.launch[i]&&(t.reloadThePage=!0),t.state[i]=s,y.create(i,s,a),h(i,s,t)},activate:function(e,t,a){!0!==t.launch[e]&&(t.launch[e]=!0,n(e+"_loaded"),t.services[e].js(),t.state[e]=!0,y.create(e,!0,a),h(e,!0,t))},toggle:function(e,t){const a=document.getElementById(e);null!==a&&(void 0!==t&&i([t],(function(t){t.id!==e&&(t.style.display="none")})),"block"!==a.style.display?a.style.display="block":a.style.display="none")},order:function(e,t){const a=document.getElementById("tarteaucitron-services_"+e);null!==a&&"function"==typeof Array.prototype.map&&"undefined"==typeof Enumerable&&Array.prototype.map.call(a.children,Object).sort((function(e,a){return t.services[e.id.replace(/-line/g,"")].name>t.services[a.id.replace(/-line/g,"")].name?1:t.services[e.id.replace(/-line/g,"")].name<t.services[a.id.replace(/-line/g,"")].name?-1:0})).forEach((function(e){a.appendChild(e)}))}},w=function(e){27===e.keyCode&&k.closePanel()},C=function(e){document.location.hash===e.parameters.hashtag&&k.openPanel(e)},_=a(187),L={user:{},lang:{},services:{},added:[],idprocessed:[],state:[],launch:[],parameters:{},reloadThePage:!1,alreadyLaunch:0,init:function(e){L.parameters=e||{},0===L.alreadyLaunch&&(L.alreadyLaunch=1,window.addEventListener("keydown",(function(e){w(e)}),!1),window.addEventListener("hashchange",(function(){C(L)}),!1),"complete"===window.document.readyState?L.load():window.addEventListener("load",(function(){L.load()}),!1))},load:function(){const e={hashtag:"#tarteaucitron",cookieName:"tarteaucitron",timeExpire:31536e6,websiteName:void 0,AcceptAllCta:!0,moreInfoLink:!0,mandatory:!0};if(void 0!==L.parameters)for(const t in e)Object.prototype.hasOwnProperty.call(L.parameters,t)||(L.parameters[t]=e[t]);var t;L.lang="fr"===function(){if(!navigator)return"en";const e=navigator.language||navigator.browserLanguage||navigator.systemLanguage||navigator.userLang||null,t=e?e.substr(0,2):null;return-1==="en,fr".indexOf(t)?"en":t}()?r:c,L.services=(t=L.user,{facebook:{key:"facebook",type:"social",name:"Facebook",uri:"https://www.facebook.com/policies/cookies/",needConsent:!0,lazyConsent:!1,cookies:[],js:function(){o("//connect.facebook.net/"+function(){if(!navigator)return"en_US";const e=navigator.language||navigator.browserLanguage||navigator.systemLanguage||navigator.userLang||null;return"fr"===(e?e.substr(0,2):null)?"fr_FR":"en_US"}()+"/sdk.js","facebook-jssdk")}},facebookpixel:l(t),googletagmanager:d(t),gtag:u(t),twitter:{key:"twitter",type:"social",name:"Twitter",uri:"https://support.twitter.com/articles/20170514",needConsent:!0,lazyConsent:!1,cookies:[],js:function(){o("//platform.twitter.com/widgets.js","twitter-wjs")}},vimeo:{key:"vimeo",type:"video",name:"Vimeo",uri:"https://vimeo.com/privacy",needConsent:!0,lazyConsent:!0,cookies:["__utmt_player","__utma","__utmb","__utmc","__utmv","vuid","__utmz","player"],js:function(){const e=document.getElementsByTagName("div");let t,a;for(t=0;t<e.length;t++)e[t].classList.contains("tarteaucitron-vimeo")&&(a=e[t].getAttribute("data-tarteaucitron-src"),e[t].innerHTML='<iframe src="'+g(a)+'" frameborder="0" allowfullscreen="true"></iframe>')},fallback:function(){const e=document.getElementsByTagName("div");let t,a;for(t=0;t<e.length;t++)e[t].classList.contains("tarteaucitron-vimeo")&&(a=e[t].getAttribute("data-tarteaucitron-src"),e[t].innerHTML='<div class="tarteaucitron-card-mask"><span>Le dépôt de cookies pour <span class="tarteaucitron-card-type">Vimeo</span> est désactivé. Si vous souhaitez accéder à ce contenu, merci de l\'activer.</span><button onclick="GDPRConsent.activate(\'vimeo\')">Autoriser</button><a href="'+g(a)+'" class="tarteaucitron-card-url" target="_blank">&rarr; '+g(a)+"</a></div>")}},youtube:{key:"youtube",type:"video",name:"YouTube",uri:"https://policies.google.com/privacy",needConsent:!0,lazyConsent:!0,cookies:["VISITOR_INFO1_LIVE","YSC","PREF","GEUP"],js:function(){const e=document.getElementsByTagName("div");for(let t=0;t<e.length;t++)if(e[t].classList.contains("tarteaucitron-youtube")){const a=e[t].getAttribute("data-tarteaucitron-src");e[t].innerHTML='<iframe src="'+p(a)+'" frameborder="0" allowfullscreen="true"></iframe>'}},fallback:function(){const e=document.getElementsByTagName("div");let t,a;for(a=0;a<e.length;a++)e[a].classList.contains("tarteaucitron-youtube")&&(t=e[a].getAttribute("data-tarteaucitron-src"),e[a].innerHTML='<div class="tarteaucitron-card-mask"><span>Le dépôt de cookies pour <span class="tarteaucitron-card-type">Youtube</span> est désactivé. Si vous souhaitez accéder à ce contenu, merci de l\'activer.</span><button onclick="GDPRConsent.activate(\'youtube\')">Autoriser</button><a href="'+p(t)+'" class="tarteaucitron-card-url" target="_blank">&rarr; '+p(t)+"</a></div>")}}});const a=document.body,i=document.createElement("div");let s,m,v="",f=["ads","analytic","api","comment","social","support","video","other"];for(f=f.sort((function(e,t){return L.lang[e].title>L.lang[t].title?1:L.lang[e].title<L.lang[t].title?-1:0})),v+='<button type="button" id="tarteaucitron-back" onclick="GDPRConsent.closePanel();" aria-label="'+L.lang.close+'"></button>',v+='<div id="tarteaucitron" role="dialog" aria-labelledby="dialogTitle">',v+=' <button type="button" id="tarteaucitron-close-panel" onclick="GDPRConsent.closePanel();">X</button>',v+=' <div id="tarteaucitron-services">',v+=' <div id="tarteaucitron-services-top">',v+=' <span class="tarteaucitron-h1" role="heading" aria-level="1" id="dialogTitle">'+L.lang.title+"</span>",v+=' <div id="tarteaucitron-info">',v+=" "+L.lang.disclaimer,L.parameters.websiteName&&(v+=" "+L.lang.disclaimerWebsite+" "+_(L.parameters.websiteName)+"."),v+=" </div>",v+=' <div class="tarteaucitron-line">',v+=' <span class="tarteaucitron-h3" role="heading" aria-level="2">'+L.lang.all+"</span>",v+=' <div class="tarteaucitron-ask">',v+=' <button type="button" id="tarteaucitron-all-allowed" class="tarteaucitron-allow" onclick="GDPRConsent.respondAll(true);">',v+=" &#10003; "+L.lang.allowAll,v+=" </button> ",v+=' <button type="button" id="tarteaucitron-all-denied" class="tarteaucitron-deny" onclick="GDPRConsent.respondAll(false);">',v+=" &#10007; "+L.lang.denyAll,v+=" </button>",v+=" </div>",v+=" </div>",v+=" </div>",v+=' <div id="tarteaucitron-services-list">',v+=' <div class="clear"></div>',!0===L.parameters.mandatory&&(v+='<div class="tarteaucitron-cookie-group">',v+=' <div class="tarteaucitron-cookie-text">',v+=' <span class="tarteaucitron-h3" role="heading" aria-level="2">'+L.lang.mandatoryTitle+"</span>",v+=' <span class="tarteaucitron-description">'+L.lang.mandatoryText+"</span>",v+=" </div>",v+=' <div class="tarteaucitron-cookie-buttons">',v+=' <button type="button" class="tarteaucitron-allow solo">',v+=" &#10003; "+L.lang.allow,v+=" </button> ",v+=" </div>",v+="</div>"),m=0;m<f.length;m+=1)v+=' <li id="tarteaucitron-services-title_'+f[m]+'" class="tarteaucitron-hidden">',v+=' <div class="tarteaucitron-title">',v+=' <button type="button" onclick="GDPRConsent.toggle(\'tarteaucitron-details'+f[m]+"', 'tarteaucitron-info-box');return false\">&#10011; "+L.lang[f[m]].title+"</button>",v+=" </div>",v+=' <div id="tarteaucitron-details'+f[m]+'" class="tarteaucitron-details tarteaucitron-info-box">',v+=" "+L.lang[f[m]].details,v+=" </div>",v+=' <ul id="tarteaucitron-services_'+f[m]+'"></ul></li>';if(v+=' <li id="tarteaucitron-no-services-title" class="tarteaucitron-line">'+L.lang.noServices+"</li>",v+=" </ul>",v+=' <div class="tarteaucitron-hidden" id="tarteaucitron-scrollbar-child" style="height:20px;display:block"></div>',v+=" </div>",v+=" </div>",v+="</div>",L.parameters.AcceptAllCta?(v+='<div id="tarteaucitron-alert-big" class="tarteaucitron-alert-big-bottom">',""!==L.lang.siteDisclaimerTitle&&""!==L.lang.siteDisclaimerMessage&&(v+='<div id="tarteaucitron-wrapper">',v+=' <div id="tarteaucitron-disclaimer-texte">',v+=' <span id="tarteaucitron-site-disclaimer-title">',v+=" "+L.lang.siteDisclaimerTitle,v+=" </span>",v+=' <span id="tarteaucitron-site-disclaimer-message">',v+=" "+L.lang.siteDisclaimerMessage,v+=" </span>"),v+=' <span id="tarteaucitron-disclaimer-alert">',v+=" "+L.lang.alertBigPrivacy,v+=" </span>",v+=" </div>",v+=' <div id="tarteaucitron-disclaimer-buttons">',v+=' <button type="button" id="tarteaucitron-continue" onclick="GDPRConsent.respondAll(false);">',v+=" &rarr; "+L.lang.continue,v+=" </button>",v+=' <div id="tarteaucitron-group-buttons">',v+=' <button type="button" id="tarteaucitron-personalize" onclick="GDPRConsent.respondAll(true);">',v+=" &#10003; "+L.lang.acceptAll,v+=" </button>",v+=' <button type="button" id="tarteaucitron-close-alert" onclick="GDPRConsent.openPanel();">',v+=" "+L.lang.personalize,v+=" </button>",v+=" </div>",v+=" </div>",v+=" </div>",v+="</div>"):(v+='<div id="tarteaucitron-alert-big" class="tarteaucitron-alert-big-bottom">',""!==L.lang.siteDisclaimerTitle&&""!==L.lang.siteDisclaimerMessage&&(v+='<div id="tarteaucitron-wrapper">',v+=' <div id="tarteaucitron-disclaimer-texte">',v+=' <span id="tarteaucitron-site-disclaimer-title">',v+=" "+L.lang.siteDisclaimerTitle,v+=" </span>",v+=' <span id="tarteaucitron-site-disclaimer-message">',v+=" "+L.lang.siteDisclaimerMessage,v+=" </span>"),v+=' <span id="tarteaucitron-disclaimer-alert">',v+=" "+L.lang.alertBigPrivacy,v+=" </span>",v+=" </div>",v+=' <div id="tarteaucitron-disclaimer-buttons">',v+=' <button type="button" id="tarteaucitron-personalize" onclick="GDPRConsent.openPanel();">',v+=" "+L.lang.personalize,v+=" </button>",v+=" </div>",v+=" </div>",v+="</div>"),i.id="tarteaucitron-root",a.appendChild(i,a),i.innerHTML=v,n("tac.root_available"),void 0!==L.job)for(L.job=L.cleanArray(L.job),s=0;s<L.job.length;s+=1)L.addService(L.job[s]);else L.job=[];L.job.push=function(e){void 0===L.job.indexOf&&(L.job.indexOf=function(e,t){let a;const n=this.length;for(a=t||0;a<n;a+=1)if(this[a]===e)return a;return-1}),-1===L.job.indexOf(e)&&Array.prototype.push.call(this,e),L.launch[e]=!1,L.addService(e)},document.location.hash===L.hashtag&&k.openPanel(L)},addService:function(e){let t="";const a=L.services[e],o=y.read(L.parameters),i=o.indexOf(a.key+"=false")>=0,r=o.indexOf(a.key+"=true")>=0||!a.needConsent&&o.indexOf(a.key+"=false")<0,c=o.indexOf(a.key+"=false")>=0||o.indexOf(a.key+"=true")>=0,l="1"===navigator.doNotTrack||"yes"===navigator.doNotTrack||"1"===navigator.msDoNotTrack||"1"===window.doNotTrack;!0!==L.added[a.key]&&(L.added[a.key]=!0,t+='<div id="'+a.key+'-line" class="tarteaucitron-cookie-group">',t+=' <div class="tarteaucitron-cookie-text">',t+=' <span class="tarteaucitron-h3" role="heading" aria-level="3">'+a.name+"</span>",t+=' <span id="tacCL'+a.key+'" class="tarteaucitron-description"></span>',!0===L.parameters.moreInfoLink&&(t+=' <a href="'+a.uri+'" target="_blank" rel="noreferrer noopener" title="'+a.name+" "+L.lang.newWindow+'">',t+=" "+L.lang.source,t+=" </a>"),t+=" </div>",t+=' <div class="tarteaucitron-cookie-buttons">',t+=' <span id="'+a.key+'Allowed" class="tarteaucitron-switch-state" onclick="GDPRConsent.respond(this, event);">'+L.lang.allow+"</span>",t+=' <div class="tarteaucitron-switch" id="'+a.key+'Switch" onclick="GDPRConsent.respond(this, event);">',t+=' <button type="button" class="tarteaucitron-switch-button"></button>',t+=" </div> ",t+=' <span id="'+a.key+'Denied" class="tarteaucitron-switch-state" onclick="GDPRConsent.respond(this, event);">'+L.lang.deny+"</span>",t+=" </div>",t+="</li>",s("tarteaucitron-services-title_"+a.type,"display","block"),null!==document.getElementById("tarteaucitron-services_"+a.type)&&(document.getElementById("tarteaucitron-services_"+a.type).innerHTML+=t),s("tarteaucitron-no-services-title","display","none"),k.order(a.type,L)),r?(!0!==L.launch[a.key]&&(L.launch[a.key]=!0,a.js(),n(a.key+"_loaded")),L.state[a.key]=!0):i?("function"==typeof a.fallback&&a.fallback(),L.state[a.key]=!1):!c&&l&&L.handleBrowserDNTRequest?(y.create(a.key,"false",L.parameters),"function"==typeof a.fallback&&a.fallback(),L.state[a.key]=!1):c||(y.create(a.key,"wait",L.parameters),"function"==typeof a.fallback&&a.fallback(),!0!==a.lazyConsent&&k.openAlert()),y.checkCount(a.key,a,L.lang),n(a.key+"_added")},cleanArray:function(e){let t;const a=e.length;let n=[];const o={},i=L.services;for(t=0;t<a;t+=1)o[e[t]]||(o[e[t]]={},void 0!==L.services[e[t]]&&n.push(e[t]));return n=n.sort((function(e,t){return i[e].type+i[e].key>i[t].type+i[t].key?1:i[e].type+i[e].key<i[t].type+i[t].key?-1:0})),n},closePanel:function(){k.closePanel(L)},openPanel:function(){k.openPanel(L)},respondEffect:function(e,t){k.respondEffect(e,t,L)},respondAll:function(e){k.respondAll(e,L,L.parameters)},respond:function(e,t){k.respond(e,L,L.parameters,t)},activate:function(e){k.activate(e,L,L.parameters)},toggle:function(e,t){k.toggle(e,t)}},T=L},579:(e,t,a)=>{const n=a(20).Z;e.exports=n},705:(e,t,a)=>{var n=a(639).Symbol;e.exports=n},932:e=>{e.exports=function(e,t){for(var a=-1,n=null==e?0:e.length,o=Array(n);++a<n;)o[a]=t(e[a],a,e);return o}},239:(e,t,a)=>{var n=a(705),o=a(607),i=a(333),s=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":s&&s in Object(e)?o(e):i(e)}},674:e=>{e.exports=function(e){return function(t){return null==e?void 0:e[t]}}},531:(e,t,a)=>{var n=a(705),o=a(932),i=a(469),s=a(448),r=n?n.prototype:void 0,c=r?r.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(i(t))return o(t,e)+"";if(s(t))return c?c.call(t):"";var a=t+"";return"0"==a&&1/t==-1/0?"-0":a}},464:(e,t,a)=>{var n=a(674)({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});e.exports=n},957:(e,t,a)=>{var n="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g;e.exports=n},607:(e,t,a)=>{var n=a(705),o=Object.prototype,i=o.hasOwnProperty,s=o.toString,r=n?n.toStringTag:void 0;e.exports=function(e){var t=i.call(e,r),a=e[r];try{e[r]=void 0;var n=!0}catch(e){}var o=s.call(e);return n&&(t?e[r]=a:delete e[r]),o}},333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},639:(e,t,a)=>{var n=a(957),o="object"==typeof self&&self&&self.Object===Object&&self,i=n||o||Function("return this")();e.exports=i},187:(e,t,a)=>{var n=a(464),o=a(833),i=/[&<>"']/g,s=RegExp(i.source);e.exports=function(e){return(e=o(e))&&s.test(e)?e.replace(i,n):e}},469:e=>{var t=Array.isArray;e.exports=t},5:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},448:(e,t,a)=>{var n=a(239),o=a(5);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==n(e)}},833:(e,t,a)=>{var n=a(531);e.exports=function(e){return null==e?"":n(e)}}},t={};function a(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,a),i.exports}return a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a(579)})()));
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.GDPRConsent=t():e.GDPRConsent=t()}(self,(()=>(()=>{var e={20:(e,t,a)=>{"use strict";a.d(t,{Z:()=>L});var n=a(187),o=a.n(n);function i(e){void 0!==e&&window.dispatchEvent(new Event(e))}function s(e,t,a,n,o,i){let s,r=!1;!1===n?"function"==typeof a&&a():(s=document.createElement("script"),s.type="text/javascript",s.id=void 0!==t?t:"",s.async=!0,s.src=e,void 0!==o&&void 0!==i&&s.setAttribute(o,i),"function"==typeof a&&(s.onreadystatechange=s.onload=function(){const e=s.readyState;r||e&&!/loaded|complete/.test(e)||(r=!0,a())}),document.getElementsByTagName("head")[0].appendChild(s))}function r(e,t){const a=document.getElementsByTagName("*");let n,o=0;for(n in a)if(void 0!==a[n])for(o=0;o<e.length;o+=1)(" "+a[n].className+" ").indexOf(" "+e[o]+" ")>-1&&t(a[n])}function c(e,t,a){null!==document.getElementById(e)&&(document.getElementById(e).style[t]=a)}const l={siteDisclaimerTitle:"«&nbsp;Le site qui raconte l’actualité en séries&nbsp;»",siteDisclaimerMessage:'<i>Les&nbsp;Jours</i> sont un média <a data-ga-type="click" data-ga-category="Bottom Bar" data-ga-action="Navigate" data-ga-label="Les Jours c’est quoi ?" href="/les-jours-c-quoi/">indépendant et sans pub</a> accessible par <a data-ga-type="click" data-ga-category="Bottom Bar" data-ga-action="Navigate" data-ga-label="Abonnement" href="/abonnement/jouriste">abonnement</a>. Découvrez <a data-ga-category="Bottom Bar" data-ga-action="Navigate" data-ga-label="Les Jours en Clair" href="/les-jours-en-clair/">notre zone gratuite</a>&nbsp;: l’actualité en profondeur, avec des épisodes, des personnages, des lieux.',alertBigScroll:"En continuant de défiler,",alertBigClick:"En poursuivant votre navigation,",alertBig:"vous acceptez l’utilisation de services tiers pouvant installer des cookies",alertBigPrivacy:"Ce site utilise des cookies et vous donne le contrôle sur ce que vous souhaitez activer",personalize:"Personnaliser",acceptAll:"Tout autoriser",continue:"Continuer sans accepter",close:"Fermer",all:"Préférences pour tous les services",disclaimer:"En autorisant ces services tiers, vous acceptez le dépôt et la lecture de cookies et l’utilisation de technologies de suivi nécessaires à leur bon fonctionnement.",disclaimerWebsite:"Ces services nous aident à améliorer",allow:"Autoriser",deny:"Interdire",noCookie:"Ce service ne dépose aucun cookie.",useCookie:"Ce service peut déposer",useCookieCurrent:"Ce service a déposé",useNoCookie:"Ce service n’a déposé aucun cookie.",source:"Voir le site officiel",noServices:"Ce site n’utilise aucun cookie nécessitant votre consentement.",title:"Panneau de gestion des cookies",newWindow:"(nouvelle fenêtre)",allowAll:"Tout autoriser",denyAll:"Tout interdire",ads:{title:"Régies publicitaires (pour nous faire connaître)",details:"Les régies publicitaires permettent de générer des revenus en commercialisant les espaces publicitaires du site."},analytic:{title:"Mesure de navigation (ergonomie) et d’audience",details:"Les services de mesure d’audience permettent de générer des statistiques de fréquentation utiles à l’amélioration du site."},social:{title:"Réseaux sociaux (boutons de partage et Twitter cards)",details:"Les réseaux sociaux permettent d’améliorer la convivialité du site et aident à sa promotion via les partages."},video:{title:"Vidéos",details:"Les services de partage de vidéo permettent d’enrichir le site de contenu multimédia et augmentent sa visibilité."},comment:{title:"Commentaires",details:"Les gestionnaires de commentaires facilitent le dépôt de vos commentaires et luttent contre le spam."},support:{title:"Support",details:"Les services de support vous permettent d’entrer en contact avec l’équipe du site et d’aider à son amélioration."},api:{title:"Services",details:"Les APIs permettent de charger des scripts : géolocalisation, moteurs de recherche, traductions, ..."},other:{title:"Autre",details:"Services visant à afficher du contenu web."},mandatoryTitle:"Cookies obligatoires",mandatoryText:"Ce site utilise des cookies nécessaires à son bon fonctionnement qui ne peuvent pas être désactivés."},d={siteDisclaimerTitle:"«&nbsp;Le site qui raconte l’actualité en séries&nbsp;»",siteDisclaimerMessage:'<i>Les&nbsp;Jours</i> sont un média <a data-ga-type="click" data-ga-category="Bottom Bar" data-ga-action="Navigate" data-ga-label="Les Jours c’est quoi ?" href="/les-jours-c-quoi/">indépendant et sans pub</a> accessible par <a data-ga-type="click" data-ga-category="Bottom Bar" data-ga-action="Navigate" data-ga-label="Abonnement" href="/abonnement/jouriste">abonnement</a>. Découvrez <a data-ga-category="Bottom Bar" data-ga-action="Navigate" data-ga-label="Les Jours en Clair" href="/les-jours-en-clair/">notre zone gratuite</a>&nbsp;: l’actualité en profondeur, avec des épisodes, des personnages, des lieux.',alertBigScroll:"By continuing to scroll,",alertBigClick:"If you continue to browse this website,",alertBig:"you are allowing all third-party services",alertBigPrivacy:"This site uses cookies and gives you control over what you want to activate",personalize:"Personalize",acceptAll:"OK, accept all",continue:"Reject cookies & keep on browsing",close:"Close",all:"Preference for all services",disclaimer:"By allowing these third party services, you accept their cookies and the use of tracking technologies necessary for their proper functioning.",disclaimerWebsite:"These services help us improve",allow:"Allow",deny:"Deny",noCookie:"This service does not use cookie.",useCookie:"This service can install",useCookieCurrent:"This service has installed",useNoCookie:"This service has not installed any cookie.",source:"View the official website",noServices:"This website does not use any cookie requiring your consent.",title:"Cookies management panel",newWindow:"(new window)",allowAll:"Allow all cookies",denyAll:"Deny all cookies",ads:{title:"Advertising network (to let us know)",details:"Ad networks can generate revenue by selling advertising space on the site."},analytic:{title:"Navigation (ergonomics) and audience measurement",details:"The audience measurement services used to generate useful statistics attendance to improve the site."},social:{title:"Social networks (sharing buttons and Twitter cards)",details:"Social networks can improve the usability of the site and help to promote it via the shares."},video:{title:"Videos",details:"Video sharing services help to add rich media on the site and increase its visibility."},comment:{title:"Comments",details:"Comments managers facilitate the filing of comments and fight against spam."},support:{title:"Support",details:"Support services allow you to get in touch with the site team and help to improve it."},api:{title:"Services",details:"APIs are used to load scripts: geolocation, search engines, translations, ..."},other:{title:"Other",details:"Services to display web content."},mandatoryTitle:"Mandatory cookies",mandatoryText:"This site uses cookies necessary for its proper functioning which cannot be deactivated."},u=e=>({key:"facebookpixel",type:"ads",name:"Facebook Pixel",uri:"https://www.facebook.com/policies/cookies/",needConsent:!0,lazyConsent:!1,cookies:["datr","fr","reg_ext_ref","reg_fb_gate","reg_fb_ref","sb","wd","x-src"],js:function(){if(window.fbq)return;const t=window.fbq=function(){t.callMethod?t.callMethod.apply(t,arguments):t.queue.push(arguments)};window._fbq||(window._fbq=t),t.push=t,t.loaded=!0,t.version="2.0",t.queue=[],s("//connect.facebook.net/en_US/fbevents.js","facebook-fbevents",(function(){fbq("init",e.fbPixelId),fbq("track","PageView")}))}}),g=e=>({key:"googletagmanager",type:"api",name:"Google Tag Manager",uri:"https://adssettings.google.com/",needConsent:!0,lazyConsent:!1,cookies:["_ga","_gat","__utma","__utmb","__utmc","__utmt","__utmz","__gads","_drt_","FLC","exchange_uid","id","fc","rrs","rds","rv","uid","UIDR","UID","clid","ipinfo","acs"],js:function(){void 0!==e.googletagmanagerId&&(window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":(new Date).getTime(),event:"gtm.js"}),s("https://www.googletagmanager.com/gtm.js?id="+e.googletagmanagerId))}}),p=e=>({key:"gtag",type:"analytic",name:"Google Analytics (gtag.js)",uri:"https://support.google.com/analytics/answer/6004245",needConsent:!0,lazyConsent:!1,cookies:function(){let t="_gat_gtag_"+e.gtagUa;return t=t.replace(/-/g,"_"),["_ga","_gat","_gid","__utma","__utmb","__utmc","__utmt","__utmz",t]}(),js:function(){window.dataLayer=window.dataLayer||[],s("https://www.googletagmanager.com/gtag/js?id="+e.gtagUa,"",(function(){window.gtag=function(){window.dataLayer.push(arguments)},gtag("js",new Date),e.gtagInitOptions?gtag("config",e.gtagUa,e.gtagInitOptions):gtag("config",e.gtagUa),"function"==typeof e.gtagMore&&e.gtagMore()}))}}),m={};function v(e,t){let a;for(a=0;a<e.length;a+=1)if(e[a]===t)return!0;return!1}function f(e){const t=e.cookieName+"=",a=document.cookie.split(";");let n,o;for(n=0;n<a.length;n+=1){for(o=a[n];" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return o.substring(t.length,o.length)}return""}const y={read:f,create:function(e,t,a){const n=new Date,o=n.getTime()+a.timeExpire,i=new RegExp("!"+e+"=(wait|true|false)","g"),s=f(a).replace(i,""),r=a.cookieName+"="+s+"!"+e+"="+t;n.setTime(o),document.cookie=r+"; expires="+n.toGMTString()+"; path=/;"},purge:function(e){let t;for(t=0;t<e.length;t+=1)document.cookie=e[t]+"=; expires=Thu, 01 Jan 2000 00:00:00 GMT; path=/;",document.cookie=e[t]+"=; expires=Thu, 01 Jan 2000 00:00:00 GMT; path=/; domain=."+location.hostname+";",document.cookie=e[t]+"=; expires=Thu, 01 Jan 2000 00:00:00 GMT; path=/; domain=."+location.hostname.split(".").slice(-2).join(".")+";"},checkCount:function(e,t,a){const n=t.cookies,o=n.length;let i,s=0,r="";const c=document.cookie.indexOf(e+"=true");if(c>=0&&0===o)r+=a.useNoCookie;else if(c>=0){for(i=0;i<o;i+=1)-1!==document.cookie.indexOf(n[i]+"=")&&(s+=1,void 0===m[n[i]]&&(m[n[i]]=[]),!1===v(m[n[i]],t.name)&&m[n[i]].push(t.name));s>0?(r+=a.useCookieCurrent+" "+s+" cookie",s>1&&(r+="s"),r+="."):r+=a.useNoCookie}else 0===o?r=a.noCookie:(r+=a.useCookie+" "+o+" cookie",o>1&&(r+="s"),r+=".");null!==document.getElementById("tacCL"+e)&&(document.getElementById("tacCL"+e).innerHTML=r)}};function b(){const e="tarteaucitron";var t;c(e+"-percentage","display","none"),c(e+"-alert-big","display","none"),t=e+"-root",null!==document.getElementById(t)&&document.getElementById(t).classList.remove("tarteaucitron-before-visible"),i("tac.close_alert")}function h(e,t,a){const n=document.getElementById(e+"Switch"),o=document.getElementById(e+"Allowed"),i=document.getElementById(e+"Denied");let s,r,c,l=!1,d=0,u=0;for(n.classList.remove("switch-denied"),n.classList.remove("switch-allowed"),o.classList.remove("active"),i.classList.remove("active"),!0===t?(n.classList.add("switch-allowed"),n.children[0].innerHTML="&#10003;",o.classList.add("active")):(n.classList.add("switch-denied"),n.children[0].innerHTML="&#10007;",i.classList.add("active")),s=0;s<a.job.length;s++)r=a.job[s],c=a.state[r],void 0!==c?!0===c?d+=1:u+=1:!0!==a.services[r].lazyConsent&&(l=!0);l||b(),d===a.job.length?(document.getElementById("tarteaucitron-all-denied").classList.remove("tarteaucitron-is-selected"),document.getElementById("tarteaucitron-all-allowed").classList.add("tarteaucitron-is-selected")):u===a.job.length&&(document.getElementById("tarteaucitron-all-allowed").classList.remove("tarteaucitron-is-selected"),document.getElementById("tarteaucitron-all-denied").classList.add("tarteaucitron-is-selected")),!0===t?(null!==document.getElementById("tacCL"+e)&&(document.getElementById("tacCL"+e).innerHTML="..."),setTimeout((function(){y.checkCount(e,a.services[e],a.lang)}),2500)):y.checkCount(e,a.services[e],a.lang)}const k={closeAlert:b,openAlert:function(){const e="tarteaucitron";var t;c(e+"-percentage","display","block"),c(e+"-alert-big","display","block"),t=e+"-root",null!==document.getElementById(t)&&document.getElementById(t).classList.add("tarteaucitron-before-visible"),i("tac.open_alert")},closePanel:function(e){document.location.hash===e.hashtag&&(window.history?window.history.replaceState("",document.title,window.location.pathname+window.location.search):document.location.hash=""),c("tarteaucitron","display","none"),r(["tarteaucitron-info-box"],(function(e){e.style.display="none"})),!0===e.reloadThePage?window.location.reload():c("tarteaucitron-back","display","none"),null!==document.getElementById("tarteaucitron-close-alert")&&document.getElementById("tarteaucitron-close-alert").focus(),document.getElementsByTagName("body")[0].classList.remove("modal-open"),i("tac.close_panel")},openPanel:function(e){let t;for(c("tarteaucitron","display","block"),c("tarteaucitron-back","display","block"),document.getElementById("tarteaucitron-close-panel").focus(),document.getElementsByTagName("body")[0].classList.add("modal-open"),t=0;t<e.job.length;t++)void 0!==e.state[e.job[t]]&&h(e.job[t],e.state[e.job[t]],e);i("tac.open_panel")},respondAll:function(e,t,a){const n=t.services;let o,i,s=0;for(s=0;s<t.job.length;s+=1)o=n[t.job[s]],i=o.key,t.state[i]!==e&&(!1===e&&!0===t.launch[i]&&(t.reloadThePage=!0),!0!==t.launch[i]&&!0===e&&(t.launch[i]=!0,t.services[i].js()),t.state[i]=e,y.create(i,e,a),h(i,e,t))},respond:function(e,t,a,n){const o=e.id.replace(/(Eng[0-9]+|Allow|Deni)ed|Switch/g,"");let s;const r=function(e){return e.clientX}(n),c=e.getBoundingClientRect();if(e.classList.contains("tarteaucitron-switch"))s=void 0!==t.state[o]?!!e.classList.contains("switch-denied"):r<c.left+e.clientWidth/2;else if(e.classList.contains("tarteaucitron-switch-state"))if(e.id.includes("Allowed")&&!0!==t.state[o])s=!0;else{if(!e.id.includes("Denied")||!1===t.state[o])return;s=!1}!0===s&&!0!==t.launch[o]&&(t.launch[o]=!0,i(o+"_loaded"),t.services[o].js()),!1===s&&!0===t.launch[o]&&(t.reloadThePage=!0),t.state[o]=s,y.create(o,s,a),h(o,s,t)},activate:function(e,t,a){!0!==t.launch[e]&&(t.launch[e]=!0,i(e+"_loaded"),t.services[e].js(),t.state[e]=!0,y.create(e,!0,a),h(e,!0,t))},toggle:function(e,t){const a=document.getElementById(e);null!==a&&(void 0!==t&&r([t],(function(t){t.id!==e&&(t.style.display="none")})),"block"!==a.style.display?a.style.display="block":a.style.display="none")},order:function(e,t){const a=document.getElementById("tarteaucitron-services_"+e);null!==a&&"function"==typeof Array.prototype.map&&"undefined"==typeof Enumerable&&Array.prototype.map.call(a.children,Object).sort((function(e,a){return t.services[e.id.replace(/-line/g,"")].name>t.services[a.id.replace(/-line/g,"")].name?1:t.services[e.id.replace(/-line/g,"")].name<t.services[a.id.replace(/-line/g,"")].name?-1:0})).forEach((function(e){a.appendChild(e)}))}},w=function(e,t){27===t.keyCode&&k.closePanel(e)},C=function(e){document.location.hash===e.parameters.hashtag&&k.openPanel(e)},_={user:{},lang:{},services:{},added:[],idprocessed:[],state:[],launch:[],parameters:{},reloadThePage:!1,alreadyLaunch:0,init:function(e){_.parameters=e||{},0===_.alreadyLaunch&&(_.alreadyLaunch=1,window.addEventListener("keydown",(function(e){w(_,e)}),!1),window.addEventListener("hashchange",(function(){C(_)}),!1),"complete"===window.document.readyState?_.load():window.addEventListener("load",(function(){_.load()}),!1))},load:function(){const e={hashtag:"#tarteaucitron",cookieName:"tarteaucitron",timeExpire:31536e6,websiteName:void 0,AcceptAllCta:!0,moreInfoLink:!0,mandatory:!0};if(void 0!==_.parameters)for(const t in e)Object.prototype.hasOwnProperty.call(_.parameters,t)||(_.parameters[t]=e[t]);var t;_.lang="fr"===function(){if(!navigator)return"en";const e=navigator.language||navigator.browserLanguage||navigator.systemLanguage||navigator.userLang||null,t=e?e.substr(0,2):null;return-1==="en,fr".indexOf(t)?"en":t}()?l:d,_.services=(t=_.user,{facebook:{key:"facebook",type:"social",name:"Facebook",uri:"https://www.facebook.com/policies/cookies/",needConsent:!0,lazyConsent:!1,cookies:[],js:function(){s("//connect.facebook.net/"+function(){if(!navigator)return"en_US";const e=navigator.language||navigator.browserLanguage||navigator.systemLanguage||navigator.userLang||null;return"fr"===(e?e.substr(0,2):null)?"fr_FR":"en_US"}()+"/sdk.js","facebook-jssdk")}},facebookpixel:u(t),googletagmanager:g(t),gtag:p(t),twitter:{key:"twitter",type:"social",name:"Twitter",uri:"https://support.twitter.com/articles/20170514",needConsent:!0,lazyConsent:!1,cookies:[],js:function(){s("//platform.twitter.com/widgets.js","twitter-wjs")}},vimeo:{key:"vimeo",type:"video",name:"Vimeo",uri:"https://vimeo.com/privacy",needConsent:!0,lazyConsent:!0,cookies:["__utmt_player","__utma","__utmb","__utmc","__utmv","vuid","__utmz","player"],js:function(){const e=document.getElementsByTagName("div");let t,a;for(t=0;t<e.length;t++)e[t].classList.contains("tarteaucitron-vimeo")&&(a=e[t].getAttribute("data-tarteaucitron-src"),e[t].innerHTML='<iframe src="'+o()(a)+'" frameborder="0" allowfullscreen="true"></iframe>')},fallback:function(){const e=document.getElementsByTagName("div");let t,a;for(t=0;t<e.length;t++)e[t].classList.contains("tarteaucitron-vimeo")&&(a=e[t].getAttribute("data-tarteaucitron-src"),e[t].innerHTML='<div class="tarteaucitron-card-mask"><span>Le dépôt de cookies pour <span class="tarteaucitron-card-type">Vimeo</span> est désactivé. Si vous souhaitez accéder à ce contenu, merci de l\'activer.</span><button onclick="GDPRConsent.activate(\'vimeo\')">Autoriser</button><a href="'+o()(a)+'" class="tarteaucitron-card-url" target="_blank">&rarr; '+o()(a)+"</a></div>")}},youtube:{key:"youtube",type:"video",name:"YouTube",uri:"https://policies.google.com/privacy",needConsent:!0,lazyConsent:!0,cookies:["VISITOR_INFO1_LIVE","YSC","PREF","GEUP"],js:function(){const e=document.getElementsByTagName("div");for(let t=0;t<e.length;t++)if(e[t].classList.contains("tarteaucitron-youtube")){const a=e[t].getAttribute("data-tarteaucitron-src");e[t].innerHTML='<iframe src="'+o()(a)+'" frameborder="0" allowfullscreen="true"></iframe>'}},fallback:function(){const e=document.getElementsByTagName("div");let t,a;for(a=0;a<e.length;a++)e[a].classList.contains("tarteaucitron-youtube")&&(t=e[a].getAttribute("data-tarteaucitron-src"),e[a].innerHTML='<div class="tarteaucitron-card-mask"><span>Le dépôt de cookies pour <span class="tarteaucitron-card-type">Youtube</span> est désactivé. Si vous souhaitez accéder à ce contenu, merci de l\'activer.</span><button onclick="GDPRConsent.activate(\'youtube\')">Autoriser</button><a href="'+o()(t)+'" class="tarteaucitron-card-url" target="_blank">&rarr; '+o()(t)+"</a></div>")}}});const a=document.body,n=document.createElement("div");let r,c,m="",v=["ads","analytic","api","comment","social","support","video","other"];for(v=v.sort((function(e,t){return _.lang[e].title>_.lang[t].title?1:_.lang[e].title<_.lang[t].title?-1:0})),m+='<button type="button" id="tarteaucitron-back" onclick="GDPRConsent.closePanel();" aria-label="'+_.lang.close+'"></button>',m+='<div id="tarteaucitron" role="dialog" aria-labelledby="dialogTitle">',m+=' <button type="button" id="tarteaucitron-close-panel" onclick="GDPRConsent.closePanel();">X</button>',m+=' <div id="tarteaucitron-services">',m+=' <div id="tarteaucitron-services-top">',m+=' <span class="tarteaucitron-h1" role="heading" aria-level="1" id="dialogTitle">'+_.lang.title+"</span>",m+=' <div id="tarteaucitron-info">',m+=" "+_.lang.disclaimer,_.parameters.websiteName&&(m+=" "+_.lang.disclaimerWebsite+" "+o()(_.parameters.websiteName)+"."),m+=" </div>",m+=' <div class="tarteaucitron-line">',m+=' <span class="tarteaucitron-h3" role="heading" aria-level="2">'+_.lang.all+"</span>",m+=' <div class="tarteaucitron-ask">',m+=' <button type="button" id="tarteaucitron-all-allowed" class="tarteaucitron-allow" onclick="GDPRConsent.respondAll(true);">',m+=" &#10003; "+_.lang.allowAll,m+=" </button> ",m+=' <button type="button" id="tarteaucitron-all-denied" class="tarteaucitron-deny" onclick="GDPRConsent.respondAll(false);">',m+=" &#10007; "+_.lang.denyAll,m+=" </button>",m+=" </div>",m+=" </div>",m+=" </div>",m+=' <div id="tarteaucitron-services-list">',m+=' <div class="clear"></div>',!0===_.parameters.mandatory&&(m+='<div class="tarteaucitron-cookie-group">',m+=' <div class="tarteaucitron-cookie-text">',m+=' <span class="tarteaucitron-h3" role="heading" aria-level="2">'+_.lang.mandatoryTitle+"</span>",m+=' <span class="tarteaucitron-description">'+_.lang.mandatoryText+"</span>",m+=" </div>",m+=' <div class="tarteaucitron-cookie-buttons">',m+=' <button type="button" class="tarteaucitron-allow solo">',m+=" &#10003; "+_.lang.allow,m+=" </button> ",m+=" </div>",m+="</div>"),c=0;c<v.length;c+=1)m+=' <li id="tarteaucitron-services-title_'+v[c]+'" class="tarteaucitron-hidden">',m+=' <div class="tarteaucitron-title">',m+=' <button type="button" onclick="GDPRConsent.toggle(\'tarteaucitron-details'+v[c]+"', 'tarteaucitron-info-box');return false\">&#10011; "+_.lang[v[c]].title+"</button>",m+=" </div>",m+=' <div id="tarteaucitron-details'+v[c]+'" class="tarteaucitron-details tarteaucitron-info-box">',m+=" "+_.lang[v[c]].details,m+=" </div>",m+=' <ul id="tarteaucitron-services_'+v[c]+'"></ul></li>';if(m+=' <li id="tarteaucitron-no-services-title" class="tarteaucitron-line">'+_.lang.noServices+"</li>",m+=" </ul>",m+=' <div class="tarteaucitron-hidden" id="tarteaucitron-scrollbar-child" style="height:20px;display:block"></div>',m+=" </div>",m+=" </div>",m+="</div>",_.parameters.AcceptAllCta?(m+='<div id="tarteaucitron-alert-big" class="tarteaucitron-alert-big-bottom">',""!==_.lang.siteDisclaimerTitle&&""!==_.lang.siteDisclaimerMessage&&(m+='<div id="tarteaucitron-wrapper">',m+=' <div id="tarteaucitron-disclaimer-texte">',m+=' <span id="tarteaucitron-site-disclaimer-title">',m+=" "+_.lang.siteDisclaimerTitle,m+=" </span>",m+=' <span id="tarteaucitron-site-disclaimer-message">',m+=" "+_.lang.siteDisclaimerMessage,m+=" </span>"),m+=' <span id="tarteaucitron-disclaimer-alert">',m+=" "+_.lang.alertBigPrivacy,m+=" </span>",m+=" </div>",m+=' <div id="tarteaucitron-disclaimer-buttons">',m+=' <button type="button" id="tarteaucitron-continue" onclick="GDPRConsent.respondAll(false);">',m+=" &rarr; "+_.lang.continue,m+=" </button>",m+=' <div id="tarteaucitron-group-buttons">',m+=' <button type="button" id="tarteaucitron-personalize" onclick="GDPRConsent.respondAll(true);">',m+=" &#10003; "+_.lang.acceptAll,m+=" </button>",m+=' <button type="button" id="tarteaucitron-close-alert" onclick="GDPRConsent.openPanel();">',m+=" "+_.lang.personalize,m+=" </button>",m+=" </div>",m+=" </div>",m+=" </div>",m+="</div>"):(m+='<div id="tarteaucitron-alert-big" class="tarteaucitron-alert-big-bottom">',""!==_.lang.siteDisclaimerTitle&&""!==_.lang.siteDisclaimerMessage&&(m+='<div id="tarteaucitron-wrapper">',m+=' <div id="tarteaucitron-disclaimer-texte">',m+=' <span id="tarteaucitron-site-disclaimer-title">',m+=" "+_.lang.siteDisclaimerTitle,m+=" </span>",m+=' <span id="tarteaucitron-site-disclaimer-message">',m+=" "+_.lang.siteDisclaimerMessage,m+=" </span>"),m+=' <span id="tarteaucitron-disclaimer-alert">',m+=" "+_.lang.alertBigPrivacy,m+=" </span>",m+=" </div>",m+=' <div id="tarteaucitron-disclaimer-buttons">',m+=' <button type="button" id="tarteaucitron-personalize" onclick="GDPRConsent.openPanel();">',m+=" "+_.lang.personalize,m+=" </button>",m+=" </div>",m+=" </div>",m+="</div>"),n.id="tarteaucitron-root",a.appendChild(n,a),n.innerHTML=m,i("tac.root_available"),void 0!==_.job)for(_.job=_.cleanArray(_.job),r=0;r<_.job.length;r+=1)_.addService(_.job[r]);else _.job=[];_.job.push=function(e){void 0===_.job.indexOf&&(_.job.indexOf=function(e,t){let a;const n=this.length;for(a=t||0;a<n;a+=1)if(this[a]===e)return a;return-1}),-1===_.job.indexOf(e)&&Array.prototype.push.call(this,e),_.launch[e]=!1,_.addService(e)},document.location.hash===_.hashtag&&k.openPanel(_)},addService:function(e){let t="";const a=_.services[e],n=y.read(_.parameters),o=n.indexOf(a.key+"=false")>=0,s=n.indexOf(a.key+"=true")>=0||!a.needConsent&&n.indexOf(a.key+"=false")<0,r=n.indexOf(a.key+"=false")>=0||n.indexOf(a.key+"=true")>=0,l="1"===navigator.doNotTrack||"yes"===navigator.doNotTrack||"1"===navigator.msDoNotTrack||"1"===window.doNotTrack;!0!==_.added[a.key]&&(_.added[a.key]=!0,t+='<div id="'+a.key+'-line" class="tarteaucitron-cookie-group">',t+=' <div class="tarteaucitron-cookie-text">',t+=' <span class="tarteaucitron-h3" role="heading" aria-level="3">'+a.name+"</span>",t+=' <span id="tacCL'+a.key+'" class="tarteaucitron-description"></span>',!0===_.parameters.moreInfoLink&&(t+=' <a href="'+a.uri+'" target="_blank" rel="noreferrer noopener" title="'+a.name+" "+_.lang.newWindow+'">',t+=" "+_.lang.source,t+=" </a>"),t+=" </div>",t+=' <div class="tarteaucitron-cookie-buttons">',t+=' <span id="'+a.key+'Allowed" class="tarteaucitron-switch-state" onclick="GDPRConsent.respond(this, event);">'+_.lang.allow+"</span>",t+=' <div class="tarteaucitron-switch" id="'+a.key+'Switch" onclick="GDPRConsent.respond(this, event);">',t+=' <button type="button" class="tarteaucitron-switch-button"></button>',t+=" </div> ",t+=' <span id="'+a.key+'Denied" class="tarteaucitron-switch-state" onclick="GDPRConsent.respond(this, event);">'+_.lang.deny+"</span>",t+=" </div>",t+="</li>",c("tarteaucitron-services-title_"+a.type,"display","block"),null!==document.getElementById("tarteaucitron-services_"+a.type)&&(document.getElementById("tarteaucitron-services_"+a.type).innerHTML+=t),c("tarteaucitron-no-services-title","display","none"),k.order(a.type,_)),s?(!0!==_.launch[a.key]&&(_.launch[a.key]=!0,a.js(),i(a.key+"_loaded")),_.state[a.key]=!0):o?("function"==typeof a.fallback&&a.fallback(),_.state[a.key]=!1):!r&&l&&_.handleBrowserDNTRequest?(y.create(a.key,"false",_.parameters),"function"==typeof a.fallback&&a.fallback(),_.state[a.key]=!1):r||(y.create(a.key,"wait",_.parameters),"function"==typeof a.fallback&&a.fallback(),!0!==a.lazyConsent&&k.openAlert()),y.checkCount(a.key,a,_.lang),i(a.key+"_added")},cleanArray:function(e){let t;const a=e.length;let n=[];const o={},i=_.services;for(t=0;t<a;t+=1)o[e[t]]||(o[e[t]]={},void 0!==_.services[e[t]]&&n.push(e[t]));return n=n.sort((function(e,t){return i[e].type+i[e].key>i[t].type+i[t].key?1:i[e].type+i[e].key<i[t].type+i[t].key?-1:0})),n},closePanel:function(){k.closePanel(_)},openPanel:function(){k.openPanel(_)},respondEffect:function(e,t){k.respondEffect(e,t,_)},respondAll:function(e){k.respondAll(e,_,_.parameters)},respond:function(e,t){k.respond(e,_,_.parameters,t)},activate:function(e){k.activate(e,_,_.parameters)},toggle:function(e,t){k.toggle(e,t)}},L=_},579:(e,t,a)=>{const n=a(20).Z;e.exports=n},705:(e,t,a)=>{var n=a(639).Symbol;e.exports=n},932:e=>{e.exports=function(e,t){for(var a=-1,n=null==e?0:e.length,o=Array(n);++a<n;)o[a]=t(e[a],a,e);return o}},239:(e,t,a)=>{var n=a(705),o=a(607),i=a(333),s=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":s&&s in Object(e)?o(e):i(e)}},674:e=>{e.exports=function(e){return function(t){return null==e?void 0:e[t]}}},531:(e,t,a)=>{var n=a(705),o=a(932),i=a(469),s=a(448),r=n?n.prototype:void 0,c=r?r.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(i(t))return o(t,e)+"";if(s(t))return c?c.call(t):"";var a=t+"";return"0"==a&&1/t==-1/0?"-0":a}},464:(e,t,a)=>{var n=a(674)({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});e.exports=n},957:(e,t,a)=>{var n="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g;e.exports=n},607:(e,t,a)=>{var n=a(705),o=Object.prototype,i=o.hasOwnProperty,s=o.toString,r=n?n.toStringTag:void 0;e.exports=function(e){var t=i.call(e,r),a=e[r];try{e[r]=void 0;var n=!0}catch(e){}var o=s.call(e);return n&&(t?e[r]=a:delete e[r]),o}},333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},639:(e,t,a)=>{var n=a(957),o="object"==typeof self&&self&&self.Object===Object&&self,i=n||o||Function("return this")();e.exports=i},187:(e,t,a)=>{var n=a(464),o=a(833),i=/[&<>"']/g,s=RegExp(i.source);e.exports=function(e){return(e=o(e))&&s.test(e)?e.replace(i,n):e}},469:e=>{var t=Array.isArray;e.exports=t},5:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},448:(e,t,a)=>{var n=a(239),o=a(5);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==n(e)}},833:(e,t,a)=>{var n=a(531);e.exports=function(e){return null==e?"":n(e)}}},t={};function a(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,a),i.exports}return a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a(579)})()));
{
"name": "gdpr-consent",
"version": "1.1.2",
"version": "2.0.0",
"description": "GDPR banner to comply with the European cookie law. Inspired by tarteaucitronjs.",

@@ -15,3 +15,3 @@ "license": "MIT",

"engines": {
"node": ">=16.15.1 || >=18.4.0"
"node": "18.x || 20.x"
},

@@ -27,3 +27,2 @@ "browserslist": [

"freshlock": "rm -rf node_modules/ && rm .yarn/install-state.gz && rm -r .yarn/cache/ && rm yarn.lock && yarn",
"stylelint-check": "stylelint-config-prettier-check",
"eslint-check": "eslint-config-prettier src/index.js",

@@ -50,27 +49,22 @@ "check-js": "eslint . --ext .js",

"devDependencies": {
"@babel/core": "^7.20.12",
"@babel/preset-env": "^7.20.2",
"@babel/core": "^7.22.5",
"@babel/preset-env": "^7.22.5",
"babel-loader": "^9.1.2",
"css-loader": "^6.7.3",
"eslint": "^8.33.0",
"eslint-config-prettier": "^8.6.0",
"eslint-config-standard": "^17.0.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-n": "^15.6.1",
"eslint-plugin-promise": "^6.1.1",
"css-loader": "^6.8.1",
"eslint": "^8.43.0",
"eslint-config-prettier": "^8.8.0",
"lodash": "^4.17.21",
"mini-css-extract-plugin": "^2.7.2",
"postcss": "^8.4.21",
"prettier": "^2.8.3",
"sass": "^1.58.0",
"sass-loader": "^13.2.0",
"style-loader": "^3.3.1",
"stylelint": "^14.16.1",
"stylelint-config-prettier": "^9.0.4",
"stylelint-config-sass-guidelines": "^9.0.1",
"webpack": "^5.75.0",
"webpack-cli": "^5.0.1",
"webpack-dev-server": "^4.11.1"
"mini-css-extract-plugin": "^2.7.6",
"postcss": "^8.4.24",
"prettier": "^2.8.8",
"sass": "^1.63.6",
"sass-loader": "^13.3.2",
"style-loader": "^3.3.3",
"stylelint": "^15.9.0",
"stylelint-config-sass-guidelines": "^10.0.0",
"webpack": "^5.88.0",
"webpack-cli": "^5.1.4",
"webpack-dev-server": "^4.15.1"
},
"packageManager": "yarn@3.4.0"
"packageManager": "yarn@3.6.0"
}

@@ -1,2 +0,2 @@

import "./css/main.scss";
import escape from "lodash/escape";
import { sendEvent } from "./utils/event";

@@ -9,5 +9,4 @@ import { css } from "./utils/dom";

import userInterface from "./modules/user-interface";
import "./css/main.scss";
const escape = require("lodash/escape");
// eslint-disable-next-line one-var

@@ -36,3 +35,3 @@ const GDPRConsent = {

function (evt) {
events.keydownEvent(evt);
events.keydownEvent(GDPRConsent, evt);
},

@@ -39,0 +38,0 @@ false

@@ -1,2 +0,1 @@

/* globals location:true */
const owner = {};

@@ -3,0 +2,0 @@

import userInterface from "./user-interface";
function keydownEvent(evt) {
function keydownEvent(GDPRConsent, evt) {
if (evt.keyCode === 27) {
userInterface.closePanel();
userInterface.closePanel(GDPRConsent);
}

@@ -7,0 +7,0 @@ }

@@ -1,2 +0,2 @@

const escape = require("lodash/escape");
import escape from "lodash/escape";

@@ -3,0 +3,0 @@ export default () => ({

@@ -1,2 +0,2 @@

const escape = require("lodash/escape");
import escape from "lodash/escape";

@@ -3,0 +3,0 @@ export default () => ({

@@ -1,2 +0,1 @@

/* globals Event:true */
export function sendEvent(eventKey) {

@@ -3,0 +2,0 @@ if (eventKey !== undefined) {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc