PageSourceSearch

https://woisa.fr/js/tarteaucitron/tarteaucitron.services.js

js woisa.fr collected 2026-10-10 02:18:10 UTC 182,508 bytes, 4,906 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*/
3tarteaucitron.services.console = {
4  'key': 'console',
5  'type': 'mandatory',
6  'name': 'ConsoleX',
7  'needConsent': false,
8  'cookies': ['PHPSESSID'],
9  'readmoreLink': 'cookies.html',
10  'js': function() {
11    'use strict';
12  },
13  'fallback': function() {
14    'use strict';
15  }
16}
17// generic iframe
18tarteaucitron.services.iframe = {
19    "key": "iframe",
20    "type": "other",
21    "name": "Web content",
22    "uri": "",
23    "needConsent": true,
24    "cookies": [],
25    "js": function () {
26        "use strict";
27        tarteaucitron.fallback(['tac_iframe'], function (x) {
28            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title")),
29                width = x.getAttribute("width"),
30                height = x.getAttribute("height"),
31                allowfullscreen = x.getAttribute("allowfullscreen"),
32                url = x.getAttribute("data-url");
33
34            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
35        });
36    },
37    "fallback": function () {
38        "use strict";
39        var id = 'iframe';
40        tarteaucitron.fallback(['tac_iframe'], function (elem) {
41            elem.style.width = elem.getAttribute('width') + 'px';
42            elem.style.height = elem.getAttribute('height') + 'px';
43            return tarteaucitron.engage(id);
44        });
45    }
46};
47
48// pinterestpixel
49tarteaucitron.services.pinterestpixel = {
50    "key": "pinterestpixel",
51    "type": "ads",
52    "name": "Pinterest Pixel",
53    "uri": "https://help.pinterest.com/fr/business/article/track-conversions-with-pinterest-tag",
54    "needConsent": true,
55    "cookies": ['_pinterest_sess', '_pinterest_ct', '_pinterest_ct_mw', '_pinterest_ct_rt', '_epik', '_derived_epik', '_pin_unauth', '_pinterest_ct_ua'],
56    "js": function () {
57        "use strict";
58
59        if (tarteaucitron.user.pinterestpixelId === undefined) {
60            return;
61        }
62
63        if (!window.pintrk) {
64            window.pintrk = function () {
65                window.pintrk.queue.push(Array.prototype.slice.call(arguments));
66            };
67
68            var n = window.pintrk;
69            n.queue = [];
70            n.version = "3.0";
71
72            tarteaucitron.addScript('https://s.pinimg.com/ct/core.js', '', function () {
73                window.pintrk('load', tarteaucitron.user.pinterestpixelId);
74                window.pintrk('page');
75            });
76        }
77    }
78};
79
80// elfsight
81tarteaucitron.services.elfsight = {
82    "key": "elfsight",
83    "type": "support",
84    "name": "Elfsight",
85    "uri": "https://elfsight.com/privacy-policy/",
86    "needConsent": true,
87    "cookies": ['__cfduid', '_p_hfp_client_id', 'session_id'],
88    "js": function () {
89        "use strict";
90
91        tarteaucitron.addScript('https://apps.elfsight.com/p/platform.js');
92    }
93};
94
95// plezi
96tarteaucitron.services.plezi = {
97    "key": "plezi",
98    "type": "analytic",
99    "name": "Plezi",
100    "uri": "https://www.plezi.co/fr/mentions-legales/",
101    "needConsent": true,
102    "cookies": [],
103    "js": function () {
104        "use strict";
105
106        if (tarteaucitron.user.pleziTenant === undefined || tarteaucitron.user.pleziTw === undefined) {
107            return;
108        }
109
110        tarteaucitron.addScript('https://app.plezi.co/scripts/ossleads_analytics.js?tenant=' + tarteaucitron.user.pleziTenant + '&tw=' + tarteaucitron.user.pleziTw);
111    }
112};
113
114
115// smartsupp
116tarteaucitron.services.smartsupp = {
117    "key": "smartsupp",
118    "type": "support",
119    "name": "Smartsupp",
120    "uri": "https://www.smartsupp.com/help/privacy/",
121    "needConsent": true,
122    "cookies": ['ssupp.vid', 'ssupp.visits', 'AWSALB', 'AWSALBCORS'],
123    "js": function () {
124        "use strict";
125
126        if (tarteaucitron.user.smartsuppKey === undefined) {
127            return;
128        }
129
130        window._smartsupp = window._smartsupp || {};
131        window._smartsupp.key = tarteaucitron.user.smartsuppKey;
132        window.smartsupp = function () {
133            window.smartsupp._.push(arguments)
134        };
135        window.smartsupp._ = [];
136
137        tarteaucitron.addScript('https://www.smartsuppchat.com/loader.js');
138    }
139};
140
141
142
143// sharpspring
144tarteaucitron.services.sharpspring = {
vendor: 6,040 bytes, lines 145-293
145    "key": "sharpspring",
146    "type": "analytic",
147    "name": "SharpSpring",
148    "uri": "https://sharpspring.com/legal/sharpspring-cookie-policy/",
149    "needConsent": true,
150    "cookies": ['koitk', '__ss', '__ss_tk', '__ss_referrer'],
151    "js": function () {
152        "use strict";
153
154        if (tarteaucitron.user.ssId === undefined || tarteaucitron.user.ssAccount === undefined) {
155            return;
156        }
157
158        window._ss = window._ss || [];
159        window._ss.push(['_setDomain', 'https://' + tarteaucitron.user.ssId + '.marketingautomation.services/net']);
160        window._ss.push(['_setAccount', tarteaucitron.user.ssAccount]);
161        window._ss.push(['_trackPageView']);
162
163        window._pa = window._pa || {};
164
165        tarteaucitron.addScript('https://' + tarteaucitron.user.ssId + '.marketingautomation.services/client/ss.js');
166    }
167};
168
169// pardot
170tarteaucitron.services.pardot = {
171    "key": "pardot",
172    "type": "analytic",
173    "name": "Pardot",
174    "uri": "https://www.salesforce.com/company/privacy/full_privacy/",
175    "needConsent": true,
176    "cookies": ['visitor_id'],
177    "js": function () {
178        "use strict";
179        if (tarteaucitron.user.piAId === undefined || tarteaucitron.user.piCId === undefined) {
180            return;
181        }
182
183        window.piAId = tarteaucitron.user.piAId;
184        window.piCId = tarteaucitron.user.piCId;
185        window.piHostname = 'pi.pardot.com';
186
187        tarteaucitron.addScript('https://pi.pardot.com/pd.js');
188    }
189};
190
191// Open Web Analytics
192tarteaucitron.services.openwebanalytics = {
193    "key": "openwebanalytics",
194    "type": "analytic",
195    "name": "Open Web Analytics",
196    "uri": "",
197    "needConsent": true,
198    "cookies": [],
199    "js": function () {
200        "use strict";
201
202        if (tarteaucitron.user.openwebanalyticsId === undefined || tarteaucitron.user.openwebanalyticsHost === undefined) {
203            return;
204        }
205
206        window.owa_baseUrl = tarteaucitron.user.openwebanalyticsHost;
207        window.owa_cmds = window.owa_cmds || [];
208        window.owa_cmds.push(['setSiteId', tarteaucitron.user.openwebanalyticsId]);
209        window.owa_cmds.push(['trackPageView']);
210        window.owa_cmds.push(['trackClicks']);
211
212        tarteaucitron.addScript(window.owa_baseUrl + 'modules/base/js/owa.tracker-combined-min.js');
213    }
214};
215
216// xandr universal pixel
217// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/universal-pixel-overview.html
218tarteaucitron.services.xandr = {
219    "key": "xandr",
220    "type": "ads",
221    "name": "Xandr (Universal)",
222    "uri": "https://www.xandr.com/privacy/cookie-policy/",
223    "needConsent": true,
224    "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'],
225    "js": function () {
226        "use strict";
227        if (tarteaucitron.user.xandrId === undefined) {
228            return;
229        }
230
231        if (!window.pixie) {
232            var n = window.pixie = function (e, i, a) {
233                n.actionQueue.push({
234                    action: e,
235                    actionValue: i,
236                    params: a
237                })
238            };
239            n.actionQueue = [];
240        }
241
242        tarteaucitron.addScript('https://acdn.adnxs.com/dmp/up/pixie.js', '', function () {
243            window.pixie('init', tarteaucitron.user.xandrId);
244            window.pixie('event', 'PageView');
245        });
246    }
247};
248
249// xandr segment
250// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/segment-pixels-advanced.html
251tarteaucitron.services.xandrsegment = {
252    "key": "xandrsegment",
253    "type": "ads",
254    "name": "Xandr (Segment)",
255    "uri": "https://www.xandr.com/privacy/cookie-policy/",
256    "needConsent": true,
257    "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'],
258    "js": function () {
259        "use strict";
260        var uniqIds = [],
261            i,
262            uri;
263
264        tarteaucitron.fallback(['xandrsegment-canvas'], function (x) {
265            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
266            uniqIds.push(uniqId);
267            return '<div id="' + uniqId + '" xandrsegmentAdd="' + x.getAttribute('xandrsegmentAdd') + '" xandrsegmentAddCode="' + x.getAttribute('xandrsegmentAddCode') + '" xandrsegmentRemove="' + x.getAttribute('xandrsegmentRemove') + '" xandrsegmentRemoveCode="' + x.getAttribute('xandrsegmentRemoveCode') + '" xandrsegmentMember="' + x.getAttribute('xandrsegmentMember') + '" xandrsegmentRedir="' + x.getAttribute('xandrsegmentRedir') + '" xandrsegmentValue="' + x.getAttribute('xandrsegmentValue') + '" xandrsegmentOther="' + x.getAttribute('xandrsegmentOther') + '"></div>';
268        });
269
270        for (i = 0; i < uniqIds.length; i += 1) {
271            uri = '//ib.adnxs.com/seg?t=2&';
272            uri += 'add=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentAdd') + '&';
273            uri += 'add_code=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentAddCode') + '&';
274            uri += 'remove=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentRemove') + '&';
275            uri += 'remove_code=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentRemoveCode') + '&';
276            uri += 'member=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentMember') + '&';
277            uri += 'redir=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentRedir') + '&';
278            uri += 'value=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentValue') + '&';
279            uri += 'other=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentOther');
280
281            document.getElementById(uniqIds[i]).innerHTML = '<img src=\'' + uri + '\' width=\'1\' height=\'1\' />';
282        }
283    },
284    "fallback": function () {
285        "use strict";
286        var id = 'xandrsegment';
287        tarteaucitron.fallback(['xandrsegment-canvas'], tarteaucitron.engage(id));
288    }
289};
290
291// xandr conversion
292// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/working-with-conversion-pixels.html
293tarteaucitron.services.xandrconversion = {
294    "key": "xandrconversion",
295    "type": "ads",
296    "name": "Xandr (Conversion)",
297    "uri": "https://www.xandr.com/privacy/cookie-policy/",
298    "needConsent": true,
299    "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'],
300    "js": function () {
301        "use strict";
302        var uniqIds = [],
303            i,
304            uri;
305
306        tarteaucitron.fallback(['xandrconversion-canvas'], function (x) {
307            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
308            uniqIds.push(uniqId);
309            return '<div id="' + uniqId + '" xandrconversionId="' + x.getAttribute('xandrconversionId') + '" xandrconversionSeg="' + x.getAttribute('xandrconversionSeg') + '" xandrconversionOrderId="' + x.getAttribute('xandrconversionOrderId') + '" xandrconversionValue="' + x.getAttribute('xandrconversionValue') + '" xandrconversionRedir="' + x.getAttribute('xandrconversionRedir') + '" xandrconversionOther="' + x.getAttribute('xandrconversionOther') + '"></div>';
310        });
311
312        for (i = 0; i < uniqIds.length; i += 1) {
313            uri = '//ib.adnxs.com/px?t=2&';
314            uri += 'id=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionId') + '&';
315            uri += 'seg=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionSeg') + '&';
316            uri += 'order_id=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionOrderId') + '&';
317            uri += 'value=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionValue') + '&';
318            uri += 'redir=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionRedir') + '&';
319            uri += 'other=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionOther');
320
321            document.getElementById(uniqIds[i]).innerHTML = '<img src=\'' + uri + '\' width=\'1\' height=\'1\' />';
322        }
323    },
324    "fallback": function () {
325        "use strict";
326        var id = 'xandrconversion';
327        tarteaucitron.fallback(['xandrconversion-canvas'], tarteaucitron.engage(id));
328    }
329};
330
331// helloasso
332tarteaucitron.services.helloasso = {
333    "key": "helloasso",
334    "type": "api",
335    "name": "HelloAsso",
336    "uri": "https://www.helloasso.com/confidentialite",
337    "needConsent": true,
338    "cookies": [],
339    "js": function () {
340        "use strict";
341        tarteaucitron.fallback(['tac_helloasso'], function (x) {
342            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'HelloAsso iframe'),
343                width = x.getAttribute("width"),
344                height = x.getAttribute("height"),
345                url = x.getAttribute("data-url"),
346                allowfullscreen = x.getAttribute("allowfullscreen");
347
348            return '<iframe title="' + frame_title + '" id="haWidget" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
349        });
350    },
351    "fallback": function () {
352        "use strict";
353        var id = 'helloasso';
354        tarteaucitron.fallback(['tac_helloasso'], function (elem) {
355            elem.style.width = elem.getAttribute('width') + 'px';
356            elem.style.height = elem.getAttribute('height') + 'px';
357            return tarteaucitron.engage(id);
358        });
359    }
360};
361
362// podcloud
363tarteaucitron.services.podcloud = {
364    "key": "podcloud",
365    "type": "video",
366    "name": "podCloud",
367    "uri": "https://podcloud.fr/privacy",
368    "needConsent": true,
369    "cookies": [],
370    "js": function () {
371        "use strict";
372        tarteaucitron.fallback(['tac_podcloud'], function (x) {
373            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'podCloud iframe'),
374                width = x.getAttribute("width"),
375                height = x.getAttribute("height"),
376                url = x.getAttribute("data-url"),
377                allowfullscreen = x.getAttribute("allowfullscreen");
378
379            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
380        });
381    },
382    "fallback": function () {
383        "use strict";
384        var id = 'podcloud';
385        tarteaucitron.fallback(['tac_podcloud'], function (elem) {
386            elem.style.width = elem.getAttribute('width') + 'px';
387            elem.style.height = elem.getAttribute('height') + 'px';
388            return tarteaucitron.engage(id);
389        });
390    }
391};
392
393// facebookpost
394tarteaucitron.services.facebookpost = {
395    "key": "facebookpost",
396    "type": "social",
397    "name": "Facebook (post)",
398    "uri": "https://www.facebook.com/policy.php",
399    "needConsent": true,
400    "cookies": [],
401    "js": function () {
402        "use strict";
403        tarteaucitron.fallback(['tac_facebookpost'], function (x) {
404            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Facebook iframe'),
405                width = x.getAttribute("width"),
406                height = x.getAttribute("height"),
407                url = x.getAttribute("data-url"),
408                appId = x.getAttribute("data-appid"),
409                allowfullscreen = x.getAttribute("allowfullscreen");
410
411            return '<iframe title="' + frame_title + '" 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 == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
412        });
413    },
414    "fallback": function () {
415        "use strict";
416        var id = 'facebookpost';
417        tarteaucitron.fallback(['tac_facebookpost'], function (elem) {
418            elem.style.width = elem.getAttribute('width') + 'px';
419            elem.style.height = elem.getAttribute('height') + 'px';
420            return tarteaucitron.engage(id);
421        });
422    }
423};
424
425// amplitude
426tarteaucitron.services.amplitude = {
427    "key": "amplitude",
428    "type": "analytic",
429    "name": "Amplitude",
430    "uri": "https://amplitude.com/privacy",
431    "needConsent": true,
432    "cookies": [],
433    "js": function () {
434        "use strict";
435        if (tarteaucitron.user.amplitude === undefined) {
436            return;
437        }
438        tarteaucitron.addScript('https://cdn.amplitude.com/libs/amplitude-5.8.0-min.gz.js', '', function () {
439
440            window.amplitude = {
441                _q: [],
442                _iq: {}
443            };
444            function s(e, t) { e.prototype[t] = function () { this._q.push([t].concat(Array.prototype.slice.call(arguments, 0))); return this } }
445            var o = function () { this._q = []; return this };
446            var a = ["add", "append", "clearAll", "prepend", "set", "setOnce", "unset"];
447            for (var u = 0; u < a.length; u++) { s(o, a[u]) }
448            amplitude.Identify = o;
449            var c = function () { this._q = []; return this };
450            var l = ["setProductId", "setQuantity", "setPrice", "setRevenueType", "setEventProperties"];
451            for (var p = 0; p < l.length; p++) { s(c, l[p]) }
452            amplitude.Revenue = c;
453            var d = ["init", "logEvent", "logRevenue", "setUserId", "setUserProperties", "setOptOut", "setVersionName", "setDomain", "setDeviceId", "enableTracking", "setGlobalUserProperties", "identify", "clearUserProperties", "setGroup", "logRevenueV2", "regenerateDeviceId", "groupIdentify", "onInit", "logEventWithTimestamp", "logEventWithGroups", "setSessionId", "resetSessionId"];
454            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]) } }
455            v(amplitude);
456            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] };
457
458            amplitude.getInstance().init(tarteaucitron.user.amplitude);
459        });
460    }
461};
462
463// abtasty
464tarteaucitron.services.abtasty = {
465    "key": "abtasty",
466    "type": "api",
467    "name": "ABTasty",
468    "uri": "https://www.abtasty.com/terms-of-use/",
469    "needConsent": true,
470    "cookies": ['ABTasty', 'ABTastySession'],
471    "js": function () {
472        "use strict";
473        if (tarteaucitron.user.abtastyID === undefined) {
474            return;
475        }
476        tarteaucitron.addScript('//try.abtasty.com/' + tarteaucitron.user.abtastyID + '.js');
477    }
478};
479
480
481// yandex metrica
482tarteaucitron.services.metrica = {
vendor: 4,162 bytes, lines 483-602
483    "key": "metrica",
484    "type": "analytic",
485    "name": "Yandex Metrica",
486    "uri": "https://yandex.com/legal/confidential/",
487    "needConsent": true,
488    "cookies": ['_ym_metrika_enabled', '_ym_isad', '_ym_uid', '_ym_d', 'yabs-sid', '_ym_debug', '_ym_mp2_substs', '_ym_hostIndex', '_ym_mp2_track', 'yandexuid', 'usst'],
489    "js": function () {
490        "use strict";
491        if (tarteaucitron.user.yandexmetrica === undefined) {
492            return;
493        }
494        tarteaucitron.addScript('https://mc.yandex.ru/metrika/tag.js', '', function () {
495
496            (function (m, e, t, r, i, k, a) {
497                m[i] = m[i] || function () { (m[i].a = m[i].a || []).push(arguments) };
498                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)
499            })
500                (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
501
502            ym(tarteaucitron.user.yandexmetrica, "init", {
503                clickmap: true,
504                trackLinks: true,
505                accurateTrackBounce: true,
506                webvisor: true,
507                ecommerce: "dataLayer"
508            });
509        });
510    }
511};
512
513// addthis
514tarteaucitron.services.addthis = {
515    "key": "addthis",
516    "type": "social",
517    "name": "AddThis",
518    "uri": "https://www.addthis.com/privacy/privacy-policy#publisher-visitors",
519    "needConsent": true,
520    "cookies": ['__atuvc', '__atuvs'],
521    "js": function () {
522        "use strict";
523        if (tarteaucitron.user.addthisPubId === undefined) {
524            return;
525        }
526        if (tarteaucitron.isAjax === true) {
527            window.addthis = null;
528            window._adr = null;
529            window._atc = null;
530            window._atd = null;
531            window._ate = null;
532            window._atr = null;
533            window._atw = null;
534        }
535        tarteaucitron.fallback(['addthis_inline_share_toolbox'], '');
536        tarteaucitron.addScript('//s7.addthis.com/js/300/addthis_widget.js#pubid=' + tarteaucitron.user.addthisPubId);
537    },
538    "fallback": function () {
539        "use strict";
540        var id = 'addthis';
541        tarteaucitron.fallback(['addthis_inline_share_toolbox'], tarteaucitron.engage(id));
542    }
543};
544
545// addtoanyfeed
546tarteaucitron.services.addtoanyfeed = {
547    "key": "addtoanyfeed",
548    "type": "social",
549    "name": "AddToAny (feed)",
550    "uri": "https://www.addtoany.com/privacy",
551    "needConsent": true,
552    "cookies": [],
553    "js": function () {
554        "use strict";
555        if (tarteaucitron.user.addtoanyfeedUri === undefined) {
556            return;
557        }
558        tarteaucitron.user.addtoanyfeedSubscribeLink = 'https://www.addtoany.com/subscribe?linkurl=' + tarteaucitron.user.addtoanyfeedUri;
559        window.a2a_config = window.a2a_config || {};
560        window.a2a_config.linkurl = tarteaucitron.user.addtoanyfeedUri;
561        tarteaucitron.addScript('//static.addtoany.com/menu/feed.js');
562    },
563    "fallback": function () {
564        "use strict";
565        tarteaucitron.user.addtoanyfeedSubscribeLink = 'https://www.addtoany.com/subscribe?linkurl=' + tarteaucitron.user.addtoanyfeedUri;
566    }
567};
568
569// addtoanyshare
570tarteaucitron.services.addtoanyshare = {
571    "key": "addtoanyshare",
572    "type": "social",
573    "name": "AddToAny (share)",
574    "uri": "https://www.addtoany.com/privacy",
575    "needConsent": true,
576    "cookies": [],
577    "js": function () {
578        "use strict";
579        tarteaucitron.fallback(['tac_addtoanyshare'], function (elem) {
580            elem.remove();
581        }, true);
582        tarteaucitron.addScript('//static.addtoany.com/menu/page.js');
583    },
584    "fallback": function () {
585        "use strict";
586        var id = 'addtoanyshare';
587        tarteaucitron.fallback(['tac_addtoanyshare'], tarteaucitron.engage(id));
588    }
589};
590
591// aduptech ads
592tarteaucitron.services.aduptech_ads = {
593    "key": "aduptech_ads",
594    "type": "ads",
595    "name": "Ad Up Technology (ads)",
596    "uri": "https://www.adup-tech.com/datenschutz",
597    "needConsent": true,
598    "cookies": [],
599    "js": function () {
600        "use strict";
601
602        var IDENTIFIER = "aduptech_ads",
603            API_URL = "https://s.d.adup-tech.com/jsapi";
604
605        var elements = document.getElementsByClassName(IDENTIFIER);
606        if (!elements || elements.length === 0) {
607            return;
608        }
609
610        tarteaucitron.fallback([IDENTIFIER], "");
611
612        tarteaucitron.addScript(API_URL, "", function () {
613            for (var i = 0; i < elements.length; i++) {
614                var element = elements[i];
615
616                if (!element.getAttribute("id")) {
617                    element.setAttribute("id", IDENTIFIER + Math.random().toString(36).substr(2, 9));
618                }
619
620                window.uAd.embed(element.getAttribute("id"), {
621                    placementKey: element.getAttribute("placementKey"),
622                    responsive: Boolean(element.getAttribute("responsive")),
623                    lazy: Boolean(element.getAttribute("lazy")),
624                    adtest: Boolean(element.getAttribute("test")),
625                    query: element.getAttribute("query") || "",
626                    minCpc: element.getAttribute("minCpc") || "",
627                    pageUrl: element.getAttribute("pageUrl") || "",
628                    skip: element.getAttribute("skip") || ""
629                });
630            }
631        });
632
633    },
634    "fallback": function () {
635        "use strict";
636        tarteaucitron.fallback(["aduptech_ads"], tarteaucitron.engage("aduptech_ads"));
637    }
638};
639
640// aduptech conversion
641tarteaucitron.services.aduptech_conversion = {
642    "key": "aduptech_conversion",
643    "type": "ads",
644    "name": "Ad Up Technology (conversion)",
645    "uri": "https://www.adup-tech.com/datenschutz",
646    "needConsent": true,
647    "cookies": [],
648    "js": function () {
649        "use strict";
650
651        var IDENTIFIER = "aduptech_conversion",
652            CONVERSION_PIXEL_BASE_URL = "https://d.adup-tech.com/campaign/conversion";
653
654        var elements = document.getElementsByClassName(IDENTIFIER);
655        if (!elements || elements.length === 0) {
656            return;
657        }
658
659        tarteaucitron.fallback([IDENTIFIER], "");
660
661        for (var i = 0; i < elements.length; i++) {
662            var element = elements[i];
663
664            if (!element.getAttribute("advertiserId") || !element.getAttribute("conversionCode")) {
665                continue;
666            }
667
668            var url = CONVERSION_PIXEL_BASE_URL +
669                "/" + encodeURIComponent(element.getAttribute("advertiserId")) +
670                "?t=" + encodeURIComponent(element.getAttribute("conversionCode"));
671
672            if (element.getAttribute("price")) {
673                url += "&price=" + encodeURIComponent(element.getAttribute("price"));
674            }
675
676            if (element.getAttribute("quantity")) {
677                url += "&quantity=" + encodeURIComponent(element.getAttribute("quantity"));
678            }
679
680            if (element.getAttribute("total")) {
681                url += "&total=" + encodeURIComponent(element.getAttribute("total"));
682            }
683
684            if (element.getAttribute("orderId")) {
685                url += "&order_id=" + encodeURIComponent(element.getAttribute("orderId"));
686            }
687
688            if (element.getAttribute("itemNumber")) {
689                url += "&item_number=" + encodeURIComponent(element.getAttribute("itemNumber"));
690            }
691
692            if (element.getAttribute("description")) {
693                url += "&description=" + encodeURIComponent(element.getAttribute("description"));
694            }
695
696            (new Image()).src = url;
697        }
698    }
699};
700
701// aduptech retargeting
702tarteaucitron.services.aduptech_retargeting = {
703    "key": "aduptech_retargeting",
704    "type": "ads",
705    "name": "Ad Up Technology (retargeting)",
706    "uri": "https://www.adup-tech.com/datenschutz",
707    "needConsent": true,
708    "cookies": [],
709    "js": function () {
710        "use strict";
711
712        var IDENTIFIER = "aduptech_retargeting",
713            API_URL = "https://s.d.adup-tech.com/services/retargeting.js";
714
715        var elements = document.getElementsByClassName(IDENTIFIER);
716        if (!elements || elements.length === 0) {
717            return;
718        }
719
720        tarteaucitron.fallback([IDENTIFIER], "");
721
722        window.AdUpRetargeting = function (api) {
723            for (var i = 0; i < elements.length; i++) {
724                var element = elements[i];
725
726                api.init();
727
728                api.setAccount(element.getAttribute("account"));
729
730                if (element.getAttribute("email")) {
731                    api.setEmail(element.getAttribute("email"));
732                } else if (element.getAttribute("hashedEmail")) {
733                    api.setHashedEmail(element.getAttribute("hashedEmail"));
734                }
735
736                if (element.getAttribute("product")) {
737                    try {
738                        api.setProduct(JSON.parse(element.getAttribute("product")));
739                    } catch (e) {
740                        api.setProduct(element.getAttribute("product"));
741                    }
742                }
743
744                if (element.getAttribute("transaction")) {
745                    try {
746                        api.setTransaction(JSON.parse(element.getAttribute("transaction")));
747                    } catch (e) {
748                        api.setTransaction(element.getAttribute("transaction"));
749                    }
750                }
751
752                if (element.getAttribute("demarkUser")) {
753                    api.setDemarkUser();
754                } else if (element.getAttribute("demarkProducts")) {
755                    api.setDemarkProducts();
756                }
757
758                if (element.getAttribute("conversionCode")) {
759                    api.setConversionCode(element.getAttribute("conversionCode"));
760                }
761
762                if (element.getAttribute("device")) {
763                    var setter = "set" + element.getAttribute("device").charAt(0).toUpperCase() + element.getAttribute("device").slice(1);
764                    if (typeof api[setter] === 'function') {
765                        api[setter]();
766                    }
767                }
768
769                if (element.getAttribute("track")) {
770                    var tracker = "track" + element.getAttribute("track").charAt(0).toUpperCase() + element.getAttribute("track").slice(1);
771                    if (typeof api[tracker] === "function") {
772                        api[tracker]();
773                    } else {
774                        api.trackHomepage();
775                    }
776                }
777            };
778        };
779
780        tarteaucitron.addScript(API_URL);
781    }
782};
783
784// alexa
785tarteaucitron.services.alexa = {
786    "key": "alexa",
787    "type": "analytic",
788    "name": "Alexa",
789    "uri": "https://www.alexa.com/help/privacy",
790    "needConsent": true,
791    "cookies": ['__asc', '__auc'],
792    "js": function () {
793        "use strict";
794        if (tarteaucitron.user.alexaAccountID === undefined) {
795            return;
796        }
797        window._atrk_opts = {
798            atrk_acct: tarteaucitron.user.alexaAccountID,
799            domain: window.location.hostname.match(/[^\.]*\.[^.]*$/)[0],
800            dynamic: true
801        };
802        tarteaucitron.addScript('https://d31qbv1cthcecs.cloudfront.net/atrk.js');
803    }
804};
805
806// amazon
807tarteaucitron.services.amazon = {
808    "key": "amazon",
809    "type": "ads",
810    "name": "Amazon",
811    "uri": "https://www.amazon.com/gp/help/customer/display.html/ref=help_search_1-1?ie=UTF8&nodeId=201909010&qid=1544617177&sr=1-1",
812    "needConsent": true,
813    "cookies": [],
814    "js": function () {
815        "use strict";
816        tarteaucitron.fallback(['amazon_product'], function (x) {
817            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Amazon iframe'),
818                amazonId = x.getAttribute("amazonid"),
819                productId = x.getAttribute("productid"),
820                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',
821                iframe = '<iframe title="' + frame_title + '" style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" src="' + url + '"></iframe>';
822
823            return iframe;
824        });
825    },
826    "fallback": function () {
827        "use strict";
828        var id = 'amazon';
829        tarteaucitron.fallback(['amazon_product'], tarteaucitron.engage(id));
830    }
831};
832
833// calameo
834tarteaucitron.services.calameo = {
835    "key": "calameo",
836    "type": "video",
837    "name": "Calameo",
838    "uri": "https://fr.calameo.com/privacy",
839    "needConsent": true,
840    "cookies": [],
841    "js": function () {
842        "use strict";
843        tarteaucitron.fallback(['calameo-canvas'], function (x) {
844            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Calameo iframe'),
845                id = x.getAttribute("data-id"),
846                width = x.getAttribute("width"),
847                height = x.getAttribute("height"),
848                url = '//v.calameo.com/?bkcode=' + id,
849                allowfullscreen = x.getAttribute("allowfullscreen");
850
851            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
852        });
853    },
854    "fallback": function () {
855        "use strict";
856        var id = 'calameo';
857        tarteaucitron.fallback(['calameo-canvas'], function (elem) {
858            elem.style.width = elem.getAttribute('width') + 'px';
859            elem.style.height = elem.getAttribute('height') + 'px';
860            return tarteaucitron.engage(id);
861        });
862    }
863};
864
865// clicky
866tarteaucitron.services.clicky = {
867    "key": "clicky",
868    "type": "analytic",
869    "name": "Clicky",
870    "uri": "https://clicky.com/terms",
871    "needConsent": true,
872    "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],
873    "js": function () {
874        "use strict";
875        if (tarteaucitron.user.clickyId === undefined) {
876            return;
877        }
878        tarteaucitron.addScript('//static.getclicky.com/js', '', function () {
879            if (typeof clicky.init === 'function') {
880                clicky.init(tarteaucitron.user.clickyId);
881            }
882            if (typeof tarteaucitron.user.clickyMore === 'function') {
883                tarteaucitron.user.clickyMore();
884            }
885        });
886    }
887};
888
889// clicmanager
890tarteaucitron.services.clicmanager = {
891    "key": "clicmanager",
892    "type": "ads",
893    "name": "Clicmanager",
894    "uri": "http://www.clicmanager.fr/infos_legales.php",
895    "needConsent": true,
896    "cookies": [],
897    "js": function () {
898        "use strict";
899        var uniqIds = [],
900            i,
901            uri;
902
903        tarteaucitron.fallback(['clicmanager-canvas'], function (x) {
904            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
905            uniqIds.push(uniqId);
906            return '<div id="' + uniqId + '" c="' + x.getAttribute('c') + '" s="' + x.getAttribute('s') + '" t="' + x.getAttribute('t') + '"></div>';
907        });
908
909        for (i = 0; i < uniqIds.length; i += 1) {
910            uri = '//ads.clicmanager.fr/exe.php?';
911            uri += 'c=' + document.getElementById(uniqIds[i]).getAttribute('c') + '&';
912            uri += 's=' + document.getElementById(uniqIds[i]).getAttribute('s') + '&';
913            uri += 't=' + document.getElementById(uniqIds[i]).getAttribute('t');
914
915            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
916        }
917    },
918    "fallback": function () {
919        "use strict";
920        var id = 'clicmanager';
921        tarteaucitron.fallback(['clicmanager-canvas'], tarteaucitron.engage(id));
922    }
923};
924
925// compteur
926tarteaucitron.services.compteur = {
927    "key": "compteur",
928    "type": "analytic",
929    "name": "Compteur.fr",
930    "uri": "https://www.compteur.fr/help_privacy_policy.htm",
931    "needConsent": true,
932    "cookies": [],
933    "js": function () {
934        "use strict";
935        if (tarteaucitron.user.compteurID === undefined) {
936            return;
937        }
938        tarteaucitron.addScript('https://server2.compteur.fr/log7.js', '', function () { wtslog7(tarteaucitron.user.compteurID, 1); });
939    }
940};
941
942// contentsquare
943tarteaucitron.services.contentsquare = {
944    "key": "contentsquare",
945    "type": "api",
946    "name": "ContentSquare",
947    "uri": "https://docs.contentsquare.com/uxa-en/#collected-data",
948    "needConsent": true,
949    "cookies": ['_cs_id', '_cs_s', '_cs_vars', '_cs_ex', '_cs_c', '_cs_optout'],
950    "js": function () {
951        "use strict";
952        if (tarteaucitron.user.contentsquareID === undefined) {
953            return;
954        }
955        tarteaucitron.addScript('//t.contentsquare.net/uxa/' + tarteaucitron.user.contentsquareID + '.js');
956    }
957};
958
959// crazyegg
960tarteaucitron.services.crazyegg = {
961    "key": "crazyegg",
962    "type": "analytic",
963    "name": "Crazy Egg",
964    "uri": "https://www.crazyegg.com/privacy",
965    "needConsent": true,
966    "cookies": [],
967    "js": function () {
968        "use strict";
969
970        if (tarteaucitron.user.crazyeggId === undefined) {
971            return;
972        }
973
974        tarteaucitron.addScript('//script.crazyegg.com/pages/scripts/' + tarteaucitron.user.crazyeggId.substr(0, 4) + '/' + tarteaucitron.user.crazyeggId.substr(4, 4) + '.js');
975    }
976};
977
978// clarity
979tarteaucitron.services.clarity = {
980    "key": "clarity",
981    "type": "analytic",
982    "name": "Clarity",
983    "uri": "https://clarity.microsoft.com/",
984    "needConsent": true,
985    "cookies": [],
986    "js": function () {
987        "use strict";
988
989        window["clarity"] = window["clarity"] || function () { (window["clarity"].q = window["clarity"].q || []).push(arguments) };
990
991        tarteaucitron.addScript('https://www.clarity.ms/tag/' + tarteaucitron.user.clarity);
992    }
993};
994
995// criteo
996tarteaucitron.services.criteo = {
997    "key": "criteo",
998    "type": "ads",
999    "name": "Criteo",
1000    "uri": "http://www.criteo.com/privacy/",
1001    "needConsent": true,
1002    "cookies": [],
1003    "js": function () {
1004        "use strict";
1005        document.MAX_ct0 = '';
1006        var uniqIds = [],
1007            i,
1008            uri;
1009
1010        tarteaucitron.fallback(['criteo-canvas'], function (x) {
1011            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
1012            uniqIds.push(uniqId);
1013            return '<div id="' + uniqId + '" zoneid="' + x.getAttribute('zoneid') + '"></div>';
1014        });
1015
1016        for (i = 0; i < uniqIds.length; i += 1) {
1017            uri = '//cas.criteo.com/delivery/ajs.php?';
1018            uri += 'zoneid=' + document.getElementById(uniqIds[i]).getAttribute('zoneid');
1019            uri += '&nodis=1&cb=' + Math.floor(Math.random() * 99999999999);
1020            uri += '&loc=' + encodeURI(window.location);
1021            uri += (document.MAX_used !== ',') ? '&exclude=' + document.MAX_used : '';
1022            uri += (document.charset !== undefined ? '&charset=' + document.charset : '');
1023            uri += (document.characterSet !== undefined ? '&charset=' + document.characterSet : '');
1024            uri += (document.referrer !== undefined) ? '&referer=' + encodeURI(document.referrer) : '';
1025            uri += (document.context !== undefined) ? '&context=' + encodeURI(document.context) : '';
1026            uri += ((document.MAX_ct0 !== undefined) && (document.MAX_ct0.substring(0, 4) === 'http')) ? '&ct0=' + encodeURI(document.MAX_ct0) : '';
1027            uri += (document.mmm_fo !== undefined) ? '&mmm_fo=1' : '';
1028
1029            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
1030        }
1031    },
1032    "fallback": function () {
1033        "use strict";
1034        var id = 'criteo';
1035        tarteaucitron.fallback(['criteo-canvas'], tarteaucitron.engage(id));
1036    }
1037};
1038
1039// artetv
1040tarteaucitron.services.artetv = {
1041    "key": "artetv",
1042    "type": "video",
1043    "name": "Arte.tv",
1044    "uri": "https://www.arte.tv/sites/fr/corporate/donnees-personnelles/",
1045    "needConsent": true,
1046    "cookies": [],
1047    "js": function () {
1048        "use strict";
1049        tarteaucitron.fallback(['artetv_player'], function (x) {
1050            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Arte.tv iframe'),
1051                video_json = x.getAttribute("json"),
1052                video_width = x.getAttribute("width"),
1053                video_height = x.getAttribute("height"),
1054                video_frame,
1055                video_allowfullscreen = x.getAttribute("allowfullscreen");
1056
1057            if (video_json === undefined) {
1058                return "";
1059            }
1060
1061            video_frame = '<iframe title="' + frame_title + '" 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" ' + (video_allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
1062            return video_frame;
1063        });
1064    },
1065    "fallback": function () {
1066        "use strict";
1067        var id = 'artetv';
1068        tarteaucitron.fallback(['artetv_player'], function (elem) {
1069            elem.style.width = elem.getAttribute('width') + 'px';
1070            elem.style.height = elem.getAttribute('height') + 'px';
1071            return tarteaucitron.engage(id);
1072        });
1073    }
1074};
1075
1076// dailymotion
1077tarteaucitron.services.dailymotion = {
1078    "key": "dailymotion",
1079    "type": "video",
1080    "name": "Dailymotion",
1081    "uri": "https://www.dailymotion.com/legal/privacy",
1082    "needConsent": true,
1083    "cookies": ['ts', 'dmvk', 'hist', 'v1st', 's_vi'],
1084    "js": function () {
1085        "use strict";
1086        tarteaucitron.fallback(['dailymotion_player'], function (x) {
1087            var frame_title = tarteaucitron.fixSelfXSS(tarteaucitron.getElemAttr(x, "title") || 'Dailymotion iframe'),
1088                video_id = tarteaucitron.getElemAttr(x, "videoID"),
1089                video_width = tarteaucitron.getElemAttr(x, "width"),
1090                frame_width = 'width=',
1091                video_height = tarteaucitron.getElemAttr(x, "height"),
1092                frame_height = 'height=',
1093                video_frame,
1094                embed_type = tarteaucitron.getElemAttr(x, "embedType"),
1095                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen"),
1096                params = 'info=' + tarteaucitron.getElemAttr(x, "showinfo") + '&autoPlay=' + tarteaucitron.getElemAttr(x, "autoplay");
1097
1098            if (video_id === undefined) {
1099                return "";
1100            }
1101            if (video_width !== undefined) {
1102                frame_width += '"' + video_width + '" ';
1103            } else {
1104                frame_width += '"" ';
1105            }
1106            if (video_height !== undefined) {
1107                frame_height += '"' + video_height + '" ';
1108            } else {
1109                frame_height += '"" ';
1110            }
1111            if (embed_type === undefined || !['video', 'playlist'].includes(embed_type)) {
1112                embed_type = "video";
1113            }
1114            video_frame = '<iframe title="' + frame_title + '" src="//www.dailymotion.com/embed/' + embed_type + '/' + video_id + '?' + params + '" ' + frame_width + frame_height + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
1115            return video_frame;
1116        });
1117    },
1118    "fallback": function () {
1119        "use strict";
1120        var id = 'dailymotion';
1121        tarteaucitron.fallback(['dailymotion_player'], function (elem) {
1122            elem.style.width = elem.getAttribute('width') + 'px';
1123            elem.style.height = elem.getAttribute('height') + 'px';
1124            return tarteaucitron.engage(id);
1125        });
1126    }
1127};
1128
1129// dating affiliation
1130tarteaucitron.services.datingaffiliation = {
1131    "key": "datingaffiliation",
1132    "type": "ads",
1133    "name": "Dating Affiliation",
1134    "uri": "http://www.dating-affiliation.com/conditions-generales.php",
1135    "needConsent": true,
1136    "cookies": [],
1137    "js": function () {
1138        "use strict";
1139        tarteaucitron.fallback(['datingaffiliation-canvas'], function (x) {
1140            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Dating Affiliation iframe'),
1141                comfrom = x.getAttribute("data-comfrom"),
1142                r = x.getAttribute("data-r"),
1143                p = x.getAttribute("data-p"),
1144                cf0 = x.getAttribute("data-cf0"),
1145                langue = x.getAttribute("data-langue"),
1146                forward_affiliate = x.getAttribute("data-forwardAffiliate"),
1147                cf2 = x.getAttribute("data-cf2"),
1148                cfsa2 = x.getAttribute("data-cfsa2"),
1149                width = x.getAttribute("width"),
1150                height = x.getAttribute("height"),
1151                url = 'http://www.tools-affil2.com/rotaban/ban.php?' + comfrom;
1152
1153            return '<iframe title="' + frame_title + '" src="' + url + '&r=' + r + '&p=' + p + '&cf0=' + cf0 + '&langue=' + langue + '&forward_affiliate=' + forward_affiliate + '&cf2=' + cf2 + '&cfsa2=' + cfsa2 + '" width="' + width + '" height="' + height + '" marginheight="0" marginwidth="0" scrolling="no"></iframe>';
1154        });
1155    },
1156    "fallback": function () {
1157        "use strict";
1158        var id = 'datingaffiliation';
1159        tarteaucitron.fallback(['datingaffiliation-canvas'], function (elem) {
1160            elem.style.width = elem.getAttribute('width') + 'px';
1161            elem.style.height = elem.getAttribute('height') + 'px';
1162            return tarteaucitron.engage(id);
1163        });
1164    }
1165};
1166
1167// dating affiliation popup
1168tarteaucitron.services.datingaffiliationpopup = {
1169    "key": "datingaffiliationpopup",
1170    "type": "ads",
1171    "name": "Dating Affiliation (Pop Up)",
1172    "uri": "http://www.dating-affiliation.com/conditions-generales.php",
1173    "needConsent": true,
1174    "cookies": ['__utma', '__utmb', '__utmc', '__utmt_Tools', '__utmv', '__utmz', '_ga', '_gat', '_gat_UA-65072040-17', '__da-pu-xflirt-ID-pc-o169'],
1175    "js": function () {
1176        "use strict";
1177        var uniqIds = [],
1178            i,
1179            uri;
1180
1181        tarteaucitron.fallback(['datingaffiliationpopup-canvas'], function (x) {
1182            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
1183            uniqIds.push(uniqId);
1184            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>';
1185        });
1186
1187        for (i = 0; i < uniqIds.length; i += 1) {
1188            uri = 'http://www.promotools.biz/da/popunder/script.php?';
1189            uri += 'comfrom=' + document.getElementById(uniqIds[i]).getAttribute('comfrom') + '&';
1190            uri += 'promo=' + document.getElementById(uniqIds[i]).getAttribute('promo') + '&';
1191            uri += 'product_id=' + document.getElementById(uniqIds[i]).getAttribute('productid') + '&';
1192            uri += 'submitconfig=' + document.getElementById(uniqIds[i]).getAttribute('submitconfig') + '&';
1193            uri += 'ur=' + document.getElementById(uniqIds[i]).getAttribute('ur') + '&';
1194            uri += 'brand=' + document.getElementById(uniqIds[i]).getAttribute('brand') + '&';
1195            uri += 'lang=' + document.getElementById(uniqIds[i]).getAttribute('lang') + '&';
1196            uri += 'cf0=' + document.getElementById(uniqIds[i]).getAttribute('cf0') + '&';
1197            uri += 'cf2=' + document.getElementById(uniqIds[i]).getAttribute('cf2') + '&';
1198            uri += 'subid1=' + document.getElementById(uniqIds[i]).getAttribute('subid1') + '&';
1199            uri += 'cfsa2=' + document.getElementById(uniqIds[i]).getAttribute('cfsa2') + '&';
1200            uri += 'subid2=' + document.getElementById(uniqIds[i]).getAttribute('subid2') + '&';
1201            uri += 'nicheId=' + document.getElementById(uniqIds[i]).getAttribute('nicheid') + '&';
1202            uri += 'degreId=' + document.getElementById(uniqIds[i]).getAttribute('degreid') + '&';
1203            uri += 'bt=' + document.getElementById(uniqIds[i]).getAttribute('bt') + '&';
1204            uri += 'vis=' + document.getElementById(uniqIds[i]).getAttribute('vis') + '&';
1205            uri += 'hid=' + document.getElementById(uniqIds[i]).getAttribute('hid') + '&';
1206            uri += 'snd=' + document.getElementById(uniqIds[i]).getAttribute('snd') + '&';
1207            uri += 'aabd=' + document.getElementById(uniqIds[i]).getAttribute('aabd') + '&';
1208            uri += 'aabs=' + document.getElementById(uniqIds[i]).getAttribute('aabs');
1209
1210            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
1211        }
1212    },
1213    "fallback": function () {
1214        "use strict";
1215        var id = 'datingaffiliationpopup';
1216        tarteaucitron.fallback(['datingaffiliationpopup-canvas'], tarteaucitron.engage(id));
1217    }
1218};
1219
1220// deezer
1221tarteaucitron.services.deezer = {
1222    "key": "deezer",
1223    "type": "video",
1224    "name": "Deezer",
1225    "uri": "https://www.deezer.com/legal/personal-datas",
1226    "needConsent": true,
1227    "cookies": [],
1228    "js": function () {
1229        "use strict";
1230        tarteaucitron.fallback(['deezer_player'], function (x) {
1231            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Deezer iframe'),
1232                deezer_id = x.getAttribute("deezerID"),
1233                deezer_width = x.getAttribute("width"),
1234                frame_width = 'width=',
1235                deezer_height = x.getAttribute("height"),
1236                frame_height = 'height=',
1237                deezer_frame,
1238                embed_theme = x.getAttribute("theme"),
1239                embed_type = x.getAttribute("embedType"),
1240                radius = x.getAttribute("radius"),
1241                tracklist = x.getAttribute("tracklist"),
1242                allowfullscreen = x.getAttribute("allowfullscreen"),
1243                params;
1244
1245            if (deezer_id === undefined) {
1246                return "";
1247            }
1248            if (deezer_width !== undefined) {
1249                frame_width += '"' + deezer_width + '" ';
1250            } else {
1251                frame_width += '"" ';
1252            }
1253            if (deezer_height !== undefined) {
1254                frame_height += '"' + deezer_height + '" ';
1255            } else {
1256                frame_height += '"" ';
1257            }
1258            if (embed_theme === undefined || !['auto', 'light', 'dark'].includes(embed_theme)) {
1259                embed_theme = "auto";
1260            }
1261            if (embed_type === undefined || !['album', 'track', 'playlist'].includes(embed_type)) {
1262                embed_type = "album";
1263            }
1264            if (radius === undefined || !['true', 'false'].includes(radius)) {
1265                radius = "true";
1266            }
1267            if (tracklist === undefined || !['true', 'false'].includes(tracklist)) {
1268                tracklist = "true";
1269            }
1270            params = 'tracklist=' + tracklist + '&radius=' + radius;
1271            deezer_frame = '<iframe title="' + frame_title + '" src="//widget.deezer.com/widget/' + embed_theme + '/' + embed_type + '/' + deezer_id + '?' + params + '" ' + frame_width + frame_height + ' ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
1272            return deezer_frame;
1273        });
1274    },
1275    "fallback": function () {
1276        "use strict";
1277        var id = 'deezer';
1278        tarteaucitron.fallback(['deezer_player'], function (elem) {
1279            elem.style.width = elem.getAttribute('width') + 'px';
1280            elem.style.height = elem.getAttribute('height') + 'px';
1281            return tarteaucitron.engage(id);
1282        });
1283    }
1284};
1285
1286// leadforensics
1287tarteaucitron.services.leadforensics = {
1288    "key": "leadforensics",
1289    "type": "analytic",
1290    "name": "LeadForensics",
1291    "uri": "https://www.leadforensics.com/privacy-policy/",
1292    "needConsent": true,
1293    "cookies": ['trackalyzer'],
1294    "js": function () {
1295        "use strict";
1296        if (tarteaucitron.user.leadforensicsSf14gv === undefined ||
1297            tarteaucitron.user.leadforensicsIidentifier === undefined) {
1298            return;
1299        }
1300
1301        window.sf14gv = tarteaucitron.user.leadforensicsSf14gv;
1302
1303        (function () {
1304            var sf14g = document.createElement('script'); sf14g.async = true;
1305            sf14g.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 't.sf14g.com/sf14g.js';
1306            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sf14g, s);
1307        })();
1308
1309        tarteaucitron.addScript('//secure.leadforensics.com/js/' + tarteaucitron.user.leadforensicsIidentifier + '.js');
1310    }
1311};
1312
1313// disqus
1314tarteaucitron.services.disqus = {
1315    "key": "disqus",
1316    "type": "comment",
1317    "name": "Disqus",
1318    "uri": "https://help.disqus.com/customer/portal/articles/466259-privacy-policy",
1319    "needConsent": true,
1320    "cookies": [],
1321    "js": function () {
1322        "use strict";
1323        if (tarteaucitron.user.disqusShortname === undefined) {
1324            return;
1325        }
1326        tarteaucitron.addScript('//' + tarteaucitron.user.disqusShortn
vendor: 14,273 bytes, lines 1326-1777
1326ame + '.disqus.com/embed.js');
1327        tarteaucitron.addScript('//' + tarteaucitron.user.disqusShortname + '.disqus.com/count.js');
1328    },
1329    "fallback": function () {
1330        "use strict";
1331        var id = 'disqus';
1332
1333        if (document.getElementById('disqus_thread')) {
1334            document.getElementById('disqus_thread').innerHTML = tarteaucitron.engage(id);
1335        }
1336    }
1337};
1338
1339// ekomi
1340tarteaucitron.services.ekomi = {
1341    "key": "ekomi",
1342    "type": "social",
1343    "name": "eKomi",
1344    "uri": "http://www.ekomi-us.com/us/privacy/",
1345    "needConsent": true,
1346    "cookies": [],
1347    "js": function () {
1348        "use strict";
1349        if (tarteaucitron.user.ekomiCertId === undefined) {
1350            return;
1351        }
1352        window.eKomiIntegrationConfig = [
1353            { certId: tarteaucitron.user.ekomiCertId }
1354        ];
1355        tarteaucitron.addScript('//connect.ekomi.de/integration_1410173009/' + tarteaucitron.user.ekomiCertId + '.js');
1356    }
1357};
1358
1359// etracker
1360tarteaucitron.services.etracker = {
1361    "key": "etracker",
1362    "type": "analytic",
1363    "name": "eTracker",
1364    "uri": "https://www.etracker.com/en/data-protection.html",
1365    "needConsent": true,
1366    "cookies": [],
1367    "js": function () {
1368        "use strict";
1369        if (tarteaucitron.user.etracker === undefined) {
1370            return;
1371        }
1372
1373        tarteaucitron.addScript('//static.etracker.com/code/e.js', '_etLoader', function () { }, true, "data-secure-code", tarteaucitron.user.etracker);
1374    }
1375};
1376
1377// facebook
1378tarteaucitron.services.facebook = {
1379    "key": "facebook",
1380    "type": "social",
1381    "name": "Facebook",
1382    "uri": "https://www.facebook.com/policy.php",
1383    "needConsent": true,
1384    "cookies": ['xs', 'sb', 'fr', 'datr', 'dpr', 'c_user'],
1385    "js": function () {
1386        "use strict";
1387        tarteaucitron.fallback(['fb-post', 'fb-follow', 'fb-activity', 'fb-send', 'fb-share-button', 'fb-like', 'fb-video'], '');
1388        tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.0', 'facebook-jssdk');
1389        if (tarteaucitron.isAjax === true) {
1390            if (typeof FB !== "undefined") {
1391                FB.XFBML.parse();
1392            }
1393        }
1394    },
1395    "fallback": function () {
1396        "use strict";
1397        var id = 'facebook';
1398        tarteaucitron.fallback(['fb-post', 'fb-follow', 'fb-activity', 'fb-send', 'fb-share-button', 'fb-like', 'fb-video'], tarteaucitron.engage(id));
1399    }
1400};
1401
1402// facebooklikebox
1403tarteaucitron.services.facebooklikebox = {
1404    "key": "facebooklikebox",
1405    "type": "social",
1406    "name": "Facebook (like box)",
1407    "uri": "https://www.facebook.com/policy.php",
1408    "needConsent": true,
1409    "cookies": [],
1410    "js": function () {
1411        "use strict";
1412        tarteaucitron.fallback(['fb-like-box', 'fb-page'], '');
1413        tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.3', 'facebook-jssdk');
1414        if (tarteaucitron.isAjax === true) {
1415            if (typeof FB !== "undefined") {
1416                FB.XFBML.parse();
1417            }
1418        }
1419    },
1420    "fallback": function () {
1421        "use strict";
1422        var id = 'facebooklikebox';
1423        tarteaucitron.fallback(['fb-like-box', 'fb-page'], tarteaucitron.engage(id));
1424    }
1425};
1426
1427// facebookcomment
1428tarteaucitron.services.facebookcomment = {
1429    "key": "facebookcomment",
1430    "type": "comment",
1431    "name": "Facebook (commentaire)",
1432    "uri": "https://www.facebook.com/policy.php",
1433    "needConsent": true,
1434    "cookies": [],
1435    "js": function () {
1436        "use strict";
1437        tarteaucitron.fallback(['fb-comments'], '');
1438        tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.0', 'facebook-jssdk');
1439        if (tarteaucitron.isAjax === true) {
1440            if (typeof FB !== "undefined") {
1441                FB.XFBML.parse();
1442            }
1443        }
1444    },
1445    "fallback": function () {
1446        "use strict";
1447        var id = 'facebookcomment';
1448        tarteaucitron.fallback(['fb-comments'], tarteaucitron.engage(id));
1449    }
1450};
1451
1452// ferank
1453tarteaucitron.services.ferank = {
1454    "key": "ferank",
1455    "type": "analytic",
1456    "name": "FERank",
1457    "uri": "https://www.ferank.fr/respect-vie-privee/#mesureaudience",
1458    "needConsent": false,
1459    "cookies": [],
1460    "js": function () {
1461        "use strict";
1462        tarteaucitron.addScript('//static.ferank.fr/pixel.js', '', function () {
1463            if (typeof tarteaucitron.user.ferankMore === 'function') {
1464                tarteaucitron.user.ferankMore();
1465            }
1466        });
1467    }
1468};
1469
1470// pingdom
1471tarteaucitron.services.pingdom = {
1472    "key": "pingdom",
1473    "type": "api",
1474    "name": "Pingdom",
1475    "uri": "https://www.solarwinds.com/general-data-protection-regulation-cloud",
1476    "needConsent": true,
1477    "cookies": [],
1478    "js": function () {
1479        "use strict";
1480
1481        if (tarteaucitron.user.pingdomId === undefined) {
1482            return;
1483        }
1484
1485        window._prum = [['id', tarteaucitron.user.pingdomId], ['mark', 'firstbyte', (new Date()).getTime()]];
1486
1487        tarteaucitron.addScript('https://rum-static.pingdom.net/prum.min.js');
1488    }
1489};
1490
1491
1492// simpleanalytics
1493tarteaucitron.services.simpleanalytics = {
1494    "key": "simpleanalytics",
1495    "type": "analytic",
1496    "name": "Simple Analytics",
1497    "uri": "https://docs.simpleanalytics.com/what-we-collect",
1498    "needConsent": false,
1499    "cookies": [],
1500    "js": function () {
1501        "use strict";
1502        tarteaucitron.addScript('https://scripts.simpleanalyticscdn.com/latest.js');
1503    }
1504};
1505
1506// stonly
1507tarteaucitron.services.stonly = {
1508    "key": "stonly",
1509    "type": "api",
1510    "name": "Stonly",
1511    "uri": "https://stonly.com/privacy",
1512    "needConsent": true,
1513    "cookies": [],
1514    "js": function () {
1515        "use strict";
1516        if (tarteaucitron.user.stonlyId === undefined) {
1517            return;
1518        }
1519
1520        window.STONLY_WID = tarteaucitron.user.stonlyId;
1521        window.StonlyWidget || ((window.w = window.StonlyWidget = function () {
1522            window.w._api ? window.w._api.apply(window.w, arguments) : window.w.queue.push(arguments)
1523        }).queue = []);
1524
1525        tarteaucitron.addScript('https://stonly.com/js/widget/v2/stonly-widget.js?v=' + Date.now());
1526    }
1527};
1528
1529// stripe
1530/*tarteaucitron.services.stripe = {
1531    "key": "stripe",
1532    "type": "api",
1533    "name": "Stripe",
1534    "uri": "https://stripe.com/cookies-policy/legal",
1535    "needConsent": true,
1536    "cookies": [],
1537    "js": function () {
1538        "use strict";
1539        tarteaucitron.addScript('https://js.stripe.com/v3/');
1540    }
1541};*/
1542
1543// ferank pub
1544tarteaucitron.services.ferankpub = {
1545    "key": "ferankpub",
1546    "type": "ads",
1547    "name": "FERank (pub)",
1548    "uri": "https://www.ferank.fr/respect-vie-privee/#regiepublicitaire",
1549    "needConsent": false,
1550    "cookies": [],
1551    "js": function () {
1552        "use strict";
1553        tarteaucitron.addScript('//static.ferank.fr/publicite.async.js');
1554        if (tarteaucitron.isAjax === true) {
1555            if (typeof ferankReady === 'function') {
1556                ferankReady();
1557            }
1558        }
1559    },
1560    "fallback": function () {
1561        "use strict";
1562        var id = 'ferankpub';
1563        tarteaucitron.fallback(['ferank-publicite'], tarteaucitron.engage(id));
1564    }
1565};
1566
1567// get+
1568tarteaucitron.services.getplus = {
1569    "key": "getplus",
1570    "type": "analytic",
1571    "name": "Get+",
1572    "uri": "http://www.getplus.fr/Conditions-generales-de-vente_a226.html",
1573    "needConsent": true,
1574    "cookies": ['_first_pageview', '_jsuid', 'no_trackyy_' + tarteaucitron.user.getplusId, '_eventqueue'],
1575    "js": function () {
1576        "use strict";
1577        if (tarteaucitron.user.getplusId === undefined) {
1578            return;
1579        }
1580
1581        window.webleads_site_ids = window.webleads_site_ids || [];
1582        window.webleads_site_ids.push(tarteaucitron.user.getplusId);
1583        tarteaucitron.addScript('//stats.webleads-tracker.com/js');
1584    }
1585};
1586
1587// google+
1588tarteaucitron.services.gplus = {
1589    "key": "gplus",
1590    "type": "social",
1591    "name": "Google+",
1592    "uri": "https://policies.google.com/privacy",
1593    "needConsent": true,
1594    "cookies": [],
1595    "js": function () {
1596        "use strict";
1597        tarteaucitron.addScript('https://apis.google.com/js/platform.js');
1598    },
1599    "fallback": function () {
1600        "use strict";
1601        var id = 'gplus';
1602        tarteaucitron.fallback(['g-plus', 'g-plusone'], tarteaucitron.engage(id));
1603    }
1604};
1605
1606// google+ badge
1607tarteaucitron.services.gplusbadge = {
1608    "key": "gplusbadge",
1609    "type": "social",
1610    "name": "Google+ (badge)",
1611    "uri": "https://policies.google.com/privacy",
1612    "needConsent": true,
1613    "cookies": [],
1614    "js": function () {
1615        "use strict";
1616        tarteaucitron.addScript('https://apis.google.com/js/platform.js');
1617    },
1618    "fallback": function () {
1619        "use strict";
1620        var id = 'gplusbadge';
1621        tarteaucitron.fallback(['g-page', 'g-person'], tarteaucitron.engage(id));
1622    }
1623};
1624
1625// google adsense
1626tarteaucitron.services.adsense = {
1627    "key": "adsense",
1628    "type": "ads",
1629    "name": "Google Adsense",
1630    "uri": "https://adssettings.google.com/",
1631    "needConsent": true,
1632    "readmoreLink": "https://policies.google.com/technologies/partner-sites",
1633    "cookies": [],
1634    "js": function () {
1635        "use strict";
1636        tarteaucitron.addScript('https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js');
1637    },
1638    "fallback": function () {
1639        "use strict";
1640        var id = 'adsense';
1641        tarteaucitron.fallback(['adsbygoogle'], tarteaucitron.engage(id));
1642    }
1643};
1644
1645// google partners badge
1646tarteaucitron.services.googlepartners = {
1647    "key": "googlepartners",
1648    "type": "ads",
1649    "name": "Google Partners Badge",
1650    "uri": "https://adssettings.google.com/",
1651    "needConsent": true,
1652    "cookies": [],
1653    "js": function () {
1654        "use strict";
1655        tarteaucitron.addScript('https://apis.google.com/js/platform.js');
1656    },
1657    "fallback": function () {
1658        "use strict";
1659        var id = 'googlepartners';
1660        tarteaucitron.fallback(['g-partnersbadge'], tarteaucitron.engage(id));
1661    }
1662};
1663
1664// google adsense search (form)
1665tarteaucitron.services.adsensesearchform = {
1666    "key": "adsensesearchform",
1667    "type": "ads",
1668    "name": "Google Adsense Search (form)",
1669    "uri": "https://adssettings.google.com/",
1670    "needConsent": true,
1671    "cookies": [],
1672    "js": function () {
1673        "use strict";
1674        tarteaucitron.addScript('//www.google.com/coop/cse/brand?form=cse-search-box&lang=' + tarteaucitron.getLanguage());
1675    }
1676};
1677
1678// google adsense search (result)
1679tarteaucitron.services.adsensesearchresult = {
1680    "key": "adsensesearchresult",
1681    "type": "ads",
1682    "name": "Google Adsense Search (result)",
1683    "uri": "https://adssettings.google.com/",
1684    "needConsent": true,
1685    "cookies": [],
1686    "js": function () {
1687        "use strict";
1688        if (tarteaucitron.user.adsensesearchresultCx === undefined) {
1689            return;
1690        }
1691        tarteaucitron.addScript('//www.google.com/cse/cse.js?cx=' + tarteaucitron.user.adsensesearchresultCx);
1692    },
1693    "fallback": function () {
1694        "use strict";
1695        var id = 'adsensesearchresult';
1696
1697        if (document.getElementById('gcse_searchresults')) {
1698            document.getElementById('gcse_searchresults').innerHTML = tarteaucitron.engage(id);
1699        }
1700    }
1701};
1702
1703// googleadwordsconversion
1704tarteaucitron.services.googleadwordsconversion = {
1705    "key": "googleadwordsconversion",
1706    "type": "ads",
1707    "name": "Google Adwords (conversion)",
1708    "uri": "https://www.google.com/settings/ads",
1709    "needConsent": true,
1710    "cookies": [],
1711    "js": function () {
1712        "use strict";
1713        if (tarteaucitron.user.adwordsconversionId === undefined) {
1714            return;
1715        }
1716
1717        tarteaucitron.addScript('//www.googleadservices.com/pagead/conversion_async.js', '', function () {
1718            window.google_trackConversion({
1719                google_conversion_id: tarteaucitron.user.adwordsconversionId,
1720                google_conversion_label: tarteaucitron.user.adwordsconversionLabel,
1721                google_conversion_language: tarteaucitron.user.adwordsconversionLanguage,
1722                google_conversion_format: tarteaucitron.user.adwordsconversionFormat,
1723                google_conversion_color: tarteaucitron.user.adwordsconversionColor,
1724                google_conversion_value: tarteaucitron.user.adwordsconversionValue,
1725                google_conversion_currency: tarteaucitron.user.adwordsconversionCurrency,
1726                google_custom_params: {
1727                    parameter1: tarteaucitron.user.adwordsconversionCustom1,
1728                    parameter2: tarteaucitron.user.adwordsconversionCustom2
1729                }
1730            });
1731        });
1732    }
1733};
1734
1735// googleadwordsremarketing
1736tarteaucitron.services.googleadwordsremarketing = {
1737    "key": "googleadwordsremarketing",
1738    "type": "ads",
1739    "name": "Google Adwords (remarketing)",
1740    "uri": "https://www.google.com/settings/ads",
1741    "needConsent": true,
1742    "cookies": [],
1743    "js": function () {
1744        "use strict";
1745        if (tarteaucitron.user.adwordsremarketingId === undefined) {
1746            return;
1747        }
1748
1749        tarteaucitron.addScript('//www.googleadservices.com/pagead/conversion_async.js', '', function () {
1750            window.google_trackConversion({
1751                google_conversion_id: tarteaucitron.user.adwordsremarketingId,
1752                google_remarketing_only: true
1753            });
1754        });
1755    }
1756};
1757
1758// google analytics (old)
1759tarteaucitron.services.gajs = {
1760    "key": "gajs",
1761    "type": "analytic",
1762    "name": "Google Analytics (ga.js)",
1763    "uri": "https://policies.google.com/privacy",
1764    "needConsent": true,
1765    "cookies": (function () {
1766        var googleIdentifier = tarteaucitron.user.gajsUa,
1767            tagUaCookie = '_gat_gtag_' + googleIdentifier,
1768            tagGCookie = '_ga_' + googleIdentifier;
1769
1770        tagUaCookie = tagUaCookie.replace(/-/g, '_');
1771        tagGCookie = tagGCookie.replace(/G-/g, '');
1772
1773        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie];
1774    })(),
1775    "js": function () {
1776        "use strict";
1777        window._gaq = window._gaq || [];
1778        window._gaq.push(['_setAccount', tarteaucitron.user.gajsUa]);
1779
1780        if (tarteaucitron.user.gajsAnonymizeIp) {
1781            window._gaq.push(['_gat._anonymizeIp']);
1782        }
1783
1784        if (tarteaucitron.user.gajsPageView) {
1785            window._gaq.push(['_trackPageview, ' + tarteaucitron.user.gajsPageView]);
1786        } else {
1787            window._gaq.push(['_trackPageview']);
1788        }
1789
1790        tarteaucitron.addScript('//www.google-analytics.com/ga.js', '', function () {
1791            if (typeof tarteaucitron.user.gajsMore === 'function') {
1792                tarteaucitron.user.gajsMore();
1793            }
1794        });
1795    }
1796};
1797
1798// google analytics
1799tarteaucitron.services.analytics = {
1800    "key": "analytics",
1801    "type": "analytic",
1802    "name": "Google Analytics (universal)",
1803    "uri": "https://policies.google.com/privacy",
1804    "needConsent": true,
1805    "cookies": (function () {
1806        var googleIdentifier = tarteaucitron.user.analyticsUa,
1807            tagUaCookie = '_gat_gtag_' + googleIdentifier,
1808            tagGCookie = '_ga_' + googleIdentifier;
1809
1810        tagUaCookie = tagUaCookie.replace(/-/g, '_');
1811        tagGCookie = tagGCookie.replace(/G-/g, '');
1812
1813        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie];
1814    })(),
1815    "js": function () {
1816        "use strict";
1817        window.GoogleAnalyticsObject = 'ga';
1818        window.ga = window.ga || function () {
1819            window.ga.q = window.ga.q || [];
1820            window.ga.q.push(arguments);
1821        };
1822        window.ga.l = new Date();
1823        tarteaucitron.addScript('https://www.google-analytics.com/analytics.js', '', function () {
1824            var uaCreate = { 'cookieExpires': 34128000 };
1825            tarteaucitron.extend(uaCreate, tarteaucitron.user.analyticsUaCreate || {});
1826            ga('create', tarteaucitron.user.analyticsUa, uaCreate);
1827
1828            if (tarteaucitron.user.analyticsAnonymizeIp) {
1829                ga('set', 'anonymizeIp', true);
1830            }
1831
1832            if (typeof tarteaucitron.user.analyticsPrepare === 'function') {
1833                tarteaucitron.user.analyticsPrepare();
1834            }
1835
1836            if (tarteaucitron.user.analyticsPageView) {
1837                ga('send', 'pageview', tarteaucitron.user.analyticsPageView);
1838            } else {
1839                ga('send', 'pageview');
1840            }
1841
1842            if (typeof tarteaucitron.user.analyticsMore === 'function') {
1843                tarteaucitron.user.analyticsMore();
1844            }
1845        });
1846    }
1847};
1848
1849// google analytics
1850tarteaucitron.services.gtag = {
1851    "key": "gtag",
1852    "type": "analytic",
1853    "name": "Google Analytics (gtag.js)",
1854    "uri": "https://policies.google.com/privacy",
1855    "needConsent": true,
1856    "cookies": (function () {
1857        var googleIdentifier = tarteaucitron.user.gtagUa,
1858            tagUaCookie = '_gat_gtag_' + googleIdentifier,
1859            tagGCookie = '_ga_' + googleIdentifier;
1860
1861        tagUaCookie = tagUaCookie.replace(/-/g, '_');
1862        tagGCookie = tagGCookie.replace(/G-/g, '');
1863
1864        return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie];
1865    })(),
1866    "js": function () {
1867        "use strict";
1868        window.dataLayer = window.dataLayer || [];
1869        tarteaucitron.addScript('https://www.googletagmanager.com/gtag/js?id=' + tarteaucitron.user.gtagUa, '', function () {
1870            window.gtag = function gtag() { dataLayer.push(arguments); }
1871            gtag('js', new Date());
1872
1873            if (tarteaucitron.user.gtagCrossdomain) {
1874                /**
1875                 * https://support.google.com/analytics/answer/7476333?hl=en
1876                 * https://developers.google.com/analytics/devguides/collection/gtagjs/cross-domain
1877                 */
1878                gtag('config', tarteaucitron.user.gtagUa, { 'anonymize_ip': true }, { linker: { domains: tarteaucitron.user.gtagCrossdomain, } });
1879            } else {
1880                gtag('config', tarteaucitron.user.gtagUa, { 'anonymize_ip': true });
1881            }
1882
1883            if (typeof tarteaucitron.user.gtagMore === 'function') {
1884                tarteaucitron.user.gtagMore();
1885            }
1886        });
1887    }
1888};
1889
1890tarteaucitron.services.firebase = {
1891    "key": "firebase",
1892    "type": "analytic",
1893    "name": "Firebase",
1894    "uri": "https://firebase.google.com/support/privacy",
1895    "needConsent": true,
1896    "cookies": (function () {
1897        var googleIdentifier = tarteaucitron.user.firebaseMeasurementId,
1898            tagGCookie = '_ga_' + googleIdentifier;
1899
1900        tagGCookie = tagGCookie.replace(/G-/g, '');
1901
1902        return ['_ga', tagGCookie];
1903    })(),
1904    "js": function () {
1905        "use strict";
1906
1907        if (tarteaucitron.user.firebaseApiKey === undefined) {
1908            return;
1909        }
1910
1911        tarteaucitron.addScript('https://www.gstatic.com/firebasejs/8.6.2/firebase-app.js', '', function () {
1912            tarteaucitron.addScript('https://www.gstatic.com/firebasejs/8.6.2/firebase-analytics.js', '', function () {
1913
1914                var firebaseConfig = {
1915                    apiKey: tarteaucitron.user.firebaseApiKey,
1916                    authDomain: tarteaucitron.user.firebaseAuthDomain,
1917                    databaseURL: tarteaucitron.user.firebaseDatabaseUrl,
1918                    projectId: tarteaucitron.user.firebaseProjectId,
1919                    storageBucket: tarteaucitron.user.firebaseStorageBucket,
1920                    appId: tarteaucitron.user.firebaseAppId,
1921                    measurementId: tarteaucitron.user.firebaseMeasurementId,
1922                };
1923                firebase.initializeApp(firebaseConfig);
1924                firebase.analytics();
1925            });
1926        });
1927    }
1928};
1929
1930// genially
1931tarteaucitron.services.genially = {
1932    "key": "genially",
1933    "type": "api",
1934    "name": "genially",
1935    "uri": "https://www.genial.ly/cookies",
1936    "needConsent": true,
1937    "cookies": ['_gat', '_ga', '_gid'],
1938    "js": function () {
1939        "use strict";
1940
1941        tarteaucitron.fallback(['tac_genially'], function (x) {
1942            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'genially iframe'),
1943                width = x.getAttribute("width"),
1944                height = x.getAttribute("height"),
1945                geniallyid = x.getAttribute("geniallyid"),
1946                allowfullscreen = x.getAttribute("allowfullscreen");
1947
1948            return '<div style="position: relative; padding-bottom: 109.00%; padding-top: 0; height: 0;"><iframe style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" title="' + frame_title + '" src="https://view.genial.ly/' + geniallyid + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe></div>';
1949        });
1950    },
1951    "fallback": function () {
1952        "use strict";
1953        var id = 'genially';
1954        tarteaucitron.fallback(['tac_genially'], function (elem) {
1955            elem.style.width = elem.getAttribute('width') + 'px';
1956            elem.style.height = elem.getAttribute('height') + 'px';
1957            return tarteaucitron.engage(id);
1958        });
1959    }
1960};
1961
1962// google maps
1963tarteaucitron.services.googlemaps = {
1964    "key": "googlemaps",
1965    "type": "api",
1966    "name": "Google Maps",
1967    "uri": "https://policies.google.com/privacy",
1968    "needConsent": true,
1969    "cookies": [],
1970    "js": function () {
1971        "use strict";
1972        var mapOptions,
1973            map,
1974            uniqIds = [],
1975            i;
1976
1977        if (tarteaucitron.user.mapscallback === undefined) {
1978            tarteaucitron.user.mapscallback = 'tac_googlemaps_callback';
1979        }
1980
1981        // Add Google Maps libraries if any (https://developers.google.com/maps/documentation/javascript/libraries)
1982        var googleMapsLibraries = '';
1983        if (tarteaucitron.user.googlemapsLibraries) {
1984            googleMapsLibraries = '&libraries=' + tarteaucitron.user.googlemapsLibraries;
1985        }
1986
1987        tarteaucitron.addScript('//maps.googleapis.com/maps/api/js?v=3.exp&key=' + tarteaucitron.user.googlemapsKey + '&callback=' + tarteaucitron.user.mapscallback + googleMapsLibraries);
1988
1989        window.tac_googlemaps_callback = function () {
1990            tarteaucitron.fallback(['googlemaps-canvas'], function (x) {
1991                var uniqId = '_' + Math.random().toString(36).substr(2, 9);
1992                uniqIds.push(uniqId);
1993                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>';
1994            });
1995
1996            var i;
1997            for (i = 0; i < uniqIds.length; i += 1) {
1998                mapOptions = {
1999                    zoom: parseInt(document.getElementById(uniqIds[i]).getAttribute('zoom'), 10),
2000                    center: new google.maps.LatLng(parseFloat(document.getElementById(uniqIds[i]).getAttribute('latitude'), 10), parseFloat(document.getElementById(uniqIds[i]).getAttribute('longitude'), 10))
2001                };
2002                map = new google.maps.Map(document.getElementById(uniqIds[i]), mapOptions);
2003                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 });
2004            }
2005        };
2006    },
2007    "fallback": function () {
2008        "use strict";
2009        var id = 'googlemaps';
2010        tarteaucitron.fallback(['googlemaps-canvas'], tarteaucitron.engage(id));
2011    }
2012};
2013
2014// googlemaps search
2015tarteaucitron.services.googlemapssearch = {
2016    "key": "googlemapssearch",
2017    "type": "api",
2018    "name": "Google Maps Search API",
2019    "uri": "https://policies.google.com/privacy",
2020    "needConsent": true,
2021    "cookies": ['nid'],
2022    "js": function () {
2023        "use strict";
2024        tarteaucitron.fallback(['googlemapssearch'], function (x) {
2025            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Google search iframe'),
2026                width = x.getAttribute("width"),
2027                height = x.getAttribute("height"),
2028                // url = x.getAttribute("data-url");
2029                query = escape(x.getAttribute("data-search")),
2030                key = x.getAttribute("data-api-key");
2031
2032            return '<iframe title="' + frame_title + '" width="' + width + '" height="' + height + '" style="border:0" src="https://www.google.com/maps/embed/v1/place?q=' + query + '&key=' + key + '" allowfullscreen></iframe> '
2033        });
2034    },
2035    "fallback": function () {
2036        "use strict";
2037        var id = 'googlemapssearch';
2038        tarteaucitron.fallback(['googlemapssearch'], function (elem) {
2039            elem.style.width = elem.getAttribute('width') + 'px';
2040            elem.style.height = elem.getAttribute('height') + 'px';
2041            return tarteaucitron.engage(id);
2042        });
2043    }
2044};
2045
2046// googlemaps embed iframe
2047tarteaucitron.services.googlemapsembed = {
2048    "key": "googlemapsembed",
2049    "type": "api",
2050    "name": "Google Maps Embed",
2051    "uri": "https://policies.google.com/privacy",
2052    "needConsent": true,
2053    "cookies": ['apisid', 'hsid', 'nid', 'sapisid', 'sid', 'sidcc', 'ssid', '1p_jar'],
2054    "js": function () {
2055        "use strict";
2056        tarteaucitron.fallback(['googlemapsembed'], function (x) {
2057            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Google maps iframe'),
2058                width = tarteaucitron.getElemWidth(x),
2059                height = tarteaucitron.getElemHeight(x),
2060                url = x.getAttribute("data-url");
2061
2062            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>';
2063        });
2064    },
2065    "fallback": function () {
2066        "use strict";
2067        var id = 'googlemapsembed';
2068        tarteaucitron.fallback(['googlemapsembed'], function (elem) {
2069            elem.style.width = tarteaucitron.getElemWidth(elem) + 'px';
2070            elem.style.height = tarteaucitron.getElemHeight(elem) + 'px';
2071            return tarteaucitron.engage(id);
2072        });
2073    }
2074};
2075
2076// google tag manager
2077tarteaucitron.services.googletagmanager = {
2078    "key": "googletagmanager",
2079    "type": "api",
2080    "name": "Google Tag Manager",
2081    "uri": "https://policies.google.com/privacy",
2082    "needConsent": true,
2083    "cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'],
2084    "js": function () {
2085        "use strict";
2086        if (tarteaucitron.user.googletagmanagerId === undefined) {
2087            return;
2088        }
2089        window.dataLayer = window.dataLayer || [];
2090        window.dataLayer.push({
2091            'gtm.start': new Date().getTime(),
2092            event: 'gtm.js'
2093        });
2094        tarteaucitron.addScript('https://www.googletagmanager.com/gtm.js?id=' + tarteaucitron.user.googletagmanagerId);
2095    }
2096};
2097
2098// google tag manager multiple
2099tarteaucitron.services.multiplegoogletagmanager = {
2100    "key": "multiplegoogletagmanager",
2101    "type": "api",
2102    "name": "Google Tag Manager",
2103    "uri": "https://policies.google.com/privacy",
2104    "needConsent": true,
2105    "cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'],
2106    "js": function () {
2107        "use strict";
2108        if (tarteaucitron.user.multiplegoogletagmanagerId === undefined) {
2109            return;
2110        }
2111        window.dataLayer = window.dataLayer || [];
2112        window.dataLayer.push({
2113            'gtm.start': new Date().getTime(),
2114            event: 'gtm.js'
2115        });
2116
2117        tarteaucitron.user.multiplegoogletagmanagerId.forEach(function (id) {
2118            tarteaucitron.addScript('https://www.googletagmanager.com/gtm.js?id=' + id);
2119        });
2120
2121    }
2122};
2123
2124// google webfonts
2125tarteaucitron.services.googlefonts = {
2126    "key": "googlefonts",
2127    "type": "api",
2128    "name": "Google Webfonts",
2129    "uri": "https://policies.google.com/privacy",
2130    "needConsent": true,
2131    "cookies": [],
2132    "js": function () {
2133        "use strict";
2134        if (tarteaucitron.user.googleFonts === undefined) {
2135            return;
2136        }
2137        tarteaucitron.addScript('//ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js', '', function () {
2138            WebFont.load({
2139                google: {
2140                    families: tarteaucitron.user.googleFonts
2141                }
2142            });
2143        });
2144    }
2145};
2146
2147// hubspot
2148tarteaucitron.services.hubspot = {
2149    "key": "hubspot",
2150    "type": "analytic",
2151    "name": "Hubspot",
2152    "uri": "https://legal.hubspot.com/privacy-policy",
2153    "needConsent": true,
2154    "cookies": ['hubspotutk', 'fr', '__hstc', '__hssrc', '__hssc', '__cfduid'],
2155    "js": function () {
2156        "use strict";
2157        tarteaucitron.addScript('//js.hs-scripts.com/' + tarteaucitron.user.hubspotId + '.js', 'hs-script-loader');
2158    }
2159};
2160
2161// instagram
2162tarteaucitron.services.instagram = {
2163    "key": "instagram",
2164    "type": "social",
2165    "name": "Instagram",
2166    "uri": "https://www.instagram.com/legal/privacy/",
2167    "needConsent": true,
2168    "cookies": ['shbts', 'sessionid', 'csrftoken', 'rur', 'shbid', 'mid', 'ds_usr_id', 'ig_did', 'ig_cb', 'datr'],
2169    "js": function () {
2170        "use strict";
2171        tarteaucitron.fallback(['instagram_post'], function (x) {
2172            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Instagram iframe'),
2173                post_id = x.getAttribute('postId'),
2174                post_permalink = x.getAttribute('data-instgrm-permalink'),
2175                embed_width = x.getAttribute('width'),
2176                embed_height = x.getAttribute('height'),
2177                frame_width,
2178                frame_height,
2179                post_frame;
2180
2181            if (post_permalink != null) {
2182                tarteaucitron.addScript('//www.instagram.com/embed.js', 'instagram-embed');
2183
2184                return '';
2185            }
2186
2187            if (post_id === undefined) {
2188                return "";
2189            }
2190
2191            if (embed_width !== undefined) {
2192                frame_width = 'width="' + embed_width + '" ';
2193            } else {
2194                frame_width = '"" ';
2195            }
2196            if (embed_height !== undefined) {
2197                frame_height = 'height="' + embed_height + '" ';
2198            } else {
2199                frame_height = '"" ';
2200            }
2201
2202            post_frame = '<iframe title="' + frame_title + '" src="//www.instagram.com/' + post_id + '/embed" ' + frame_width + frame_height + '></iframe>';
2203
2204            return post_frame;
2205        });
2206    },
2207    "fallback": function () {
2208        "use strict";
2209        var id = 'instagram';
2210        tarteaucitron.fallback(['instagram_post'], function (elem) {
2211            elem.style.width = elem.getAttribute('width') + 'px';
2212            elem.style.height = elem.getAttribute('height') + 'px';
2213            return tarteaucitron.engage(id);
2214        });
2215    }
2216};
2217
2218// jsapi
2219tarteaucitron.services.jsapi = {
2220    "key": "jsapi",
2221    "type": "api",
2222    "name": "Google jsapi",
2223    "uri": "https://policies.google.com/privacy",
2224    "needConsent": true,
2225    "cookies": [],
2226    "js": function () {
2227        "use strict";
2228        tarteaucitron.addScript('//www.google.com/jsapi');
2229    }
2230};
2231
2232// twitterwidgetsapi
2233tarteaucitron.services.twitterwidgetsapi = {
2234    "key": "twitterwidgetsapi",
2235    "type": "api",
2236    "name": "Twitter Widgets API",
2237    "uri": "https://support.twitter.com/articles/20170514",
2238    "needConsent": true,
2239    "cookies": [],
2240    "js": function () {
2241        "use strict";
2242        tarteaucitron.fallback(['tacTwitterAPI'], '');
2243        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs');
2244    },
2245    "fallback": function () {
2246        "use strict";
2247        var id = 'twitterwidgetsapi';
2248        tarteaucitron.fallback(['tacTwitterAPI'], tarteaucitron.engage(id));
2249    }
2250};
2251
2252// recaptcha
2253tarteaucitron.services.recaptcha = {
vendor: 4,472 bytes, lines 2254-2397
2254    "key": "recaptcha",
2255    "type": "api",
2256    "name": "reCAPTCHA",
2257    "uri": "https://policies.google.com/privacy",
2258    "needConsent": true,
2259    "cookies": ['nid'],
2260    "js": function () {
2261        "use strict";
2262        window.tacRecaptchaOnLoad = tarteaucitron.user.recaptchaOnLoad || function () { };
2263        tarteaucitron.fallback(['g-recaptcha'], '');
2264
2265        if (tarteaucitron.user.recaptchaapi === undefined) {
2266            tarteaucitron.addScript('https://www.google.com/recaptcha/api.js?onload=tacRecaptchaOnLoad');
2267        } else {
2268            tarteaucitron.addScript('https://www.google.com/recaptcha/api.js?onload=tacRecaptchaOnLoad&render=' + tarteaucitron.user.recaptchaapi);
2269        }
2270
2271    },
2272    "fallback": function () {
2273        "use strict";
2274        var id = 'recaptcha';
2275        tarteaucitron.fallback(['g-recaptcha'], tarteaucitron.engage(id));
2276    }
2277};
2278
2279// linkedin
2280tarteaucitron.services.linkedin = {
2281    "key": "linkedin",
2282    "type": "social",
2283    "name": "Linkedin",
2284    "uri": "https://www.linkedin.com/legal/cookie_policy",
2285    "needConsent": true,
2286    "cookies": [],
2287    "js": function () {
2288        "use strict";
2289        tarteaucitron.fallback(['tacLinkedin'], '');
2290        tarteaucitron.addScript('//platform.linkedin.com/in.js');
2291        if (tarteaucitron.isAjax === true) {
2292            if (typeof IN !== "undefined") {
2293                IN.parse();
2294            }
2295        }
2296    },
2297    "fallback": function () {
2298        "use strict";
2299        var id = 'linkedin';
2300        tarteaucitron.fallback(['tacLinkedin'], tarteaucitron.engage(id));
2301    }
2302};
2303
2304// mautic
2305tarteaucitron.services.mautic = {
2306    "key": "mautic",
2307    "type": "analytic",
2308    "name": "Mautic",
2309    "uri": "https://www.mautic.org/privacy-policy/",
2310    "needConsent": true,
2311    "cookies": ['mtc_id', 'mtc_sid'],
2312    "js": function () {
2313        "use strict";
2314        if (tarteaucitron.user.mauticurl === undefined) {
2315            return;
2316        }
2317
2318        window.MauticTrackingObject = 'mt';
2319        window.mt = window.mt || function () {
2320            window.mt.q = window.mt.q || [];
2321            window.mt.q.push(arguments);
2322        };
2323
2324        tarteaucitron.addScript(tarteaucitron.user.mauticurl, '', function () {
2325            mt('send', 'pageview');
2326        });
2327    }
2328};
2329
2330// microsoftcampaignanalytics
2331tarteaucitron.services.microsoftcampaignanalytics = {
2332    "key": "microsoftcampaignanalytics",
2333    "type": "analytic",
2334    "name": "Microsoft Campaign Analytics",
2335    "uri": "https://privacy.microsoft.com/privacystatement/",
2336    "needConsent": true,
2337    "cookies": [],
2338    "js": function () {
2339        "use strict";
2340        if (tarteaucitron.user.microsoftcampaignanalyticsUUID === undefined) {
2341            return;
2342        }
2343
2344        tarteaucitron.addScript('//flex.atdmt.com/mstag/site/' + tarteaucitron.user.microsoftcampaignanalyticsUUID + '/mstag.js', 'mstag_tops', function () {
2345            window.mstag = { loadTag: function () { }, time: (new Date()).getTime() };
2346            window.mstag.loadTag("analytics", { dedup: "1", domainId: tarteaucitron.user.microsoftcampaignanalyticsdomainId, type: "1", actionid: tarteaucitron.user.microsoftcampaignanalyticsactionId });
2347        });
2348    }
2349};
2350
2351// onesignal
2352tarteaucitron.services.onesignal = {
2353    "key": "onesignal",
2354    "type": "api",
2355    "name": "OneSignal",
2356    "uri": "https://onesignal.com/privacy_policy",
2357    "needConsent": true,
2358    "cookies": [],
2359    "js": function () {
2360        "use strict";
2361        if (tarteaucitron.user.onesignalAppId === undefined) {
2362            return;
2363        }
2364        window.OneSignal = window.OneSignal || [];
2365
2366        window.OneSignal.push(function () {
2367            window.OneSignal.init({
2368                appId: tarteaucitron.user.onesignalAppId,
2369            });
2370        });
2371
2372        tarteaucitron.addScript('https://cdn.onesignal.com/sdks/OneSignalSDK.js');
2373    }
2374};
2375
2376// pinterest
2377tarteaucitron.services.pinterest = {
2378    "key": "pinterest",
2379    "type": "social",
2380    "name": "Pinterest",
2381    "uri": "https://about.pinterest.com/privacy-policy",
2382    "needConsent": true,
2383    "cookies": [],
2384    "js": function () {
2385        "use strict";
2386        tarteaucitron.fallback(['tacPinterest'], '');
2387        tarteaucitron.addScript('//assets.pinterest.com/js/pinit.js');
2388    },
2389    "fallback": function () {
2390        "use strict";
2391        var id = 'pinterest';
2392        tarteaucitron.fallback(['tacPinterest'], tarteaucitron.engage(id));
2393    }
2394};
2395
2396// prelinker
2397tarteaucitron.services.prelinker = {
2398    "key": "prelinker",
2399    "type": "ads",
2400    "name": "Prelinker",
2401    "uri": "http://www.prelinker.com/index/index/cgu/",
2402    "needConsent": true,
2403    "cookies": ['_sp_id.32f5', '_sp_ses.32f5'],
2404    "js": function () {
2405        "use strict";
2406        var uniqIds = [],
2407            i,
2408            uri;
2409
2410        tarteaucitron.fallback(['prelinker-canvas'], function (x) {
2411            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
2412            uniqIds.push(uniqId);
2413            return '<div id="' + uniqId + '" siteId="' + x.getAttribute('siteId') + '" bannerId="' + x.getAttribute('bannerId') + '" defaultLanguage="' + x.getAttribute('defaultLanguage') + '" tracker="' + x.getAttribute('tracker') + '"></div>';
2414        });
2415
2416        for (i = 0; i < uniqIds.length; i += 1) {
2417            uri = 'http://promo.easy-dating.org/banner/index?';
2418            uri += 'site_id=' + document.getElementById(uniqIds[i]).getAttribute('siteId') + '&';
2419            uri += 'banner_id=' + document.getElementById(uniqIds[i]).getAttribute('bannerId') + '&';
2420            uri += 'default_language=' + document.getElementById(uniqIds[i]).getAttribute('defaultLanguage') + '&';
2421            uri += 'tr4ck=' + document.getElementById(uniqIds[i]).getAttribute('trackrt');
2422
2423            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
2424        }
2425    },
2426    "fallback": function () {
2427        "use strict";
2428        var id = 'prelinker';
2429        tarteaucitron.fallback(['prelinker-canvas'], tarteaucitron.engage(id));
2430    }
2431};
2432
2433// prezi
2434tarteaucitron.services.prezi = {
2435    "key": "prezi",
2436    "type": "video",
2437    "name": "Prezi",
2438    "uri": "https://prezi.com/privacy-policy/",
2439    "needConsent": true,
2440    "cookies": [],
2441    "js": function () {
2442        "use strict";
2443        tarteaucitron.fallback(['prezi-canvas'], function (x) {
2444            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Prezi iframe'),
2445                id = x.getAttribute("data-id"),
2446                width = x.getAttribute("width"),
2447                height = x.getAttribute("height"),
2448                url = 'https://prezi.com/embed/' + id + '/?bgcolor=ffffff&amp;lock_to_path=0&amp;autoplay=0&amp;autohide_ctrls=0';
2449
2450            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>';
2451        });
2452    },
2453    "fallback": function () {
2454        "use strict";
2455        var id = 'prezi';
2456        tarteaucitron.fallback(['prezi-canvas'], function (elem) {
2457            elem.style.width = elem.getAttribute('width') + 'px';
2458            elem.style.height = elem.getAttribute('height') + 'px';
2459            return tarteaucitron.engage(id);
2460        });
2461    }
2462};
2463
2464// pubdirecte
2465tarteaucitron.services.pubdirecte = {
2466    "key": "pubdirecte",
2467    "type": "ads",
2468    "name": "Pubdirecte",
2469    "uri": "http://pubdirecte.com/contact.php",
2470    "needConsent": true,
2471    "cookies": [],
2472    "js": function () {
2473        "use strict";
2474        var uniqIds = [],
2475            i,
2476            uri;
2477
2478        tarteaucitron.fallback(['pubdirecte-canvas'], function (x) {
2479            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
2480            uniqIds.push(uniqId);
2481            return '<div id="' + uniqId + '" pid="' + x.getAttribute('pid') + '" ref="' + x.getAttribute('ref') + '"></div>';
2482        });
2483
2484        for (i = 0; i < uniqIds.length; i += 1) {
2485            uri = '//www.pubdirecte.com/script/banniere.php?';
2486            uri += 'id=' + document.getElementById(uniqIds[i]).getAttribute('pid') + '&';
2487            uri += 'ref=' + document.getElementById(uniqIds[i]).getAttribute('ref');
2488
2489            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
2490        }
2491    },
2492    "fallback": function () {
2493        "use strict";
2494        var id = 'pubdirecte';
2495        tarteaucitron.fallback(['pubdirecte-canvas'], tarteaucitron.engage(id));
2496    }
2497};
2498
2499// purechat
2500tarteaucitron.services.purechat = {
2501    "key": "purechat",
2502    "type": "support",
2503    "name": "PureChat",
2504    "uri": "https://www.purechat.com/privacy",
2505    "needConsent": true,
2506    "cookies": [],
2507    "js": function () {
2508        "use strict";
2509        if (tarteaucitron.user.purechatId === undefined) {
2510            return;
2511        }
2512
2513        tarteaucitron.addScript('//app.purechat.com/VisitorWidget/WidgetScript', '', function () {
2514            try {
2515                window.w = new PCWidget({ c: tarteaucitron.user.purechatId, f: true });
2516            } catch (e) { }
2517        });
2518    }
2519};
2520
2521// Intercom
2522tarteaucitron.services.intercomChat = {
2523    "key": "intercomChat",
2524    "type": "support",
2525    "name": "Intercom",
2526    "uri": "https://www.intercom.com/",
2527    "needConsent": true,
2528    "cookies": [
2529        "intercom-id-" + tarteaucitron.user.intercomKey,
2530        "intercom-session-" + tarteaucitron.user.intercomKey,
2531    ],
2532    "readmoreLink": "https://www.intercom.com/legal/privacy",
2533    "js": function () {
2534        window.intercomSettings = {
2535            app_id: tarteaucitron.user.intercomKey,
2536        };
2537
2538        var w = window;
2539        var ic = w.Intercom;
2540        if (typeof ic === "function") {
2541            ic("reattach_activator");
2542            ic("update", w.intercomSettings);
2543        } else {
2544            var i = function () {
2545                i.c(arguments);
2546            };
2547            i.q = [];
2548            i.c = function (args) {
2549                i.q.push(args);
2550            };
2551            w.Intercom = i;
2552            tarteaucitron.addScript(
2553                "https://widget.intercom.io/widget/" + tarteaucitron.user.intercomKey,
2554                "",
2555                function () {
2556                    // Execute callback if function `intercomChatEnable`
2557                    // is defined
2558                    if (typeof intercomChatEnable === 'function') {
2559                        intercomChatEnable()
2560                    }
2561                }
2562            );
2563        }
2564    },
2565    "fallback": function () {
2566        "use strict";
2567        var id = "intercomChat";
2568        tarteaucitron.fallback(
2569            ["intercom-chat"],
2570            function () {
2571                // Execute callback if function `intercomChatDisable`
2572                // is defined
2573                if (typeof intercomChatDisable === 'function') {
2574                    intercomChatDisable()
2575                }
2576                return tarteaucitron.engage(id)
2577            }
2578        );
2579    },
2580};
2581
2582// rumbletalk
2583tarteaucitron.services.rumbletalk = {
2584    "key": "rumbletalk",
2585    "type": "social",
2586    "name": "RumbleTalk",
2587    "needConsent": true,
2588    "cookies": ['AWSALB'],
2589    "js": function () {
2590        "use strict";
2591        if (tarteaucitron.user.rumbletalkid === undefined) {
2592            return;
2593        }
2594
2595        tarteaucitron.addScript('https://rumbletalk.com/client/?' + tarteaucitron.user.rumbletalkid);
2596
2597        tarteaucitron.fallback(['rumbletalk'], function (x) {
2598            var width = tarteaucitron.getElemWidth(x),
2599                height = tarteaucitron.getElemHeight(x),
2600                id = x.getAttribute("data-id");
2601
2602            return '<div style="height: ' + height + 'px; width: ' + width + 'px;"><div id="' + id + '"></div></div>';
2603        });
2604    },
2605    "fallback": function () {
2606        "use strict";
2607        var id = 'rumbletalk';
2608        tarteaucitron.fallback(['rumbletalk'], function (elem) {
2609            elem.style.width = tarteaucitron.getElemWidth(elem) + 'px';
2610            elem.style.height = tarteaucitron.getElemHeight(elem) + 'px';
2611
2612            return tarteaucitron.engage(id);
2613        });
2614    }
2615};
2616
2617// shareaholic
2618tarteaucitron.services.shareaholic = {
2619    "key": "shareaholic",
2620    "type": "social",
2621    "name": "Shareaholic",
2622    "uri": "https://shareaholic.com/privacy/choices",
2623    "needConsent": true,
2624    "cookies": ['__utma', '__utmb', '__utmc', '__utmz', '__utmt_Shareaholic%20Pageviews'],
2625    "js": function () {
2626        "use strict";
2627        if (tarteaucitron.user.shareaholicSiteId === undefined) {
2628            return;
2629        }
2630
2631        tarteaucitron.fallback(['shareaholic-canvas'], '');
2632        tarteaucitron.addScript('//dsms0mj1bbhn4.cloudfront.net/assets/pub/shareaholic.js', '', function () {
2633            try {
2634                Shareaholic.init(tarteaucitron.user.shareaholicSiteId);
2635            } catch (e) { }
2636        });
2637    },
2638    "fallback": function () {
2639        "use strict";
2640        var id = 'shareaholic';
2641        tarteaucitron.fallback(['shareaholic-canvas'], tarteaucitron.engage(id));
2642    }
2643};
2644
2645// shareasale
2646tarteaucitron.services.shareasale = {
2647    "key": "shareasale",
2648    "type": "ads",
2649    "name": "ShareASale",
2650    "uri": "https://www.shareasale.com/PrivacyPolicy.pdf",
2651    "needConsent": true,
2652    "cookies": [],
2653    "js": function () {
2654        "use strict";
2655        var uniqIds = [],
2656            i,
2657            uri;
2658
2659        tarteaucitron.fallback(['shareasale-canvas'], function (x) {
2660            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
2661            uniqIds.push(uniqId);
2662            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>';
2663        });
2664
2665        for (i = 0; i < uniqIds.length; i += 1) {
2666            uri = 'https://shareasale.com/sale.cfm?';
2667            uri += 'amount=' + document.getElementById(uniqIds[i]).getAttribute('amount') + '&';
2668            uri += 'tracking=' + document.getElementById(uniqIds[i]).getAttribute('tracking') + '&';
2669            uri += 'transtype=' + document.getElementById(uniqIds[i]).getAttribute('transtype') + '&';
2670            uri += 'persale=' + document.getElementById(uniqIds[i]).getAttribute('persale') + '&';
2671            uri += 'perlead=' + document.getElementById(uniqIds[i]).getAttribute('perlead') + '&';
2672            uri += 'perhit=' + document.getElementById(uniqIds[i]).getAttribute('perhit') + '&';
2673            uri += 'merchantID=' + document.getElementById(uniqIds[i]).getAttribute('merchantID');
2674
2675            document.getElementById(uniqIds[i]).innerHTML = '<img src=\'' + uri + '\' width=\'1\' height=\'1\' />';
2676        }
2677    },
2678    "fallback": function () {
2679        "use strict";
2680        var id = 'shareasale';
2681        tarteaucitron.fallback(['shareasale-canvas'], tarteaucitron.engage(id));
2682    }
2683};
2684
2685// sharethis
2686tarteaucitron.services.sharethis = {
2687    "key": "sharethis",
2688    "type": "social",
2689    "name": "ShareThis",
2690    "uri": "http://www.sharethis.com/legal/privacy/",
2691    "needConsent": true,
2692    "cookies": ['__unam'],
2693    "js": function () {
2694        "use strict";
2695        if (tarteaucitron.user.sharethisPublisher === undefined) {
2696            return;
2697        }
2698        var switchTo5x = true,
2699            uri = ('https:' === document.location.protocol ? 'https://ws' : 'http://w') + '.sharethis.com/button/buttons.js';
2700
2701        tarteaucitron.fallback(['tacSharethis'], '');
2702        tarteaucitron.addScript(uri, '', function () {
2703            stLight.options({ publisher: tarteaucitron.user.sharethisPublisher, doNotHash: false, doNotCopy: false, hashAddressBar: false });
2704        });
2705
2706        if (tarteaucitron.isAjax === true) {
2707            if (typeof stButtons !== "undefined") {
2708                stButtons.locateElements();
2709            }
2710        }
2711    },
2712    "fallback": function () {
2713        "use strict";
2714        var id = 'sharethis';
2715        tarteaucitron.fallback(['tacSharethis'], tarteaucitron.engage(id));
2716    }
2717};
2718
2719// slideshare
2720tarteaucitron.services.slideshare = {
2721    "key": "slideshare",
2722    "type": "video",
2723    "name": "SlideShare",
2724    "uri": "https://www.linkedin.com/legal/privacy-policy",
2725    "needConsent": true,
2726    "cookies": [],
2727    "js": function () {
2728        "use strict";
2729        tarteaucitron.fallback(['slideshare-canvas'], function (x) {
2730            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Slideshare iframe'),
2731                id = x.getAttribute("data-id"),
2732                width = x.getAttribute("width"),
2733                height = x.getAttribute("height"),
2734                url = '//www.slideshare.net/slideshow/embed_code/' + id;
2735
2736            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>';
2737        });
2738    },
2739    "fallback": function () {
2740        "use strict";
2741        var id = 'slideshare';
2742        tarteaucitron.fallback(['slideshare-canvas'], function (elem) {
2743            elem.style.width = elem.getAttribute('width') + 'px';
2744            elem.style.height = elem.getAttribute('height') + 'px';
2745            return tarteaucitron.engage(id);
2746        });
2747    }
2748};
2749
2750// soundcloud
2751tarteaucitron.services.soundcloud = {
2752    key: 'soundcloud',
2753    type: 'video',
2754    name: 'SoundCloud',
2755    needConsent: true,
2756    cookies: ['sc_anonymous_id', 'sclocale'],
2757    js: function () {
2758        "use strict";
2759        tarteaucitron.fallback(['soundcloud_player'], function (x) {
2760            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Soundcloud iframe'),
2761                player_height = x.getAttribute('data-height'),
2762                frame_height = 'height="' + player_height + '" ',
2763                playable_id = x.getAttribute('data-playable-id'),
2764                playable_type = x.getAttribute('data-playable-type'),
2765                playable_url = x.getAttribute('data-playable-url'),
2766                color = x.getAttribute('data-color'),
2767                autoplay = x.getAttribute('data-auto-play'),
2768                hideRelated = x.getAttribute('data-hide-related'),
2769                showComments = x.getAttribute('data-show-comments'),
2770                showUser = x.getAttribute('data-show-user'),
2771                showReposts = x.getAttribute('data-show-reposts'),
2772                showTeaser = x.getAttribute('data-show-teaser'),
2773                visual = x.getAttribute('data-visual'),
2774                artwork = x.getAttribute('data-artwork');
2775
2776            var allowAutoplay = autoplay === 'true' ? 'allow="autoplay"' : '';
2777
2778            if (playable_id === undefined && playable_url === undefined) {
2779                return "";
2780            }
2781
2782            // Allow to embed from API results (playable_type + playable_id)
2783            var qs = '?url=https%3A//api.soundcloud.com/' + playable_type + '/' + playable_id;
2784            // Or from raw URL from Soundcloud website
2785            if (playable_url && playable_url.length > 0) qs = '?url=' + escape(playable_url);
2786
2787            if (hideRelated && hideRelated.length > 0) qs += '&hide_related=' + hideRelated;
2788            if (color && color.length > 0) qs += '&color=' + color.replace('#', '%23');
2789            if (autoplay && autoplay.length > 0) qs += '&auto_play=' + autoplay;
2790            if (showComments && showComments.length > 0) qs += '&show_comments=' + showComments;
2791            if (hideRelated && hideRelated.length > 0) qs += '&hide_related=' + hideRelated;
2792            if (showUser && showUser.length > 0) qs += '&show_user=' + showUser;
2793            if (showReposts && showReposts.length > 0) qs += '&show_reposts=' + showReposts;
2794            if (showTeaser && showTeaser.length > 0) qs += '&show_teaser=' + showTeaser;
2795            if (visual && visual.length > 0) qs += '&visual=' + visual;
2796            if (artwork && artwork.length >
2796 0) qs += '&show_artwork=' + artwork;
2797
2798            return '<iframe title="' + frame_title + '" width="100%" ' + frame_height + ' scrolling="no" ' + allowAutoplay + ' src="https://w.soundcloud.com/player/' + qs + '"></iframe>';
2799        });
2800    },
2801    fallback: function () {
2802        "use strict";
2803        tarteaucitron.fallback(['soundcloud_player'], function (elem) {
2804            elem.style.height = elem.getAttribute('data-height') + 'px';
2805            return tarteaucitron.engage('soundcloud');
2806        });
2807    }
2808};
2809
2810// spotify
2811tarteaucitron.services.spotify = {
2812    "key": "spotify",
2813    "type": "video",
2814    "name": "Spotify",
2815    "uri": "https://www.spotify.com/us/legal/privacy-policy/",
2816    "needConsent": true,
2817    "cookies": ['sp_landing', '_ga', 'sp_ab', 'sp_landingref', 'sp_t', 'sp_usid', 'OptanonConsent', 'sp_m', 'spot'],
2818    "js": function () {
2819        "use strict";
2820        tarteaucitron.fallback(['spotify_player'], function (x) {
2821            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Spotify iframe'),
2822                spotify_id = x.getAttribute("spotifyID"),
2823                spotify_width = x.getAttribute("width"),
2824                frame_width = 'width=',
2825                spotify_height = x.getAttribute("height"),
2826                frame_height = 'height=',
2827                spotify_frame;
2828
2829            if (spotify_id === undefined) {
2830                return "";
2831            }
2832            if (spotify_width !== undefined) {
2833                frame_width += '"' + spotify_width + '" ';
2834            } else {
2835                frame_width += '"" ';
2836            }
2837            if (spotify_height !== undefined) {
2838                frame_height += '"' + spotify_height + '" ';
2839            } else {
2840                frame_height += '"" ';
2841            }
2842            spotify_frame = '<iframe title="' + frame_title + '" src="//open.spotify.com/embed/' + spotify_id + '" ' + frame_width + frame_height + ' allowfullscreen></iframe>';
2843            return spotify_frame;
2844        });
2845    },
2846    "fallback": function () {
2847        "use strict";
2848        var id = 'spotify';
2849        tarteaucitron.fallback(['spotify_player'], function (elem) {
2850            elem.style.width = elem.getAttribute('width') + 'px';
2851            elem.style.height = elem.getAttribute('height') + 'px';
2852            return tarteaucitron.engage(id);
2853        });
2854    }
2855};
2856
2857// statcounter
2858tarteaucitron.services.statcounter = {
2859    "key": "statcounter",
2860    "type": "analytic",
2861    "name": "StatCounter",
2862    "uri": "https://fr.statcounter.com/about/legal/#privacy",
2863    "needConsent": true,
2864    "cookies": ['sc_is_visitor_unique'],
2865    "js": function () {
2866        "use strict";
2867        var uniqIds = [],
2868            i,
2869            uri = '//statcounter.com/counter/counter.js';
2870
2871        tarteaucitron.fallback(['statcounter-canvas'], function (x) {
2872            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
2873            uniqIds.push(uniqId);
2874            return '<div id="' + uniqId + '"></div>';
2875        });
2876
2877        for (i = 0; i < uniqIds.length; i += 1) {
2878            tarteaucitron.makeAsync.init(uri, uniqIds[i]);
2879        }
2880    },
2881    "fallback": function () {
2882        "use strict";
2883        var id = 'statcounter';
2884        tarteaucitron.fallback(['statcounter-canvas'], tarteaucitron.engage(id));
2885    }
2886};
2887
2888// timelinejs
2889tarteaucitron.services.timelinejs = {
2890    "key": "timelinejs",
2891    "type": "api",
2892    "name": "Timeline JS",
2893    "uri": "http://timeline.knightlab.com/#help",
2894    "needConsent": true,
2895    "cookies": [],
2896    "js": function () {
2897        "use strict";
2898        tarteaucitron.fallback(['timelinejs-canvas'], function (x) {
2899            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Twitter iframe'),
2900                spreadsheet_id = x.getAttribute("spreadsheet_id"),
2901                width = x.getAttribute("width"),
2902                height = x.getAttribute("height"),
2903                lang = x.getAttribute("lang_2_letter"),
2904                font = x.getAttribute("font"),
2905                map = x.getAttribute("map"),
2906                start_at_end = x.getAttribute("start_at_end"),
2907                hash_bookmark = x.getAttribute("hash_bookmark"),
2908                start_at_slide = x.getAttribute("start_at_slide"),
2909                start_zoom = x.getAttribute("start_zoom"),
2910                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;
2911
2912            return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" allowtransparency allowfullscreen></iframe>';
2913        });
2914    },
2915    "fallback": function () {
2916        "use strict";
2917        var id = 'timelinejs';
2918        tarteaucitron.fallback(['timelinejs-canvas'], function (elem) {
2919            elem.style.width = elem.getAttribute('width') + 'px';
2920            elem.style.height = elem.getAttribute('height') + 'px';
2921            return tarteaucitron.engage(id);
2922        });
2923    }
2924};
2925
2926// tagcommander
2927tarteaucitron.services.tagcommander = {
2928    "key": "tagcommander",
2929    "type": "api",
2930    "name": "TagCommander",
2931    "uri": "https://www.commandersact.com/en/privacy/",
2932    "needConsent": true,
2933    "cookies": [],
2934    "js": function () {
2935        "use strict";
2936        if (tarteaucitron.user.tagcommanderid === undefined) {
2937            return;
2938        }
2939        tarteaucitron.addScript('https://cdn.tagcommander.com/' + tarteaucitron.user.tagcommanderid + '.js');
2940    }
2941};
2942
2943// typekit
2944tarteaucitron.services.typekit = {
2945    "key": "typekit",
2946    "type": "api",
2947    "name": "Typekit (adobe)",
2948    "uri": "https://www.adobe.com/privacy.html",
2949    "needConsent": true,
2950    "cookies": [],
2951    "js": function () {
2952        "use strict";
2953        if (tarteaucitron.user.typekitId === undefined) {
2954            return;
2955        }
2956        tarteaucitron.addScript('//use.typekit.net/' + tarteaucitron.user.typekitId + '.js', '', function () {
2957            try {
2958                Typekit.load();
2959            } catch (e) { }
2960        });
2961    }
2962};
2963
2964// twenga
2965tarteaucitron.services.twenga = {
2966    "key": "twenga",
2967    "type": "ads",
2968    "name": "Twenga",
2969    "uri": "http://www.twenga.com/privacy.php",
2970    "needConsent": true,
2971    "cookies": [],
2972    "js": function () {
2973        "use strict";
2974
2975        if (tarteaucitron.user.twengaId === undefined || tarteaucitron.user.twengaLocale === undefined) {
2976            return;
2977        }
2978
2979        tarteaucitron.addScript('//tracker.twenga.' + tarteaucitron.user.twengaLocale + '/st/tracker_' + tarteaucitron.user.twengaId + '.js');
2980    }
2981};
2982
2983// twitter
2984tarteaucitron.services.twitter = {
2985    "key": "twitter",
2986    "type": "social",
2987    "name": "Twitter",
2988    "uri": "https://support.twitter.com/articles/20170514",
2989    "needConsent": true,
2990    "cookies": [],
2991    "js": function () {
2992        "use strict";
2993        tarteaucitron.fallback(['tacTwitter'], '');
2994        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs');
2995    },
2996    "fallback": function () {
2997        "use strict";
2998        var id = 'twitter';
2999        tarteaucitron.fallback(['tacTwitter'], tarteaucitron.engage(id));
3000    }
3001};
3002
3003// twitter embed
3004tarteaucitron.services.twitterembed = {
3005    "key": "twitterembed",
3006    "type": "social",
3007    "name": "Twitter (cards)",
3008    "uri": "https://support.twitter.com/articles/20170514",
3009    "needConsent": true,
3010    "cookies": [],
3011    "js": function () {
3012        "use strict";
3013        var uniqIds = [],
3014            i,
3015            e,
3016            html;
3017
3018        tarteaucitron.fallback(['twitterembed-canvas'], function (x) {
3019            var uniqId = '_' + Math.random().toString(36).substr(2, 9);
3020            uniqIds.push(uniqId);
3021            html = '<div id="' + uniqId + '" ';
3022            html += 'tweetid="' + x.getAttribute('tweetid') + '" ';
3023            html += 'theme="' + x.getAttribute('theme') + '" ';
3024            html += 'cards="' + x.getAttribute('cards') + '" ';
3025            html += 'conversation="' + x.getAttribute('conversation') + '" ';
3026            html += 'data-width="' + x.getAttribute('data-width') + '" ';
3027            html += 'data-align="' + x.getAttribute('data-align') + '" ';
3028            html += '></div>';
3029            return html;
3030        });
3031
3032        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs', function () {
3033            var i;
3034            for (i = 0; i < uniqIds.length; i += 1) {
3035                e = document.getElementById(uniqIds[i]);
3036                twttr.widgets.createTweet(
3037                    e.getAttribute('tweetid'),
3038                    e,
3039                    {
3040                        theme: e.getAttribute('theme'),
3041                        cards: e.getAttribute('cards'),
3042                        conversation: e.getAttribute('conversation'),
3043                        lang: tarteaucitron.getLanguage(),
3044                        dnt: true,
3045                        width: e.getAttribute('data-width'),
3046                        align: e.getAttribute('data-align')
3047                    }
3048                );
3049            }
3050        });
3051    },
3052    "fallback": function () {
3053        "use strict";
3054        var id = 'twitterembed';
3055        tarteaucitron.fallback(['twitterembed-canvas'], function (elem) {
3056            elem.style.width = elem.getAttribute('data-width') + 'px';
3057            return tarteaucitron.engage(id);
3058        });
3059    }
3060};
3061
3062// twitter timeline
3063tarteaucitron.services.twittertimeline = {
3064    "key": "twittertimeline",
3065    "type": "social",
3066    "name": "Twitter (timelines)",
3067    "uri": "https://support.twitter.com/articles/20170514",
3068    "needConsent": true,
3069    "cookies": [],
3070    "js": function () {
3071        "use strict";
3072        tarteaucitron.fallback(['tacTwitterTimelines'], '');
3073        tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs');
3074    },
3075    "fallback": function () {
3076        "use strict";
3077        var id = 'twittertimeline';
3078        tarteaucitron.fallback(['tacTwitterTimelines'], tarteaucitron.engage(id));
3079    }
3080};
3081
3082// twitter universal website tag
3083tarteaucitron.services.twitteruwt = {
3084    "key": "twitteruwt",
3085    "type": "analytic",
3086    "name": "Twitter Universal Website Tag",
3087    "uri": "https://business.twitter.com/en/help/campaign-measurement-and-analytics/conversion-tracking-for-websites.html",
3088    "needConsent": true,
3089    "cookies": [],
3090    "js": function () {
3091        "use strict";
3092
3093        window.twq = function () {
3094            window.twq.exe ? window.twq.exe.apply(window.twq, arguments) : window.twq.queue.push(arguments);
3095        }
3096        window.twq.version = '1.1';
3097        window.twq.queue = [];
3098
3099        tarteaucitron.addScript('https://static.ads-twitter.com/uwt.js', '', function () {
3100            window.twq('init', tarteaucitron.user.twitteruwtId);
3101            window.twq('track', 'PageView');
3102        });
3103    }
3104};
3105
3106// user voice
3107tarteaucitron.services.uservoice = {
3108    "key": "uservoice",
3109    "type": "support",
3110    "name": "UserVoice",
3111    "uri": "https://www.uservoice.com/privacy/",
3112    "needConsent": true,
3113    "cookies": [],
3114    "js": function () {
3115        "use strict";
3116        if (tarteaucitron.user.userVoiceApi === undefined) {
3117            return;
3118        }
3119        tarteaucitron.addScript('//widget.uservoice.com/' + tarteaucitron.user.userVoiceApi + '.js');
3120    }
3121};
3122
3123// vimeo
3124tarteaucitron.services.vimeo = {
3125    "key": "vimeo",
3126    "type": "video",
3127    "name": "Vimeo",
3128    "uri": "https://vimeo.com/privacy",
3129    "needConsent": true,
3130    "cookies": ['__utmt_player', '__utma', '__utmb', '__utmc', '__utmv', 'vuid', '__utmz', 'player'],
3131    "js": function () {
3132        "use strict";
3133        tarteaucitron.fallback(['vimeo_player'], function (x) {
3134            var frame_title = tarteaucitron.fixSelfXSS(tarteaucitron.getElemAttr(x, "data-title") || tarteaucitron.getElemAttr(x, "title") || 'Vimeo iframe'),
3135                video_width = tarteaucitron.getElemAttr(x, "data-width") || tarteaucitron.getElemAttr(x, "width"),
3136                frame_width = 'width=',
3137                video_height = tarteaucitron.getElemAttr(x, "data-height") || tarteaucitron.getElemAttr(x, "height"),
3138                frame_height = 'height=',
3139
3140                video_id = tarteaucitron.getElemAttr(x, "data-videoID") || tarteaucitron.getElemAttr(x, "videoID"),
3141                video_allowfullscreen = tarteaucitron.getElemAttr(x, "data-allowfullscreen"),
3142                video_autopause = tarteaucitron.getElemAttr(x, "data-autopause") || '',
3143                video_autoplay = tarteaucitron.getElemAttr(x, "data-autoplay") || tarteaucitron.getElemAttr(x, "autoplay") || '',
3144                video_background = tarteaucitron.getElemAttr(x, "data-background") || '',
3145                video_byline = tarteaucitron.getElemAttr(x, "data-byline") || tarteaucitron.getElemAttr(x, "byline") || '',
3146                video_color = tarteaucitron.getElemAttr(x, "data-color") || '',
3147                video_controls = tarteaucitron.getElemAttr(x, "data-controls") || '',
3148                video_loop = tarteaucitron.getElemAttr(x, "data-loop") || tarteaucitron.getElemAttr(x, "loop") || '',
3149                video_maxheight = tarteaucitron.getElemAttr(x, "data-maxheight") || '',
3150                video_maxwidth = tarteaucitron.getElemAttr(x, "data-maxwidth") || '',
3151                video_muted = tarteaucitron.getElemAttr(x, "data-muted") || '',
3152                video_playsinline = tarteaucitron.getElemAttr(x, "data-playsinline") || '',
3153                video_portrait = tarteaucitron.getElemAttr(x, "data-portrait") || tarteaucitron.getElemAttr(x, "portrait") || '',
3154                video_speed = tarteaucitron.getElemAttr(x, "data-speed") || '',
3155                video_title = tarteaucitron.getElemAttr(x, "data-title") || tarteaucitron.getElemAttr(x, "title") || '',
3156                video_transparent = tarteaucitron.getElemAttr(x, "data-transparent") || '',
3157
3158                video_frame;
3159
3160
3161            if (video_id === undefined) {
3162                return "";
3163            }
3164            if (video_width !== undefined) {
3165                frame_width += '"' + video_width + '" ';
3166            } else {
3167                frame_width += '"" ';
3168            }
3169            if (video_height !== undefined) {
3170                frame_height += '"' + video_height + '" ';
3171            } else {
3172                frame_height += '"" ';
3173            }
3174
3175            var video_qs = "?";
3176
3177            if (video_title.length > 0) {
3178                video_qs += "title=" + video_title;
3179            }
3180
3181            if (video_byline.length > 0) {
3182                if (video_qs.length > 0) {
3183                    video_qs += "&";
3184                }
3185                video_qs += "byline=" + video_byline;
3186            }
3187
3188            if (video_portrait.length > 0) {
3189                if (video_qs.length > 0) {
3190                    video_qs += "&";
3191                }
3192                video_qs += "portrait=" + video_portrait;
3193            }
3194
3195            if (video_loop.length > 0) {
3196                if (video_qs.length > 0) {
3197                    video_qs += "&";
3198                }
3199                video_qs += "loop=" + video_loop;
3200            }
3201
3202            if (video_autoplay.length > 0) {
3203                if (video_qs.length > 0) {
3204                    video_qs += "&";
3205                }
3206                video_qs += "autoplay=" + video_autoplay;
3207            }
3208
3209            if (video_autopause.length > 0) {
3210                if (video_qs.length > 0) {
3211                    video_qs += "&";
3212                }
3213                video_qs += "autopause=" + video_autopause;
3214            }
3215
3216            if (video_background.length > 0) {
3217                if (video_qs.length > 0) {
3218                    video_qs += "&";
3219                }
3220                video_qs += "background=" + video_background;
3221            }
3222
3223            if (video_color.length > 0) {
3224                if (video_qs.length > 0) {
3225                    video_qs += "&";
3226                }
3227                video_qs += "color=" + video_color;
3228            }
3229
3230            if (video_controls.length > 0) {
3231                if (video_qs.length > 0) {
3232                    video_qs += "&";
3233                }
3234                video_qs += "controls=" + video_controls;
3235            }
3236
3237            if (video_maxheight.length > 0) {
3238                if (video_qs.length > 0) {
3239                    video_qs += "&";
3240                }
3241                video_qs += "maxheight=" + video_maxheight;
3242            }
3243
3244            if (video_maxwidth.length > 0) {
3245                if (video_qs.length > 0) {
3246                    video_qs += "&";
3247                }
3248                video_qs += "maxwidth=" + video_maxwidth;
3249            }
3250
3251            if (video_muted.length > 0) {
3252                if (video_qs.length > 0) {
3253                    video_qs += "&";
3254                }
3255                video_qs += "muted=" + video_muted;
3256            }
3257
3258            if (video_playsinline.length > 0) {
3259                if (video_qs.length > 0) {
3260                    video_qs += "&";
3261                }
3262                video_qs += "playsinline=" + video_playsinline;
3263            }
3264
3265            if (video_speed.length > 0) {
3266                if (video_qs.length > 0) {
3267                    video_qs += "&";
3268                }
3269                video_qs += "speed=" + video_speed;
3270            }
3271
3272            if (video_transparent.length > 0) {
3273                if (video_qs.length > 0) {
3274                    video_qs += "&";
3275                }
3276                video_qs += "transparent=" + video_transparent;
3277            }
3278
3279            if (video_qs === "?") {
3280                video_qs = "";
3281            }
3282
3283            video_frame = '<iframe title="' + frame_title + '" src="//player.vimeo.com/video/' + video_id + video_qs + '" ' + frame_width + frame_height + (video_allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
3284
3285            return video_frame;
3286        });
3287    },
3288    "fallback": function () {
3289        "use strict";
3290        var id = 'vimeo';
3291        tarteaucitron.fallback(['vimeo_player'], function (elem) {
3292            elem.style.width = elem.getAttribute('width') + 'px';
3293            elem.style.height = elem.getAttribute('height') + 'px';
3294            return tarteaucitron.engage(id);
3295        });
3296    }
3297};
3298
3299// visualrevenue
3300tarteaucitron.services.visualrevenue = {
3301    "key": "visualrevenue",
3302    "type": "analytic",
3303    "name": "VisualRevenue",
3304    "uri": "http://www.outbrain.com/legal/privacy-713/",
3305    "needConsent": true,
3306    "cookies": ['__vrf', '__vrm', '__vrl', '__vry', '__vru', '__vrid', '__vrz'],
3307    "js": function () {
3308        "use strict";
3309        if (tarteaucitron.user.visualrevenueId === undefined) {
3310            return;
3311        }
3312        window._vrq = window._vrq || [];
3313        window._vrq.push(['id', tarteaucitron.user.visualrevenueId]);
3314        window._vrq.push(['automate', true]);
3315        window._vrq.push(['track', function () { }]);
3316        tarteaucitron.addScript('http://a.visualrevenue.com/vrs.js');
3317    }
3318};
3319
3320// verizon dot tag
3321tarteaucitron.services.verizondottag = {
3322    "key": "verizondottag",
3323    "type": "analytic",
3324    "name": "Verizon Dot Tag",
3325    "uri": "https://developer.verizonmedia.com/native/guide/audience-management/dottags/",
3326    "needConsent": true,
3327    "cookies": [],
3328    "js": function () {
3329        "use strict";
3330
3331        window.dotq = window.dotq || [];
3332        window.dotq.push({
3333            'projectId': tarteaucitron.user.verizondottagProjectId,
3334            'properties': { 'pixelId': tarteaucitron.user.verizondottagPixelId }
3335        });
3336
3337        tarteaucitron.addScript('https://s.yimg.com/wi/ytc.js', '', function () {
3338            //const items = window.dotq;
3339            window.dotq = [];
3340            window.dotq.push = function (item) {
3341                YAHOO.ywa.I13N.fireBeacon([item])
3342            };
3343            YAHOO.ywa.I13N.fireBeacon(items)
3344        });
3345    }
3346};
3347
3348// vshop
3349tarteaucitron.services.vshop = {
vendor: 4,924 bytes, lines 3350-3499
3350    "key": "vshop",
3351    "type": "ads",
3352    "name": "vShop",
3353    "uri": "http://vshop.fr/privacy-policy",
3354    "needConsent": true,
3355    "cookies": [],
3356    "js": function () {
3357        "use strict";
3358        tarteaucitron.fallback(['vcashW'], '');
3359        tarteaucitron.addScript('//vshop.fr/js/w.js');
3360    },
3361    "fallback": function () {
3362        "use strict";
3363        var id = 'vshop';
3364        tarteaucitron.fallback(['vcashW'], tarteaucitron.engage(id));
3365    }
3366};
3367
3368// wysistat
3369tarteaucitron.services.wysistat = {
3370    "key": "wysistat",
3371    "type": "analytic",
3372    "name": "Wysistat",
3373    "uri": "http://wysistat.net/contact/",
3374    "needConsent": true,
3375    "cookies": ['Wysistat'],
3376    "js": function () {
3377        "use strict";
3378        if (tarteaucitron.user.wysistat === undefined) {
3379            return;
3380        }
3381        tarteaucitron.addScript('//www.wysistat.com/statistique.js', '', function () {
3382            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);
3383        });
3384    }
3385};
3386
3387// xiti
3388tarteaucitron.services.xiti = {
3389    "key": "xiti",
3390    "type": "analytic",
3391    "name": "Xiti",
3392    "uri": "https://helpcentre.atinternet-solutions.com/hc/fr/categories/360002439300-Privacy-Centre",
3393    "needConsent": true,
3394    "cookies": [],
3395    "js": function () {
3396        "use strict";
3397        if (tarteaucitron.user.xitiId === undefined) {
3398            return;
3399        }
3400        var Xt_param = 's=' + tarteaucitron.user.xitiId + '&p=',
3401            Xt_r,
3402            Xt_h,
3403            Xt_i,
3404            Xt_s,
3405            div = document.createElement('div');
3406        try {
3407            Xt_r = top.document.referrer;
3408        } catch (e) {
3409            Xt_r = document.referrer;
3410        }
3411        Xt_h = new Date();
3412        Xt_i = '<img style="display:none" border="0" alt="" ';
3413        Xt_i += 'src="http://logv3.xiti.com/hit.xiti?' + Xt_param;
3414        Xt_i += '&hl=' + Xt_h.getHours() + 'x' + Xt_h.getMinutes() + 'x' + Xt_h.getSeconds();
3415        if (parseFloat(navigator.appVersion) >= 4) {
3416            Xt_s = screen;
3417            Xt_i += '&r=' + Xt_s.width + 'x' + Xt_s.height + 'x' + Xt_s.pixelDepth + 'x' + Xt_s.colorDepth;
3418        }
3419
3420        div.innerHTML = Xt_i + '&ref=' + Xt_r.replace(/[<>"]/g, '').replace(/&/g, '$') + '" title="Internet Audience">';
3421        document.getElementsByTagName('body')[0].appendChild(div.firstChild);
3422
3423        if (typeof tarteaucitron.user.xitiMore === 'function') {
3424            tarteaucitron.user.xitiMore();
3425        }
3426    }
3427};
3428
3429// AT Internet
3430tarteaucitron.services.atinternet = {
3431    "key": "atinternet",
3432    "type": "analytic",
3433    "name": "AT Internet (privacy by design)",
3434    "uri": "https://helpcentre.atinternet-solutions.com/hc/fr/categories/360002439300-Privacy-Centre",
3435    "needConsent": true,
3436    "safeanalytic": false,
3437    "cookies": ['atidvisitor', 'atreman', 'atredir', 'atsession'],
3438    "js": function () {
3439        "use strict";
3440        if (tarteaucitron.user.atLibUrl === undefined) {
3441            return;
3442        }
3443
3444        if (tarteaucitron.user.atinternetAlreadyLoaded !== undefined) {
3445            return;
3446        }
3447
3448        tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function () {
3449
3450            window.tag = new ATInternet.Tracker.Tag();
3451
3452            if (typeof tarteaucitron.user.atMore === 'function') {
3453                tarteaucitron.user.atMore();
3454            }
3455
3456            if (typeof window.tag.privacy !== 'undefined') {
3457                window.tag.privacy.setVisitorOptin();
3458            }
3459
3460            if (tarteaucitron.user.atinternetSendData !== false) {
3461                window.tag.page.send();
3462            }
3463        });
3464    },
3465    "fallback": function () {
3466        "use strict";
3467        if (tarteaucitron.user.atLibUrl === undefined) {
3468            return;
3469        }
3470
3471        tarteaucitron.user.atinternetAlreadyLoaded = true;
3472
3473        tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function () {
3474
3475            window.tag = new ATInternet.Tracker.Tag();
3476
3477            if (typeof tarteaucitron.user.atMore === 'function') {
3478                tarteaucitron.user.atMore();
3479            }
3480
3481            if (typeof window.tag.privacy !== 'undefined') {
3482
3483                var visitorMode = window.tag.privacy.getVisitorMode();
3484                if (visitorMode !== null && visitorMode.name !== undefined && visitorMode.name == "optout") {
3485                    window.tag.privacy.setVisitorOptout();
3486                } else {
3487                    window.tag.privacy.setVisitorMode('cnil', 'exempt');
3488                }
3489            }
3490
3491            if (tarteaucitron.user.atinternetSendData !== false) {
3492                window.tag.page.send();
3493            }
3494        });
3495    }
3496};
3497
3498// AT Internet
3499tarteaucitron.services.atinternethightrack = {
3500    "key": "atinternethightrack",
3501    "type": "analytic",
3502    "name": "AT Internet",
3503    "uri": "https://helpcentre.atinternet-solutions.com/hc/fr/categories/360002439300-Privacy-Centre",
3504    "needConsent": true,
3505    "cookies": ['atidvisitor', 'atreman', 'atredir', 'atsession'],
3506    "js": function () {
3507        "use strict";
3508        if (tarteaucitron.user.atLibUrl === undefined) {
3509            return;
3510        }
3511
3512        tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function () {
3513
3514            var tag = new ATInternet.Tracker.Tag();
3515
3516            if (typeof tarteaucitron.user.atMore === 'function') {
3517                tarteaucitron.user.atMore();
3518            }
3519        })
3520    }
3521};
3522
3523// youtube
3524tarteaucitron.services.youtube = {
3525    "key": "youtube",
3526    "type": "video",
3527    "name": "YouTube",
3528    "uri": "https://policies.google.com/privacy",
3529    "needConsent": true,
3530    "cookies": ['VISITOR_INFO1_LIVE', 'YSC', 'PREF', 'GEUP'],
3531    "js": function () {
3532        "use strict";
3533        tarteaucitron.fallback(['youtube_player'], function (x) {
3534            var frame_title = tarteaucitron.fixSelfXSS(tarteaucitron.getElemAttr(x, "title") || 'Youtube iframe'),
3535                video_id = tarteaucitron.getElemAttr(x, "videoID"),
3536                srcdoc = tarteaucitron.getElemAttr(x, "srcdoc"),
3537                loading = tarteaucitron.getElemAttr(x, "loading"),
3538                video_width = tarteaucitron.getElemAttr(x, "width"),
3539                frame_width = 'width=',
3540                video_height = tarteaucitron.getElemAttr(x, "height"),
3541                frame_height = 'height=',
3542                video_frame,
3543                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen"),
3544                attrs = ["theme", "rel", "controls", "showinfo", "autoplay", "mute", "start", "loop"],
3545                params = attrs.filter(function (a) {
3546
3547                  return tarteaucitron.getElemAttr(x, a) !== null;
3548                }).map(function (a) {
3549                  return a + "=" + tarteaucitron.getElemAttr(x, a);
3550               }).join("&");
3551
3552            if(tarteaucitron.getElemAttr(x, "loop") == 1) {
3553               params = params + "&playlist=" + video_id;
3554            }
3555
3556            if (video_id === undefined) {
3557                return "";
3558            }
3559            if (video_width !== undefined) {
3560                frame_width += '"' + video_width + '" ';
3561            } else {
3562                frame_width += '"" ';
3563            }
3564            if (video_height !== undefined) {
3565                frame_height += '"' + video_height + '" ';
3566            } else {
3567                frame_height += '"" ';
3568            }
3569
3570            if (srcdoc !== undefined && srcdoc !== null && srcdoc !== "") {
3571                srcdoc = 'srcdoc="' + srcdoc + '" ';
3572            } else {
3573                srcdoc = '';
3574            }
3575
3576            if (loading !== undefined && loading !== null && loading !== "") {
3577                loading = 'loading ';
3578            } else {
3579                loading = '';
3580            }
3581
3582            video_frame = '<iframe title="' + frame_title + '" type="text/html" ' + frame_width + frame_height + ' src="//www.youtube-nocookie.com/embed/' + video_id + '?' + params + '"' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + ' ' + srcdoc + ' ' + loading + '></iframe>';
3583            return video_frame;
3584        });
3585    },
3586    "fallback": function () {
3587        "use strict";
3588        var id = 'youtube';
3589        tarteaucitron.fallback(['youtube_player'], function (elem) {
3590            elem.style.width = elem.getAttribute('width') + 'px';
3591            elem.style.height = elem.getAttribute('height') + 'px';
3592            return tarteaucitron.engage(id);
3593        });
3594    }
3595};
3596
3597// youtube playlist
3598tarteaucitron.services.youtubeplaylist = {
3599    "key": "youtubeplaylist",
3600    "type": "video",
3601    "name": "YouTube (playlist)",
3602    "uri": "https://policies.google.com/privacy",
3603    "needConsent": true,
3604    "cookies": ['VISITOR_INFO1_LIVE', 'YSC', 'PREF', 'GEUP'],
3605    "js": function () {
3606        "use strict";
3607        tarteaucitron.fallback(['youtube_playlist_player'], function (x) {
3608            var frame_title = tarteaucitron.fixSelfXSS(tarteaucitron.getElemAttr(x, "title") || 'Youtube iframe'),
3609                playlist_id = tarteaucitron.getElemAttr(x, "playlistID"),
3610                video_width = tarteaucitron.getElemAttr(x, "width"),
3611                frame_width = 'width=',
3612                video_height = tarteaucitron.getElemAttr(x, "height"),
3613                frame_height = 'height=',
3614                video_frame,
3615                allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen"),
3616                params = 'theme=' + tarteaucitron.getElemAttr(x, "theme") + '&rel=' + tarteaucitron.getElemAttr(x, "rel") + '&controls=' + tarteaucitron.getElemAttr(x, "controls") + '&showinfo=' + tarteaucitron.getElemAttr(x, "showinfo") + '&autoplay=' + tarteaucitron.getElemAttr(x, "autoplay") + '&mute=' + tarteaucitron.getElemAttr(x, "mute");
3617
3618            if (playlist_id === undefined) {
3619                return "";
3620            }
3621            if (video_width !== undefined) {
3622                frame_width += '"' + video_width + '" ';
3623            } else {
3624                frame_width += '"" ';
3625            }
3626            if (video_height !== undefined) {
3627                frame_height += '"' + video_height + '" ';
3628            } else {
3629                frame_height += '"" ';
3630            }
3631            video_frame = '<iframe title="' + frame_title + '" type="text/html" ' + frame_width + frame_height + ' src="//www.youtube-nocookie.com/embed/videoseries?list=' + playlist_id + '&' + params + '"' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
3632            return video_frame;
3633        });
3634    },
3635    "fallback": function () {
3636        "use strict";
3637        var id = 'youtubeplaylist';
3638        tarteaucitron.fallback(['youtube_playlist_player'], function (elem) {
3639            elem.style.width = elem.getAttribute('width') + 'px';
3640            elem.style.height = elem.getAttribute('height') + 'px';
3641            return tarteaucitron.engage(id);
3642        });
3643    }
3644};
3645
3646// zopim
3647tarteaucitron.services.zopim = {
3648    "key": "zopim",
3649    "type": "support",
3650    "name": "Zopim",
3651    "uri": "https://www.zopim.com/privacy",
3652    "needConsent": true,
3653    "cookies": ['__zlcid', '__zprivacy'],
3654    "js": function () {
3655        "use strict";
3656        if (tarteaucitron.user.zopimID === undefined) {
3657            return;
3658        }
3659        tarteaucitron.addScript('//v2.zopim.com/?' + tarteaucitron.user.zopimID);
3660    }
3661};
3662
3663// kameleoon
3664tarteaucitron.services.kameleoon = {
3665    "key": "kameleoon",
3666    "type": "analytic",
3667    "name": "Kameleoon",
3668    "uri": "https://www.kameleoon.com/fr/compliance/rgpd",
3669    "needConsent": true,
3670    "cookies": [],
3671    "js": function () {
3672        "use strict";
3673        if (tarteaucitron.user.kameleoon !== undefined) {
3674            tarteaucitron.addScript("https://" + tarteaucitron.user.kameleoon + ".kameleoon.eu/kameleoon.js");
3675        }
3676    }
3677};
3678
3679// linkedin insight
3680tarteaucitron.services.linkedininsighttag = {
3681    "key": "linkedininsighttag",
3682    "type": "ads",
3683    "name": "Linkedin Insight",
3684    "uri": "https://www.linkedin.com/legal/cookie_policy",
3685    "needConsent": true,
3686    "cookies": [],
3687    "js": function () {
3688        "use strict";
3689        if (tarteaucitron.user.linkedininsighttag !== undefined) {
3690            window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
3691            window._linkedin_data_partner_ids.push(tarteaucitron.user.linkedininsighttag);
3692        }
3693
3694        tarteaucitron.addScript('https://snap.licdn.com/li.lms-analytics/insight.min.js');
3695    }
3696};
3697
3698// xiti smartTag
3699tarteaucitron.services.xiti_smarttag = {
3700    "key": "xiti_smarttag",
3701    "type": "analytic",
3702    "name": "Xiti (SmartTag)",
3703    "uri": "https://helpcentre.atinternet-solutions.com/hc/fr/categories/360002439300-Privacy-Centre",
3704    "needConsent": true,
3705    "cookies": ["atidvisitor", "atreman", "atredir", "atsession", "attvtreman", "attvtsession"],
3706    "js": function () {
3707        "use strict";
3708        if (tarteaucitron.user.xiti_smarttagLocalPath !== undefined) {
3709            tarteaucitron.addScript(tarteaucitron.user.xiti_smarttagLocalPath, 'smarttag', null, null, "onload", "addTracker();");
3710        } else {
3711            var xitiSmarttagId = tarteaucitron.user.xiti_smarttagSiteId;
3712            if (xitiSmarttagId === undefined) {
3713                return;
3714            }
3715
3716            tarteaucitron.addScript('//tag.aticdn.net/' + xitiSmarttagId + '/smarttag.js', 'smarttag', null, null, "onload", "addTracker();");
3717        }
3718    }
3719};
3720
3721// facebook pixel
3722tarteaucitron.services.facebookpixel = {
3723    "key": "facebookpixel",
3724    "type": "ads",
3725    "name": "Facebook Pixel",
3726    "uri": "https://www.facebook.com/policy.php",
3727    "needConsent": true,
3728    "cookies": ['datr', 'fr', 'reg_ext_ref', 'reg_fb_gate', 'reg_fb_ref', 'sb', 'wd', 'x-src', '_fbq'],
3729    "js": function () {
3730        "use strict";
3731        var n;
3732        if (window.fbq) return;
3733        n = window.fbq = function () { n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments) };
3734        if (!window._fbq) window._fbq = n;
3735        n.push = n;
3736        n.loaded = !0;
3737        n.version = '2.0';
3738        n.queue = [];
3739        tarteaucitron.addScript('https://connect.facebook.net/en_US/fbevents.js');
3740        fbq('init', tarteaucitron.user.facebookpixelId);
3741        fbq('track', 'PageView');
3742
3743        if (typeof tarteaucitron.user.facebookpixelMore === 'function') {
3744            tarteaucitron.user.facebookpixelMore();
3745        }
3746    }
3747};
3748
3749//Issuu
3750tarteaucitron.services.issuu = {
3751    "key": "issuu",
3752    "type": "other",
3753    "name": "Issuu",
3754    "uri": "https://issuu.com/legal/privacy",
3755    "needConsent": true,
3756    "cookies": ['__qca', 'iutk', 'mc'],
3757    "js": function () {
3758        "use strict";
3759        tarteaucitron.fallback(['issuu_player'], function (x) {
3760            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Issuu iframe'),
3761                issuu_id = x.getAttribute("issuuID"),
3762                issuu_width = x.getAttribute("width"),
3763                frame_width = 'width=',
3764                issuu_height = x.getAttribute("height"),
3765                frame_height = 'height=',
3766                issuu_frame,
3767                issuu_embed;
3768
3769            if (issuu_id === undefined) {
3770                return "";
3771            }
3772            if (issuu_width !== undefined) {
3773                frame_width += '"' + issuu_width + '" ';
3774            } else {
3775                frame_width += '"" ';
3776            }
3777            if (issuu_height !== undefined) {
3778                frame_height += '"' + issuu_height + '" ';
3779            } else {
3780                frame_height += '"" ';
3781            }
3782
3783
3784            if (issuu_id.match(/\d+\/\d+/)) { issuu_embed = '#' + issuu_id; } else if (issuu_id.match(/d=(.*)&u=(.*)/)) { issuu_embed = '?' + issuu_id; }
3785
3786
3787            issuu_frame = '<iframe title="' + frame_title + '" type="text/html" ' + frame_width + frame_height + ' src="//e.issuu.com/embed.html' + issuu_embed + '"></iframe>';
3788
3789            return issuu_frame;
3790        });
3791    },
3792    "fallback": function () {
3793        "use strict";
3794        var id = 'issuu';
3795        tarteaucitron.fallback(['issuu_player'], function (elem) {
3796            elem.style.width = elem.getAttribute('width') + 'px';
3797            elem.style.height = elem.getAttribute('height') + 'px';
3798            return tarteaucitron.engage(id);
3799        });
3800    }
3801};
3802
3803// webmecanik
3804tarteaucitron.services.webmecanik = {
vendor: 9,964 bytes, lines 3805-4081
3805    "key": "webmecanik",
3806    "type": "analytic",
3807    "name": "Webmecanik",
3808    "uri": "https://webmecanik.com/tos",
3809    "needConsent": true,
3810    "cookies": ['mtc_id', 'mtc_sid'],
3811    "js": function () {
3812        "use strict";
3813        if (tarteaucitron.user.webmecanikurl === undefined) {
3814            return;
3815        }
3816
3817        window.MauticTrackingObject = 'mt';
3818        window.mt = window.mt || function () {
3819            window.mt.q = window.mt.q || [];
3820            window.mt.q.push(arguments);
3821        };
3822
3823        tarteaucitron.addScript(tarteaucitron.user.webmecanikurl, '', function () {
3824            mt('send', 'pageview');
3825        });
3826    }
3827};
3828
3829// google analytics multiple
3830tarteaucitron.services.multiplegtag = {
3831    "key": "multiplegtag",
3832    "type": "analytic",
3833    "name": "Google Analytics (gtag.js)",
3834    "uri": "https://support.google.com/analytics/answer/6004245",
3835    "needConsent": true,
3836    "cookies": (function () {
3837
3838        var cookies = ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz'];
3839
3840        if (tarteaucitron.user.multiplegtagUa !== undefined) {
3841            tarteaucitron.user.multiplegtagUa.forEach(function (ua) {
3842                cookies.push('_gat_gtag_' + ua.replace(/-/g, '_'));
3843                cookies.push('_ga_' + ua.replace(/G-/g, ''));
3844            });
3845        }
3846
3847        return cookies;
3848    })(),
3849    "js": function () {
3850        "use strict";
3851        window.dataLayer = window.dataLayer || [];
3852
3853        if (tarteaucitron.user.multiplegtagUa !== undefined) {
3854            tarteaucitron.user.multiplegtagUa.forEach(function (ua) {
3855                tarteaucitron.addScript('https://www.googletagmanager.com/gtag/js?id=' + ua, '', function () {
3856                    window.gtag = function gtag() { dataLayer.push(arguments); }
3857                    gtag('js', new Date());
3858                    gtag('config', ua, { 'anonymize_ip': true });
3859                });
3860            });
3861        }
3862    }
3863};
3864
3865// Koban
3866tarteaucitron.services.koban = {
3867    "key": "koban",
3868    "type": "analytic",
3869    "name": "Koban",
3870    "uri": "https://koban.cloud/tos",
3871    "needConsent": true,
3872    "cookies": ['kbntrk'],
3873    "js": function () {
3874        "use strict";
3875        if (tarteaucitron.user.kobanurl === undefined) {
3876            return;
3877        }
3878        if (tarteaucitron.user.kobanapi === undefined) {
3879            return;
3880        }
3881        window.KobanObject = 'kb';
3882        window.kb = window.kb || function () {
3883            window.kb.q = window.kb.q || [];
3884            window.kb.q.push(arguments);
3885        };
3886        window.kb.l = new Date();
3887        kb('reg', tarteaucitron.user.kobanapi);
3888        tarteaucitron.addScript(tarteaucitron.user.kobanurl, '', function () {
3889        });
3890    }
3891};
3892
3893// matomo
3894
3895/*
3896    1. Set the following variable before the initialization :
3897
3898    tarteaucitron.user.matomoId = YOUR_SITE_ID_FROM_MATOMO;
3899    tarteaucitron.user.matomoHost = "YOUR_MATOMO_URL"; //eg: https://stat.mydomain.com/
3900
3901    2. Push the service :
3902
3903    (tarteaucitron.job = tarteaucitron.job || []).push('matomo');
3904
3905    3. HTML
3906    You don't need to add any html code, if the service is autorized, the javascript is added. otherwise no.
3907 */
3908tarteaucitron.services.matomo = {
3909    "key": "matomo",
3910    "type": "analytic",
3911    "name": "Matomo (privacy by design)",
3912    "uri": "https://matomo.org/faq/general/faq_146/",
3913    "needConsent": false,
3914    "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'piwik_ignore', '_pk_uid'],
3915    "js": function () {
3916        "use strict";
3917        if (tarteaucitron.user.matomoId === undefined) {
3918            return;
3919        }
3920
3921        window._paq = window._paq || [];
3922        window._paq.push(["setSiteId", tarteaucitron.user.matomoId]);
3923        window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "piwik.php"]);
3924        window._paq.push(["setDoNotTrack", 1]);
3925        window._paq.push(["trackPageView"]);
3926        window._paq.push(["setIgnoreClasses", ["no-tracking", "colorbox"]]);
3927        window._paq.push(["enableLinkTracking"]);
3928        window._paq.push([function () {
3929            var self = this;
3930            function getOriginalVisitorCookieTimeout() {
3931                var now = new Date(),
3932                    nowTs = Math.round(now.getTime() / 1000),
3933                    visitorInfo = self.getVisitorInfo();
3934                var createTs = parseInt(visitorInfo[2]);
3935                var cookieTimeout = 33696000; // 13 mois en secondes
3936                var originalTimeout = createTs + cookieTimeout - nowTs;
3937                return originalTimeout;
3938            }
3939            this.setVisitorCookieTimeout(getOriginalVisitorCookieTimeout());
3940        }]);
3941
3942        tarteaucitron.addScript(tarteaucitron.user.matomoHost + 'piwik.js', '', '', true, 'defer', true);
3943
3944        // waiting for piwik to be ready to check first party cookies
3945        var interval = setInterval(function () {
3946            if (typeof Piwik === 'undefined') return
3947
3948            clearInterval(interval)
3949
3950            // make piwik/matomo cookie accessible by getting tracker
3951            Piwik.getTracker();
3952
3953            // looping throught cookies
3954            var theCookies = document.cookie.split(';');
3955            for (var i = 1; i <= theCookies.length; i++) {
3956                var cookie = theCookies[i - 1].split('=');
3957                var cookieName = cookie[0].trim();
3958
3959                // if cookie starts like a piwik one, register it
3960                if (cookieName.indexOf('_pk_') === 0) {
3961                    tarteaucitron.services.matomo.cookies.push(cookieName);
3962                }
3963            }
3964        }, 100)
3965    }
3966};
3967
3968
3969tarteaucitron.services.matomohightrack = {
3970    "key": "matomohightrack",
3971    "type": "analytic",
3972    "name": "Matomo",
3973    "uri": "https://matomo.org/faq/general/faq_146/",
3974    "needConsent": false,
3975    "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'piwik_ignore', '_pk_uid'],
3976    "js": function () {
3977        "use strict";
3978        if (tarteaucitron.user.matomoId === undefined) {
3979            return;
3980        }
3981
3982        window._paq = window._paq || [];
3983        window._paq.push(["setSiteId", tarteaucitron.user.matomoId]);
3984        window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "piwik.php"]);
3985        window._paq.push(["trackPageView"]);
3986        window._paq.push(["setIgnoreClasses", ["no-tracking", "colorbox"]]);
3987        window._paq.push(["enableLinkTracking"]);
3988        window._paq.push([function () {
3989            var self = this;
3990        }]);
3991
3992        tarteaucitron.addScript(tarteaucitron.user.matomoHost + 'piwik.js', '', '', true, 'defer', true);
3993
3994        // waiting for piwik to be ready to check first party cookies
3995        var interval = setInterval(function () {
3996            if (typeof Piwik === 'undefined') return
3997
3998            clearInterval(interval)
3999            Piwik.getTracker();
4000
4001            var theCookies = document.cookie.split(';');
4002            for (var i = 1; i <= theCookies.length; i++) {
4003                var cookie = theCookies[i - 1].split('=');
4004                var cookieName = cookie[0].trim();
4005
4006                if (cookieName.indexOf('_pk_') === 0) {
4007                    tarteaucitron.services.matomo.cookies.push(cookieName);
4008                }
4009            }
4010        }, 100)
4011    }
4012};
4013
4014// Hotjar
4015/*
4016   1. Set the following variable before the initialization :
4017    tarteaucitron.user.hotjarId = YOUR_WEBSITE_ID;
4018   tarteaucitron.user.HotjarSv = XXXX; // Can be found in your website tracking code as "hjvs=XXXX"
4019    2. Push the service :
4020    (tarteaucitron.job = tarteaucitron.job || []).push('hotjar');
4021    3. HTML
4022   You don't need to add any html code, if the service is autorized, the javascript is added. otherwise no.
4023 */
4024tarteaucitron.services.hotjar = {
4025    "key": "hotjar",
4026    "type": "analytic",
4027    "name": "Hotjar",
4028    "uri": "https://help.hotjar.com/hc/en-us/categories/115001323967-About-Hotjar",
4029    "needConsent": true,
4030    "cookies": ["hjClosedSurveyInvites", "_hjDonePolls", "_hjMinimizedPolls", "_hjDoneTestersWidgets", "_hjMinimizedTestersWidgets", "_hjDoneSurveys", "_hjIncludedInSample", "_hjShownFeedbackMessage", "_hjAbsoluteSessionInProgress", "_hjIncludeInPageviewSample", "_hjid"],
4031    "js": function () {
4032        "use strict";
4033        if (tarteaucitron.user.hotjarId === undefined || tarteaucitron.user.HotjarSv === undefined) {
4034            return;
4035        }
4036        window.hj = window.hj || function () {
4037            (window.hj.q = window.hj.q || []).push(arguments)
4038        };
4039        window._hjSettings = {
4040            hjid: tarteaucitron.user.hotjarId,
4041            hjsv: tarteaucitron.user.HotjarSv
4042        };
4043        var uri = 'https://static.hotjar.com/c/hotjar-';
4044        var extension = '.js?sv=';
4045        tarteaucitron.addScript(uri + window._hjSettings.hjid + extension + window._hjSettings.hjsv);
4046    }
4047};
4048
4049// bing ads universal event tracking
4050tarteaucitron.services.bingads = {
4051    'key': 'bingads',
4052    'type': 'ads',
4053    'name': 'Bing Ads Universal Event Tracking',
4054    'uri': 'https://advertise.bingads.microsoft.com/en-us/resources/policies/personalized-ads',
4055    'needConsent': true,
4056    'cookies': ['_uetmsclkid', '_uetvid', '_uetsid'],
4057    'js': function () {
4058        'use strict';
4059        //var u = tarteaucitron.user.bingadsTag || 'uetq';
4060        window.uetq = window.uetq || [];
4061
4062        tarteaucitron.addScript('https://bat.bing.com/bat.js', '', function () {
4063            var bingadsCreate = { ti: tarteaucitron.user.bingadsID };
4064
4065            if ('bingadsStoreCookies' in tarteaucitron.user) {
4066                bingadsCreate['storeConvTrackCookies'] = tarteaucitron.user.bingadsStoreCookies;
4067            }
4068
4069            bingadsCreate.q = window.uetq;
4070            window.uetq = new UET(bingadsCreate);
4071            window.uetq.push('pageLoad');
4072
4073            if (typeof tarteaucitron.user.bingadsMore === 'function') {
4074                tarteaucitron.user.bingadsMore();
4075            }
4076        });
4077    }
4078};
4079
4080//Matterport
4081tarteaucitron.services.matterport = {
4082    "key": "matterport",
4083    "type": "other",
4084    "name": "Matterport",
4085    "uri": "https://matterport.com/es/legal/privacy-policy/",
4086    "needConsent": true,
4087    "cookies": ['__cfduid', 'ajs_anonymous_id', 'ajs_group_id', 'ajs_user_id'],
4088    "js": function () {
4089        "use strict";
4090        tarteaucitron.fallback(['matterport'], function (x) {
4091            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Matterport iframe'),
4092                matterport_id = x.getAttribute("matterportID"),
4093                matterport_width = x.getAttribute("width"),
4094                frame_width = 'width=',
4095                matterport_height = x.getAttribute("height"),
4096                frame_height = 'height=',
4097                matterport_parameters = x.getAttribute("parameters"),
4098                matterport_allowfullscreen = x.getAttribute('allowfullscreen'),
4099                matterport_frame;
4100
4101            if (matterport_id === undefined) {
4102                return "";
4103            }
4104            if (matterport_width !== undefined) {
4105                frame_width += '"' + matterport_width + '" ';
4106            } else {
4107                frame_width += '"" ';
4108            }
4109            if (matterport_height !== undefined) {
4110                frame_height += '"' + matterport_height + '" ';
4111            } else {
4112                frame_height += '"" ';
4113            }
4114            if (matterport_parameters === undefined) {
4115                return "";
4116            }
4117
4118            matterport_frame = '<iframe title="' + frame_title + '" type="text/html" ' + frame_width + frame_height + ' src="https://my.matterport.com/show/?m=' + matterport_id + '&utm_source=hit-content' + matterport_parameters + '"' + (matterport_allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
4119            return matterport_frame;
4120        });
4121    },
4122    "fallback": function () {
4123        "use strict";
4124        var id = 'matterport';
4125        tarteaucitron.fallback(['matterport'], function (elem) {
4126            elem.style.width = elem.getAttribute('width') + 'px';
4127            elem.style.height = elem.getAttribute('height') + 'px';
4128            return tarteaucitron.engage(id);
4129        });
4130    }
4131};
4132
4133// Adform
4134tarteaucitron.services.adform = {
4135    "key": "adform",
4136    "type": "ads",
4137    "name": "Adform",
4138    "uri": "https://site.adform.com/privacy-center/overview/",
4139    "needConsent": true,
4140    "cookies": [],
4141    "js": function () {
4142        "use strict";
4143
4144        if (tarteaucitron.user.adformpm === undefined || tarteaucitron.user.adformpagename === undefined) {
4145            return;
4146        }
4147
4148        window._adftrack = {
4149            pm: tarteaucitron.user.adformpm,
4150            divider: encodeURIComponent('|'),
4151            pagename: encodeURIComponent(tarteaucitron.user.adformpagename)
4152        };
4153
4154        tarteaucitron.addScript("https://track.adform.net/serving/scripts/trackpoint/async/");
4155    }
4156};
4157
4158// Active Campaign
4159tarteaucitron.services.activecampaign = {
4160    "key": "activecampaign",
4161    "type": "ads",
4162    "name": "Active Campaign",
4163    "uri": "https://www.activecampaign.com/privacy-policy/",
4164    "needConsent": true,
4165    "cookies": [],
4166    "js": function () {
4167        "use strict";
4168        if (tarteaucitron.user.actid === undefined) {
4169            return;
4170        }
4171
4172        window.trackcmp_email = '';
4173
4174        tarteaucitron.addScript('https://trackcmp.net/visit?actid=' + tarteaucitron.user.actid + '&e=' + encodeURIComponent(trackcmp_email) + '&r=' + encodeURIComponent(document.referrer) + '&u=' + encodeURIComponent(window.location.href));
4175    }
4176};
4177
4178// tawk.to
4179tarteaucitron.services.tawkto = {
4180    "key": "tawkto",
4181    "type": "support",
4182    "name": "Tawk.to chat",
4183    "uri": "https://www.tawk.to/data-protection/",
4184    "needConsent": true,
4185    "cookies": [],
4186    "js": function () {
4187        "use strict";
4188        if (tarteaucitron.user.tawktoId === undefined) {
4189            return;
4190        }
4191
4192        window.Tawk_API = window.Tawk_API || {};
4193        window.Tawk_LoadStart = new Date();
4194
4195        tarteaucitron.addScript('https://embed.tawk.to/' + tarteaucitron.user.tawktoId + '/default');
4196    }
4197
4198};
4199
4200// getquanty
4201tarteaucitron.services.getquanty = {
4202    "key": "getquanty",
4203    "type": "analytic",
4204    "name": "GetQuanty",
4205    "uri": "https://www.getquanty.com/mentions-legales/",
4206    "needConsent": true,
4207    "cookies": ['_first_pageview', 'eqy_sessionid', 'eqy_siteid', 'cluid', 'eqy_company', 'cluid', 'gq_utm', '_jsuid'],
4208    "js": function () {
4209        "use strict";
4210        if (tarteaucitron.user.getguanty === undefined) {
4211            return;
4212        }
4213
4214        if (tarteaucitron.user.getquantyAlreadyLoaded !== undefined) {
4215            return;
4216        }
4217
4218        tarteaucitron.addScript('https://get.smart-data-systems.com/gq?site_id=' + tarteaucitron.user.getguanty + '&consent=1');
4219    },
4220    "fallback": function () {
4221        "use strict";
4222        if (tarteaucitron.user.getguanty === undefined) {
4223            return;
4224        }
4225
4226        tarteaucitron.user.getquantyAlreadyLoaded = true;
4227
4228        tarteaucitron.addScript('https://get.smart-data-systems.com/gq?site_id=' + tarteaucitron.user.getguanty + '&notrack=1');
4229    }
4230};
4231
4232// emolytics
4233tarteaucitron.services.emolytics = {
4234    "key": "emolytics",
4235    "type": "analytic",
4236    "name": "Emolytics",
4237    "uri": "https://www.emolytics.com/main/privacy-policy.php",
4238    "needConsent": true,
4239    "cookies": ['__hssc', '__hssrc', '__hstc', '_ga', '_gid', 'hubspotutk', 'lang', 'incap_ses_', 'nlbi_', 'visid_incap_'],
4240    "js": function () {
4241        "use strict";
4242        if (tarteaucitron.user.emolyticsID === undefined) {
4243            return;
4244        }
4245        var scriptEmolytics = document.createElement('script');
4246        scriptEmolytics.text = 'var getsmily_id="' + tarteaucitron.user.emolyticsID + '";';
4247        document.getElementsByTagName('body')[0].appendChild(scriptEmolytics);
4248        tarteaucitron.addScript('https://cdn.emolytics.com/script/emolytics-widget.js')
4249    }
4250};
4251
4252// youtubeapi
4253tarteaucitron.services.youtubeapi = {
4254    "key": "youtubeapi",
4255    "type": "video",
4256    "name": "Youtube (Js API)",
4257    "uri": "https://policies.google.com/privacy",
4258    "needConsent": true,
4259    "cookies": [],
4260    "js": function () {
4261        "use strict";
4262        tarteaucitron.addScript('https://www.youtube.com/player_api');
4263    }
4264};
4265
4266// Facil'ITI
4267tarteaucitron.services.faciliti = {
4268    "key": "faciliti",
4269    "type": "other",
4270    "name": "Facil'ITI",
4271    "uri": "https://ws.facil-iti.com/mentions-legales.html",
4272    "needConsent": true,
4273    "cookies": ['FACIL_ITI_LS'],
4274    "js": function () {
4275        "use strict";
4276        if (tarteaucitron.user.facilitiID === undefined) {
4277            return;
4278        }
4279
4280        (function (w, d, s, f) {
4281            w[f] = w[f] || { conf: function () { (w[f].data = w[f].data || []).push(arguments); } };
4282            var l = d.createElement(s), e = d.getElementsByTagName(s)[0];
4283            l.async = 1; l.src = 'https://ws.facil-iti.com/tag/faciliti-tag.min.js'; e.parentNode.insertBefore(l, e);
4284        }(window, document, 'script', 'FACIL_ITI'));
4285        FACIL_ITI.conf('userId', tarteaucitron.user.facilitiID);
4286    }
4287};
4288
4289// userlike
4290tarteaucitron.services.userlike = {
4291    "key": "userlike",
4292    "type": "support",
4293    "name": "Userlike",
4294    "uri": "https://www.userlike.com/en/terms#privacy-policy",
4295    "needConsent": true,
4296    "cookies": ['uslk_s', 'uslk_e'],
4297    "js": function () {
4298        "use strict";
4299        if (tarteaucitron.user.userlikeKey === undefined) {
4300            return;
4301        }
4302        tarteaucitron.addScript('//userlike-cdn-widgets.s3-eu-west-1.amazonaws.com/' + tarteaucitron.user.userlikeKey);
4303    }
4304};
4305
4306// adobeanalytics
4307tarteaucitron.services.adobeanalytics = {
4308    "key": "adobeanalytics",
4309    "type": "analytic",
4310    "name": "Adobe Analytics",
4311    "uri": "https://www.adobe.com/privacy/policy.html",
4312    "needConsent": true,
4313    "cookies": ['s_ecid', 's_cc', 's_sq', 's_vi', 's_fid'],
4314    "js": function () {
4315        "use strict";
4316        if (tarteaucitron.user.adobeanalyticskey === undefined) {
4317            return;
4318        }
4319        tarteaucitron.addScript('//assets.adobedtm.com/launch-' + tarteaucitron.user.adobeanalyticskey + '.min.js');
4320    }
4321};
4322
4323// woopra customer journey analytics
4324tarteaucitron.services.woopra = {
4325    'key': 'woopra',
4326    'type': 'analytic',
4327    'name': 'Woopra Customer Journey Analytics',
4328    'uri': 'https://www.woopra.com/privacy',
4329    'needConsent': true,
4330    'cookies': ['wooTracker', 'intercom-session-erbfalba', 'intercom-id-erbfalba'],
4331    'js': function () {
4332        'use strict';
4333        //var w = tarteaucitron.user.woopraDomain;
4334        //window[w] = window[w] || [];
4335
4336        (function () {
4337            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)
4338        })("woopra");
4339
4340        woopra.config({
4341            domain: tarteaucitron.user.woopraDomain
4342        });
4343        woopra.track();
4344    }
4345};
4346
4347// ausha
4348tarteaucitron.services.ausha = {
4349    key: "ausha",
4350    type: "video",
4351    name: "Ausha",
4352    uri: "https://www.ausha.co/protection-personal-data/",
4353    needConsent: true,
4354    cookies: [],
4355    js: function () {
4356        "use strict";
4357        tarteaucitron.fallback(['ausha_player'], function (x) {
4358            var player_height = x.getAttribute('data-height'),
4359                podcast_id = x.getAttribute('data-podcast-id'),
4360                player_id = x.getAttribute('data-player-id'),
4361                playlist = x.getAttribute('data-playlist'),
4362                color = x.getAttribute('data-color');
4363
4364            if (podcast_id === undefined) {
4365                return "";
4366            }
4367
4368            var src = 'https://player.ausha.co/index.html?podcastId=' + podcast_id + '&v=3';
4369
4370            if (playlist && playlist.length > 0) src += '&playlist=' + playlist;
4371            if (color && color.length > 0) src += '&color=' + color.replace('#', '%23');
4372            if (player_id && player_id.length > 0) src += '&playerId=' + player_id;
4373
4374            return '<iframe id="' + player_id + '" loading="lazy" width="100%" height="' + player_height + '" scrolling="no" frameborder="no" src="' + src + '"></iframe>';
4375        });
4376
4377        tarteaucitron.addScript('//player.ausha.co/ausha-player.js', 'ausha-player');
4378    },
4379    fallback: function () {
4380        "use strict";
4381        tarteaucitron.fallback(['ausha_player'], function (elem) {
4382            elem.style.height = elem.getAttribute('data-height') + 'px';
4383            return tarteaucitron.engage('ausha');
4384        });
4385    }
4386};
4387
4388// visiblee
4389tarteaucitron.services.visiblee = {
4390    key: "visiblee",
4391    type: "analytic",
4392    name: "Visiblee",
4393    uri: "http://confidentiality.visiblee.io/fr/confidentialite",
4394    needConsent: true,
4395    cookies: ["visitor_v2", tarteaucitron.user.visibleedomain, "check", "campaign_ref_" + tarteaucitron.user.visibleedomain, "reload_" + tarteaucitron.user.visibleedomain],
4396    js: function () {
4397        "use strict";
4398
4399        if (tarteaucitron.user.visibleeclientid === undefined) {
4400            return;
4401        }
4402        tarteaucitron.addScript('//www.link-page.info/tracking_' + tarteaucitron.user.visibleeclientid + '.js', 'visiblee');
4403    }
4404};
4405
4406// bandcamp
4407tarteaucitron.services.bandcamp = {
4408    key: "bandcamp",
4409    type: "video",
4410    name: "Bandcamp",
4411    uri: "https://bandcamp.com",
4412    readmoreLink: "https://bandcamp.com/privacy",
4413    needConsent: true,
4414    cookies: ['client_id', 'BACKENDID', '_comm_playlist'],
4415    js: function () {
4416        "use strict";
4417        tarteaucitron.fallback(['bandcamp_player'], function (x) {
4418            var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Bandcamp iframe'),
4419                album_id = x.getAttribute("albumID"),
4420                bandcamp_width = x.getAttribute("width"),
4421                frame_width = 'width=',
4422                bandcamp_height = x.getAttribute("height"),
4423                frame_height = 'height=',
4424                attrs = ["size", "bgcol", "linkcol", "artwork", "minimal", "tracklist", "package", "transparent"],
4425                params = attrs.filter(function (a) {
4426                    return x.getAttribute(a) !== null;
4427                }).map(function (a) {
4428                    if (a && a.length > 0) return a + "=" + x.getAttribute(a);
4429                }).join("/");
4430
4431            if (album_id === null) {
4432                return "";
4433            }
4434
4435            if (bandcamp_width !== null || bandcamp_width !== "") {
4436                frame_width += '"' + bandcamp_width + '" ';
4437            } else {
4438                frame_width += '"" ';
4439            }
4440            if (bandcamp_height !== null || bandcamp_height !== "") {
4441                frame_height += '"' + bandcamp_height + '" ';
4442            } else {
4443                frame_height += '"" ';
4444            }
4445
4446            var src = 'https://bandcamp.com/EmbeddedPlayer/album=' + album_id + '/' + params;
4447
4448            return '<iframe title="' + frame_title + '"' + frame_width + frame_height + 'src="' + src + '" frameborder="0" allowfullscreen seamless></iframe>';
4449        });
4450    },
4451    fallback: function () {
4452        "use strict";
4453        tarteaucitron.fallback(['bandcamp_player'], function (elem) {
4454            elem.style.width = elem.getAttribute('width');
4455            elem.style.height = elem.getAttribute('height');
4456            return tarteaucitron.engage('bandcamp');
4457        });
4458    }
4459};
4460
4461// Discord Widget
4462tarteaucitron.services.discord = {
4463    "key": "discord",
4464    "type": "social",
4465    "name": "Discord (Server Widget)",
4466    "needConsent": true,
4467    "cookies": ["__cfruid", "__dcfduid", "_ga", "_gcl_au", "OptanonConsent", "locale", "_gid"],
4468    "uri": "https://discord.com/privacy",
4469    "js": function () {
4470        "use strict";
4471        tarteaucitron.fallback(['discord_widget'], function (x) {
4472            var id = x.getAttribute("guildID"),
4473                width = x.getAttribute("width"),
4474                height = x.getAttribute("height")
4475            var widgetURL = "https://discord.com/widget?id=" + id;
4476            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"" + widgetURL + "\"></iframe>";
4477        });
4478    },
4479    "fallback": function () {
4480        "use strict";
4481        var id = 'discord';
4482        tarteaucitron.fallback(['discord_widget'], function (elem) {
4483            elem.style.width = elem.getAttribute('width') + 'px';
4484            elem.style.height = elem.getAttribute('height') + 'px';
4485            return tarteaucitron.engage(id);
4486        });
4487    }
4488};
4489
4490// Google Maps
4491tarteaucitron.services.maps_noapi = {
4492    "key": "maps_noapi",
4493    "type": "other",
4494    "name": "Google Maps",
4495    "needConsent": true,
4496    "cookies": ["NID", "OGPC", "1P_JAR", "CONSENT"],
4497    "uri": "https://policies.google.com/privacy",
4498    "js": function () {
4499        "use strict";
4500        tarteaucitron.fallback(['googlemaps_embed'], function (x) {
4501            var id = x.getAttribute("id"),
4502                width = x.getAttribute("width"),
4503                height = x.getAttribute("height")
4504            var widgetURL = "https://google.com/maps/embed?pb=" + id;
4505            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"" + widgetURL + "\" style=\"border:0;\" allowfullscreen=\"\" loading=\"lazy\"></iframe>";
4506        });
4507    },
4508    "fallback": function () {
4509        "use strict";
4510        var id = 'maps_noapi';
4511        tarteaucitron.fallback(['googlemaps_embed'], function (elem) {
4512            elem.style.width = elem.getAttribute('width') + 'px';
4513            elem.style.height = elem.getAttribute('height') + 'px';
4514            return tarteaucitron.engage(id);
4515        });
4516    }
4517};
4518
4519// hCaptcha
4520tarteaucitron.services.hcaptcha = {
4521    "key": "hcaptcha",
4522    "type": "other",
4523    "name": "hCaptcha",
4524    "needConsent": true,
4525    "cookies": [],
4526    "uri": "https://www.hcaptcha.com/privacy",
4527    "js": function () {
4528        "use strict";
4529        tarteaucitron.fallback(["h-captcha"], '');
4530        tarteaucitron.addScript("https://hcaptcha.com/1/api.js", "hcaptcha")
4531    },
4532    "fallback": function () {
4533        "use strict";
4534        var id = "hcaptcha";
4535        tarteaucitron.fallback(["h-captcha"], tarteaucitron.engage(id));
4536    }
4537};
4538
4539// France Culture
4540tarteaucitron.services.fculture = {
4541    "key": "fculture",
4542    "type": "video",
4543    "name": "France Culture",
4544    "needConsent": true,
4545    "cookies": ["_gid", "didomi_token", "outbrain_cid_fetch", "xtvrn", "xtant", "YSC", "ABTasty", "xtan", "ABTastySession", "xtidc", "_ga", "VISITOR_INFO1_LIVE", "euconsent-v2", "v1st", "dmvk", "ts", "VISITOR_INFO1_LIVE", "YSC"],
4546    "uri": "https://www.radiofrance.com/politique-d-utilisation-des-cookies-sur-les-sites-internet-du-groupe-radio-france",
4547    "js": function () {
4548        "use strict";
4549        tarteaucitron.fallback(['fculture_embed'], function (x) {
4550            var id = x.getAttribute('id'),
4551                width = x.getAttribute('width'),
4552                height = x.getAttribute('height');
4553            return "<iframe src=\"https://www.franceculture.fr/player/export-reecouter?content=" + id + "\" height=\"" + height + "\" width=\"" + width + "\"></iframe>"
4554        });
4555    },
4556    "fallback": function () {
4557        "use strict";
4558        var id = "fculture";
4559        tarteaucitron.fallback(["fculture_embed"], tarteaucitron.engage(id));
4560    }
4561};
4562
4563// Acast
4564tarteaucitron.services.acast = {
4565    "key": "acast",
4566    "type": "video",
4567    "name": "Acast",
4568    "needConsent": true,
4569    "cookies": ["intercom-id-ayi0335i", "intercom-session-ayi0335i"],
4570    "uri": "https://www.acast.com/en/privacy",
4571    "js": function () {
4572        "use strict";
4573        tarteaucitron.fallback(['acast_embed'], function (x) {
4574            var id = x.getAttribute('id1'),
4575                id2 = x.getAttribute('id2'),
4576                width = x.getAttribute('width'),
4577                height = x.getAttribute('height'),
4578                seek = x.getAttribute('seek');
4579            var widgetURL = "https://embed.acast.com/" + id + "/" + id2 + "?seek=" + seek;
4580            return "<iframe title=\"Embed Player\" width=\"" + width + "\" height=\"" + height + "\" src=\"" + widgetURL + "\" scrolling=\"no\" frameBorder=\"0\" style=\"border: none; overflow: hidden;\"></iframe>";
4581        });
4582    },
4583    "fallback": function () {
4584        "use strict";
4585        var id = "acast";
4586        tarteaucitron.fallback(["acast_embed"], tarteaucitron.engage(id));
4587    }
4588};
4589
4590// Mixcloud
4591tarteaucitron.services.mixcloud = {
4592    "key": "mixcloud",
4593    "type": "video",
4594    "name": "Mixcloud",
4595    "needConsent": true,
4596    "cookies": ["UID", "_gat", "__stripe_mid", "_gid", "_ga", "c", "csrftoken", "__stripe_sid", "mx_t"],
4597    "uri": "https://www.mixcloud.com/privacy/",
4598    "js": function () {
4599        "use strict";
4600        tarteaucitron.fallback(['mixcloud_embed'], function (x) {
4601            var id = x.getAttribute('id'),
4602                hidecover = x.getAttribute('hidecover'),
4603                mini = x.getAttribute('mini'),
4604                light = x.getAttribute('light'),
4605                width = x.getAttribute('width'),
4606                height = x.getAttribute('height');
4607            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"https://www.mixcloud.com/widget/iframe/?hide_cover=" + hidecover + "&mini=" + mini + "&light=" + light + "&feed=" + id + "\" frameborder=\"0\" ></iframe>";
4608        });
4609    },
4610    "fallback": function () {
4611        "use strict";
4612        var id = "mixcloud";
4613        tarteaucitron.fallback(["mixcloud_embed"], tarteaucitron.engage(id));
4614    }
4615};
4616
4617// Google Agenda
4618tarteaucitron.services.gagenda = {
4619    "key": "gagenda",
4620    "type": "other",
4621    "name": "Google Agenda",
4622    "needConsent": true,
4623    "cookies": ["CONSENT", "NID"],
4624    "uri": "https://policies.google.com/privacy",
4625    "js": function () {
4626        "use strict";
4627        tarteaucitron.fallback(['gagenda_embed'], function (x) {
4628            var calendar_data = x.getAttribute('data'),
4629                width = x.getAttribute('width'),
4630                height = x.getAttribute('height');
4631            return "<iframe loarding=\"lazy\" width=\"" + width + "\" height=\"" + height + "\" src=\"https://www.google.com/calendar/embed?" + calendar_data + "\" frameborder=\"0\" scrolling=\"no\" style=\"border-width:0\"></iframe>";
4632        });
4633    },
4634    "fallback": function () {
4635        "use strict";
4636        var id = "gagenda";
4637        tarteaucitron.fallback(["gagenda_embed"], tarteaucitron.engage(id));
4638    }
4639};
4640
4641// Google Docs
4642tarteaucitron.services.gdocs = {
4643    "key": "gdocs",
4644    "type": "other",
4645    "name": "Google Docs",
4646    "needConsent": true,
4647    "cookies": ["CONSENT", "NID"],
4648    "uri": "https://policies.google.com/privacy",
4649    "js": function () {
4650        "use strict";
4651        tarteaucitron.fallback(['gdocs_embed'], function (x) {
4652            var id = x.getAttribute('id'),
4653                width = x.getAttribute('width'),
4654                height = x.getAttribute('height');
4655            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"https://docs.google.com/document/d/e/" + id + "/pub?embedded=true\"></iframe>";
4656        });
4657    },
4658    "fallback": function () {
4659        "use strict";
4660        var id = "gdocs";
4661        tarteaucitron.fallback(["gdocs_embed"], tarteaucitron.engage(id));
4662    }
4663};
4664
4665// Google Sheets
4666tarteaucitron.services.gsheets = {
4667    "key": "gsheets",
4668    "type": "other",
4669    "name": "Google Sheets",
4670    "needConsent": true,
4671    "cookies": ["CONSENT", "NID"],
4672    "uri": "https://policies.google.com/privacy",
4673    "js": function () {
4674        "use strict";
4675        tarteaucitron.fallback(['gsheets_embed'], function (x) {
4676            var id = x.getAttribute('id'),
4677                width = x.getAttribute('width'),
4678                height = x.getAttribute('height'),
4679                headers = x.getAttribute('headers');
4680            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"https://docs.google.com/spreadsheets/d/e/" + id + "/pubhtml?widget=true&amp;headers=" + headers + "\"></iframe>";
4681        });
4682    },
4683    "fallback": function () {
4684        "use strict";
4685        var id = "gsheets";
4686        tarteaucitron.fallback(["gsheets_embed"], tarteaucitron.engage(id));
4687    }
4688};
4689
4690// Google Slides
4691tarteaucitron.services.gslides = {
vendor: 4,484 bytes, lines 4692-4831
4692    "key": "gslides",
4693    "type": "other",
4694    "name": "Google Slides",
4695    "needConsent": true,
4696    "cookies": ["CONSENT", "NID"],
4697    "uri": "https://policies.google.com/privacy",
4698    "js": function () {
4699        "use strict";
4700        tarteaucitron.fallback(['gslides_embed'], function (x) {
4701            var id = x.getAttribute('id'),
4702                width = x.getAttribute('width'),
4703                height = x.getAttribute('height'),
4704                autostart = x.getAttribute('autostart'),
4705                loop = x.getAttribute('loop'),
4706                delay = x.getAttribute('delay');
4707            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"https://docs.google.com/presentation/d/e/" + id + "/embed?start=" + autostart + "&loop=" + loop + "&delayms=" + delay + "\" frameborder=\"0\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\"></iframe>";
4708        });
4709    },
4710    "fallback": function () {
4711        "use strict";
4712        var id = "gslides";
4713        tarteaucitron.fallback(["gslides_embed"], tarteaucitron.engage(id));
4714    }
4715};
4716
4717// Google Forms
4718tarteaucitron.services.gforms = {
4719    "key": "gforms",
4720    "type": "other",
4721    "name": "Google Forms",
4722    "needConsent": true,
4723    "cookies": ["CONSENT", "NID"],
4724    "uri": "https://policies.google.com/privacy",
4725    "js": function () {
4726        "use strict";
4727        tarteaucitron.fallback(['gforms_embed'], function (x) {
4728            var id = x.getAttribute('id'),
4729                width = x.getAttribute('width'),
4730                height = x.getAttribute('height');
4731            return "<iframe width=\"" + width + "\" height=\"" + height + "\" src=\"https://docs.google.com/forms/d/e/" + id + "/viewform?embedded=true\" frameborder=\"0\" marginheight=\"0\" marginwidth=\"0\"></iframe>";
4732        });
4733    },
4734    "fallback": function () {
4735        "use strict";
4736        var id = "gforms";
4737        tarteaucitron.fallback(['gforms_embed'], tarteaucitron.engage(id));
4738    }
4739};
4740
4741// Google Optimize
4742tarteaucitron.services.goptimize = {
4743    "key": "goptimize",
4744    "type": "other",
4745    "name": "Google Optimize",
4746    "needConsent": true,
4747    "cookies": ["CONSENT", "NID"],
4748    "uri": "https://policies.google.com/privacy",
4749    "js": function () {
4750        "use strict";
4751
4752        if (tarteaucitron.user.goptimize === undefined) {
4753            return;
4754        }
4755
4756        tarteaucitron.addScript('https://www.googleoptimize.com/optimize.js?id=' + tarteaucitron.user.goptimize);
4757    }
4758};
4759
4760// Marketo munchkin
4761tarteaucitron.services.marketomunchkin = {
4762    "key": "marketomunchkin",
4763    "type": "api",
4764    "name": "Marketo munchkin",
4765    "uri": "https://documents.marketo.com/legal/cookies",
4766    "needConsent": true,
4767    "cookies": ['OptAnon', '_mkto_trk'],
4768    "js": function () {
4769        "use strict";
4770        if (tarteaucitron.user.marketomunchkinkey === undefined) {
4771            return;
4772        }
4773        var didInit = false;
4774        function initMunchkin() {
4775            if (didInit === false) {
4776                didInit = true;
4777                Munchkin.init(tarteaucitron.user.marketomunchkinkey);
4778            }
4779        }
4780        var s = document.createElement('script');
4781        s.type = 'text/javascript';
4782        s.async = true;
4783        s.src = '//munchkin.marketo.net/munchkin.js';
4784        s.onreadystatechange = function () {
4785            if (this.readyState == 'complete' || this.readyState == 'loaded') {
4786                initMunchkin();
4787            }
4788        };
4789        s.onload = initMunchkin;
4790        document.getElementsByTagName('head')[0].appendChild(s);
4791    }
4792};
4793
4794// outbrain
4795tarteaucitron.services.outbrain = {
4796    "key": "outbrain",
4797    "type": "ads",
4798    "name": "Outbrain",
4799    "uri": "https://www.outbrain.com/fr/advertisers/guidelines/",
4800    "needConsent": true,
4801    "cookies": [],
4802    "js": function () {
4803        "use strict";
4804
4805        tarteaucitron.addScript('https://widgets.outbrain.com/outbrain.js');
4806    }
4807};
4808
4809// affilae
4810tarteaucitron.services.affilae = {
4811    "key": "affilae",
4812    "type": "ads",
4813    "name": "Affilae",
4814    "uri": "https://affilae.com/en/privacy-cookie-policy/",
4815    "needConsent": true,
4816    "cookies": [],
4817    "js": function () {
4818        "use strict";
4819
4820        if (tarteaucitron.user.affilae === undefined) {
4821           return;
4822        }
4823        
4824        window._ae = { "pid": tarteaucitron.user.affilae };
4825
4826        tarteaucitron.addScript('https://static.affilae.com/ae-v3.5.js');
4827    }
4828};
4829
4830// Canal-U.tv
4831tarteaucitron.services.canalu = {
4832    "key": "canalu",
4833    "type": "video",
4834    "name": "Canal-U.tv",
4835    "uri": "https://www.canal-u.tv/utilisation-des-cookies/",
4836    "needConsent": true,
4837    "cookies": [],
4838    "js": function () {
4839        "use strict";
4840        tarteaucitron.fallback(['canalu_player'], function (x) {
4841            var video_title = tarteaucitron.fixSelfXSS(x.getAttribute("videoTitle")),
4842                frame_url = 'https://www.canal-u.tv/video/embed_code_plugin.1/' + video_title;
4843
4844            return '<div style="position:relative;padding-bottom:56.25%;padding-top:10px;height:0;overflow:hidden;">' +
4845                   '<iframe src="' + frame_url + '?width=100%&amp;height=100%" ' +
4846                        'style="position:absolute;top:0;left:0;width:100%;height: 100%;" ' +
4847                        'frameborder="0" ' +
4848                        'allowfullscreen ' +
4849                        'scrolling="no">' +
4850                   '</iframe>' +
4851                   '</div>';
4852        });
4853    },
4854    "fallback": function () {
4855        "use strict";
4856        tarteaucitron.fallback(['canalu_player'], function (elem) {
4857            return tarteaucitron.engage('canalu');
4858        });
4859    }
4860};
4861
4862// WebTV Normandie Université
4863tarteaucitron.services.webtvnu = {
4864    "key": "webtvnu",
4865    "type": "video",
4866    "name": "WebTV Normandie Université",
4867    "uri": "https://docs.google.com/document/d/1tpVclj4QBoAq1meSZgYrpNECwp7dbmb_IhICY3sTl9c/edit",
4868    "needConsent": true,
4869    "cookies": [],
4870    "js": function () {
4871        "use strict";
4872        tarteaucitron.fallback(['webtvnu_player'], function (x) {
4873            var frame_url = 'https://webtv.normandie-univ.fr/permalink/' + x.getAttribute("videoID") + '/iframe/',
4874                width = x.getAttribute("width"),
4875                height = x.getAttribute("height");
4876
4877            return '<iframe width="' + width + '" height="' + height + '" src="' + frame_url + '" allowfullscreen="allowfullscreen" allow="autoplay"></iframe>';
4878        });
4879    },
4880    "fallback": function () {
4881        "use strict";
4882        tarteaucitron.fallback(['webtvnu_player'], function (elem) {
4883            return tarteaucitron.engage('webtvnu');
4884        });
4885    }
4886};
4887
4888// studizz
4889tarteaucitron.services.studizz = {
4890    "key": "studizz",
4891    "type": "other",
4892    "name": "Studizz Chatbot",
4893    "uri": "https://group.studizz.fr/",
4894    "needConsent": true,
4895    "cookies": [],
4896    "js": function () {
4897        "use strict";
4898
4899        if (tarteaucitron.user.studizzToken === undefined) {
4900            return;
4901        }
4902
4903        tarteaucitron.addScript('https://webchat.studizz.fr/webchat.js?token=' 
4903+ tarteaucitron.user.studizzToken);
4904    }
4905};
4906

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.