1window.CQ_Analytics||(window.CQ_Analytics={}); 2(function(){CQ_Analytics.DataProvider=function(){function k(a){return a&&"string"==typeof a?(a=a.match(/\$\{([\w/]*)\}/ig))?a:[]:[]}var e=window.ContextHub,l=window.ClientContext,g=e||l,d=g;return{hasStore:function(a){return d===e?"undefined"!==ContextHub.getStore(a):"undefined"!==CQ_Analytics.CCM.stores[a]},getStores:function(){if(d===e){var a={},c=ContextHub.getAllStores();Object.keys(c).forEach(function(b,d){b=c[b];a[b.name]={};a[b.name].data=b.getTree()});return a}return CQ_Analytics.CCM.getStores()}, 3setItem:function(a,c,b){d===e?ContextHub.setItem("/store/"+a+"/"+c,b):CQ_Analytics.CCM.stores[a].setProperty(c,b)},getItem:function(a,c){return d===e?ContextHub.getItem("/store/"+a+"/"+c)||"":CQ_Analytics.CCM.stores[a].getProperty(c)},reset:function(a){d===e?ContextHub.getStore(a).reset():CQ_Analytics.CCM.stores[a].reset()},exists:function(){return d===e?ContextHub&&ContextHub.version:CQ_Analytics&&CQ_Analytics.ClientContextMgr&&CQ_Analytics.ClientContextMgr.isConfigLoaded},onReady:function(a){if(d=== 4e)ContextHub.eventing.on([ContextHub.Constants.EVENT_ALL_STORES_READY,ContextHub.Constants.EVENT_STORES_PARTIALLY_READY],function(c,b){a.call(this)},null,!0);else CQ_Analytics.CCM.areStoresInitialized?a.call(this):CQ_Analytics.CCM.addListener("storesinitialize",function(c){a.call(this)})},setType:function(a){d=a},getType:function(){return d?d:g},replaceVariables:function(a){if(!a)return a;var c="",b=a;for(a=k(a);0<a.length&&-1==c.indexOf(a.join());){for(var h=0;h<a.length;h++){var f=a[h];f=!f||2> 5f.length?null:f.substring(2,f.length-1);var g=d===e?ContextHub.getItem(f):CQ_Analytics.ClientContext.get(f);b=b.replace(new RegExp("\\$\\{"+f+"\\}","ig"),g)}c+=a.join();a=k(b)}return b}}}()})();
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.