1document.addEventListener('DOMContentLoaded',function(){const FOCUS_CLASS='form-group-focus';const FILLED_CLASS='form-group-filled';const FORM_GROUP='.form-group, .form__entry';function groupHasValue(group){var fields=group.querySelectorAll('input, textarea, select');for(var i=0;i<fields.length;i++){var el=fields[i];if(el.type==='checkbox'||el.type==='radio'){if(el.checked){return!0} 2continue} 3if((el.value||'').trim()!==''){return!0}} 4return!1} 5document.querySelectorAll(FORM_GROUP).forEach(function(group){if(groupHasValue(group)){group.classList.add(FILLED_CLASS)}});document.addEventListener('focusin',function(event){var group=event.target.closest(FORM_GROUP);if(!group)return;group.classList.add(FOCUS_CLASS);if(groupHasValue(group)){group.classList.add(FILLED_CLASS)}});document.addEventListener('focusout',function(event){var group=event.target.closest(FORM_GROUP);if(!group)return;setTimeout(function(){if(!group.contains(document.activeElement)){group.classList.remove(FOCUS_CLASS);if(!groupHasValue(group)){group.classList.remove(FILLED_CLASS)}}},0)});function handleValueChange(event){var group=event.target.closest(FORM_GROUP);if(!group)return;if(groupHasValue(group)){group.classList.add(FILLED_CLASS)}else if(!group.classList.contains(FOCUS_CLASS)){group.classList.remove(FILLED_CLASS)}} 6document.addEventListener('input',handleValueChange);document.addEventListener('change',handleValueChange)})
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.