1const MSG_DISPLAY_TIME=6e3,TOAST_MSG_MARKUP="#toast-messages .toast-msg-container",ANIMATION_DURATION=600;$(document).ready(()=>{bindToast()});const bindToast=()=>{$(document).on("click",TOAST_MSG_MARKUP,function(){$(this).fadeOut(600)}),$(TOAST_MSG_MARKUP).length&&setTimeout(()=>$(TOAST_MSG_MARKUP).fadeOut(600),6e3)};function debounce(t,s=300){let i;return(...e)=>{clearTimeout(i),i=setTimeout(()=>{t.apply(this,e)},s)}}window.showError=(t=>{const s=$("<div />");s.addClass("toast-msg-container cursor-pointer w-full mb-1 p-1.5 flex justify-center text-white bg-special-merlotred"),s.html(t),$("#toast-messages").append(s),bindToast()});const NEUTRAL="netural_state";class PasswordValidator{get conditions(){return{"valid-length":t=>/^.{8,}$/.test(t),"valid-uppercase":t=>/[A-Z]{1,}/.test(t),"valid-lowercase":t=>/[a-z]{1,}/.test(t),"valid-number":t=>/[0-9]{1,}/.test(t),"valid-special":t=>/[!@#$%^&*(),.?":{}|<>]{1,}/.test(t),"valid-three-chars":t=>t.length<=3?NEUTRAL:!/(.)\1\1/i.test(t)}}get value(){return this.passwordField.val()}constructor(t){this.passwordField=$(t),this.passwordField.keyup(debounce(this.validate.bind(this))),this.markAllIncorrect=!1,this.isDirty=[],this.isValid=!1}validate(){const t=$(".password-validator");for(const s in this.conditions){const i=this.conditions[s];if(t.find(`.${s}`).removeClass("invalid valid text-special-merlotred text-green-900"),i(this.value)===NEUTRAL)return;i(this.value)?(t.find(`.${s}`).addClass("text-green-900 valid"),this.isDirty.includes(s)||this.isDirty.push(s)):(this.validState=!1,(this.isDirty.includes(s)||this.markAllIncorrect)&&t.find(`.${s}`).addClass("text-special-merlotred invalid"))}return this.isValid=!0,this.isValid}onSubmit(){return this.markAllIncorrect=!0,this.validate()}}
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.