1!function(t){t.fn.viewportChecker=function(e){var o={classToAdd:"visible",classToRemove:"invisible",offset:100,repeat:!1,invertBottomOffset:!0,callbackFunction:function(t,e){},scrollHorizontal:!1};t.extend(o,e);var s=this,a={height:t(window).height(),width:t(window).width()},l=-1!=navigator.userAgent.toLowerCase().indexOf("webkit")?"body":"html";return this.checkElements=function(){var e,i;i=o.scrollHorizontal?(e=t(l).scrollLeft())+a.width:(e=t(l).scrollTop())+a.height,s.each(function(){var s=t(this),a={},l={};if(s.data("vp-add-class")&&(l.classToAdd=s.data("vp-add-class")),s.data("vp-remove-class")&&(l.classToRemove=s.data("vp-remove-class")),s.data("vp-offset")&&(l.offset=s.data("vp-offset")),s.data("vp-repeat")&&(l.repeat=s.data("vp-repeat")),s.data("vp-scrollHorizontal")&&(l.scrollHorizontal=s.data("vp-scrollHorizontal")),s.data("vp-invertBottomOffset")&&(l.scrollHorizontal=s.data("vp-invertBottomOffset")),t.extend(a,o),t.extend(a,l),!s.hasClass(a.classToAdd)||a.repeat){var c=a.scrollHorizontal?Math.round(s.offset().left)+a.offset:Math.round(s.offset().top)+a.offset,r=a.scrollHorizontal?c+s.width():c+s.height();a.invertBottomOffset&&(r-=2*a.offset),c<i&&r>e?(s.removeClass(a.classToRemove),s.addClass(a.classToAdd),a.callbackFunction(s,"add")):s.hasClass(a.classToAdd)&&a.repeat&&(s.removeClass(a.classToAdd),a.callbackFunction(s,"remove"))}})},t(window).bind("load scroll touchmove MSPointerMove",this.checkElements),t(window).resize(function(e){a={height:t(window).height(),width:t(window).width()},s.checkElements()}),this.checkElements(),this}}(jQuery);
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.