1!function(t,e){var i="articleProgress",n={target:null,mode:"width",advance:30,circleBg:"#fff",circleFg:"green"};function s(e,s){if(this.element=e,this.options=t.extend({},n,s),!this.options.target){var a=t('<div style="position: fixed; top: 0; left: 0; right: 0; height: 2px; background: transparent;"></div>').append('<div style="position: absolute; width: 0%; height: 100%; left: 0; top: 0; background: green;"></div>');t("body").append(a),this.options.target=a.children()}this._default=n,this._name=i,this.lastValue=-1,this.init()}s.prototype.init=function(){var i=this;t(e).on("resize scroll",function(){i.update()}),this.update()},s.prototype.update=function(){var i=t(this.element).eq(0),n=i.offset(),s=t(e).scrollTop(),a=i.height(),o=t(e).height()*this.options.advance/100,r=s-n.top+o<0,c=n.top+a-s-o<0,h=0;c?h=100:r||(h=(s-n.top+o)/a*100)<0&&(h=0),h!==this.lastValue&&(this.lastValue=h,this.change(h))},s.prototype.change=function(e){var i=this.options.mode.split(" "),n=t(this.options.target);for(var s in i){switch(i[s]){case"width":n.css("width",e+"%");break;case"text":n.text(Math.round(e)+"%");break;case"circle":if(100===e)n.css("background-image","none");else{var a=90+360*e/100,o=e<50?"transparent":this.options.circleFg,r=e<50?this.options.circleBg:"transparent";n.css("background-image","linear-gradient("+a+"deg, "+o+" 50%, "+r+" 50%), linear-gradient(90deg, "+this.options.circleBg+" 50%, transparent 50%)")}break;case"progress":n.attr("aria-valuenow",e),n.find("div").css("width",e+"%")}}},t.fn[i]=function(t){return this.each(function(){new s(this,t)})}}(jQuery,window);
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.