PageSourceSearch

https://www.cc-semur-en-brionnais.fr/tarteaucitron.services.js

js cc-semur-en-brionnais.fr collected 2026-10-02 20:49:30 UTC 141,499 bytes, 3,894 lines download raw bytes

1/*global tarteaucitron, ga, Shareaholic, stLight, clicky, top, google, Typekit, FB, ferankReady, IN, stButtons, twttr, PCWidget*/
2/*jslint regexp: true, nomen: true*/
3
4// generic iframe
5tarteaucitron.services.iframe = {
6    "key": "iframe",
7    "type": "other",
8    "name": "Web content",
9    "uri": "",
10    "needConsent": true,
11    "cookies": [],
12    "js": function () {
13        "use strict";
14        tarteaucitron.fallback(['tac_iframe'], function (x) {
15            var width = x.getAttribute("width"),
16                height = x.getAttribute("height"),
17                url = x.getAttribute("data-url");
18
19            return '<iframe src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>';
20        });
21    },
22    "fallback": function () {
23        "use strict";
24        var id = 'iframe';
25        tarteaucitron.fallback(['tac_iframe'], function (elem) {
26            elem.style.width = elem.getAttribute('width') + 'px';
27            elem.style.height = elem.getAttribute('height') + 'px';
28            return tarteaucitron.engage(id);
29        });
30    }
31};
32
33// xandr
34tarteaucitron.services.xandr = {
35    "key": "xandr",
36    "type": "ads",
37    "name": "Xandr",
38    "uri": "https://www.xandr.com/privacy/cookie-policy/",
39    "needConsent": true,
40    "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'],
41    "js": function () {
42        "use strict";
43        if (tarteaucitron.user.xandrId === undefined) {
44            return;
45        }
46
47        if (!window.pixie) {
48            var n = window.pixie = function(e, i, a) {
49                n.actionQueue.push({
50                    action: e,
51                    actionValue: i,
52                    params: a
53                })
54            };
55            n.actionQueue = [];
56        }
57
58        tarteaucitron.addScript('https://acdn.adnxs.com/dmp/up/pixie.js', '', function() {
59            window.pixie('init', tarteaucitron.user.xandrId);
60            window.pixie('event', 'PageView');
61        });
62    }
63};
64
65// helloasso
66tarteaucitron.services.helloasso = {
67    "key": "helloasso",
68    "type": "api",
69    "name": "HelloAsso",
70    "uri": "https://www.helloasso.com/confidentialite",
71    "needConsent": true,
72    "cookies": [],
73    "js": function () {
74        "use strict";
75        tarteaucitron.fallback(['tac_helloasso'], function (x) {
76            var width = x.getAttribute("width"),
77                height = x.getAttribute("height"),
78                url = x.getAttribute("data-url");
79
80            return '<iframe title="HelloAsso iframe" id="haWidget" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency allowfullscreen></iframe>';
81        });
82    },
83    "fallback": function () {
84        "use strict";
85        var id = 'helloasso';
86        tarteaucitron.fallback(['tac_helloasso'], function (elem) {
87            elem.style.width = elem.getAttribute('width') + 'px';
88            elem.style.height = elem.getAttribute('height') + 'px';
89            return tarteaucitron.engage(id);
90        });
91    }
92};
93
94// podcloud
95tarteaucitron.services.podcloud = {
96    "key": "podcloud",
97    "type": "video",
98    "name": "podCloud",
99    "uri": "https://podcloud.fr/privacy",
100    "needConsent": true,
101    "cookies": [],
102    "js": function () {
103        "use strict";
104        tarteaucitron.fallback(['tac_podcloud'], function (x) {
105            var width = x.getAttribute("width"),
106                height = x.getAttribute("height"),
107                url = x.getAttribute("data-url");
108
109            return '<iframe title="podCloud iframe" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency allowfullscreen></iframe>';
110        });
111    },
112    "fallback": function () {
113        "use strict";
114        var id = 'podcloud';
115        tarteaucitron.fallback(['tac_podcloud'], function (elem) {
116            elem.style.width = elem.getAttribute('width') + 'px';
117            elem.style.height = elem.getAttribute('height') + 'px';
118            return tarteaucitron.engage(id);
119        });
120    }
121};
122
123// facebookpost
124tarteaucitron.services.facebookpost = {
vendor: 4,327 bytes, lines 125-224
125    "key": "facebookpost",
126    "type": "social",
127    "name": "Facebook (post)",
128    "uri": "https://www.facebook.com/policy.php",
129    "needConsent": true,
130    "cookies": [],
131    "js": function () {
132        "use strict";
133        tarteaucitron.fallback(['tac_facebookpost'], function (x) {
134            var width = x.getAttribute("width"),
135                height = x.getAttribute("height"),
136                url = x.getAttribute("data-url"),
137                appId = x.getAttribute("data-appid");
138
139            return '<iframe title="Facebook iframe" src="https://www.facebook.com/plugins/post.php?href=' + encodeURIComponent(url) + '&amp;width=' + width + '&amp;show_text=false&amp;appId=' + appId + '&amp;height=' + height + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency allowfullscreen></iframe>';
140        });
141    },
142    "fallback": function () {
143        "use strict";
144        var id = 'facebookpost';
145        tarteaucitron.fallback(['tac_facebookpost'], function (elem) {
146            elem.style.width = elem.getAttribute('width') + 'px';
147            elem.style.height = elem.getAttribute('height') + 'px';
148            return tarteaucitron.engage(id);
149        });
150    }
151};
152
153// amplitude
154tarteaucitron.services.amplitude = {
155    "key": "amplitude",
156    "type": "analytic",
157    "name": "Amplitude",
158    "uri": "https://amplitude.com/privacy",
159    "needConsent": true,
160    "cookies": [],
161    "js": function () {
162        "use strict";
163        if (tarteaucitron.user.amplitude === undefined) {
164            return;
165        }
166        tarteaucitron.addScript('https://cdn.amplitude.com/libs/amplitude-5.8.0-min.gz.js', '', function() {
167
168          window.amplitude = {
169             _q: [],
170             _iq: {}
171          };
172          function s(e,t){e.prototype[t]=function(){this._q.push([t].concat(Array.prototype.slice.call(arguments,0)));return this}}
173          var o=function(){this._q=[];return this};
174          var a=["add","append","clearAll","prepend","set","setOnce","unset"];
175          for(var u=0;u<a.length;u++){s(o,a[u])}
176          amplitude.Identify=o;
177          var c=function(){this._q=[];return this};
178          var l=["setProductId","setQuantity","setPrice","setRevenueType","setEventProperties"];
179          for(var p=0;p<l.length;p++){s(c,l[p])}
180          amplitude.Revenue=c;
181          var d=["init","logEvent","logRevenue","setUserId","setUserProperties","setOptOut","setVersionName","setDomain","setDeviceId","enableTracking","setGlobalUserProperties","identify","clearUserProperties","setGroup","logRevenueV2","regenerateDeviceId","groupIdentify","onInit","logEventWithTimestamp","logEventWithGroups","setSessionId","resetSessionId"];
182          function v(e){function t(t){e[t]=function(){e._q.push([t].concat(Array.prototype.slice.call(arguments,0)))}}for(var n=0;n<d.length;n++){t(d[n])}}
183          v(amplitude);
184          amplitude.getInstance=function(e){e=(!e||e.length===0?"$default_instance":e).toLowerCase();if(!amplitude._iq.hasOwnProperty(e)){amplitude._iq[e]={_q:[]};v(amplitude._iq[e])}return amplitude._iq[e]};
185
186          amplitude.getInstance().init(tarteaucitron.user.amplitude);
187        });
188    }
189};
190
191// abtasty
192tarteaucitron.services.abtasty = {
193    "key": "abtasty",
194    "type": "api",
195    "name": "ABTasty",
196    "uri": "https://www.abtasty.com/terms-of-use/",
197    "needConsent": true,
198    "cookies": ['ABTasty', 'ABTastySession'],
199    "js": function () {
200        "use strict";
201        if (tarteaucitron.user.abtastyID === undefined) {
202            return;
203        }
204        tarteaucitron.addScript('//try.abtasty.com/'+tarteaucitron.user.abtastyID+'.js');
205    }
206};
207
208
209// yandex metrica
210tarteaucitron.services.metrica = {
211    "key": "metrica",
212    "type": "analytic",
213    "name": "Yandex Metrica",
214    "uri": "https://yandex.com/legal/confidential/",
215    "needConsent": true,
216    "cookies": ['_ym_metrika_enabled','_ym_isad', '_ym_uid', '_ym_d','yabs-sid','_ym_debug','_ym_mp2_substs','_ym_hostIndex','_ym_mp2_track','yandexuid','usst'],
217    "js": function () {
218        "use strict";
219        if (tarteaucitron.user.yandexmetrica === undefined) {
220            return;
221        }
222        tarteaucitron.addScript('https://mc.yandex.ru/metrika/tag.js', '', function() {
223
224           (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
225            m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
226           (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
227
228           ym(tarteaucitron.user.yandexmetrica, "init", {
229                clickmap:true,
230                trackLinks:true,
231                accurateTrackBounce:true,
232                webvisor:true,
233                ecommerce:"dataLayer"
234            });
235        });
236    }
237};
238
239// addthis
240tarteaucitron.services.addthis = {
241    "key": "addthis",
242    "type": "social",
243    "name": "AddThis",
244    "uri": "https://www.addthis.com/privacy/privacy-policy#publisher-visitors",
245    "needConsent": true,
246    "cookies": ['__atuvc', '__atuvs'],
247    "js": function () {
248        "use strict";
249        if (tarteaucitron.user.addthisPubId === undefined) {
250            return;
251        }
252        if (tarteaucitron.isAjax === true) {
253            window.addthis = null;
254            window._adr = null;
255            window._atc = null;
256            window._atd = null;
257            window._ate = null;
258            window._atr = null;
259            window._atw = null;
260        }
261        tarteaucitron.fallback(['addthis_sharing_toolbox'], '');
262        tarteaucitron.addScript('//s7.addthis.com/js/300/addthis_widget.js#pubid=' + tarteaucitron.user.addthisPubId);
263    },
264    "fallback": function () {
265        "use strict";
266        var id = 'addthis';
267        tarteaucitron.fallback(['addthis_sharing_toolbox'], tarteaucitron.engage(id));
268    }
269};
270
271// addtoanyfeed
272tarteaucitron.services.addtoanyfeed = {
273    "key": "addtoanyfeed",
274    "type": "social",
275    "name": "AddToAny (feed)",
276    "uri": "https://www.addtoany.com/privacy",
277    "needConsent": true,
278    "cookies": [],
279    "js": function () {
280        "use strict";
281        if (tarteaucitron.user.addtoanyfeedUri === undefined) {
282            return;
283        }
284        tarteaucitron.user.addtoanyfeedSubscribeLink = 'https://www.addtoany.com/subscribe?linkurl=' + tarteaucitron.user.addtoanyfeedUri;
285        window.a2a_config = window.a2a_config || {};
286        window.a2a_config.linkurl = tarteaucitron.user.addtoanyfeedUri;
287        tarteaucitron.addScript('//static.addtoany.com/menu/feed.js');
288    },
289    "fallback": function () {
290        "use strict";
291        tarteaucitron.user.addtoanyfeedSubscribeLink = 'https://www.addtoany.com/subscribe?linkurl=' + tarteaucitron.user.addtoanyfeedUri;
292    }
293};
294
295// addtoanyshare
296tarteaucitron.services.addtoanyshare = {
297    "key": "addtoanyshare",
298    "type": "social",
299    "name": "AddToAny (share)",
300    "uri": "https://www.addtoany.com/privacy",
301    "needConsent": true,
302    "cookies": [],
303    "js": function () {
304        "use strict";
305        tarteaucitron.fallback(['tac_addtoanyshare'], '');
306        tarteaucitron.addScript('//static.addtoany.com/menu/page.js');
307    },
308    "fallback": function () {
309        "use strict";
310        var id = 'addtoanyshare';
311        tarteaucitron.fallback(['tac_addtoanyshare'], tarteaucitron.engage(id));
312    }
313};
314
315// aduptech ads
316tarteaucitron.services.aduptech_ads = {
317    "key": "aduptech_ads",
318    "type": "ads",
319    "name": "Ad Up Technology (ads)",
320    "uri": "https://www.adup-tech.com/datenschutz",
321    "needConsent": true,
322    "cookies": [],
323    "js": function () {
324        "use strict";
325
326        var IDENTIFIER = "aduptech_ads",
327            API_URL = "https://s.d.adup-tech.com/jsapi";
328
329        var elements = document.getElementsByClassName(IDENTIFIER);
330        if (!elements || elements.length === 0) {
331            return;
332        }
333
334        tarteaucitron.fallback([IDENTIFIER], "");
335
336        tarteaucitron.addScript(API_URL, "", function() {
337            for (var i = 0; i < elements.length; i++) {
338                var element = elements[i];
339
340                if (!element.getAttribute("id")) {
341                    element.setAttribute("id", IDENTIFIER + Math.random().toString(36).substr(2, 9));
342                }
343
344                window.uAd.embed(element.getAttribute("id"), {
345                    placementKey: element.getAttribute("placementKey"),
346                    responsive: Boolean(element.getAttribute("responsive")),
347                    lazy: Boolean(element.getAttribute("lazy")),
348                    adtest: Boolean(element.getAttribute("test")),
349                    query: element.getAttribute("query") || "",
350                    minCpc: element.getAttribute("minCpc") || "",
351                    pageUrl: element.getAttribute("pageUrl") || "",
352                    skip: element.getAttribute("skip") || ""
353                });
354            }
355        });
356
357    },
358    "fallback": function () {
359        "use strict";
360        tarteaucitron.fallback(["aduptech_ads"], tarteaucitron.engage("aduptech_ads"));
361    }
362};
363
364// aduptech conversion
365tarteaucitron.services.aduptech_conversion = {
366    "key": "aduptech_conversion",
367    "type": "ads",
368    "name": "Ad Up Technology (conversion)",
369    "uri": "https://www.adup-tech.com/datenschutz",
370    "needConsent": true,
371    "cookies": [],
372    "js": function () {
373        "use strict";
374
375        var IDENTIFIER = "aduptech_conversion",
376            CONVERSION_PIXEL_BASE_URL = "https://d.adup-tech.com/campaign/conversion";
377
378        var elements = document.getElementsByClassName(IDENTIFIER);
379        if (!elements || elements.length === 0) {
380            return;
381        }
382
383        tarteaucitron.fallback([IDENTIFIER], "");
384
385        for (var i = 0; i < elements.length; i++) {
386            var element = elements[i];
387
388            if (!element.getAttribute("advertiserId") || !element.getAttribute("conversionCode")) {
389                continue;
390            }
391
392            var url = CONVERSION_PIXEL_BASE_URL +
393                "/" + encodeURIComponent(element.getAttribute("advertiserId")) +
394                "?t=" + encodeURIComponent(element.getAttribute("conversionCode"));
395
396            if (element.getAttribute("price")) {
397                url += "&price=" + encodeURIComponent(element.getAttribute("price"));
398            }
399
400            if (element.getAttribute("quantity")) {
401                url += "&quantity=" + encodeURIComponent(element.getAttribute("quantity"));
402            }
403
404            if (element.getAttribute("total")) {
405                url += "&total=" + encodeURIComponent(element.getAttribute("total"));
406            }
407
408            if (element.getAttribute("orderId")) {
409                url += "&order_id=" + encodeURIComponent(element.getAttribute("orderId"));
410            }
411
412            if (element.getAttribute("itemNumber")) {
413                url += "&item_number=" + encodeURIComponent(element.getAttribute("itemNumber"));
414            }
415
416            if (element.getAttribute("description")) {
417                url += "&description=" + encodeURIComponent(element.getAttribute("description"));
418            }
419
420            (new Image()).src = url;
421        }
422    }
423};
424
425// aduptech retargeting
426tarteaucitron.services.aduptech_retargeting = {
427    "key": "aduptech_retargeting",
428    "type": "ads",
429    "name": "Ad Up Technology (retargeting)",
430    "uri": "https://www.adup-tech.com/datenschutz",
431    "needConsent": true,
432    "cookies": [],
433    "js": function () {
434        "use strict";
435
436        var IDENTIFIER = "aduptech_retargeting",
437            API_URL = "https://s.d.adup-tech.com/services/retargeting.js";
438
439        var elements = document.getElementsByClassName(IDENTIFIER);
440        if (!elements || elements.length === 0) {
441            return;
442        }
443
444        tarteaucitron.fallback([IDENTIFIER], "");
445
446        window.AdUpRetargeting = function(api) {
447            for (var i = 0; i < elements.length; i++) {
448                var element = elements[i];
449
450                api.init();
451
452                api.setAccount(element.getAttribute("account"));
453
454                if (element.getAttribute("email")) {
455                    api.setEmail(element.getAttribute("email"));
456                } else if (element.getAttribute("hashedEmail")) {
457                    api.setHashedEmail(element.getAttribute("hashedEmail"));
458                }
459
460                if (element.getAttribute("product")) {
461                    try {
462                        api.setProduct(JSON.parse(element.getAttribute("product")));
463                    } catch (e) {
464                        api.setProduct(element.getAttribute("product"));
465                    }
466                }
467
468                if (element.getAttribute("transaction")) {
469                    try {
470                        api.setTransaction(JSON.parse(element.getAttribute("transaction")));
471                    } catch (e) {
472                        api.setTransaction(element.getAttribute("transaction"));
473                    }
474                }
475
476                if (element.getAttribute("demarkUser")) {
477                    api.setDemarkUser();
478                } else if (element.getAttribute("demarkProducts")) {
479                    api.setDemarkProducts();
480                }
481
482                if (element.getAttribute("conversionCode")) {
483                    api.setConversionCode(element.getAttribute("conversionCode"));
484                }
485
486                if (element.getAttribute("device")) {
487                    var setter = "set" + element.getAttribute("device").charAt(0).toUpperCase() + element.getAttribute("device").slice(1);
488                    if (typeof api[setter] === 'function') {
489                        api[setter]();
490                    }
491                }
492
493                if (element.getAttribute("track")) {
494                    var tracker = "track" + element.getAttribute("track").charAt(0).toUpperCase() + element.getAttribute("track").slice(1);
495                    if (typeof api[tracker] === "function") {
496                        api[tracker]();
497                    } else {
498                        api.trackHomepage();
499                    }
500                }
501            };
502        };
503
504        tarteaucitron.addScript(API_URL);
505    }
506};
507
508// alexa
509tarteaucitron.services.alexa = {
510    "key": "alexa",
511    "type": "analytic",
512    "name": "Alexa",
513    "uri": "https://www.alexa.com/help/privacy",
514    "needConsent": true,
515    "cookies": ['__asc', '__auc'],
516    "js": function () {
517        "use strict";
518        if (tarteaucitron.user.alexaAccountID === undefined) {
519            return;
520        }
521        window._atrk_opts = {
522            atrk_acct: tarteaucitron.user.alexaAccountID,
523            domain: window.location.hostname.match(/[^\.]*\.[^.]*$/)[0],
524            dynamic: true
525        };
526        tarteaucitron.addScript('https://d31qbv1cthcecs.cloudfront.net/atrk.js');
527    }
528};
529
530// amazon
531tarteaucitron.services.amazon = {
532    "key": "amazon",
533    "type": "ads",
534    "name": "Amazon",
535    "uri": "https://www.amazon.com/gp/help/customer/display.html/ref=help_search_1-1?ie=UTF8&nodeId=201909010&qid=1544617177&sr=1-1",
536    "needConsent": true,
537    "cookies": [],
538    "js": function () {
539        "use strict";
540        tarteaucitron.fallback(['amazon_product'], function (x) {
541            var amazonId = x.getAttribute("amazonid"),
542                productId = x.getAttribute("productid"),
543                url = '//ws-eu.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=' + tarteaucitron.getLanguage().toUpperCase() + '&source=ss&ref=ss_til&ad_type=product_link&tracking_id=' + amazonId + '&marketplace=amazon&region=' + tarteaucitron.getLanguage().toUpperCase() + '&placement=' + productId + '&asins=' + productId + '&show_border=true&link_opens_in_new_window=true',
544                iframe = '<iframe title="Amazon iframe" style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" src="' + url + '"></iframe>';
545
546            return iframe;
547        });
548    },
549    "fallback": function () {
550        "use strict";
551        var id = 'amazon';
552        tarteaucitron.fallback(['amazon_product'], tarteaucitron.engage(id));
553    }
554};
555
556// calameo
557tarteaucitron.services.calameo = {
558    "key": "calameo",
559    "type": "video",
560    "name": "Calameo",
561    "uri": "https://fr.calameo.com/privacy",
562    "needConsent": true,
563    "cookies": [],
564    "js": function () {
565        "use strict";
566        tarteaucitron.fallback(['calameo-canvas'], function (x) {
567            var id = x.getAttribute("data-id"),
568                width = x.getAttribute("width"),
569                height = x.getAttribute("height"),
570                url = '//v.calameo.com/?bkcode=' + id;
571
572            return '<iframe title="Calameo iframe" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>';
573        });
574    },
575    "fallback": function () {
576        "use strict";
577        var id = 'calameo';
578        tarteaucitron.fallback(['calameo-canvas'], function (elem) {
579            elem.style.width = elem.getAttribute('width') + 'px';
580            elem.style.height = elem.getAttribute('height') + 'px';
581            return tarteaucitron.engage(id);
582        });
583    }
584};
585
586// clicky
587tarteaucitron.services.clicky = {
588    "key": "clicky",
589    "type": "analytic",
590    "name": "Clicky",
591    "uri": "https://clicky.com/terms",
592    "needConsent": true,
593    "cookies": ['_jsuid', '_eventqueue', '_referrer_og', '_utm_og', '_first_pageview', 'clicky_olark', 'no_trackyy_' + tarteaucitron.user.clickyId, 'unpoco_' + tarteaucitron.user.clickyId, 'heatmaps_g2g_' + tarteaucitron.user.clickyId],
594    "js": function () {
595        "use strict";
596        if (tarteaucitron.user.clickyId === undefined) {
597            return;
598        }
599        tarteaucitron.addScript('//static.getclicky.com/js', '', function () {
600            if (typeof clicky.init === 'function') {
601                clicky.init(tarteaucitron.user.clickyId);
602            }
603            if (typeof tarteaucitron.user.clickyMore === 'function') {
604                tarteaucitron.user.clickyMore();
605            }
606        });
607    }
608};
609
610// clicmanager
611tarteaucitron.services.clicmanager = {
612    "key": "clicmanager",
613    "type": "ads",
614    "name": "Clicmanager",
615    "uri": "http://www.clicmanager.fr/infos_legales.php",
616    "needConsent": true,
617    "cookies": [],
618    "js": function () {
619        "use strict";
620        var uniqIds = [],
621            i,
622            uri;
623
624        tarteaucitron.fallback(['clicmanager-canvas'], function (x) {
625            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
626            uniqIds.push(uniqId);
627            return '<div id="' + uniqId + '" c="' + x.getAttribute('c') + '" s="' + x.getAttribute('s') + '" t="' + x.getAttribute('t') + '"></div>';
628        });
629
630        for (i = 0; i < uniqIds.length; i += 1) {
631            uri = '//ads.clicmanager.fr/exe.php?';
632            uri += 'c=' + document.getElementById(uniqIds[i]).getAttribute('c') + '&';
vendor: 4,434 bytes, lines 633-761
633            uri += 's=' + document.getElementById(uniqIds[i]).getAttribute('s') + '&';
634            uri += 't=' + document.getElementById(uniqIds[i]).getAttribute('t');
635
636            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
637        }
638    },
639    "fallback": function () {
640        "use strict";
641        var id = 'clicmanager';
642        tarteaucitron.fallback(['clicmanager-canvas'], tarteaucitron.engage(id));
643    }
644};
645
646// compteur
647tarteaucitron.services.compteur = {
648    "key": "compteur",
649    "type": "analytic",
650    "name": "Compteur.fr",
651    "uri": "https://www.compteur.fr/help_privacy_policy.htm",
652    "needConsent": true,
653    "cookies": [],
654    "js": function () {
655        "use strict";
656        if (tarteaucitron.user.compteurID === undefined) {
657            return;
658        }
659        tarteaucitron.addScript('https://server2.compteur.fr/log7.js', '', function() {wtslog7(tarteaucitron.user.compteurID,1);});
660    }
661};
662
663// contentsquare
664tarteaucitron.services.contentsquare = {
665    "key": "contentsquare",
666    "type": "api",
667    "name": "ContentSquare",
668    "uri": "https://docs.contentsquare.com/uxa-en/#collected-data",
669    "needConsent": true,
670    "cookies": ['_cs_id', '_cs_s', '_cs_vars', '_cs_ex', '_cs_c', '_cs_optout'],
671    "js": function () {
672        "use strict";
673        if (tarteaucitron.user.contentsquareID === undefined) {
674            return;
675        }
676        tarteaucitron.addScript('//t.contentsquare.net/uxa/'+tarteaucitron.user.contentsquareID+'.js');
677    }
678};
679
680// crazyegg
681tarteaucitron.services.crazyegg = {
682    "key": "crazyegg",
683    "type": "analytic",
684    "name": "Crazy Egg",
685    "uri": "https://www.crazyegg.com/privacy",
686    "needConsent": true,
687    "cookies": [],
688    "js": function () {
689        "use strict";
690
691        if (tarteaucitron.user.crazyeggId === undefined) {
692            return;
693        }
694
695        tarteaucitron.addScript('//script.crazyegg.com/pages/scripts/' + tarteaucitron.user.crazyeggId.substr(0, 4) + '/' + tarteaucitron.user.crazyeggId.substr(4, 4) + '.js');
696    }
697};
698
699// clarity
700tarteaucitron.services.clarity = {
701    "key": "clarity",
702    "type": "analytic",
703    "name": "Clarity",
704    "uri": "https://clarity.microsoft.com/",
705    "needConsent": true,
706    "cookies": [],
707    "js": function () {
708        "use strict";
709
710        window["clarity"]= window["clarity"]||function(){(window["clarity"].q= window["clarity"].q||[]).push(arguments)};
711
712        tarteaucitron.addScript('https://www.clarity.ms/tag/' + tarteaucitron.user.clarity);
713    }
714};
715
716// criteo
717tarteaucitron.services.criteo = {
718    "key": "criteo",
719    "type": "ads",
720    "name": "Criteo",
721    "uri": "http://www.criteo.com/privacy/",
722    "needConsent": true,
723    "cookies": [],
724    "js": function () {
725        "use strict";
726        document.MAX_ct0 = '';
727        var uniqIds = [],
728            i,
729            uri;
730
731        tarteaucitron.fallback(['criteo-canvas'], function (x) {
732            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
733            uniqIds.push(uniqId);
734            return '<div id="' + uniqId + '" zoneid="' + x.getAttribute('zoneid') + '"></div>';
735        });
736
737        for (i = 0; i < uniqIds.length; i += 1) {
738            uri = '//cas.criteo.com/delivery/ajs.php?';
739            uri += 'zoneid=' + document.getElementById(uniqIds[i]).getAttribute('zoneid');
740            uri += '&nodis=1&cb=' + Math.floor(Math.random() * 99999999999);
741            uri += '&loc=' + encodeURI(window.location);
742            uri += (document.MAX_used !== ',') ? '&exclude=' + document.MAX_used : '';
743            uri += (document.charset !== undefined ? '&charset=' + document.charset : '');
744            uri += (document.characterSet !== undefined ? '&charset=' + document.characterSet : '');
745            uri += (document.referrer !== undefined) ? '&referer=' + encodeURI(document.referrer) : '';
746            uri += (document.context !== undefined) ? '&context=' + encodeURI(document.context) : '';
747            uri += ((document.MAX_ct0 !== undefined) && (document.MAX_ct0.substring(0, 4) === 'http')) ? '&ct0=' + encodeURI(document.MAX_ct0) : '';
748            uri += (document.mmm_fo !== undefined) ? '&mmm_fo=1' : '';
749
750            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
751        }
752    },
753    "fallback": function () {
754        "use strict";
755        var id = 'criteo';
756        tarteaucitron.fallback(['criteo-canvas'], tarteaucitron.engage(id));
757    }
758};
759
760// artetv
761tarteaucitron.services.artetv = {
762    "key": "artetv",
763    "type": "video",
764    "name": "Arte.tv",
765    "uri": "https://www.arte.tv/sites/fr/corporate/donnees-personnelles/",
766    "needConsent": true,
767    "cookies": [],
768    "js": function () {
769        "use strict";
770        tarteaucitron.fallback(['artetv_player'], function (x) {
771            var video_json = x.getAttribute("json"),
772                video_width = x.getAttribute("width"),
773                video_height = x.getAttribute("height"),
774                video_frame;
775
776            if (video_json === undefined) {
777                return "";
778            }
779
780            video_frame = '<iframe title="Arte.tv iframe" style="transition-duration: 0; transition-property: no; margin: 0 auto; position: relative; display: block; background-color: #000000;" src="https://www.arte.tv/player/v5/index.php?json_url=' + video_json + '" width="' + video_width + '" height="' + video_height + '" scrolling="no" allowfullscreen="allowfullscreen"></iframe>';
781            return video_frame;
782        });
783    },
784    "fallback": function () {
785        "use strict";
786        var id = 'artetv';
787        tarteaucitron.fallback(['artetv_player'], function (elem) {
788            elem.style.width = elem.getAttribute('width') + 'px';
789            elem.style.height = elem.getAttribute('height') + 'px';
790            return tarteaucitron.engage(id);
791        });
792    }
793};
794
795// dailymotion
796tarteaucitron.services.dailymotion = {
797    "key": "dailymotion",
798    "type": "video",
799    "name": "Dailymotion",
800    "uri": "https://www.dailymotion.com/legal/privacy",
801    "needConsent": true,
802    "cookies": ['ts', 'dmvk', 'hist', 'v1st', 's_vi'],
803    "js": function () {
804        "use strict";
805        tarteaucitron.fallback(['dailymotion_player'], function (x) {
806            var video_id = x.getAttribute("videoID"),
807                video_width = x.getAttribute("width"),
808                frame_width = 'width=',
809                video_height = x.getAttribute("height"),
810                frame_height = 'height=',
811                video_frame,
812                embed_type = x.getAttribute("embedType"),
813                params = 'info=' + x.getAttribute("showinfo") + '&autoPlay=' + x.getAttribute("autoplay");
814
815            if (video_id === undefined) {
816                return "";
817            }
818            if (video_width !== undefined) {
819                frame_width += '"' + video_width + '" ';
820            } else {
821                frame_width += '"" ';
822            }
823            if (video_height !== undefined) {
824                frame_height +=  '"' + video_height + '" ';
825            } else {
826                frame_height += '"" ';
827            }
828            if (embed_type === undefined || !['video', 'playlist'].includes(embed_type) ) {
829                embed_type = "video";
830            }
831            video_frame = '<iframe title="Dailymotion iframe" src="//www.dailymotion.com/embed/' + embed_type + '/' + video_id + '?' + params + '" ' + frame_width + frame_height + ' allowfullscreen></iframe>';
832            return video_frame;
833        });
834    },
835    "fallback": function () {
836        "use strict";
837        var id = 'dailymotion';
838        tarteaucitron.fallback(['dailymotion_player'], function (elem) {
839            elem.style.width = elem.getAttribute('width') + 'px';
840            elem.style.height = elem.getAttribute('height') + 'px';
841            return tarteaucitron.engage(id);
842        });
843    }
844};
845
846// dating affiliation
847tarteaucitron.services.datingaffiliation = {
848    "key": "datingaffiliation",
849    "type": "ads",
850    "name": "Dating Affiliation",
851    "uri": "http://www.dating-affiliation.com/conditions-generales.php",
852    "needConsent": true,
853    "cookies": [],
854    "js": function () {
855        "use strict";
856        tarteaucitron.fallback(['datingaffiliation-canvas'], function (x) {
857            var comfrom = x.getAttribute("data-comfrom"),
858                r = x.getAttribute("data-r"),
859                p = x.getAttribute("data-p"),
860                cf0 = x.getAttribute("data-cf0"),
861                langue = x.getAttribute("data-langue"),
862                forward_affiliate = x.getAttribute("data-forwardAffiliate"),
863                cf2 = x.getAttribute("data-cf2"),
864                cfsa2 = x.getAttribute("data-cfsa2"),
865                width = x.getAttribute("width"),
866                height = x.getAttribute("height"),
867                url = 'http://www.tools-affil2.com/rotaban/ban.php?' + comfrom;
868
869            return '<iframe title="Dating Affiliation iframe" src="' + url + '&r=' + r + '&p=' + p + '&cf0=' 
869+ cf0 + '&langue=' + langue + '&forward_affiliate=' + forward_affiliate + '&cf2=' + cf2 + '&cfsa2=' + cfsa2 + '" width="' + width + '" height="' + height + '" marginheight="0" marginwidth="0" scrolling="no"></iframe>';
870        });
871    },
872    "fallback": function () {
873        "use strict";
874        var id = 'datingaffiliation';
875        tarteaucitron.fallback(['datingaffiliation-canvas'], function (elem) {
876            elem.style.width = elem.getAttribute('width') + 'px';
877            elem.style.height = elem.getAttribute('height') + 'px';
878            return tarteaucitron.engage(id);
879        });
880    }
881};
882
883// dating affiliation popup
884tarteaucitron.services.datingaffiliationpopup = {
885    "key": "datingaffiliationpopup",
886    "type": "ads",
887    "name": "Dating Affiliation (Pop Up)",
888    "uri": "http://www.dating-affiliation.com/conditions-generales.php",
889    "needConsent": true,
890    "cookies": ['__utma', '__utmb', '__utmc', '__utmt_Tools', '__utmv', '__utmz', '_ga', '_gat', '_gat_UA-65072040-17', '__da-pu-xflirt-ID-pc-o169'],
891    "js": function () {
892        "use strict";
893        var uniqIds = [],
894            i,
895            uri;
896
897        tarteaucitron.fallback(['datingaffiliationpopup-canvas'], function (x) {
898            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
899            uniqIds.push(uniqId);
900            return '<div id="' + uniqId + '" uri="' + x.getAttribute('uri') + '" comfrom="' + x.getAttribute('comfrom') + '" promo="' + x.getAttribute('promo') + '" productid="' + x.getAttribute('productid') + '" submitconfig="' + x.getAttribute('submitconfig') + '" ur="' + x.getAttribute('ur') + '" brand="' + x.getAttribute('brand') + '" lang="' + x.getAttribute('lang') + '" cf0="' + x.getAttribute('cf0') + '" cf2="' + x.getAttribute('cf2') + '" subid1="' + x.getAttribute('subid1') + '" cfsa2="' + x.getAttribute('cfsa2') + '" subid2="' + x.getAttribute('subid2') + '" nicheid="' + x.getAttribute('nicheid') + '" degreid="' + x.getAttribute('degreid') + '" bt="' + x.getAttribute('bt') + '" vis="' + x.getAttribute('vis') + '" hid="' + x.getAttribute('hid') + '" snd="' + x.getAttribute('snd') + '" aabd="' + x.getAttribute('aabd') + '" aabs="' + x.getAttribute('aabs') + '"></div>';
901        });
902
903        for (i = 0; i < uniqIds.length; i += 1) {
904            uri = 'http://www.promotools.biz/da/popunder/script.php?';
905            uri += 'comfrom=' + document.getElementById(uniqIds[i]).getAttribute('comfrom') + '&';
906            uri += 'promo=' + document.getElementById(uniqIds[i]).getAttribute('promo') + '&';
907            uri += 'product_id=' + document.getElementById(uniqIds[i]).getAttribute('productid') + '&';
908            uri += 'submitconfig=' + document.getElementById(uniqIds[i]).getAttribute('submitconfig') + '&';
909            uri += 'ur=' + document.getElementById(uniqIds[i]).getAttribute('ur') + '&';
910            uri += 'brand=' + document.getElementById(uniqIds[i]).getAttribute('brand') + '&';
911            uri += 'lang=' + document.getElementById(uniqIds[i]).getAttribute('lang') + '&';
912            uri += 'cf0=' + document.getElementById(uniqIds[i]).getAttribute('cf0') + '&';
913            uri += 'cf2=' + document.getElementById(uniqIds[i]).getAttribute('cf2') + '&';
914            uri += 'subid1=' + document.getElementById(uniqIds[i]).getAttribute('subid1') + '&';
915            uri += 'cfsa2=' + document.getElementById(uniqIds[i]).getAttribute('cfsa2') + '&';
916            uri += 'subid2=' + document.getElementById(uniqIds[i]).getAttribute('subid2') + '&';
917            uri += 'nicheId=' + document.getElementById(uniqIds[i]).getAttribute('nicheid') + '&';
918            uri += 'degreId=' + document.getElementById(uniqIds[i]).getAttribute('degreid') + '&';
919            uri += 'bt=' + document.getElementById(uniqIds[i]).getAttribute('bt') + '&';
920            uri += 'vis=' + document.getElementById(uniqIds[i]).getAttribute('vis') + '&';
921            uri += 'hid=' + document.getElementById(uniqIds[i]).getAttribute('hid') + '&';
922            uri += 'snd=' + document.getElementById(uniqIds[i]).getAttribute('snd') + '&';
923            uri += 'aabd=' + document.getElementById(uniqIds[i]).getAttribute('aabd') + '&';
924            uri += 'aabs=' + document.getElementById(uniqIds[i]).getAttribute('aabs');
925
926            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
927        }
928    },
929    "fallback": function () {
930        "use strict";
931        var id = 'datingaffiliationpopup';
932        tarteaucitron.fallback(['datingaffiliationpopup-canvas'], tarteaucitron.engage(id));
933    }
934};
935
936// deezer
937tarteaucitron.services.deezer = {
938    "key": "deezer",
939    "type": "video",
940    "name": "Deezer",
941    "uri": "https://www.deezer.com/legal/personal-datas",
942    "needConsent": true,
943    "cookies": [],
944    "js": function () {
945        "use strict";
946        tarteaucitron.fallback(['deezer_player'], function (x) {
947            var deezer_id = x.getAttribute("deezerID"),
948                deezer_width = x.getAttribute("width"),
949                frame_width = 'width=',
950                deezer_height = x.getAttribute("height"),
951                frame_height = 'height=',
952                deezer_frame,
953                embed_theme = x.getAttribute("theme"),
954                embed_type = x.getAttribute("embedType"),
955                radius = x.getAttribute("radius"),
956                tracklist = x.getAttribute("tracklist"),
957                params;
958
959            if (deezer_id === undefined) {
960                return "";
961            }
962            if (deezer_width !== undefined) {
963                frame_width += '"' + deezer_width + '" ';
964            } else {
965                frame_width += '"" ';
966            }
967            if (deezer_height !== undefined) {
968                frame_height +=  '"' + deezer_height + '" ';
969            } else {
970                frame_height += '"" ';
971            }
972            if (embed_theme === undefined || !['auto', 'light', 'dark'].includes(embed_theme) ) {
973                embed_theme = "auto";
974            }
975            if (embed_type === undefined || !['album', 'track', 'playlist'].includes(embed_type) ) {
976                embed_type = "album";
977            }
978            if (radius === undefined || !['true', 'false'].includes(radius) ) {
979                radius = "true";
980            }
981            if (tracklist === undefined || !['true', 'false'].includes(tracklist) ) {
982                tracklist = "true";
983            }
984            params = 'tracklist=' + tracklist + '&radius=' + radius;
985            deezer_frame = '<iframe title="Deezer iframe" src="//widget.deezer.com/widget/' + embed_theme + '/' + embed_type + '/' + deezer_id + '?' + params + '" ' + frame_width + frame_height + ' allowfullscreen></iframe>';
986            return deezer_frame;
987        });
988    },
989    "fallback": function () {
990        "use strict";
991        var id = 'deezer';
992        tarteaucitron.fallback(['deezer_player'], function (elem) {
993            elem.style.width = elem.getAttribute('width') + 'px';
994            elem.style.height = elem.getAttribute('height') + 'px';
995            return tarteaucitron.engage(id);
996        });
997    }
998};
999
1000// leadforensics
1001tarteaucitron.services.leadforensics = {
1002    "key": "leadforensics",
1003    "type": "analytic",
1004    "name": "LeadForensics",
1005    "uri": "https://www.leadforensics.com/privacy-policy/",
1006    "needConsent": true,
1007    "cookies": ['trackalyzer'],
1008    "js": function () {
1009        "use strict";
1010        if (tarteaucitron.user.leadforensicsSf14gv === undefined ||
1011            tarteaucitron.user.leadforensicsIidentifier === undefined) {
1012            return;
1013        }
1014
1015        window.sf14gv = tarteaucitron.user.leadforensicsSf14gv;
1016
1017        (function() {
1018            var sf14g = document.createElement('script'); sf14g.async = true;
1019            sf14g.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 't.sf14g.com/sf14g.js';
1020            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sf14g, s);
1021        })();
1022
1023        tarteaucitron.addScript('//secure.leadforensics.com/js/' + tarteaucitron.user.leadforensicsIidentifier + '.js');
1024    }
1025};
1026
1027// disqus
1028tarteaucitron.services.disqus = {
1029    "key": "disqus",
1030    "type": "comment",
1031    "name": "Disqus",
1032    "uri": "https://help.disqus.com/customer/portal/articles/466259-privacy-policy",
1033    "needConsent": true,
1034    "cookies": [],
1035    "js": function () {
1036        "use strict";
1037        if (tarteaucitron.user.disqusShortname === undefined) {
1038            return;
1039        }
1040        tarteaucitron.addScript('//' + tarteaucitron.user.disqusShortname + '.disqus.com/embed.js');
1041        tarteaucitron.addScript('//' + tarteaucitron.user.disqusShortname + '.disqus.com/count.js');
1042    },
1043    "fallback": function () {
1044        "use strict";
1045        var id = 'disqus';
1046
1047        if (document.getElementById('disqus_thread')) {
1048            document.getElementById('disqus_thread').innerHTML = tarteaucitron.engage(id);
1049        }
1050    }
1051};
1052
1053// ekomi
1054tarteaucitron.services.ekomi = {
vendor: 13,052 bytes, lines 1055-1472
1055    "key": "ekomi",
1056    "type": "social",
1057    "name": "eKomi",
1058    "uri": "http://www.ekomi-us.com/us/privacy/",
1059    "needConsent": true,
1060    "cookies": [],
1061    "js": function () {
1062        "use strict";
1063        if (tarteaucitron.user.ekomiCertId === undefined) {
1064            return;
1065        }
1066        window.eKomiIntegrationConfig = [
1067            {certId: tarteaucitron.user.ekomiCertId}
1068        ];
1069        tarteaucitron.addScript('//connect.ekomi.de/integration_1410173009/' + tarteaucitron.user.ekomiCertId + '.js');
1070    }
1071};
1072
1073// etracker
1074tarteaucitron.services.etracker = {
1075    "key": "etracker",
1076    "type": "analytic",
1077    "name": "eTracker",
1078    "uri": "https://www.etracker.com/en/data-protection.html",
1079    "needConsent": true,
1080    "cookies": [],
1081    "js": function () {
1082        "use strict";
1083        if (tarteaucitron.user.etracker === undefined) {
1084            return;
1085        }
1086
1087        tarteaucitron.addScript('//static.etracker.com/code/e.js', '_etLoader', function () {}, true, "data-secure-code", tarteaucitron.user.etracker);
1088    }
1089};
1090
1091// facebook
1092tarteaucitron.services.facebook = {
1093    "key": "facebook",
1094    "type": "social",
1095    "name": "Facebook",
1096    "uri": "https://www.facebook.com/policy.php",
1097    "needConsent": true,
1098    "cookies": [],
1099    "js": function () {
1100        "use strict";
1101        tarteaucitron.fallback(['fb-post', 'fb-follow', 'fb-activity', 'fb-send', 'fb-share-button', 'fb-like', 'fb-video'], '');
1102        tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.0', 'facebook-jssdk');
1103        if (tarteaucitron.isAjax === true) {
1104            if (typeof FB !== "undefined") {
1105                FB.XFBML.parse();
1106            }
1107        }
1108    },
1109    "fallback": function () {
1110        "use strict";
1111        var id = 'facebook';
1112        tarteaucitron.fallback(['fb-post', 'fb-follow', 'fb-activity', 'fb-send', 'fb-share-button', 'fb-like', 'fb-video'], tarteaucitron.engage(id));
1113    }
1114};
1115
1116// facebooklikebox
1117tarteaucitron.services.facebooklikebox = {
1118    "key": "facebooklikebox",
1119    "type": "social",
1120    "name": "Facebook (like box)",
1121    "uri": "https://www.facebook.com/policy.php",
1122    "needConsent": true,
1123    "cookies": [],
1124    "js": function () {
1125        "use strict";
1126        tarteaucitron.fallback(['fb-like-box', 'fb-page'], '');
1127        tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.3', 'facebook-jssdk');
1128        if (tarteaucitron.isAjax === true) {
1129            if (typeof FB !== "undefined") {
1130                FB.XFBML.parse();
1131            }
1132        }
1133    },
1134    "fallback": function () {
1135        "use strict";
1136        var id = 'facebooklikebox';
1137        tarteaucitron.fallback(['fb-like-box', 'fb-page'], tarteaucitron.engage(id));
1138    }
1139};
1140
1141// facebookcomment
1142tarteaucitron.services.facebookcomment = {
1143    "key": "facebookcomment",
1144    "type": "comment",
1145    "name": "Facebook (commentaire)",
1146    "uri": "https://www.facebook.com/policy.php",
1147    "needConsent": true,
1148    "cookies": [],
1149    "js": function () {
1150        "use strict";
1151        tarteaucitron.fallback(['fb-comments'], '');
1152        tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.0', 'facebook-jssdk');
1153        if (tarteaucitron.isAjax === true) {
1154            if (typeof FB !== "undefined") {
1155                FB.XFBML.parse();
1156            }
1157        }
1158    },
1159    "fallback": function () {
1160        "use strict";
1161        var id = 'facebookcomment';
1162        tarteaucitron.fallback(['fb-comments'], tarteaucitron.engage(id));
1163    }
1164};
1165
1166// ferank
1167tarteaucitron.services.ferank = {
1168    "key": "ferank",
1169    "type": "analytic",
1170    "name": "FERank",
1171    "uri": "https://www.ferank.fr/respect-vie-privee/#mesureaudience",
1172    "needConsent": false,
1173    "cookies": [],
1174    "js": function () {
1175        "use strict";
1176        tarteaucitron.addScript('//static.ferank.fr/pixel.js', '', function () {
1177            if (typeof tarteaucitron.user.ferankMore === 'function') {
1178                tarteaucitron.user.ferankMore();
1179            }
1180        });
1181    }
1182};
1183
1184// pingdom
1185tarteaucitron.services.pingdom = {
1186    "key": "pingdom",
1187    "type": "api",
1188    "name": "Pingdom",
1189    "uri": "https://www.solarwinds.com/general-data-protection-regulation-cloud",
1190    "needConsent": true,
1191    "cookies": [],
1192    "js": function () {
1193        "use strict";
1194
1195        if (tarteaucitron.user.pingdomId === undefined) {
1196            return;
1197        }
1198
1199        window._prum = [['id', tarteaucitron.user.pingdomId], ['mark', 'firstbyte', (new Date()).getTime()]];
1200
1201        tarteaucitron.addScript('https://rum-static.pingdom.net/prum.min.js');
1202    }
1203};
1204
1205
1206// simpleanalytics
1207tarteaucitron.services.simpleanalytics = {
1208    "key": "simpleanalytics",
1209    "type": "analytic",
1210    "name": "Simple Analytics",
1211    "uri": "https://docs.simpleanalytics.com/what-we-collect",
1212    "needConsent": false,
1213    "cookies": [],
1214    "js": function () {
1215        "use strict";
1216        tarteaucitron.addScript('https://scripts.simpleanalyticscdn.com/latest.js');
1217    }
1218};
1219
1220// stonly
1221tarteaucitron.services.stonly = {
1222    "key": "stonly",
1223    "type": "api",
1224    "name": "Stonly",
1225    "uri": "https://stonly.com/privacy",
1226    "needConsent": true,
1227    "cookies": [],
1228    "js": function () {
1229        "use strict";
1230        if (tarteaucitron.user.stonlyId === undefined) {
1231            return;
1232        }
1233
1234        window.STONLY_WID = tarteaucitron.user.stonlyId;
1235        window.StonlyWidget || ((window.w = window.StonlyWidget = function() {
1236           window.w._api ? window.w._api.apply(window.w, arguments) : window.w.queue.push(arguments)
1237        }).queue = []);
1238        
1239        tarteaucitron.addScript('https://stonly.com/js/widget/v2/stonly-widget.js?v=' + Date.now());
1240    }
1241};
1242
1243// stripe
1244/*tarteaucitron.services.stripe = {
1245    "key": "stripe",
1246    "type": "api",
1247    "name": "Stripe",
1248    "uri": "https://stripe.com/cookies-policy/legal",
1249    "needConsent": true,
1250    "cookies": [],
1251    "js": function () {
1252        "use strict";
1253        tarteaucitron.addScript('https://js.stripe.com/v3/');
1254    }
1255};*/
1256
1257// ferank pub
1258tarteaucitron.services.ferankpub = {
1259    "key": "ferankpub",
1260    "type": "ads",
1261    "name": "FERank (pub)",
1262    "uri": "https://www.ferank.fr/respect-vie-privee/#regiepublicitaire",
1263    "needConsent": false,
1264    "cookies": [],
1265    "js": function () {
1266        "use strict";
1267        tarteaucitron.addScript('//static.ferank.fr/publicite.async.js');
1268        if (tarteaucitron.isAjax === true) {
1269            if (typeof ferankReady === 'function') {
1270                ferankReady();
1271            }
1272        }
1273    },
1274    "fallback": function () {
1275        "use strict";
1276        var id = 'ferankpub';
1277        tarteaucitron.fallback(['ferank-publicite'], tarteaucitron.engage(id));
1278    }
1279};
1280
1281// get+
1282tarteaucitron.services.getplus = {
1283    "key": "getplus",
1284    "type": "analytic",
1285    "name": "Get+",
1286    "uri": "http://www.getplus.fr/Conditions-generales-de-vente_a226.html",
1287    "needConsent": true,
1288    "cookies": ['_first_pageview', '_jsuid', 'no_trackyy_' + tarteaucitron.user.getplusId, '_eventqueue'],
1289    "js": function () {
1290        "use strict";
1291        if (tarteaucitron.user.getplusId === undefined) {
1292            return;
1293        }
1294
1295        window.webleads_site_ids = window.webleads_site_ids || [];
1296        window.webleads_site_ids.push(tarteaucitron.user.getplusId);
1297        tarteaucitron.addScript('//stats.webleads-tracker.com/js');
1298    }
1299};
1300
1301// google+
1302tarteaucitron.services.gplus = {
1303    "key": "gplus",
1304    "type": "social",
1305    "name": "Google+",
1306    "uri": "https://policies.google.com/privacy",
1307    "needConsent": true,
1308    "cookies": [],
1309    "js": function () {
1310        "use strict";
1311        tarteaucitron.addScript('https://apis.google.com/js/platform.js');
1312    },
1313    "fallback": function () {
1314        "use strict";
1315        var id = 'gplus';
1316        tarteaucitron.fallback(['g-plus', 'g-plusone'], tarteaucitron.engage(id));
1317    }
1318};
1319
1320// google+ badge
1321tarteaucitron.services.gplusbadge = {
1322    "key": "gplusbadge",
1323    "type": "social",
1324    "name": "Google+ (badge)",
1325    "uri": "https://policies.google.com/privacy",
1326    "needConsent": true,
1327    "cookies": [],
1328    "js": function () {
1329        "use strict";
1330        tarteaucitron.addScript('https://apis.google.com/js/platform.js');
1331    },
1332    "fallback": function () {
1333        "use strict";
1334        var id = 'gplusbadge';
1335        tarteaucitron.fallback(['g-page', 'g-person'], tarteaucitron.engage(id));
1336    }
1337};
1338
1339// google adsense
1340tarteaucitron.services.adsense = {
1341    "key": "adsense",
1342    "type": "ads",
1343    "name": "Google Adsense",
1344    "uri": "https://adssettings.google.com/",
1345    "needConsent": true,
1346    "cookies": [],
1347    "js": function () {
1348        "use strict";
1349        tarteaucitron.addScript('https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js');
1350    },
1351    "fallback": function () {
1352        "use strict";
1353        var id = 'adsense';
1354        tarteaucitron.fallback(['adsbygoogle'], tarteaucitron.engage(id));
1355    }
1356};
1357
1358// google partners badge
1359tarteaucitron.services.googlepartners = {
1360    "key": "googlepartners",
1361    "type": "ads",
1362    "name": "Google Partners Badge",
1363    "uri": "https://adssettings.google.com/",
1364    "needConsent": true,
1365    "cookies": [],
1366    "js": function () {
1367        "use strict";
1368        tarteaucitron.addScript('https://apis.google.com/js/platform.js');
1369    },
1370    "fallback": function () {
1371        "use strict";
1372        var id = 'googlepartners';
1373        tarteaucitron.fallback(['g-partnersbadge'], tarteaucitron.engage(id));
1374    }
1375};
1376
1377// google adsense search (form)
1378tarteaucitron.services.adsensesearchform = {
1379    "key": "adsensesearchform",
1380    "type": "ads",
1381    "name": "Google Adsense Search (form)",
1382    "uri": "https://adssettings.google.com/",
1383    "needConsent": true,
1384    "cookies": [],
1385    "js": function () {
1386        "use strict";
1387        tarteaucitron.addScript('//www.google.com/coop/cse/brand?form=cse-search-box&lang=' + tarteaucitron.getLanguage());
1388    }
1389};
1390
1391// google adsense search (result)
1392tarteaucitron.services.adsensesearchresult = {
1393    "key": "adsensesearchresult",
1394    "type": "ads",
1395    "name": "Google Adsense Search (result)",
1396    "uri": "https://adssettings.google.com/",
1397    "needConsent": true,
1398    "cookies": [],
1399    "js": function () {
1400        "use strict";
1401        if (tarteaucitron.user.adsensesearchresultCx === undefined) {
1402            return;
1403        }
1404        tarteaucitron.addScript('//www.google.com/cse/cse.js?cx=' + tarteaucitron.user.adsensesearchresultCx);
1405    },
1406    "fallback": function () {
1407        "use strict";
1408        var id = 'adsensesearchresult';
1409
1410        if (document.getElementById('gcse_searchresults')) {
1411            document.getElementById('gcse_searchresults').innerHTML = tarteaucitron.engage(id);
1412        }
1413    }
1414};
1415
1416// googleadwordsconversion
1417tarteaucitron.services.googleadwordsconversion = {
1418    "key": "googleadwordsconversion",
1419    "type": "ads",
1420    "name": "Google Adwords (conversion)",
1421    "uri": "https://www.google.com/settings/ads",
1422    "needConsent": true,
1423    "cookies": [],
1424    "js": function () {
1425        "use strict";
1426        if (tarteaucitron.user.adwordsconversionId === undefined) {
1427            return;
1428        }
1429
1430        tarteaucitron.addScript('//www.googleadservices.com/pagead/conversion_async.js', '', function () {
1431            window.google_trackConversion({
1432                google_conversion_id: tarteaucitron.user.adwordsconversionId,
1433                google_conversion_label: tarteaucitron.user.adwordsconversionLabel,
1434                google_conversion_language: tarteaucitron.user.adwordsconversionLanguage,
1435                google_conversion_format: tarteaucitron.user.adwordsconversionFormat,
1436                google_conversion_color: tarteaucitron.user.adwordsconversionColor,
1437                google_conversion_value: tarteaucitron.user.adwordsconversionValue,
1438                google_conversion_currency: tarteaucitron.user.adwordsconversionCurrency,
1439                google_custom_params: {
1440                    parameter1: tarteaucitron.user.adwordsconversionCustom1,
1441                    parameter2: tarteaucitron.user.adwordsconversionCustom2
1442                }
1443            });
1444        });
1445    }
1446};
1447
1448// googleadwordsremarketing
1449tarteaucitron.services.googleadwordsremarketing = {
1450    "key": "googleadwordsremarketing",
1451    "type": "ads",
1452    "name": "Google Adwords (remarketing)",
1453    "uri": "https://www.google.com/settings/ads",
1454    "needConsent": true,
1455    "cookies": [],
1456    "js": function () {
1457        "use strict";
1458        if (tarteaucitron.user.adwordsremarketingId === undefined) {
1459            return;
1460        }
1461
1462        tarteaucitron.addScript('//www.googleadservices.com/pagead/conversion_async.js', '', function () {
1463            window.google_trackConversion({
1464                google_conversion_id: tarteaucitron.user.adwordsremarketingId,
1465                google_remarketing_only: true
1466            });
1467        });
1468    }
1469};
1470
1471// google analytics (old)
1472tarteaucitron.services.gajs = {
1473    "key": "gajs",
1474    "type": "analytic",
1475    "name": "Google Analytics (ga.js)",
1476    "uri": "https://policies.google.com/privacy",
1477    "needConsent": true,
1478    "cookies": (function () {
1479        var googleIdentifier = tarteaucitron.user.gajsUa,
1480        tagUaCookie = '_gat_gtag_' + googleIdentifier,
1481        tagGCookie = '_ga_' + googleIdentifier;
1482
1483        tagUaCookie = tagUaCookie.replace(/-/g, '_');
1484        tagGCookie = tagGCookie.replace(/G-/g, '');
1485
1486        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie];
1487    })(),
1488    "js": function () {
1489        "use strict";
1490        window._gaq = window._gaq || [];
1491        window._gaq.push(['_setAccount', tarteaucitron.user.gajsUa]);
1492
1493        if (tarteaucitron.user.gajsAnonymizeIp) {
1494            window._gaq.push (['_gat._anonymizeIp']);
1495        }
1496
1497        if (tarteaucitron.user.gajsPageView) {
1498            window._gaq.push(['_trackPageview, ' + tarteaucitron.user.gajsPageView]);
1499        } else {
1500            window._gaq.push(['_trackPageview']);
1501        }
1502
1503        tarteaucitron.addScript('//www.google-analytics.com/ga.js', '', function () {
1504            if (typeof tarteaucitron.user.gajsMore === 'function') {
1505                tarteaucitron.user.gajsMore();
1506            }
1507        });
1508    }
1509};
1510
1511// google analytics
1512tarteaucitron.services.analytics = {
1513    "key": "analytics",
1514    "type": "analytic",
1515    "name": "Google Analytics (universal)",
1516    "uri": "https://policies.google.com/privacy",
1517    "needConsent": true,
1518    "cookies": (function () {
1519        var googleIdentifier = tarteaucitron.user.analyticsUa,
1520        tagUaCookie = '_gat_gtag_' + googleIdentifier,
1521        tagGCookie = '_ga_' + googleIdentifier;
1522
1523        tagUaCookie = tagUaCookie.replace(/-/g, '_');
1524        tagGCookie = tagGCookie.replace(/G-/g, '');
1525
1526        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie];
1527    })(),
1528    "js": function () {
1529        "use strict";
1530        window.GoogleAnalyticsObject = 'ga';
1531        window.ga = window.ga || function () {
1532            window.ga.q = window.ga.q || [];
1533            window.ga.q.push(arguments);
1534        };
1535        window.ga.l = new Date();
1536        tarteaucitron.addScript('https://www.google-analytics.com/analytics.js', '', function () {
1537            var uaCreate = {'cookieExpires': 34128000};
1538            tarteaucitron.extend(uaCreate, tarteaucitron.user.analyticsUaCreate || {});
1539            ga('create', tarteaucitron.user.analyticsUa, uaCreate);
1540
1541            if (tarteaucitron.user.analyticsAnonymizeIp) {
1542                ga('set', 'anonymizeIp', true);
1543            }
1544
1545            if (typeof tarteaucitron.user.analyticsPrepare === 'function') {
1546                tarteaucitron.user.analyticsPrepare();
1547            }
1548
1549            if (tarteaucitron.user.analyticsPageView) {
1550                ga('send', 'pageview', tarteaucitron.user.analyticsPageView);
1551            } else {
1552                ga('send', 'pageview');
1553            }
1554
1555            if (typeof tarteaucitron.user.analyticsMore === 'function') {
1556                tarteaucitron.user.analyticsMore();
1557            }
1558        });
1559    }
1560};
1561
1562// google analytics
1563tarteaucitron.services.gtag = {
1564    "key": "gtag",
1565    "type": "analytic",
1566    "name": "Google Analytics (gtag.js)",
1567    "uri": "https://policies.google.com/privacy",
1568    "needConsent": true,
1569    "cookies": (function () {
1570        var googleIdentifier = tarteaucitron.user.gtagUa,
1571        tagUaCookie = '_gat_gtag_' + googleIdentifier,
1572        tagGCookie = '_ga_' + googleIdentifier;
1573
1574        tagUaCookie = tagUaCookie.replace(/-/g, '_');
1575        tagGCookie = tagGCookie.replace(/G-/g, '');
1576
1577        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie];
1578    })(),
1579    "js": function () {
1580        "use strict";
1581        window.dataLayer = window.dataLayer || [];
1582        tarteaucitron.addScript('https://www.googletagmanager.com/gtag/js?id=' + tarteaucitron.user.gtagUa, '', function () {
1583            window.gtag = function gtag(){dataLayer.push(arguments);}
1584            gtag('js', new Date());
1585            gtag('config', tarteaucitron.user.gtagUa);
1586
1587            if (typeof tarteaucitron.user.gtagMore === 'function') {
1588                tarteaucitron.user.gtagMore();
1589            }
1590        });
1591    }
1592};
1593
1594// google maps
1595tarteaucitron.services.googlemaps = {
1596    "key": "googlemaps",
1597    "type": "api",
1598    "name": "Google Maps",
1599    "uri": "https://policies.google.com/privacy",
1600    "needConsent": true,
1601    "cookies": [],
1602    "js": function () {
1603        "use strict";
1604        var mapOptions,
1605            map,
1606            uniqIds = [],
1607            i;
1608
1609        if (tarteaucitron.user.mapscallback === undefined) {
1610            tarteaucitron.user.mapscallback = 'tac_googlemaps_callback';
1611        }
1612
1613        // Add Google Maps libraries if any (https://developers.google.com/maps/documentation/javascript/libraries)
1614        var googleMapsLibraries = '';
1615        if (tarteaucitron.user.googlemapsLibraries) {
1616            googleMapsLibraries = '&libraries=' + tarteaucitron.user.googlemapsLibraries;
1617        }
1618
1619        tarteaucitron.addScript('//maps.googleapis.com/maps/api/js?v=3.exp&key=' + tarteaucitron.user.googlemapsKey + '&callback='+tarteaucitron.user.mapscallback + googleMapsLibraries);
1620
1621        window.tac_googlemaps_callback = function () {
1622            tarteaucitron.fallback(['googlemaps-canvas'], function (x) {
1623                var uniqId = '_' + Math.random().toString(36).substr(2, 9);
1624                uniqIds.push(uniqId);
1625                return '<div id="' + uniqId + '" zoom="' + x.getAttribute('zoom') + '" latitude="' + x.getAttribute('latitude') + '" longitude="' + x.getAttribute('longitude') + '" style="width:' + x.offsetWidth + 'px;height:' + x.offsetHeight + 'px"></div>';
1626            });
1627
1628            for (i = 0; i < uniqIds.length; i += 1) {
1629                mapOptions = {
1630                    zoom: parseInt(document.getElementById(uniqIds[i]).getAttribute('zoom'), 10),
1631                    center: new google.maps.LatLng(parseFloat(document.getElementById(uniqIds[i]).getAttribute('latitude'), 10), parseFloat(document.getElementById(uniqIds[i]).getAttribute('longitude'), 10))
1632                };
1633                map = new google.maps.Map(document.getElementById(uniqIds[i]), mapOptions);
1634		new google.maps.Marker({position:{lat:parseFloat(document.getElementById(uniqIds[i]).getAttribute('latitude'), 10),lng:parseFloat(document.getElementById(uniqIds[i]).getAttribute('longitude'), 10)},map:map});
1635            }
1636        };
1637    },
1638    "fallback": function () {
1639        "use strict";
1640        var id = 'googlemaps';
1641        tarteaucitron.fallback(['googlemaps-canvas'], tarteaucitron.engage(id));
1642    }
1643};
1644
1645// googlemaps search
1646tarteaucitron.services.googlemapssearch = {
1647    "key": "googlemapssearch",
1648    "type": "api",
1649    "name": "Google Maps Search API",
1650    "uri": "https://policies.google.com/privacy",
1651    "needConsent": true,
1652    "cookies": ['nid'],
1653    "js": function () {
1654        "use strict";
1655        tarteaucitron.fallback(['googlemapssearch'], function (x) {
1656            var width = x.getAttribute("width"),
1657                height = x.getAttribute("height"),
1658                // url = x.getAttribute("data-url");
1659                query = escape(x.getAttribute("data-search")),
1660                key = x.getAttribute("data-api-key");
1661
1662            return '<iframe title="Google search iframe" width="' + width +'" height="' + height + '" style="border:0" src="https://www.google.com/maps/embed/v1/place?q='+query+'&key='+key+'" allowfullscreen></iframe> '
1663        });
1664    },
1665    "fallback": function () {
1666        "use strict";
1667        var id = 'googlemapssearch';
1668        tarteaucitron.fallback(['googlemapssearch'], function (elem) {
1669            elem.style.width = elem.getAttribute('width') + 'px';
1670            elem.style.height = elem.getAttribute('height') + 'px';
1671            return tarteaucitron.engage(id);
1672        });
1673    }
1674};
1675
1676// googlemaps embed iframe
1677tarteaucitron.services.googlemapsembed = {
1678    "key": "googlemapsembed",
1679    "type": "api",
1680    "name": "Google Maps Embed",
1681    "uri": "https://policies.google.com/privacy",
1682    "needConsent": true,
1683    "cookies": ['apisid', 'hsid', 'nid', 'sapisid', 'sid', 'sidcc', 'ssid', '1p_jar'],
1684    "js": function () {
1685        "use strict";
1686        tarteaucitron.fallback(['googlemapsembed'], function (x) {
1687            var width = tarteaucitron.getElemWidth(x),
1688                height = tarteaucitron.getElemHeight(x),
1689                url = x.getAttribute("data-url");
1690
1691            return '<iframe title="Google maps iframe" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>';
1692        });
1693    },
1694    "fallback": function () {
1695        "use strict";
1696        var id = 'googlemapsembed';
1697        tarteaucitron.fallback(['googlemapsembed'], function (elem) {
1698            elem.style.width = tarteaucitron.getElemWidth(elem) + 'px';
1699            elem.style.height = tarteaucitron.getElemHeight(elem) + 'px';
1700            return tarteaucitron.engage(id);
1701        });
1702    }
1703};
1704
1705// google tag manager
1706tarteaucitron.services.googletagmanager = {
1707    "key": "googletagmanager",
1708    "type": "api",
1709    "name": "Google Tag Manager",
1710    "uri": "https://policies.google.com/privacy",
1711    "needConsent": true,
1712    "cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'],
1713    "js": function () {
1714        "use strict";
1715        if (tarteaucitron.user.googletagmanagerId === undefined) {
1716            return;
1717        }
1718        window.dataLayer = window.dataLayer || [];
1719        window.dataLayer.push({
1720            'gtm.start': new Date().getTime(),
1721            event: 'gtm.js'
1722        });
1723        tarteaucitron.addScript('https://www.googletagmanager.com/gtm.js?id=' + tarteaucitron.user.googletagmanagerId);
1724    }
1725};
1726
1727// google tag manager multiple
1728tarteaucitron.services.multiplegoogletagmanager = {
1729  "key": "multiplegoogletagmanager",
1730  "type": "api",
1731  "name": "Google Tag Manager",
1732  "uri": "https://policies.google.com/privacy",
1733  "needConsent": true,
1734  "cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'],
1735  "js": function () {
1736    "use strict";
1737    if (tarteaucitron.user.multiplegoogletagmanagerId === undefined) {
1738      return;
1739    }
1740    window.dataLayer = window.dataLayer || [];
1741    window.dataLayer.push({
1742      'gtm.start': new Date().getTime(),
1743      event: 'gtm.js'
1744    });
1745
1746    tarteaucitron.user.multiplegoogletagmanagerId.forEach(function (id) {
1747      tarteaucitron.addScript('https://www.googletagmanager.com/gtm.js?id=' + id);
1748    });
1749
1750  }
1751};
1752
1753// google webfonts
1754tarteaucitron.services.googlefonts = {
1755  "key": "googlefonts",
1756  "type": "api",
1757  "name": "Google Webfonts",
1758  "uri": "https://policies.google.com/privacy",
1759  "needConsent": true,
1760  "cookies": [],
1761  "js": function () {
1762    "use strict";
1763    if (tarteaucitron.user.googleFonts === undefined) {
1764      return;
1765    }
1766    tarteaucitron.addScript('//ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js', '', function () {
1767      WebFont.load({
1768        google: {
1769          families: tarteaucitron.user.googleFonts
1770        }
1771      });
1772    });
1773  }
1774};
1775
1776// hubspot
1777tarteaucitron.services.hubspot = {
1778    "key": "hubspot",
1779    "type": "analytic",
1780    "name": "Hubspot",
1781    "uri": "https://legal.hubspot.com/privacy-policy",
1782    "needConsent": true,
1783    "cookies": ['hubspotutk', 'fr', '__hstc', '__hssrc', '__hssc', '__cfduid'],
1784    "js": function () {
1785        "use strict";
1786        tarteaucitron.addScript('//js.hs-scripts.com/' + tarteaucitron.user.hubspotId + '.js', 'hs-script-loader');
1787    }
1788};
1789
1790// instagram
1791tarteaucitron.services.instagram = {
1792    "key": "instagram",
1793    "type": "social",
1794    "name": "Instagram",
1795    "uri": "https://www.instagram.com/legal/privacy/",
1796    "needConsent": true,
1797    "cookies": ['shbts', 'sessionid', 'csrftoken', 'rur', 'shbid', 'mid', 'ds_usr_id', 'ig_did', 'ig_cb', 'datr'],
1798    "js": function () {
1799        "use strict";
1800        tarteaucitron.fallback(['instagram_post'], function (x) {
1801            var post_id = x.getAttribute("postId"),
1802                embed_width = x.getAttribute("width"),
1803                frame_width = 'width=',
1804                embed_height = x.getAttribute("height"),
1805                frame_height = 'height=',
1806                post_frame;
1807
1808            if (post_id === undefined) {
1809                return "";
1810            }
1811            if (embed_width !== undefined) {
1812                frame_width += '"' + embed_width + '" ';
1813            } else {
1814                frame_width += '"" ';
1815            }
1816            if (embed_height !== undefined) {
1817                frame_height +=  '"' + embed_height + '" ';
1818            } else {
1819                frame_height += '"" ';
1820            }
1821            post_frame = '<iframe title="Instagram iframe" src="//www.instagram.com/' + post_id + '/embed" ' + frame_width + frame_height + '></iframe>';
1822            return post_frame;
1823        });
1824    },
1825    "fallback": function () {
1826        "use strict";
1827        var id = 'instagram';
1828        tarteaucitron.fallback(['instagram_post'], function (elem) {
1829            elem.style.width = elem.getAttribute('width') + 'px';
1830            elem.style.height = elem.getAttribute('height') + 'px';
1831            return tarteaucitron.engage(id);
1832        });
1833    }
1834};
1835
1836// jsapi
1837tarteaucitron.services.jsapi = {
vendor: 4,194 bytes, lines 1838-1970
1838    "key": "jsapi",
1839    "type": "api",
1840    "name": "Google jsapi",
1841    "uri": "https://policies.google.com/privacy",
1842    "needConsent": true,
1843    "cookies": [],
1844    "js": function () {
1845        "use strict";
1846        tarteaucitron.addScript('//www.google.com/jsapi');
1847    }
1848};
1849
1850// twitterwidgetsapi
1851tarteaucitron.services.twitterwidgetsapi = {
1852    "key": "twitterwidgetsapi",
1853    "type": "api",
1854    "name": "Twitter Widgets API",
1855    "uri": "https://support.twitter.com/articles/20170514",
1856    "needConsent": true,
1857    "cookies": [],
1858    "js": function () {
1859        "use strict";
1860        tarteaucitron.fallback(['tacTwitterAPI'], '');
1861        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs');
1862    },
1863    "fallback": function () {
1864        "use strict";
1865        var id = 'twitterwidgetsapi';
1866        tarteaucitron.fallback(['tacTwitterAPI'], tarteaucitron.engage(id));
1867    }
1868};
1869
1870// recaptcha
1871tarteaucitron.services.recaptcha = {
1872    "key": "recaptcha",
1873    "type": "api",
1874    "name": "reCAPTCHA",
1875    "uri": "https://policies.google.com/privacy",
1876    "needConsent": true,
1877    "cookies": ['nid'],
1878    "js": function () {
1879        "use strict";
1880        window.tacRecaptchaOnLoad = tarteaucitron.user.recaptchaOnLoad || function() {};
1881        tarteaucitron.fallback(['g-recaptcha'], '');
1882
1883        if (tarteaucitron.user.recaptchaapi === undefined) {
1884            tarteaucitron.addScript('https://www.google.com/recaptcha/api.js?onload=tacRecaptchaOnLoad');
1885        } else {
1886            tarteaucitron.addScript('https://www.google.com/recaptcha/api.js?onload=tacRecaptchaOnLoad&render=' + tarteaucitron.user.recaptchaapi);
1887        }
1888        
1889    },
1890    "fallback": function () {
1891        "use strict";
1892        var id = 'recaptcha';
1893        tarteaucitron.fallback(['g-recaptcha'], tarteaucitron.engage(id));
1894    }
1895};
1896
1897// linkedin
1898tarteaucitron.services.linkedin = {
1899    "key": "linkedin",
1900    "type": "social",
1901    "name": "Linkedin",
1902    "uri": "https://www.linkedin.com/legal/cookie_policy",
1903    "needConsent": true,
1904    "cookies": [],
1905    "js": function () {
1906        "use strict";
1907        tarteaucitron.fallback(['tacLinkedin'], '');
1908        tarteaucitron.addScript('//platform.linkedin.com/in.js');
1909        if (tarteaucitron.isAjax === true) {
1910            if (typeof IN !== "undefined") {
1911                IN.parse();
1912            }
1913        }
1914    },
1915    "fallback": function () {
1916        "use strict";
1917        var id = 'linkedin';
1918        tarteaucitron.fallback(['tacLinkedin'], tarteaucitron.engage(id));
1919    }
1920};
1921
1922// mautic
1923tarteaucitron.services.mautic = {
1924    "key": "mautic",
1925    "type": "analytic",
1926    "name": "Mautic",
1927    "uri": "https://www.mautic.org/privacy-policy/",
1928    "needConsent": true,
1929    "cookies": ['mtc_id', 'mtc_sid'],
1930    "js": function () {
1931        "use strict";
1932        if (tarteaucitron.user.mauticurl === undefined) {
1933            return;
1934        }
1935
1936        window.MauticTrackingObject = 'mt';
1937        window.mt = window.mt || function () {
1938            window.mt.q = window.mt.q || [];
1939            window.mt.q.push(arguments);
1940        };
1941
1942        tarteaucitron.addScript(tarteaucitron.user.mauticurl, '', function() {
1943            mt('send', 'pageview');
1944        });
1945    }
1946};
1947
1948// microsoftcampaignanalytics
1949tarteaucitron.services.microsoftcampaignanalytics = {
1950    "key": "microsoftcampaignanalytics",
1951    "type": "analytic",
1952    "name": "Microsoft Campaign Analytics",
1953    "uri": "https://privacy.microsoft.com/privacystatement/",
1954    "needConsent": true,
1955    "cookies": [],
1956    "js": function () {
1957        "use strict";
1958        if (tarteaucitron.user.microsoftcampaignanalyticsUUID === undefined) {
1959            return;
1960        }
1961
1962        tarteaucitron.addScript('//flex.atdmt.com/mstag/site/' + tarteaucitron.user.microsoftcampaignanalyticsUUID + '/mstag.js', 'mstag_tops', function () {
1963            window.mstag = {loadTag : function () {}, time : (new Date()).getTime()};
1964            window.mstag.loadTag("analytics", {dedup: "1", domainId: tarteaucitron.user.microsoftcampaignanalyticsdomainId, type: "1", actionid: tarteaucitron.user.microsoftcampaignanalyticsactionId});
1965        });
1966    }
1967};
1968
1969// onesignal
1970tarteaucitron.services.onesignal = {
1971    "key": "onesignal",
1972    "type": "api",
1973    "name": "OneSignal",
1974    "uri": "https://onesignal.com/privacy_policy",
1975    "needConsent": true,
1976    "cookies": [],
1977    "js": function () {
1978        "use strict";
1979        if (tarteaucitron.user.onesignalAppId === undefined) {
1980            return;
1981        }
1982        window.OneSignal = window.OneSignal || [];
1983
1984        window.OneSignal.push(function() {
1985           window.OneSignal.init({
1986              appId: tarteaucitron.user.onesignalAppId,
1987           });
1988        });
1989
1990        tarteaucitron.addScript('https://cdn.onesignal.com/sdks/OneSignalSDK.js');
1991    }
1992};
1993
1994// pinterest
1995tarteaucitron.services.pinterest = {
1996    "key": "pinterest",
1997    "type": "social",
1998    "name": "Pinterest",
1999    "uri": "https://about.pinterest.com/privacy-policy",
2000    "needConsent": true,
2001    "cookies": [],
2002    "js": function () {
2003        "use strict";
2004        tarteaucitron.fallback(['tacPinterest'], '');
2005        tarteaucitron.addScript('//assets.pinterest.com/js/pinit.js');
2006    },
2007    "fallback": function () {
2008        "use strict";
2009        var id = 'pinterest';
2010        tarteaucitron.fallback(['tacPinterest'], tarteaucitron.engage(id));
2011    }
2012};
2013
2014// prelinker
2015tarteaucitron.services.prelinker = {
2016    "key": "prelinker",
2017    "type": "ads",
2018    "name": "Prelinker",
2019    "uri": "http://www.prelinker.com/index/index/cgu/",
2020    "needConsent": true,
2021    "cookies": ['_sp_id.32f5', '_sp_ses.32f5'],
2022    "js": function () {
2023        "use strict";
2024        var uniqIds = [],
2025            i,
2026            uri;
2027
2028        tarteaucitron.fallback(['prelinker-canvas'], function (x) {
2029            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
2030            uniqIds.push(uniqId);
2031            return '<div id="' + uniqId + '" siteId="' + x.getAttribute('siteId') + '" bannerId="' + x.getAttribute('bannerId') + '" defaultLanguage="' + x.getAttribute('defaultLanguage') + '" tracker="' + x.getAttribute('tracker') + '"></div>';
2032        });
2033
2034        for (i = 0; i < uniqIds.length; i += 1) {
2035            uri = 'http://promo.easy-dating.org/banner/index?';
2036            uri += 'site_id=' + document.getElementById(uniqIds[i]).getAttribute('siteId') + '&';
2037            uri += 'banner_id=' + document.getElementById(uniqIds[i]).getAttribute('bannerId') + '&';
2038            uri += 'default_language=' + document.getElementById(uniqIds[i]).getAttribute('defaultLanguage') + '&';
2039            uri += 'tr4ck=' + document.getElementById(uniqIds[i]).getAttribute('trackrt');
2040
2041            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
2042        }
2043    },
2044    "fallback": function () {
2045        "use strict";
2046        var id = 'prelinker';
2047        tarteaucitron.fallback(['prelinker-canvas'], tarteaucitron.engage(id));
2048    }
2049};
2050
2051// prezi
2052tarteaucitron.services.prezi = {
2053    "key": "prezi",
2054    "type": "video",
2055    "name": "Prezi",
2056    "uri": "https://prezi.com/privacy-policy/",
2057    "needConsent": true,
2058    "cookies": [],
2059    "js": function () {
2060        "use strict";
2061        tarteaucitron.fallback(['prezi-canvas'], function (x) {
2062            var id = x.getAttribute("data-id"),
2063                width = x.getAttribute("width"),
2064                height = x.getAttribute("height"),
2065                url = 'https://prezi.com/embed/' + id + '/?bgcolor=ffffff&amp;lock_to_path=0&amp;autoplay=0&amp;autohide_ctrls=0';
2066
2067            return '<iframe title="Prezi iframe" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>';
2068        });
2069    },
2070    "fallback": function () {
2071        "use strict";
2072        var id = 'prezi';
2073        tarteaucitron.fallback(['prezi-canvas'], function (elem) {
2074            elem.style.width = elem.getAttribute('width') + 'px';
2075            elem.style.height = elem.getAttribute('height') + 'px';
2076            return tarteaucitron.engage(id);
2077        });
2078    }
2079};
2080
2081// pubdirecte
2082tarteaucitron.services.pubdirecte = {
2083    "key": "pubdirecte",
2084    "type": "ads",
2085    "name": "Pubdirecte",
2086    "uri": "http://pubdirecte.com/contact.php",
2087    "needConsent": true,
2088    "cookies": [],
2089    "js": function () {
2090        "use strict";
2091        var uniqIds = [],
2092            i,
2093            uri;
2094
2095        tarteaucitron.fallback(['pubdirecte-canvas'], function (x) {
2096            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
2097            uniqIds.push(uniqId);
2098            return '<div id="' + uniqId + '" pid="' + x.getAttribute('pid') + '" ref="' + x.getAttribute('ref') + '"></div>';
2099        });
2100
2101        for (i = 0; i < uniqIds.length; i += 1) {
2102            uri = '//www.pubdirecte.com/script/banniere.php?';
2103            uri += 'id=' + document.getElementById(uniqIds[i]).getAttribute('pid') + '&';
2104            uri += 'ref=' + document.getElementById(uniqIds[i]).getAttribute('ref');
2105
2106            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
2107        }
2108    },
2109    "fallback": function () {
2110        "use strict";
2111        var id = 'pubdirecte';
2112        tarteaucitron.fallback(['pubdirecte-canvas'], tarteaucitron.engage(id));
2113    }
2114};
2115
2116// purechat
2117tarteaucitron.services.purechat = {
2118    "key": "purechat",
2119    "type": "support",
2120    "name": "PureChat",
2121    "uri": "https://www.purechat.com/privacy",
2122    "needConsent": true,
2123    "cookies": [],
2124    "js": function () {
2125        "use strict";
2126        if (tarteaucitron.user.purechatId === undefined) {
2127            return;
2128        }
2129
2130        tarteaucitron.addScript('//app.purechat.com/VisitorWidget/WidgetScript', '', function () {
2131            try {
2132                window.w = new PCWidget({ c: tarteaucitron.user.purechatId, f: true });
2133            } catch (e) {}
2134        });
2135    }
2136};
2137
2138// rumbletalk
2139tarteaucitron.services.rumbletalk = {
2140    "key": "rumbletalk",
2141    "type": "social",
2142    "name": "RumbleTalk",
2143    "needConsent": true,
2144    "cookies": ['AWSALB'],
2145    "js": function () {
2146        "use strict";
2147        if (tarteaucitron.user.rumbletalkid === undefined) {
2148            return;
2149        }
2150
2151        tarteaucitron.addScript('https://rumbletalk.com/client/?' + tarteaucitron.user.rumbletalkid);
2152
2153        tarteaucitron.fallback(['rumbletalk'], function (x) {
2154            var width = tarteaucitron.getElemWidth(x),
2155                height = tarteaucitron.getElemHeight(x),
2156                id = x.getAttribute("data-id");
2157
2158                return '<div style="height: ' + height + 'px; width: ' + width + 'px;"><div id="' + id + '"></div></div>';
2159      });
2160    },
2161    "fallback": function () {
2162      "use strict";
2163        var id = 'rumbletalk';
2164            tarteaucitron.fallback(['rumbletalk'], function (elem) {
2165                elem.style.width = tarteaucitron.getElemWidth(elem) + 'px';
2166                elem.style.height = tarteaucitron.getElemHeight(elem) + 'px';
2167
2168                return tarteaucitron.engage(id);
2169            });
2170    }
2171  };
2172
2173// shareaholic
2174tarteaucitron.services.shareaholic = {
2175    "key": "shareaholic",
2176    "type": "social",
2177    "name": "Shareaholic",
2178    "uri": "https://shareaholic.com/privacy/choices",
2179    "needConsent": true,
2180    "cookies": ['__utma', '__utmb', '__utmc', '__utmz', '__utmt_Shareaholic%20Pageviews'],
2181    "js": function () {
2182        "use strict";
2183        if (tarteaucitron.user.shareaholicSiteId === undefined) {
2184            return;
2185        }
2186
2187        tarteaucitron.fallback(['shareaholic-canvas'], '');
2188        tarteaucitron.addScript('//dsms0mj1bbhn4.cloudfront.net/assets/pub/shareaholic.js', '', function () {
2189            try {
2190                Shareaholic.init(tarteaucitron.user.shareaholicSiteId);
2191            } catch (e) {}
2192        });
2193    },
2194    "fallback": function () {
2195        "use strict";
2196        var id = 'shareaholic';
2197        tarteaucitron.fallback(['shareaholic-canvas'], tarteaucitron.engage(id));
2198    }
2199};
2200
2201// shareasale
2202tarteaucitron.services.shareasale = {
2203    "key": "shareasale",
2204    "type": "ads",
2205    "name": "ShareASale",
2206    "uri": "https://www.shareasale.com/PrivacyPolicy.pdf",
2207    "needConsent": true,
2208    "cookies": [],
2209    "js": function () {
2210        "use strict";
2211        var uniqIds = [],
2212            i,
2213            uri;
2214
2215        tarteaucitron.fallback(['shareasale-canvas'], function (x) {
2216            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
2217            uniqIds.push(uniqId);
2218            return '<div id="' + uniqId + '" amount="' + x.getAttribute('amount') + '" tracking="' + x.getAttribute('tracking') + '" transtype="' + x.getAttribute('transtype') + '" persale="' + x.getAttribute('persale') + '" perlead="' + x.getAttribute('perlead') + '" perhit="' + x.getAttribute('perhit') + '" merchantID="' + x.getAttribute('merchantID') + '"></div>';
2219        });
2220
2221        for (i = 0; i < uniqIds.length; i += 1) {
2222            uri = 'https://shareasale.com/sale.cfm?';
2223            uri += 'amount=' + document.getElementById(uniqIds[i]).getAttribute('amount') + '&';
2224            uri += 'tracking=' + document.getElementById(uniqIds[i]).getAttribute('tracking') + '&';
2225            uri += 'transtype=' + document.getElementById(uniqIds[i]).getAttribute('transtype') + '&';
2226            uri += 'persale=' + document.getElementById(uniqIds[i]).getAttribute('persale') + '&';
2227            uri += 'perlead=' + document.getElementById(uniqIds[i]).getAttribute('perlead') + '&';
2228            uri += 'perhit=' + document.getElementById(uniqIds[i]).getAttribute('perhit') + '&';
2229            uri += 'merchantID=' + document.getElementById(uniqIds[i]).getAttribute('merchantID');
2230
2231            document.getElementById(uniqIds[i]).innerHTML = '<img src=\'' + uri + '\' width=\'1\' height=\'1\' />';
2232        }
2233    },
2234    "fallback": function () {
2235        "use strict";
2236        var id = 'shareasale';
2237        tarteaucitron.fallback(['shareasale-canvas'], tarteaucitron.engage(id));
2238    }
2239};
2240
2241// sharethis
2242tarteaucitron.services.sharethis = {
2243    "key": "sharethis",
2244    "type": "social",
2245    "name": "ShareThis",
2246    "uri": "http://www.sharethis.com/legal/privacy/",
2247    "needConsent": true,
2248    "cookies": ['__unam'],
2249    "js": function () {
2250        "use strict";
2251        if (tarteaucitron.user.sharethisPublisher === undefined) {
2252            return;
2253        }
2254        var switchTo5x = true,
2255            uri = ('https:' === document.location.protocol ? 'https://ws' : 'http://w') + '.sharethis.com/button/buttons.js';
2256
2257        tarteaucitron.fallback(['tacSharethis'], '');
2258        tarteaucitron.addScript(uri, '', function () {
2259            stLight.options({publisher: tarteaucitron.user.sharethisPublisher, doNotHash: false, doNotCopy: false, hashAddressBar: false});
2260        });
2261
2262        if (tarteaucitron.isAjax === true) {
2263            if (typeof stButtons !== "undefined") {
2264                stButtons.locateElements();
2265            }
2266        }
2267    },
2268    "fallback": function () {
2269        "use strict";
2270        var id = 'sharethis';
2271        tarteaucitron.fallback(['tacSharethis'], tarteaucitron.engage(id));
2272    }
2273};
2274
2275// slideshare
2276tarteaucitron.services.slideshare = {
2277    "key": "slideshare",
2278    "type": "video",
2279    "name": "SlideShare",
2280    "uri": "https://www.linkedin.com/legal/privacy-policy",
2281    "needConsent": true,
2282    "cookies": [],
2283    "js": function () {
2284        "use strict";
2285        tarteaucitron.fallback(['slideshare-canvas'], function (x) {
2286            var id = x.getAttribute("data-id"),
2287                width = x.getAttribute("width"),
2288                height = x.getAttribute("height"),
2289                url = '//www.slideshare.net/slideshow/embed_code/' + id;
2290
2291            return '<iframe title="Slideshare iframe" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>';
2292        });
2293    },
2294    "fallback": function () {
2295        "use strict";
2296        var id = 'slideshare';
2297        tarteaucitron.fallback(['slideshare-canvas'], function (elem) {
2298            elem.style.width = elem.getAttribute('width') + 'px';
2299            elem.style.height = elem.getAttribute('height') + 'px';
2300            return tarteaucitron.engage(id);
2301        });
2302    }
2303};
2304
2305// soundcloud
2306tarteaucitron.services.soundcloud = {
2307    key: 'soundcloud',
2308    type: 'video',
2309    name: 'SoundCloud',
2310    needConsent: true,
2311    cookies: ['sc_anonymous_id'],
2312    js: function () {
2313        "use strict";
2314        tarteaucitron.fallback(['soundcloud_player'], function (x) {
2315            var player_height = x.getAttribute('data-height'),
2316                frame_height  = 'height="' + player_height + '" ',
2317                playable_id   = x.getAttribute('data-playable-id'),
2318                playable_type = x.getAttribute('data-playable-type'),
2319                color         = x.getAttribute('data-color'),
2320                autoplay      = x.getAttribute('data-auto-play'),
2321                hideRelated   = x.getAttribute('data-hide-related'),
2322                showComments  = x.getAttribute('data-show-comments'),
2323                showUser      = x.getAttribute('data-show-user'),
2324                showReposts   = x.getAttribute('data-show-reposts'),
2325                showTeaser    = x.getAttribute('data-show-teaser'),
2326                visual        = x.getAttribute('data-visual'),
2327                artwork       = x.getAttribute('data-artwork');
2328
2329            var allowAutoplay = autoplay === 'true' ? 'allow="autoplay"' : '';
2330
2331            if (playable_id === undefined) {
2332                return "";
2333            }
2334
2335            var qs = '?url=https%3A//api.soundcloud.com/' + playable_type + '/' + playable_id;
2336            if (hideRelated && hideRelated.length > 0)      qs += '&hide_related=' + hideRelated;
2337            if (color && color.length > 0)                  qs += '&color=' + color.replace('#', '%23');
2338            if (autoplay && autoplay.length > 0)            qs += '&auto_play=' + autoplay;
2339            if (showComments && showComments.length > 0)    qs += '&show_comments=' + showComments;
2340            if (hideRelated && hideRelated.length > 0)      qs += '&hide_related=' + hideRelated;
2341            if (showUser && showUser.length > 0)            qs += '&show_user=' + showUser;
2342            if (showReposts && showReposts.length > 0)      qs += '&show_reposts=' + showReposts;
2343            if (showTeaser && showTeaser.length > 0)        qs += '&show_teaser=' + showTeaser;
2344            if (visual && visual.length > 0)                qs += '&visual=' + visual;
2345            if (artwork && artwork.length >
2345 0)              qs += '&show_artwork=' + artwork;
2346
2347            return '<iframe title="Soundcloud iframe" width="100%" ' + frame_height + ' scrolling="no" ' + allowAutoplay + ' src="https://w.soundcloud.com/player/' + qs + '"></iframe>';
2348        });
2349    },
2350    fallback: function () {
2351        "use strict";
2352        tarteaucitron.fallback(['soundcloud_player'], function (elem) {
2353            elem.style.height = elem.getAttribute('data-height') + 'px';
2354            return tarteaucitron.engage('soundcloud');
2355        });
2356    }
2357};
2358
2359// spotify
2360tarteaucitron.services.spotify = {
2361    "key": "spotify",
2362    "type": "video",
2363    "name": "Spotify",
2364    "uri": "https://www.spotify.com/us/legal/privacy-policy/",
2365    "needConsent": true,
2366    "cookies": ['sp_landing', '_ga', 'sp_ab', 'sp_landingref', 'sp_t', 'sp_usid', 'OptanonConsent', 'sp_m', 'spot'],
2367    "js": function () {
2368        "use strict";
2369        tarteaucitron.fallback(['spotify_player'], function (x) {
2370            var spotify_id = x.getAttribute("spotifyID"),
2371                spotify_width = x.getAttribute("width"),
2372                frame_width = 'width=',
2373                spotify_height = x.getAttribute("height"),
2374                frame_height = 'height=',
2375                spotify_frame;
2376
2377            if (spotify_id === undefined) {
2378                return "";
2379            }
2380            if (spotify_width !== undefined) {
2381                frame_width += '"' + spotify_width + '" ';
2382            } else {
2383                frame_width += '"" ';
2384            }
2385            if (spotify_height !== undefined) {
2386                frame_height +=  '"' + spotify_height + '" ';
2387            } else {
2388                frame_height += '"" ';
2389            }
2390            spotify_frame = '<iframe title="Spotify iframe" src="//open.spotify.com/embed/' + spotify_id + '" ' + frame_width + frame_height + ' allowfullscreen></iframe>';
2391            return spotify_frame;
2392        });
2393    },
2394    "fallback": function () {
2395        "use strict";
2396        var id = 'spotify';
2397        tarteaucitron.fallback(['spotify_player'], function (elem) {
2398            elem.style.width = elem.getAttribute('width') + 'px';
2399            elem.style.height = elem.getAttribute('height') + 'px';
2400            return tarteaucitron.engage(id);
2401        });
2402    }
2403};
2404
2405// statcounter
2406tarteaucitron.services.statcounter = {
2407    "key": "statcounter",
2408    "type": "analytic",
2409    "name": "StatCounter",
2410    "uri": "https://fr.statcounter.com/about/legal/#privacy",
2411    "needConsent": true,
2412    "cookies": ['sc_is_visitor_unique'],
2413    "js": function () {
2414        "use strict";
2415        var uniqIds = [],
2416            i,
2417            uri = '//statcounter.com/counter/counter.js';
2418
2419        tarteaucitron.fallback(['statcounter-canvas'], function (x) {
2420            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
2421            uniqIds.push(uniqId);
2422            return '<div id="' + uniqId + '"></div>';
2423        });
2424
2425        for (i = 0; i < uniqIds.length; i += 1) {
2426            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
2427        }
2428    },
2429    "fallback": function () {
2430        "use strict";
2431        var id = 'statcounter';
2432        tarteaucitron.fallback(['statcounter-canvas'], tarteaucitron.engage(id));
2433    }
2434};
2435
2436// timelinejs
2437tarteaucitron.services.timelinejs = {
2438    "key": "timelinejs",
2439    "type": "api",
2440    "name": "Timeline JS",
2441    "uri": "http://timeline.knightlab.com/#help",
2442    "needConsent": true,
2443    "cookies": [],
2444    "js": function () {
2445        "use strict";
2446        tarteaucitron.fallback(['timelinejs-canvas'], function (x) {
2447            var spreadsheet_id = x.getAttribute("spreadsheet_id"),
2448                width = x.getAttribute("width"),
2449                height = x.getAttribute("height"),
2450                lang = x.getAttribute("lang_2_letter"),
2451                font = x.getAttribute("font"),
2452                map = x.getAttribute("map"),
2453                start_at_end = x.getAttribute("start_at_end"),
2454                hash_bookmark = x.getAttribute("hash_bookmark"),
2455                start_at_slide = x.getAttribute("start_at_slide"),
2456                start_zoom = x.getAttribute("start_zoom"),
2457                url = '//cdn.knightlab.com/libs/timeline/latest/embed/index.html?source=' + spreadsheet_id + '&font=' + font + '&maptype=' + map + '&lang=' + lang + '&start_at_end=' + start_at_end + '&hash_bookmark=' + hash_bookmark + '&start_at_slide=' + start_at_slide + '&start_zoom_adjust=' + start_zoom + '&height=' + height;
2458
2459            return '<iframe title="Twitter iframe" src="' + url + '" width="' + width + '" height="' + height + '" allowtransparency allowfullscreen></iframe>';
2460        });
2461    },
2462    "fallback": function () {
2463        "use strict";
2464        var id = 'timelinejs';
2465        tarteaucitron.fallback(['timelinejs-canvas'], function (elem) {
2466            elem.style.width = elem.getAttribute('width') + 'px';
2467            elem.style.height = elem.getAttribute('height') + 'px';
2468            return tarteaucitron.engage(id);
2469        });
2470    }
2471};
2472
2473// tagcommander
2474tarteaucitron.services.tagcommander = {
2475    "key": "tagcommander",
2476    "type": "api",
2477    "name": "TagCommander",
2478    "uri": "https://www.commandersact.com/en/privacy/",
2479    "needConsent": true,
2480    "cookies": [],
2481    "js": function () {
2482        "use strict";
2483        if (tarteaucitron.user.tagcommanderid === undefined) {
2484            return;
2485        }
2486        tarteaucitron.addScript('https://cdn.tagcommander.com/' + tarteaucitron.user.tagcommanderid + '.js');
2487    }
2488};
2489
2490// typekit
2491tarteaucitron.services.typekit = {
2492    "key": "typekit",
2493    "type": "api",
2494    "name": "Typekit (adobe)",
2495    "uri": "https://www.adobe.com/privacy.html",
2496    "needConsent": true,
2497    "cookies": [],
2498    "js": function () {
2499        "use strict";
2500        if (tarteaucitron.user.typekitId === undefined) {
2501            return;
2502        }
2503        tarteaucitron.addScript('//use.typekit.net/' + tarteaucitron.user.typekitId + '.js', '', function () {
2504            try {
2505                Typekit.load();
2506            } catch (e) {}
2507        });
2508    }
2509};
2510
2511// twenga
2512tarteaucitron.services.twenga = {
2513    "key": "twenga",
2514    "type": "ads",
2515    "name": "Twenga",
2516    "uri": "http://www.twenga.com/privacy.php",
2517    "needConsent": true,
2518    "cookies": [],
2519    "js": function () {
2520        "use strict";
2521
2522        if (tarteaucitron.user.twengaId === undefined || tarteaucitron.user.twengaLocale === undefined) {
2523            return;
2524        }
2525
2526        tarteaucitron.addScript('//tracker.twenga.' + tarteaucitron.user.twengaLocale + '/st/tracker_' + tarteaucitron.user.twengaId + '.js');
2527    }
2528};
2529
2530// twitter
2531tarteaucitron.services.twitter = {
2532    "key": "twitter",
2533    "type": "social",
2534    "name": "Twitter",
2535    "uri": "https://support.twitter.com/articles/20170514",
2536    "needConsent": true,
2537    "cookies": [],
2538    "js": function () {
2539        "use strict";
2540        tarteaucitron.fallback(['tacTwitter'], '');
2541        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs');
2542    },
2543    "fallback": function () {
2544        "use strict";
2545        var id = 'twitter';
2546        tarteaucitron.fallback(['tacTwitter'], tarteaucitron.engage(id));
2547    }
2548};
2549
2550// twitter embed
2551tarteaucitron.services.twitterembed = {
2552    "key": "twitterembed",
2553    "type": "social",
2554    "name": "Twitter (cards)",
2555    "uri": "https://support.twitter.com/articles/20170514",
2556    "needConsent": true,
2557    "cookies": [],
2558    "js": function () {
2559        "use strict";
2560        var uniqIds = [],
2561            i,
2562            e,
2563            html;
2564
2565        tarteaucitron.fallback(['twitterembed-canvas'], function (x) {
2566            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
2567            uniqIds.push(uniqId);
2568            html = '<div id="' + uniqId + '" ';
2569            html += 'tweetid="' + x.getAttribute('tweetid') + '" ';
2570            html += 'theme="' + x.getAttribute('theme') + '" ';
2571            html += 'cards="' + x.getAttribute('cards') + '" ';
2572            html += 'conversation="' + x.getAttribute('conversation') + '" ';
2573            html += 'data-width="' + x.getAttribute('data-width') + '" ';
2574            html += 'data-align="' + x.getAttribute('data-align') + '" ';
2575            html += '></div>';
2576            return html;
2577        });
2578
2579        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs', function () {
2580            for (i = 0; i < uniqIds.length; i += 1) {
2581                e = document.getElementById(uniqIds[i]);
2582                twttr.widgets.createTweet(
2583                    e.getAttribute('tweetid'),
2584                    e,
2585                    {
2586                        theme: e.getAttribute('theme'),
2587                        cards: e.getAttribute('cards'),
2588                        conversation: e.getAttribute('conversation'),
2589                        lang: tarteaucitron.getLanguage(),
2590                        dnt: true,
2591                        width: e.getAttribute('data-width'),
2592                        align: e.getAttribute('data-align')
2593                    }
2594                );
2595            }
2596        });
2597    },
2598    "fallback": function () {
2599        "use strict";
2600        var id = 'twitterembed';
2601        tarteaucitron.fallback(['twitterembed-canvas'], function (elem) {
2602            elem.style.width = elem.getAttribute('data-width') + 'px';
2603            return tarteaucitron.engage(id);
2604        });
2605    }
2606};
2607
2608// twitter timeline
2609tarteaucitron.services.twittertimeline = {
2610    "key": "twittertimeline",
2611    "type": "social",
2612    "name": "Twitter (timelines)",
2613    "uri": "https://support.twitter.com/articles/20170514",
2614    "needConsent": true,
2615    "cookies": [],
2616    "js": function () {
2617        "use strict";
2618        tarteaucitron.fallback(['tacTwitterTimelines'], '');
2619        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs');
2620    },
2621    "fallback": function () {
2622        "use strict";
2623        var id = 'twittertimeline';
2624        tarteaucitron.fallback(['tacTwitterTimelines'], tarteaucitron.engage(id));
2625    }
2626};
2627
2628// twitter universal website tag
2629tarteaucitron.services.twitteruwt = {
2630    "key": "twitteruwt",
2631    "type": "analytic",
2632    "name": "Twitter Universal Website Tag",
2633    "uri": "https://business.twitter.com/en/help/campaign-measurement-and-analytics/conversion-tracking-for-websites.html",
2634    "needConsent": true,
2635    "cookies": [],
2636    "js": function () {
2637        "use strict";
2638
2639        window.twq = function () {
2640            window.twq.exe ? window.twq.exe.apply(window.twq, arguments) : window.twq.queue.push(arguments);
2641        }
2642        window.twq.version = '1.1';
2643        window.twq.queue = [];
2644
2645        tarteaucitron.addScript('https://static.ads-twitter.com/uwt.js', '', function () {
2646            window.twq('init', tarteaucitron.user.twitteruwtId);
2647            window.twq('track', 'PageView');
2648        });
2649    }
2650};
2651
2652// user voice
2653tarteaucitron.services.uservoice = {
2654    "key": "uservoice",
2655    "type": "support",
2656    "name": "UserVoice",
2657    "uri": "https://www.uservoice.com/privacy/",
2658    "needConsent": true,
2659    "cookies": [],
2660    "js": function () {
2661        "use strict";
2662        if (tarteaucitron.user.userVoiceApi === undefined) {
2663            return;
2664        }
2665        tarteaucitron.addScript('//widget.uservoice.com/' + tarteaucitron.user.userVoiceApi + '.js');
2666    }
2667};
2668
2669// vimeo
2670tarteaucitron.services.vimeo = {
2671    "key": "vimeo",
2672    "type": "video",
2673    "name": "Vimeo",
2674    "uri": "https://vimeo.com/privacy",
2675    "needConsent": true,
2676    "cookies": ['__utmt_player', '__utma', '__utmb', '__utmc', '__utmv', 'vuid', '__utmz', 'player'],
2677    "js": function () {
2678        "use strict";
2679        tarteaucitron.fallback(['vimeo_player'], function (x) {
2680            var video_width = x.getAttribute("data-width") || x.getAttribute("width"),
2681                frame_width = 'width=',
2682                video_height = x.getAttribute("data-height") || x.getAttribute("height"),
2683                frame_height = 'height=',
2684
2685                video_id = x.getAttribute("data-videoID") || x.getAttribute("videoID"),
2686                video_autopause = x.getAttribute("data-autopause") || '',
2687                video_autoplay = x.getAttribute("data-autoplay") || x.getAttribute("autoplay") || '',
2688                video_background = x.getAttribute("data-background") || '',
2689                video_byline = x.getAttribute("data-byline") || x.getAttribute("byline") || '',
2690                video_color = x.getAttribute("data-color") || '',
2691                video_controls = x.getAttribute("data-controls") || '',
2692                video_loop = x.getAttribute("data-loop") || x.getAttribute("loop") || '',
2693                video_maxheight = x.getAttribute("data-maxheight") || '',
2694                video_maxwidth = x.getAttribute("data-maxwidth") || '',
2695                video_muted = x.getAttribute("data-muted") || '',
2696                video_playsinline = x.getAttribute("data-playsinline") || '',
2697                video_portrait = x.getAttribute("data-portrait") || x.getAttribute("portrait") || '',
2698                video_speed = x.getAttribute("data-speed") || '',
2699                video_title = x.getAttribute("data-title") || x.getAttribute("title") || '',
2700                video_transparent = x.getAttribute("data-transparent") || '',
2701
2702                video_frame;
2703
2704
2705            if (video_id === undefined) {
2706                return "";
2707            }
2708            if (video_width !== undefined) {
2709                frame_width += '"' + video_width + '" ';
2710            } else {
2711                frame_width += '"" ';
2712            }
2713            if (video_height !== undefined) {
2714                frame_height += '"' + video_height + '" ';
2715            } else {
2716                frame_height += '"" ';
2717            }
2718
2719            var video_qs = "?";
2720
2721            if (video_title.length > 0) {
2722                video_qs += "title=" + video_title;
2723            }
2724
2725            if (video_byline.length > 0) {
2726                if (video_qs.length > 0) {
2727                    video_qs += "&";
2728                }
2729                video_qs += "byline=" + video_byline;
2730            }
2731
2732            if (video_portrait.length > 0) {
2733                if (video_qs.length > 0) {
2734                    video_qs += "&";
2735                }
2736                video_qs += "portrait=" + video_portrait;
2737            }
2738
2739            if (video_loop.length > 0) {
2740                if (video_qs.length > 0) {
2741                    video_qs += "&";
2742                }
2743                video_qs += "loop=" + video_loop;
2744            }
2745
2746            if (video_autoplay.length > 0) {
2747                if (video_qs.length > 0) {
2748                    video_qs += "&";
2749                }
2750                video_qs += "autoplay=" + video_autoplay;
2751            }
2752
2753            if (video_autopause.length > 0) {
2754                if (video_qs.length > 0) {
2755                    video_qs += "&";
2756                }
2757                video_qs += "autopause=" + video_autopause;
2758            }
2759
2760            if (video_background.length > 0) {
2761                if (video_qs.length > 0) {
2762                    video_qs += "&";
2763                }
2764                video_qs += "background=" + video_background;
2765            }
2766
2767            if (video_color.length > 0) {
2768                if (video_qs.length > 0) {
2769                    video_qs += "&";
2770                }
2771                video_qs += "color=" + video_color;
2772            }
2773
2774            if (video_controls.length > 0) {
2775                if (video_qs.length > 0) {
2776                    video_qs += "&";
2777                }
2778                video_qs += "controls=" + video_controls;
2779            }
2780
2781            if (video_maxheight.length > 0) {
2782                if (video_qs.length > 0) {
2783                    video_qs += "&";
2784                }
2785                video_qs += "maxheight=" + video_maxheight;
2786            }
2787
2788            if (video_maxwidth.length > 0) {
2789                if (video_qs.length > 0) {
2790                    video_qs += "&";
2791                }
2792                video_qs += "maxwidth=" + video_maxwidth;
2793            }
2794
2795            if (video_muted.length > 0) {
2796                if (video_qs.length > 0) {
2797                    video_qs += "&";
2798                }
2799                video_qs += "muted=" + video_muted;
2800            }
2801
2802            if (video_playsinline.length > 0) {
2803                if (video_qs.length > 0) {
2804                    video_qs += "&";
2805                }
2806                video_qs += "playsinline=" + video_playsinline;
2807            }
2808
2809            if (video_speed.length > 0) {
2810                if (video_qs.length > 0) {
2811                    video_qs += "&";
2812                }
2813                video_qs += "speed=" + video_speed;
2814            }
2815
2816            if (video_transparent.length > 0) {
2817                if (video_qs.length > 0) {
2818                    video_qs += "&";
2819                }
2820                video_qs += "transparent=" + video_transparent;
2821            }
2822
2823            if (video_qs === "?") {
2824                video_qs = "";
2825            }
2826
2827            video_frame = '<iframe title="Vimeo iframe" src="//player.vimeo.com/video/' + video_id + video_qs + '" ' + frame_width + frame_height + ' webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>';
2828
2829            return video_frame;
2830        });
2831    },
2832    "fallback": function () {
2833        "use strict";
2834        var id = 'vimeo';
2835        tarteaucitron.fallback(['vimeo_player'], function (elem) {
2836            elem.style.width = elem.getAttribute('width') + 'px';
2837            elem.style.height = elem.getAttribute('height') + 'px';
2838            return tarteaucitron.engage(id);
2839        });
2840    }
2841};
2842
2843// visualrevenue
2844tarteaucitron.services.visualrevenue = {
2845    "key": "visualrevenue",
2846    "type": "analytic",
2847    "name": "VisualRevenue",
2848    "uri": "http://www.outbrain.com/legal/privacy-713/",
2849    "needConsent": true,
2850    "cookies": ['__vrf', '__vrm', '__vrl', '__vry', '__vru', '__vrid', '__vrz'],
2851    "js": function () {
2852        "use strict";
2853        if (tarteaucitron.user.visualrevenueId === undefined) {
2854            return;
2855        }
2856        window._vrq = window._vrq || [];
2857        window._vrq.push(['id', tarteaucitron.user.visualrevenueId]);
2858        window._vrq.push(['automate', true]);
2859        window._vrq.push(['track', function () {}]);
2860        tarteaucitron.addScript('http://a.visualrevenue.com/vrs.js');
2861    }
2862};
2863
2864// verizon dot tag
2865tarteaucitron.services.verizondottag = {
2866    "key": "verizondottag",
2867    "type": "analytic",
2868    "name": "Verizon Dot Tag",
2869    "uri": "https://developer.verizonmedia.com/native/guide/audience-management/dottags/",
2870    "needConsent": true,
2871    "cookies": [],
2872    "js": function () {
2873        "use strict";
2874
2875        window.dotq = window.dotq || [];
2876        window.dotq.push({
2877            'projectId': tarteaucitron.user.verizondottagProjectId,
2878            'properties': {'pixelId': tarteaucitron.user.verizondottagPixelId}
2879        });
2880
2881        tarteaucitron.addScript('https://s.yimg.com/wi/ytc.js', '', function () {
2882            const items = window.dotq;
2883            window.dotq = [];
2884            window.dotq.push = function (item) {
2885                YAHOO.ywa.I13N.fireBeacon([item])
2886            };
2887            YAHOO.ywa.I13N.fireBeacon(items)
2888        });
2889    }
2890};
2891
2892// vshop
2893tarteaucitron.services.vshop = {
2894    "key": "vshop",
2895    "type": "ads",
2896    "name": "vShop",
2897    "uri": "http://vshop.fr/privacy-policy",
2898    "needConsent": true,
2899    "cookies": [],
2900    "js": function () {
2901        "use strict";
2902        tarteaucitron.fallback(['vcashW'], '');
2903        tarteaucitron.addScript('//vshop.fr/js/w.js');
2904    },
2905    "fallback": function () {
2906        "use strict";
2907        var id = 'vshop';
2908        tarteaucitron.fallback(['vcashW'], tarteaucitron.engage(id));
2909    }
2910};
2911
2912// wysistat
2913tarteaucitron.services.wysistat = {
2914    "key": "wysistat",
2915    "type": "analytic",
2916    "name": "Wysistat",
2917    "uri": "http://wysistat.net/contact/",
2918    "needConsent": true,
2919    "cookies": ['Wysistat'],
2920    "js": function () {
2921        "use strict";
2922        if (tarteaucitron.user.wysistat === undefined) {
2923            return;
2924        }
2925        tarteaucitron.addScript('//www.wysistat.com/statistique.js', '', function () {
2926            window.stat(tarteaucitron.user.wysistat.cli, tarteaucitron.user.wysistat.frm, tarteaucitron.user.wysistat.prm, tarteaucitron.user.wysistat.ce, tarteaucitron.user.wysistat.page, tarteaucitron.user.wysistat.roi, tarteaucitron.user.wysistat.prof, tarteaucitron.user.wysistat.cpt);
2927        });
2928    }
2929};
2930
2931// xiti
2932tarteaucitron.services.xiti = {
2933    "key": "xiti",
2934    "type": "analytic",
2935    "name": "Xiti",
2936    "uri": "https://helpcentre.atinternet-solutions.com/hc/fr/categories/360002439300-Privacy-Centre",
2937    "needConsent": true,
2938    "cookies": [],
2939    "js": function () {
2940        "use strict";
2941        if (tarteaucitron.user.xitiId === undefined) {
2942            return;
2943        }
2944        var Xt_param = 's=' + tarteaucitron.user.xitiId + '&p=',
2945            Xt_r,
2946            Xt_h,
2947            Xt_i,
2948            Xt_s,
2949            div = document.createElement('div');
2950        try {
2951            Xt_r = top.document.referrer;
2952        } catch (e) {
2953            Xt_r = document.referrer;
2954        }
2955        Xt_h = new Date();
2956        Xt_i = '<img style="display:none" border="0" alt="" ';
2957        Xt_i += 'src="http://logv3.xiti.com/hit.xiti?' + Xt_param;
2958        Xt_i += '&hl=' + Xt_h.getHours() + 'x' + Xt_h.getMinutes() + 'x' + Xt_h.getSeconds();
2959        if (parseFloat(navigator.appVersion) >= 4) {
2960            Xt_s = screen;
2961            Xt_i += '&r=' + Xt_s.width + 'x' + Xt_s.height + 'x' + Xt_s.pixelDepth + 'x' + Xt_s.colorDepth;
2962        }
2963
2964        div.innerHTML = Xt_i + '&ref=' + Xt_r.replace(/[<>"]/g, '').replace(/&/g, '$') + '" title="Internet Audience">';
2965        document.getElementsByTagName('body')[0].appendChild(div.firstChild);
2966
2967        if (typeof tarteaucitron.user.xitiMore === 'function') {
2968            tarteaucitron.user.xitiMore();
2969        }
2970    }
2971};
2972
2973// AT Internet
2974tarteaucitron.services.atinternet = {
2975    "key": "atinternet",
2976    "type": "analytic",
2977    "name": "AT Internet (privacy by design)",
2978    "uri": "https://helpcentre.atinternet-solutions.com/hc/fr/categories/360002439300-Privacy-Centre",
2979    "needConsent": false,
2980    "safeanalytic": true,
2981    "cookies": ['atidvisitor', 'atreman', 'atredir', 'atsession', 'atuserid'],
2982    "js": function () {
2983        "use strict";
2984        if (tarteaucitron.user.atLibUrl === undefined) {
2985            return;
2986        }
2987
2988        tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function() {
2989
2990            window.tag = new ATInternet.Tracker.Tag();
2991
2992            if (typeof tarteaucitron.user.atMore === 'function') {
2993                tarteaucitron.user.atMore();
2994            }
2995
2996            if (typeof window.tag.privacy !== 'undefined') {
2997
2998                document.getElementById('atinternetLine').style.display = 'none';
2999
3000                if (tarteaucitron.cookie.read().indexOf('atinternetoptin=true') === -1 && tarteaucitron.cookie.read().indexOf('atinternetoptout=true') === -1) {
3001                     window.tag.privacy.setVisitorMode('cnil', 'exempt');
3002                }
3003
3004                tarteaucitron.addClickEventToElement(document.getElementById('atinternetDenied'), function () {
3005                    tarteaucitron.launch['atinternetoptout'] = false;
3006                    tarteaucitron.launch['atinternetoptin'] = false;
3007                    tarteaucitron.userInterface.respond(document.getElementById('atinternetoptinDenied'), false);
3008                    tarteaucitron.userInterface.respond(document.getElementById('atinternetoptoutDenied'), false);
3009                });
3010
3011                tarteaucitron.addClickEventToElement(document.getElementById('atinternetoptoutDenied'), function () {
3012                     if (tarteaucitron.cookie.read().indexOf('atinternetoptin=true') === -1 && tarteaucitron.cookie.read().indexOf('atinternetoptout=true') === -1) {
3013                         window.tag.privacy.setVisitorMode('cnil', 'exempt');
3014                     }
3015                });
3016
3017                tarteaucitron.addClickEventToElement(document.getElementById('atinternetoptinDenied'), function () {
3018                     if (tarteaucitron.cookie.read().indexOf('atinternetoptin=true') === -1 && tarteaucitron.cookie.read().indexOf('atinternetoptout=true') === -1) {
3019                         window.tag.privacy.setVisitorMode('cnil', 'exempt');
3020                     }
3021                });
3022            }
3023
3024            setTimeout(function() {
3025                tag.page.send();
3026            }, 70);
3027        });
3028    }
3029};
3030
3031// AT Internet (optin)
3032tarteaucitron.services.atinternetoptin = {
3033    "key": "atinternetoptin",
3034    "type": "analytic",
3035    "name": "AT Internet",
3036    "uri": "https://helpcentre.atinternet-solutions.com/hc/fr/categories/360002439300-Privacy-Centre",
3037    "needConsent": true,
3038    "cookies": ['atidvisitor', 'atreman', 'atredir', 'atsession', 'atuserid'],
3039    "js": function () {
3040        "use strict";
3041        tarteaucitron.launch['atinternetoptout'] = false;
3042        
3043        setTimeout(function() {
3044            tarteaucitron.userInterface.respond(document.getElementById('atinternetAllowed'), true);
3045            tarteaucitron.userInterface.respond(document.getElementById('atinternetoptoutDenied'), false);
3046        }, 50);
3047
3048        setTimeout(function() {
3049            if (typeof window.tag.privacy !== 'undefined') {
3050               window.tag.privacy.setVisitorOptin();
3051            }
3052        }, 60);
3053
3054        window.tarteaucitronHackNoSwitch = true;
3055        setTimeout(function() {window.tarteaucitronHackNoSwitch = false;}, 200);
3056    }
3057};
3058
3059// AT Internet (optout)
3060tarteaucitron.services.atinternetoptout = {
3061    "key": "atinternetoptout",
3062    "type": "analytic",
3063    "name": "AT Internet [minimal]",
3064    "uri": "https://helpcentre.atinternet-solutions.com/hc/fr/categories/360002439300-Privacy-Centre",
3065    "needConsent": true,
3066    "cookies": ['atidvisitor', 'atreman', 'atredir', 'atsession', 'atuserid'],
3067    "js": function () {
3068        "use strict";
3069
3070        // hack accept all
3071        if (window.tarteaucitronHackNoSwitch) {
3072            setTimeout(function() {
3073                tarteaucitron.userInterface.respond(document.getElementById('atinternetoptoutDenied'), false);
3074            }, 60);
3075            return;
3076        }
3077
3078        tarteaucitron.launch['atinternetoptin'] = false;
3079
3080        setTimeout(function() {
3081             tarteaucitron.userInterface.respond(document.getElementById('atinternetAllowed'), true);
3082             tarteaucitron.userInterface.respond(document.getElementById('atinternetoptinDenied'), false);
3083        }, 50);
3084
3085        setTimeout(function() {
3086            if (typeof window.tag.privacy !== 'undefined') {
3087               window.tag.privacy.setVisitorOptout();
3088            }
3089        }, 60);
3090    }
3091};
3092
3093// AT Internet
3094tarteaucitron.services.atinternethightrack = {
3095    "key": "atinternethightrack",
3096    "type": "analytic",
3097    "name": "AT Internet",
3098    "uri": "https://helpcentre.atinternet-solutions.com/hc/fr/categories/360002439300-Privacy-Centre",
3099    "needConsent": true,
3100    "cookies": ['atidvisitor', 'atreman', 'atredir', 'atsession', 'atuserid'],
3101    "js": function () {
3102        "use strict";
3103        if (tarteaucitron.user.atLibUrl === undefined) {
3104            return;
3105        }
3106
3107        tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function() {
3108
3109            var tag = new ATInternet.Tracker.Tag();
3110
3111            if (typeof tarteaucitron.user.atMore === 'function') {
3112                tarteaucitron.user.atMore();
3113            }
3114        })
3115    }
3116};
3117
3118// youtube
3119tarteaucitron.services.youtube = {
3120    "key": "youtube",
3121    "type": "video",
3122    "name": "YouTube",
3123    "uri": "https://policies.google.com/privacy",
3124    "needConsent": true,
3125    "cookies": ['VISITOR_INFO1_LIVE', 'YSC', 'PREF', 'GEUP'],
3126    "js": function () {
3127        "use strict";
3128        tarteaucitron.fallback(['youtube_player'], function (x) {
3129            var video_id = x.getAttribute("videoID"),
3130                video_width = x.getAttribute("width"),
3131                frame_width = 'width=',
3132                video_height = x.getAttribute("height"),
3133                frame_height = 'height=',
3134                video_frame,
3135                params = 'theme=' + x.getAttribute("theme") + '&rel=' + x.getAttribute("rel") + '&controls=' + x.getAttribute("controls") + '&showinfo=' + x.getAttribute("showinfo") + '&autoplay=' + x.getAttribute("autoplay") + '&mute=' + x.getAttribute("mute");
3136
3137            if (video_id === undefined) {
3138                return "";
3139            }
3140            if (video_width !== undefined) {
3141                frame_width += '"' + video_width + '" ';
3142            } else {
3143                frame_width += '"" ';
3144            }
3145            if (video_height !== undefined) {
3146                frame_height +=  '"' + video_height + '" ';
3147            } else {
3148                frame_height += '"" ';
3149            }
3150            video_frame = '<iframe title="Youtube iframe" type="text/html" ' + frame_width + frame_height + ' src="//www.youtube-nocookie.com/embed/' + video_id + '?' + params + '" allowfullscreen></iframe>';
3151            return video_frame;
3152        });
3153    },
3154    "fallback": function () {
3155        "use strict";
3156        var id = 'youtube';
3157        tarteaucitron.fallback(['youtube_player'], function (elem) {
3158            elem.style.width = elem.getAttribute('width') + 'px';
3159            elem.style.height = elem.getAttribute('height') + 'px';
3160            return tarteaucitron.engage(id);
3161        });
3162    }
3163};
3164
3165// youtube playlist
3166tarteaucitron.services.youtubeplaylist = {
3167    "key": "youtubeplaylist",
3168    "type": "video",
3169    "name": "YouTube (playlist)",
3170    "uri": "https://policies.google.com/privacy",
3171    "needConsent": true,
3172    "cookies": ['VISITOR_INFO1_LIVE', 'YSC', 'PREF', 'GEUP'],
3173    "js": function () {
3174        "use strict";
3175        tarteaucitron.fallback(['youtube_playlist_player'], function (x) {
3176            var playlist_id = x.getAttribute("playlistID"),
3177                video_width = x.getAttribute("width"),
3178                frame_width = 'width=',
3179                video_height = x.getAttribute("height"),
3180                frame_height = 'height=',
3181                video_frame,
3182                params = 'theme=' + x.getAttribute("theme") + '&rel=' + x.getAttribute("rel") + '&controls=' + x.getAttribute("controls") + '&showinfo=' + x.getAttribute("showinfo") + '&autoplay=' + x.getAttribute("autoplay") + '&mute=' + x.getAttribute("mute");
3183
3184            if (playlist_id === undefined) {
3185                return "";
3186            }
3187            if (video_width !== undefined) {
3188                frame_width += '"' + video_width + '" ';
3189            } else {
3190                frame_width += '"" ';
3191            }
3192            if (video_height !== undefined) {
3193                frame_height +=  '"' + video_height + '" ';
3194            } else {
3195                frame_height += '"" ';
3196            }
3197            video_frame = '<iframe title="Youtube iframe" type="text/html" ' + frame_width + frame_height + ' src="//www.youtube-nocookie.com/embed/videoseries?list=' + playlist_id + '&' + params + '" allowfullscreen></iframe>';
3198            return video_frame;
3199        });
3200    },
3201    "fallback": function () {
3202        "use strict";
3203        var id = 'youtubeplaylist';
3204        tarteaucitron.fallback(['youtube_playlist_player'], function (elem) {
3205            elem.style.width = elem.getAttribute('width') + 'px';
3206            elem.style.height = elem.getAttribute('height') + 'px';
3207            return tarteaucitron.engage(id);
3208        });
3209    }
3210};
3211
3212// zopim
3213tarteaucitron.services.zopim = {
3214    "key": "zopim",
3215    "type": "support",
3216    "name": "Zopim",
3217    "uri": "https://www.zopim.com/privacy",
3218    "needConsent": true,
3219    "cookies": ['__zlcid', '__zprivacy'],
3220    "js": function () {
3221        "use strict";
3222        if (tarteaucitron.user.zopimID === undefined) {
3223            return;
3224        }
3225        tarteaucitron.addScript('//v2.zopim.com/?' + tarteaucitron.user.zopimID);
3226    }
3227};
3228
3229// kameleoon
3230tarteaucitron.services.kameleoon = {
3231    "key": "kameleoon",
3232    "type": "analytic",
3233    "name": "Kameleoon",
3234    "uri": "https://www.kameleoon.com/fr/compliance/rgpd",
3235    "needConsent": true,
3236    "cookies": [],
3237    "js": function () {
3238        "use strict";
3239        if (tarteaucitron.user.kameleoon !== undefined) {
3240            tarteaucitron.addScript("https://" + tarteaucitron.user.kameleoon + ".kameleoon.eu/kameleoon.js");
3241        }
3242    }
3243};
3244
3245// linkedin insight
3246tarteaucitron.services.linkedininsighttag = {
3247    "key": "linkedininsighttag",
3248    "type": "ads",
3249    "name": "Linkedin Insight",
3250    "uri": "https://www.linkedin.com/legal/cookie_policy",
3251    "needConsent": true,
3252    "cookies": [],
3253    "js": function () {
3254        "use strict";
3255        if (tarteaucitron.user.linkedininsighttag !== undefined) {
3256            window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
3257            window._linkedin_data_partner_ids.push(tarteaucitron.user.linkedininsighttag);
3258        }
3259        
3260        tarteaucitron.addScript('https://snap.licdn.com/li.lms-analytics/insight.min.js');
3261    }
3262};
3263
3264// xiti smartTag
3265tarteaucitron.services.xiti_smarttag = {
3266    "key": "xiti_smarttag",
3267    "type": "analytic",
3268    "name": "Xiti (SmartTag)",
3269    "uri": "https://helpcentre.atinternet-solutions.com/hc/fr/categories/360002439300-Privacy-Centre",
3270    "needConsent": true,
3271    "cookies": ["atidvisitor", "atreman", "atredir", "atsession", "atuserid", "attvtreman", "attvtsession"],
3272    "js": function () {
3273        "use strict";
3274        if (tarteaucitron.user.xiti_smarttagLocalPath !== undefined) {
3275            tarteaucitron.addScript(tarteaucitron.user.xiti_smarttagLocalPath, 'smarttag', null, null, "onload", "addTracker();");
3276        } else {
3277            var xitiSmarttagId = tarteaucitron.user.xiti_smarttagSiteId;
3278            if (xitiSmarttagId === undefined) {
3279                return;
3280            }
3281
3282            tarteaucitron.addScript('//tag.aticdn.net/' + xitiSmarttagId + '/smarttag.js', 'smarttag', null, null, "onload", "addTracker();");
3283        }
3284    }
3285};
3286
3287// facebook pixel
3288tarteaucitron.services.facebookpixel = {
3289    "key": "facebookpixel",
3290    "type": "ads",
3291    "name": "Facebook Pixel",
3292    "uri": "https://www.facebook.com/policy.php",
3293    "needConsent": true,
3294    "cookies": ['datr', 'fr', 'reg_ext_ref', 'reg_fb_gate', 'reg_fb_ref', 'sb', 'wd', 'x-src'],
3295    "js": function () {
3296        "use strict";
3297        var n;
3298        if(window.fbq)return;
3299        n=window.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)} ;
3300        if(!window._fbq)window._fbq=n;
3301        n.push=n;
3302        n.loaded=!0;
3303        n.version='2.0';
3304        n.queue=[];
3305        tarteaucitron.addScript('https://connect.facebook.net/en_US/fbevents.js');
3306        fbq('init', tarteaucitron.user.facebookpixelId);
3307        fbq('track', 'PageView', {}, {eventID: tarteaucitron.user.facebookpixelEventId});
3308
3309        if (typeof tarteaucitron.user.facebookpixelMore === 'function') {
3310            tarteaucitron.user.facebookpixelMore();
3311        }
3312    }
3313};
3314
3315//Issuu
3316tarteaucitron.services.issuu = {
3317    "key": "issuu",
3318    "type": "other",
3319    "name": "Issuu",
3320    "uri": "https://issuu.com/legal/privacy",
3321    "needConsent": true,
3322    "cookies": ['__qca', 'iutk', 'mc'],
3323    "js": function () {
3324        "use strict";
3325        tarteaucitron.fallback(['issuu_player'], function (x) {
3326            var issuu_id = x.getAttribute("issuuID"),
3327                issuu_width = x.getAttribute("width"),
3328                frame_width = 'width=',
3329                issuu_height = x.getAttribute("height"),
3330                frame_height = 'height=',
3331                issuu_frame,
3332                issuu_embed;
3333
3334            if (issuu_id === undefined) {
3335                return "";
3336            }
3337            if (issuu_width !== undefined) {
3338                frame_width += '"' + issuu_width + '" ';
3339            } else {
3340                frame_width += '"" ';
3341            }
3342            if (issuu_height !== undefined) {
3343                frame_height +=  '"' + issuu_height + '" ';
3344            } else {
3345                frame_height += '"" ';
3346            }
3347
3348
3349            if (issuu_id.match(/\d+\/\d+/)) { issuu_embed = '#' + issuu_id; } else if (issuu_id.match(/d=(.*)&u=(.*)/)) { issuu_embed = '?' + issuu_id; }
3350
3351
3352            issuu_frame = '<iframe title="Issuu iframe" type="text/html" ' + frame_width + frame_height + ' src="//e.issuu.com/embed.html' + issuu_embed + '"></iframe>';
3353
3354            return issuu_frame;
3355        });
3356    },
3357    "fallback": function () {
3358        "use strict";
3359        var id = 'issuu';
3360        tarteaucitron.fallback(['issuu_player'], function (elem) {
3361            elem.style.width = elem.getAttribute('width') + 'px';
3362            elem.style.height = elem.getAttribute('height') + 'px';
3363            return tarteaucitron.engage(id);
3364        });
3365    }
3366};
3367
3368// webmecanik
3369tarteaucitron.services.webmecanik = {
vendor: 5,631 bytes, lines 3370-3534
3370    "key": "webmecanik",
3371    "type": "analytic",
3372    "name": "Webmecanik",
3373    "uri": "https://webmecanik.com/tos",
3374    "needConsent": true,
3375    "cookies": ['mtc_id', 'mtc_sid'],
3376    "js": function () {
3377        "use strict";
3378        if (tarteaucitron.user.webmecanikurl === undefined) {
3379            return;
3380        }
3381
3382        window.MauticTrackingObject = 'mt';
3383        window.mt = window.mt || function () {
3384            window.mt.q = window.mt.q || [];
3385            window.mt.q.push(arguments);
3386        };
3387
3388        tarteaucitron.addScript(tarteaucitron.user.webmecanikurl, '', function() {
3389            mt('send', 'pageview');
3390        });
3391    }
3392};
3393
3394// google analytics multiple
3395tarteaucitron.services.multiplegtag = {
3396    "key": "multiplegtag",
3397    "type": "analytic",
3398    "name": "Google Analytics (gtag.js)",
3399    "uri": "https://support.google.com/analytics/answer/6004245",
3400    "needConsent": true,
3401    "cookies": (function () {
3402
3403        var cookies = ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz'];
3404
3405        if (tarteaucitron.user.multiplegtagUa !== undefined) {
3406            tarteaucitron.user.multiplegtagUa.forEach(function(ua) {
3407                cookies.push('_gat_gtag_' + ua.replace(/-/g, '_'));
3408                cookies.push('_ga_' + ua.replace(/G-/g, ''));
3409            });
3410        }
3411
3412        return cookies;
3413    })(),
3414    "js": function () {
3415        "use strict";
3416        window.dataLayer = window.dataLayer || [];
3417
3418	if (tarteaucitron.user.multiplegtagUa !== undefined) {
3419            tarteaucitron.user.multiplegtagUa.forEach(function(ua) {
3420                tarteaucitron.addScript('https://www.googletagmanager.com/gtag/js?id=' + ua, '', function () {
3421                    window.gtag = function gtag(){dataLayer.push(arguments);}
3422                    gtag('js', new Date());
3423                    gtag('config', ua);
3424                });
3425            });
3426	}
3427    }
3428};
3429
3430// Koban
3431tarteaucitron.services.koban = {
3432    "key": "koban",
3433    "type": "analytic",
3434    "name": "Koban",
3435    "uri": "https://koban.cloud/tos",
3436    "needConsent": true,
3437    "cookies": ['kbntrk'],
3438    "js": function () {
3439        "use strict";
3440        if (tarteaucitron.user.kobanurl === undefined) {
3441            return;
3442        }
3443        if (tarteaucitron.user.kobanapi === undefined) {
3444            return;
3445        }
3446        window.KobanObject = 'kb';
3447        window.kb = window.kb || function() {
3448            window.kb.q = window.kb.q || [];
3449            window.kb.q.push(arguments);
3450        };
3451        window.kb.l = new Date();
3452        kb('reg', tarteaucitron.user.kobanapi);
3453        tarteaucitron.addScript(tarteaucitron.user.kobanurl, '', function() {
3454        });
3455    }
3456};
3457
3458// matomo
3459
3460/*
3461    1. Set the following variable before the initialization :
3462
3463    tarteaucitron.user.matomoId = YOUR_SITE_ID_FROM_MATOMO;
3464    tarteaucitron.user.matomoHost = "YOUR_MATOMO_URL"; //eg: https://stat.mydomain.com/
3465
3466    2. Push the service :
3467
3468    (tarteaucitron.job = tarteaucitron.job || []).push('matomo');
3469
3470    3. HTML
3471    You don't need to add any html code, if the service is autorized, the javascript is added. otherwise no.
3472 */
3473tarteaucitron.services.matomo = {
3474    "key": "matomo",
3475    "type": "analytic",
3476    "name": "Matomo (privacy by design)",
3477    "uri": "https://matomo.org/faq/general/faq_146/",
3478    "needConsent": false,
3479    "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'piwik_ignore', '_pk_uid'],
3480    "js": function () {
3481        "use strict";
3482        if (tarteaucitron.user.matomoId === undefined) {
3483            return;
3484        }
3485
3486        window._paq = window._paq || [];
3487        window._paq.push(["setSiteId", tarteaucitron.user.matomoId]);
3488        window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "piwik.php"]);
3489        window._paq.push(["setDoNotTrack", 1]);
3490        window._paq.push(["trackPageView"]);
3491        window._paq.push(["setIgnoreClasses", ["no-tracking", "colorbox"]]);
3492        window._paq.push(["enableLinkTracking"]);
3493        window._paq.push([function() {
3494            var self = this;
3495            function getOriginalVisitorCookieTimeout() {
3496                var now = new Date(),
3497                nowTs = Math.round(now.getTime() / 1000),
3498                visitorInfo = self.getVisitorInfo();
3499                var createTs = parseInt(visitorInfo[2]);
3500                var cookieTimeout = 33696000; // 13 mois en secondes
3501                var originalTimeout = createTs + cookieTimeout - nowTs;
3502                return originalTimeout;
3503            }
3504            this.setVisitorCookieTimeout( getOriginalVisitorCookieTimeout() );
3505        }]);
3506
3507        tarteaucitron.addScript(tarteaucitron.user.matomoHost + 'piwik.js', '', '', true, 'defer', true);
3508
3509        // waiting for piwik to be ready to check first party cookies
3510        var interval = setInterval(function() {
3511            if (typeof Piwik === 'undefined') return
3512
3513            clearInterval(interval)
3514
3515            // make piwik/matomo cookie accessible by getting tracker
3516            Piwik.getTracker();
3517
3518            // looping throught cookies
3519            var theCookies = document.cookie.split(';');
3520            for (var i = 1 ; i <= theCookies.length; i++) {
3521                var cookie = theCookies[i-1].split('=');
3522                var cookieName = cookie[0].trim();
3523
3524                // if cookie starts like a piwik one, register it
3525                if (cookieName.indexOf('_pk_') === 0) {
3526                    tarteaucitron.services.matomo.cookies.push(cookieName);
3527                }
3528            }
3529        }, 100)
3530    }
3531};
3532                          
3533                          
3534tarteaucitron.services.matomohightrack = {
3535    "key": "matomohightrack",
3536    "type": "analytic",
3537    "name": "Matomo",
3538    "uri": "https://matomo.org/faq/general/faq_146/",
3539    "needConsent": true,
3540    "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'piwik_ignore', '_pk_uid'],
3541    "js": function () {
3542        "use strict";
3543        if (tarteaucitron.user.matomoId === undefined) {
3544            return;
3545        }
3546
3547        window._paq = window._paq || [];
3548        window._paq.push(["setSiteId", tarteaucitron.user.matomoId]);
3549        window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "piwik.php"]);
3550        window._paq.push(["trackPageView"]);
3551        window._paq.push(["setIgnoreClasses", ["no-tracking", "colorbox"]]);
3552        window._paq.push(["enableLinkTracking"]);
3553        window._paq.push([function() {
3554            var self = this;
3555        }]);
3556
3557        tarteaucitron.addScript(tarteaucitron.user.matomoHost + 'piwik.js', '', '', true, 'defer', true);
3558
3559        // waiting for piwik to be ready to check first party cookies
3560        var interval = setInterval(function() {
3561            if (typeof Piwik === 'undefined') return
3562
3563            clearInterval(interval)
3564            Piwik.getTracker();
3565
3566            var theCookies = document.cookie.split(';');
3567            for (var i = 1 ; i <= theCookies.length; i++) {
3568                var cookie = theCookies[i-1].split('=');
3569                var cookieName = cookie[0].trim();
3570
3571                if (cookieName.indexOf('_pk_') === 0) {
3572                    tarteaucitron.services.matomo.cookies.push(cookieName);
3573                }
3574            }
3575        }, 100)
3576    }
3577};
3578
3579// Hotjar
3580 /*
3581    1. Set the following variable before the initialization :
3582     tarteaucitron.user.hotjarId = YOUR_WEBSITE_ID;
3583    tarteaucitron.user.HotjarSv = XXXX; // Can be found in your website tracking code as "hjvs=XXXX"
3584     2. Push the service :
3585     (tarteaucitron.job = tarteaucitron.job || []).push('hotjar');
3586     3. HTML
3587    You don't need to add any html code, if the service is autorized, the javascript is added. otherwise no.
3588  */
3589tarteaucitron.services.hotjar = {
3590    "key": "hotjar",
3591    "type": "analytic",
3592    "name": "Hotjar",
3593    "uri": "https://help.hotjar.com/hc/en-us/categories/115001323967-About-Hotjar",
3594    "needConsent": true,
3595    "cookies": ["hjClosedSurveyInvites", "_hjDonePolls", "_hjMinimizedPolls", "_hjDoneTestersWidgets", "_hjMinimizedTestersWidgets", "_hjDoneSurveys", "_hjIncludedInSample", "_hjShownFeedbackMessage", "_hjAbsoluteSessionInProgress", "_hjIncludeInPageviewSample", "_hjid"],
3596    "js": function () {
3597        "use strict";
3598        if (tarteaucitron.user.hotjarId === undefined || tarteaucitron.user.HotjarSv === undefined) {
3599            return;
3600        }
3601         window.hj = window.hj || function() {
3602            (window.hj.q = window.hj.q || []).push(arguments)
3603        };
3604        window._hjSettings = {
3605            hjid: tarteaucitron.user.hotjarId,
3606            hjsv: tarteaucitron.user.HotjarSv
3607        };
3608         var uri = 'https://static.hotjar.com/c/hotjar-';
3609        var extension = '.js?sv=';
3610        tarteaucitron.addScript(uri + window._hjSettings.hjid + extension + window._hjSettings.hjsv);
3611    }
3612};
3613
3614// bing ads universal event tracking
3615tarteaucitron.services.bingads = {
3616    'key': 'bingads',
3617    'type': 'ads',
3618    'name': 'Bing Ads Universal Event Tracking',
3619    'uri': 'https://advertise.bingads.microsoft.com/en-us/resources/policies/personalized-ads',
3620    'needConsent': true,
3621    'cookies': ['_uetmsclkid', '_uetvid', '_uetsid'],
3622    'js': function () {
3623        'use strict';
3624        //var u = tarteaucitron.user.bingadsTag || 'uetq';
3625        window.uetq = window.uetq || [];
3626
3627        tarteaucitron.addScript('https://bat.bing.com/bat.js', '', function () {
3628            var bingadsCreate = {ti: tarteaucitron.user.bingadsID};
3629
3630            if ('bingadsStoreCookies' in tarteaucitron.user) {
3631                bingadsCreate['storeConvTrackCookies'] = tarteaucitron.user.bingadsStoreCookies;
3632            }
3633
3634            bingadsCreate.q = window.uetq;
3635            window.uetq = new UET(bingadsCreate);
3636            window.uetq.push('pageLoad');
3637        });
3638    }
3639};
3640
3641//Matterport
3642tarteaucitron.services.matterport = {
3643  "key": "matterport",
3644  "type": "other",
3645  "name": "Matterport",
3646  "uri": "https://matterport.com/es/legal/privacy-policy/",
3647  "needConsent": true,
3648  "cookies": ['__cfduid', 'ajs_anonymous_id', 'ajs_group_id', 'ajs_user_id'],
3649  "js": function () {
3650    "use strict";
3651    tarteaucitron.fallback(['matterport'], function (x) {
3652      var matterport_id = x.getAttribute("matterportID"),
3653        matterport_width = x.getAttribute("width"),
3654        frame_width = 'width=',
3655        matterport_height = x.getAttribute("height"),
3656        frame_height = 'height=',
3657        matterport_parameters = x.getAttribute("parameters"),
3658        matterport_frame;
3659
3660      if (matterport_id === undefined) {
3661        return "";
3662      }
3663      if (matterport_width !== undefined) {
3664        frame_width += '"' + matterport_width + '" ';
3665      } else {
3666        frame_width += '"" ';
3667      }
3668      if (matterport_height !== undefined) {
3669        frame_height += '"' + matterport_height + '" ';
3670      } else {
3671        frame_height += '"" ';
3672      }
3673      if (matterport_parameters === undefined) {
3674        return "";
3675      }
3676
3677      matterport_frame = '<iframe title="Matterport iframe" type="text/html" ' + frame_width + frame_height + ' src="https://my.matterport.com/show/?m=' + matterport_id + '&utm_source=hit-content' + matterport_parameters + '" allowfullscreen="allowfullscreen"></iframe>';
3678      return matterport_frame;
3679    });
3680  },
3681  "fallback": function () {
3682    "use strict";
3683    var id = 'matterport';
3684    tarteaucitron.fallback(['matterport'], function (elem) {
3685      elem.style.width = elem.getAttribute('width') + 'px';
3686      elem.style.height = elem.getAttribute('height') + 'px';
3687      return tarteaucitron.engage(id);
3688    });
3689  }
3690};
3691
3692// Adform
3693tarteaucitron.services.adform = {
3694    "key": "adform",
3695    "type": "ads",
3696    "name": "Adform",
3697    "uri": "https://site.adform.com/privacy-center/overview/",
3698    "needConsent": true,
3699    "cookies": [],
3700    "js": function () {
3701        "use strict";
3702
3703        if (tarteaucitron.user.adformpm === undefined || tarteaucitron.user.adformpagename === undefined) {
3704            return;
3705        }
3706
3707        window._adftrack = {
3708            pm: tarteaucitron.user.adformpm,
3709            divider: encodeURIComponent('|'),
3710            pagename: encodeURIComponent(tarteaucitron.user.adformpagename)
3711        };
3712
3713        tarteaucitron.addScript("https://track.adform.net/serving/scripts/trackpoint/async/");
3714    }
3715};
3716
3717// Active Campaign
3718tarteaucitron.services.activecampaign = {
3719    "key": "activecampaign",
3720    "type": "ads",
3721    "name": "Active Campaign",
3722    "uri": "https://www.activecampaign.com/privacy-policy/",
3723    "needConsent": true,
3724    "cookies": [],
3725    "js": function () {
3726        "use strict";
3727        if (tarteaucitron.user.actid === undefined) {
3728            return;
3729        }
3730
3731        window.trackcmp_email = '';
3732
3733        tarteaucitron.addScript('https://trackcmp.net/visit?actid='+tarteaucitron.user.actid+'&e='+encodeURIComponent(trackcmp_email)+'&r='+encodeURIComponent(document.referrer)+'&u='+encodeURIComponent(window.location.href));
3734    }
3735};
3736
3737// tawk.to
3738tarteaucitron.services.tawkto = {
3739    "key": "tawkto",
3740    "type": "support",
3741    "name": "Tawk.to chat",
3742    "uri": "https://www.tawk.to/data-protection/",
3743    "needConsent": true,
3744    "cookies": [],
3745    "js": function () {
3746        "use strict";
3747        if (tarteaucitron.user.tawktoId === undefined) {
3748            return;
3749        }
3750
3751        window.Tawk_API=window.Tawk_API||{};
3752        window.Tawk_LoadStart=new Date();
3753
3754        tarteaucitron.addScript('https://embed.tawk.to/' + tarteaucitron.user.tawktoId + '/default');
3755    }
3756
3757};
3758
3759// getquanty
3760tarteaucitron.services.getquanty = {
3761    "key": "getquanty",
3762    "type": "analytic",
3763    "name": "GetQuanty",
3764    "uri": "https://www.getquanty.com/mentions-legales/",
3765    "needConsent": true,
3766    "cookies": ['_first_pageview', 'eqy_sessionid', 'eqy_siteid','cluid','eqy_company', 'cluid', 'gq_utm', '_jsuid'],
3767    "js": function () {
3768        "use strict";
3769        if (tarteaucitron.user.getguanty === undefined) {
3770            return;
3771        }
3772
3773        window.webleads_site_ids = window.webleads_site_ids || [];
3774        window.webleads_site_ids.push(tarteaucitron.user.getguanty);
3775
3776        tarteaucitron.addScript('https://stats.webleads-tracker.com/js');
3777        tarteaucitron.addScript('https://get.smart-data-systems.com/track?site_id=' + tarteaucitron.user.getguanty);
3778    }
3779};
3780
3781// emolytics
3782tarteaucitron.services.emolytics = {
3783    "key": "emolytics",
3784    "type": "analytic",
3785    "name": "Emolytics",
3786    "uri": "https://www.emolytics.com/main/privacy-policy.php",
3787    "needConsent": true,
3788    "cookies": ['__hssc', '__hssrc', '__hstc', '_ga', '_gid', 'hubspotutk', 'lang', 'incap_ses_', 'nlbi_', 'visid_incap_'],
3789    "js": function () {
3790        "use strict";
3791        if (tarteaucitron.user.emolyticsID === undefined) {
3792            return;
3793        }
3794        var scriptEmolytics = document.createElement('script');
3795        scriptEmolytics.text = 'var getsmily_id="'+tarteaucitron.user.emolyticsID+'";';
3796        document.getElementsByTagName('body')[0].appendChild(scriptEmolytics);
3797        tarteaucitron.addScript('https://cdn.emolytics.com/script/emolytics-widget.js')
3798    }
3799};
3800
3801// youtubeapi
3802tarteaucitron.services.youtubeapi = {
3803    "key": "youtubeapi",
3804    "type": "video",
3805    "name": "Youtube (Js API)",
3806    "uri": "https://policies.google.com/privacy/",
3807    "needConsent": true,
3808    "cookies": [],
3809    "js": function () {
3810        "use strict";
3811        tarteaucitron.addScript('https://www.youtube.com/player_api');
3812    }
3813};
3814
3815// Facil'ITI
3816tarteaucitron.services.faciliti = {
3817    "key": "faciliti",
3818    "type": "other",
3819    "name": "Facil'ITI",
3820    "uri": "https://ws.facil-iti.com/mentions-legales.html",
3821    "needConsent": true,
3822    "cookies": ['FACIL_ITI_LS'],
3823    "js": function () {
3824        "use strict";
3825        if (tarteaucitron.user.facilitiID === undefined) {
3826            return;
3827        }
3828
3829        (function(w, d, s, f) {
3830            w[f] = w[f] || {conf: function () { (w[f].data = w[f].data || []).push(arguments);}};
3831            var l = d.createElement(s), e = d.getElementsByTagName(s)[0];
3832            l.async = 1; l.src = 'https://ws.facil-iti.com/tag/faciliti-tag.min.js'; e.parentNode.insertBefore(l, e);
3833        }(window, document, 'script', 'FACIL_ITI'));
3834        FACIL_ITI.conf('userId', tarteaucitron.user.facilitiID);
3835    }
3836};
3837
3838// userlike
3839tarteaucitron.services.userlike = {
vendor: 2,136 bytes, lines 3840-3894
3840    "key": "userlike",
3841    "type": "support",
3842    "name": "Userlike",
3843    "uri": "https://www.userlike.com/en/terms#privacy-policy",
3844    "needConsent": true,
3845    "cookies": ['uslk_s', 'uslk_e'],
3846    "js": function () {
3847        "use strict";
3848        if (tarteaucitron.user.userlikeKey === undefined) {
3849            return;
3850        }
3851        tarteaucitron.addScript('//userlike-cdn-widgets.s3-eu-west-1.amazonaws.com/' + tarteaucitron.user.userlikeKey);
3852    }
3853};
3854                          
3855// adobeanalytics
3856tarteaucitron.services.adobeanalytics = {
3857    "key": "adobeanalytics",
3858    "type": "analytic",
3859    "name": "Adobe Analytics",
3860    "uri": "https://www.adobe.com/privacy/policy.html",
3861    "needConsent": true,
3862    "cookies": ['s_ecid', 's_cc', 's_sq', 's_vi', 's_fid'],
3863    "js": function () {
3864        "use strict";
3865        if (tarteaucitron.user.adobeanalyticskey === undefined) {
3866            return;
3867        }
3868        tarteaucitron.addScript('//assets.adobedtm.com/launch-' + tarteaucitron.user.adobeanalyticskey + '.min.js');
3869    }
3870};
3871
3872// woopra customer journey analytics
3873tarteaucitron.services.woopra = {
3874    'key': 'woopra',
3875    'type': 'analytic',
3876    'name': 'Woopra Customer Journey Analytics',
3877    'uri': 'https://www.woopra.com/privacy',
3878    'needConsent': true,
3879    'cookies': ['wooTracker', 'intercom-session-erbfalba', 'intercom-id-erbfalba'],
3880    'js': function () {
3881        'use strict';
3882        //var w = tarteaucitron.user.woopraDomain;
3883        //window[w] = window[w] || [];
3884
3885        (function(){
3886		  var t,i,e,n=window,o=document,a=arguments,s="script",r=["config","track","identify","visit","push","call","trackForm","trackClick"],c=function(){var t,i=this;for(i._e=[],t=0;r.length>t;t++)(function(t){i[t]=function(){return i._e.push([t].concat(Array.prototype.slice.call(arguments,0))),i}})(r[t])};for(n._w=n._w||{},t=0;a.length>t;t++)n._w[a[t]]=n[a[t]]=n[a[t]]||new c;i=o.createElement(s),i.async=1,i.src="//static.woopra.com/js/w.js",e=o.getElementsByTagName(s)[0],e.parentNode.insertBefore(i,e)
3887		})("woopra");
3888
3889		woopra.config({
3890		    domain: tarteaucitron.user.woopraDomain
3891		});
3892		woopra.track();
3893    }
3894};

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.