(() => { "use strict"; var t = { d: (e, s) => { for (var i in s) t.o(s, i) && !t.o(e, i) && Object.defineProperty(e, i, { enumerable: !0, get: s[i] }) }, o: (t, e) => Object.prototype.hasOwnProperty.call(t, e), r: t => { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 }) } }, e = {}; function s(t) { if (this.formData = {}, this.tree = {}, !(t instanceof FormData)) return this; this.formData = t; const e = () => { const t = new Map; return t.largestIndex = 0, t.set = function(e, s) { "" === e ? e = t.largestIndex++ : /^[0-9]+$/.test(e) && (e = parseInt(e), t.largestIndex <= e && (t.largestIndex = e + 1)), Map.prototype.set.call(t, e, s) }, t }; this.tree = e(); const s = /^(?[a-z][-a-z0-9_:]*)(?(?:\[(?:[a-z][-a-z0-9_:]*|[0-9]*)\])*)/i; for (const [t, i] of this.formData) { const o = t.match(s); if (o) if ("" === o.groups.array) this.tree.set(o.groups.name, i); else { const t = [...o.groups.array.matchAll(/\[([a-z][-a-z0-9_:]*|[0-9]*)\]/gi)].map((([t, e]) => e)); t.unshift(o.groups.name); const s = t.pop(); t.reduce(((t, s) => { if (/^[0-9]+$/.test(s) && (s = parseInt(s)), t.get(s) instanceof Map) return t.get(s); const i = e(); return t.set(s, i), i }), this.tree).set(s, i) } } } t.r(e), t.d(e, { date: () => d, email: () => r, file: () => m, maxdate: () => x, maxfilesize: () => w, maxlength: () => h, maxnumber: () => v, mindate: () => g, minlength: () => f, minnumber: () => u, number: () => c, required: () => n, requiredfile: () => a, tel: () => l, url: () => p }), s.prototype.entries = function() { return this.tree.entries() }, s.prototype.get = function(t) { return this.tree.get(t) }, s.prototype.getAll = function(t) { if (!this.has(t)) return []; const e = t => { const s = []; if (t instanceof Map) for (const [i, o] of t) s.push(...e(o)); else "" !== t && s.push(t); return s }; return e(this.get(t)) }, s.prototype.has = function(t) { return this.tree.has(t) }, s.prototype.keys = function() { return this.tree.keys() }, s.prototype.values = function() { return this.tree.values() }; const i = s; function o({ rule: t, field: e, error: s, ...i }) { this.rule = t, this.field = e, this.error = s, this.properties = i } const n = function(t) { if (0 === t.getAll(this.field).length) throw new o(this) }, a = function(t) { if (0 === t.getAll(this.field).length) throw new o(this) }, r = function(t) { if (!t.getAll(this.field).every((t => { if ((t = t.trim()).length < 6) return !1; if (-1 === t.indexOf("@", 1)) return !1; if (t.indexOf("@") !== t.lastIndexOf("@")) return !1; const [e, s] = t.split("@", 2); if (!/^[a-zA-Z0-9!#$%&\'*+\/=?^_`{|}~\.-]+$/.test(e)) return !1; if (/\.{2,}/.test(s)) return !1; if (/(?:^[ \t\n\r\0\x0B.]|[ \t\n\r\0\x0B.]$)/.test(s)) return !1; const i = s.split("."); if (i.length < 2) return !1; for (const t of i) { if (/(?:^[ \t\n\r\0\x0B-]|[ \t\n\r\0\x0B-]$)/.test(t)) return !1; if (!/^[a-z0-9-]+$/i.test(t)) return !1 } return !0 }))) throw new o(this) }, p = function(t) { const e = t.getAll(this.field); if (!e.every((t => { if ("" === (t = t.trim())) return !1; try { return (t => -1 !== ["http", "https", "ftp", "ftps", "mailto", "news", "irc", "irc6", "ircs", "gopher", "nntp", "feed", "telnet", "mms", "rtsp", "sms", "svn", "tel", "fax", "xmpp", "webcal", "urn"].indexOf(t))(new URL(t).protocol.replace(/:$/, "")) } catch { return !1 } }))) throw new o(this) }, l = function(t) { if (!t.getAll(this.field).every((t => (t = (t = t.trim()).replaceAll(/[()/.*#\s-]+/g, ""), /^[+]?[0-9]+$/.test(t))))) throw new o(this) }, c = function(t) { if (!t.getAll(this.field).every((t => (t = t.trim(), !!/^[-]?[0-9]+(?:[eE][+-]?[0-9]+)?$/.test(t) || !!/^[-]?(?:[0-9]+)?[.][0-9]+(?:[eE][+-]?[0-9]+)?$/.test(t))))) throw new o(this) }, d = function(t) { if (!t.getAll(this.field).every((t => /^[0-9]{4,}-[0-9]{2}-[0-9]{2}$/.test(t.trim())))) throw new o(this) }, m = function(t) { if (!t.getAll(this.field).every((t => t instanceof File && this.accept ? .some((e => /^\.[a-z0-9]+$/i.test(e) ? t.name.toLowerCase().endsWith(e.toLowerCase()) : (t => { const e = [], s = t.match(/^(?[a-z]+)\/(?[*]|[a-z0-9.+-]+)$/i); if (s) { const t = s.groups.toplevel.toLowerCase(), i = s.groups.sub.toLowerCase(); for (const [o, n] of (() => { const t = new Map; return t.set("jpg|jpeg|jpe", "image/jpeg"), t.set("gif", "image/gif"), t.set("png", "image/png"), t.set("bmp", "image/bmp"), t.set("tiff|tif", "image/tiff"), t.set("webp", "image/webp"), t.set("ico", "image/x-icon"), t.set("heic", "image/heic"), t.set("asf|asx", "video/x-ms-asf"), t.set("wmv", "video/x-ms-wmv"), t.set("wmx", "video/x-ms-wmx"), t.set("wm", "video/x-ms-wm"), t.set("avi", "video/avi"), t.set("divx", "video/divx"), t.set("flv", "video/x-flv"), t.set("mov|qt", "video/quicktime"), t.set("mpeg|mpg|mpe", "video/mpeg"), t.set("mp4|m4v", "video/mp4"), t.set("ogv", "video/ogg"), t.set("webm", "video/webm"), t.set("mkv", "video/x-matroska"), t.set("3gp|3gpp", "video/3gpp"), t.set("3g2|3gp2", "video/3gpp2"), t.set("txt|asc|c|cc|h|srt", "text/plain"), t.set("csv", "text/csv"), t.set("tsv", "text/tab-separated-values"), t.set("ics", "text/calendar"), t.set("rtx", "text/richtext"), t.set("css", "text/css"), t.set("htm|html", "text/html"), t.set("vtt", "text/vtt"), t.set("dfxp", "application/ttaf+xml"), t.set("mp3|m4a|m4b", "audio/mpeg"), t.set("aac", "audio/aac"), t.set("ra|ram", "audio/x-realaudio"), t.set("wav", "audio/wav"), t.set("ogg|oga", "audio/ogg"), t.set("flac", "audio/flac"), t.set("mid|midi", "audio/midi"), t.set("wma", "audio/x-ms-wma"), t.set("wax", "audio/x-ms-wax"), t.set("mka", "audio/x-matroska"), t.set("rtf", "application/rtf"), t.set("js", "application/javascript"), t.set("pdf", "application/pdf"), t.set("swf", "application/x-shockwave-flash"), t.set("class", "application/java"), t.set("tar", "application/x-tar"), t.set("zip", "application/zip"), t.set("gz|gzip", "application/x-gzip"), t.set("rar", "application/rar"), t.set("7z", "application/x-7z-compressed"), t.set("exe", "application/x-msdownload"), t.set("psd", "application/octet-stream"), t.set("xcf", "application/octet-stream"), t.set("doc", "application/msword"), t.set("pot|pps|ppt", "application/vnd.ms-powerpoint"), t.set("wri", "application/vnd.ms-write"), t.set("xla|xls|xlt|xlw", "application/vnd.ms-excel"), t.set("mdb", "application/vnd.ms-access"), t.set("mpp", "application/vnd.ms-project"), t.set("docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"), t.set("docm", "application/vnd.ms-word.document.macroEnabled.12"), t.set("dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template"), t.set("dotm", "application/vnd.ms-word.template.macroEnabled.12"), t.set("xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"), t.set("xlsm", "application/vnd.ms-excel.sheet.macroEnabled.12"), t.set("xlsb", "application/vnd.ms-excel.sheet.binary.macroEnabled.12"), t.set("xltx", "application/vnd.openxmlformats-officedocument.spreadsheetml.template"), t.set("xltm", "application/vnd.ms-excel.template.macroEnabled.12"), t.set("xlam", "application/vnd.ms-excel.addin.macroEnabled.12"), t.set("pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation"), t.set("pptm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12"), t.set("ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow"), t.set("ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12"), t.set("potx", "application/vnd.openxmlformats-officedocument.presentationml.template"), t.set("potm", "application/vnd.ms-powerpoint.template.macroEnabled.12"), t.set("ppam", "application/vnd.ms-powerpoint.addin.macroEnabled.12"), t.set("sldx", "application/vnd.openxmlformats-officedocument.presentationml.slide"), t.set("sldm", "application/vnd.ms-powerpoint.slide.macroEnabled.12"), t.set("onetoc|onetoc2|onetmp|onepkg", "application/onenote"), t.set("oxps", "application/oxps"), t.set("xps", "application/vnd.ms-xpsdocument"), t.set("odt", "application/vnd.oasis.opendocument.text"), t.set("odp", "application/vnd.oasis.opendocument.presentation"), t.set("ods", "application/vnd.oasis.opendocument.spreadsheet"), t.set("odg", "application/vnd.oasis.opendocument.graphics"), t.set("odc", "application/vnd.oasis.opendocument.chart"), t.set("odb", "application/vnd.oasis.opendocument.database"), t.set("odf", "application/vnd.oasis.opendocument.formula"), t.set("wp|wpd", "application/wordperfect"), t.set("key", "application/vnd.apple.keynote"), t.set("numbers", "application/vnd.apple.numbers"), t.set("pages", "application/vnd.apple.pages"), t })())("*" === i && n.startsWith(t + "/") || n === s[0]) && e.push(...o.split("|")) } return e })(e).some((e => (e = "." + e.trim(), t.name.toLowerCase().endsWith(e.toLowerCase()))))))))) throw new o(this) }, f = function(t) { const e = t.getAll(this.field); let s = 0; if (e.forEach((t => { "string" == typeof t && (s += t.length) })), 0 !== s && s < parseInt(this.threshold)) throw new o(this) }, h = function(t) { const e = t.getAll(this.field); let s = 0; if (e.forEach((t => { "string" == typeof t && (s += t.length) })), parseInt(this.threshold) < s) throw new o(this) }, u = function(t) { if (!t.getAll(this.field).every((t => !(parseFloat(t) < parseFloat(this.threshold))))) throw new o(this) }, v = function(t) { if (!t.getAll(this.field).every((t => !(parseFloat(this.threshold) < parseFloat(t))))) throw new o(this) }, g = function(t) { if (!t.getAll(this.field).every((t => (t = t.trim(), !(/^[0-9]{4,}-[0-9]{2}-[0-9]{2}$/.test(t) && /^[0-9]{4,}-[0-9]{2}-[0-9]{2}$/.test(this.threshold) && t < this.threshold))))) throw new o(this) }, x = function(t) { if (!t.getAll(this.field).every((t => (t = t.trim(), !(/^[0-9]{4,}-[0-9]{2}-[0-9]{2}$/.test(t) && /^[0-9]{4,}-[0-9]{2}-[0-9]{2}$/.test(this.threshold) && this.threshold < t))))) throw new o(this) }, w = function(t) { const e = t.getAll(this.field); let s = 0; if (e.forEach((t => { t instanceof File && (s += t.size) })), parseInt(this.threshold) < s) throw new o(this) }; var b; window.swv = { validators: e, validate: (t, s, n = {}) => { const a = (t.rules ? ? []).filter((({ rule: t, ...s }) => "function" == typeof e[t] && ("function" != typeof e[t].matches || e[t].matches(s, n)))); if (!a.length) return new Map; const r = new i(s); return a.reduce(((t, s) => { const { rule: i, ...n } = s; if (t.get(n.field) ? .error) return t; try { e[i].call({ rule: i, ...n }, r) } catch (e) { if (e instanceof o) return t.set(n.field, e) } return t.set(n.field, {}) }), new Map) }, ...null !== (b = window.swv) && void 0 !== b ? b : {} } })();