1"use strict";!function($){$.fn.autocompleteBox=function(options){var settings=$.extend({minChars:3,apiUrl:"",resultBox:"#search-result-box",debounce:300,spinnerHtml:'<div class="spinner">Loading...</div>'},options),$input=this,$box=$(settings.resultBox),currentRequest=null,debounceTimer=null,ignoredKeys=[9,13,16,17,18,20,27,33,34,35,36,37,38,39,40,91];return $input.on("keyup",function(e){if(!ignoredKeys.includes(e.which)){var query=$(this).val().trim();query.length>=settings.minChars?$box.html(settings.spinnerHtml).show():$box.hide(),clearTimeout(debounceTimer),debounceTimer=setTimeout(function(){currentRequest&&4!==currentRequest.readyState&¤tRequest.abort(),query.length>=settings.minChars?($box.html(settings.spinnerHtml).show(),currentRequest=$.get(settings.apiUrl,{q:query},function(data){data&&0<data.trim().length?$box.html(data).show():$box.hide()}).fail(function(xhr,status){"abort"!==status&&$box.hide()})):$box.hide()},settings.debounce)}}),$(document).on("click",function(e){$(e.target).closest($input).length||$(e.target).closest($box).length||$box.hide()}),$(window).on("resize",function(){$box.hide()}),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.