1/** 2 shave - Shave is a javascript plugin that truncates multi-line text within a html element based on set max height 3 @version v2.5.10 4 @link https://github.com/yowainwright/shave#readme 5 @author Jeff Wainwright <[email protected]> (jeffry.in) 6 @license MIT 7**/ 8!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";if("undefined"!=typeof window){var e=window.$||window.jQuery||window.Zepto;e&&(e.fn.shave=function(e,t){return function(e,t,n){var i=2<arguments.length&&void 0!==n?n:{};if(void 0===t||isNaN(t))throw Error("maxHeight is required");var a="string"==typeof e?document.querySelectorAll(e):e;if(a){var o=i.character||"…",r=i.classname||"js-shave",s="boolean"!=typeof i.spaces||i.spaces,c=i.charclassname||"js-shave-char",d='<span class="'.concat(c,'">').concat(o,"</span>");"length"in a||(a=[a]);for(var h=0;h<a.length;h+=1){var l=a[h],f=l.style,v=l.querySelector(".".concat(r)),g=void 0===l.textContent?"innerText":"textContent";v&&(l.removeChild(l.querySelector(".".concat(c))),l[g]=l[g]);var u=l[g],m=s?u.split(" "):u;if(!(m.length<2)){var p=f.height;f.height="auto";var y=f.maxHeight;if(f.maxHeight="none",l.offsetHeight<=t)f.height=p,f.maxHeight=y;else{for(var j=m.length-1,w=0,x=void 0;w<j;)x=w+j+1>>1,l[g]=s?m.slice(0,x).join(" "):m.slice(0,x),l.insertAdjacentHTML("beforeend",d),l.offsetHeight>t?j=x-1:w=x;l[g]=s?m.slice(0,j).join(" "):m.slice(0,j),l.insertAdjacentHTML("beforeend",d);var H=s?" ".concat(m.slice(j).join(" ")):m.slice(j),b=document.createTextNode(H),q=document.createElement("span");q.classList.add(r),q.style.display="none",q.appendChild(b),l.insertAdjacentElement("beforeend",q),f.height=p,f.maxHeight=y}}}}}(this,e,t),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.