![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/pub/static/frontend/Magento/blank/en_US/Magento_Customer/js/ |
/* * Realistic Password Strength Estimator v4.2.0 * * Copyright (c) 2012-2015 Dan Wheeler and Dropbox, Inc. * * See https://github.com/dropbox/zxcvbn/blob/master/LICENSE.txt */ (function (f) { if (typeof exports === "object" && typeof module !== "undefined") { module.exports = f() } else if (typeof define === "function" && define.amd) { define([], f) } else { var g; if (typeof window !== "undefined") { g = window } else if (typeof global !== "undefined") { g = global } else if (typeof self !== "undefined") { g = self } else { g = this } g.zxcvbn = f() } })(function () { var define, module, exports; return (function e(t, n, r) { function s(o, u) { if (!n[o]) { if (!t[o]) { var a = typeof require == "function" && require; if (!u && a)return a(o, !0); if (i)return i(o, !0); var f = new Error("Cannot find module '" + o + "'"); throw f.code = "MODULE_NOT_FOUND", f } var l = n[o] = {exports: {}}; t[o][0].call(l.exports, function (e) { var n = t[o][1][e]; return s(n ? n : e) }, l, l.exports, e, t, n, r) } return n[o].exports } var i = typeof require == "function" && require; for (var o = 0; o < r.length; o++)s(r[o]); return s })({ 1: [function (require, module, exports) { var adjacency_graphs; adjacency_graphs = { qwerty: { "!": ["`~", null, null, "2@", "qQ", null], '"': [";:", "[{", "]}", null, null, "/?"], "#": ["2@", null, null, "4$", "eE", "wW"], $: ["3#", null, null, "5%", "rR", "eE"], "%": ["4$", null, null, "6^", "tT", "rR"], "&": ["6^", null, null, "8*", "uU", "yY"], "'": [";:", "[{", "]}", null, null, "/?"], "(": ["8*", null, null, "0)", "oO", "iI"], ")": ["9(", null, null, "-_", "pP", "oO"], "*": ["7&", null, null, "9(", "iI", "uU"], "+": ["-_", null, null, null, "]}", "[{"], ",": ["mM", "kK", "lL", ".>", null, null], "-": ["0)", null, null, "=+", "[{", "pP"], ".": [",<", "lL", ";:", "/?", null, null], "/": [".>", ";:", "'\"", null, null, null], 0: ["9(", null, null, "-_", "pP", "oO"], 1: ["`~", null, null, "2@", "qQ", null], 2: ["1!", null, null, "3#", "wW", "qQ"], 3: ["2@", null, null, "4$", "eE", "wW"], 4: ["3#", null, null, "5%", "rR", "eE"], 5: ["4$", null, null, "6^", "tT", "rR"], 6: ["5%", null, null, "7&", "yY", "tT"], 7: ["6^", null, null, "8*", "uU", "yY"], 8: ["7&", null, null, "9(", "iI", "uU"], 9: ["8*", null, null, "0)", "oO", "iI"], ":": ["lL", "pP", "[{", "'\"", "/?", ".>"], ";": ["lL", "pP", "[{", "'\"", "/?", ".>"], "<": ["mM", "kK", "lL", ".>", null, null], "=": ["-_", null, null, null, "]}", "[{"], ">": [",<", "lL", ";:", "/?", null, null], "?": [".>", ";:", "'\"", null, null, null], "@": ["1!", null, null, "3#", "wW", "qQ"], A: [null, "qQ", "wW", "sS", "zZ", null], B: ["vV", "gG", "hH", "nN", null, null], C: ["xX", "dD", "fF", "vV", null, null], D: ["sS", "eE", "rR", "fF", "cC", "xX"], E: ["wW", "3#", "4$", "rR", "dD", "sS"], F: ["dD", "rR", "tT", "gG", "vV", "cC"], G: ["fF", "tT", "yY", "hH", "bB", "vV"], H: ["gG", "yY", "uU", "jJ", "nN", "bB"], I: ["uU", "8*", "9(", "oO", "kK", "jJ"], J: ["hH", "uU", "iI", "kK", "mM", "nN"], K: ["jJ", "iI", "oO", "lL", ",<", "mM"], L: ["kK", "oO", "pP", ";:", ".>", ",<"], M: ["nN", "jJ", "kK", ",<", null, null], N: ["bB", "hH", "jJ", "mM", null, null], O: ["iI", "9(", "0)", "pP", "lL", "kK"], P: ["oO", "0)", "-_", "[{", ";:", "lL"], Q: [null, "1!", "2@", "wW", "aA", null], R: ["eE", "4$", "5%", "tT", "fF", "dD"], S: ["aA", "wW", "eE", "dD", "xX", "zZ"], T: ["rR", "5%", "6^", "yY", "gG", "fF"], U: ["yY", "7&", "8*", "iI", "jJ", "hH"], V: ["cC", "fF", "gG", "bB", null, null], W: ["qQ", "2@", "3#", "eE", "sS", "aA"], X: ["zZ", "sS", "dD", "cC", null, null], Y: ["tT", "6^", "7&", "uU", "hH", "gG"], Z: [null, "aA", "sS", "xX", null, null], "[": ["pP", "-_", "=+", "]}", "'\"", ";:"], "\\": ["]}", null, null, null, null, null], "]": ["[{", "=+", null, "\\|", null, "'\""], "^": ["5%", null, null, "7&", "yY", "tT"], _: ["0)", null, null, "=+", "[{", "pP"], "`": [null, null, null, "1!", null, null], a: [null, "qQ", "wW", "sS", "zZ", null], b: ["vV", "gG", "hH", "nN", null, null], c: ["xX", "dD", "fF", "vV", null, null], d: ["sS", "eE", "rR", "fF", "cC", "xX"], e: ["wW", "3#", "4$", "rR", "dD", "sS"], f: ["dD", "rR", "tT", "gG", "vV", "cC"], g: ["fF", "tT", "yY", "hH", "bB", "vV"], h: ["gG", "yY", "uU", "jJ", "nN", "bB"], i: ["uU", "8*", "9(", "oO", "kK", "jJ"], j: ["hH", "uU", "iI", "kK", "mM", "nN"], k: ["jJ", "iI", "oO", "lL", ",<", "mM"], l: ["kK", "oO", "pP", ";:", ".>", ",<"], m: ["nN", "jJ", "kK", ",<", null, null], n: ["bB", "hH", "jJ", "mM", null, null], o: ["iI", "9(", "0)", "pP", "lL", "kK"], p: ["oO", "0)", "-_", "[{", ";:", "lL"], q: [null, "1!", "2@", "wW", "aA", null], r: ["eE", "4$", "5%", "tT", "fF", "dD"], s: ["aA", "wW", "eE", "dD", "xX", "zZ"], t: ["rR", "5%", "6^", "yY", "gG", "fF"], u: ["yY", "7&", "8*", "iI", "jJ", "hH"], v: ["cC", "fF", "gG", "bB", null, null], w: ["qQ", "2@", "3#", "eE", "sS", "aA"], x: ["zZ", "sS", "dD", "cC", null, null], y: ["tT", "6^", "7&", "uU", "hH", "gG"], z: [null, "aA", "sS", "xX", null, null], "{": ["pP", "-_", "=+", "]}", "'\"", ";:"], "|": ["]}", null, null, null, null, null], "}": ["[{", "=+", null, "\\|", null, "'\""], "~": [null, null, null, "1!", null, null] }, dvorak: { "!": ["`~", null, null, "2@", "'\"", null], '"': [null, "1!", "2@", ",<", "aA", null], "#": ["2@", null, null, "4$", ".>", ",<"], $: ["3#", null, null, "5%", "pP", ".>"], "%": ["4$", null, null, "6^", "yY", "pP"], "&": ["6^", null, null, "8*", "gG", "fF"], "'": [null, "1!", "2@", ",<", "aA", null], "(": ["8*", null, null, "0)", "rR", "cC"], ")": ["9(", null, null, "[{", "lL", "rR"], "*": ["7&", null, null, "9(", "cC", "gG"], "+": ["/?", "]}", null, "\\|", null, "-_"], ",": ["'\"", "2@", "3#", ".>", "oO", "aA"], "-": ["sS", "/?", "=+", null, null, "zZ"], ".": [",<", "3#", "4$", "pP", "eE", "oO"], "/": ["lL", "[{", "]}", "=+", "-_", "sS"], 0: ["9(", null, null, "[{", "lL", "rR"], 1: ["`~", null, null, "2@", "'\"", null], 2: ["1!", null, null, "3#", ",<", "'\""], 3: ["2@", null, null, "4$", ".>", ",<"], 4: ["3#", null, null, "5%", "pP", ".>"], 5: ["4$", null, null, "6^", "yY", "pP"], 6: ["5%", null, null, "7&", "fF", "yY"], 7: ["6^", null, null, "8*", "gG", "fF"], 8: ["7&", null, null, "9(", "cC", "gG"], 9: ["8*", null, null, "0)", "rR", "cC"], ":": [null, "aA", "oO", "qQ", null, null], ";": [null, "aA", "oO", "qQ", null, null], "<": ["'\"", "2@", "3#", ".>", "oO", "aA"], "=": ["/?", "]}", null, "\\|", null, "-_"], ">": [",<", "3#", "4$", "pP", "eE", "oO"], "?": ["lL", "[{", "]}", "=+", "-_", "sS"], "@": ["1!", null, null, "3#", ",<", "'\""], A: [null, "'\"", ",<", "oO", ";:", null], B: ["xX", "dD", "hH", "mM", null, null], C: ["gG", "8*", "9(", "rR", "tT", "hH"], D: ["iI", "fF", "gG", "hH", "bB", "xX"], E: ["oO", ".>", "pP", "uU", "jJ", "qQ"], F: ["yY", "6^", "7&", "gG", "dD", "iI"], G: ["fF", "7&", "8*", "cC", "hH", "dD"], H: ["dD", "gG", "cC", "tT", "mM", "bB"], I: ["uU", "yY", "fF", "dD", "xX", "kK"], J: ["qQ", "eE", "uU", "kK", null, null], K: ["jJ", "uU", "iI", "xX", null, null], L: ["rR", "0)", "[{", "/?", "sS", "nN"], M: ["bB", "hH", "tT", "wW", null, null], N: ["tT", "rR", "lL", "sS", "vV", "wW"], O: ["aA", ",<", ".>", "eE", "qQ", ";:"], P: [".>", "4$", "5%", "yY", "uU", "eE"], Q: [";:", "oO", "eE", "jJ", null, null], R: ["cC", "9(", "0)", "lL", "nN", "tT"], S: ["nN", "lL", "/?", "-_", "zZ", "vV"], T: ["hH", "cC", "rR", "nN", "wW", "mM"], U: ["eE", "pP", "yY", "iI", "kK", "jJ"], V: ["wW", "nN", "sS", "zZ", null, null], W: ["mM", "tT", "nN", "vV", null, null], X: ["kK", "iI", "dD", "bB", null, null], Y: ["pP", "5%", "6^", "fF", "iI", "uU"], Z: ["vV", "sS", "-_", null, null, null], "[": ["0)", null, null, "]}", "/?", "lL"], "\\": ["=+", null, null, null, null, null], "]": ["[{", null, null, null, "=+", "/?"], "^": ["5%", null, null, "7&", "fF", "yY"], _: ["sS", "/?", "=+", null, null, "zZ"], "`": [null, null, null, "1!", null, null], a: [null, "'\"", ",<", "oO", ";:", null], b: ["xX", "dD", "hH", "mM", null, null], c: ["gG", "8*", "9(", "rR", "tT", "hH"], d: ["iI", "fF", "gG", "hH", "bB", "xX"], e: ["oO", ".>", "pP", "uU", "jJ", "qQ"], f: ["yY", "6^", "7&", "gG", "dD", "iI"], g: ["fF", "7&", "8*", "cC", "hH", "dD"], h: ["dD", "gG", "cC", "tT", "mM", "bB"], i: ["uU", "yY", "fF", "dD", "xX", "kK"], j: ["qQ", "eE", "uU", "kK", null, null], k: ["jJ", "uU", "iI", "xX", null, null], l: ["rR", "0)", "[{", "/?", "sS", "nN"], m: ["bB", "hH", "tT", "wW", null, null], n: ["tT", "rR", "lL", "sS", "vV", "wW"], o: ["aA", ",<", ".>", "eE", "qQ", ";:"], p: [".>", "4$", "5%", "yY", "uU", "eE"], q: [";:", "oO", "eE", "jJ", null, null], r: ["cC", "9(", "0)", "lL", "nN", "tT"], s: ["nN", "lL", "/?", "-_", "zZ", "vV"], t: ["hH", "cC", "rR", "nN", "wW", "mM"], u: ["eE", "pP", "yY", "iI", "kK", "jJ"], v: ["wW", "nN", "sS", "zZ", null, null], w: ["mM", "tT", "nN", "vV", null, null], x: ["kK", "iI", "dD", "bB", null, null], y: ["pP", "5%", "6^", "fF", "iI", "uU"], z: ["vV", "sS", "-_", null, null, null], "{": ["0)", null, null, "]}", "/?", "lL"], "|": ["=+", null, null, null, null, null], "}": ["[{", null, null, null, "=+", "/?"], "~": [null, null, null, "1!", null, null] }, keypad: { "*": ["/", null, null, null, "-", "+", "9", "8"], "+": ["9", "*", "-", null, null, null, null, "6"], "-": ["*", null, null, null, null, null, "+", "9"], ".": ["0", "2", "3", null, null, null, null, null], "/": [null, null, null, null, "*", "9", "8", "7"], 0: [null, "1", "2", "3", ".", null, null, null], 1: [null, null, "4", "5", "2", "0", null, null], 2: ["1", "4", "5", "6", "3", ".", "0", null], 3: ["2", "5", "6", null, null, null, ".", "0"], 4: [null, null, "7", "8", "5", "2", "1", null], 5: ["4", "7", "8", "9", "6", "3", "2", "1"], 6: ["5", "8", "9", "+", null, null, "3", "2"], 7: [null, null, null, "/", "8", "5", "4", null], 8: ["7", null, "/", "*", "9", "6", "5", "4"], 9: ["8", "/", "*", "-", "+", null, "6", "5"] }, mac_keypad: { "*": ["/", null, null, null, null, null, "-", "9"], "+": ["6", "9", "-", null, null, null, null, "3"], "-": ["9", "/", "*", null, null, null, "+", "6"], ".": ["0", "2", "3", null, null, null, null, null], "/": ["=", null, null, null, "*", "-", "9", "8"], 0: [null, "1", "2", "3", ".", null, null, null], 1: [null, null, "4", "5", "2", "0", null, null], 2: ["1", "4", "5", "6", "3", ".", "0", null], 3: ["2", "5", "6", "+", null, null, ".", "0"], 4: [null, null, "7", "8", "5", "2", "1", null], 5: ["4", "7", "8", "9", "6", "3", "2", "1"], 6: ["5", "8", "9", "-", "+", null, "3", "2"], 7: [null, null, null, "=", "8", "5", "4", null], 8: ["7", null, "=", "/", "9", "6", "5", "4"], 9: ["8", "=", "/", "*", "-", "+", "6", "5"], "=": [null, null, null, null, "/", "9", "8", "7"] } }, module.exports = adjacency_graphs; }, {}], 2: [function (require, module, exports) { var feedback, scoring; scoring = require("./scoring"), feedback = { default_feedback: { warning: "", suggestions: ["Use a few words, avoid common phrases", "No need for symbols, digits, or uppercase letters"] }, get_feedback: function (e, s) { var a, t, r, n, o, i; if (0 === s.length)return this.default_feedback; if (e > 2)return {warning: "", suggestions: []}; for (n = s[0], i = s.slice(1), t = 0, r = i.length; r > t; t++)o = i[t], o.token.length > n.token.length && (n = o); return feedback = this.get_match_feedback(n, 1 === s.length), a = "Add another word or two. Uncommon words are better.", null != feedback ? (feedback.suggestions.unshift(a), null == feedback.warning && (feedback.warning = "")) : feedback = { warning: "", suggestions: [a] }, feedback }, get_match_feedback: function (e, s) { var a, t; switch (e.pattern) { case"dictionary": return this.get_dictionary_match_feedback(e, s); case"spatial": return a = e.graph.toUpperCase(), t = 1 === e.turns ? "Straight rows of keys are easy to guess" : "Short keyboard patterns are easy to guess", { warning: t, suggestions: ["Use a longer keyboard pattern with more turns"] }; case"repeat": return t = 1 === e.base_token.length ? 'Repeats like "aaa" are easy to guess' : 'Repeats like "abcabcabc" are only slightly harder to guess than "abc"', { warning: t, suggestions: ["Avoid repeated words and characters"] }; case"sequence": return { warning: "Sequences like abc or 6543 are easy to guess", suggestions: ["Avoid sequences"] }; case"regex": if ("recent_year" === e.regex_name)return { warning: "Recent years are easy to guess", suggestions: ["Avoid recent years", "Avoid years that are associated with you"] }; break; case"date": return { warning: "Dates are often easy to guess", suggestions: ["Avoid dates and years that are associated with you"] } } }, get_dictionary_match_feedback: function (e, s) { var a, t, r, n, o; return n = "passwords" === e.dictionary_name ? !s || e.l33t || e.reversed ? e.guesses_log10 <= 4 ? "This is similar to a commonly used password" : void 0 : e.rank <= 10 ? "This is a top-10 common password" : e.rank <= 100 ? "This is a top-100 common password" : "This is a very common password" : "english" === e.dictionary_name ? s ? "A word by itself is easy to guess" : void 0 : "surnames" === (a = e.dictionary_name) || "male_names" === a || "female_names" === a ? s ? "Names and surnames by themselves are easy to guess" : "Common names and surnames are easy to guess" : "", r = [], o = e.token, o.match(scoring.START_UPPER) ? r.push("Capitalization doesn't help very much") : o.match(scoring.ALL_UPPER) && r.push("All-uppercase is almost as easy to guess as all-lowercase"), e.reversed && e.token.length >= 4 && r.push("Reversed words aren't much harder to guess"), e.l33t && r.push("Predictable substitutions like '@' instead of 'a' don't help very much"), t = { warning: n, suggestions: r } } }, module.exports = feedback; }, {"./scoring": 6}], 3: [function (require, module, exports) { var frequency_lists; frequency_lists = { }, module.exports = frequency_lists; }, {}], 4: [function (require, module, exports) { var feedback, matching, scoring, time, time_estimates, zxcvbn; matching = require("./matching"), scoring = require("./scoring"), time_estimates = require("./time_estimates"), feedback = require("./feedback"), time = function () { return (new Date).getTime() }, zxcvbn = function (e, t) { var i, n, c, s, a, r, m, o, u, g, _; for (null == t && (t = []), g = time(), u = [], c = 0, s = t.length; s > c; c++)i = t[c], ("string" == (m = typeof i) || "number" === m || "boolean" === m) && u.push(i.toString().toLowerCase()); matching.set_user_input_dictionary(u), a = matching.omnimatch(e), o = scoring.most_guessable_match_sequence(e, a), o.calc_time = time() - g, n = time_estimates.estimate_attack_times(o.guesses); for (r in n)_ = n[r], o[r] = _; return o.feedback = feedback.get_feedback(o.score, o.sequence), o }, module.exports = zxcvbn; }, {"./feedback": 2, "./matching": 5, "./scoring": 6, "./time_estimates": 7}], 5: [function (require, module, exports) { var DATE_MAX_YEAR, DATE_MIN_YEAR, DATE_SPLITS, GRAPHS, L33T_TABLE, RANKED_DICTIONARIES, REGEXEN, SEQUENCES, adjacency_graphs, build_ranked_dict, frequency_lists, lst, matching, name, scoring, indexOf = [].indexOf || function (e) { for (var t = 0, n = this.length; n > t; t++)if (t in this && this[t] === e)return t; return -1 }; frequency_lists = require("./frequency_lists"), adjacency_graphs = require("./adjacency_graphs"), scoring = require("./scoring"), build_ranked_dict = function (e) { var t, n, r, i, a; for (i = {}, t = 1, r = 0, n = e.length; n > r; r++)a = e[r], i[a] = t, t += 1; return i }, RANKED_DICTIONARIES = {}; for (name in frequency_lists)lst = frequency_lists[name], RANKED_DICTIONARIES[name] = build_ranked_dict(lst); GRAPHS = { qwerty: adjacency_graphs.qwerty, dvorak: adjacency_graphs.dvorak, keypad: adjacency_graphs.keypad, mac_keypad: adjacency_graphs.mac_keypad }, SEQUENCES = { lower: "abcdefghijklmnopqrstuvwxyz", upper: "ABCDEFGHIJKLMNOPQRSTUVWXYZ", digits: "0123456789" }, L33T_TABLE = { a: ["4", "@"], b: ["8"], c: ["(", "{", "[", "<"], e: ["3"], g: ["6", "9"], i: ["1", "!", "|"], l: ["1", "|", "7"], o: ["0"], s: ["$", "5"], t: ["+", "7"], x: ["%"], z: ["2"] }, REGEXEN = {recent_year: /19\d\d|200\d|201\d/g}, DATE_MAX_YEAR = 2050, DATE_MIN_YEAR = 1e3, DATE_SPLITS = { 4: [[1, 2], [2, 3]], 5: [[1, 3], [2, 3]], 6: [[1, 2], [2, 4], [4, 5]], 7: [[1, 3], [2, 3], [4, 5], [4, 6]], 8: [[2, 4], [4, 6]] }, matching = { empty: function (e) { var t; return 0 === function () { var n; n = []; for (t in e)n.push(t); return n }().length }, extend: function (e, t) { return e.push.apply(e, t) }, translate: function (e, t) { var n; return function () { var r, i, a, s; for (a = e.split(""), s = [], i = 0, r = a.length; r > i; i++)n = a[i], s.push(t[n] || n); return s }().join("") }, mod: function (e, t) { return (e % t + t) % t }, sorted: function (e) { return e.sort(function (e, t) { return e.i - t.i || e.j - t.j }) }, omnimatch: function (e) { var t, n, r, i, a; for (i = [], r = [this.dictionary_match, this.reverse_dictionary_match, this.l33t_match, this.spatial_match, this.repeat_match, this.sequence_match, this.regex_match, this.date_match], a = 0, t = r.length; t > a; a++)n = r[a], this.extend(i, n.call(this, e)); return this.sorted(i) }, dictionary_match: function (e, t) { var n, r, i, a, s, o, h, c, u, l, _, f, d, g; null == t && (t = RANKED_DICTIONARIES), s = [], a = e.length, c = e.toLowerCase(); for (n in t)for (l = t[n], r = o = 0, _ = a; _ >= 0 ? _ > o : o > _; r = _ >= 0 ? ++o : --o)for (i = h = f = r, d = a; d >= f ? d > h : h > d; i = d >= f ? ++h : --h)c.slice(r, +i + 1 || 9e9)in l && (g = c.slice(r, +i + 1 || 9e9), u = l[g], s.push({ pattern: "dictionary", i: r, j: i, token: e.slice(r, +i + 1 || 9e9), matched_word: g, rank: u, dictionary_name: n, reversed: !1, l33t: !1 })); return this.sorted(s) }, reverse_dictionary_match: function (e, t) { var n, r, i, a, s, o; for (null == t && (t = RANKED_DICTIONARIES), o = e.split("").reverse().join(""), i = this.dictionary_match(o, t), a = 0, n = i.length; n > a; a++)r = i[a], r.token = r.token.split("").reverse().join(""), r.reversed = !0, s = [e.length - 1 - r.j, e.length - 1 - r.i], r.i = s[0], r.j = s[1]; return this.sorted(i) }, set_user_input_dictionary: function (e) { return RANKED_DICTIONARIES.user_inputs = build_ranked_dict(e.slice()) }, relevant_l33t_subtable: function (e, t) { var n, r, i, a, s, o, h, c, u, l; for (s = {}, o = e.split(""), a = 0, r = o.length; r > a; a++)n = o[a], s[n] = !0; l = {}; for (i in t)u = t[i], h = function () { var e, t, n; for (n = [], t = 0, e = u.length; e > t; t++)c = u[t], c in s && n.push(c); return n }(), h.length > 0 && (l[i] = h); return l }, enumerate_l33t_subs: function (e) { var t, n, r, i, a, s, o, h, c, u, l, _, f, d, g; a = function () { var t; t = []; for (i in e)t.push(i); return t }(), g = [[]], n = function (e) { var t, n, r, a, s, o, h, c; for (n = [], s = {}, o = 0, a = e.length; a > o; o++)h = e[o], t = function () { var e, t, n; for (n = [], c = t = 0, e = h.length; e > t; c = ++t)i = h[c], n.push([i, c]); return n }(), t.sort(), r = function () { var e, n, r; for (r = [], c = n = 0, e = t.length; e > n; c = ++n)i = t[c], r.push(i + "," + c); return r }().join("-"), r in s || (s[r] = !0, n.push(h)); return n }, r = function (t) { var i, a, s, o, h, c, u, l, _, f, d, p, E, m, y, A; if (t.length) { for (a = t[0], E = t.slice(1), u = [], d = e[a], l = 0, h = d.length; h > l; l++)for (o = d[l], _ = 0, c = g.length; c > _; _++) { for (m = g[_], i = -1, s = f = 0, p = m.length; p >= 0 ? p > f : f > p; s = p >= 0 ? ++f : --f)if (m[s][0] === o) { i = s; break } -1 === i ? (A = m.concat([[o, a]]), u.push(A)) : (y = m.slice(0), y.splice(i, 1), y.push([o, a]), u.push(m), u.push(y)) } return g = n(u), r(E) } }, r(a), d = []; for (c = 0, o = g.length; o > c; c++) { for (_ = g[c], f = {}, u = 0, h = _.length; h > u; u++)l = _[u], s = l[0], t = l[1], f[s] = t; d.push(f) } return d }, l33t_match: function (e, t, n) { var r, i, a, s, o, h, c, u, l, _, f, d, g, p, E, m; for (null == t && (t = RANKED_DICTIONARIES), null == n && (n = L33T_TABLE), c = [], _ = this.enumerate_l33t_subs(this.relevant_l33t_subtable(e, n)), u = 0, a = _.length; a > u && (d = _[u], !this.empty(d)); u++)for (p = this.translate(e, d), f = this.dictionary_match(p, t), l = 0, s = f.length; s > l; l++)if (o = f[l], E = e.slice(o.i, +o.j + 1 || 9e9), E.toLowerCase() !== o.matched_word) { h = {}; for (g in d)r = d[g], -1 !== E.indexOf(g) && (h[g] = r); o.l33t = !0, o.token = E, o.sub = h, o.sub_display = function () { var e; e = []; for (i in h)m = h[i], e.push(i + " -> " + m); return e }().join(", "), c.push(o) } return this.sorted(c.filter(function (e) { return e.token.length > 1 })) }, spatial_match: function (e, t) { var n, r, i; null == t && (t = GRAPHS), i = []; for (r in t)n = t[r], this.extend(i, this.spatial_match_helper(e, n, r)); return this.sorted(i) }, SHIFTED_RX: /[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]/, spatial_match_helper: function (e, t, n) { var r, i, a, s, o, h, c, u, l, _, f, d, g, p, E; for (f = [], c = 0; c < e.length - 1;)for (u = c + 1, l = null, E = 0, p = "qwerty" !== n && "dvorak" !== n || !this.SHIFTED_RX.exec(e.charAt(c)) ? 0 : 1; ;) { if (g = e.charAt(u - 1), o = !1, h = -1, s = -1, i = t[g] || [], u < e.length)for (a = e.charAt(u), d = 0, _ = i.length; _ > d; d++)if (r = i[d], s += 1, r && -1 !== r.indexOf(a)) { o = !0, h = s, 1 === r.indexOf(a) && (p += 1), l !== h && (E += 1, l = h); break } if (!o) { u - c > 2 && f.push({ pattern: "spatial", i: c, j: u - 1, token: e.slice(c, u), graph: n, turns: E, shifted_count: p }), c = u; break } u += 1 } return f }, repeat_match: function (e) { var t, n, r, i, a, s, o, h, c, u, l, _, f, d, g; for (d = [], a = /(.+)\1+/g, u = /(.+?)\1+/g, l = /^(.+?)\1+$/, c = 0; c < e.length && (a.lastIndex = u.lastIndex = c, s = a.exec(e), _ = u.exec(e), null != s);)s[0].length > _[0].length ? (f = s, i = l.exec(f[0])[1]) : (f = _, i = f[1]), g = [f.index, f.index + f[0].length - 1], o = g[0], h = g[1], t = scoring.most_guessable_match_sequence(i, this.omnimatch(i)), r = t.match_sequence, n = t.guesses, d.push({ pattern: "repeat", i: o, j: h, token: f[0], base_token: i, base_guesses: n, base_matches: r, repeat_count: f[0].length / i.length }), c = h + 1; return d }, sequence_match: function (e) { var t, n, r, i, a, s, o, h, c, u, l, _; a = []; for (l in SEQUENCES)for (u = SEQUENCES[l], h = [1, -1], o = 0, i = h.length; i > o; o++)for (t = h[o], n = 0; n < e.length;)if (c = e.charAt(n), indexOf.call(u, c) < 0)n += 1; else { for (r = n + 1, _ = u.indexOf(e.charAt(n)); r < e.length && (s = this.mod(_ + t, u.length), u.indexOf(e.charAt(r)) === s);)r += 1, _ = s; r -= 1, r - n + 1 > 1 && a.push({ pattern: "sequence", i: n, j: r, token: e.slice(n, +r + 1 || 9e9), sequence_name: l, sequence_space: u.length, ascending: 1 === t }), n = r + 1 } return this.sorted(a) }, regex_match: function (e, t) { var n, r, i, a; null == t && (t = REGEXEN), n = []; for (name in t)for (r = t[name], r.lastIndex = 0; i = r.exec(e);)a = i[0], n.push({ pattern: "regex", token: a, i: i.index, j: i.index + i[0].length - 1, regex_name: name, regex_match: i }); return this.sorted(n) }, date_match: function (e) { var t, n, r, i, a, s, o, h, c, u, l, _, f, d, g, p, E, m, y, A, v, I, R, x, T, N, k, D, S, j, b, q, C, O; for (_ = [], f = /^\d{4,8}$/, d = /^(\d{1,4})([\s\/\\_.-])(\d{1,2})\2(\d{1,4})$/, s = E = 0, v = e.length - 4; v >= 0 ? v >= E : E >= v; s = v >= 0 ? ++E : --E)for (o = m = I = s + 3, R = s + 7; (R >= I ? R >= m : m >= R) && !(o >= e.length); o = R >= I ? ++m : --m)if (O = e.slice(s, +o + 1 || 9e9), f.exec(O)) { for (r = [], x = DATE_SPLITS[O.length], y = 0, u = x.length; u > y; y++)T = x[y], h = T[0], c = T[1], a = this.map_ints_to_dmy([parseInt(O.slice(0, h)), parseInt(O.slice(h, c)), parseInt(O.slice(c))]), null != a && r.push(a); if (r.length > 0) { for (t = r[0], g = function (e) { return Math.abs(e.year - scoring.REFERENCE_YEAR) }, p = g(r[0]), N = r.slice(1), A = 0, l = N.length; l > A; A++)n = N[A], i = g(n), p > i && (k = [n, i], t = k[0], p = k[1]); _.push({ pattern: "date", token: O, i: s, j: o, separator: "", year: t.year, month: t.month, day: t.day }) } } for (s = q = 0, D = e.length - 6; D >= 0 ? D >= q : q >= D; s = D >= 0 ? ++q : --q)for (o = C = S = s + 5, j = s + 9; (j >= S ? j >= C : C >= j) && !(o >= e.length); o = j >= S ? ++C : --C)O = e.slice(s, +o + 1 || 9e9), b = d.exec(O), null != b && (a = this.map_ints_to_dmy([parseInt(b[1]), parseInt(b[3]), parseInt(b[4])]), null != a && _.push({ pattern: "date", token: O, i: s, j: o, separator: b[2], year: a.year, month: a.month, day: a.day })); return this.sorted(_.filter(function (e) { var t, n, r, i; for (t = !1, i = 0, n = _.length; n > i; i++)if (r = _[i], e !== r && r.i <= e.i && r.j >= e.j) { t = !0; break } return !t })) }, map_ints_to_dmy: function (e) { var t, n, r, i, a, s, o, h, c, u, l, _, f, d, g, p; if (!(e[1] > 31 || e[1] <= 0)) { for (o = 0, h = 0, g = 0, s = 0, r = e.length; r > s; s++) { if (n = e[s], n > 99 && DATE_MIN_YEAR > n || n > DATE_MAX_YEAR)return; n > 31 && (h += 1), n > 12 && (o += 1), 0 >= n && (g += 1) } if (!(h >= 2 || 3 === o || g >= 2)) { for (u = [[e[2], e.slice(0, 2)], [e[0], e.slice(1, 3)]], c = 0, i = u.length; i > c; c++)if (_ = u[c], p = _[0], d = _[1], p >= DATE_MIN_YEAR && DATE_MAX_YEAR >= p)return t = this.map_ints_to_dm(d), null != t ? { year: p, month: t.month, day: t.day } : void 0; for (l = 0, a = u.length; a > l; l++)if (f = u[l], p = f[0], d = f[1], t = this.map_ints_to_dm(d), null != t)return p = this.two_to_four_digit_year(p), { year: p, month: t.month, day: t.day } } } }, map_ints_to_dm: function (e) { var t, n, r, i, a, s; for (a = [e, e.slice().reverse()], i = 0, n = a.length; n > i; i++)if (s = a[i], t = s[0], r = s[1], t >= 1 && 31 >= t && r >= 1 && 12 >= r)return { day: t, month: r } }, two_to_four_digit_year: function (e) { return e > 99 ? e : e > 50 ? e + scoring.REFERENCE_YEAR - 100 : e + scoring.REFERENCE_YEAR } }, module.exports = matching; }, {"./adjacency_graphs": 1, "./frequency_lists": 3, "./scoring": 6}], 6: [function (require, module, exports) { var BRUTEFORCE_CARDINALITY, MIN_GUESSES_BEFORE_GROWING_SEQUENCE, MIN_SUBMATCH_GUESSES_MULTI_CHAR, MIN_SUBMATCH_GUESSES_SINGLE_CHAR, adjacency_graphs, calc_average_degree, k, scoring, v; adjacency_graphs = require("./adjacency_graphs"), calc_average_degree = function (e) { var t, n, r, s, a, _; t = 0; for (r in e)a = e[r], t += function () { var e, t, n; for (n = [], t = 0, e = a.length; e > t; t++)s = a[t], s && n.push(s); return n }().length; return t /= function () { var t; t = []; for (n in e)_ = e[n], t.push(n); return t }().length }, BRUTEFORCE_CARDINALITY = 10, MIN_GUESSES_BEFORE_GROWING_SEQUENCE = 1e4, MIN_SUBMATCH_GUESSES_SINGLE_CHAR = 10, MIN_SUBMATCH_GUESSES_MULTI_CHAR = 50, scoring = { nCk: function (e, t) { var n, r, s, a; if (t > e)return 0; if (0 === t)return 1; for (s = 1, n = r = 1, a = t; a >= 1 ? a >= r : r >= a; n = a >= 1 ? ++r : --r)s *= e, s /= n, e -= 1; return s }, log10: function (e) { return Math.log(e) / Math.log(10) }, log2: function (e) { return Math.log(e) / Math.log(2) }, factorial: function (e) { var t, n, r, s; if (2 > e)return 1; for (t = 1, n = r = 2, s = e; s >= 2 ? s >= r : r >= s; n = s >= 2 ? ++r : --r)t *= n; return t }, most_guessable_match_sequence: function (e, t, n) { var r, s, a, _, i, u, o, h, E, g, c, l, f, A, S, R, p, M, v, I, N, C, U, T, G, d, k, m, O, P, L, y, B, D; for (null == n && (n = !1), C = [], r = [], M = 0, N = null, S = function (t) { return function (t, n) { var r; return r = {pattern: "bruteforce", token: e.slice(t, +n + 1 || 9e9), i: t, j: n} } }(this), D = function (e) { return function (t, r) { var s; return s = e.factorial(r) * t, n || (s += Math.pow(MIN_GUESSES_BEFORE_GROWING_SEQUENCE, r - 1)), s } }(this), c = A = 0, k = e.length; k >= 0 ? k > A : A > k; c = k >= 0 ? ++A : --A)for (r[c] = [], C[c] = [], U = 1 / 0, G = I = 0, m = M; m >= 0 ? m >= I : I >= m; G = m >= 0 ? ++I : --I)for (o = !0, a = c, 0 === G ? (s = 0, v = 1) : "bruteforce" === (null != (O = r[c - 1]) && null != (P = O[G]) ? P.pattern : void 0) ? (s = r[c - 1][G].i, v = G) : null != (null != (L = r[c - 1]) ? L[G] : void 0) ? (s = c, v = G + 1) : o = !1, o && (_ = S(s, a), T = c - _.token.length, i = this.estimate_guesses(_, e), v > 1 && (i *= C[T][v - 1]), u = D(i, v), U > u && (U = u, C[c][v] = i, N = v, M = Math.max(M, v), r[c][v] = _)), d = 0, f = t.length; f > d; d++)if (R = t[d], R.j === c) { if (y = [R.i, R.j], E = y[0], g = y[1], 0 === G) { if (0 !== E)continue } else if (null == (null != (B = C[E - 1]) ? B[G] : void 0))continue; i = this.estimate_guesses(R, e), G > 0 && (i *= C[E - 1][G]), u = D(i, G + 1), U > u && (U = u, C[c][G + 1] = i, N = G + 1, M = Math.max(M, G + 1), r[c][G + 1] = R) } for (p = [], l = N, c = e.length - 1; c >= 0;)R = r[c][l], p.push(R), c = R.i - 1, l -= 1; return p.reverse(), h = 0 === e.length ? 1 : U, { password: e, guesses: h, guesses_log10: this.log10(h), sequence: p } }, estimate_guesses: function (e, t) { var n, r, s; return null != e.guesses ? e.guesses : (s = 1, e.token.length < t.length && (s = 1 === e.token.length ? MIN_SUBMATCH_GUESSES_SINGLE_CHAR : MIN_SUBMATCH_GUESSES_MULTI_CHAR), n = { bruteforce: this.bruteforce_guesses, dictionary: this.dictionary_guesses, spatial: this.spatial_guesses, repeat: this.repeat_guesses, sequence: this.sequence_guesses, regex: this.regex_guesses, date: this.date_guesses }, r = n[e.pattern].call(this, e), e.guesses = Math.max(r, s), e.guesses_log10 = this.log10(e.guesses), e.guesses) }, bruteforce_guesses: function (e) { var t, n; return t = Math.pow(BRUTEFORCE_CARDINALITY, e.token.length), n = 1 === e.token.length ? MIN_SUBMATCH_GUESSES_SINGLE_CHAR + 1 : MIN_SUBMATCH_GUESSES_MULTI_CHAR + 1, Math.max(t, n) }, repeat_guesses: function (e) { return e.base_guesses * e.repeat_count }, sequence_guesses: function (e) { var t, n; return n = e.token.charAt(0), t = "a" === n || "A" === n || "z" === n || "Z" === n || "0" === n || "1" === n || "9" === n ? 4 : n.match(/\d/) ? 10 : 26, e.ascending || (t *= 2), t * e.token.length }, MIN_YEAR_SPACE: 20, REFERENCE_YEAR: 2e3, regex_guesses: function (e) { var t, n; if (t = { alpha_lower: 26, alpha_upper: 26, alpha: 52, alphanumeric: 62, digits: 10, symbols: 33 }, e.regex_name in t)return Math.pow(t[e.regex_name], e.token.length); switch (e.regex_name) { case"recent_year": return n = Math.abs(parseInt(e.regex_match[0]) - this.REFERENCE_YEAR), n = Math.max(n, this.MIN_YEAR_SPACE) } }, date_guesses: function (e) { var t, n; return n = Math.max(Math.abs(e.year - this.REFERENCE_YEAR), this.MIN_YEAR_SPACE), t = 31 * n * 12, e.has_full_year && (t *= 2), e.separator && (t *= 4), t }, KEYBOARD_AVERAGE_DEGREE: calc_average_degree(adjacency_graphs.qwerty), KEYPAD_AVERAGE_DEGREE: calc_average_degree(adjacency_graphs.keypad), KEYBOARD_STARTING_POSITIONS: function () { var e, t; e = adjacency_graphs.qwerty, t = []; for (k in e)v = e[k], t.push(k); return t }().length, KEYPAD_STARTING_POSITIONS: function () { var e, t; e = adjacency_graphs.keypad, t = []; for (k in e)v = e[k], t.push(k); return t }().length, spatial_guesses: function (e) { var t, n, r, s, a, _, i, u, o, h, E, g, c, l, f, A, S, R; for ("qwerty" === (g = e.graph) || "dvorak" === g ? (A = this.KEYBOARD_STARTING_POSITIONS, s = this.KEYBOARD_AVERAGE_DEGREE) : (A = this.KEYPAD_STARTING_POSITIONS, s = this.KEYPAD_AVERAGE_DEGREE), a = 0, t = e.token.length, R = e.turns, _ = u = 2, c = t; c >= 2 ? c >= u : u >= c; _ = c >= 2 ? ++u : --u)for (h = Math.min(R, _ - 1), i = o = 1, l = h; l >= 1 ? l >= o : o >= l; i = l >= 1 ? ++o : --o)a += this.nCk(_ - 1, i - 1) * A * Math.pow(s, i); if (e.shifted_count)if (n = e.shifted_count, r = e.token.length - e.shifted_count, 0 === n || 0 === r)a *= 2; else { for (S = 0, _ = E = 1, f = Math.min(n, r); f >= 1 ? f >= E : E >= f; _ = f >= 1 ? ++E : --E)S += this.nCk(n + r, _); a *= S } return a }, dictionary_guesses: function (e) { var t; return e.base_guesses = e.rank, e.uppercase_variations = this.uppercase_variations(e), e.l33t_variations = this.l33t_variations(e), t = e.reversed && 2 || 1, e.base_guesses * e.uppercase_variations * e.l33t_variations * t }, START_UPPER: /^[A-Z][^A-Z]+$/, END_UPPER: /^[^A-Z]+[A-Z]$/, ALL_UPPER: /^[^a-z]+$/, ALL_LOWER: /^[^A-Z]+$/, uppercase_variations: function (e) { var t, n, r, s, a, _, i, u, o, h, E, g; if (g = e.token, g.match(this.ALL_LOWER))return 1; for (u = [this.START_UPPER, this.END_UPPER, this.ALL_UPPER], _ = 0, a = u.length; a > _; _++)if (h = u[_], g.match(h))return 2; for (n = function () { var e, t, n, s; for (n = g.split(""), s = [], t = 0, e = n.length; e > t; t++)r = n[t], r.match(/[A-Z]/) && s.push(r); return s }().length, t = function () { var e, t, n, s; for (n = g.split(""), s = [], t = 0, e = n.length; e > t; t++)r = n[t], r.match(/[a-z]/) && s.push(r); return s }().length, E = 0, s = i = 1, o = Math.min(n, t); o >= 1 ? o >= i : i >= o; s = o >= 1 ? ++i : --i)E += this.nCk(n + t, s); return E }, l33t_variations: function (e) { var t, n, r, s, a, _, i, u, o, h, E, g, c; if (!e.l33t)return 1; c = 1, o = e.sub; for (E in o)if (g = o[E], s = e.token.toLowerCase().split(""), t = function () { var e, t, n; for (n = [], t = 0, e = s.length; e > t; t++)r = s[t], r === E && n.push(r); return n }().length, n = function () { var e, t, n; for (n = [], t = 0, e = s.length; e > t; t++)r = s[t], r === g && n.push(r); return n }().length, 0 === t || 0 === n)c *= 2; else { for (i = Math.min(n, t), u = 0, a = _ = 1, h = i; h >= 1 ? h >= _ : _ >= h; a = h >= 1 ? ++_ : --_)u += this.nCk(n + t, a); c *= u } return c } }, module.exports = scoring; }, {"./adjacency_graphs": 1}], 7: [function (require, module, exports) { var time_estimates; time_estimates = { estimate_attack_times: function (e) { var t, n, s, o; n = { online_throttling_100_per_hour: e / (100 / 3600), online_no_throttling_10_per_second: e / 100, offline_slow_hashing_1e4_per_second: e / 1e4, offline_fast_hashing_1e10_per_second: e / 1e10 }, t = {}; for (s in n)o = n[s], t[s] = this.display_time(o); return {crack_times_seconds: n, crack_times_display: t, score: this.guesses_to_score(e)} }, guesses_to_score: function (e) { var t; return t = 5, 1e3 + t > e ? 0 : 1e6 + t > e ? 1 : 1e8 + t > e ? 2 : 1e10 + t > e ? 3 : 4 }, display_time: function (e) { var t, n, s, o, _, r, i, a, u, c; return i = 60, r = 60 * i, s = 24 * r, a = 31 * s, c = 12 * a, n = 100 * c, u = 1 > e ? [null, "less than a second"] : i > e ? (t = Math.round(e), [t, t + " second"]) : r > e ? (t = Math.round(e / i), [t, t + " minute"]) : s > e ? (t = Math.round(e / r), [t, t + " hour"]) : a > e ? (t = Math.round(e / s), [t, t + " day"]) : c > e ? (t = Math.round(e / a), [t, t + " month"]) : n > e ? (t = Math.round(e / c), [t, t + " year"]) : [null, "centuries"], o = u[0], _ = u[1], null != o && 1 !== o && (_ += "s"), _ } }, module.exports = time_estimates; }, {}] }, {}, [4])(4) }); //# sourceMappingURL=zxcvbn.js.map