1/* eslint-disable */ 2function loadScript(src, callback) { 3 const script = document.createElement('script'); 4 script.type = 'text/javascript'; 5 script.src = src; 6 script.async = true; 7 script.onload = function () { 8 if (callback && typeof callback === 'function') { 9 callback(); 10 } 11 }; 12 document.head.appendChild(script); 13} 14 15'use strict'; 16function _typeof(t) { 17 return (_typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' 18 ? function (t) { return typeof t; } 19 : function (t) { return t && typeof Symbol === 'function' && t.constructor === Symbol && t !== Symbol.prototype ? 'symbol' : typeof t; })(t); 20} 21 22!(function () { 23 const t = function () { 24 let t; 25 let e; 26 const o = []; 27 const n = window; 28 let r = n; 29 for (;r;) { 30 try { 31 if (r.frames.__tcfapiLocator) { 32 t = r; 33 break; 34 } 35 } catch (t) {} 36 if (r === n.top) break; 37 r = r.parent; 38 } 39 t || (!(function t() { 40 const e = n.document; 41 const o = !!n.frames.__tcfapiLocator; 42 if (!o) if (e.body) { 43 const r = e.createElement('iframe'); 44 r.style.cssText = 'display:none'; 45 r.name = '__tcfapiLocator'; 46 e.body.appendChild(r); 47 } else setTimeout(t, 5); 48 return !o; 49 }()), 50 n.__tcfapi = function () { 51 for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++) n[r] = arguments[r]; 52 if (!n.length) return o; 53 n[0] === 'setGdprApplies' 54 ? n.length > 3 && parseInt(n[1], 10) === 2 && typeof n[3] === 'boolean' && (e = n[3], typeof n[2] === 'function' && n[2]('set', !0)) 55 : n[0] === 'ping' 56 ? typeof n[2] === 'function' && n[2]({ gdprApplies: e, cmpLoaded: !1, cmpStatus: 'stub' }) 57 : o.push(n); 58 }, 59 n.addEventListener('message', ((t) => { 60 const e = typeof t.data === 'string'; 61 let o = {}; 62 if (e) try { 63 o = JSON.parse(t.data); 64 } catch (t) {} 65 else o = t.data; 66 const n = _typeof(o) === 'object' && o !== null ? o.__tcfapiCall : null; 67 n && window.__tcfapi(n.command, n.version, ((o, r) => { 68 const a = { __tcfapiReturn: { returnValue: o, success: r, callId: n.callId } }; 69 t && t.source && t.source.postMessage && t.source.postMessage(e ? JSON.stringify(a) : a, '*'); 70 }), n.parameter); 71 }), !1)); 72 }; 73 typeof module !== 'undefined' ? module.exports = t : t(); 74}()); 75 76(function () { 77 window.__gpp_addFrame = function (e) { 78 if (!window.frames[e]) if (document.body) { 79 var t = document.createElement('iframe'); 80 t.style.cssText = 'display:none'; 81 t.name = e; 82 document.body.appendChild(t); 83 } else window.setTimeout(window.__gpp_addFrame, 10, e); 84 }; 85 86 window.__gpp_stub = function () { 87 var e = arguments; 88 if (__gpp.queue = __gpp.queue || [], __gpp.events = __gpp.events || [], !e.length || 1 == e.length && 'queue' == e[0]) return __gpp.queue; 89 if (1 == e.length && 'events' == e[0]) return __gpp.events; 90 var t = e[0], p = e.length > 1 ? e[1] : null, s = e.length > 2 ? e[2] : null; 91 if ('ping' === t) p({ gppVersion: '1.1', cmpStatus: 'stub', cmpDisplayStatus: 'hidden', signalStatus: 'not ready', supportedAPIs: ['2:tcfeuv2', '5:tcfcav1', '6:uspv1', '7:usnat', '8:usca', '9:usva', '10:usco', '11:usut', '12:usct'], cmpId: 0, sectionList: [], applicableSections: [], gppString: '', parsedSections: {} }, !0); 92 else if ('addEventListener' === t) { 93 'lastId' in __gpp || (__gpp.lastId = 0), __gpp.lastId++; 94 var n = __gpp.lastId; 95 __gpp.events.push({ id: n, callback: p, parameter: s }), p({ eventName: 'listenerRegistered', listenerId: n, data: !0, pingData: { gppVersion: '1.1', cmpStatus: 'stub', cmpDisplayStatus: 'hidden', signalStatus: 'not ready', supportedAPIs: ['2:tcfeuv2', '5:tcfcav1', '6:uspv1', '7:usnat', '8:usca', '9:usva', '10:usco', '11:usut', '12:usct'], cmpId: 0, sectionList: [], applicableSections: [], gppString: '', parsedSections: {} } }, !0); 96 } else if ('removeEventListener' === t) { 97 for (var a = !1, i = 0; i < __gpp.events.length; i++) if (__gpp.events[i].id == s) { 98 __gpp.events.splice(i, 1), a = !0; 99 break; 100 } 101 p({ eventName: 'listenerRemoved', listenerId: s, data: a, pingData: { gppVersion: '1.1', cmpStatus: 'stub', cmpDisplayStatus: 'hidden', signalStatus: 'not ready', supportedAPIs: ['2:t
101cfeuv2', '5:tcfcav1', '6:uspv1', '7:usnat', '8:usca', '9:usva', '10:usco', '11:usut', '12:usct'], cmpId: 0, sectionList: [], applicableSections: [], gppString: '', parsedSections: {} } }, !0); 102 } else 'hasSection' === t ? p(!1, !0) : 'getSection' === t || 'getField' === t ? p(null, !0) : __gpp.queue.push([].slice.apply(e)); 103 }; 104 105 window.__gpp_msghandler = function (e) { 106 var t = 'string' == typeof e.data; 107 try { 108 var p = t ? JSON.parse(e.data) : e.data; 109 } catch (e) { 110 p = null; 111 } 112 if ('object' == typeof p && null !== p && '__gppCall' in p) { 113 var s = p.__gppCall; 114 window.__gpp(s.command, (function (p, n) { 115 var a = { __gppReturn: { returnValue: p, success: n, callId: s.callId } }; 116 e.source.postMessage(t ? JSON.stringify(a) : a, '*'); 117 }), 'parameter' in s ? s.parameter : null, 'version' in s ? s.version : '1.1'); 118 } 119 }; 120 121 '__gpp' in window && 'function' == typeof window.__gpp || (window.__gpp = window.__gpp_stub, window.addEventListener('message', window.__gpp_msghandler, !1), window.__gpp_addFrame('__gppLocator')); 122}()); 123 124const siteName = document.querySelector('meta[name="theme"]').content; 125function identifySite(siteName) { 126 const site = { 127 'mescomputing-com': 'http://mescomputing.com', 128 'channelweb-co-uk': 'http://channelweb.co.uk', 129 'computing-co-uk': 'http://computing.co.uk', 130 'crn-de': 'http://crn.de', 131 'computing-de': 'http://computingdeutschland.de', 132 'crn-asia': 'http://crnasia.com', 133 'crn-australia': 'http://crn.com.au', 134 }; 135 136 return site[siteName] ?? console.error('Cookie policy failed to load because site was not identified.'); 137} 138 139const isGermanSite = siteName === 'crn-de' || siteName === 'computing-de'; 140 141window._sp_queue = []; 142window._sp_ = { 143 config: { 144 accountId: 1852, 145 baseEndpoint: 'https://cdn.privacy-mgmt.com', 146 propertyHref: `${identifySite(siteName)}`, 147 // Force German copy for DE properties (messages default to DE but otherwise follow browser language). 148 ...(isGermanSite ? { consentLanguage: 'de' } : {}), 149 usnat: { }, 150 gdpr: { }, 151 events: { 152 onMessageReady() { 153 console.log('[event] onMessageReady', arguments); 154 }, 155 onMessageReceiveData() { 156 console.log('[event] onMessageReceiveData', arguments); 157 }, 158 onSPReady() { 159 console.log('[event] onSPReady', arguments); 160 }, 161 onError() { 162 console.log('[event] onError', arguments); 163 }, 164 onMessageChoiceSelect() { 165 console.log('[event] onMessageChoiceSelect', arguments); 166 }, 167 onConsentReady(consentUUID, euconsent) { 168 console.log('[event] onConsentReady', arguments); 169 }, 170 onPrivacyManagerAction() { 171 console.log('[event] onPrivacyManagerAction', arguments); 172 }, 173 onPMCancel() { 174 console.log('[event] onPMCancel', arguments); 175 } 176 } 177 } 178}; 179 180loadScript('https://cdn.privacy-mgmt.com/unified/wrapperMessagingWithoutDetection.js', () => { 181 console.log('External script has been loaded.'); 182}); 183
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.