1(function(c,r){c.Granite=c.Granite||{};c.Granite.HTTP=c.Granite.HTTP||{};var e=null;c.Granite.HTTP.externalize=c.Granite.HTTP.externalize||function(f){if(null===e)a:{var l=/^(?:http|https):\/\/[^\/]+(\/.*)\/(?:etc\.clientlibs|etc(\/.*)*\/clientlibs|libs(\/.*)*\/clientlibs|apps(\/.*)*\/clientlibs).*\.js(\?.*)?$/;try{if(c.CQURLInfo)e=CQURLInfo.contextPath||"";else{for(var m=document.getElementsByTagName("script"),h=0;h<m.length;h++){var n=l.exec(m[h].src);if(n){e=n[1];break a}}e=""}}catch(g){}}try{0== 2f.indexOf("/")&&e&&0!=f.indexOf(e+"/")&&(f=e+f)}catch(g){}return f}})(this); 3(function(c,r){function e(){this._handler=[]}function f(a){var b="//"+document.location.host,d=document.location.protocol+b;return a==d||a.slice(0,d.length+1)==d+"/"||a==b||a.slice(0,b.length+1)==b+"/"||!/^(\/\/|http:|https:).*/.test(a)}function l(){g=new e;var a=new XMLHttpRequest;a.onreadystatechange=function(){if(4===a.readyState)try{k=JSON.parse(a.responseText).token,g.resolve(k)}catch(b){g.reject(a.responseText)}};a.open("GET",Granite.HTTP.externalize(n),!0);a.send();return g}function m(a){var b= 4a.getAttribute("action");if(!b||f(b))b=a.querySelector('input[name\x3d":cq_csrf_token"]'),b||(b=document.createElement("input"),b.setAttribute("type","hidden"),b.setAttribute("name",":cq_csrf_token"),a.appendChild(b)),b.setAttribute("value",k)}function h(a){var b=function(d){d=d.target;"form"===d.nodeName.toLowerCase()&&k&&m(d)};a.addEventListener?a.addEventListener("submit",b,!0):a.attachEvent&&a.attachEvent("submit",b)}c.Granite=c.Granite||{};if(!c.Granite.csrf){c.Granite.csrf={initialised:!1,refreshToken:l}; 5e.prototype={then:function(a,b){this._handler.push({resolve:a,reject:b})},resolve:function(){this._execute("resolve",arguments)},reject:function(){this._execute("reject",arguments)},_execute:function(a,b){if(null===this._handler)throw Error("Promise already completed.");for(var d=0,q=this._handler.length;d<q;d++)this._handler[d][a].apply(c,b);this.then=function(t,u){("resolve"===a?t:u).apply(c,b)};this._handler=null}};var n="/libs/granite/csrf/token.json",g,k;l();h(document);var v=XMLHttpRequest.prototype.open; 6XMLHttpRequest.prototype.open=function(a,b){f(b)&&"get"!==a.toLowerCase()&&(this._csrf=!0);return v.apply(this,arguments)};var p=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.send=function(a){if(this._csrf)if(k)this.setRequestHeader("CSRF-Token",k),p.apply(this,arguments);else{var b=this,d=Array.prototype.slice.call(arguments);g.then(function(q){b.setRequestHeader("CSRF-Token",q);p.apply(b,d)},function(){c.console&&console.error("Unable to read CSRF meta information");p.apply(b,d)})}else p.apply(this, 7arguments)};var w=HTMLFormElement.prototype.submit;HTMLFormElement.prototype.submit=function(){m(this);return w.apply(this,arguments)};if(c.Node){var x=Node.prototype.appendChild;Node.prototype.appendChild=function(){var a=x.apply(this,arguments);if("IFRAME"===a.nodeName)try{a.contentWindow&&!a._csrf&&(a._csrf=!0,h(a.contentWindow.document))}catch(b){a.src&&a.src.length&&f(a.src)&&c.console&&console.error("Unable to attach CSRF token an iframe element on the same origin")}return a}}setInterval(function(){l()}, 83E5)}})(this);
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.