var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        if (typeof b !== "function" && b !== null)
            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
        if (ar || !(i in from)) {
            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
            ar[i] = from[i];
        }
    }
    return to.concat(ar || Array.prototype.slice.call(from));
};
!function (e, t) {
    "use strict";
    "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function (e) { if (!e.document)
        throw new Error("jQuery requires a window with a document"); return t(e); } : t(e);
}("undefined" != typeof window ? window : this, function (C, e) {
    "use strict";
    var t = [], r = Object.getPrototypeOf, s = t.slice, g = t.flat ? function (e) { return t.flat.call(e); } : function (e) { return t.concat.apply([], e); }, u = t.push, i = t.indexOf, n = {}, o = n.toString, v = n.hasOwnProperty, a = v.toString, l = a.call(Object), y = {}, m = function (e) { return "function" == typeof e && "number" != typeof e.nodeType; }, x = function (e) { return null != e && e === e.window; }, E = C.document, c = { type: !0, src: !0, nonce: !0, noModule: !0 };
    function b(e, t, n) { var r, i, o = (n = n || E).createElement("script"); if (o.text = e, t)
        for (r in c)
            (i = t[r] || t.getAttribute && t.getAttribute(r)) && o.setAttribute(r, i); n.head.appendChild(o).parentNode.removeChild(o); }
    function w(e) { return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? n[o.call(e)] || "object" : typeof e; }
    var f = "3.5.0", S = function (e, t) { return new S.fn.init(e, t); };
    function p(e) { var t = !!e && "length" in e && e.length, n = w(e); return !m(e) && !x(e) && ("array" === n || 0 === t || "number" == typeof t && 0 < t && t - 1 in e); }
    S.fn = S.prototype = { jquery: f, constructor: S, length: 0, toArray: function () { return s.call(this); }, get: function (e) { return null == e ? s.call(this) : e < 0 ? this[e + this.length] : this[e]; }, pushStack: function (e) { var t = S.merge(this.constructor(), e); return t.prevObject = this, t; }, each: function (e) { return S.each(this, e); }, map: function (n) { return this.pushStack(S.map(this, function (e, t) { return n.call(e, t, e); })); }, slice: function () { return this.pushStack(s.apply(this, arguments)); }, first: function () { return this.eq(0); }, last: function () { return this.eq(-1); }, even: function () { return this.pushStack(S.grep(this, function (e, t) { return (t + 1) % 2; })); }, odd: function () { return this.pushStack(S.grep(this, function (e, t) { return t % 2; })); }, eq: function (e) { var t = this.length, n = +e + (e < 0 ? t : 0); return this.pushStack(0 <= n && n < t ? [this[n]] : []); }, end: function () { return this.prevObject || this.constructor(); }, push: u, sort: t.sort, splice: t.splice }, S.extend = S.fn.extend = function () { var e, t, n, r, i, o, a = arguments[0] || {}, s = 1, u = arguments.length, l = !1; for ("boolean" == typeof a && (l = a, a = arguments[s] || {}, s++), "object" == typeof a || m(a) || (a = {}), s === u && (a = this, s--); s < u; s++)
        if (null != (e = arguments[s]))
            for (t in e)
                r = e[t], "__proto__" !== t && a !== r && (l && r && (S.isPlainObject(r) || (i = Array.isArray(r))) ? (n = a[t], o = i && !Array.isArray(n) ? [] : i || S.isPlainObject(n) ? n : {}, i = !1, a[t] = S.extend(l, o, r)) : void 0 !== r && (a[t] = r)); return a; }, S.extend({ expando: "jQuery" + (f + Math.random()).replace(/\D/g, ""), isReady: !0, error: function (e) { throw new Error(e); }, noop: function () { }, isPlainObject: function (e) { var t, n; return !(!e || "[object Object]" !== o.call(e)) && (!(t = r(e)) || "function" == typeof (n = v.call(t, "constructor") && t.constructor) && a.call(n) === l); }, isEmptyObject: function (e) { var t; for (t in e)
            return !1; return !0; }, globalEval: function (e, t, n) { b(e, { nonce: t && t.nonce }, n); }, each: function (e, t) { var n, r = 0; if (p(e)) {
            for (n = e.length; r < n; r++)
                if (!1 === t.call(e[r], r, e[r]))
                    break;
        }
        else
            for (r in e)
                if (!1 === t.call(e[r], r, e[r]))
                    break; return e; }, makeArray: function (e, t) { var n = t || []; return null != e && (p(Object(e)) ? S.merge(n, "string" == typeof e ? [e] : e) : u.call(n, e)), n; }, inArray: function (e, t, n) { return null == t ? -1 : i.call(t, e, n); }, merge: function (e, t) { for (var n = +t.length, r = 0, i = e.length; r < n; r++)
            e[i++] = t[r]; return e.length = i, e; }, grep: function (e, t, n) { for (var r = [], i = 0, o = e.length, a = !n; i < o; i++)
            !t(e[i], i) !== a && r.push(e[i]); return r; }, map: function (e, t, n) { var r, i, o = 0, a = []; if (p(e))
            for (r = e.length; o < r; o++)
                null != (i = t(e[o], o, n)) && a.push(i);
        else
            for (o in e)
                null != (i = t(e[o], o, n)) && a.push(i); return g(a); }, guid: 1, support: y }), "function" == typeof Symbol && (S.fn[Symbol.iterator] = t[Symbol.iterator]), S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (e, t) { n["[object " + t + "]"] = t.toLowerCase(); });
    var d = function (n) { var e, d, b, o, i, h, f, g, w, u, l, T, C, a, E, v, s, c, y, S = "sizzle" + 1 * new Date, p = n.document, k = 0, r = 0, m = ue(), x = ue(), A = ue(), N = ue(), D = function (e, t) { return e === t && (l = !0), 0; }, j = {}.hasOwnProperty, t = [], q = t.pop, L = t.push, H = t.push, O = t.slice, P = function (e, t) { for (var n = 0, r = e.length; n < r; n++)
        if (e[n] === t)
            return n; return -1; }, R = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", M = "[\\x20\\t\\r\\n\\f]", I = "(?:\\\\[\\da-fA-F]{1,6}" + M + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", W = "\\[" + M + "*(" + I + ")(?:" + M + "*([*^$|!~]?=)" + M + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + I + "))|)" + M + "*\\]", F = ":(" + I + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + W + ")*)|.*)\\)|)", B = new RegExp(M + "+", "g"), $ = new RegExp("^" + M + "+|((?:^|[^\\\\])(?:\\\\.)*)" + M + "+$", "g"), _ = new RegExp("^" + M + "*," + M + "*"), z = new RegExp("^" + M + "*([>+~]|" + M + ")" + M + "*"), U = new RegExp(M + "|>"), X = new RegExp(F), V = new RegExp("^" + I + "$"), G = { ID: new RegExp("^#(" + I + ")"), CLASS: new RegExp("^\\.(" + I + ")"), TAG: new RegExp("^(" + I + "|[*])"), ATTR: new RegExp("^" + W), PSEUDO: new RegExp("^" + F), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + M + "*(even|odd|(([+-]|)(\\d*)n|)" + M + "*(?:([+-]|)" + M + "*(\\d+)|))" + M + "*\\)|)", "i"), bool: new RegExp("^(?:" + R + ")$", "i"), needsContext: new RegExp("^" + M + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + M + "*((?:-\\d)?\\d*)" + M + "*\\)|)(?=[^-]|$)", "i") }, Y = /HTML$/i, Q = /^(?:input|select|textarea|button)$/i, J = /^h\d$/i, K = /^[^{]+\{\s*\[native \w/, Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, ee = /[+~]/, te = new RegExp("\\\\[\\da-fA-F]{1,6}" + M + "?|\\\\([^\\r\\n\\f])", "g"), ne = function (e, t) { var n = "0x" + e.slice(1) - 65536; return t || (n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, 1023 & n | 56320)); }, re = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, ie = function (e, t) { return t ? "\0" === e ? "\ufffd" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e; }, oe = function () { T(); }, ae = be(function (e) { return !0 === e.disabled && "fieldset" === e.nodeName.toLowerCase(); }, { dir: "parentNode", next: "legend" }); try {
        H.apply(t = O.call(p.childNodes), p.childNodes), t[p.childNodes.length].nodeType;
    }
    catch (e) {
        H = { apply: t.length ? function (e, t) { L.apply(e, O.call(t)); } : function (e, t) { var n = e.length, r = 0; while (e[n++] = t[r++])
                ; e.length = n - 1; } };
    } function se(t, e, n, r) { var i, o, a, s, u, l, c, f = e && e.ownerDocument, p = e ? e.nodeType : 9; if (n = n || [], "string" != typeof t || !t || 1 !== p && 9 !== p && 11 !== p)
        return n; if (!r && (T(e), e = e || C, E)) {
        if (11 !== p && (u = Z.exec(t)))
            if (i = u[1]) {
                if (9 === p) {
                    if (!(a = e.getElementById(i)))
                        return n;
                    if (a.id === i)
                        return n.push(a), n;
                }
                else if (f && (a = f.getElementById(i)) && y(e, a) && a.id === i)
                    return n.push(a), n;
            }
            else {
                if (u[2])
                    return H.apply(n, e.getElementsByTagName(t)), n;
                if ((i = u[3]) && d.getElementsByClassName && e.getElementsByClassName)
                    return H.apply(n, e.getElementsByClassName(i)), n;
            }
        if (d.qsa && !N[t + " "] && (!v || !v.test(t)) && (1 !== p || "object" !== e.nodeName.toLowerCase())) {
            if (c = t, f = e, 1 === p && (U.test(t) || z.test(t))) {
                (f = ee.test(t) && ye(e.parentNode) || e) === e && d.scope || ((s = e.getAttribute("id")) ? s = s.replace(re, ie) : e.setAttribute("id", s = S)), o = (l = h(t)).length;
                while (o--)
                    l[o] = (s ? "#" + s : ":scope") + " " + xe(l[o]);
                c = l.join(",");
            }
            try {
                return H.apply(n, f.querySelectorAll(c)), n;
            }
            catch (e) {
                N(t, !0);
            }
            finally {
                s === S && e.removeAttribute("id");
            }
        }
    } return g(t.replace($, "$1"), e, n, r); } function ue() { var r = []; return function e(t, n) { return r.push(t + " ") > b.cacheLength && delete e[r.shift()], e[t + " "] = n; }; } function le(e) { return e[S] = !0, e; } function ce(e) { var t = C.createElement("fieldset"); try {
        return !!e(t);
    }
    catch (e) {
        return !1;
    }
    finally {
        t.parentNode && t.parentNode.removeChild(t), t = null;
    } } function fe(e, t) { var n = e.split("|"), r = n.length; while (r--)
        b.attrHandle[n[r]] = t; } function pe(e, t) { var n = t && e, r = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex; if (r)
        return r; if (n)
        while (n = n.nextSibling)
            if (n === t)
                return -1; return e ? 1 : -1; } function de(t) { return function (e) { return "input" === e.nodeName.toLowerCase() && e.type === t; }; } function he(n) { return function (e) { var t = e.nodeName.toLowerCase(); return ("input" === t || "button" === t) && e.type === n; }; } function ge(t) { return function (e) { return "form" in e ? e.parentNode && !1 === e.disabled ? "label" in e ? "label" in e.parentNode ? e.parentNode.disabled === t : e.disabled === t : e.isDisabled === t || e.isDisabled !== !t && ae(e) === t : e.disabled === t : "label" in e && e.disabled === t; }; } function ve(a) { return le(function (o) { return o = +o, le(function (e, t) { var n, r = a([], e.length, o), i = r.length; while (i--)
        e[n = r[i]] && (e[n] = !(t[n] = e[n])); }); }); } function ye(e) { return e && "undefined" != typeof e.getElementsByTagName && e; } for (e in d = se.support = {}, i = se.isXML = function (e) { var t = e.namespaceURI, n = (e.ownerDocument || e).documentElement; return !Y.test(t || n && n.nodeName || "HTML"); }, T = se.setDocument = function (e) { var t, n, r = e ? e.ownerDocument || e : p; return r != C && 9 === r.nodeType && r.documentElement && (a = (C = r).documentElement, E = !i(C), p != C && (n = C.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener("unload", oe, !1) : n.attachEvent && n.attachEvent("onunload", oe)), d.scope = ce(function (e) { return a.appendChild(e).appendChild(C.createElement("div")), "undefined" != typeof e.querySelectorAll && !e.querySelectorAll(":scope fieldset div").length; }), d.attributes = ce(function (e) { return e.className = "i", !e.getAttribute("className"); }), d.getElementsByTagName = ce(function (e) { return e.appendChild(C.createComment("")), !e.getElementsByTagName("*").length; }), d.getElementsByClassName = K.test(C.getElementsByClassName), d.getById = ce(function (e) { return a.appendChild(e).id = S, !C.getElementsByName || !C.getElementsByName(S).length; }), d.getById ? (b.filter.ID = function (e) { var t = e.replace(te, ne); return function (e) { return e.getAttribute("id") === t; }; }, b.find.ID = function (e, t) { if ("undefined" != typeof t.getElementById && E) {
        var n = t.getElementById(e);
        return n ? [n] : [];
    } }) : (b.filter.ID = function (e) { var n = e.replace(te, ne); return function (e) { var t = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id"); return t && t.value === n; }; }, b.find.ID = function (e, t) { if ("undefined" != typeof t.getElementById && E) {
        var n, r, i, o = t.getElementById(e);
        if (o) {
            if ((n = o.getAttributeNode("id")) && n.value === e)
                return [o];
            i = t.getElementsByName(e), r = 0;
            while (o = i[r++])
                if ((n = o.getAttributeNode("id")) && n.value === e)
                    return [o];
        }
        return [];
    } }), b.find.TAG = d.getElementsByTagName ? function (e, t) { return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e) : d.qsa ? t.querySelectorAll(e) : void 0; } : function (e, t) { var n, r = [], i = 0, o = t.getElementsByTagName(e); if ("*" === e) {
        while (n = o[i++])
            1 === n.nodeType && r.push(n);
        return r;
    } return o; }, b.find.CLASS = d.getElementsByClassName && function (e, t) { if ("undefined" != typeof t.getElementsByClassName && E)
        return t.getElementsByClassName(e); }, s = [], v = [], (d.qsa = K.test(C.querySelectorAll)) && (ce(function (e) { var t; a.appendChild(e).innerHTML = "<a id='" + S + "'></a><select id='" + S + "-\r\\' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && v.push("[*^$]=" + M + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || v.push("\\[" + M + "*(?:value|" + R + ")"), e.querySelectorAll("[id~=" + S + "-]").length || v.push("~="), (t = C.createElement("input")).setAttribute("name", ""), e.appendChild(t), e.querySelectorAll("[name='']").length || v.push("\\[" + M + "*name" + M + "*=" + M + "*(?:''|\"\")"), e.querySelectorAll(":checked").length || v.push(":checked"), e.querySelectorAll("a#" + S + "+*").length || v.push(".#.+[+~]"), e.querySelectorAll("\\\f"), v.push("[\\r\\n\\f]"); }), ce(function (e) { e.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>"; var t = C.createElement("input"); t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && v.push("name" + M + "*[*^$|!~]?="), 2 !== e.querySelectorAll(":enabled").length && v.push(":enabled", ":disabled"), a.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && v.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), v.push(",.*:"); })), (d.matchesSelector = K.test(c = a.matches || a.webkitMatchesSelector || a.mozMatchesSelector || a.oMatchesSelector || a.msMatchesSelector)) && ce(function (e) { d.disconnectedMatch = c.call(e, "*"), c.call(e, "[s!='']:x"), s.push("!=", F); }), v = v.length && new RegExp(v.join("|")), s = s.length && new RegExp(s.join("|")), t = K.test(a.compareDocumentPosition), y = t || K.test(a.contains) ? function (e, t) { var n = 9 === e.nodeType ? e.documentElement : e, r = t && t.parentNode; return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r))); } : function (e, t) { if (t)
        while (t = t.parentNode)
            if (t === e)
                return !0; return !1; }, D = t ? function (e, t) { if (e === t)
        return l = !0, 0; var n = !e.compareDocumentPosition - !t.compareDocumentPosition; return n || (1 & (n = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !d.sortDetached && t.compareDocumentPosition(e) === n ? e == C || e.ownerDocument == p && y(p, e) ? -1 : t == C || t.ownerDocument == p && y(p, t) ? 1 : u ? P(u, e) - P(u, t) : 0 : 4 & n ? -1 : 1); } : function (e, t) { if (e === t)
        return l = !0, 0; var n, r = 0, i = e.parentNode, o = t.parentNode, a = [e], s = [t]; if (!i || !o)
        return e == C ? -1 : t == C ? 1 : i ? -1 : o ? 1 : u ? P(u, e) - P(u, t) : 0; if (i === o)
        return pe(e, t); n = e; while (n = n.parentNode)
        a.unshift(n); n = t; while (n = n.parentNode)
        s.unshift(n); while (a[r] === s[r])
        r++; return r ? pe(a[r], s[r]) : a[r] == p ? -1 : s[r] == p ? 1 : 0; }), C; }, se.matches = function (e, t) { return se(e, null, null, t); }, se.matchesSelector = function (e, t) { if (T(e), d.matchesSelector && E && !N[t + " "] && (!s || !s.test(t)) && (!v || !v.test(t)))
        try {
            var n = c.call(e, t);
            if (n || d.disconnectedMatch || e.document && 11 !== e.document.nodeType)
                return n;
        }
        catch (e) {
            N(t, !0);
        } return 0 < se(t, C, null, [e]).length; }, se.contains = function (e, t) { return (e.ownerDocument || e) != C && T(e), y(e, t); }, se.attr = function (e, t) { (e.ownerDocument || e) != C && T(e); var n = b.attrHandle[t.toLowerCase()], r = n && j.call(b.attrHandle, t.toLowerCase()) ? n(e, t, !E) : void 0; return void 0 !== r ? r : d.attributes || !E ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null; }, se.escape = function (e) { return (e + "").replace(re, ie); }, se.error = function (e) { throw new Error("Syntax error, unrecognized expression: " + e); }, se.uniqueSort = function (e) { var t, n = [], r = 0, i = 0; if (l = !d.detectDuplicates, u = !d.sortStable && e.slice(0), e.sort(D), l) {
        while (t = e[i++])
            t === e[i] && (r = n.push(i));
        while (r--)
            e.splice(n[r], 1);
    } return u = null, e; }, o = se.getText = function (e) { var t, n = "", r = 0, i = e.nodeType; if (i) {
        if (1 === i || 9 === i || 11 === i) {
            if ("string" == typeof e.textContent)
                return e.textContent;
            for (e = e.firstChild; e; e = e.nextSibling)
                n += o(e);
        }
        else if (3 === i || 4 === i)
            return e.nodeValue;
    }
    else
        while (t = e[r++])
            n += o(t); return n; }, (b = se.selectors = { cacheLength: 50, createPseudo: le, match: G, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function (e) { return e[1] = e[1].replace(te, ne), e[3] = (e[3] || e[4] || e[5] || "").replace(te, ne), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4); }, CHILD: function (e) { return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || se.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && se.error(e[0]), e; }, PSEUDO: function (e) { var t, n = !e[6] && e[2]; return G.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && X.test(n) && (t = h(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3)); } }, filter: { TAG: function (e) { var t = e.replace(te, ne).toLowerCase(); return "*" === e ? function () { return !0; } : function (e) { return e.nodeName && e.nodeName.toLowerCase() === t; }; }, CLASS: function (e) { var t = m[e + " "]; return t || (t = new RegExp("(^|" + M + ")" + e + "(" + M + "|$)")) && m(e, function (e) { return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute("class") || ""); }); }, ATTR: function (n, r, i) { return function (e) { var t = se.attr(e, n); return null == t ? "!=" === r : !r || (t += "", "=" === r ? t === i : "!=" === r ? t !== i : "^=" === r ? i && 0 === t.indexOf(i) : "*=" === r ? i && -1 < t.indexOf(i) : "$=" === r ? i && t.slice(-i.length) === i : "~=" === r ? -1 < (" " + t.replace(B, " ") + " ").indexOf(i) : "|=" === r && (t === i || t.slice(0, i.length + 1) === i + "-")); }; }, CHILD: function (h, e, t, g, v) { var y = "nth" !== h.slice(0, 3), m = "last" !== h.slice(-4), x = "of-type" === e; return 1 === g && 0 === v ? function (e) { return !!e.parentNode; } : function (e, t, n) { var r, i, o, a, s, u, l = y !== m ? "nextSibling" : "previousSibling", c = e.parentNode, f = x && e.nodeName.toLowerCase(), p = !n && !x, d = !1; if (c) {
                if (y) {
                    while (l) {
                        a = e;
                        while (a = a[l])
                            if (x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType)
                                return !1;
                        u = l = "only" === h && !u && "nextSibling";
                    }
                    return !0;
                }
                if (u = [m ? c.firstChild : c.lastChild], m && p) {
                    d = (s = (r = (i = (o = (a = c)[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]) && r[2], a = s && c.childNodes[s];
                    while (a = ++s && a && a[l] || (d = s = 0) || u.pop())
                        if (1 === a.nodeType && ++d && a === e) {
                            i[h] = [k, s, d];
                            break;
                        }
                }
                else if (p && (d = s = (r = (i = (o = (a = e)[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]), !1 === d)
                    while (a = ++s && a && a[l] || (d = s = 0) || u.pop())
                        if ((x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType) && ++d && (p && ((i = (o = a[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] = [k, d]), a === e))
                            break;
                return (d -= v) === g || d % g == 0 && 0 <= d / g;
            } }; }, PSEUDO: function (e, o) { var t, a = b.pseudos[e] || b.setFilters[e.toLowerCase()] || se.error("unsupported pseudo: " + e); return a[S] ? a(o) : 1 < a.length ? (t = [e, e, "", o], b.setFilters.hasOwnProperty(e.toLowerCase()) ? le(function (e, t) { var n, r = a(e, o), i = r.length; while (i--)
                e[n = P(e, r[i])] = !(t[n] = r[i]); }) : function (e) { return a(e, 0, t); }) : a; } }, pseudos: { not: le(function (e) { var r = [], i = [], s = f(e.replace($, "$1")); return s[S] ? le(function (e, t, n, r) { var i, o = s(e, null, r, []), a = e.length; while (a--)
                (i = o[a]) && (e[a] = !(t[a] = i)); }) : function (e, t, n) { return r[0] = e, s(r, null, n, i), r[0] = null, !i.pop(); }; }), has: le(function (t) { return function (e) { return 0 < se(t, e).length; }; }), contains: le(function (t) { return t = t.replace(te, ne), function (e) { return -1 < (e.textContent || o(e)).indexOf(t); }; }), lang: le(function (n) { return V.test(n || "") || se.error("unsupported lang: " + n), n = n.replace(te, ne).toLowerCase(), function (e) { var t; do {
                if (t = E ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang"))
                    return (t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-");
            } while ((e = e.parentNode) && 1 === e.nodeType); return !1; }; }), target: function (e) { var t = n.location && n.location.hash; return t && t.slice(1) === e.id; }, root: function (e) { return e === a; }, focus: function (e) { return e === C.activeElement && (!C.hasFocus || C.hasFocus()) && !!(e.type || e.href || ~e.tabIndex); }, enabled: ge(!1), disabled: ge(!0), checked: function (e) { var t = e.nodeName.toLowerCase(); return "input" === t && !!e.checked || "option" === t && !!e.selected; }, selected: function (e) { return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected; }, empty: function (e) { for (e = e.firstChild; e; e = e.nextSibling)
                if (e.nodeType < 6)
                    return !1; return !0; }, parent: function (e) { return !b.pseudos.empty(e); }, header: function (e) { return J.test(e.nodeName); }, input: function (e) { return Q.test(e.nodeName); }, button: function (e) { var t = e.nodeName.toLowerCase(); return "input" === t && "button" === e.type || "button" === t; }, text: function (e) { var t; return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()); }, first: ve(function () { return [0]; }), last: ve(function (e, t) { return [t - 1]; }), eq: ve(function (e, t, n) { return [n < 0 ? n + t : n]; }), even: ve(function (e, t) { for (var n = 0; n < t; n += 2)
                e.push(n); return e; }), odd: ve(function (e, t) { for (var n = 1; n < t; n += 2)
                e.push(n); return e; }), lt: ve(function (e, t, n) { for (var r = n < 0 ? n + t : t < n ? t : n; 0 <= --r;)
                e.push(r); return e; }), gt: ve(function (e, t, n) { for (var r = n < 0 ? n + t : n; ++r < t;)
                e.push(r); return e; }) } }).pseudos.nth = b.pseudos.eq, { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 })
        b.pseudos[e] = de(e); for (e in { submit: !0, reset: !0 })
        b.pseudos[e] = he(e); function me() { } function xe(e) { for (var t = 0, n = e.length, r = ""; t < n; t++)
        r += e[t].value; return r; } function be(s, e, t) { var u = e.dir, l = e.next, c = l || u, f = t && "parentNode" === c, p = r++; return e.first ? function (e, t, n) { while (e = e[u])
        if (1 === e.nodeType || f)
            return s(e, t, n); return !1; } : function (e, t, n) { var r, i, o, a = [k, p]; if (n) {
        while (e = e[u])
            if ((1 === e.nodeType || f) && s(e, t, n))
                return !0;
    }
    else
        while (e = e[u])
            if (1 === e.nodeType || f)
                if (i = (o = e[S] || (e[S] = {}))[e.uniqueID] || (o[e.uniqueID] = {}), l && l === e.nodeName.toLowerCase())
                    e = e[u] || e;
                else {
                    if ((r = i[c]) && r[0] === k && r[1] === p)
                        return a[2] = r[2];
                    if ((i[c] = a)[2] = s(e, t, n))
                        return !0;
                } return !1; }; } function we(i) { return 1 < i.length ? function (e, t, n) { var r = i.length; while (r--)
        if (!i[r](e, t, n))
            return !1; return !0; } : i[0]; } function Te(e, t, n, r, i) { for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++)
        (o = e[s]) && (n && !n(o, r, i) || (a.push(o), l && t.push(s))); return a; } function Ce(d, h, g, v, y, e) { return v && !v[S] && (v = Ce(v)), y && !y[S] && (y = Ce(y, e)), le(function (e, t, n, r) { var i, o, a, s = [], u = [], l = t.length, c = e || function (e, t, n) { for (var r = 0, i = t.length; r < i; r++)
        se(e, t[r], n); return n; }(h || "*", n.nodeType ? [n] : n, []), f = !d || !e && h ? c : Te(c, s, d, n, r), p = g ? y || (e ? d : l || v) ? [] : t : f; if (g && g(f, p, n, r), v) {
        i = Te(p, u), v(i, [], n, r), o = i.length;
        while (o--)
            (a = i[o]) && (p[u[o]] = !(f[u[o]] = a));
    } if (e) {
        if (y || d) {
            if (y) {
                i = [], o = p.length;
                while (o--)
                    (a = p[o]) && i.push(f[o] = a);
                y(null, p = [], i, r);
            }
            o = p.length;
            while (o--)
                (a = p[o]) && -1 < (i = y ? P(e, a) : s[o]) && (e[i] = !(t[i] = a));
        }
    }
    else
        p = Te(p === t ? p.splice(l, p.length) : p), y ? y(null, t, p, r) : H.apply(t, p); }); } function Ee(e) { for (var i, t, n, r = e.length, o = b.relative[e[0].type], a = o || b.relative[" "], s = o ? 1 : 0, u = be(function (e) { return e === i; }, a, !0), l = be(function (e) { return -1 < P(i, e); }, a, !0), c = [function (e, t, n) { var r = !o && (n || t !== w) || ((i = t).nodeType ? u(e, t, n) : l(e, t, n)); return i = null, r; }]; s < r; s++)
        if (t = b.relative[e[s].type])
            c = [be(we(c), t)];
        else {
            if ((t = b.filter[e[s].type].apply(null, e[s].matches))[S]) {
                for (n = ++s; n < r; n++)
                    if (b.relative[e[n].type])
                        break;
                return Ce(1 < s && we(c), 1 < s && xe(e.slice(0, s - 1).concat({ value: " " === e[s - 2].type ? "*" : "" })).replace($, "$1"), t, s < n && Ee(e.slice(s, n)), n < r && Ee(e = e.slice(n)), n < r && xe(e));
            }
            c.push(t);
        } return we(c); } return me.prototype = b.filters = b.pseudos, b.setFilters = new me, h = se.tokenize = function (e, t) { var n, r, i, o, a, s, u, l = x[e + " "]; if (l)
        return t ? 0 : l.slice(0); a = e, s = [], u = b.preFilter; while (a) {
        for (o in n && !(r = _.exec(a)) || (r && (a = a.slice(r[0].length) || a), s.push(i = [])), n = !1, (r = z.exec(a)) && (n = r.shift(), i.push({ value: n, type: r[0].replace($, " ") }), a = a.slice(n.length)), b.filter)
            !(r = G[o].exec(a)) || u[o] && !(r = u[o](r)) || (n = r.shift(), i.push({ value: n, type: o, matches: r }), a = a.slice(n.length));
        if (!n)
            break;
    } return t ? a.length : a ? se.error(e) : x(e, s).slice(0); }, f = se.compile = function (e, t) { var n, v, y, m, x, r, i = [], o = [], a = A[e + " "]; if (!a) {
        t || (t = h(e)), n = t.length;
        while (n--)
            (a = Ee(t[n]))[S] ? i.push(a) : o.push(a);
        (a = A(e, (v = o, m = 0 < (y = i).length, x = 0 < v.length, r = function (e, t, n, r, i) { var o, a, s, u = 0, l = "0", c = e && [], f = [], p = w, d = e || x && b.find.TAG("*", i), h = k += null == p ? 1 : Math.random() || .1, g = d.length; for (i && (w = t == C || t || i); l !== g && null != (o = d[l]); l++) {
            if (x && o) {
                a = 0, t || o.ownerDocument == C || (T(o), n = !E);
                while (s = v[a++])
                    if (s(o, t || C, n)) {
                        r.push(o);
                        break;
                    }
                i && (k = h);
            }
            m && ((o = !s && o) && u--, e && c.push(o));
        } if (u += l, m && l !== u) {
            a = 0;
            while (s = y[a++])
                s(c, f, t, n);
            if (e) {
                if (0 < u)
                    while (l--)
                        c[l] || f[l] || (f[l] = q.call(r));
                f = Te(f);
            }
            H.apply(r, f), i && !e && 0 < f.length && 1 < u + y.length && se.uniqueSort(r);
        } return i && (k = h, w = p), c; }, m ? le(r) : r))).selector = e;
    } return a; }, g = se.select = function (e, t, n, r) { var i, o, a, s, u, l = "function" == typeof e && e, c = !r && h(e = l.selector || e); if (n = n || [], 1 === c.length) {
        if (2 < (o = c[0] = c[0].slice(0)).length && "ID" === (a = o[0]).type && 9 === t.nodeType && E && b.relative[o[1].type]) {
            if (!(t = (b.find.ID(a.matches[0].replace(te, ne), t) || [])[0]))
                return n;
            l && (t = t.parentNode), e = e.slice(o.shift().value.length);
        }
        i = G.needsContext.test(e) ? 0 : o.length;
        while (i--) {
            if (a = o[i], b.relative[s = a.type])
                break;
            if ((u = b.find[s]) && (r = u(a.matches[0].replace(te, ne), ee.test(o[0].type) && ye(t.parentNode) || t))) {
                if (o.splice(i, 1), !(e = r.length && xe(o)))
                    return H.apply(n, r), n;
                break;
            }
        }
    } return (l || f(e, c))(r, t, !E, n, !t || ee.test(e) && ye(t.parentNode) || t), n; }, d.sortStable = S.split("").sort(D).join("") === S, d.detectDuplicates = !!l, T(), d.sortDetached = ce(function (e) { return 1 & e.compareDocumentPosition(C.createElement("fieldset")); }), ce(function (e) { return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href"); }) || fe("type|href|height|width", function (e, t, n) { if (!n)
        return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2); }), d.attributes && ce(function (e) { return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value"); }) || fe("value", function (e, t, n) { if (!n && "input" === e.nodeName.toLowerCase())
        return e.defaultValue; }), ce(function (e) { return null == e.getAttribute("disabled"); }) || fe(R, function (e, t, n) { var r; if (!n)
        return !0 === e[t] ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null; }), se; }(C);
    S.find = d, S.expr = d.selectors, S.expr[":"] = S.expr.pseudos, S.uniqueSort = S.unique = d.uniqueSort, S.text = d.getText, S.isXMLDoc = d.isXML, S.contains = d.contains, S.escapeSelector = d.escape;
    var h = function (e, t, n) { var r = [], i = void 0 !== n; while ((e = e[t]) && 9 !== e.nodeType)
        if (1 === e.nodeType) {
            if (i && S(e).is(n))
                break;
            r.push(e);
        } return r; }, T = function (e, t) { for (var n = []; e; e = e.nextSibling)
        1 === e.nodeType && e !== t && n.push(e); return n; }, k = S.expr.match.needsContext;
    function A(e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase(); }
    var N = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
    function D(e, n, r) { return m(n) ? S.grep(e, function (e, t) { return !!n.call(e, t, e) !== r; }) : n.nodeType ? S.grep(e, function (e) { return e === n !== r; }) : "string" != typeof n ? S.grep(e, function (e) { return -1 < i.call(n, e) !== r; }) : S.filter(n, e, r); }
    S.filter = function (e, t, n) { var r = t[0]; return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? S.find.matchesSelector(r, e) ? [r] : [] : S.find.matches(e, S.grep(t, function (e) { return 1 === e.nodeType; })); }, S.fn.extend({ find: function (e) { var t, n, r = this.length, i = this; if ("string" != typeof e)
            return this.pushStack(S(e).filter(function () { for (t = 0; t < r; t++)
                if (S.contains(i[t], this))
                    return !0; })); for (n = this.pushStack([]), t = 0; t < r; t++)
            S.find(e, i[t], n); return 1 < r ? S.uniqueSort(n) : n; }, filter: function (e) { return this.pushStack(D(this, e || [], !1)); }, not: function (e) { return this.pushStack(D(this, e || [], !0)); }, is: function (e) { return !!D(this, "string" == typeof e && k.test(e) ? S(e) : e || [], !1).length; } });
    var j, q = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;
    (S.fn.init = function (e, t, n) { var r, i; if (!e)
        return this; if (n = n || j, "string" == typeof e) {
        if (!(r = "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length ? [null, e, null] : q.exec(e)) || !r[1] && t)
            return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
        if (r[1]) {
            if (t = t instanceof S ? t[0] : t, S.merge(this, S.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : E, !0)), N.test(r[1]) && S.isPlainObject(t))
                for (r in t)
                    m(this[r]) ? this[r](t[r]) : this.attr(r, t[r]);
            return this;
        }
        return (i = E.getElementById(r[2])) && (this[0] = i, this.length = 1), this;
    } return e.nodeType ? (this[0] = e, this.length = 1, this) : m(e) ? void 0 !== n.ready ? n.ready(e) : e(S) : S.makeArray(e, this); }).prototype = S.fn, j = S(E);
    var L = /^(?:parents|prev(?:Until|All))/, H = { children: !0, contents: !0, next: !0, prev: !0 };
    function O(e, t) { while ((e = e[t]) && 1 !== e.nodeType)
        ; return e; }
    S.fn.extend({ has: function (e) { var t = S(e, this), n = t.length; return this.filter(function () { for (var e = 0; e < n; e++)
            if (S.contains(this, t[e]))
                return !0; }); }, closest: function (e, t) { var n, r = 0, i = this.length, o = [], a = "string" != typeof e && S(e); if (!k.test(e))
            for (; r < i; r++)
                for (n = this[r]; n && n !== t; n = n.parentNode)
                    if (n.nodeType < 11 && (a ? -1 < a.index(n) : 1 === n.nodeType && S.find.matchesSelector(n, e))) {
                        o.push(n);
                        break;
                    } return this.pushStack(1 < o.length ? S.uniqueSort(o) : o); }, index: function (e) { return e ? "string" == typeof e ? i.call(S(e), this[0]) : i.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1; }, add: function (e, t) { return this.pushStack(S.uniqueSort(S.merge(this.get(), S(e, t)))); }, addBack: function (e) { return this.add(null == e ? this.prevObject : this.prevObject.filter(e)); } }), S.each({ parent: function (e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t : null; }, parents: function (e) { return h(e, "parentNode"); }, parentsUntil: function (e, t, n) { return h(e, "parentNode", n); }, next: function (e) { return O(e, "nextSibling"); }, prev: function (e) { return O(e, "previousSibling"); }, nextAll: function (e) { return h(e, "nextSibling"); }, prevAll: function (e) { return h(e, "previousSibling"); }, nextUntil: function (e, t, n) { return h(e, "nextSibling", n); }, prevUntil: function (e, t, n) { return h(e, "previousSibling", n); }, siblings: function (e) { return T((e.parentNode || {}).firstChild, e); }, children: function (e) { return T(e.firstChild); }, contents: function (e) { return null != e.contentDocument && r(e.contentDocument) ? e.contentDocument : (A(e, "template") && (e = e.content || e), S.merge([], e.childNodes)); } }, function (r, i) { S.fn[r] = function (e, t) { var n = S.map(this, i, e); return "Until" !== r.slice(-5) && (t = e), t && "string" == typeof t && (n = S.filter(t, n)), 1 < this.length && (H[r] || S.uniqueSort(n), L.test(r) && n.reverse()), this.pushStack(n); }; });
    var P = /[^\x20\t\r\n\f]+/g;
    function R(e) { return e; }
    function M(e) { throw e; }
    function I(e, t, n, r) { var i; try {
        e && m(i = e.promise) ? i.call(e).done(t).fail(n) : e && m(i = e.then) ? i.call(e, t, n) : t.apply(void 0, [e].slice(r));
    }
    catch (e) {
        n.apply(void 0, [e]);
    } }
    S.Callbacks = function (r) { var e, n; r = "string" == typeof r ? (e = r, n = {}, S.each(e.match(P) || [], function (e, t) { n[t] = !0; }), n) : S.extend({}, r); var i, t, o, a, s = [], u = [], l = -1, c = function () { for (a = a || r.once, o = i = !0; u.length; l = -1) {
        t = u.shift();
        while (++l < s.length)
            !1 === s[l].apply(t[0], t[1]) && r.stopOnFalse && (l = s.length, t = !1);
    } r.memory || (t = !1), i = !1, a && (s = t ? [] : ""); }, f = { add: function () { return s && (t && !i && (l = s.length - 1, u.push(t)), function n(e) { S.each(e, function (e, t) { m(t) ? r.unique && f.has(t) || s.push(t) : t && t.length && "string" !== w(t) && n(t); }); }(arguments), t && !i && c()), this; }, remove: function () { return S.each(arguments, function (e, t) { var n; while (-1 < (n = S.inArray(t, s, n)))
            s.splice(n, 1), n <= l && l--; }), this; }, has: function (e) { return e ? -1 < S.inArray(e, s) : 0 < s.length; }, empty: function () { return s && (s = []), this; }, disable: function () { return a = u = [], s = t = "", this; }, disabled: function () { return !s; }, lock: function () { return a = u = [], t || i || (s = t = ""), this; }, locked: function () { return !!a; }, fireWith: function (e, t) { return a || (t = [e, (t = t || []).slice ? t.slice() : t], u.push(t), i || c()), this; }, fire: function () { return f.fireWith(this, arguments), this; }, fired: function () { return !!o; } }; return f; }, S.extend({ Deferred: function (e) { var o = [["notify", "progress", S.Callbacks("memory"), S.Callbacks("memory"), 2], ["resolve", "done", S.Callbacks("once memory"), S.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", S.Callbacks("once memory"), S.Callbacks("once memory"), 1, "rejected"]], i = "pending", a = { state: function () { return i; }, always: function () { return s.done(arguments).fail(arguments), this; }, "catch": function (e) { return a.then(null, e); }, pipe: function () { var i = arguments; return S.Deferred(function (r) { S.each(o, function (e, t) { var n = m(i[t[4]]) && i[t[4]]; s[t[1]](function () { var e = n && n.apply(this, arguments); e && m(e.promise) ? e.promise().progress(r.notify).done(r.resolve).fail(r.reject) : r[t[0] + "With"](this, n ? [e] : arguments); }); }), i = null; }).promise(); }, then: function (t, n, r) { var u = 0; function l(i, o, a, s) { return function () { var n = this, r = arguments, e = function () { var e, t; if (!(i < u)) {
                if ((e = a.apply(n, r)) === o.promise())
                    throw new TypeError("Thenable self-resolution");
                t = e && ("object" == typeof e || "function" == typeof e) && e.then, m(t) ? s ? t.call(e, l(u, o, R, s), l(u, o, M, s)) : (u++, t.call(e, l(u, o, R, s), l(u, o, M, s), l(u, o, R, o.notifyWith))) : (a !== R && (n = void 0, r = [e]), (s || o.resolveWith)(n, r));
            } }, t = s ? e : function () { try {
                e();
            }
            catch (e) {
                S.Deferred.exceptionHook && S.Deferred.exceptionHook(e, t.stackTrace), u <= i + 1 && (a !== M && (n = void 0, r = [e]), o.rejectWith(n, r));
            } }; i ? t() : (S.Deferred.getStackHook && (t.stackTrace = S.Deferred.getStackHook()), C.setTimeout(t)); }; } return S.Deferred(function (e) { o[0][3].add(l(0, e, m(r) ? r : R, e.notifyWith)), o[1][3].add(l(0, e, m(t) ? t : R)), o[2][3].add(l(0, e, m(n) ? n : M)); }).promise(); }, promise: function (e) { return null != e ? S.extend(e, a) : a; } }, s = {}; return S.each(o, function (e, t) { var n = t[2], r = t[5]; a[t[1]] = n.add, r && n.add(function () { i = r; }, o[3 - e][2].disable, o[3 - e][3].disable, o[0][2].lock, o[0][3].lock), n.add(t[3].fire), s[t[0]] = function () { return s[t[0] + "With"](this === s ? void 0 : this, arguments), this; }, s[t[0] + "With"] = n.fireWith; }), a.promise(s), e && e.call(s, s), s; }, when: function (e) { var n = arguments.length, t = n, r = Array(t), i = s.call(arguments), o = S.Deferred(), a = function (t) { return function (e) { r[t] = this, i[t] = 1 < arguments.length ? s.call(arguments) : e, --n || o.resolveWith(r, i); }; }; if (n <= 1 && (I(e, o.done(a(t)).resolve, o.reject, !n), "pending" === o.state() || m(i[t] && i[t].then)))
            return o.then(); while (t--)
            I(i[t], a(t), o.reject); return o.promise(); } });
    var W = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
    S.Deferred.exceptionHook = function (e, t) { C.console && C.console.warn && e && W.test(e.name) && C.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t); }, S.readyException = function (e) { C.setTimeout(function () { throw e; }); };
    var F = S.Deferred();
    function B() { E.removeEventListener("DOMContentLoaded", B), C.removeEventListener("load", B), S.ready(); }
    S.fn.ready = function (e) { return F.then(e)["catch"](function (e) { S.readyException(e); }), this; }, S.extend({ isReady: !1, readyWait: 1, ready: function (e) { (!0 === e ? --S.readyWait : S.isReady) || (S.isReady = !0) !== e && 0 < --S.readyWait || F.resolveWith(E, [S]); } }), S.ready.then = F.then, "complete" === E.readyState || "loading" !== E.readyState && !E.documentElement.doScroll ? C.setTimeout(S.ready) : (E.addEventListener("DOMContentLoaded", B), C.addEventListener("load", B));
    var $ = function (e, t, n, r, i, o, a) { var s = 0, u = e.length, l = null == n; if ("object" === w(n))
        for (s in i = !0, n)
            $(e, t, s, n[s], !0, o, a);
    else if (void 0 !== r && (i = !0, m(r) || (a = !0), l && (a ? (t.call(e, r), t = null) : (l = t, t = function (e, t, n) { return l.call(S(e), n); })), t))
        for (; s < u; s++)
            t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n))); return i ? e : l ? t.call(e) : u ? t(e[0], n) : o; }, _ = /^-ms-/, z = /-([a-z])/g;
    function U(e, t) { return t.toUpperCase(); }
    function X(e) { return e.replace(_, "ms-").replace(z, U); }
    var V = function (e) { return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType; };
    function G() { this.expando = S.expando + G.uid++; }
    G.uid = 1, G.prototype = { cache: function (e) { var t = e[this.expando]; return t || (t = Object.create(null), V(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, { value: t, configurable: !0 }))), t; }, set: function (e, t, n) { var r, i = this.cache(e); if ("string" == typeof t)
            i[X(t)] = n;
        else
            for (r in t)
                i[X(r)] = t[r]; return i; }, get: function (e, t) { return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][X(t)]; }, access: function (e, t, n) { return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t); }, remove: function (e, t) { var n, r = e[this.expando]; if (void 0 !== r) {
            if (void 0 !== t) {
                n = (t = Array.isArray(t) ? t.map(X) : (t = X(t)) in r ? [t] : t.match(P) || []).length;
                while (n--)
                    delete r[t[n]];
            }
            (void 0 === t || S.isEmptyObject(r)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando]);
        } }, hasData: function (e) { var t = e[this.expando]; return void 0 !== t && !S.isEmptyObject(t); } };
    var Y = new G, Q = new G, J = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, K = /[A-Z]/g;
    function Z(e, t, n) { var r, i; if (void 0 === n && 1 === e.nodeType)
        if (r = "data-" + t.replace(K, "-$&").toLowerCase(), "string" == typeof (n = e.getAttribute(r))) {
            try {
                n = "true" === (i = n) || "false" !== i && ("null" === i ? null : i === +i + "" ? +i : J.test(i) ? JSON.parse(i) : i);
            }
            catch (e) { }
            Q.set(e, t, n);
        }
        else
            n = void 0; return n; }
    S.extend({ hasData: function (e) { return Q.hasData(e) || Y.hasData(e); }, data: function (e, t, n) { return Q.access(e, t, n); }, removeData: function (e, t) { Q.remove(e, t); }, _data: function (e, t, n) { return Y.access(e, t, n); }, _removeData: function (e, t) { Y.remove(e, t); } }), S.fn.extend({ data: function (n, e) { var t, r, i, o = this[0], a = o && o.attributes; if (void 0 === n) {
            if (this.length && (i = Q.get(o), 1 === o.nodeType && !Y.get(o, "hasDataAttrs"))) {
                t = a.length;
                while (t--)
                    a[t] && 0 === (r = a[t].name).indexOf("data-") && (r = X(r.slice(5)), Z(o, r, i[r]));
                Y.set(o, "hasDataAttrs", !0);
            }
            return i;
        } return "object" == typeof n ? this.each(function () { Q.set(this, n); }) : $(this, function (e) { var t; if (o && void 0 === e)
            return void 0 !== (t = Q.get(o, n)) ? t : void 0 !== (t = Z(o, n)) ? t : void 0; this.each(function () { Q.set(this, n, e); }); }, null, e, 1 < arguments.length, null, !0); }, removeData: function (e) { return this.each(function () { Q.remove(this, e); }); } }), S.extend({ queue: function (e, t, n) { var r; if (e)
            return t = (t || "fx") + "queue", r = Y.get(e, t), n && (!r || Array.isArray(n) ? r = Y.access(e, t, S.makeArray(n)) : r.push(n)), r || []; }, dequeue: function (e, t) { t = t || "fx"; var n = S.queue(e, t), r = n.length, i = n.shift(), o = S._queueHooks(e, t); "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, function () { S.dequeue(e, t); }, o)), !r && o && o.empty.fire(); }, _queueHooks: function (e, t) { var n = t + "queueHooks"; return Y.get(e, n) || Y.access(e, n, { empty: S.Callbacks("once memory").add(function () { Y.remove(e, [t + "queue", n]); }) }); } }), S.fn.extend({ queue: function (t, n) { var e = 2; return "string" != typeof t && (n = t, t = "fx", e--), arguments.length < e ? S.queue(this[0], t) : void 0 === n ? this : this.each(function () { var e = S.queue(this, t, n); S._queueHooks(this, t), "fx" === t && "inprogress" !== e[0] && S.dequeue(this, t); }); }, dequeue: function (e) { return this.each(function () { S.dequeue(this, e); }); }, clearQueue: function (e) { return this.queue(e || "fx", []); }, promise: function (e, t) { var n, r = 1, i = S.Deferred(), o = this, a = this.length, s = function () { --r || i.resolveWith(o, [o]); }; "string" != typeof e && (t = e, e = void 0), e = e || "fx"; while (a--)
            (n = Y.get(o[a], e + "queueHooks")) && n.empty && (r++, n.empty.add(s)); return s(), i.promise(t); } });
    var ee = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, te = new RegExp("^(?:([+-])=|)(" + ee + ")([a-z%]*)$", "i"), ne = ["Top", "Right", "Bottom", "Left"], re = E.documentElement, ie = function (e) { return S.contains(e.ownerDocument, e); }, oe = { composed: !0 };
    re.getRootNode && (ie = function (e) { return S.contains(e.ownerDocument, e) || e.getRootNode(oe) === e.ownerDocument; });
    var ae = function (e, t) { return "none" === (e = t || e).style.display || "" === e.style.display && ie(e) && "none" === S.css(e, "display"); };
    function se(e, t, n, r) { var i, o, a = 20, s = r ? function () { return r.cur(); } : function () { return S.css(e, t, ""); }, u = s(), l = n && n[3] || (S.cssNumber[t] ? "" : "px"), c = e.nodeType && (S.cssNumber[t] || "px" !== l && +u) && te.exec(S.css(e, t)); if (c && c[3] !== l) {
        u /= 2, l = l || c[3], c = +u || 1;
        while (a--)
            S.style(e, t, c + l), (1 - o) * (1 - (o = s() / u || .5)) <= 0 && (a = 0), c /= o;
        c *= 2, S.style(e, t, c + l), n = n || [];
    } return n && (c = +c || +u || 0, i = n[1] ? c + (n[1] + 1) * n[2] : +n[2], r && (r.unit = l, r.start = c, r.end = i)), i; }
    var ue = {};
    function le(e, t) { for (var n, r, i, o, a, s, u, l = [], c = 0, f = e.length; c < f; c++)
        (r = e[c]).style && (n = r.style.display, t ? ("none" === n && (l[c] = Y.get(r, "display") || null, l[c] || (r.style.display = "")), "" === r.style.display && ae(r) && (l[c] = (u = a = o = void 0, a = (i = r).ownerDocument, s = i.nodeName, (u = ue[s]) || (o = a.body.appendChild(a.createElement(s)), u = S.css(o, "display"), o.parentNode.removeChild(o), "none" === u && (u = "block"), ue[s] = u)))) : "none" !== n && (l[c] = "none", Y.set(r, "display", n))); for (c = 0; c < f; c++)
        null != l[c] && (e[c].style.display = l[c]); return e; }
    S.fn.extend({ show: function () { return le(this, !0); }, hide: function () { return le(this); }, toggle: function (e) { return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function () { ae(this) ? S(this).show() : S(this).hide(); }); } });
    var ce, fe, pe = /^(?:checkbox|radio)$/i, de = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, he = /^$|^module$|\/(?:java|ecma)script/i;
    ce = E.createDocumentFragment().appendChild(E.createElement("div")), (fe = E.createElement("input")).setAttribute("type", "radio"), fe.setAttribute("checked", "checked"), fe.setAttribute("name", "t"), ce.appendChild(fe), y.checkClone = ce.cloneNode(!0).cloneNode(!0).lastChild.checked, ce.innerHTML = "<textarea>x</textarea>", y.noCloneChecked = !!ce.cloneNode(!0).lastChild.defaultValue, ce.innerHTML = "<option></option>", y.option = !!ce.lastChild;
    var ge = { thead: [1, "<table>", "</table>"], col: [2, "<table><colgroup>", "</colgroup></table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], _default: [0, "", ""] };
    function ve(e, t) { var n; return n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t || "*") : "undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && A(e, t) ? S.merge([e], n) : n; }
    function ye(e, t) { for (var n = 0, r = e.length; n < r; n++)
        Y.set(e[n], "globalEval", !t || Y.get(t[n], "globalEval")); }
    ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead, ge.th = ge.td, y.option || (ge.optgroup = ge.option = [1, "<select multiple='multiple'>", "</select>"]);
    var me = /<|&#?\w+;/;
    function xe(e, t, n, r, i) { for (var o, a, s, u, l, c, f = t.createDocumentFragment(), p = [], d = 0, h = e.length; d < h; d++)
        if ((o = e[d]) || 0 === o)
            if ("object" === w(o))
                S.merge(p, o.nodeType ? [o] : o);
            else if (me.test(o)) {
                a = a || f.appendChild(t.createElement("div")), s = (de.exec(o) || ["", ""])[1].toLowerCase(), u = ge[s] || ge._default, a.innerHTML = u[1] + S.htmlPrefilter(o) + u[2], c = u[0];
                while (c--)
                    a = a.lastChild;
                S.merge(p, a.childNodes), (a = f.firstChild).textContent = "";
            }
            else
                p.push(t.createTextNode(o)); f.textContent = "", d = 0; while (o = p[d++])
        if (r && -1 < S.inArray(o, r))
            i && i.push(o);
        else if (l = ie(o), a = ve(f.appendChild(o), "script"), l && ye(a), n) {
            c = 0;
            while (o = a[c++])
                he.test(o.type || "") && n.push(o);
        } return f; }
    var be = /^key/, we = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, Te = /^([^.]*)(?:\.(.+)|)/;
    function Ce() { return !0; }
    function Ee() { return !1; }
    function Se(e, t) { return e === function () { try {
        return E.activeElement;
    }
    catch (e) { } }() == ("focus" === t); }
    function ke(e, t, n, r, i, o) { var a, s; if ("object" == typeof t) {
        for (s in "string" != typeof n && (r = r || n, n = void 0), t)
            ke(e, s, n, r, t[s], o);
        return e;
    } if (null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), !1 === i)
        i = Ee;
    else if (!i)
        return e; return 1 === o && (a = i, (i = function (e) { return S().off(e), a.apply(this, arguments); }).guid = a.guid || (a.guid = S.guid++)), e.each(function () { S.event.add(this, t, i, r, n); }); }
    function Ae(e, i, o) { o ? (Y.set(e, i, !1), S.event.add(e, i, { namespace: !1, handler: function (e) { var t, n, r = Y.get(this, i); if (1 & e.isTrigger && this[i]) {
            if (r.length)
                (S.event.special[i] || {}).delegateType && e.stopPropagation();
            else if (r = s.call(arguments), Y.set(this, i, r), t = o(this, i), this[i](), r !== (n = Y.get(this, i)) || t ? Y.set(this, i, !1) : n = {}, r !== n)
                return e.stopImmediatePropagation(), e.preventDefault(), n.value;
        }
        else
            r.length && (Y.set(this, i, { value: S.event.trigger(S.extend(r[0], S.Event.prototype), r.slice(1), this) }), e.stopImmediatePropagation()); } })) : void 0 === Y.get(e, i) && S.event.add(e, i, Ce); }
    S.event = { global: {}, add: function (t, e, n, r, i) { var o, a, s, u, l, c, f, p, d, h, g, v = Y.get(t); if (V(t)) {
            n.handler && (n = (o = n).handler, i = o.selector), i && S.find.matchesSelector(re, i), n.guid || (n.guid = S.guid++), (u = v.events) || (u = v.events = Object.create(null)), (a = v.handle) || (a = v.handle = function (e) { return "undefined" != typeof S && S.event.triggered !== e.type ? S.event.dispatch.apply(t, arguments) : void 0; }), l = (e = (e || "").match(P) || [""]).length;
            while (l--)
                d = g = (s = Te.exec(e[l]) || [])[1], h = (s[2] || "").split(".").sort(), d && (f = S.event.special[d] || {}, d = (i ? f.delegateType : f.bindType) || d, f = S.event.special[d] || {}, c = S.extend({ type: d, origType: g, data: r, handler: n, guid: n.guid, selector: i, needsContext: i && S.expr.match.needsContext.test(i), namespace: h.join(".") }, o), (p = u[d]) || ((p = u[d] = []).delegateCount = 0, f.setup && !1 !== f.setup.call(t, r, h, a) || t.addEventListener && t.addEventListener(d, a)), f.add && (f.add.call(t, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), S.event.global[d] = !0);
        } }, remove: function (e, t, n, r, i) { var o, a, s, u, l, c, f, p, d, h, g, v = Y.hasData(e) && Y.get(e); if (v && (u = v.events)) {
            l = (t = (t || "").match(P) || [""]).length;
            while (l--)
                if (d = g = (s = Te.exec(t[l]) || [])[1], h = (s[2] || "").split(".").sort(), d) {
                    f = S.event.special[d] || {}, p = u[d = (r ? f.delegateType : f.bindType) || d] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = p.length;
                    while (o--)
                        c = p[o], !i && g !== c.origType || n && n.guid !== c.guid || s && !s.test(c.namespace) || r && r !== c.selector && ("**" !== r || !c.selector) || (p.splice(o, 1), c.selector && p.delegateCount--, f.remove && f.remove.call(e, c));
                    a && !p.length && (f.teardown && !1 !== f.teardown.call(e, h, v.handle) || S.removeEvent(e, d, v.handle), delete u[d]);
                }
                else
                    for (d in u)
                        S.event.remove(e, d + t[l], n, r, !0);
            S.isEmptyObject(u) && Y.remove(e, "handle events");
        } }, dispatch: function (e) { var t, n, r, i, o, a, s = new Array(arguments.length), u = S.event.fix(e), l = (Y.get(this, "events") || Object.create(null))[u.type] || [], c = S.event.special[u.type] || {}; for (s[0] = u, t = 1; t < arguments.length; t++)
            s[t] = arguments[t]; if (u.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, u)) {
            a = S.event.handlers.call(this, u, l), t = 0;
            while ((i = a[t++]) && !u.isPropagationStopped()) {
                u.currentTarget = i.elem, n = 0;
                while ((o = i.handlers[n++]) && !u.isImmediatePropagationStopped())
                    u.rnamespace && !1 !== o.namespace && !u.rnamespace.test(o.namespace) || (u.handleObj = o, u.data = o.data, void 0 !== (r = ((S.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, s)) && !1 === (u.result = r) && (u.preventDefault(), u.stopPropagation()));
            }
            return c.postDispatch && c.postDispatch.call(this, u), u.result;
        } }, handlers: function (e, t) { var n, r, i, o, a, s = [], u = t.delegateCount, l = e.target; if (u && l.nodeType && !("click" === e.type && 1 <= e.button))
            for (; l !== this; l = l.parentNode || this)
                if (1 === l.nodeType && ("click" !== e.type || !0 !== l.disabled)) {
                    for (o = [], a = {}, n = 0; n < u; n++)
                        void 0 === a[i = (r = t[n]).selector + " "] && (a[i] = r.needsContext ? -1 < S(i, this).index(l) : S.find(i, this, null, [l]).length), a[i] && o.push(r);
                    o.length && s.push({ elem: l, handlers: o });
                } return l = this, u < t.length && s.push({ elem: l, handlers: t.slice(u) }), s; }, addProp: function (t, e) { Object.defineProperty(S.Event.prototype, t, { enumerable: !0, configurable: !0, get: m(e) ? function () { if (this.originalEvent)
                return e(this.originalEvent); } : function () { if (this.originalEvent)
                return this.originalEvent[t]; }, set: function (e) { Object.defineProperty(this, t, { enumerable: !0, configurable: !0, writable: !0, value: e }); } }); }, fix: function (e) { return e[S.expando] ? e : new S.Event(e); }, special: { load: { noBubble: !0 }, click: { setup: function (e) { var t = this || e; return pe.test(t.type) && t.click && A(t, "input") && Ae(t, "click", Ce), !1; }, trigger: function (e) { var t = this || e; return pe.test(t.type) && t.click && A(t, "input") && Ae(t, "click"), !0; }, _default: function (e) { var t = e.target; return pe.test(t.type) && t.click && A(t, "input") && Y.get(t, "click") || A(t, "a"); } }, beforeunload: { postDispatch: function (e) { void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result); } } } }, S.removeEvent = function (e, t, n) { e.removeEventListener && e.removeEventListener(t, n); }, S.Event = function (e, t) { if (!(this instanceof S.Event))
        return new S.Event(e, t); e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? Ce : Ee, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && S.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[S.expando] = !0; }, S.Event.prototype = { constructor: S.Event, isDefaultPrevented: Ee, isPropagationStopped: Ee, isImmediatePropagationStopped: Ee, isSimulated: !1, preventDefault: function () { var e = this.originalEvent; this.isDefaultPrevented = Ce, e && !this.isSimulated && e.preventDefault(); }, stopPropagation: function () { var e = this.originalEvent; this.isPropagationStopped = Ce, e && !this.isSimulated && e.stopPropagation(); }, stopImmediatePropagation: function () { var e = this.originalEvent; this.isImmediatePropagationStopped = Ce, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation(); } }, S.each({ altKey: !0, bubbles: !0, cancelable: !0, changedTouches: !0, ctrlKey: !0, detail: !0, eventPhase: !0, metaKey: !0, pageX: !0, pageY: !0, shiftKey: !0, view: !0, "char": !0, code: !0, charCode: !0, key: !0, keyCode: !0, button: !0, buttons: !0, clientX: !0, clientY: !0, offsetX: !0, offsetY: !0, pointerId: !0, pointerType: !0, screenX: !0, screenY: !0, targetTouches: !0, toElement: !0, touches: !0, which: function (e) { var t = e.button; return null == e.which && be.test(e.type) ? null != e.charCode ? e.charCode : e.keyCode : !e.which && void 0 !== t && we.test(e.type) ? 1 & t ? 1 : 2 & t ? 3 : 4 & t ? 2 : 0 : e.which; } }, S.event.addProp), S.each({ focus: "focusin", blur: "focusout" }, function (e, t) { S.event.special[e] = { setup: function () { return Ae(this, e, Se), !1; }, trigger: function () { return Ae(this, e), !0; }, delegateType: t }; }), S.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function (e, i) { S.event.special[e] = { delegateType: i, bindType: i, handle: function (e) { var t, n = e.relatedTarget, r = e.handleObj; return n && (n === this || S.contains(this, n)) || (e.type = r.origType, t = r.handler.apply(this, arguments), e.type = i), t; } }; }), S.fn.extend({ on: function (e, t, n, r) { return ke(this, e, t, n, r); }, one: function (e, t, n, r) { return ke(this, e, t, n, r, 1); }, off: function (e, t, n) { var r, i; if (e && e.preventDefault && e.handleObj)
            return r = e.handleObj, S(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this; if ("object" == typeof e) {
            for (i in e)
                this.off(i, t, e[i]);
            return this;
        } return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = Ee), this.each(function () { S.event.remove(this, e, n, t); }); } });
    var Ne = /<script|<style|<link/i, De = /checked\s*(?:[^=]|=\s*.checked.)/i, je = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
    function qe(e, t) { return A(e, "table") && A(11 !== t.nodeType ? t : t.firstChild, "tr") && S(e).children("tbody")[0] || e; }
    function Le(e) { return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e; }
    function He(e) { return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e; }
    function Oe(e, t) { var n, r, i, o, a, s; if (1 === t.nodeType) {
        if (Y.hasData(e) && (s = Y.get(e).events))
            for (i in Y.remove(t, "handle events"), s)
                for (n = 0, r = s[i].length; n < r; n++)
                    S.event.add(t, i, s[i][n]);
        Q.hasData(e) && (o = Q.access(e), a = S.extend({}, o), Q.set(t, a));
    } }
    function Pe(n, r, i, o) { r = g(r); var e, t, a, s, u, l, c = 0, f = n.length, p = f - 1, d = r[0], h = m(d); if (h || 1 < f && "string" == typeof d && !y.checkClone && De.test(d))
        return n.each(function (e) { var t = n.eq(e); h && (r[0] = d.call(this, e, t.html())), Pe(t, r, i, o); }); if (f && (t = (e = xe(r, n[0].ownerDocument, !1, n, o)).firstChild, 1 === e.childNodes.length && (e = t), t || o)) {
        for (s = (a = S.map(ve(e, "script"), Le)).length; c < f; c++)
            u = e, c !== p && (u = S.clone(u, !0, !0), s && S.merge(a, ve(u, "script"))), i.call(n[c], u, c);
        if (s)
            for (l = a[a.length - 1].ownerDocument, S.map(a, He), c = 0; c < s; c++)
                u = a[c], he.test(u.type || "") && !Y.access(u, "globalEval") && S.contains(l, u) && (u.src && "module" !== (u.type || "").toLowerCase() ? S._evalUrl && !u.noModule && S._evalUrl(u.src, { nonce: u.nonce || u.getAttribute("nonce") }, l) : b(u.textContent.replace(je, ""), u, l));
    } return n; }
    function Re(e, t, n) { for (var r, i = t ? S.filter(t, e) : e, o = 0; null != (r = i[o]); o++)
        n || 1 !== r.nodeType || S.cleanData(ve(r)), r.parentNode && (n && ie(r) && ye(ve(r, "script")), r.parentNode.removeChild(r)); return e; }
    S.extend({ htmlPrefilter: function (e) { return e; }, clone: function (e, t, n) { var r, i, o, a, s, u, l, c = e.cloneNode(!0), f = ie(e); if (!(y.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || S.isXMLDoc(e)))
            for (a = ve(c), r = 0, i = (o = ve(e)).length; r < i; r++)
                s = o[r], u = a[r], void 0, "input" === (l = u.nodeName.toLowerCase()) && pe.test(s.type) ? u.checked = s.checked : "input" !== l && "textarea" !== l || (u.defaultValue = s.defaultValue); if (t)
            if (n)
                for (o = o || ve(e), a = a || ve(c), r = 0, i = o.length; r < i; r++)
                    Oe(o[r], a[r]);
            else
                Oe(e, c); return 0 < (a = ve(c, "script")).length && ye(a, !f && ve(e, "script")), c; }, cleanData: function (e) { for (var t, n, r, i = S.event.special, o = 0; void 0 !== (n = e[o]); o++)
            if (V(n)) {
                if (t = n[Y.expando]) {
                    if (t.events)
                        for (r in t.events)
                            i[r] ? S.event.remove(n, r) : S.removeEvent(n, r, t.handle);
                    n[Y.expando] = void 0;
                }
                n[Q.expando] && (n[Q.expando] = void 0);
            } } }), S.fn.extend({ detach: function (e) { return Re(this, e, !0); }, remove: function (e) { return Re(this, e); }, text: function (e) { return $(this, function (e) { return void 0 === e ? S.text(this) : this.empty().each(function () { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e); }); }, null, e, arguments.length); }, append: function () { return Pe(this, arguments, function (e) { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || qe(this, e).appendChild(e); }); }, prepend: function () { return Pe(this, arguments, function (e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
            var t = qe(this, e);
            t.insertBefore(e, t.firstChild);
        } }); }, before: function () { return Pe(this, arguments, function (e) { this.parentNode && this.parentNode.insertBefore(e, this); }); }, after: function () { return Pe(this, arguments, function (e) { this.parentNode && this.parentNode.insertBefore(e, this.nextSibling); }); }, empty: function () { for (var e, t = 0; null != (e = this[t]); t++)
            1 === e.nodeType && (S.cleanData(ve(e, !1)), e.textContent = ""); return this; }, clone: function (e, t) { return e = null != e && e, t = null == t ? e : t, this.map(function () { return S.clone(this, e, t); }); }, html: function (e) { return $(this, function (e) { var t = this[0] || {}, n = 0, r = this.length; if (void 0 === e && 1 === t.nodeType)
            return t.innerHTML; if ("string" == typeof e && !Ne.test(e) && !ge[(de.exec(e) || ["", ""])[1].toLowerCase()]) {
            e = S.htmlPrefilter(e);
            try {
                for (; n < r; n++)
                    1 === (t = this[n] || {}).nodeType && (S.cleanData(ve(t, !1)), t.innerHTML = e);
                t = 0;
            }
            catch (e) { }
        } t && this.empty().append(e); }, null, e, arguments.length); }, replaceWith: function () { var n = []; return Pe(this, arguments, function (e) { var t = this.parentNode; S.inArray(this, n) < 0 && (S.cleanData(ve(this)), t && t.replaceChild(e, this)); }, n); } }), S.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (e, a) { S.fn[e] = function (e) { for (var t, n = [], r = S(e), i = r.length - 1, o = 0; o <= i; o++)
        t = o === i ? this : this.clone(!0), S(r[o])[a](t), u.apply(n, t.get()); return this.pushStack(n); }; });
    var Me = new RegExp("^(" + ee + ")(?!px)[a-z%]+$", "i"), Ie = function (e) { var t = e.ownerDocument.defaultView; return t && t.opener || (t = C), t.getComputedStyle(e); }, We = function (e, t, n) { var r, i, o = {}; for (i in t)
        o[i] = e.style[i], e.style[i] = t[i]; for (i in r = n.call(e), t)
        e.style[i] = o[i]; return r; }, Fe = new RegExp(ne.join("|"), "i");
    function Be(e, t, n) { var r, i, o, a, s = e.style; return (n = n || Ie(e)) && ("" !== (a = n.getPropertyValue(t) || n[t]) || ie(e) || (a = S.style(e, t)), !y.pixelBoxStyles() && Me.test(a) && Fe.test(t) && (r = s.width, i = s.minWidth, o = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = r, s.minWidth = i, s.maxWidth = o)), void 0 !== a ? a + "" : a; }
    function $e(e, t) { return { get: function () { if (!e())
            return (this.get = t).apply(this, arguments); delete this.get; } }; }
    !function () { function e() { if (l) {
        u.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", l.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", re.appendChild(u).appendChild(l);
        var e = C.getComputedStyle(l);
        n = "1%" !== e.top, s = 12 === t(e.marginLeft), l.style.right = "60%", o = 36 === t(e.right), r = 36 === t(e.width), l.style.position = "absolute", i = 12 === t(l.offsetWidth / 3), re.removeChild(u), l = null;
    } } function t(e) { return Math.round(parseFloat(e)); } var n, r, i, o, a, s, u = E.createElement("div"), l = E.createElement("div"); l.style && (l.style.backgroundClip = "content-box", l.cloneNode(!0).style.backgroundClip = "", y.clearCloneStyle = "content-box" === l.style.backgroundClip, S.extend(y, { boxSizingReliable: function () { return e(), r; }, pixelBoxStyles: function () { return e(), o; }, pixelPosition: function () { return e(), n; }, reliableMarginLeft: function () { return e(), s; }, scrollboxSize: function () { return e(), i; }, reliableTrDimensions: function () { var e, t, n, r; return null == a && (e = E.createElement("table"), t = E.createElement("tr"), n = E.createElement("div"), e.style.cssText = "position:absolute;left:-11111px", t.style.height = "1px", n.style.height = "9px", re.appendChild(e).appendChild(t).appendChild(n), r = C.getComputedStyle(t), a = 3 < parseInt(r.height), re.removeChild(e)), a; } })); }();
    var _e = ["Webkit", "Moz", "ms"], ze = E.createElement("div").style, Ue = {};
    function Xe(e) { var t = S.cssProps[e] || Ue[e]; return t || (e in ze ? e : Ue[e] = function (e) { var t = e[0].toUpperCase() + e.slice(1), n = _e.length; while (n--)
        if ((e = _e[n] + t) in ze)
            return e; }(e) || e); }
    var Ve = /^(none|table(?!-c[ea]).+)/, Ge = /^--/, Ye = { position: "absolute", visibility: "hidden", display: "block" }, Qe = { letterSpacing: "0", fontWeight: "400" };
    function Je(e, t, n) { var r = te.exec(t); return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t; }
    function Ke(e, t, n, r, i, o) { var a = "width" === t ? 1 : 0, s = 0, u = 0; if (n === (r ? "border" : "content"))
        return 0; for (; a < 4; a += 2)
        "margin" === n && (u += S.css(e, n + ne[a], !0, i)), r ? ("content" === n && (u -= S.css(e, "padding" + ne[a], !0, i)), "margin" !== n && (u -= S.css(e, "border" + ne[a] + "Width", !0, i))) : (u += S.css(e, "padding" + ne[a], !0, i), "padding" !== n ? u += S.css(e, "border" + ne[a] + "Width", !0, i) : s += S.css(e, "border" + ne[a] + "Width", !0, i)); return !r && 0 <= o && (u += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - o - u - s - .5)) || 0), u; }
    function Ze(e, t, n) { var r = Ie(e), i = (!y.boxSizingReliable() || n) && "border-box" === S.css(e, "boxSizing", !1, r), o = i, a = Be(e, t, r), s = "offset" + t[0].toUpperCase() + t.slice(1); if (Me.test(a)) {
        if (!n)
            return a;
        a = "auto";
    } return (!y.boxSizingReliable() && i || !y.reliableTrDimensions() && A(e, "tr") || "auto" === a || !parseFloat(a) && "inline" === S.css(e, "display", !1, r)) && e.getClientRects().length && (i = "border-box" === S.css(e, "boxSizing", !1, r), (o = s in e) && (a = e[s])), (a = parseFloat(a) || 0) + Ke(e, t, n || (i ? "border" : "content"), o, r, a) + "px"; }
    function et(e, t, n, r, i) { return new et.prototype.init(e, t, n, r, i); }
    S.extend({ cssHooks: { opacity: { get: function (e, t) { if (t) {
                    var n = Be(e, "opacity");
                    return "" === n ? "1" : n;
                } } } }, cssNumber: { animationIterationCount: !0, columnCount: !0, fillOpacity: !0, flexGrow: !0, flexShrink: !0, fontWeight: !0, gridArea: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnStart: !0, gridRow: !0, gridRowEnd: !0, gridRowStart: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, cssProps: {}, style: function (e, t, n, r) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
            var i, o, a, s = X(t), u = Ge.test(t), l = e.style;
            if (u || (t = Xe(s)), a = S.cssHooks[t] || S.cssHooks[s], void 0 === n)
                return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : l[t];
            "string" === (o = typeof n) && (i = te.exec(n)) && i[1] && (n = se(e, t, i), o = "number"), null != n && n == n && ("number" !== o || u || (n += i && i[3] || (S.cssNumber[s] ? "" : "px")), y.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (l[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, r)) || (u ? l.setProperty(t, n) : l[t] = n));
        } }, css: function (e, t, n, r) { var i, o, a, s = X(t); return Ge.test(t) || (t = Xe(s)), (a = S.cssHooks[t] || S.cssHooks[s]) && "get" in a && (i = a.get(e, !0, n)), void 0 === i && (i = Be(e, t, r)), "normal" === i && t in Qe && (i = Qe[t]), "" === n || n ? (o = parseFloat(i), !0 === n || isFinite(o) ? o || 0 : i) : i; } }), S.each(["height", "width"], function (e, u) { S.cssHooks[u] = { get: function (e, t, n) { if (t)
            return !Ve.test(S.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? Ze(e, u, n) : We(e, Ye, function () { return Ze(e, u, n); }); }, set: function (e, t, n) { var r, i = Ie(e), o = !y.scrollboxSize() && "absolute" === i.position, a = (o || n) && "border-box" === S.css(e, "boxSizing", !1, i), s = n ? Ke(e, u, n, a, i) : 0; return a && o && (s -= Math.ceil(e["offset" + u[0].toUpperCase() + u.slice(1)] - parseFloat(i[u]) - Ke(e, u, "border", !1, i) - .5)), s && (r = te.exec(t)) && "px" !== (r[3] || "px") && (e.style[u] = t, t = S.css(e, u)), Je(0, t, s); } }; }), S.cssHooks.marginLeft = $e(y.reliableMarginLeft, function (e, t) { if (t)
        return (parseFloat(Be(e, "marginLeft")) || e.getBoundingClientRect().left - We(e, { marginLeft: 0 }, function () { return e.getBoundingClientRect().left; })) + "px"; }), S.each({ margin: "", padding: "", border: "Width" }, function (i, o) { S.cssHooks[i + o] = { expand: function (e) { for (var t = 0, n = {}, r = "string" == typeof e ? e.split(" ") : [e]; t < 4; t++)
            n[i + ne[t] + o] = r[t] || r[t - 2] || r[0]; return n; } }, "margin" !== i && (S.cssHooks[i + o].set = Je); }), S.fn.extend({ css: function (e, t) { return $(this, function (e, t, n) { var r, i, o = {}, a = 0; if (Array.isArray(t)) {
            for (r = Ie(e), i = t.length; a < i; a++)
                o[t[a]] = S.css(e, t[a], !1, r);
            return o;
        } return void 0 !== n ? S.style(e, t, n) : S.css(e, t); }, e, t, 1 < arguments.length); } }), ((S.Tween = et).prototype = { constructor: et, init: function (e, t, n, r, i, o) { this.elem = e, this.prop = n, this.easing = i || S.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (S.cssNumber[n] ? "" : "px"); }, cur: function () { var e = et.propHooks[this.prop]; return e && e.get ? e.get(this) : et.propHooks._default.get(this); }, run: function (e) { var t, n = et.propHooks[this.prop]; return this.options.duration ? this.pos = t = S.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : et.propHooks._default.set(this), this; } }).init.prototype = et.prototype, (et.propHooks = { _default: { get: function (e) { var t; return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = S.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0; }, set: function (e) { S.fx.step[e.prop] ? S.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !S.cssHooks[e.prop] && null == e.elem.style[Xe(e.prop)] ? e.elem[e.prop] = e.now : S.style(e.elem, e.prop, e.now + e.unit); } } }).scrollTop = et.propHooks.scrollLeft = { set: function (e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now); } }, S.easing = { linear: function (e) { return e; }, swing: function (e) { return .5 - Math.cos(e * Math.PI) / 2; }, _default: "swing" }, S.fx = et.prototype.init, S.fx.step = {};
    var tt, nt, rt, it, ot = /^(?:toggle|show|hide)$/, at = /queueHooks$/;
    function st() { nt && (!1 === E.hidden && C.requestAnimationFrame ? C.requestAnimationFrame(st) : C.setTimeout(st, S.fx.interval), S.fx.tick()); }
    function ut() { return C.setTimeout(function () { tt = void 0; }), tt = Date.now(); }
    function lt(e, t) { var n, r = 0, i = { height: e }; for (t = t ? 1 : 0; r < 4; r += 2 - t)
        i["margin" + (n = ne[r])] = i["padding" + n] = e; return t && (i.opacity = i.width = e), i; }
    function ct(e, t, n) { for (var r, i = (ft.tweeners[t] || []).concat(ft.tweeners["*"]), o = 0, a = i.length; o < a; o++)
        if (r = i[o].call(n, t, e))
            return r; }
    function ft(o, e, t) { var n, a, r = 0, i = ft.prefilters.length, s = S.Deferred().always(function () { delete u.elem; }), u = function () { if (a)
        return !1; for (var e = tt || ut(), t = Math.max(0, l.startTime + l.duration - e), n = 1 - (t / l.duration || 0), r = 0, i = l.tweens.length; r < i; r++)
        l.tweens[r].run(n); return s.notifyWith(o, [l, n, t]), n < 1 && i ? t : (i || s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l]), !1); }, l = s.promise({ elem: o, props: S.extend({}, e), opts: S.extend(!0, { specialEasing: {}, easing: S.easing._default }, t), originalProperties: e, originalOptions: t, startTime: tt || ut(), duration: t.duration, tweens: [], createTween: function (e, t) { var n = S.Tween(o, l.opts, e, t, l.opts.specialEasing[e] || l.opts.easing); return l.tweens.push(n), n; }, stop: function (e) { var t = 0, n = e ? l.tweens.length : 0; if (a)
            return this; for (a = !0; t < n; t++)
            l.tweens[t].run(1); return e ? (s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l, e])) : s.rejectWith(o, [l, e]), this; } }), c = l.props; for (!function (e, t) { var n, r, i, o, a; for (n in e)
        if (i = t[r = X(n)], o = e[n], Array.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), (a = S.cssHooks[r]) && "expand" in a)
            for (n in o = a.expand(o), delete e[r], o)
                n in e || (e[n] = o[n], t[n] = i);
        else
            t[r] = i; }(c, l.opts.specialEasing); r < i; r++)
        if (n = ft.prefilters[r].call(l, o, c, l.opts))
            return m(n.stop) && (S._queueHooks(l.elem, l.opts.queue).stop = n.stop.bind(n)), n; return S.map(c, ct, l), m(l.opts.start) && l.opts.start.call(o, l), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always), S.fx.timer(S.extend(u, { elem: o, anim: l, queue: l.opts.queue })), l; }
    S.Animation = S.extend(ft, { tweeners: { "*": [function (e, t) { var n = this.createTween(e, t); return se(n.elem, e, te.exec(t), n), n; }] }, tweener: function (e, t) { m(e) ? (t = e, e = ["*"]) : e = e.match(P); for (var n, r = 0, i = e.length; r < i; r++)
            n = e[r], ft.tweeners[n] = ft.tweeners[n] || [], ft.tweeners[n].unshift(t); }, prefilters: [function (e, t, n) { var r, i, o, a, s, u, l, c, f = "width" in t || "height" in t, p = this, d = {}, h = e.style, g = e.nodeType && ae(e), v = Y.get(e, "fxshow"); for (r in n.queue || (null == (a = S._queueHooks(e, "fx")).unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function () { a.unqueued || s(); }), a.unqueued++, p.always(function () { p.always(function () { a.unqueued--, S.queue(e, "fx").length || a.empty.fire(); }); })), t)
                if (i = t[r], ot.test(i)) {
                    if (delete t[r], o = o || "toggle" === i, i === (g ? "hide" : "show")) {
                        if ("show" !== i || !v || void 0 === v[r])
                            continue;
                        g = !0;
                    }
                    d[r] = v && v[r] || S.style(e, r);
                } if ((u = !S.isEmptyObject(t)) || !S.isEmptyObject(d))
                for (r in f && 1 === e.nodeType && (n.overflow = [h.overflow, h.overflowX, h.overflowY], null == (l = v && v.display) && (l = Y.get(e, "display")), "none" === (c = S.css(e, "display")) && (l ? c = l : (le([e], !0), l = e.style.display || l, c = S.css(e, "display"), le([e]))), ("inline" === c || "inline-block" === c && null != l) && "none" === S.css(e, "float") && (u || (p.done(function () { h.display = l; }), null == l && (c = h.display, l = "none" === c ? "" : c)), h.display = "inline-block")), n.overflow && (h.overflow = "hidden", p.always(function () { h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2]; })), u = !1, d)
                    u || (v ? "hidden" in v && (g = v.hidden) : v = Y.access(e, "fxshow", { display: l }), o && (v.hidden = !g), g && le([e], !0), p.done(function () { for (r in g || le([e]), Y.remove(e, "fxshow"), d)
                        S.style(e, r, d[r]); })), u = ct(g ? v[r] : 0, r, p), r in v || (v[r] = u.start, g && (u.end = u.start, u.start = 0)); }], prefilter: function (e, t) { t ? ft.prefilters.unshift(e) : ft.prefilters.push(e); } }), S.speed = function (e, t, n) { var r = e && "object" == typeof e ? S.extend({}, e) : { complete: n || !n && t || m(e) && e, duration: e, easing: n && t || t && !m(t) && t }; return S.fx.off ? r.duration = 0 : "number" != typeof r.duration && (r.duration in S.fx.speeds ? r.duration = S.fx.speeds[r.duration] : r.duration = S.fx.speeds._default), null != r.queue && !0 !== r.queue || (r.queue = "fx"), r.old = r.complete, r.complete = function () { m(r.old) && r.old.call(this), r.queue && S.dequeue(this, r.queue); }, r; }, S.fn.extend({ fadeTo: function (e, t, n, r) { return this.filter(ae).css("opacity", 0).show().end().animate({ opacity: t }, e, n, r); }, animate: function (t, e, n, r) { var i = S.isEmptyObject(t), o = S.speed(e, n, r), a = function () { var e = ft(this, S.extend({}, t), o); (i || Y.get(this, "finish")) && e.stop(!0); }; return a.finish = a, i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a); }, stop: function (i, e, o) { var a = function (e) { var t = e.stop; delete e.stop, t(o); }; return "string" != typeof i && (o = e, e = i, i = void 0), e && this.queue(i || "fx", []), this.each(function () { var e = !0, t = null != i && i + "queueHooks", n = S.timers, r = Y.get(this); if (t)
            r[t] && r[t].stop && a(r[t]);
        else
            for (t in r)
                r[t] && r[t].stop && at.test(t) && a(r[t]); for (t = n.length; t--;)
            n[t].elem !== this || null != i && n[t].queue !== i || (n[t].anim.stop(o), e = !1, n.splice(t, 1)); !e && o || S.dequeue(this, i); }); }, finish: function (a) { return !1 !== a && (a = a || "fx"), this.each(function () { var e, t = Y.get(this), n = t[a + "queue"], r = t[a + "queueHooks"], i = S.timers, o = n ? n.length : 0; for (t.finish = !0, S.queue(this, a, []), r && r.stop && r.stop.call(this, !0), e = i.length; e--;)
            i[e].elem === this && i[e].queue === a && (i[e].anim.stop(!0), i.splice(e, 1)); for (e = 0; e < o; e++)
            n[e] && n[e].finish && n[e].finish.call(this); delete t.finish; }); } }), S.each(["toggle", "show", "hide"], function (e, r) { var i = S.fn[r]; S.fn[r] = function (e, t, n) { return null == e || "boolean" == typeof e ? i.apply(this, arguments) : this.animate(lt(r, !0), e, t, n); }; }), S.each({ slideDown: lt("show"), slideUp: lt("hide"), slideToggle: lt("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function (e, r) { S.fn[e] = function (e, t, n) { return this.animate(r, e, t, n); }; }), S.timers = [], S.fx.tick = function () { var e, t = 0, n = S.timers; for (tt = Date.now(); t < n.length; t++)
        (e = n[t])() || n[t] !== e || n.splice(t--, 1); n.length || S.fx.stop(), tt = void 0; }, S.fx.timer = function (e) { S.timers.push(e), S.fx.start(); }, S.fx.interval = 13, S.fx.start = function () { nt || (nt = !0, st()); }, S.fx.stop = function () { nt = null; }, S.fx.speeds = { slow: 600, fast: 200, _default: 400 }, S.fn.delay = function (r, e) { return r = S.fx && S.fx.speeds[r] || r, e = e || "fx", this.queue(e, function (e, t) { var n = C.setTimeout(e, r); t.stop = function () { C.clearTimeout(n); }; }); }, rt = E.createElement("input"), it = E.createElement("select").appendChild(E.createElement("option")), rt.type = "checkbox", y.checkOn = "" !== rt.value, y.optSelected = it.selected, (rt = E.createElement("input")).value = "t", rt.type = "radio", y.radioValue = "t" === rt.value;
    var pt, dt = S.expr.attrHandle;
    S.fn.extend({ attr: function (e, t) { return $(this, S.attr, e, t, 1 < arguments.length); }, removeAttr: function (e) { return this.each(function () { S.removeAttr(this, e); }); } }), S.extend({ attr: function (e, t, n) { var r, i, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o)
            return "undefined" == typeof e.getAttribute ? S.prop(e, t, n) : (1 === o && S.isXMLDoc(e) || (i = S.attrHooks[t.toLowerCase()] || (S.expr.match.bool.test(t) ? pt : void 0)), void 0 !== n ? null === n ? void S.removeAttr(e, t) : i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : (e.setAttribute(t, n + ""), n) : i && "get" in i && null !== (r = i.get(e, t)) ? r : null == (r = S.find.attr(e, t)) ? void 0 : r); }, attrHooks: { type: { set: function (e, t) { if (!y.radioValue && "radio" === t && A(e, "input")) {
                    var n = e.value;
                    return e.setAttribute("type", t), n && (e.value = n), t;
                } } } }, removeAttr: function (e, t) { var n, r = 0, i = t && t.match(P); if (i && 1 === e.nodeType)
            while (n = i[r++])
                e.removeAttribute(n); } }), pt = { set: function (e, t, n) { return !1 === t ? S.removeAttr(e, n) : e.setAttribute(n, n), n; } }, S.each(S.expr.match.bool.source.match(/\w+/g), function (e, t) { var a = dt[t] || S.find.attr; dt[t] = function (e, t, n) { var r, i, o = t.toLowerCase(); return n || (i = dt[o], dt[o] = r, r = null != a(e, t, n) ? o : null, dt[o] = i), r; }; });
    var ht = /^(?:input|select|textarea|button)$/i, gt = /^(?:a|area)$/i;
    function vt(e) { return (e.match(P) || []).join(" "); }
    function yt(e) { return e.getAttribute && e.getAttribute("class") || ""; }
    function mt(e) { return Array.isArray(e) ? e : "string" == typeof e && e.match(P) || []; }
    S.fn.extend({ prop: function (e, t) { return $(this, S.prop, e, t, 1 < arguments.length); }, removeProp: function (e) { return this.each(function () { delete this[S.propFix[e] || e]; }); } }), S.extend({ prop: function (e, t, n) { var r, i, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o)
            return 1 === o && S.isXMLDoc(e) || (t = S.propFix[t] || t, i = S.propHooks[t]), void 0 !== n ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get" in i && null !== (r = i.get(e, t)) ? r : e[t]; }, propHooks: { tabIndex: { get: function (e) { var t = S.find.attr(e, "tabindex"); return t ? parseInt(t, 10) : ht.test(e.nodeName) || gt.test(e.nodeName) && e.href ? 0 : -1; } } }, propFix: { "for": "htmlFor", "class": "className" } }), y.optSelected || (S.propHooks.selected = { get: function (e) { var t = e.parentNode; return t && t.parentNode && t.parentNode.selectedIndex, null; }, set: function (e) { var t = e.parentNode; t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex); } }), S.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () { S.propFix[this.toLowerCase()] = this; }), S.fn.extend({ addClass: function (t) { var e, n, r, i, o, a, s, u = 0; if (m(t))
            return this.each(function (e) { S(this).addClass(t.call(this, e, yt(this))); }); if ((e = mt(t)).length)
            while (n = this[u++])
                if (i = yt(n), r = 1 === n.nodeType && " " + vt(i) + " ") {
                    a = 0;
                    while (o = e[a++])
                        r.indexOf(" " + o + " ") < 0 && (r += o + " ");
                    i !== (s = vt(r)) && n.setAttribute("class", s);
                } return this; }, removeClass: function (t) { var e, n, r, i, o, a, s, u = 0; if (m(t))
            return this.each(function (e) { S(this).removeClass(t.call(this, e, yt(this))); }); if (!arguments.length)
            return this.attr("class", ""); if ((e = mt(t)).length)
            while (n = this[u++])
                if (i = yt(n), r = 1 === n.nodeType && " " + vt(i) + " ") {
                    a = 0;
                    while (o = e[a++])
                        while (-1 < r.indexOf(" " + o + " "))
                            r = r.replace(" " + o + " ", " ");
                    i !== (s = vt(r)) && n.setAttribute("class", s);
                } return this; }, toggleClass: function (i, t) { var o = typeof i, a = "string" === o || Array.isArray(i); return "boolean" == typeof t && a ? t ? this.addClass(i) : this.removeClass(i) : m(i) ? this.each(function (e) { S(this).toggleClass(i.call(this, e, yt(this), t), t); }) : this.each(function () { var e, t, n, r; if (a) {
            t = 0, n = S(this), r = mt(i);
            while (e = r[t++])
                n.hasClass(e) ? n.removeClass(e) : n.addClass(e);
        }
        else
            void 0 !== i && "boolean" !== o || ((e = yt(this)) && Y.set(this, "__className__", e), this.setAttribute && this.setAttribute("class", e || !1 === i ? "" : Y.get(this, "__className__") || "")); }); }, hasClass: function (e) { var t, n, r = 0; t = " " + e + " "; while (n = this[r++])
            if (1 === n.nodeType && -1 < (" " + vt(yt(n)) + " ").indexOf(t))
                return !0; return !1; } });
    var xt = /\r/g;
    S.fn.extend({ val: function (n) { var r, e, i, t = this[0]; return arguments.length ? (i = m(n), this.each(function (e) { var t; 1 === this.nodeType && (null == (t = i ? n.call(this, e, S(this).val()) : n) ? t = "" : "number" == typeof t ? t += "" : Array.isArray(t) && (t = S.map(t, function (e) { return null == e ? "" : e + ""; })), (r = S.valHooks[this.type] || S.valHooks[this.nodeName.toLowerCase()]) && "set" in r && void 0 !== r.set(this, t, "value") || (this.value = t)); })) : t ? (r = S.valHooks[t.type] || S.valHooks[t.nodeName.toLowerCase()]) && "get" in r && void 0 !== (e = r.get(t, "value")) ? e : "string" == typeof (e = t.value) ? e.replace(xt, "") : null == e ? "" : e : void 0; } }), S.extend({ valHooks: { option: { get: function (e) { var t = S.find.attr(e, "value"); return null != t ? t : vt(S.text(e)); } }, select: { get: function (e) { var t, n, r, i = e.options, o = e.selectedIndex, a = "select-one" === e.type, s = a ? null : [], u = a ? o + 1 : i.length; for (r = o < 0 ? u : a ? o : 0; r < u; r++)
                    if (((n = i[r]).selected || r === o) && !n.disabled && (!n.parentNode.disabled || !A(n.parentNode, "optgroup"))) {
                        if (t = S(n).val(), a)
                            return t;
                        s.push(t);
                    } return s; }, set: function (e, t) { var n, r, i = e.options, o = S.makeArray(t), a = i.length; while (a--)
                    ((r = i[a]).selected = -1 < S.inArray(S.valHooks.option.get(r), o)) && (n = !0); return n || (e.selectedIndex = -1), o; } } } }), S.each(["radio", "checkbox"], function () { S.valHooks[this] = { set: function (e, t) { if (Array.isArray(t))
            return e.checked = -1 < S.inArray(S(e).val(), t); } }, y.checkOn || (S.valHooks[this].get = function (e) { return null === e.getAttribute("value") ? "on" : e.value; }); }), y.focusin = "onfocusin" in C;
    var bt = /^(?:focusinfocus|focusoutblur)$/, wt = function (e) { e.stopPropagation(); };
    S.extend(S.event, { trigger: function (e, t, n, r) { var i, o, a, s, u, l, c, f, p = [n || E], d = v.call(e, "type") ? e.type : e, h = v.call(e, "namespace") ? e.namespace.split(".") : []; if (o = f = a = n = n || E, 3 !== n.nodeType && 8 !== n.nodeType && !bt.test(d + S.event.triggered) && (-1 < d.indexOf(".") && (d = (h = d.split(".")).shift(), h.sort()), u = d.indexOf(":") < 0 && "on" + d, (e = e[S.expando] ? e : new S.Event(d, "object" == typeof e && e)).isTrigger = r ? 2 : 3, e.namespace = h.join("."), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = n), t = null == t ? [e] : S.makeArray(t, [e]), c = S.event.special[d] || {}, r || !c.trigger || !1 !== c.trigger.apply(n, t))) {
            if (!r && !c.noBubble && !x(n)) {
                for (s = c.delegateType || d, bt.test(s + d) || (o = o.parentNode); o; o = o.parentNode)
                    p.push(o), a = o;
                a === (n.ownerDocument || E) && p.push(a.defaultView || a.parentWindow || C);
            }
            i = 0;
            while ((o = p[i++]) && !e.isPropagationStopped())
                f = o, e.type = 1 < i ? s : c.bindType || d, (l = (Y.get(o, "events") || Object.create(null))[e.type] && Y.get(o, "handle")) && l.apply(o, t), (l = u && o[u]) && l.apply && V(o) && (e.result = l.apply(o, t), !1 === e.result && e.preventDefault());
            return e.type = d, r || e.isDefaultPrevented() || c._default && !1 !== c._default.apply(p.pop(), t) || !V(n) || u && m(n[d]) && !x(n) && ((a = n[u]) && (n[u] = null), S.event.triggered = d, e.isPropagationStopped() && f.addEventListener(d, wt), n[d](), e.isPropagationStopped() && f.removeEventListener(d, wt), S.event.triggered = void 0, a && (n[u] = a)), e.result;
        } }, simulate: function (e, t, n) { var r = S.extend(new S.Event, n, { type: e, isSimulated: !0 }); S.event.trigger(r, null, t); } }), S.fn.extend({ trigger: function (e, t) { return this.each(function () { S.event.trigger(e, t, this); }); }, triggerHandler: function (e, t) { var n = this[0]; if (n)
            return S.event.trigger(e, t, n, !0); } }), y.focusin || S.each({ focus: "focusin", blur: "focusout" }, function (n, r) { var i = function (e) { S.event.simulate(r, e.target, S.event.fix(e)); }; S.event.special[r] = { setup: function () { var e = this.ownerDocument || this.document || this, t = Y.access(e, r); t || e.addEventListener(n, i, !0), Y.access(e, r, (t || 0) + 1); }, teardown: function () { var e = this.ownerDocument || this.document || this, t = Y.access(e, r) - 1; t ? Y.access(e, r, t) : (e.removeEventListener(n, i, !0), Y.remove(e, r)); } }; });
    var Tt = C.location, Ct = { guid: Date.now() }, Et = /\?/;
    S.parseXML = function (e) { var t; if (!e || "string" != typeof e)
        return null; try {
        t = (new C.DOMParser).parseFromString(e, "text/xml");
    }
    catch (e) {
        t = void 0;
    } return t && !t.getElementsByTagName("parsererror").length || S.error("Invalid XML: " + e), t; };
    var St = /\[\]$/, kt = /\r?\n/g, At = /^(?:submit|button|image|reset|file)$/i, Nt = /^(?:input|select|textarea|keygen)/i;
    function Dt(n, e, r, i) { var t; if (Array.isArray(e))
        S.each(e, function (e, t) { r || St.test(n) ? i(n, t) : Dt(n + "[" + ("object" == typeof t && null != t ? e : "") + "]", t, r, i); });
    else if (r || "object" !== w(e))
        i(n, e);
    else
        for (t in e)
            Dt(n + "[" + t + "]", e[t], r, i); }
    S.param = function (e, t) { var n, r = [], i = function (e, t) { var n = m(t) ? t() : t; r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n); }; if (null == e)
        return ""; if (Array.isArray(e) || e.jquery && !S.isPlainObject(e))
        S.each(e, function () { i(this.name, this.value); });
    else
        for (n in e)
            Dt(n, e[n], t, i); return r.join("&"); }, S.fn.extend({ serialize: function () { return S.param(this.serializeArray()); }, serializeArray: function () { return this.map(function () { var e = S.prop(this, "elements"); return e ? S.makeArray(e) : this; }).filter(function () { var e = this.type; return this.name && !S(this).is(":disabled") && Nt.test(this.nodeName) && !At.test(e) && (this.checked || !pe.test(e)); }).map(function (e, t) { var n = S(this).val(); return null == n ? null : Array.isArray(n) ? S.map(n, function (e) { return { name: t.name, value: e.replace(kt, "\r\n") }; }) : { name: t.name, value: n.replace(kt, "\r\n") }; }).get(); } });
    var jt = /%20/g, qt = /#.*$/, Lt = /([?&])_=[^&]*/, Ht = /^(.*?):[ \t]*([^\r\n]*)$/gm, Ot = /^(?:GET|HEAD)$/, Pt = /^\/\//, Rt = {}, Mt = {}, It = "*/".concat("*"), Wt = E.createElement("a");
    function Ft(o) { return function (e, t) { "string" != typeof e && (t = e, e = "*"); var n, r = 0, i = e.toLowerCase().match(P) || []; if (m(t))
        while (n = i[r++])
            "+" === n[0] ? (n = n.slice(1) || "*", (o[n] = o[n] || []).unshift(t)) : (o[n] = o[n] || []).push(t); }; }
    function Bt(t, i, o, a) { var s = {}, u = t === Mt; function l(e) { var r; return s[e] = !0, S.each(t[e] || [], function (e, t) { var n = t(i, o, a); return "string" != typeof n || u || s[n] ? u ? !(r = n) : void 0 : (i.dataTypes.unshift(n), l(n), !1); }), r; } return l(i.dataTypes[0]) || !s["*"] && l("*"); }
    function $t(e, t) { var n, r, i = S.ajaxSettings.flatOptions || {}; for (n in t)
        void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); return r && S.extend(!0, e, r), e; }
    Wt.href = Tt.href, S.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: Tt.href, type: "GET", isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol), global: !0, processData: !0, async: !0, contentType: "application/x-www-form-urlencoded; charset=UTF-8", accepts: { "*": It, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" }, contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ }, responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" }, converters: { "* text": String, "text html": !0, "text json": JSON.parse, "text xml": S.parseXML }, flatOptions: { url: !0, context: !0 } }, ajaxSetup: function (e, t) { return t ? $t($t(e, S.ajaxSettings), t) : $t(S.ajaxSettings, e); }, ajaxPrefilter: Ft(Rt), ajaxTransport: Ft(Mt), ajax: function (e, t) { "object" == typeof e && (t = e, e = void 0), t = t || {}; var c, f, p, n, d, r, h, g, i, o, v = S.ajaxSetup({}, t), y = v.context || v, m = v.context && (y.nodeType || y.jquery) ? S(y) : S.event, x = S.Deferred(), b = S.Callbacks("once memory"), w = v.statusCode || {}, a = {}, s = {}, u = "canceled", T = { readyState: 0, getResponseHeader: function (e) { var t; if (h) {
                if (!n) {
                    n = {};
                    while (t = Ht.exec(p))
                        n[t[1].toLowerCase() + " "] = (n[t[1].toLowerCase() + " "] || []).concat(t[2]);
                }
                t = n[e.toLowerCase() + " "];
            } return null == t ? null : t.join(", "); }, getAllResponseHeaders: function () { return h ? p : null; }, setRequestHeader: function (e, t) { return null == h && (e = s[e.toLowerCase()] = s[e.toLowerCase()] || e, a[e] = t), this; }, overrideMimeType: function (e) { return null == h && (v.mimeType = e), this; }, statusCode: function (e) { var t; if (e)
                if (h)
                    T.always(e[T.status]);
                else
                    for (t in e)
                        w[t] = [w[t], e[t]]; return this; }, abort: function (e) { var t = e || u; return c && c.abort(t), l(0, t), this; } }; if (x.promise(T), v.url = ((e || v.url || Tt.href) + "").replace(Pt, Tt.protocol + "//"), v.type = t.method || t.type || v.method || v.type, v.dataTypes = (v.dataType || "*").toLowerCase().match(P) || [""], null == v.crossDomain) {
            r = E.createElement("a");
            try {
                r.href = v.url, r.href = r.href, v.crossDomain = Wt.protocol + "//" + Wt.host != r.protocol + "//" + r.host;
            }
            catch (e) {
                v.crossDomain = !0;
            }
        } if (v.data && v.processData && "string" != typeof v.data && (v.data = S.param(v.data, v.traditional)), Bt(Rt, v, t, T), h)
            return T; for (i in (g = S.event && v.global) && 0 == S.active++ && S.event.trigger("ajaxStart"), v.type = v.type.toUpperCase(), v.hasContent = !Ot.test(v.type), f = v.url.replace(qt, ""), v.hasContent ? v.data && v.processData && 0 === (v.contentType || "").indexOf("application/x-www-form-urlencoded") && (v.data = v.data.replace(jt, "+")) : (o = v.url.slice(f.length), v.data && (v.processData || "string" == typeof v.data) && (f += (Et.test(f) ? "&" : "?") + v.data, delete v.data), !1 === v.cache && (f = f.replace(Lt, "$1"), o = (Et.test(f) ? "&" : "?") + "_=" + Ct.guid++ + o), v.url = f + o), v.ifModified && (S.lastModified[f] && T.setRequestHeader("If-Modified-Since", S.lastModified[f]), S.etag[f] && T.setRequestHeader("If-None-Match", S.etag[f])), (v.data && v.hasContent && !1 !== v.contentType || t.contentType) && T.setRequestHeader("Content-Type", v.contentType), T.setRequestHeader("Accept", v.dataTypes[0] && v.accepts[v.dataTypes[0]] ? v.accepts[v.dataTypes[0]] + ("*" !== v.dataTypes[0] ? ", " + It + "; q=0.01" : "") : v.accepts["*"]), v.headers)
            T.setRequestHeader(i, v.headers[i]); if (v.beforeSend && (!1 === v.beforeSend.call(y, T, v) || h))
            return T.abort(); if (u = "abort", b.add(v.complete), T.done(v.success), T.fail(v.error), c = Bt(Mt, v, t, T)) {
            if (T.readyState = 1, g && m.trigger("ajaxSend", [T, v]), h)
                return T;
            v.async && 0 < v.timeout && (d = C.setTimeout(function () { T.abort("timeout"); }, v.timeout));
            try {
                h = !1, c.send(a, l);
            }
            catch (e) {
                if (h)
                    throw e;
                l(-1, e);
            }
        }
        else
            l(-1, "No Transport"); function l(e, t, n, r) { var i, o, a, s, u, l = t; h || (h = !0, d && C.clearTimeout(d), c = void 0, p = r || "", T.readyState = 0 < e ? 4 : 0, i = 200 <= e && e < 300 || 304 === e, n && (s = function (e, t, n) { var r, i, o, a, s = e.contents, u = e.dataTypes; while ("*" === u[0])
            u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type")); if (r)
            for (i in s)
                if (s[i] && s[i].test(r)) {
                    u.unshift(i);
                    break;
                } if (u[0] in n)
            o = u[0];
        else {
            for (i in n) {
                if (!u[0] || e.converters[i + " " + u[0]]) {
                    o = i;
                    break;
                }
                a || (a = i);
            }
            o = o || a;
        } if (o)
            return o !== u[0] && u.unshift(o), n[o]; }(v, T, n)), !i && -1 < S.inArray("script", v.dataTypes) && (v.converters["text script"] = function () { }), s = function (e, t, n, r) { var i, o, a, s, u, l = {}, c = e.dataTypes.slice(); if (c[1])
            for (a in e.converters)
                l[a.toLowerCase()] = e.converters[a]; o = c.shift(); while (o)
            if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift())
                if ("*" === o)
                    o = u;
                else if ("*" !== u && u !== o) {
                    if (!(a = l[u + " " + o] || l["* " + o]))
                        for (i in l)
                            if ((s = i.split(" "))[1] === o && (a = l[u + " " + s[0]] || l["* " + s[0]])) {
                                !0 === a ? a = l[i] : !0 !== l[i] && (o = s[0], c.unshift(s[1]));
                                break;
                            }
                    if (!0 !== a)
                        if (a && e["throws"])
                            t = a(t);
                        else
                            try {
                                t = a(t);
                            }
                            catch (e) {
                                return { state: "parsererror", error: a ? e : "No conversion from " + u + " to " + o };
                            }
                } return { state: "success", data: t }; }(v, s, T, i), i ? (v.ifModified && ((u = T.getResponseHeader("Last-Modified")) && (S.lastModified[f] = u), (u = T.getResponseHeader("etag")) && (S.etag[f] = u)), 204 === e || "HEAD" === v.type ? l = "nocontent" : 304 === e ? l = "notmodified" : (l = s.state, o = s.data, i = !(a = s.error))) : (a = l, !e && l || (l = "error", e < 0 && (e = 0))), T.status = e, T.statusText = (t || l) + "", i ? x.resolveWith(y, [o, l, T]) : x.rejectWith(y, [T, l, a]), T.statusCode(w), w = void 0, g && m.trigger(i ? "ajaxSuccess" : "ajaxError", [T, v, i ? o : a]), b.fireWith(y, [T, l]), g && (m.trigger("ajaxComplete", [T, v]), --S.active || S.event.trigger("ajaxStop"))); } return T; }, getJSON: function (e, t, n) { return S.get(e, t, n, "json"); }, getScript: function (e, t) { return S.get(e, void 0, t, "script"); } }), S.each(["get", "post"], function (e, i) { S[i] = function (e, t, n, r) { return m(t) && (r = r || n, n = t, t = void 0), S.ajax(S.extend({ url: e, type: i, dataType: r, data: t, success: n }, S.isPlainObject(e) && e)); }; }), S.ajaxPrefilter(function (e) { var t; for (t in e.headers)
        "content-type" === t.toLowerCase() && (e.contentType = e.headers[t] || ""); }), S._evalUrl = function (e, t, n) { return S.ajax({ url: e, type: "GET", dataType: "script", cache: !0, async: !1, global: !1, converters: { "text script": function () { } }, dataFilter: function (e) { S.globalEval(e, t, n); } }); }, S.fn.extend({ wrapAll: function (e) { var t; return this[0] && (m(e) && (e = e.call(this[0])), t = S(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function () { var e = this; while (e.firstElementChild)
            e = e.firstElementChild; return e; }).append(this)), this; }, wrapInner: function (n) { return m(n) ? this.each(function (e) { S(this).wrapInner(n.call(this, e)); }) : this.each(function () { var e = S(this), t = e.contents(); t.length ? t.wrapAll(n) : e.append(n); }); }, wrap: function (t) { var n = m(t); return this.each(function (e) { S(this).wrapAll(n ? t.call(this, e) : t); }); }, unwrap: function (e) { return this.parent(e).not("body").each(function () { S(this).replaceWith(this.childNodes); }), this; } }), S.expr.pseudos.hidden = function (e) { return !S.expr.pseudos.visible(e); }, S.expr.pseudos.visible = function (e) { return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length); }, S.ajaxSettings.xhr = function () { try {
        return new C.XMLHttpRequest;
    }
    catch (e) { } };
    var _t = { 0: 200, 1223: 204 }, zt = S.ajaxSettings.xhr();
    y.cors = !!zt && "withCredentials" in zt, y.ajax = zt = !!zt, S.ajaxTransport(function (i) { var o, a; if (y.cors || zt && !i.crossDomain)
        return { send: function (e, t) { var n, r = i.xhr(); if (r.open(i.type, i.url, i.async, i.username, i.password), i.xhrFields)
                for (n in i.xhrFields)
                    r[n] = i.xhrFields[n]; for (n in i.mimeType && r.overrideMimeType && r.overrideMimeType(i.mimeType), i.crossDomain || e["X-Requested-With"] || (e["X-Requested-With"] = "XMLHttpRequest"), e)
                r.setRequestHeader(n, e[n]); o = function (e) { return function () { o && (o = a = r.onload = r.onerror = r.onabort = r.ontimeout = r.onreadystatechange = null, "abort" === e ? r.abort() : "error" === e ? "number" != typeof r.status ? t(0, "error") : t(r.status, r.statusText) : t(_t[r.status] || r.status, r.statusText, "text" !== (r.responseType || "text") || "string" != typeof r.responseText ? { binary: r.response } : { text: r.responseText }, r.getAllResponseHeaders())); }; }, r.onload = o(), a = r.onerror = r.ontimeout = o("error"), void 0 !== r.onabort ? r.onabort = a : r.onreadystatechange = function () { 4 === r.readyState && C.setTimeout(function () { o && a(); }); }, o = o("abort"); try {
                r.send(i.hasContent && i.data || null);
            }
            catch (e) {
                if (o)
                    throw e;
            } }, abort: function () { o && o(); } }; }), S.ajaxPrefilter(function (e) { e.crossDomain && (e.contents.script = !1); }), S.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /\b(?:java|ecma)script\b/ }, converters: { "text script": function (e) { return S.globalEval(e), e; } } }), S.ajaxPrefilter("script", function (e) { void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET"); }), S.ajaxTransport("script", function (n) { var r, i; if (n.crossDomain || n.scriptAttrs)
        return { send: function (e, t) { r = S("<script>").attr(n.scriptAttrs || {}).prop({ charset: n.scriptCharset, src: n.url }).on("load error", i = function (e) { r.remove(), i = null, e && t("error" === e.type ? 404 : 200, e.type); }), E.head.appendChild(r[0]); }, abort: function () { i && i(); } }; });
    var Ut, Xt = [], Vt = /(=)\?(?=&|$)|\?\?/;
    S.ajaxSetup({ jsonp: "callback", jsonpCallback: function () { var e = Xt.pop() || S.expando + "_" + Ct.guid++; return this[e] = !0, e; } }), S.ajaxPrefilter("json jsonp", function (e, t, n) { var r, i, o, a = !1 !== e.jsonp && (Vt.test(e.url) ? "url" : "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && Vt.test(e.data) && "data"); if (a || "jsonp" === e.dataTypes[0])
        return r = e.jsonpCallback = m(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback, a ? e[a] = e[a].replace(Vt, "$1" + r) : !1 !== e.jsonp && (e.url += (Et.test(e.url) ? "&" : "?") + e.jsonp + "=" + r), e.converters["script json"] = function () { return o || S.error(r + " was not called"), o[0]; }, e.dataTypes[0] = "json", i = C[r], C[r] = function () { o = arguments; }, n.always(function () { void 0 === i ? S(C).removeProp(r) : C[r] = i, e[r] && (e.jsonpCallback = t.jsonpCallback, Xt.push(r)), o && m(i) && i(o[0]), o = i = void 0; }), "script"; }), y.createHTMLDocument = ((Ut = E.implementation.createHTMLDocument("").body).innerHTML = "<form></form><form></form>", 2 === Ut.childNodes.length), S.parseHTML = function (e, t, n) { return "string" != typeof e ? [] : ("boolean" == typeof t && (n = t, t = !1), t || (y.createHTMLDocument ? ((r = (t = E.implementation.createHTMLDocument("")).createElement("base")).href = E.location.href, t.head.appendChild(r)) : t = E), o = !n && [], (i = N.exec(e)) ? [t.createElement(i[1])] : (i = xe([e], t, o), o && o.length && S(o).remove(), S.merge([], i.childNodes))); var r, i, o; }, S.fn.load = function (e, t, n) { var r, i, o, a = this, s = e.indexOf(" "); return -1 < s && (r = vt(e.slice(s)), e = e.slice(0, s)), m(t) ? (n = t, t = void 0) : t && "object" == typeof t && (i = "POST"), 0 < a.length && S.ajax({ url: e, type: i || "GET", dataType: "html", data: t }).done(function (e) { o = arguments, a.html(r ? S("<div>").append(S.parseHTML(e)).find(r) : e); }).always(n && function (e, t) { a.each(function () { n.apply(this, o || [e.responseText, t, e]); }); }), this; }, S.expr.pseudos.animated = function (t) { return S.grep(S.timers, function (e) { return t === e.elem; }).length; }, S.offset = { setOffset: function (e, t, n) { var r, i, o, a, s, u, l = S.css(e, "position"), c = S(e), f = {}; "static" === l && (e.style.position = "relative"), s = c.offset(), o = S.css(e, "top"), u = S.css(e, "left"), ("absolute" === l || "fixed" === l) && -1 < (o + u).indexOf("auto") ? (a = (r = c.position()).top, i = r.left) : (a = parseFloat(o) || 0, i = parseFloat(u) || 0), m(t) && (t = t.call(e, n, S.extend({}, s))), null != t.top && (f.top = t.top - s.top + a), null != t.left && (f.left = t.left - s.left + i), "using" in t ? t.using.call(e, f) : ("number" == typeof f.top && (f.top += "px"), "number" == typeof f.left && (f.left += "px"), c.css(f)); } }, S.fn.extend({ offset: function (t) { if (arguments.length)
            return void 0 === t ? this : this.each(function (e) { S.offset.setOffset(this, t, e); }); var e, n, r = this[0]; return r ? r.getClientRects().length ? (e = r.getBoundingClientRect(), n = r.ownerDocument.defaultView, { top: e.top + n.pageYOffset, left: e.left + n.pageXOffset }) : { top: 0, left: 0 } : void 0; }, position: function () { if (this[0]) {
            var e, t, n, r = this[0], i = { top: 0, left: 0 };
            if ("fixed" === S.css(r, "position"))
                t = r.getBoundingClientRect();
            else {
                t = this.offset(), n = r.ownerDocument, e = r.offsetParent || n.documentElement;
                while (e && (e === n.body || e === n.documentElement) && "static" === S.css(e, "position"))
                    e = e.parentNode;
                e && e !== r && 1 === e.nodeType && ((i = S(e).offset()).top += S.css(e, "borderTopWidth", !0), i.left += S.css(e, "borderLeftWidth", !0));
            }
            return { top: t.top - i.top - S.css(r, "marginTop", !0), left: t.left - i.left - S.css(r, "marginLeft", !0) };
        } }, offsetParent: function () { return this.map(function () { var e = this.offsetParent; while (e && "static" === S.css(e, "position"))
            e = e.offsetParent; return e || re; }); } }), S.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function (t, i) { var o = "pageYOffset" === i; S.fn[t] = function (e) { return $(this, function (e, t, n) { var r; if (x(e) ? r = e : 9 === e.nodeType && (r = e.defaultView), void 0 === n)
        return r ? r[i] : e[t]; r ? r.scrollTo(o ? r.pageXOffset : n, o ? n : r.pageYOffset) : e[t] = n; }, t, e, arguments.length); }; }), S.each(["top", "left"], function (e, n) { S.cssHooks[n] = $e(y.pixelPosition, function (e, t) { if (t)
        return t = Be(e, n), Me.test(t) ? S(e).position()[n] + "px" : t; }); }), S.each({ Height: "height", Width: "width" }, function (a, s) { S.each({ padding: "inner" + a, content: s, "": "outer" + a }, function (r, o) { S.fn[o] = function (e, t) { var n = arguments.length && (r || "boolean" != typeof e), i = r || (!0 === e || !0 === t ? "margin" : "border"); return $(this, function (e, t, n) { var r; return x(e) ? 0 === o.indexOf("outer") ? e["inner" + a] : e.document.documentElement["client" + a] : 9 === e.nodeType ? (r = e.documentElement, Math.max(e.body["scroll" + a], r["scroll" + a], e.body["offset" + a], r["offset" + a], r["client" + a])) : void 0 === n ? S.css(e, t, i) : S.style(e, t, n, i); }, s, n ? e : void 0, n); }; }); }), S.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) { S.fn[t] = function (e) { return this.on(t, e); }; }), S.fn.extend({ bind: function (e, t, n) { return this.on(e, null, t, n); }, unbind: function (e, t) { return this.off(e, null, t); }, delegate: function (e, t, n, r) { return this.on(t, e, n, r); }, undelegate: function (e, t, n) { return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n); }, hover: function (e, t) { return this.mouseenter(e).mouseleave(t || e); } }), S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function (e, n) { S.fn[n] = function (e, t) { return 0 < arguments.length ? this.on(n, null, e, t) : this.trigger(n); }; });
    var Gt = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
    S.proxy = function (e, t) { var n, r, i; if ("string" == typeof t && (n = e[t], t = e, e = n), m(e))
        return r = s.call(arguments, 2), (i = function () { return e.apply(t || this, r.concat(s.call(arguments))); }).guid = e.guid = e.guid || S.guid++, i; }, S.holdReady = function (e) { e ? S.readyWait++ : S.ready(!0); }, S.isArray = Array.isArray, S.parseJSON = JSON.parse, S.nodeName = A, S.isFunction = m, S.isWindow = x, S.camelCase = X, S.type = w, S.now = Date.now, S.isNumeric = function (e) { var t = S.type(e); return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e)); }, S.trim = function (e) { return null == e ? "" : (e + "").replace(Gt, ""); }, "function" == typeof define && define.amd && define("jquery", [], function () { return S; });
    var Yt = C.jQuery, Qt = C.$;
    return S.noConflict = function (e) { return C.$ === S && (C.$ = Qt), e && C.jQuery === S && (C.jQuery = Yt), S; }, "undefined" == typeof e && (C.jQuery = C.$ = S), S;
});
!function (a) { "object" == typeof module && module.exports ? module.exports = a() : window.intlTelInput = a(); }(function (a) {
    "use strict";
    return function () {
        function b(a) { for (var b = 1; b < arguments.length; b++) {
            var d = null != arguments[b] ? Object(arguments[b]) : {}, e = Object.keys(d);
            "function" == typeof Object.getOwnPropertySymbols && e.push.apply(e, Object.getOwnPropertySymbols(d).filter(function (a) { return Object.getOwnPropertyDescriptor(d, a).enumerable; })), e.forEach(function (b) { c(a, b, d[b]); });
        } return a; }
        function c(a, b, c) { return b = m(b), b in a ? Object.defineProperty(a, b, { value: c, enumerable: !0, configurable: !0, writable: !0 }) : a[b] = c, a; }
        function d(a, b) { return i(a) || h(a, b) || f(a, b) || e(); }
        function e() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
        function f(a, b) { if (a) {
            if ("string" == typeof a)
                return g(a, b);
            var c = Object.prototype.toString.call(a).slice(8, -1);
            return "Object" === c && a.constructor && (c = a.constructor.name), "Map" === c || "Set" === c ? Array.from(a) : "Arguments" === c || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c) ? g(a, b) : void 0;
        } }
        function g(a, b) { (null == b || b > a.length) && (b = a.length); for (var c = 0, d = new Array(b); c < b; c++)
            d[c] = a[c]; return d; }
        function h(a, b) { var c = null == a ? null : "undefined" != typeof Symbol && a[Symbol.iterator] || a["@@iterator"]; if (null != c) {
            var d, e, f, g, h = [], i = !0, j = !1;
            try {
                if (f = (c = c.call(a)).next, 0 === b) {
                    if (Object(c) !== c)
                        return;
                    i = !1;
                }
                else
                    for (; !(i = (d = f.call(c)).done) && (h.push(d.value), h.length !== b); i = !0)
                        ;
            }
            catch (k) {
                j = !0, e = k;
            }
            finally {
                try {
                    if (!i && null != c["return"] && (g = c["return"](), Object(g) !== g))
                        return;
                }
                finally {
                    if (j)
                        throw e;
                }
            }
            return h;
        } }
        function i(a) { if (Array.isArray(a))
            return a; }
        function j(a, b) { if (!(a instanceof b))
            throw new TypeError("Cannot call a class as a function"); }
        function k(a, b) { for (var c = 0; c < b.length; c++) {
            var d = b[c];
            d.enumerable = d.enumerable || !1, d.configurable = !0, "value" in d && (d.writable = !0), Object.defineProperty(a, m(d.key), d);
        } }
        function l(a, b, c) { return b && k(a.prototype, b), c && k(a, c), Object.defineProperty(a, "prototype", { writable: !1 }), a; }
        function m(a) { var b = n(a, "string"); return "symbol" == typeof b ? b : String(b); }
        function n(b, c) { if ("object" != typeof b || null === b)
            return b; var d = b[Symbol.toPrimitive]; if (d !== a) {
            var e = d.call(b, c || "default");
            if ("object" != typeof e)
                return e;
            throw new TypeError("@@toPrimitive must return a primitive value.");
        } return ("string" === c ? String : Number)(b); }
        for (var o = [["Afghanistan", "af", "93"], ["Albania", "al", "355"], ["Algeria", "dz", "213"], ["American Samoa", "as", "1", 5, ["684"]], ["Andorra", "ad", "376"], ["Angola", "ao", "244"], ["Anguilla", "ai", "1", 6, ["264"]], ["Antigua & Barbuda", "ag", "1", 7, ["268"]], ["Argentina", "ar", "54"], ["Armenia", "am", "374"], ["Aruba", "aw", "297"], ["Ascension Island", "ac", "247"], ["Australia", "au", "61", 0], ["Austria", "at", "43"], ["Azerbaijan", "az", "994"], ["Bahamas", "bs", "1", 8, ["242"]], ["Bahrain", "bh", "973"], ["Bangladesh", "bd", "880"], ["Barbados", "bb", "1", 9, ["246"]], ["Belarus", "by", "375"], ["Belgium", "be", "32"], ["Belize", "bz", "501"], ["Benin", "bj", "229"], ["Bermuda", "bm", "1", 10, ["441"]], ["Bhutan", "bt", "975"], ["Bolivia", "bo", "591"], ["Bosnia & Herzegovina", "ba", "387"], ["Botswana", "bw", "267"], ["Brazil", "br", "55"], ["British Indian Ocean Territory", "io", "246"], ["British Virgin Islands", "vg", "1", 11, ["284"]], ["Brunei", "bn", "673"], ["Bulgaria", "bg", "359"], ["Burkina Faso", "bf", "226"], ["Burundi", "bi", "257"], ["Cambodia", "kh", "855"], ["Cameroon", "cm", "237"], ["Canada", "ca", "1", 1, ["204", "226", "236", "249", "250", "263", "289", "306", "343", "354", "365", "367", "368", "382", "387", "403", "416", "418", "428", "431", "437", "438", "450", "584", "468", "474", "506", "514", "519", "548", "579", "581", "584", "587", "604", "613", "639", "647", "672", "683", "705", "709", "742", "753", "778", "780", "782", "807", "819", "825", "867", "873", "902", "905"]], ["Cape Verde", "cv", "238"], ["Caribbean Netherlands", "bq", "599", 1, ["3", "4", "7"]], ["Cayman Islands", "ky", "1", 12, ["345"]], ["Central African Republic", "cf", "236"], ["Chad", "td", "235"], ["Chile", "cl", "56"], ["China", "cn", "86"], ["Christmas Island", "cx", "61", 2, ["89164"]], ["Cocos (Keeling) Islands", "cc", "61", 1, ["89162"]], ["Colombia", "co", "57"], ["Comoros", "km", "269"], ["Congo - Brazzaville", "cg", "242"], ["Congo - Kinshasa", "cd", "243"], ["Cook Islands", "ck", "682"], ["Costa Rica", "cr", "506"], ["Côte d’Ivoire", "ci", "225"], ["Croatia", "hr", "385"], ["Cuba", "cu", "53"], ["Curaçao", "cw", "599", 0], ["Cyprus", "cy", "357"], ["Czech Republic", "cz", "420"], ["Denmark", "dk", "45"], ["Djibouti", "dj", "253"], ["Dominica", "dm", "1", 13, ["767"]], ["Dominican Republic", "do", "1", 2, ["809", "829", "849"]], ["Ecuador", "ec", "593"], ["Egypt", "eg", "20"], ["El Salvador", "sv", "503"], ["Equatorial Guinea", "gq", "240"], ["Eritrea", "er", "291"], ["Estonia", "ee", "372"], ["Eswatini", "sz", "268"], ["Ethiopia", "et", "251"], ["Falkland Islands", "fk", "500"], ["Faroe Islands", "fo", "298"], ["Fiji", "fj", "679"], ["Finland", "fi", "358", 0], ["France", "fr", "33"], ["French Guiana", "gf", "594"], ["French Polynesia", "pf", "689"], ["Gabon", "ga", "241"], ["Gambia", "gm", "220"], ["Georgia", "ge", "995"], ["Germany", "de", "49"], ["Ghana", "gh", "233"], ["Gibraltar", "gi", "350"], ["Greece", "gr", "30"], ["Greenland", "gl", "299"], ["Grenada", "gd", "1", 14, ["473"]], ["Guadeloupe", "gp", "590", 0], ["Guam", "gu", "1", 15, ["671"]], ["Guatemala", "gt", "502"], ["Guernsey", "gg", "44", 1, ["1481", "7781", "7839", "7911"]], ["Guinea", "gn", "224"], ["Guinea-Bissau", "gw", "245"], ["Guyana", "gy", "592"], ["Haiti", "ht", "509"], ["Honduras", "hn", "504"], ["Hong Kong", "hk", "852"], ["Hungary", "hu", "36"], ["Iceland", "is", "354"], ["India", "in", "91"], ["Indonesia", "id", "62"], ["Iran", "ir", "98"], ["Iraq", "iq", "964"], ["Ireland", "ie", "353"], ["Isle of Man", "im", "44", 2, ["1624", "74576", "7524", "7924", "7624"]], ["Israel", "il", "972"], ["Italy", "it", "39", 0], ["Jamaica", "jm", "1", 4, ["876", "658"]], ["Japan", "jp", "81"], ["Jersey", "je", "44", 3, ["1534", "7509", "7700", "7797", "7829", "7937"]], ["Jordan", "jo", "962"], ["Kazakhstan", "kz", "7", 1, ["33", "7"]], ["Kenya", "ke", "254"], ["Kiribati", "ki", "686"], ["Kosovo", "xk", "383"], ["Kuwait", "kw", "965"], ["Kyrgyzstan", "kg", "996"], ["Laos", "la", "856"], ["Latvia", "lv", "371"], ["Lebanon", "lb", "961"], ["Lesotho", "ls", "266"], ["Liberia", "lr", "231"], ["Libya", "ly", "218"], ["Liechtenstein", "li", "423"], ["Lithuania", "lt", "370"], ["Luxembourg", "lu", "352"], ["Macau", "mo", "853"], ["Madagascar", "mg", "261"], ["Malawi", "mw", "265"], ["Malaysia", "my", "60"], ["Maldives", "mv", "960"], ["Mali", "ml", "223"], ["Malta", "mt", "356"], ["Marshall Islands", "mh", "692"], ["Martinique", "mq", "596"], ["Mauritania", "mr", "222"], ["Mauritius", "mu", "230"], ["Mayotte", "yt", "262", 1, ["269", "639"]], ["Mexico", "mx", "52"], ["Micronesia", "fm", "691"], ["Moldova", "md", "373"], ["Monaco", "mc", "377"], ["Mongolia", "mn", "976"], ["Montenegro", "me", "382"], ["Montserrat", "ms", "1", 16, ["664"]], ["Morocco", "ma", "212", 0], ["Mozambique", "mz", "258"], ["Myanmar (Burma)", "mm", "95"], ["Namibia", "na", "264"], ["Nauru", "nr", "674"], ["Nepal", "np", "977"], ["Netherlands", "nl", "31"], ["New Caledonia", "nc", "687"], ["New Zealand", "nz", "64"], ["Nicaragua", "ni", "505"], ["Niger", "ne", "227"], ["Nigeria", "ng", "234"], ["Niue", "nu", "683"], ["Norfolk Island", "nf", "672"], ["North Korea", "kp", "850"], ["North Macedonia", "mk", "389"], ["Northern Mariana Islands", "mp", "1", 17, ["670"]], ["Norway", "no", "47", 0], ["Oman", "om", "968"], ["Pakistan", "pk", "92"], ["Palau", "pw", "680"], ["Palestine", "ps", "970"], ["Panama", "pa", "507"], ["Papua New Guinea", "pg", "675"], ["Paraguay", "py", "595"], ["Peru", "pe", "51"], ["Philippines", "ph", "63"], ["Poland", "pl", "48"], ["Portugal", "pt", "351"], ["Puerto Rico", "pr", "1", 3, ["787", "939"]], ["Qatar", "qa", "974"], ["Réunion", "re", "262", 0], ["Romania", "ro", "40"], ["Russia", "ru", "7", 0], ["Rwanda", "rw", "250"], ["Samoa", "ws", "685"], ["San Marino", "sm", "378"], ["São Tomé & Príncipe", "st", "239"], ["Saudi Arabia", "sa", "966"], ["Senegal", "sn", "221"], ["Serbia", "rs", "381"], ["Seychelles", "sc", "248"], ["Sierra Leone", "sl", "232"], ["Singapore", "sg", "65"], ["Sint Maarten", "sx", "1", 21, ["721"]], ["Slovakia", "sk", "421"], ["Slovenia", "si", "386"], ["Solomon Islands", "sb", "677"], ["Somalia", "so", "252"], ["South Africa", "za", "27"], ["South Korea", "kr", "82"], ["South Sudan", "ss", "211"], ["Spain", "es", "34"], ["Sri Lanka", "lk", "94"], ["St Barthélemy", "bl", "590", 1], ["St Helena", "sh", "290"], ["St Kitts & Nevis", "kn", "1", 18, ["869"]], ["St Lucia", "lc", "1", 19, ["758"]], ["St Martin", "mf", "590", 2], ["St Pierre & Miquelon", "pm", "508"], ["St Vincent & Grenadines", "vc", "1", 20, ["784"]], ["Sudan", "sd", "249"], ["Suriname", "sr", "597"], ["Svalbard & Jan Mayen", "sj", "47", 1, ["79"]], ["Sweden", "se", "46"], ["Switzerland", "ch", "41"], ["Syria", "sy", "963"], ["Taiwan", "tw", "886"], ["Tajikistan", "tj", "992"], ["Tanzania", "tz", "255"], ["Thailand", "th", "66"], ["Timor-Leste", "tl", "670"], ["Togo", "tg", "228"], ["Tokelau", "tk", "690"], ["Tonga", "to", "676"], ["Trinidad & Tobago", "tt", "1", 22, ["868"]], ["Tunisia", "tn", "216"], ["Turkey", "tr", "90"], ["Turkmenistan", "tm", "993"], ["Turks & Caicos Islands", "tc", "1", 23, ["649"]], ["Tuvalu", "tv", "688"], ["Uganda", "ug", "256"], ["Ukraine", "ua", "380"], ["United Arab Emirates", "ae", "971"], ["United Kingdom", "gb", "44", 0], ["United States", "us", "1", 0], ["Uruguay", "uy", "598"], ["US Virgin Islands", "vi", "1", 24, ["340"]], ["Uzbekistan", "uz", "998"], ["Vanuatu", "vu", "678"], ["Vatican City", "va", "39", 1, ["06698"]], ["Venezuela", "ve", "58"], ["Vietnam", "vn", "84"], ["Wallis & Futuna", "wf", "681"], ["Western Sahara", "eh", "212", 1, ["5288", "5289"]], ["Yemen", "ye", "967"], ["Zambia", "zm", "260"], ["Zimbabwe", "zw", "263"], ["Åland Islands", "ax", "358", 1, ["18"]]], p = 0; p < o.length; p++) {
            var q = o[p];
            o[p] = { name: q[0], iso2: q[1], dialCode: q[2], priority: q[3] || 0, areaCodes: q[4] || null };
        }
        var r = { getInstance: function (a) { var b = a.getAttribute("data-intl-tel-input-id"); return window.intlTelInputGlobals.instances[b]; }, instances: {}, documentReady: function () { return "complete" === document.readyState; } };
        "object" == typeof window && (window.intlTelInputGlobals = r);
        var s = 0, t = { allowDropdown: !0, autoInsertDialCode: !1, autoPlaceholder: "polite", countrySearch: !0, containerClass: "", customPlaceholder: null, dropdownContainer: null, excludeCountries: [], fixDropdownWidth: !0, formatAsYouType: !0, formatOnDisplay: !0, geoIpLookup: null, hiddenInput: null, i18n: {}, initialCountry: "", nationalMode: !0, onlyCountries: [], placeholderNumberType: "MOBILE", preferredCountries: [], showFlags: !0, showSelectedDialCode: !1, useFullscreenPopup: "undefined" != typeof navigator && "undefined" != typeof window && (/Android.+Mobile|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) || window.innerWidth <= 500), utilsScript: "" }, u = ["800", "822", "833", "844", "855", "866", "877", "880", "881", "882", "883", "884", "885", "886", "887", "888", "889"], v = function (a) { var b = window.intlTelInputGlobals.instances; Object.values(b).forEach(function (b) { return b[a](); }); }, w = function () {
            function c(b) { var d = arguments.length > 1 && arguments[1] !== a ? arguments[1] : {}; j(this, c), this.id = s++, this.a = b, this.b = null, this.c = null, this.d = Object.assign({}, t, d), this.e = Boolean(b.getAttribute("placeholder")); }
            return l(c, [{ key: "_init", value: function () { var a = this; this.d.useFullscreenPopup && (this.d.fixDropdownWidth = !1), this.d.countrySearch && !this.d.useFullscreenPopup && (this.d.fixDropdownWidth = !0), this.d.nationalMode && (this.d.autoInsertDialCode = !1), this.d.showSelectedDialCode && (this.d.autoInsertDialCode = !1); var b = this.d.allowDropdown && !this.d.showSelectedDialCode; if (!this.d.showFlags && b && (this.d.showFlags = !0), this.d.useFullscreenPopup && !this.d.dropdownContainer && (this.d.dropdownContainer = document.body), this.isRTL = !!this.a.closest("[dir=rtl]"), "undefined" != typeof Promise) {
                        var c = new Promise(function (b, c) { a.h = b, a.i = c; }), d = new Promise(function (b, c) { a.i0 = b, a.i1 = c; });
                        this.promise = Promise.all([c, d]);
                    }
                    else
                        this.h = this.i = function () { }, this.i0 = this.i1 = function () { }; this.s = {}, this._b(), this._f(), this._h(), this._i(), this._i3(); } }, { key: "_b", value: function () { this._d(), this._d2(), this._e(), this._d0(), (this.d.onlyCountries.length || this.d.i18n) && this.p.sort(this._d1); } }, { key: "_c", value: function (b, c, d) { c.length > this.countryCodeMaxLen && (this.countryCodeMaxLen = c.length), this.q.hasOwnProperty(c) || (this.q[c] = []); for (var e = 0; e < this.q[c].length; e++)
                        if (this.q[c][e] === b)
                            return; var f = d !== a ? d : this.q[c].length; this.q[c][f] = b; } }, { key: "_d", value: function () { if (this.d.onlyCountries.length) {
                        var a = this.d.onlyCountries.map(function (a) { return a.toLowerCase(); });
                        this.p = o.filter(function (b) { return a.indexOf(b.iso2) > -1; });
                    }
                    else if (this.d.excludeCountries.length) {
                        var b = this.d.excludeCountries.map(function (a) { return a.toLowerCase(); });
                        this.p = o.filter(function (a) { return -1 === b.indexOf(a.iso2); });
                    }
                    else
                        this.p = o; } }, { key: "_d0", value: function () { for (var a = 0; a < this.p.length; a++) {
                        var b = this.p[a].iso2.toLowerCase();
                        this.d.i18n.hasOwnProperty(b) && (this.p[a].name = this.d.i18n[b]);
                    } } }, { key: "_d1", value: function (a, b) { return a.name < b.name ? -1 : a.name > b.name ? 1 : 0; } }, { key: "_d2", value: function () { this.countryCodeMaxLen = 0, this.dialCodes = {}, this.q = {}; for (var a = 0; a < this.p.length; a++) {
                        var b = this.p[a];
                        this.dialCodes[b.dialCode] || (this.dialCodes[b.dialCode] = !0), this._c(b.iso2, b.dialCode, b.priority);
                    } for (var c = 0; c < this.p.length; c++) {
                        var d = this.p[c];
                        if (d.areaCodes)
                            for (var e = this.q[d.dialCode][0], f = 0; f < d.areaCodes.length; f++) {
                                for (var g = d.areaCodes[f], h = 1; h < g.length; h++) {
                                    var i = d.dialCode + g.substr(0, h);
                                    this._c(e, i), this._c(d.iso2, i);
                                }
                                this._c(d.iso2, d.dialCode + g);
                            }
                    } } }, { key: "_e", value: function () { this.preferredCountries = []; for (var a = 0; a < this.d.preferredCountries.length; a++) {
                        var b = this.d.preferredCountries[a].toLowerCase(), c = this._y(b, !1, !0);
                        c && this.preferredCountries.push(c);
                    } } }, { key: "_e2", value: function (a, b, c) { var e = document.createElement(a); return b && Object.entries(b).forEach(function (a) { var b = d(a, 2), c = b[0], f = b[1]; return e.setAttribute(c, f); }), c && c.appendChild(e), e; } }, { key: "_f", value: function () { this.a.classList.add("iti__tel-input"), this.a.hasAttribute("autocomplete") || this.a.form && this.a.form.hasAttribute("autocomplete") || this.a.setAttribute("autocomplete", "off"); var a = this.d, c = a.allowDropdown, d = a.showSelectedDialCode, e = a.showFlags, f = a.containerClass, g = a.hiddenInput, h = a.dropdownContainer, i = a.fixDropdownWidth, j = a.useFullscreenPopup, k = a.countrySearch, l = "iti"; c && (l += " iti--allow-dropdown"), d && (l += " iti--show-selected-dial-code"), e && (l += " iti--show-flags"), f && (l += " ".concat(f)), j || (l += " iti--inline-dropdown"); var m = this._e2("div", { "class": l }); this.a.parentNode.insertBefore(m, this.a); var n = c || e || d; if (n && (this.k = this._e2("div", { "class": "iti__flag-container" }, m)), m.appendChild(this.a), n && (this.selectedFlag = this._e2("div", b({ "class": "iti__selected-flag" }, c && { role: "combobox", "aria-haspopup": "listbox", "aria-controls": "iti-".concat(this.id, "__country-listbox"), "aria-expanded": "false", "aria-label": this.d.i18n.selectedCountryAriaLabel || "Selected country" }), this.k)), e && (this.l = this._e2("div", { "class": "iti__flag" }, this.selectedFlag)), this.selectedFlag && this.a.disabled && this.selectedFlag.setAttribute("aria-disabled", "true"), d && (this.t = this._e2("div", { "class": "iti__selected-dial-code" }, this.selectedFlag)), c) {
                        this.a.disabled || this.selectedFlag.setAttribute("tabindex", "0"), this.u = this._e2("div", { "class": "iti__arrow" }, this.selectedFlag);
                        var o = i ? "" : "iti--flexible-dropdown-width";
                        if (this.dropdownContent = this._e2("div", { "class": "iti__dropdown-content iti__hide ".concat(o) }), k && (this.searchInput = this._e2("input", { type: "text", "class": "iti__search-input", placeholder: this.d.i18n.searchPlaceholder || "Search" }, this.dropdownContent)), this.m = this._e2("ul", { "class": "iti__country-list", id: "iti-".concat(this.id, "__country-listbox"), role: "listbox", "aria-label": this.d.i18n.mAriaLabel || "List of countries" }, this.dropdownContent), this.preferredCountries.length && !k && (this._g(this.preferredCountries, "iti__preferred", !0), this._e2("li", { "class": "iti__divider", "aria-hidden": "true" }, this.m)), this._g(this.p, "iti__standard"), h) {
                            var p = "iti iti--container";
                            p += j ? " iti--fullscreen-popup" : " iti--inline-dropdown", k && (p += " iti--country-search"), this.dropdown = this._e2("div", { "class": p }), this.dropdown.appendChild(this.dropdownContent);
                        }
                        else
                            this.k.appendChild(this.dropdownContent);
                    } if (g) {
                        var q = this.a.getAttribute("name"), r = g(q);
                        this.hiddenInput = this._e2("input", { type: "hidden", name: r }), m.appendChild(this.hiddenInput);
                    } } }, { key: "_g", value: function (a, b, c) { for (var d = 0; d < a.length; d++) {
                        var e = a[d], f = c ? "-preferred" : "", g = this._e2("li", { id: "iti-".concat(this.id, "__item-").concat(e.iso2).concat(f), "class": "iti__country ".concat(b), tabindex: "-1", role: "option", "data-dial-code": e.dialCode, "data-country-code": e.iso2, "aria-selected": "false" }, this.m);
                        e.node = g;
                        var h = "";
                        this.d.showFlags && (h += "<div class='iti__flag-box'><div class='iti__flag iti__".concat(e.iso2, "'></div></div>")), h += "<span class='iti__country-name'>".concat(e.name, "</span>"), h += "<span class='iti__dial-code'>+".concat(e.dialCode, "</span>"), g.insertAdjacentHTML("beforeend", h);
                    } } }, { key: "_h", value: function () { var a = this.a.getAttribute("value"), b = this.a.value, c = a && "+" === a.charAt(0) && (!b || "+" !== b.charAt(0)), d = c ? a : b, e = this._5(d), f = this._w(d), g = this.d, h = g.initialCountry, i = g.autoInsertDialCode; if (e && !f)
                        this._v(d);
                    else if ("auto" !== h) {
                        var j = h && this._y(h, !1, !0);
                        j ? this._z(h.toLowerCase()) : e && f ? this._z("us") : (this.j = this.preferredCountries.length ? this.preferredCountries[0].iso2 : this.p[0].iso2, d || this._z(this.j)), !d && i && (this.a.value = "+".concat(this.s.dialCode));
                    } d && this._u(d); } }, { key: "_i", value: function () { this._j(), this.d.autoInsertDialCode && this._l(), this.d.allowDropdown && this._i2(), this.hiddenInput && this._i0(); } }, { key: "_i0", value: function () { var a = this; this._a14 = function () { a.hiddenInput.value = a.getNumber(); }, this.a.form && this.a.form.addEventListener("submit", this._a14); } }, { key: "_i2", value: function () { var a = this; this._a9 = function (b) { a.dropdownContent.classList.contains("iti__hide") ? a.a.focus() : b.preventDefault(); }; var b = this.a.closest("label"); b && b.addEventListener("click", this._a9), this._a10 = function () { !a.dropdownContent.classList.contains("iti__hide") || a.a.disabled || a.a.readOnly || a._n(); }, this.selectedFlag.addEventListener("click", this._a10), this._a11 = function (b) { a.dropdownContent.classList.contains("iti__hide") && ["ArrowUp", "ArrowDown", " ", "Enter"].includes(b.key) && (b.preventDefault(), b.stopPropagation(), a._n()), "Tab" === b.key && a._2(); }, this.k.addEventListener("keydown", this._a11); } }, { key: "_i3", value: function () { var a = this; this.d.utilsScript && !window.intlTelInputUtils ? window.intlTelInputGlobals.documentReady() ? window.intlTelInputGlobals.loadUtils(this.d.utilsScript) : window.addEventListener("load", function () { window.intlTelInputGlobals.loadUtils(a.d.utilsScript); }) : this.i0(), "auto" === this.d.initialCountry ? this._i4() : this.h(); } }, { key: "_i4", value: function () { window.intlTelInputGlobals.autoCountry ? this.handleAutoCountry() : window.intlTelInputGlobals.startedLoadingAutoCountry || (window.intlTelInputGlobals.startedLoadingAutoCountry = !0, "function" == typeof this.d.geoIpLookup && this.d.geoIpLookup(function (a) { window.intlTelInputGlobals.autoCountry = a.toLowerCase(), setTimeout(function () { return v("handleAutoCountry"); }); }, function () { return v("rejectAutoCountryPromise"); })); } }, { key: "_j", value: function () { var a = this, b = !1; this._a12 = function (c) { if (a._v(a.a.value) && a._m2CountryChange(), c && c.data && /[^+0-9]/.test(c.data) ? b = !0 : /[^+0-9]/.test(a.a.value) || (b = !1), a.d.formatAsYouType && !b) {
                        var d = a.a.selectionStart, e = a.a.value.substring(0, d), f = e.replace(/[^+0-9]/g, "").length, g = c && "deleteContentForward" === c.inputType, h = a._formatNumberAsYouType(), i = a._translateCursorPosition(f, h, d, g);
                        a.a.value = h, a.a.setSelectionRange(i, i);
                    } }, this.a.addEventListener("input", this._a12), this._a13 = function () { setTimeout(a._a12); }, this.a.addEventListener("cut", this._a13), this.a.addEventListener("paste", this._a13); } }, { key: "_translateCursorPosition", value: function (a, b, c, d) { if (0 === c && !d)
                        return 0; for (var e = 0, f = 0; f < b.length; f++) {
                        if (/[+0-9]/.test(b[f]) && e++, e === a && !d)
                            return f + 1;
                        if (d && e === a + 1)
                            return f;
                    } return b.length; } }, { key: "_j2", value: function (a) { var b = this.a.getAttribute("maxlength"); return b && a.length > b ? a.substr(0, b) : a; } }, { key: "_l", value: function () { var a = this; this._a8 = function () { a._l2(); }, this.a.form && this.a.form.addEventListener("submit", this._a8), this.a.addEventListener("blur", this._a8); } }, { key: "_l2", value: function () { if ("+" === this.a.value.charAt(0)) {
                        var a = this._m(this.a.value);
                        a && this.s.dialCode !== a || (this.a.value = "");
                    } } }, { key: "_m", value: function (a) { return a.replace(/\D/g, ""); } }, { key: "_m2", value: function (a) { var b = new Event(a, { bubbles: !0, cancelable: !0 }); this.a.dispatchEvent(b); } }, { key: "_n", value: function () { this.d.fixDropdownWidth && (this.dropdownContent.style.width = "".concat(this.a.offsetWidth, "px")), this.dropdownContent.classList.remove("iti__hide"), this.selectedFlag.setAttribute("aria-expanded", "true"), this._o(), this.d.countrySearch ? (this._x(this.m.firstElementChild, !1), this.searchInput.focus()) : this.b && (this._x(this.b, !1), this._3(this.b, !0)), this._p(), this.u.classList.add("iti__arrow--up"), this._m2("open:countrydropdown"); } }, { key: "_n2", value: function (a, b, c) { c && !a.classList.contains(b) ? a.classList.add(b) : !c && a.classList.contains(b) && a.classList.remove(b); } }, { key: "_o", value: function () { var a = this; if (this.d.dropdownContainer && this.d.dropdownContainer.appendChild(this.dropdown), !this.d.useFullscreenPopup) {
                        var b = this.a.getBoundingClientRect(), c = document.documentElement.scrollTop, d = b.top + c, e = this.dropdownContent.offsetHeight, f = d + this.a.offsetHeight + e < c + window.innerHeight, g = d - e > c, h = !this.d.countrySearch && !f && g;
                        if (this._n2(this.dropdownContent, "iti__dropdown-content--dropup", h), this.d.dropdownContainer) {
                            var i = h ? 0 : this.a.offsetHeight;
                            this.dropdown.style.top = "".concat(d + i, "px"), this.dropdown.style.left = "".concat(b.left + document.body.scrollLeft, "px"), this._a4 = function () { return a._2(); }, window.addEventListener("scroll", this._a4);
                        }
                    } } }, { key: "_p", value: function () { var a = this; this._a0 = function (b) { var c = b.target.closest(".iti__country"); c && a._x(c, !1); }, this.m.addEventListener("mouseover", this._a0), this._a1 = function (b) { var c = b.target.closest(".iti__country"); c && a._1(c); }, this.m.addEventListener("click", this._a1); var b = !0; this._a2 = function () { b || a._2(), b = !1; }, document.documentElement.addEventListener("click", this._a2); var c = "", d = null; if (this._a3 = function (b) { ["ArrowUp", "ArrowDown", "Enter", "Escape"].includes(b.key) && (b.preventDefault(), b.stopPropagation(), "ArrowUp" === b.key || "ArrowDown" === b.key ? a._q(b.key) : "Enter" === b.key ? a._r() : "Escape" === b.key && a._2()), !a.d.countrySearch && /^[a-zA-ZÀ-ÿа-яА-Я ]$/.test(b.key) && (b.stopPropagation(), d && clearTimeout(d), c += b.key.toLowerCase(), a._s(c), d = setTimeout(function () { c = ""; }, 1e3)); }, document.addEventListener("keydown", this._a3), this.d.countrySearch) {
                        var e = function () { var b = a.searchInput.value.trim(); b ? a._filterCountries(b.toLowerCase()) : a._filterCountries(null, !0); }, f = null;
                        this._handleSearchChange = function () { f && clearTimeout(f), f = setTimeout(function () { e(), f = null; }, 100); }, this.searchInput.addEventListener("input", this._handleSearchChange), this.searchInput.addEventListener("click", function (a) { return a.stopPropagation(); });
                    } } }, { key: "_filterCountries", value: function (b) { var c = arguments.length > 1 && arguments[1] !== a && arguments[1], d = !0; this.m.innerHTML = ""; for (var e = 0; e < this.p.length; e++) {
                        var f = this.p[e], g = f.name.toLowerCase(), h = "+".concat(f.dialCode);
                        (c || g.includes(b) || h.includes(b) || f.iso2.includes(b)) && (this.m.appendChild(f.node), d && (this._x(f.node, !1), d = !1));
                    } } }, { key: "_q", value: function (a) { var b = "ArrowUp" === a ? this.c.previousElementSibling : this.c.nextElementSibling; if (b ? b.classList.contains("iti__divider") && (b = "ArrowUp" === a ? b.previousElementSibling : b.nextElementSibling) : this.m.childElementCount > 1 && (b = "ArrowUp" === a ? this.m.lastElementChild : this.m.firstElementChild), b) {
                        var c = !this.d.countrySearch;
                        this._x(b, c), this.d.countrySearch && this._3(b, !1);
                    } } }, { key: "_r", value: function () { this.c && this._1(this.c); } }, { key: "_s", value: function (a) { for (var b = 0; b < this.p.length; b++)
                        if (this._t(this.p[b].name, a)) {
                            var c = this.p[b].node;
                            this._x(c, !1), this._3(c, !0);
                            break;
                        } } }, { key: "_t", value: function (a, b) { return a.substr(0, b.length).toLowerCase() === b; } }, { key: "_u", value: function (a) { var b = a; if (this.d.formatOnDisplay && window.intlTelInputUtils && this.s) {
                        var c = this.d.nationalMode || "+" !== b.charAt(0) && !this.d.showSelectedDialCode, d = intlTelInputUtils.numberFormat, e = d.NATIONAL, f = d.INTERNATIONAL, g = c ? e : f;
                        b = intlTelInputUtils.formatNumber(b, this.s.iso2, g);
                    } b = this._7(b), this.a.value = b; } }, { key: "_v", value: function (a) { var b = a.indexOf("+"), c = b ? a.substring(b) : a, d = this.s.dialCode, e = "1" === d; c && e && "+" !== c.charAt(0) && ("1" !== c.charAt(0) && (c = "1".concat(c)), c = "+".concat(c)), this.d.showSelectedDialCode && d && "+" !== c.charAt(0) && (c = "+".concat(d).concat(c)); var f = this._5(c, !0), g = this._m(c), h = null; if (f) {
                        var i = this.q[this._m(f)], j = -1 !== i.indexOf(this.s.iso2) && g.length <= f.length - 1;
                        if (!("1" === d && this._w(g)) && !j)
                            for (var k = 0; k < i.length; k++)
                                if (i[k]) {
                                    h = i[k];
                                    break;
                                }
                    }
                    else
                        "+" === c.charAt(0) && g.length ? h = "" : c && "+" !== c || (h = this.j); return null !== h && this._z(h); } }, { key: "_w", value: function (a) { var b = this._m(a); if ("1" === b.charAt(0)) {
                        var c = b.substr(1, 3);
                        return -1 !== u.indexOf(c);
                    } return !1; } }, { key: "_x", value: function (a, b) { var c = this.c; c && c.classList.remove("iti__highlight"), this.c = a, this.c.classList.add("iti__highlight"), this.selectedFlag.setAttribute("aria-activedescendant", a.getAttribute("id")), b && this.c.focus(); } }, { key: "_y", value: function (a, b, c) { for (var d = b ? o : this.p, e = 0; e < d.length; e++)
                        if (d[e].iso2 === a)
                            return d[e]; if (c)
                        return null; throw new Error("No country data for '".concat(a, "'")); } }, { key: "_z", value: function (a) { var b = this.d, c = b.allowDropdown, d = b.showSelectedDialCode, e = b.showFlags, f = this.s.iso2 ? this.s : {}; if (this.s = a ? this._y(a, !1, !1) : {}, this.s.iso2 && (this.j = this.s.iso2), e && this.l.setAttribute("class", "iti__flag iti__".concat(a)), this._setSelectedCountryFlagTitleAttribute(a, d), d) {
                        var g = this.s.dialCode ? "+".concat(this.s.dialCode) : "";
                        this.t.innerHTML = g;
                        var h = this.selectedFlag.offsetWidth || this._z2();
                        this.isRTL ? this.a.style.paddingRight = "".concat(h + 6, "px") : this.a.style.paddingLeft = "".concat(h + 6, "px");
                    } if (this._0(), c) {
                        var i = this.b;
                        if (i && (i.classList.remove("iti__active"), i.setAttribute("aria-selected", "false")), a) {
                            var j = this.m.querySelector("#iti-".concat(this.id, "__item-").concat(a, "-preferred")) || this.m.querySelector("#iti-".concat(this.id, "__item-").concat(a));
                            j.setAttribute("aria-selected", "true"), j.classList.add("iti__active"), this.b = j;
                        }
                    } return f.iso2 !== a; } }, { key: "_setSelectedCountryFlagTitleAttribute", value: function (a, b) { if (this.selectedFlag) {
                        var c;
                        c = a && !b ? "".concat(this.s.name, ": +").concat(this.s.dialCode) : a ? this.s.name : "Unknown", this.selectedFlag.setAttribute("title", c);
                    } } }, { key: "_z2", value: function () { var a = this.a.parentNode.cloneNode(); a.style.visibility = "hidden", document.body.appendChild(a); var b = this.k.cloneNode(); a.appendChild(b); var c = this.selectedFlag.cloneNode(!0); b.appendChild(c); var d = c.offsetWidth; return a.parentNode.removeChild(a), d; } }, { key: "_0", value: function () { var a = "aggressive" === this.d.autoPlaceholder || !this.e && "polite" === this.d.autoPlaceholder; if (window.intlTelInputUtils && a) {
                        var b = intlTelInputUtils.numberType[this.d.placeholderNumberType], c = this.s.iso2 ? intlTelInputUtils.getExampleNumber(this.s.iso2, this.d.nationalMode, b) : "";
                        c = this._7(c), "function" == typeof this.d.customPlaceholder && (c = this.d.customPlaceholder(c, this.s)), this.a.setAttribute("placeholder", c);
                    } } }, { key: "_1", value: function (a) { var b = this._z(a.getAttribute("data-country-code")); this._2(), this._4(a.getAttribute("data-dial-code")), this.a.focus(), b && this._m2CountryChange(); } }, { key: "_2", value: function () {
                        this.dropdownContent.classList.add("iti__hide"), this.selectedFlag.setAttribute("aria-expanded", "false"), this.selectedFlag.removeAttribute("aria-activedescendant"), this.u.classList.remove("iti__arrow--up"), document.removeEventListener("keydown", this._a3), this.d.countrySearch && this.searchInput.removeEventListener("input", this._handleSearchChange), document.documentElement.removeEventListener("click", this._a2), this.m.removeEventListener("mouseover", this._a0), this.m.removeEventListener("click", this._a1), this.d.dropdownContainer && (this.d.useFullscreenPopup || window.removeEventListener("scroll", this._a4),
                            this.dropdown.parentNode && this.dropdown.parentNode.removeChild(this.dropdown)), this._m2("close:countrydropdown");
                    } }, { key: "_3", value: function (a, b) { var c = this.dropdownContent, d = document.documentElement.scrollTop, e = c.offsetHeight, f = c.getBoundingClientRect().top + d, g = f + e, h = a.offsetHeight, i = a.getBoundingClientRect().top + d, j = i + h, k = i - f + c.scrollTop, l = e / 2 - h / 2; if (i < f)
                        b && (k -= l), c.scrollTop = k;
                    else if (j > g) {
                        b && (k += l);
                        var m = e - h;
                        c.scrollTop = k - m;
                    } } }, { key: "_4", value: function (a) { var b, c = this.a.value, d = "+".concat(a); if ("+" === c.charAt(0)) {
                        var e = this._5(c);
                        b = e ? c.replace(e, d) : d, this.a.value = b;
                    }
                    else
                        this.d.autoInsertDialCode && (b = c ? d + c : d, this.a.value = b); } }, { key: "_5", value: function (a, b) { var c = ""; if ("+" === a.charAt(0))
                        for (var d = "", e = 0; e < a.length; e++) {
                            var f = a.charAt(e);
                            if (!isNaN(parseInt(f, 10))) {
                                if (d += f, b)
                                    this.q[d] && (c = a.substr(0, e + 1));
                                else if (this.dialCodes[d]) {
                                    c = a.substr(0, e + 1);
                                    break;
                                }
                                if (d.length === this.countryCodeMaxLen)
                                    break;
                            }
                        } return c; } }, { key: "_6", value: function () { var a = this.a.value.trim(), b = this.s.dialCode, c = this._m(a); return (this.d.showSelectedDialCode && "+" !== a.charAt(0) && b && c ? "+".concat(b) : "") + a; } }, { key: "_7", value: function (a) { var b = a; if (this.d.showSelectedDialCode) {
                        var c = this._5(b);
                        if (c) {
                            c = "+".concat(this.s.dialCode);
                            var d = " " === b[c.length] || "-" === b[c.length] ? c.length + 1 : c.length;
                            b = b.substr(d);
                        }
                    } return this._j2(b); } }, { key: "_m2CountryChange", value: function () { this._m2("countrychange"); } }, { key: "_formatNumberAsYouType", value: function () { var a = this._6().trim(), b = window.intlTelInputUtils ? intlTelInputUtils.formatNumberAsYouType(a, this.s.iso2) : a; if (this.d.showSelectedDialCode && "+" !== this.a.value.charAt(0)) {
                        var c = this.s.dialCode;
                        return b.split("+".concat(c))[1].trim();
                    } return b; } }, { key: "handleAutoCountry", value: function () { "auto" === this.d.initialCountry && (this.j = window.intlTelInputGlobals.autoCountry, this.a.value || this.setCountry(this.j), this.h()); } }, { key: "handleUtils", value: function () { window.intlTelInputUtils && (this.a.value && this._u(this.a.value), this._0()), this.i0(); } }, { key: "destroy", value: function () { var a = this.a.form; if (this.d.allowDropdown) {
                        this._2(), this.selectedFlag.removeEventListener("click", this._a10), this.k.removeEventListener("keydown", this._a11);
                        var b = this.a.closest("label");
                        b && b.removeEventListener("click", this._a9);
                    } this.hiddenInput && a && a.removeEventListener("submit", this._a14), this.d.autoInsertDialCode && (a && a.removeEventListener("submit", this._a8), this.a.removeEventListener("blur", this._a8)), this.a.removeEventListener("input", this._a12), this.a.removeEventListener("cut", this._a13), this.a.removeEventListener("paste", this._a13), this.a.removeAttribute("data-intl-tel-input-id"); var c = this.a.parentNode; c.parentNode.insertBefore(this.a, c), c.parentNode.removeChild(c), delete window.intlTelInputGlobals.instances[this.id]; } }, { key: "getExtension", value: function () { return window.intlTelInputUtils ? intlTelInputUtils.getExtension(this._6(), this.s.iso2) : ""; } }, { key: "getNumber", value: function (a) { if (window.intlTelInputUtils) {
                        var b = this.s.iso2;
                        return intlTelInputUtils.formatNumber(this._6(), b, a);
                    } return ""; } }, { key: "getNumberType", value: function () { return window.intlTelInputUtils ? intlTelInputUtils.getNumberType(this._6(), this.s.iso2) : -99; } }, { key: "getSelectedCountryData", value: function () { return this.s; } }, { key: "getValidationError", value: function () { if (window.intlTelInputUtils) {
                        var a = this.s.iso2;
                        return intlTelInputUtils.getValidationError(this._6(), a);
                    } return -99; } }, { key: "isValidNumber", value: function () { var a = this._6().trim(); return window.intlTelInputUtils ? intlTelInputUtils.isPossibleNumber(a, this.s.iso2) : null; } }, { key: "isValidNumberPrecise", value: function () { var a = this._6().trim(); return window.intlTelInputUtils ? intlTelInputUtils.isValidNumber(a, this.s.iso2) : null; } }, { key: "setCountry", value: function (a) { var b = a.toLowerCase(); this.s.iso2 !== b && (this._z(b), this._4(this.s.dialCode), this._m2CountryChange()); } }, { key: "setNumber", value: function (a) { var b = this._v(a); this._u(a), b && this._m2CountryChange(); } }, { key: "setPlaceholderNumberType", value: function (a) { this.d.placeholderNumberType = a, this._0(); } }]), c;
        }();
        r.getCountryData = function () { return o; };
        var x = function (a, b, c) { var d = document.createElement("script"); d.onload = function () { v("handleUtils"), b && b(); }, d.onerror = function () { v("rejectUtilsScriptPromise"), c && c(); }, d.className = "iti-load-utils", d.async = !0, d.src = a, document.body.appendChild(d); };
        return r.loadUtils = function (a) { if (!window.intlTelInputUtils && !window.intlTelInputGlobals.startedLoadingUtilsScript) {
            if (window.intlTelInputGlobals.startedLoadingUtilsScript = !0, "undefined" != typeof Promise)
                return new Promise(function (b, c) { return x(a, b, c); });
            x(a);
        } return null; }, r.defaults = t, r.version = "19.1.1", function (a, b) { var c = new w(a, b); return c._init(), a.setAttribute("data-intl-tel-input-id", c.id), window.intlTelInputGlobals.instances[c.id] = c, c; };
    }();
});
(function () {
    var aa = this || self;
    function k(a, b) { a = a.split("."); var c = aa; a[0] in c || "undefined" == typeof c.execScript || c.execScript("var " + a[0]); for (var d; a.length && (d = a.shift());)
        a.length || void 0 === b ? c[d] && c[d] !== Object.prototype[d] ? c = c[d] : c = c[d] = {} : c[d] = b; }
    function m(a, b) { function c() { } c.prototype = b.prototype; a.ma = b.prototype; a.prototype = new c; a.prototype.constructor = a; a.sa = function (d, f, e) { for (var g = Array(arguments.length - 2), h = 2; h < arguments.length; h++)
        g[h - 2] = arguments[h]; return b.prototype[f].apply(d, g); }; }
    ;
    function ca(a) { var b = []; var c = 0; for (var d in a)
        b[c++] = a[d]; return b; }
    ;
    function da(a, b) { this.g = a; this.l = !!b.aa; this.h = b.i; this.s = b.type; this.o = !1; switch (this.h) {
        case ea:
        case fa:
        case ha:
        case ia:
        case ja:
        case ka:
        case la: this.o = !0;
    } this.j = b.defaultValue; }
    var la = 1, ka = 2, ea = 3, fa = 4, ha = 6, ia = 16, ja = 18;
    function ma(a, b) { this.h = a; this.g = {}; for (a = 0; a < b.length; a++) {
        var c = b[a];
        this.g[c.g] = c;
    } }
    function na(a) { a = ca(a.g); a.sort(function (b, c) { return b.g - c.g; }); return a; }
    ;
    function n() { this.h = {}; this.j = this.m().g; this.g = this.l = null; }
    n.prototype.has = function (a) { return p(this, a.g); };
    n.prototype.get = function (a, b) { return q(this, a.g, b); };
    n.prototype.set = function (a, b) { r(this, a.g, b); };
    n.prototype.add = function (a, b) { oa(this, a.g, b); };
    function pa(a, b) { for (var c = na(a.m()), d = 0; d < c.length; d++) {
        var f = c[d], e = f.g;
        if (p(b, e)) {
            a.g && delete a.g[f.g];
            var g = 11 == f.h || 10 == f.h;
            if (f.l) {
                f = t(b, e);
                for (var h = 0; h < f.length; h++)
                    oa(a, e, g ? f[h].clone() : f[h]);
            }
            else
                f = u(b, e), g ? (g = u(a, e)) ? pa(g, f) : r(a, e, f.clone()) : r(a, e, f);
        }
    } }
    n.prototype.clone = function () { var a = new this.constructor; a != this && (a.h = {}, a.g && (a.g = {}), pa(a, this)); return a; };
    function p(a, b) { return null != a.h[b]; }
    function u(a, b) { var c = a.h[b]; if (null == c)
        return null; if (a.l) {
        if (!(b in a.g)) {
            var d = a.l, f = a.j[b];
            if (null != c)
                if (f.l) {
                    for (var e = [], g = 0; g < c.length; g++)
                        e[g] = d.h(f, c[g]);
                    c = e;
                }
                else
                    c = d.h(f, c);
            return a.g[b] = c;
        }
        return a.g[b];
    } return c; }
    function q(a, b, c) { var d = u(a, b); return a.j[b].l ? d[c || 0] : d; }
    function v(a, b) { if (p(a, b))
        a = q(a, b);
    else
        a: {
            a = a.j[b];
            if (void 0 === a.j)
                if (b = a.s, b === Boolean)
                    a.j = !1;
                else if (b === Number)
                    a.j = 0;
                else if (b === String)
                    a.j = a.o ? "0" : "";
                else {
                    a = new b;
                    break a;
                }
            a = a.j;
        } return a; }
    function t(a, b) { return u(a, b) || []; }
    function w(a, b) { return a.j[b].l ? p(a, b) ? a.h[b].length : 0 : p(a, b) ? 1 : 0; }
    function r(a, b, c) { a.h[b] = c; a.g && (a.g[b] = c); }
    function oa(a, b, c) { a.h[b] || (a.h[b] = []); a.h[b].push(c); a.g && delete a.g[b]; }
    function x(a, b) { var c = [], d; for (d in b)
        0 != d && c.push(new da(d, b[d])); return new ma(a, c); }
    ;
    function y() { }
    y.prototype.g = function (a) { new a.h; throw Error("Unimplemented"); };
    y.prototype.h = function (a, b) { if (11 == a.h || 10 == a.h)
        return b instanceof n ? b : this.g(a.s.prototype.m(), b); if (14 == a.h)
        return "string" === typeof b && qa.test(b) && (a = Number(b), 0 < a) ? a : b; if (!a.o)
        return b; a = a.s; if (a === String) {
        if ("number" === typeof b)
            return String(b);
    }
    else if (a === Number && "string" === typeof b && ("Infinity" === b || "-Infinity" === b || "NaN" === b || qa.test(b)))
        return Number(b); return b; };
    var qa = /^-?[0-9]+$/;
    function z() { }
    m(z, y);
    z.prototype.g = function (a, b) { a = new a.h; a.l = this; a.h = b; a.g = {}; return a; };
    function A() { }
    m(A, z);
    A.prototype.h = function (a, b) { return 8 == a.h ? !!b : y.prototype.h.apply(this, arguments); };
    A.prototype.g = function (a, b) { return A.ma.g.call(this, a, b); };
    function B(a, b) { null != a && this.g.apply(this, arguments); }
    B.prototype.h = "";
    B.prototype.set = function (a) { this.h = "" + a; };
    B.prototype.g = function (a, b, c) { this.h += String(a); if (null != b)
        for (var d = 1; d < arguments.length; d++)
            this.h += arguments[d]; return this; };
    function C(a) { a.h = ""; }
    B.prototype.toString = function () { return this.h; };
    function E() { n.call(this); }
    m(E, n);
    var ra = null;
    function F() { n.call(this); }
    m(F, n);
    var sa = null;
    function G() { n.call(this); }
    m(G, n);
    var ta = null;
    E.prototype.m = function () { var a = ra; a || (ra = a = x(E, { 0: { name: "NumberFormat", ia: "i18n.phonenumbers.NumberFormat" }, 1: { name: "pattern", required: !0, i: 9, type: String }, 2: { name: "format", required: !0, i: 9, type: String }, 3: { name: "leading_digits_pattern", aa: !0, i: 9, type: String }, 4: { name: "national_prefix_formatting_rule", i: 9, type: String }, 6: { name: "national_prefix_optional_when_formatting", i: 8, defaultValue: !1, type: Boolean }, 5: { name: "domestic_carrier_code_formatting_rule", i: 9, type: String } })); return a; };
    E.m = E.prototype.m;
    F.prototype.m = function () { var a = sa; a || (sa = a = x(F, { 0: { name: "PhoneNumberDesc", ia: "i18n.phonenumbers.PhoneNumberDesc" }, 2: { name: "national_number_pattern", i: 9, type: String }, 9: { name: "possible_length", aa: !0, i: 5, type: Number }, 10: { name: "possible_length_local_only", aa: !0, i: 5, type: Number }, 6: { name: "example_number", i: 9, type: String } })); return a; };
    F.m = F.prototype.m;
    G.prototype.m = function () {
        var a = ta;
        a || (ta = a = x(G, { 0: { name: "PhoneMetadata", ia: "i18n.phonenumbers.PhoneMetadata" }, 1: { name: "general_desc", i: 11, type: F }, 2: { name: "fixed_line", i: 11, type: F }, 3: { name: "mobile", i: 11, type: F }, 4: { name: "toll_free", i: 11, type: F }, 5: { name: "premium_rate", i: 11, type: F }, 6: { name: "shared_cost", i: 11, type: F }, 7: { name: "personal_number", i: 11, type: F }, 8: { name: "voip", i: 11, type: F }, 21: { name: "pager", i: 11, type: F }, 25: { name: "uan", i: 11, type: F }, 27: { name: "emergency", i: 11, type: F }, 28: { name: "voicemail", i: 11, type: F },
            29: { name: "short_code", i: 11, type: F }, 30: { name: "standard_rate", i: 11, type: F }, 31: { name: "carrier_specific", i: 11, type: F }, 33: { name: "sms_services", i: 11, type: F }, 24: { name: "no_international_dialling", i: 11, type: F }, 9: { name: "id", required: !0, i: 9, type: String }, 10: { name: "country_code", i: 5, type: Number }, 11: { name: "international_prefix", i: 9, type: String }, 17: { name: "preferred_international_prefix", i: 9, type: String }, 12: { name: "national_prefix", i: 9, type: String }, 13: { name: "preferred_extn_prefix", i: 9, type: String }, 15: { name: "national_prefix_for_parsing",
                i: 9, type: String }, 16: { name: "national_prefix_transform_rule", i: 9, type: String }, 18: { name: "same_mobile_and_fixed_line_pattern", i: 8, defaultValue: !1, type: Boolean }, 19: { name: "number_format", aa: !0, i: 11, type: E }, 20: { name: "intl_number_format", aa: !0, i: 11, type: E }, 22: { name: "main_country_for_code", i: 8, defaultValue: !1, type: Boolean }, 23: { name: "leading_digits", i: 9, type: String } }));
        return a;
    };
    G.m = G.prototype.m;
    function H() { n.call(this); }
    m(H, n);
    var ua = null, va = { ra: 0, qa: 1, pa: 5, oa: 10, na: 20 };
    H.prototype.m = function () {
        var a = ua;
        a || (ua = a = x(H, { 0: { name: "PhoneNumber", ia: "i18n.phonenumbers.PhoneNumber" }, 1: { name: "country_code", required: !0, i: 5, type: Number }, 2: { name: "national_number", required: !0, i: 4, type: Number }, 3: { name: "extension", i: 9, type: String }, 4: { name: "italian_leading_zero", i: 8, type: Boolean }, 8: { name: "number_of_leading_zeros", i: 5, defaultValue: 1, type: Number }, 5: { name: "raw_input", i: 9, type: String }, 6: { name: "country_code_source", i: 14, defaultValue: 0, type: va }, 7: { name: "preferred_domestic_carrier_code",
                i: 9, type: String } }));
        return a;
    };
    H.ctor = H;
    H.ctor.m = H.prototype.m;
    var I = { 1: "US AG AI AS BB BM BS CA DM DO GD GU JM KN KY LC MP MS PR SX TC TT VC VG VI".split(" "), 7: ["RU", "KZ"], 20: ["EG"], 27: ["ZA"], 30: ["GR"], 31: ["NL"], 32: ["BE"], 33: ["FR"], 34: ["ES"], 36: ["HU"], 39: ["IT", "VA"], 40: ["RO"], 41: ["CH"], 43: ["AT"], 44: ["GB", "GG", "IM", "JE"], 45: ["DK"], 46: ["SE"], 47: ["NO", "SJ"], 48: ["PL"], 49: ["DE"], 51: ["PE"], 52: ["MX"], 53: ["CU"], 54: ["AR"], 55: ["BR"], 56: ["CL"], 57: ["CO"], 58: ["VE"], 60: ["MY"], 61: ["AU", "CC", "CX"], 62: ["ID"], 63: ["PH"], 64: ["NZ"], 65: ["SG"], 66: ["TH"], 81: ["JP"], 82: ["KR"], 84: ["VN"],
        86: ["CN"], 90: ["TR"], 91: ["IN"], 92: ["PK"], 93: ["AF"], 94: ["LK"], 95: ["MM"], 98: ["IR"], 211: ["SS"], 212: ["MA", "EH"], 213: ["DZ"], 216: ["TN"], 218: ["LY"], 220: ["GM"], 221: ["SN"], 222: ["MR"], 223: ["ML"], 224: ["GN"], 225: ["CI"], 226: ["BF"], 227: ["NE"], 228: ["TG"], 229: ["BJ"], 230: ["MU"], 231: ["LR"], 232: ["SL"], 233: ["GH"], 234: ["NG"], 235: ["TD"], 236: ["CF"], 237: ["CM"], 238: ["CV"], 239: ["ST"], 240: ["GQ"], 241: ["GA"], 242: ["CG"], 243: ["CD"], 244: ["AO"], 245: ["GW"], 246: ["IO"], 247: ["AC"], 248: ["SC"], 249: ["SD"], 250: ["RW"], 251: ["ET"], 252: ["SO"],
        253: ["DJ"], 254: ["KE"], 255: ["TZ"], 256: ["UG"], 257: ["BI"], 258: ["MZ"], 260: ["ZM"], 261: ["MG"], 262: ["RE", "YT"], 263: ["ZW"], 264: ["NA"], 265: ["MW"], 266: ["LS"], 267: ["BW"], 268: ["SZ"], 269: ["KM"], 290: ["SH", "TA"], 291: ["ER"], 297: ["AW"], 298: ["FO"], 299: ["GL"], 350: ["GI"], 351: ["PT"], 352: ["LU"], 353: ["IE"], 354: ["IS"], 355: ["AL"], 356: ["MT"], 357: ["CY"], 358: ["FI", "AX"], 359: ["BG"], 370: ["LT"], 371: ["LV"], 372: ["EE"], 373: ["MD"], 374: ["AM"], 375: ["BY"], 376: ["AD"], 377: ["MC"], 378: ["SM"], 380: ["UA"], 381: ["RS"], 382: ["ME"], 383: ["XK"], 385: ["HR"],
        386: ["SI"], 387: ["BA"], 389: ["MK"], 420: ["CZ"], 421: ["SK"], 423: ["LI"], 500: ["FK"], 501: ["BZ"], 502: ["GT"], 503: ["SV"], 504: ["HN"], 505: ["NI"], 506: ["CR"], 507: ["PA"], 508: ["PM"], 509: ["HT"], 590: ["GP", "BL", "MF"], 591: ["BO"], 592: ["GY"], 593: ["EC"], 594: ["GF"], 595: ["PY"], 596: ["MQ"], 597: ["SR"], 598: ["UY"], 599: ["CW", "BQ"], 670: ["TL"], 672: ["NF"], 673: ["BN"], 674: ["NR"], 675: ["PG"], 676: ["TO"], 677: ["SB"], 678: ["VU"], 679: ["FJ"], 680: ["PW"], 681: ["WF"], 682: ["CK"], 683: ["NU"], 685: ["WS"], 686: ["KI"], 687: ["NC"], 688: ["TV"], 689: ["PF"], 690: ["TK"],
        691: ["FM"], 692: ["MH"], 800: ["001"], 808: ["001"], 850: ["KP"], 852: ["HK"], 853: ["MO"], 855: ["KH"], 856: ["LA"], 870: ["001"], 878: ["001"], 880: ["BD"], 881: ["001"], 882: ["001"], 883: ["001"], 886: ["TW"], 888: ["001"], 960: ["MV"], 961: ["LB"], 962: ["JO"], 963: ["SY"], 964: ["IQ"], 965: ["KW"], 966: ["SA"], 967: ["YE"], 968: ["OM"], 970: ["PS"], 971: ["AE"], 972: ["IL"], 973: ["BH"], 974: ["QA"], 975: ["BT"], 976: ["MN"], 977: ["NP"], 979: ["001"], 992: ["TJ"], 993: ["TM"], 994: ["AZ"], 995: ["GE"], 996: ["KG"], 998: ["UZ"] }, wa = { AC: [, [, , "(?:[01589]\\d|[46])\\d{4}",
                ,
                , , , , , [5, 6]], [, , "6[2-467]\\d{3}", , , , "62889", , , [5]], [, , "4\\d{4}", , , , "40123", , , [5]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "AC", 247, "00", , , , , , , , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "(?:0[1-9]|[1589]\\d)\\d{4}", , , , "542011", , , [6]], , , [, , , , , , , , , [-1]]], AD: [, [, , "(?:1|6\\d)\\d{7}|[135-9]\\d{5}", , , , , , , [6, 8, 9]], [, , "[78]\\d{5}", , , , "712345", , , [6]], [, , "690\\d{6}|[356]\\d{5}", , , , "312345", , , [6, 9]], [, , "180[02]\\d{4}", , , , "18001234", , , [8]], [, , "[19]\\d{5}", , , , "912345", , , [6]],
            [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "AD", 376, "00", , , , , , , , [[, "(\\d{3})(\\d{3})", "$1 $2", ["[135-9]"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["1"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]], , [, , , , , , , , , [-1]], , , [, , "1800\\d{4}", , , , , , , [8]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], AE: [, [, , "(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}", , , , , , , [5, 6, 7, 8, 9, 10, 11, 12]], [, , "[2-4679][2-8]\\d{6}", , , , "22345678", , , [8], [7]], [, , "5[024-68]\\d{7}", , , , "501234567", , , [9]], [, , "400\\d{6}|800\\d{2,9}", , , , "800123456"],
            [, , "900[02]\\d{5}", , , , "900234567", , , [9]], [, , "700[05]\\d{5}", , , , "700012345", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "AE", 971, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{2,9})", "$1 $2", ["60|8"]], [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[236]|[479][2-8]"], "0$1"], [, "(\\d{3})(\\d)(\\d{5})", "$1 $2 $3", ["[479]"]], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "600[25]\\d{5}", , , , "600212345", , , [9]], , , [, , , , , , , , , [-1]]], AF: [, [, , "[2-7]\\d{8}", , , , , , , [9], [7]], [, , "(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\d{6}",
                ,
                , , "234567890", , , , [7]], [, , "7\\d{8}", , , , "701234567", , , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "AF", 93, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[1-9]"]], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"]], [[, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], AG: [, [, , "(?:268|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "268(?:4(?:6[0-38]|84)|56[0-2])\\d{4}", , , , "2684601234",
                ,
                , , [7]], [, , "268(?:464|7(?:1[3-9]|[28]\\d|3[0246]|64|7[0-689]))\\d{4}", , , , "2684641234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , "26848[01]\\d{4}", , , , "2684801234", , , , [7]],
            "AG", 1, "011", "1", , , "([457]\\d{6})$|1", "268$1", , , , , [, , "26840[69]\\d{4}", , , , "2684061234", , , , [7]], , "268", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], AI: [, [, , "(?:264|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "264(?:292|4(?:6[12]|9[78]))\\d{4}", , , , "2644612345", , , , [7]], [, , "264(?:235|4(?:69|76)|5(?:3[6-9]|8[1-4])|7(?:29|72))\\d{4}", , , , "2642351234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
                ,
                , , "5002345678"], [, , , , , , , , , [-1]], "AI", 1, "011", "1", , , "([2457]\\d{6})$|1", "264$1", , , , , [, , "264724\\d{4}", , , , "2647241234", , , , [7]], , "264", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], AL: [, [, , "(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}", , , , , , , [6, 7, 8, 9], [5]], [, , "4505[0-2]\\d{3}|(?:[2358][16-9]\\d[2-9]|4410)\\d{4}|(?:[2358][2-5][2-9]|4(?:[2-57-9][2-9]|6\\d))\\d{5}", , , , "22345678", , , [8], [5, 6, 7]], [, , "6(?:[78][2-9]|9\\d)\\d{6}", , , , "672123456", , , [9]], [, , "800\\d{4}", , , , "8001234", , , [7]], [, , "900[1-9]\\d\\d",
                ,
                , , "900123", , , [6]], [, , "808[1-9]\\d\\d", , , , "808123", , , [6]], [, , "700[2-9]\\d{4}", , , , "70021234", , , [8]], [, , , , , , , , , [-1]], "AL", 355, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3,4})", "$1 $2", ["80|9"], "0$1"], [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["4[2-6]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2358][2-5]|4"], "0$1"], [, "(\\d{3})(\\d{5})", "$1 $2", ["[23578]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["6"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], AM: [, [, , "(?:[1-489]\\d|55|60|77)\\d{6}",
                ,
                , , , , , [8], [5, 6]], [, , "(?:(?:1[0-25]|47)\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\d{5}", , , , "10123456", , , , [5, 6]], [, , "(?:33|4[1349]|55|77|88|9[13-9])\\d{6}", , , , "77123456"], [, , "800\\d{5}", , , , "80012345"], [, , "90[016]\\d{5}", , , , "90012345"], [, , "80[1-4]\\d{5}", , , , "80112345"], [, , , , , , , , , [-1]], [, , "60(?:2[78]|3[5-9]|4[02-9]|5[0-46-9]|[6-8]\\d|9[0-2])\\d{4}", , , , "60271234"], "AM", 374, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[89]0"], "0 $1"], [, "(\\d{3})(\\d{5})", "$1 $2", ["2|3[12]"],
                    "(0$1)"], [, "(\\d{2})(\\d{6})", "$1 $2", ["1|47"], "(0$1)"], [, "(\\d{2})(\\d{6})", "$1 $2", ["[3-9]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], AO: [, [, , "[29]\\d{8}", , , , , , , [9]], [, , "2\\d(?:[0134][25-9]|[25-9]\\d)\\d{5}", , , , "222123456"], [, , "9[1-59]\\d{7}", , , , "923123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "AO", 244, "00", , , , , , , , [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[29]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]],
            ,
            , [, , , , , , , , , [-1]]], AR: [, [, , "(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}", , , , , , , [10, 11], [6, 7, 8]], [, , "3888[013-9]\\d{5}|3(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\d{5}|(?:29(?:54|66)|3(?:7(?:55|77)|865))[2-8]\\d{5}|(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\d{5}|(?:2(?:284|3(?:02|23)|657|920)|3(?:4(?:8[27]|92)|541|878))[2-7]\\d{5}|(?:2(?:(?:26|62)2|320|477|9(?:42|83))|3(?:329|4(?:[47]6|62|89)|564))[2-6]\\d{5}|(?:(?:11[1-8]|670)\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-8]|[235][4-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|[17][2-6]|3[4-6]|[58][3-6])))\\d{6}|2(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\d{5}|(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}",
                ,
                , , "1123456789", , , [10], [6, 7, 8]], [, , "93(?:7(?:1[15]|81)[46]|8(?:(?:21|4[16]|69|9[12])[46]|88[013-9]))\\d{5}|9(?:29(?:54|66)|3(?:7(?:55|77)|865))[2-8]\\d{5}|9(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\d{5}|9(?:2(?:284|3(?:02|23)|657|920)|3(?:4(?:8[27]|92)|541|878))[2-7]\\d{5}|9(?:2(?:(?:26|62)2|320|477|9(?:42|83))|3(?:329|4(?:[47]6|62|89)|564))[2-6]\\d{5}|(?:675\\d|9(?:11[1-8]\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-8]|[235][4-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|[17][2-6]|3[4-6]|[58][3-6]))))\\d{6}|92(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|9(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\d{5}|9(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}",
                ,
                , , "91123456789", , , , [6, 7, 8]], [, , "800\\d{7,8}", , , , "8001234567"], [, , "60[04579]\\d{7}", , , , "6001234567", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "AR", 54, "00", "0", , , "0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?",
            "9$1", , , [[, "(\\d{3})", "$1", ["0|1(?:0[0-35-7]|1[02-5]|2[015]|3[47]|4[478])|911"]], [, "(\\d{2})(\\d{4})", "$1-$2", ["[1-9]"]], [, "(\\d{3})(\\d{4})", "$1-$2", ["[2-9]"]], [, "(\\d{4})(\\d{4})", "$1-$2", ["[1-8]"]], [, "(\\d{4})(\\d{2})(\\d{4})", "$1 $2-$3", ["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])", "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)",
                        "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],
                    "0$1", , 1], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", , 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", , 1], [, "(\\d)(\\d{4})(\\d{2})(\\d{4})", "$2 15-$3-$4", ["9(?:2[2-469]|3[3-578])", "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))", "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)",
                        "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],
                    "0$1"], [, "(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 15-$3-$4", ["91"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"], [, "(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 15-$3-$4", ["9"], "0$1"]], [[, "(\\d{4})(\\d{2})(\\d{4})", "$1 $2-$3", ["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])", "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)",
                        "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],
                    "0$1", , 1], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", , 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", , 1], [, "(\\d)(\\d{4})(\\d{2})(\\d{4})", "$1 $2 $3-$4", ["9(?:2[2-469]|3[3-578])", "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))", "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)",
                        "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"]],
                [, "(\\d)(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3-$4", ["91"]], [, "(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"], [, "(\\d)(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3-$4", ["9"]]], [, , , , , , , , , [-1]], , , [, , "810\\d{7}", , , , , , , [10]], [, , "810\\d{7}", , , , "8101234567", , , [10]], , , [, , , , , , , , , [-1]]], AS: [, [, , "(?:[58]\\d\\d|684|900)\\d{7}", , , , , , , [10], [7]], [, , "6846(?:22|33|44|55|77|88|9[19])\\d{4}", , , , "6846221234", , , , [7]], [, , "684(?:2(?:48|5[2468]|7[26])|7(?:3[13]|70|82))\\d{4}", , , , "6847331234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",
                ,
                , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "AS", 1, "011", "1", , , "([267]\\d{6})$|1", "684$1", , , , , [, , , , , , , , , [-1]], , "684", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], AT: [, [, , "1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}",
                ,
                , , , , , [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [3]], [, , "1(?:11\\d|[2-9]\\d{3,11})|(?:316|463|(?:51|66|73)2)\\d{3,10}|(?:2(?:1[467]|2[13-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|9[1458])|3(?:1[1-578]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|7[1368]|8[2457])|5(?:2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[135-8]|5[468])|7(?:2[1-8]|35|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\d{4,10}", , , , "1234567890", , , , [3]], [, , "6(?:5[0-3579]|6[013-9]|[7-9]\\d)\\d{4,10}", , , , "664123456", , , [7, 8, 9, 10, 11, 12, 13]], [, , "800\\d{6,10}",
                ,
                , , "800123456", , , [9, 10, 11, 12, 13]], [, , "(?:8[69][2-68]|9(?:0[01]|3[019]))\\d{6,10}", , , , "900123456", , , [9, 10, 11, 12, 13]], [, , "8(?:10|2[018])\\d{6,10}|828\\d{5}", , , , "810123456", , , [8, 9, 10, 11, 12, 13]], [, , , , , , , , , [-1]], [, , "5(?:0[1-9]|17|[79]\\d)\\d{2,10}|7[28]0\\d{6,10}", , , , "780123456", , , [5, 6, 7, 8, 9, 10, 11, 12, 13]], "AT", 43, "00", "0", , , "0", , , , [[, "(\\d{4})", "$1", ["14"]], [, "(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"], [, "(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"], [, "(\\d{2})(\\d{3,5})", "$1 $2", ["5[079]"], "0$1"],
                [, "(\\d{6})", "$1", ["[18]"]], [, "(\\d{3})(\\d{3,10})", "$1 $2", ["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"], "0$1"], [, "(\\d{4})(\\d{3,9})", "$1 $2", ["[2-467]|5[2-6]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["5"], "0$1"], [, "(\\d{2})(\\d{4})(\\d{4,7})", "$1 $2 $3", ["5"], "0$1"]], [[, "(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"], [, "(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"], [, "(\\d{2})(\\d{3,5})", "$1 $2", ["5[079]"], "0$1"], [, "(\\d{3})(\\d{3,10})", "$1 $2", ["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],
                    "0$1"], [, "(\\d{4})(\\d{3,9})", "$1 $2", ["[2-467]|5[2-6]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["5"], "0$1"], [, "(\\d{2})(\\d{4})(\\d{4,7})", "$1 $2 $3", ["5"], "0$1"]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], AU: [, [, , "1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}", , , , , , , [5, 6, 7, 8, 9, 10, 12]], [, , "(?:(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8]))\\d{3}|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4]))|(?:6[0-8]|[78]\\d)\\d{3}|9(?:[02-9]\\d{3}|1(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79])))))\\d{3}",
                ,
                , , "212345678", , , [9], [8]], [, , "4(?:(?:79|94)[01]|83[0-389])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[0-26-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}", , , , "412345678", , , [9]], [, , "180(?:0\\d{3}|2)\\d{3}", , , , "1800123456", , , [7, 10]], [, , "190[0-26]\\d{6}", , , , "1900123456", , , [10]], [, , "13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", , , , "1300123456", , , [6, 8, 10, 12]], [, , , , , , , , , [-1]], [, , "14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", , , , "147101234", , , [9]], "AU", 61, "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "0", , ,
            "(183[12])|0", , "0011", , [[, "(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["13"]], [, "(\\d{3})(\\d{3})", "$1 $2", ["19"]], [, "(\\d{3})(\\d{4})", "$1 $2", ["180", "1802"]], [, "(\\d{4})(\\d{3,4})", "$1 $2", ["19"]], [, "(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"], [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[2378]"], "(0$1)", "$CC ($1)"], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]], [, "(\\d{4})(\\d{4})(\\d{4})",
                    "$1 $2 $3", ["130"]]], [[, "(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"], [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[2378]"], "(0$1)", "$CC ($1)"], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]]], [, , "163\\d{2,6}", , , , "1631234", , , [5, 6, 7, 8, 9]], 1, , [, , "1(?:3(?:00\\d{5}|45[0-4])|802)\\d{3}|1[38]00\\d{6}|13\\d{4}", , , , , , , [6, 7, 8, 10, 12]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], AW: [, [, , "(?:[25-79]\\d\\d|800)\\d{4}",
                ,
                , , , , , [7]], [, , "5(?:2\\d|8[1-9])\\d{4}", , , , "5212345"], [, , "(?:290|5[69]\\d|6(?:[03]0|22|4[0-2]|[69]\\d)|7(?:[34]\\d|7[07])|9(?:6[45]|9[4-8]))\\d{4}", , , , "5601234"], [, , "800\\d{4}", , , , "8001234"], [, , "900\\d{4}", , , , "9001234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:28\\d|501)\\d{4}", , , , "5011234"], "AW", 297, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[25-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], AX: [, [, , "2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}",
                ,
                , , , , , [5, 6, 7, 8, 9, 10, 11, 12]], [, , "18[1-8]\\d{3,6}", , , , "181234567", , , [6, 7, 8, 9]], [, , "4946\\d{2,6}|(?:4[0-8]|50)\\d{4,8}", , , , "412345678", , , [6, 7, 8, 9, 10]], [, , "800\\d{4,6}", , , , "800123456", , , [7, 8, 9]], [, , "[67]00\\d{5,6}", , , , "600123456", , , [8, 9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "AX", 358, "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "0", , , "0", , "00", , , , [, , , , , , , , , [-1]], , "18", [, , , , , , , , , [-1]], [, , "20\\d{4,8}|60[12]\\d{5,6}|7(?:099\\d{4,5}|5[03-9]\\d{3,7})|20[2-59]\\d\\d|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:10|29|3[09]|70[1-5]\\d)\\d{4,8}",
                ,
                , , "10112345"], , , [, , , , , , , , , [-1]]], AZ: [, [, , "365\\d{6}|(?:[124579]\\d|60|88)\\d{7}", , , , , , , [9], [7]], [, , "(?:2[12]428|3655[02])\\d{4}|(?:2(?:22[0-79]|63[0-28])|3654)\\d{5}|(?:(?:1[28]|46)\\d|2(?:[014-6]2|[23]3))\\d{6}", , , , "123123456", , , , [7]], [, , "36554\\d{4}|(?:[16]0|4[04]|5[015]|7[07]|99)\\d{7}", , , , "401234567"], [, , "88\\d{7}", , , , "881234567"], [, , "900200\\d{3}", , , , "900200123"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "AZ", 994, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[1-9]"]], [,
                    "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["90"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[28]|2|365|46", "1[28]|2|365[45]|46", "1[28]|2|365(?:4|5[02])|46"], "(0$1)"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[13-9]"], "0$1"]], [[, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["90"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[28]|2|365|46", "1[28]|2|365[45]|46", "1[28]|2|365(?:4|5[02])|46"], "(0$1)"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4",
                    ["[13-9]"], "0$1"]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], BA: [, [, , "6\\d{8}|(?:[35689]\\d|49|70)\\d{6}", , , , , , , [8, 9], [6]], [, , "(?:3(?:[05-79][2-9]|1[4579]|[23][24-9]|4[2-4689]|8[2457-9])|49[2-579]|5(?:0[2-49]|[13][2-9]|[268][2-4679]|4[4689]|5[2-79]|7[2-69]|9[2-4689]))\\d{5}", , , , "30212345", , , [8], [6]], [, , "6040\\d{5}|6(?:03|[1-356]|44|7\\d)\\d{6}", , , , "61123456"], [, , "8[08]\\d{6}", , , , "80123456", , , [8]], [, , "9[0246]\\d{6}", , , , "90123456", , , [8]], [, , "8[12]\\d{6}", , , , "82123456", , , [8]],
            [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BA", 387, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3})", "$1-$2", ["[2-9]"]], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[1-3]|[7-9]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2-$3", ["[3-5]|6[56]"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["6"], "0$1"]], [[, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[1-3]|[7-9]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2-$3", ["[3-5]|6[56]"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["6"], "0$1"]], [, , , , , , , , , [-1]],
            ,
            , [, , , , , , , , , [-1]], [, , "703[235]0\\d{3}|70(?:2[0-5]|3[0146]|[56]0)\\d{4}", , , , "70341234", , , [8]], , , [, , , , , , , , , [-1]]], BB: [, [, , "(?:246|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "246521[0369]\\d{3}|246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\d|3[2-9])|5(?:20|[34]\\d|54|7[1-3])|6(?:2\\d|38)|7[35]7|9(?:1[89]|63))\\d{4}", , , , "2464123456", , , , [7]], [, , "246(?:(?:2(?:[3568]\\d|4[0-57-9])|3(?:5[2-9]|6[0-6])|4(?:46|5\\d)|69[5-7]|8(?:[2-5]\\d|83))\\d|52(?:1[147]|20))\\d{3}", , , , "2462501234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",
                ,
                , , "8002123456"], [, , "(?:246976|900[2-9]\\d\\d)\\d{4}", , , , "9002123456", , , , [7]], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , "24631\\d{5}", , , , "2463101234", , , , [7]], "BB", 1, "011", "1", , , "([2-9]\\d{6})$|1", "246$1", , , , , [, , , , , , , , , [-1]], , "246", [, , , , , , , , , [-1]], [, , "246(?:292|367|4(?:1[7-9]|3[01]|4[47-9]|67)|7(?:1[2-9]|2\\d|3[016]|53))\\d{4}",
                ,
                , , "2464301234", , , , [7]], , , [, , , , , , , , , [-1]]], BD: [, [, , "[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}", , , , , , , [6, 7, 8, 9, 10]], [, , "(?:4(?:31\\d\\d|423)|5222)\\d{3}(?:\\d{2})?|8332[6-9]\\d\\d|(?:3(?:03[56]|224)|4(?:22[25]|653))\\d{3,4}|(?:3(?:42[47]|529|823)|4(?:027|525|65(?:28|8))|562|6257|7(?:1(?:5[3-5]|6[12]|7[156]|89)|22[589]56|32|42675|52(?:[25689](?:56|8)|[347]8)|71(?:6[1267]|75|89)|92374)|82(?:2[59]|32)56|9(?:03[23]56|23(?:256|373)|31|5(?:1|2[4589]56)))\\d{3}|(?:3(?:02[348]|22[35]|324|422)|4(?:22[67]|32[236-9]|6(?:2[46]|5[57])|953)|5526|6(?:024|6655)|81)\\d{4,5}|(?:2(?:7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|1[1-6]|2[0157-9]|3[1-69]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[0136-9]|7[0-7]|8[014-9]))|3(?:0(?:2[025-79]|3[2-4])|181|22[12]|32[2356]|824)|4(?:02[09]|22[348]|32[045]|523|6(?:27|54))|666(?:22|53)|7(?:22[57-9]|42[56]|82[35])8|8(?:0[124-9]|2(?:181|2[02-4679]8)|4[12]|[5-7]2)|9(?:[04]2|2(?:2|328)|81))\\d{4}|(?:2(?:222|[45]\\d)\\d|3(?:1(?:2[5-7]|[5-7])|425|822)|4(?:033|1\\d|[257]1|332|4(?:2[246]|5[25])|6(?:2[35]|56|62)|8(?:23|54)|92[2-5])|5(?:02[03489]|22[457]|32[35-79]|42[46]|6(?:[18]|53)|724|826)|6(?:023|2(?:2[2-5]|5[3-5]|8)|32[3478]|42[34]|52[47]|6(?:[18]|6(?:2[34]|5[24]))|[78]2[2-5]|92[2-6])|7(?:02|21\\d|[3-589]1|6[12]|72[24])|8(?:217|3[12]|[5-7]1)|9[24]1)\\d{5}|(?:(?:3[2-8]|5[2-57-9]|6[03-589])1|4[4689][18])\\d{5}|[59]1\\d{5}",
                ,
                , , "27111234"], [, , "(?:1[13-9]\\d|644)\\d{7}|(?:3[78]|44|66)[02-9]\\d{7}", , , , "1812345678", , , [10]], [, , "80[03]\\d{7}", , , , "8001234567", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "96(?:0[469]|1[0-47]|3[389]|43|6[69]|7[78])\\d{6}", , , , "9604123456", , , [10]], "BD", 880, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{4,6})", "$1-$2", ["31[5-8]|[459]1"], "0$1"], [, "(\\d{3})(\\d{3,7})", "$1-$2", ["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"],
                    "0$1"], [, "(\\d{4})(\\d{3,6})", "$1-$2", ["[13-9]|22"], "0$1"], [, "(\\d)(\\d{7,8})", "$1-$2", ["2"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], BE: [, [, , "4\\d{8}|[1-9]\\d{7}", , , , , , , [8, 9]], [, , "80[2-8]\\d{5}|(?:1[0-69]|[23][2-8]|4[23]|5\\d|6[013-57-9]|71|8[1-79]|9[2-4])\\d{6}", , , , "12345678", , , [8]], [, , "4[5-9]\\d{7}", , , , "470123456", , , [9]], [, , "800[1-9]\\d{4}", , , , "80012345", , , [8]], [, , "(?:70(?:2[0-57]|3[04-7]|44|6[4-69]|7[0579])|90\\d\\d)\\d{4}", , , , "90012345", , , [8]], [, , "7879\\d{4}",
                ,
                , , "78791234", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BE", 32, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:80|9)0"], "0$1"], [, "(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[239]|4[23]"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[15-8]"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "78(?:0[57]|1[014-8]|2[25]|3[15-8]|48|[56]0|7[06-8]|9\\d)\\d{4}", , , , "78102345", , , [8]], , , [, , , , , , , , , [-1]]], BF: [, [, , "[025-7]\\d{7}",
                ,
                , , , , , [8]], [, , "2(?:0(?:49|5[23]|6[5-7]|9[016-9])|4(?:4[569]|5[4-6]|6[5-7]|7[0179])|5(?:[34]\\d|50|6[5-7]))\\d{4}", , , , "20491234"], [, , "(?:0[1-35-7]|5[0-8]|[67]\\d)\\d{6}", , , , "70123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BF", 226, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[025-7]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], BG: [, [, , "00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}", , , , , , , [6, 7, 8, 9, 12], [4, 5]],
            [, , "2\\d{5,7}|(?:43[1-6]|70[1-9])\\d{4,5}|(?:[36]\\d|4[124-7]|[57][1-9]|8[1-6]|9[1-7])\\d{5,6}", , , , "2123456", , , [6, 7, 8], [4, 5]], [, , "(?:43[07-9]|99[69]\\d)\\d{5}|(?:8[7-9]|98)\\d{7}", , , , "43012345", , , [8, 9]], [, , "(?:00800\\d\\d|800)\\d{5}", , , , "80012345", , , [8, 12]], [, , "90\\d{6}", , , , "90123456", , , [8]], [, , "700\\d{5}", , , , "70012345", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BG", 359, "00", "0", , , "0", , , , [[, "(\\d{6})", "$1", ["1"]], [, "(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], [, "(\\d{3})(\\d{4})", "$1 $2",
                    ["43[1-6]|70[1-9]"], "0$1"], [, "(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"]], [[, "(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], [, "(\\d{3})(\\d{4})", "$1 $2", ["43[1-6]|70[1-9]"],
                    "0$1"], [, "(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], BH: [, [, , "[136-9]\\d{7}", , , , , , , [8]], [, , "(?:1(?:3[1356]|6[0156]|7\\d)\\d|6(?:1[16]\\d|500|6(?:0\\d|3[12]|44|55|7[7-9]|88)|9[69][69])|7(?:[07]\\d\\d|1(?:11|78)))\\d{4}",
                ,
                , , "17001234"], [, , "(?:3(?:[0-79]\\d|8[0-57-9])\\d|6(?:3(?:00|33|6[16])|441|6(?:3[03-9]|[69]\\d|7[0-6])))\\d{4}", , , , "36001234"], [, , "8[02369]\\d{6}", , , , "80123456"], [, , "(?:87|9[0-8])\\d{6}", , , , "90123456"], [, , "84\\d{6}", , , , "84123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BH", 973, "00", , , , , , , , [[, "(\\d{4})(\\d{4})", "$1 $2", ["[13679]|8[02-4679]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], BI: [, [, , "(?:[267]\\d|31)\\d{6}", , , , , , , [8]], [, , "(?:22|31)\\d{6}", , , , "22201234"], [, , "(?:29|[67][125-9])\\d{6}",
                ,
                , , "79561234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BI", 257, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2367]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], BJ: [, [, , "[24-689]\\d{7}", , , , , , , [8]], [, , "2(?:02|1[037]|2[45]|3[68]|4\\d)\\d{5}", , , , "20211234"], [, , "(?:4[0-6]|[56]\\d|9[013-9])\\d{6}", , , , "90011234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "857[58]\\d{4}", , , , "85751234"], "BJ",
            229, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-689]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "81\\d{6}", , , , "81123456"], , , [, , , , , , , , , [-1]]], BL: [, [, , "590\\d{6}|(?:69|80|9\\d)\\d{7}", , , , , , , [9]], [, , "590(?:2[7-9]|3[3-7]|5[12]|87)\\d{4}", , , , "590271234"], [, , "69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))\\d{4}", , , , "690001234"], [, , "80[0-5]\\d{6}", , , , "800012345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "9(?:(?:395|76[018])\\d|475[0-5])\\d{4}", , , , "976012345"], "BL", 590, "00", "0", , , "0",
            ,
            , , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], BM: [, [, , "(?:441|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "441(?:[46]\\d\\d|5(?:4\\d|60|89))\\d{4}", , , , "4414123456", , , , [7]], [, , "441(?:[2378]\\d|5[0-39]|92)\\d{5}", , , , "4413701234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
                ,
                , , "5002345678"], [, , , , , , , , , [-1]], "BM", 1, "011", "1", , , "([2-9]\\d{6})$|1", "441$1", , , , , [, , , , , , , , , [-1]], , "441", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], BN: [, [, , "[2-578]\\d{6}", , , , , , , [7]], [, , "22[0-7]\\d{4}|(?:2[013-9]|[34]\\d|5[0-25-9])\\d{5}", , , , "2345678"], [, , "(?:22[89]|[78]\\d\\d)\\d{4}", , , , "7123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "5[34]\\d{5}", , , , "5345678"], "BN", 673, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[2-578]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]],
            [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], BO: [, [, , "(?:[2-467]\\d\\d|8001)\\d{5}", , , , , , , [8, 9], [7]], [, , "(?:2(?:2\\d\\d|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d\\d|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:[27]\\d|3[2-4]|4[248]|5[24]|6[2-6]))|4(?:4\\d\\d|6(?:11|[24689]\\d|72)))\\d{4}", , , , "22123456", , , [8], [7]], [, , "[67]\\d{7}", , , , "71234567", , , [8]], [, , "8001[07]\\d{4}", , , , "800171234", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BO", 591, "00(?:1\\d)?", "0",
            ,
            , "0(1\\d)?", , , , [[, "(\\d)(\\d{7})", "$1 $2", ["[23]|4[46]"], , "0$CC $1"], [, "(\\d{8})", "$1", ["[67]"], , "0$CC $1"], [, "(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["8"], , "0$CC $1"]], , [, , , , , , , , , [-1]], , , [, , "8001[07]\\d{4}", , , , , , , [9]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], BQ: [, [, , "(?:[34]1|7\\d)\\d{5}", , , , , , , [7]], [, , "(?:318[023]|41(?:6[023]|70)|7(?:1[578]|2[05]|50)\\d)\\d{3}", , , , "7151234"], [, , "(?:31(?:8[14-8]|9[14578])|416[14-9]|7(?:0[01]|7[07]|8\\d|9[056])\\d)\\d{3}", , , , "3181234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [,
                ,
                , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BQ", 599, "00", , , , , , , , , , [, , , , , , , , , [-1]], , "[347]", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], BR: [, [, , "(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-46-9]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}", , , , , , , [8, 9, 10, 11]], [, , "(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\\d{7}", , , , "1123456789", , , [10], [8]], [, , "(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])(?:7|9\\d)\\d{7}", , , , "11961234567", , , [10, 11], [8, 9]], [, , "800\\d{6,7}", , , , "800123456", , ,
                [9, 10]], [, , "300\\d{6}|[59]00\\d{6,7}", , , , "300123456", , , [9, 10]], [, , "(?:30[03]\\d{3}|4(?:0(?:0\\d|20)|370))\\d{4}|300\\d{5}", , , , "40041234", , , [8, 10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BR", 55, "00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)", "0", , , "(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?", "$2", , , [[, "(\\d{3,6})", "$1", ["1(?:1[25-8]|2[357-9]|3[02-68]|4[12568]|5|6[0-8]|8[015]|9[0-47-9])|321|610"]], [, "(\\d{4})(\\d{4})", "$1-$2", ["300|4(?:0[02]|37)", "4(?:02|37)0|[34]00"]], [, "(\\d{4})(\\d{4})", "$1-$2",
                    ["[2-57]", "[2357]|4(?:[0-24-9]|3(?:[0-689]|7[1-9]))"]], [, "(\\d{3})(\\d{2,3})(\\d{4})", "$1 $2 $3", ["(?:[358]|90)0"], "0$1"], [, "(\\d{5})(\\d{4})", "$1-$2", ["9"]], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"], "($1)", "0 $CC ($1)"], [, "(\\d{2})(\\d{5})(\\d{4})", "$1 $2-$3", ["[16][1-9]|[2-57-9]"], "($1)", "0 $CC ($1)"]], [[, "(\\d{4})(\\d{4})", "$1-$2", ["300|4(?:0[02]|37)", "4(?:02|37)0|[34]00"]], [, "(\\d{3})(\\d{2,3})(\\d{4})", "$1 $2 $3", ["(?:[358]|90)0"],
                    "0$1"], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"], "($1)", "0 $CC ($1)"], [, "(\\d{2})(\\d{5})(\\d{4})", "$1 $2-$3", ["[16][1-9]|[2-57-9]"], "($1)", "0 $CC ($1)"]], [, , , , , , , , , [-1]], , , [, , "30(?:0\\d{5,7}|3\\d{7})|40(?:0\\d|20)\\d{4}|800\\d{6,7}", , , , , , , [8, 9, 10]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], BS: [, [, , "(?:242|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[347]|8[0-4]|9[2-467])|461|502|6(?:0[1-5]|12|2[013]|[45]0|7[67]|8[78]|9[89])|7(?:02|88))\\d{4}",
                ,
                , , "2423456789", , , , [7]], [, , "242(?:3(?:5[79]|7[56]|95)|4(?:[23][1-9]|4[1-35-9]|5[1-8]|6[2-8]|7\\d|81)|5(?:2[45]|3[35]|44|5[1-46-9]|65|77)|6[34]6|7(?:27|38)|8(?:0[1-9]|1[02-9]|2\\d|[89]9))\\d{4}", , , , "2423591234", , , , [7]], [, , "242300\\d{4}|8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456", , , , [7]], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
                ,
                , , "5002345678"], [, , , , , , , , , [-1]], "BS", 1, "011", "1", , , "([3-8]\\d{6})$|1", "242$1", , , , , [, , , , , , , , , [-1]], , "242", [, , , , , , , , , [-1]], [, , "242225\\d{4}", , , , "2422250123"], , , [, , , , , , , , , [-1]]], BT: [, [, , "[17]\\d{7}|[2-8]\\d{6}", , , , , , , [7, 8], [6]], [, , "(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\d{5}", , , , "2345678", , , [7], [6]], [, , "(?:1[67]|77)\\d{6}", , , , "17123456", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BT", 975, "00", , , , , , , , [[, "(\\d{3})(\\d{3})", "$1 $2", ["[2-7]"]], [, "(\\d)(\\d{3})(\\d{3})",
                    "$1 $2 $3", ["[2-68]|7[246]"]], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|7"]]], [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-68]|7[246]"]], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|7"]]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], BW: [, [, , "(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}", , , , , , , [7, 8, 10]], [, , "(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0-35-9]|55|[69]\\d|7[013]|81)|4(?:6[03]|7[1267]|9[0-5])|5(?:3[03489]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[067]))\\d{4}",
                ,
                , , "2401234", , , [7]], [, , "(?:321|7[1-8]\\d)\\d{5}", , , , "71123456", , , [8]], [, , "(?:0800|800\\d)\\d{6}", , , , "0800012345", , , [10]], [, , "90\\d{5}", , , , "9012345", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "79(?:1(?:[01]\\d|2[0-8])|2[0-7]\\d)\\d{3}", , , , "79101234", , , [8]], "BW", 267, "00", , , , , , , , [[, "(\\d{2})(\\d{5})", "$1 $2", ["90"]], [, "(\\d{3})(\\d{4})", "$1 $2", ["[24-6]|3[15-9]"]], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37]"]], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["0"]], [, "(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["8"]]],
            ,
            [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], BY: [, [, , "(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}", , , , , , , [6, 7, 8, 9, 10, 11], [5]], [, , "(?:1(?:5(?:1[1-5]|[24]\\d|6[2-4]|9[1-7])|6(?:[235]\\d|4[1-7])|7\\d\\d)|2(?:1(?:[246]\\d|3[0-35-9]|5[1-9])|2(?:[235]\\d|4[0-8])|3(?:[26]\\d|3[02-79]|4[024-7]|5[03-7])))\\d{5}", , , , "152450911", , , [9], [5, 6, 7]], [, , "(?:2(?:5[5-79]|9[1-9])|(?:33|44)\\d)\\d{6}", , , , "294911911",
                ,
                , [9]], [, , "800\\d{3,7}|8(?:0[13]|20\\d)\\d{7}", , , , "8011234567"], [, , "(?:810|902)\\d{7}", , , , "9021234567", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "249\\d{6}", , , , "249123456", , , [9]], "BY", 375, "810", "8", , , "0|80?", , "8~10", , [[, "(\\d{3})(\\d{3})", "$1 $2", ["800"], "8 $1"], [, "(\\d{3})(\\d{2})(\\d{2,4})", "$1 $2 $3", ["800"], "8 $1"], [, "(\\d{4})(\\d{2})(\\d{3})", "$1 $2-$3", ["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])", "1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"],
                    "8 0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["1(?:[56]|7[467])|2[1-3]"], "8 0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-4]"], "8 0$1"], [, "(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[89]"], "8 $1"]], , [, , , , , , , , , [-1]], , , [, , "800\\d{3,7}|(?:8(?:0[13]|10|20\\d)|902)\\d{7}"], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], BZ: [, [, , "(?:0800\\d|[2-8])\\d{6}", , , , , , , [7, 11]], [, , "(?:2(?:[02]\\d|36|[68]0)|[3-58](?:[02]\\d|[68]0)|7(?:[02]\\d|32|[68]0))\\d{4}", , , , "2221234", , , [7]], [, , "6[0-35-7]\\d{5}",
                ,
                , , "6221234", , , [7]], [, , "0800\\d{7}", , , , "08001234123", , , [11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BZ", 501, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1-$2", ["[2-8]"]], [, "(\\d)(\\d{3})(\\d{4})(\\d{3})", "$1-$2-$3-$4", ["0"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], CA: [, [, , "(?:[2-8]\\d|90)\\d{8}|3\\d{6}", , , , , , , [7, 10]], [, , "(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}",
                ,
                , , "5062345678", , , [10], [7]], [, , "(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}", , , , "5062345678", , , [10], [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456", , , [10]], [, , "900[2-9]\\d{6}", , , , "9002123456", , , [10]], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\d{6}",
                ,
                , , "5002345678", , , [10]], [, , "600[2-9]\\d{6}", , , , "6002012345", , , [10]], "CA", 1, "011", "1", , , "1", , , 1, , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "310\\d{4}", , , , "3101234", , , [7]], , , [, , , , , , , , , [-1]]], CC: [, [, , "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", , , , , , , [6, 7, 8, 9, 10, 12]], [, , "8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}", , , , "891621234", , , [9], [8]], [, , "4(?:(?:79|94)[01]|83[0-389])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[0-26-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}",
                ,
                , , "412345678", , , [9]], [, , "180(?:0\\d{3}|2)\\d{3}", , , , "1800123456", , , [7, 10]], [, , "190[0-26]\\d{6}", , , , "1900123456", , , [10]], [, , "13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", , , , "1300123456", , , [6, 8, 10, 12]], [, , , , , , , , , [-1]], [, , "14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", , , , "147101234", , , [9]], "CC", 61, "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "0", , , "([59]\\d{7})$|0", "8$1", "0011", , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], CD: [, [, , "[189]\\d{8}|[1-68]\\d{6}", , , , , ,
                ,
                [7, 9]], [, , "12\\d{7}|[1-6]\\d{6}", , , , "1234567"], [, , "88\\d{5}|(?:8[0-59]|9[017-9])\\d{7}", , , , "991234567"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CD", 243, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], [, "(\\d{2})(\\d{5})", "$1 $2", ["[1-6]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], CF: [, [, ,
                "(?:[27]\\d{3}|8776)\\d{4}", , , , , , , [8]], [, , "2[12]\\d{6}", , , , "21612345"], [, , "7[024-7]\\d{6}", , , , "70012345"], [, , , , , , , , , [-1]], [, , "8776\\d{4}", , , , "87761234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CF", 236, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[278]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], CG: [, [, , "222\\d{6}|(?:0\\d|80)\\d{7}", , , , , , , [9]], [, , "222[1-589]\\d{5}", , , , "222123456"], [, , "026(?:1[0-5]|6[6-9])\\d{4}|0(?:[14-6]\\d\\d|2(?:40|5[5-8]|6[07-9]))\\d{5}",
                ,
                , , "061234567"], [, , , , , , , , , [-1]], [, , "80[0-2]\\d{6}", , , , "800123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CG", 242, "00", , , , , , , , [[, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["8"]], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[02]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], CH: [, [, , "8\\d{11}|[2-9]\\d{8}", , , , , , , [9, 12]], [, , "(?:2[12467]|3[1-4]|4[134]|5[256]|6[12]|[7-9]1)\\d{7}", , , , "212345678", , , [9]], [, , "7[35-9]\\d{7}", , , , "781234567", , , [9]], [, , "800\\d{6}", , , , "800123456", , , [9]],
            [, , "90[016]\\d{6}", , , , "900123456", , , [9]], [, , "84[0248]\\d{6}", , , , "840123456", , , [9]], [, , "878\\d{6}", , , , "878123456", , , [9]], [, , , , , , , , , [-1]], "CH", 41, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8[047]|90"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]|81"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["8"], "0$1"]], , [, , "74[0248]\\d{6}", , , , "740123456", , , [9]], , , [, , , , , , , , , [-1]], [, , "5[18]\\d{7}", , , , "581234567", , , [9]], , , [, , "860\\d{9}", , , , "860123456789",
                ,
                , [12]]], CI: [, [, , "[02]\\d{9}", , , , , , , [10]], [, , "2(?:[15]\\d{3}|7(?:2(?:0[23]|1[2357]|2[245]|3[45]|4[3-5])|3(?:06|1[69]|[2-6]7)))\\d{5}", , , , "2123456789"], [, , "0[157]\\d{8}", , , , "0123456789"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CI", 225, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d)(\\d{5})", "$1 $2 $3 $4", ["2"]], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3 $4", ["0"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], CK: [, [, , "[2-578]\\d{4}", , , , , ,
                ,
                [5]], [, , "(?:2\\d|3[13-7]|4[1-5])\\d{3}", , , , "21234"], [, , "[578]\\d{4}", , , , "71234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CK", 682, "00", , , , , , , , [[, "(\\d{2})(\\d{3})", "$1 $2", ["[2-578]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], CL: [, [, , "12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}", , , , , , , [9, 10, 11]], [, , "2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\d\\d|3(?:[03467]\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-3])|600)|646[59])|80[1-9]\\d\\d|9(?:3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|7[1-9]\\d\\d|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}",
                ,
                , , "221234567", , , [9]], [, , "2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\d\\d|3(?:[03467]\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-3])|600)|646[59])|80[1-9]\\d\\d|9(?:3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|7[1-9]\\d\\d|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}", , , , "221234567", , , [9]], [, , "(?:123|8)00\\d{6}", , , , "800123456", , , [9, 11]], [, , , , , , , , , [-1]], [, ,
                "600\\d{7,8}", , , , "6001234567", , , [10, 11]], [, , , , , , , , , [-1]], [, , "44\\d{7}", , , , "441234567", , , [9]], "CL", 56, "(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0", , , , , , , 1, [[, "(\\d{4})", "$1", ["1(?:[03-589]|21)|[29]0|78"]], [, "(\\d{5})(\\d{4})", "$1 $2", ["219", "2196"], "($1)"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["44"]], [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2[1-36]"], "($1)"], [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["9[2-9]"]], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"],
                    "($1)"], [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["60|8"]], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], [, "(\\d{3})(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["60"]]], [[, "(\\d{5})(\\d{4})", "$1 $2", ["219", "2196"], "($1)"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["44"]], [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2[1-36]"], "($1)"], [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["9[2-9]"]], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"], "($1)"], [, "(\\d{3})(\\d{3})(\\d{3,4})",
                    "$1 $2 $3", ["60|8"]], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], [, "(\\d{3})(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["60"]]], [, , , , , , , , , [-1]], , , [, , "600\\d{7,8}", , , , , , , [10, 11]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], CM: [, [, , "[26]\\d{8}|88\\d{6,7}", , , , , , , [8, 9]], [, , "2(?:22|33)\\d{6}", , , , "222123456", , , [9]], [, , "(?:24[23]|6[25-9]\\d)\\d{6}", , , , "671234567", , , [9]], [, , "88\\d{6,7}", , , , "88012345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CM", 237, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
                    "$1 $2 $3 $4", ["88"]], [, "(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[26]|88"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], CN: [, [, , "1[127]\\d{8,9}|2\\d{9}(?:\\d{2})?|[12]\\d{6,7}|86\\d{6}|(?:1[03-689]\\d|6)\\d{7,9}|(?:[3-579]\\d|8[0-57-9])\\d{6,9}", , , , , , , [7, 8, 9, 10, 11, 12], [5, 6]], [, , "(?:10(?:[02-79]\\d\\d|[18](?:0[1-9]|[1-9]\\d))|21(?:[18](?:0[1-9]|[1-9]\\d)|[2-79]\\d\\d))\\d{5}|(?:43[35]|754)\\d{7,8}|8(?:078\\d{7}|51\\d{7,8})|(?:10|(?:2|85)1|43[35]|754)(?:100\\d\\d|95\\d{3,4})|(?:2[02-57-9]|3(?:11|7[179])|4(?:[15]1|3[12])|5(?:1\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[57]|6[09])|8(?:71|98))(?:[02-8]\\d{7}|1(?:0(?:0\\d\\d(?:\\d{3})?|[1-9]\\d{5})|[1-9]\\d{6})|9(?:[0-46-9]\\d{6}|5\\d{3}(?:\\d(?:\\d{2})?)?))|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|3[46-9]|5[2-9]|6[47-9]|7\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\d|2[248]|3[04-9]|4[3-6]|5[0-3689]|6[2368]|9[02-9])|8(?:1[236-8]|2[5-7]|3\\d|5[2-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[02-8]\\d{6}|1(?:0(?:0\\d\\d(?:\\d{2})?|[1-9]\\d{4})|[1-9]\\d{5})|9(?:[0-46-9]\\d{5}|5\\d{3,5}))",
                ,
                , , "1012345678", , , [7, 8, 9, 10, 11], [5, 6]], [, , "1740[0-5]\\d{6}|1(?:[38]\\d|4[57]|[59][0-35-9]|6[25-7]|7[0-35-8])\\d{8}", , , , "13123456789", , , [11]], [, , "(?:(?:10|21)8|8)00\\d{7}", , , , "8001234567", , , [10, 12]], [, , "16[08]\\d{5}", , , , "16812345", , , [8]], [, , "10(?:10\\d{4}|96\\d{3,4})|400\\d{7}|950\\d{7,8}|(?:2[0-57-9]|3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))96\\d{3,4}",
                ,
                , , "4001234567", , , [7, 8, 9, 10, 11], [5, 6]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CN", 86, "00|1(?:[12]\\d|79)\\d\\d00", "0", , , "(1(?:[12]\\d|79)\\d\\d)|0", , "00", , [[, "(\\d{5,6})", "$1", ["10|96"]], [, "(\\d{2})(\\d{5,6})", "$1 $2", ["(?:10|2[0-57-9])[19]", "(?:10|2[0-57-9])(?:10|9[56])", "10(?:10|9[56])|2[0-57-9](?:100|9[56])"], "0$1", "$CC $1"], [, "(\\d{3})(\\d{4})", "$1 $2", ["[1-9]", "1[1-9]|26|[3-9]|(?:10|2[0-57-9])(?:[0-8]|9[0-47-9])", "1(?:0(?:[0-8]|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[1-9])|9[0-47-9])|6)|[3-9]"]],
                [, "(\\d{4})(\\d{4})", "$1 $2", ["16[08]"]], [, "(\\d{3})(\\d{5,6})", "$1 $2", ["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]", "(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]",
                        "85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])", "85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"],
                    "0$1", "$CC $1"], [, "(\\d{4})(\\d{4})", "$1 $2", ["[1-9]", "1(?:0(?:[02-8]|1[1-9]|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[0-8]|9[0-47-9])|6)|[3-9]", "1(?:0(?:[02-8]|1[1-9]|9[0-47-9])|[1-9])|26|3(?:[0268]|4[0-8]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|5(?:0|[23][0-8])|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9])|(?:33|85[23]9)[0-46-9]|(?:2[0-57-9]|3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[0-8]|9[0-47-9])",
                        "1(?:0[02-8]|[1-9])|2(?:[0-57-9][0-8]|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|5(?:0|[23](?:[02-8]|1[1-9]|9[0-46-9]))|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9])|(?:10|2[0-57-9])9[0-47-9]|(?:101|58|85[23]10)[1-9]|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[02-8]|1(?:0[1-9]|[1-9])|9[0-47-9])"]],
                [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["(?:4|80)0"]], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|2(?:[02-57-9]|1[1-9])", "10|2(?:[02-57-9]|1[1-9])", "10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"], "0$1", "$CC $1", 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"], "0$1", "$CC $1", 1], [, "(\\d{3})(\\d{7,8})",
                    "$1 $2", ["9"]], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["80"], "0$1", "$CC $1", 1], [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[3-578]"], "0$1", "$CC $1", 1], [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"], , "$CC $1"], [, "(\\d{2})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["[12]"], "0$1", , 1]], [[, "(\\d{2})(\\d{5,6})", "$1 $2", ["(?:10|2[0-57-9])[19]", "(?:10|2[0-57-9])(?:10|9[56])", "10(?:10|9[56])|2[0-57-9](?:100|9[56])"], "0$1", "$CC $1"], [, "(\\d{3})(\\d{5,6})", "$1 $2", ["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]",
                        "(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]", "85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])",
                        "85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"], "0$1", "$CC $1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["(?:4|80)0"]], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|2(?:[02-57-9]|1[1-9])", "10|2(?:[02-57-9]|1[1-9])", "10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"],
                    "0$1", "$CC $1", 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"], "0$1", "$CC $1", 1], [, "(\\d{3})(\\d{7,8})", "$1 $2", ["9"]], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["80"], "0$1", "$CC $1", 1], [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[3-578]"], "0$1", "$CC $1", 1], [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"], , "$CC $1"],
                [, "(\\d{2})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["[12]"], "0$1", , 1]], [, , , , , , , , , [-1]], , , [, , "(?:(?:10|21)8|[48])00\\d{7}|950\\d{7,8}", , , , , , , [10, 11, 12]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], CO: [, [, , "(?:60\\d\\d|9101)\\d{6}|(?:1\\d|3)\\d{9}", , , , , , , [10, 11], [7]], [, , "601055(?:[0-4]\\d|50)\\d\\d|6010(?:[0-4]\\d|5[0-4])\\d{4}|60(?:[124-7][2-9]|8[1-9])\\d{6}", , , , "6012345678", , , [10], [7]], [, , "333301[0-5]\\d{3}|3333(?:00|2[5-9]|[3-9]\\d)\\d{4}|(?:3(?:24[1-9]|3(?:00|3[0-24-9]))|9101)\\d{6}|3(?:0[0-5]|1\\d|2[0-3]|5[01]|70)\\d{7}",
                ,
                , , "3211234567", , , [10]], [, , "1800\\d{7}", , , , "18001234567", , , [11]], [, , "19(?:0[01]|4[78])\\d{7}", , , , "19001234567", , , [11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CO", 57, "00(?:4(?:[14]4|56)|[579])", "0", , , "0([3579]|4(?:[14]4|56))?", , , , [[, "(\\d{3})(\\d{7})", "$1 $2", ["6"], "($1)", "0$CC $1"], [, "(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|91"], , "0$CC $1"], [, "(\\d)(\\d{3})(\\d{7})", "$1-$2-$3", ["1"], "0$1"]], [[, "(\\d{3})(\\d{7})", "$1 $2", ["6"], "($1)", "0$CC $1"], [, "(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|91"], ,
                    "0$CC $1"], [, "(\\d)(\\d{3})(\\d{7})", "$1 $2 $3", ["1"]]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], CR: [, [, , "(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}", , , , , , , [8, 10]], [, , "210[7-9]\\d{4}|2(?:[024-7]\\d|1[1-9])\\d{5}", , , , "22123456", , , [8]], [, , "(?:3005\\d|6500[01])\\d{3}|(?:5[07]|6[0-4]|7[0-3]|8[3-9])\\d{6}", , , , "83123456", , , [8]], [, , "800\\d{7}", , , , "8001234567", , , [10]], [, , "90[059]\\d{7}", , , , "9001234567", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:210[0-6]|4\\d{3}|5100)\\d{4}",
                ,
                , , "40001234", , , [8]], "CR", 506, "00", , , , "(19(?:0[0-2468]|1[09]|20|66|77|99))", , , , [[, "(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[3-9]"], , "$CC $1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[89]"], , "$CC $1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], CU: [, [, , "[27]\\d{6,7}|[34]\\d{5,7}|63\\d{6}|(?:5|8\\d\\d)\\d{7}", , , , , , , [6, 7, 8, 10], [4, 5]], [, , "(?:3[23]|4[89])\\d{4,6}|(?:31|4[36]|8(?:0[25]|78)\\d)\\d{6}|(?:2[1-4]|4[1257]|7\\d)\\d{5,6}", , , , "71234567", , , , [4, 5]], [, , "(?:5\\d|63)\\d{6}",
                ,
                , , "51234567", , , [8]], [, , "800\\d{7}", , , , "8001234567", , , [10]], [, , , , , , , , , [-1]], [, , "807\\d{7}", , , , "8071234567", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CU", 53, "119", "0", , , "0", , , , [[, "(\\d{2})(\\d{4,6})", "$1 $2", ["2[1-4]|[34]"], "(0$1)"], [, "(\\d)(\\d{6,7})", "$1 $2", ["7"], "(0$1)"], [, "(\\d)(\\d{7})", "$1 $2", ["[56]"], "0$1"], [, "(\\d{3})(\\d{7})", "$1 $2", ["8"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], CV: [, [, , "(?:[2-59]\\d\\d|800)\\d{4}", , , , , , , [7]], [, , "2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\d|7[1-3]|8[1-5])\\d{4}",
                ,
                , , "2211234"], [, , "(?:36|5[1-389]|9\\d)\\d{5}", , , , "9911234"], [, , "800\\d{4}", , , , "8001234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:3[3-5]|4[356])\\d{5}", , , , "3401234"], "CV", 238, "0", , , , , , , , [[, "(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-589]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], CW: [, [, , "(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}", , , , , , , [7, 8]], [, , "9(?:4(?:3[0-5]|4[14]|6\\d)|50\\d|7(?:2[014]|3[02-9]|4[4-9]|6[357]|77|8[7-9])|8(?:3[39]|[46]\\d|7[01]|8[57-9]))\\d{4}",
                ,
                , , "94351234"], [, , "953[01]\\d{4}|9(?:5[12467]|6[5-9])\\d{5}", , , , "95181234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "60[0-2]\\d{4}", , , , "6001234", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CW", 599, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[3467]"]], [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["9[4-8]"]]], , [, , "955\\d{5}", , , , "95581234", , , [8]], 1, "[69]", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], CX: [, [, , "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", , , , , , , [6, 7, 8, 9, 10, 12]], [, , "8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}",
                ,
                , , "891641234", , , [9], [8]], [, , "4(?:(?:79|94)[01]|83[0-389])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[0-26-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}", , , , "412345678", , , [9]], [, , "180(?:0\\d{3}|2)\\d{3}", , , , "1800123456", , , [7, 10]], [, , "190[0-26]\\d{6}", , , , "1900123456", , , [10]], [, , "13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", , , , "1300123456", , , [6, 8, 10, 12]], [, , , , , , , , , [-1]], [, , "14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", , , , "147101234", , , [9]], "CX", 61, "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "0", , ,
            "([59]\\d{7})$|0", "8$1", "0011", , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], CY: [, [, , "(?:[279]\\d|[58]0)\\d{6}", , , , , , , [8]], [, , "2[2-6]\\d{6}", , , , "22345678"], [, , "9(?:10|[4-79]\\d)\\d{5}", , , , "96123456"], [, , "800\\d{5}", , , , "80001234"], [, , "90[09]\\d{5}", , , , "90012345"], [, , "80[1-9]\\d{5}", , , , "80112345"], [, , "700\\d{5}", , , , "70012345"], [, , , , , , , , , [-1]], "CY", 357, "00", , , , , , , , [[, "(\\d{2})(\\d{6})", "$1 $2", ["[257-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "(?:50|77)\\d{6}", , , , "77123456"],
            ,
            , [, , , , , , , , , [-1]]], CZ: [, [, , "(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}", , , , , , , [9, 10, 11, 12]], [, , "(?:2\\d|3[1257-9]|4[16-9]|5[13-9])\\d{7}", , , , "212345678", , , [9]], [, , "(?:60[1-8]|7(?:0[2-5]|[2379]\\d))\\d{6}", , , , "601123456", , , [9]], [, , "800\\d{6}", , , , "800123456", , , [9]], [, , "9(?:0[05689]|76)\\d{6}", , , , "900123456", , , [9]], [, , "8[134]\\d{7}", , , , "811234567", , , [9]], [, , "70[01]\\d{6}", , , , "700123456", , , [9]], [, , "9[17]0\\d{6}", , , , "910123456", , , [9]], "CZ", 420, "00", , , , , , , , [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]|9[015-7]"]],
                [, "(\\d{2})(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["96"]], [, "(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]], [, "(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "9(?:5\\d|7[2-4])\\d{6}", , , , "972123456", , , [9]], , , [, , "9(?:3\\d{9}|6\\d{7,10})", , , , "93123456789"]], DE: [, [, , "[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}",
                ,
                , , , , , [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [2, 3]], [, , "32\\d{9,11}|49[1-6]\\d{10}|322\\d{6}|49[0-7]\\d{3,9}|(?:[34]0|[68]9)\\d{3,13}|(?:2(?:0[1-689]|[1-3569]\\d|4[0-8]|7[1-7]|8[0-7])|3(?:[3569]\\d|4[0-79]|7[1-7]|8[1-8])|4(?:1[02-9]|[2-48]\\d|5[0-6]|6[0-8]|7[0-79])|5(?:0[2-8]|[124-6]\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-358]\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|2\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\d|[589][0-7]|6[0-8]|7[0-467]))\\d{3,12}",
                ,
                , , "30123456", , , [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [2, 3, 4]], [, , "15[0-25-9]\\d{8}|1(?:6[023]|7\\d)\\d{7,8}", , , , "15123456789", , , [10, 11]], [, , "800\\d{7,12}", , , , "8001234567890", , , [10, 11, 12, 13, 14, 15]], [, , "(?:137[7-9]|900(?:[135]|9\\d))\\d{6}", , , , "9001234567", , , [10, 11]], [, , "180\\d{5,11}|13(?:7[1-6]\\d\\d|8)\\d{4}", , , , "18012345", , , [7, 8, 9, 10, 11, 12, 13, 14]], [, , "700\\d{8}", , , , "70012345678", , , [11]], [, , , , , , , , , [-1]], "DE", 49, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{3,13})", "$1 $2", ["3[02]|40|[68]9"], "0$1"], [, "(\\d{3})(\\d{3,12})",
                    "$1 $2", ["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1", "2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"], "0$1"], [, "(\\d{4})(\\d{2,11})", "$1 $2", ["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]", "[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"],
                    "0$1"], [, "(\\d{3})(\\d{4})", "$1 $2", ["138"], "0$1"], [, "(\\d{5})(\\d{2,10})", "$1 $2", ["3"], "0$1"], [, "(\\d{3})(\\d{5,11})", "$1 $2", ["181"], "0$1"], [, "(\\d{3})(\\d)(\\d{4,10})", "$1 $2 $3", ["1(?:3|80)|9"], "0$1"], [, "(\\d{3})(\\d{7,8})", "$1 $2", ["1[67]"], "0$1"], [, "(\\d{3})(\\d{7,12})", "$1 $2", ["8"], "0$1"], [, "(\\d{5})(\\d{6})", "$1 $2", ["185", "1850", "18500"], "0$1"], [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], [, "(\\d{4})(\\d{7})", "$1 $2", ["18[68]"], "0$1"], [, "(\\d{5})(\\d{6})", "$1 $2", ["15[0568]"], "0$1"],
                [, "(\\d{4})(\\d{7})", "$1 $2", ["15[1279]"], "0$1"], [, "(\\d{3})(\\d{8})", "$1 $2", ["18"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{7,8})", "$1 $2 $3", ["1(?:6[023]|7)"], "0$1"], [, "(\\d{4})(\\d{2})(\\d{7})", "$1 $2 $3", ["15[279]"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{8})", "$1 $2 $3", ["15"], "0$1"]], , [, , "16(?:4\\d{1,10}|[89]\\d{1,11})", , , , "16412345", , , [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]], , , [, , , , , , , , , [-1]], [, , "18(?:1\\d{5,11}|[2-9]\\d{8})", , , , "18500123456", , , [8, 9, 10, 11, 12, 13, 14]], , , [, , "1(?:6(?:013|255|399)|7(?:(?:[015]1|[69]3)3|[2-4]55|[78]99))\\d{7,8}|15(?:(?:[03-68]00|113)\\d|2\\d55|7\\d99|9\\d33)\\d{7}",
                ,
                , , "177991234567", , , [12, 13]]], DJ: [, [, , "(?:2\\d|77)\\d{6}", , , , , , , [8]], [, , "2(?:1[2-5]|7[45])\\d{5}", , , , "21360003"], [, , "77\\d{6}", , , , "77831001"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "DJ", 253, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[27]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], DK: [, [, , "[2-9]\\d{7}", , , , , , , [8]], [, , "(?:[2-7]\\d|8[126-9]|9[1-46-9])\\d{6}", , , , "32123456"], [, , "(?:[2-7]\\d|8[126-9]|9[1-46-9])\\d{6}",
                ,
                , , "32123456"], [, , "80\\d{6}", , , , "80123456"], [, , "90\\d{6}", , , , "90123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "DK", 45, "00", , , , , , , 1, [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], DM: [, [, , "(?:[58]\\d\\d|767|900)\\d{7}", , , , , , , [10], [7]], [, , "767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}", , , , "7674201234", , , , [7]], [, , "767(?:2(?:[2-4689]5|7[5-7])|31[5-7]|61[1-8]|70[1-6])\\d{4}", , , , "7672251234", , , , [7]],
            [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "DM", 1, "011", "1", , , "([2-7]\\d{6})$|1", "767$1", , , , , [, , , , , , , , , [-1]], , "767", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
        DO: [, [, , "(?:[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "8(?:[04]9[2-9]\\d\\d|29(?:2(?:[0-59]\\d|6[04-9]|7[0-27]|8[0237-9])|3(?:[0-35-9]\\d|4[7-9])|[45]\\d\\d|6(?:[0-27-9]\\d|[3-5][1-9]|6[0135-8])|7(?:0[013-9]|[1-37]\\d|4[1-35689]|5[1-4689]|6[1-57-9]|8[1-79]|9[1-8])|8(?:0[146-9]|1[0-48]|[248]\\d|3[1-79]|5[01589]|6[013-68]|7[124-8]|9[0-8])|9(?:[0-24]\\d|3[02-46-9]|5[0-79]|60|7[0169]|8[57-9]|9[02-9])))\\d{4}", , , , "8092345678", , , , [7]], [, , "8[024]9[2-9]\\d{6}", , , , "8092345678", , , , [7]], [, , "8(?:00(?:14|[2-9]\\d)|(?:33|44|55|66|77|88)[2-9]\\d)\\d{5}",
                ,
                , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "DO", 1, "011", "1", , , "1", , , , , , [, , , , , , , , , [-1]], , "8001|8[024]9", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], DZ: [, [, , "(?:[1-4]|[5-79]\\d|80)\\d{7}", , , , , , , [8, 9]],
            [, , "9619\\d{5}|(?:1\\d|2[013-79]|3[0-8]|4[013-689])\\d{6}", , , , "12345678"], [, , "(?:5(?:4[0-29]|5\\d|6[0-2])|6(?:[569]\\d|7[0-6])|7[7-9]\\d)\\d{6}", , , , "551234567", , , [9]], [, , "800\\d{6}", , , , "800123456", , , [9]], [, , "80[3-689]1\\d{5}", , , , "808123456", , , [9]], [, , "80[12]1\\d{5}", , , , "801123456", , , [9]], [, , , , , , , , , [-1]], [, , "98[23]\\d{6}", , , , "983123456", , , [9]], "DZ", 213, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-4]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["9"], "0$1"],
                [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-8]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], EC: [, [, , "1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}", , , , , , , [8, 9, 10, 11], [7]], [, , "[2-7][2-7]\\d{6}", , , , "22123456", , , [8], [7]], [, , "964[0-2]\\d{5}|9(?:39|[57][89]|6[0-36-9]|[89]\\d)\\d{6}", , , , "991234567", , , [9]], [, , "1800\\d{7}|1[78]00\\d{6}", , , , "18001234567", , , [10, 11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "[2-7]890\\d{4}", , , , "28901234", , , [8]], "EC", 593, "00", "0", , ,
            "0", , , , [[, "(\\d{3})(\\d{4})", "$1-$2", ["[2-7]"]], [, "(\\d)(\\d{3})(\\d{4})", "$1 $2-$3", ["[2-7]"], "(0$1)"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1"]]], [[, "(\\d)(\\d{3})(\\d{4})", "$1-$2-$3", ["[2-7]"]], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1"]]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], EE: [, [, , "8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}", , , , , , , [7, 8, 10]], [, , "(?:3[23589]|4[3-8]|6\\d|7[1-9]|88)\\d{5}",
                ,
                , , "3212345", , , [7]], [, , "(?:5\\d{5}|8(?:1(?:0(?:0(?:00|[178]\\d)|[3-9]\\d\\d)|(?:1(?:0[236]|1\\d)|(?:2[0-59]|[3-79]\\d)\\d)\\d)|2(?:0(?:000|(?:19|[2-7]\\d)\\d)|(?:(?:[124-6]\\d|3[5-9])\\d|7(?:[0-79]\\d|8[13-9])|8(?:[2-6]\\d|7[01]))\\d)|[349]\\d{4}))\\d\\d|5(?:(?:[02]\\d|5[0-478])\\d|1(?:[0-8]\\d|95)|6(?:4[0-4]|5[1-589]))\\d{3}", , , , "51234567", , , [7, 8]], [, , "800(?:(?:0\\d\\d|1)\\d|[2-9])\\d{3}", , , , "80012345"], [, , "(?:40\\d\\d|900)\\d{4}", , , , "9001234", , , [7, 8]], [, , , , , , , , , [-1]], [, , "70[0-2]\\d{5}", , , , "70012345",
                ,
                , [8]], [, , , , , , , , , [-1]], "EE", 372, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88", "[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88"]], [, "(\\d{4})(\\d{3,4})", "$1 $2", ["[45]|8(?:00|[1-49])", "[45]|8(?:00[1-9]|[1-49])"]], [, "(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["7"]], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]], , [, , , , , , , , , [-1]], , , [, , "800[2-9]\\d{3}", , , , , , , [7]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], EG: [, [, , "[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}",
                ,
                , , , , , [8, 9, 10], [6, 7]], [, , "13[23]\\d{6}|(?:15|57)\\d{6,7}|(?:2[2-4]|3|4[05-8]|5[05]|6[24-689]|8[2468]|9[235-7])\\d{7}", , , , "234567890", , , [8, 9], [6, 7]], [, , "1[0-25]\\d{8}", , , , "1001234567", , , [10]], [, , "800\\d{7}", , , , "8001234567", , , [10]], [, , "900\\d{7}", , , , "9001234567", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "EG", 20, "00", "0", , , "0", , , , [[, "(\\d)(\\d{7,8})", "$1 $2", ["[23]"], "0$1"], [, "(\\d{2})(\\d{6,7})", "$1 $2", ["1[35]|[4-6]|8[2468]|9[235-7]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"],
                    "0$1"], [, "(\\d{2})(\\d{8})", "$1 $2", ["1"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], EH: [, [, , "[5-8]\\d{8}", , , , , , , [9]], [, , "528[89]\\d{5}", , , , "528812345"], [, , "(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-2]|5[01]|8[0-3]))\\d{6}", , , , "650123456"], [, , "80[0-7]\\d{6}", , , , "801234567"], [, , "89\\d{7}", , , , "891234567"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}", , , , "592401234"], "EH", 212, "00", "0", , , "0", , , , , , [, , , , , , , , , [-1]], , "528[89]", [, , , , , ,
                ,
                , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], ER: [, [, , "[178]\\d{6}", , , , , , , [7], [6]], [, , "(?:1(?:1[12568]|[24]0|55|6[146])|8\\d\\d)\\d{4}", , , , "8370362", , , , [6]], [, , "(?:17[1-3]|7\\d\\d)\\d{4}", , , , "7123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "ER", 291, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[178]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], ES: [, [, , "[5-9]\\d{8}", , , , , , , [9]], [, , "96906(?:0[0-8]|1[1-9]|[2-9]\\d)\\d\\d|9(?:69(?:0[0-57-9]|[1-9]\\d)|73(?:[0-8]\\d|9[1-9]))\\d{4}|(?:8(?:[1356]\\d|[28][0-8]|[47][1-9])|9(?:[135]\\d|[268][0-8]|4[1-9]|7[124-9]))\\d{6}",
                ,
                , , "810123456"], [, , "(?:590[16]00\\d|9(?:6906(?:09|10)|7390\\d\\d))\\d\\d|(?:6\\d|7[1-48])\\d{7}", , , , "612345678"], [, , "[89]00\\d{6}", , , , "800123456"], [, , "80[367]\\d{6}", , , , "803123456"], [, , "90[12]\\d{6}", , , , "901123456"], [, , "70\\d{7}", , , , "701234567"], [, , , , , , , , , [-1]], "ES", 34, "00", , , , , , , , [[, "(\\d{4})", "$1", ["905"]], [, "(\\d{6})", "$1", ["[79]9"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-9]"]]], [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]],
                [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-9]"]]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "51\\d{7}", , , , "511234567"], , , [, , , , , , , , , [-1]]], ET: [, [, , "(?:11|[2-579]\\d)\\d{7}", , , , , , , [9], [7]], [, , "11667[01]\\d{3}|(?:11(?:1(?:1[124]|2[2-7]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8])|5(?:1[578]|44|5[0-4])|6(?:1[578]|2[69]|39|4[5-7]|5[0-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|(?:22|55)[0-6]|33[0134689]|44[04]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:119|22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:(?:11|22)[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}",
                ,
                , , "111112345", , , , [7]], [, , "700[1-9]\\d{5}|(?:7(?:0[1-9]|1[0-8]|22|77|86|99)|9\\d\\d)\\d{6}", , , , "911234567"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "ET", 251, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-579]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], FI: [, [, , "[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}", , , , , , , [5, 6, 7, 8, 9, 10, 11, 12]], [, , "(?:1[3-79][1-8]|[235689][1-8]\\d)\\d{2,6}",
                ,
                , , "131234567", , , [5, 6, 7, 8, 9]], [, , "4946\\d{2,6}|(?:4[0-8]|50)\\d{4,8}", , , , "412345678", , , [6, 7, 8, 9, 10]], [, , "800\\d{4,6}", , , , "800123456", , , [7, 8, 9]], [, , "[67]00\\d{5,6}", , , , "600123456", , , [8, 9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "FI", 358, "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "0", , , "0", , "00", , [[, "(\\d{5})", "$1", ["75[12]"], "0$1"], [, "(\\d)(\\d{4,9})", "$1 $2", ["[2568][1-8]|3(?:0[1-9]|[1-9])|9"], "0$1"], [, "(\\d{6})", "$1", ["11"]], [, "(\\d{3})(\\d{3,7})", "$1 $2", ["[12]00|[368]|70[07-9]"],
                    "0$1"], [, "(\\d{2})(\\d{4,8})", "$1 $2", ["[1245]|7[135]"], "0$1"], [, "(\\d{2})(\\d{6,10})", "$1 $2", ["7"], "0$1"]], [[, "(\\d)(\\d{4,9})", "$1 $2", ["[2568][1-8]|3(?:0[1-9]|[1-9])|9"], "0$1"], [, "(\\d{3})(\\d{3,7})", "$1 $2", ["[12]00|[368]|70[07-9]"], "0$1"], [, "(\\d{2})(\\d{4,8})", "$1 $2", ["[1245]|7[135]"], "0$1"], [, "(\\d{2})(\\d{6,10})", "$1 $2", ["7"], "0$1"]], [, , , , , , , , , [-1]], 1, "1[03-79]|[2-9]", [, , "20(?:2[023]|9[89])\\d{1,6}|(?:60[12]\\d|7099)\\d{4,5}|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:[1-3]00|7(?:0[1-5]\\d\\d|5[03-9]))\\d{3,7}"],
            [, , "20\\d{4,8}|60[12]\\d{5,6}|7(?:099\\d{4,5}|5[03-9]\\d{3,7})|20[2-59]\\d\\d|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:10|29|3[09]|70[1-5]\\d)\\d{4,8}", , , , "10112345"], , , [, , , , , , , , , [-1]]], FJ: [, [, , "45\\d{5}|(?:0800\\d|[235-9])\\d{6}", , , , , , , [7, 11]], [, , "603\\d{4}|(?:3[0-5]|6[25-7]|8[58])\\d{5}", , , , "3212345", , , [7]], [, , "(?:[279]\\d|45|5[01568]|8[034679])\\d{5}", , , , "7012345", , , [7]], [, , "0800\\d{7}", , , , "08001234567", , , [11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "FJ", 679, "0(?:0|52)", , , , ,
            ,
            "00", , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[235-9]|45"]], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], FK: [, [, , "[2-7]\\d{4}", , , , , , , [5]], [, , "[2-47]\\d{4}", , , , "31234"], [, , "[56]\\d{4}", , , , "51234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "FK", 500, "00", , , , , , , , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], FM: [, [, , "(?:[39]\\d\\d|820)\\d{4}", , , , , , , [7]], [, , "31(?:00[67]|208|309)\\d\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-6]\\d)\\d)\\d{3}",
                ,
                , , "3201234"], [, , "31(?:00[67]|208|309)\\d\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-7]\\d)\\d)\\d{3}", , , , "3501234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "FM", 691, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[389]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], FO: [, [, , "[2-9]\\d{5}", , , , , , , [6]], [, , "(?:20|[34]\\d|8[19])\\d{4}", , , , "201234"], [, , "(?:[27][1-9]|5\\d|9[16])\\d{4}", , , , "211234"], [, , "80[257-9]\\d{3}", , , , "802123"], [, , "90(?:[13-5][15-7]|2[125-7]|9\\d)\\d\\d",
                ,
                , , "901123"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:6[0-36]|88)\\d{4}", , , , "601234"], "FO", 298, "00", , , , "(10(?:01|[12]0|88))", , , , [[, "(\\d{6})", "$1", ["[2-9]"], , "$CC $1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], FR: [, [, , "[1-9]\\d{8}", , , , , , , [9]], [, , "59[1-9]\\d{6}|(?:[1-3]\\d|4[1-9]|5[0-8])\\d{7}", , , , "123456789"], [, , "(?:6(?:[0-24-8]\\d|3[0-8]|9[589])|7[3-9]\\d)\\d{6}", , , , "612345678"], [, , "80[0-5]\\d{6}", , , , "801234567"], [, , "836(?:0[0-36-9]|[1-9]\\d)\\d{4}|8(?:1[2-9]|2[2-47-9]|3[0-57-9]|[569]\\d|8[0-35-9])\\d{6}",
                ,
                , , "891123456"], [, , "8(?:1[01]|2[0156]|4[02]|84)\\d{6}", , , , "884012345"], [, , , , , , , , , [-1]], [, , "9\\d{8}", , , , "912345678"], "FR", 33, "00", "0", , , "0", , , , [[, "(\\d{4})", "$1", ["10"]], [, "(\\d{3})(\\d{3})", "$1 $2", ["1"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0 $1"], [, "(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[1-79]"], "0$1"]], [[, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0 $1"], [, "(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[1-79]"], "0$1"]], [, , , , , , , ,
                ,
                [-1]], , , [, , , , , , , , , [-1]], [, , "80[6-9]\\d{6}", , , , "806123456"], , , [, , , , , , , , , [-1]]], GA: [, [, , "(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}", , , , , , , [7, 8]], [, , "[01]1\\d{6}", , , , "01441234", , , [8]], [, , "(?:(?:0[2-7]|7[467])\\d|6(?:0[0-4]|10|[256]\\d))\\d{5}|[2-7]\\d{6}", , , , "06031234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "GA", 241, "00", , , , "0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})", "$1", , , [[, "(\\d)(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-7]"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
                    "$1 $2 $3 $4", ["0"]], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["11|[67]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], GB: [, [, , "[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}", , , , , , , [7, 9, 10], [4, 5, 6, 8]], [, , "(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0235])|4(?:[0-5]\\d\\d|69[7-9]|70[0-79])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|50))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-2]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}",
                ,
                , , "1212345678", , , [9, 10], [4, 5, 6, 7, 8]], [, , "7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}", , , , "7400123456", , , [10]], [, , "80[08]\\d{7}|800\\d{6}|8001111", , , , "8001234567"], [, , "(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d", , , , "9012345678", , , [7, 10]], [, , , , , , , , , [-1]], [, , "70\\d{8}", , , , "7012345678", , , [10]], [, , "56\\d{8}", , , , "5612345678",
                ,
                , [10]], "GB", 44, "00", "0", " x", , "0", , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["800", "8001", "80011", "800111", "8001111"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["845", "8454", "84546", "845464"], "0$1"], [, "(\\d{3})(\\d{6})", "$1 $2", ["800"], "0$1"], [, "(\\d{5})(\\d{4,5})", "$1 $2", ["1(?:38|5[23]|69|76|94)", "1(?:(?:38|69)7|5(?:24|39)|768|946)", "1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"], "0$1"], [, "(\\d{4})(\\d{5,6})", "$1 $2", ["1(?:[2-69][02-9]|[78])"], "0$1"], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[25]|7(?:0|6[02-9])",
                        "[25]|7(?:0|6(?:[03-9]|2[356]))"], "0$1"], [, "(\\d{4})(\\d{6})", "$1 $2", ["7"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1389]"], "0$1"]], , [, , "76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", , , , "7640123456", , , [10]], 1, , [, , , , , , , , , [-1]], [, , "(?:3[0347]|55)\\d{8}", , , , "5512345678", , , [10]], , , [, , , , , , , , , [-1]]], GD: [, [, , "(?:473|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-49]|5[5-79]|73|90)|63[68]|7(?:58|84)|800|938)\\d{4}",
                ,
                , , "4732691234", , , , [7]], [, , "473(?:4(?:0[2-79]|1[04-9]|2[0-5]|58)|5(?:2[01]|3[3-8])|901)\\d{4}", , , , "4734031234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]],
            "GD", 1, "011", "1", , , "([2-9]\\d{6})$|1", "473$1", , , , , [, , , , , , , , , [-1]], , "473", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], GE: [, [, , "(?:[3-57]\\d\\d|800)\\d{6}", , , , , , , [9], [6, 7]], [, , "(?:3(?:[256]\\d|4[124-9]|7[0-4])|4(?:1\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\d{6}", , , , "322123456", , , , [6, 7]], [, , "5(?:(?:(?:0555|1(?:[17]77|555))[5-9]|757(?:7[7-9]|8[01]))\\d|22252[0-4])\\d\\d|(?:5(?:00(?:0\\d|11|22|33|44|5[05]|77|88|99)|1(?:1(?:00|[124]\\d|3[01])|4\\d\\d)|(?:44|68)\\d\\d|5(?:[0157-9]\\d\\d|200)|7(?:[0147-9]\\d\\d|5(?:00|[57]5))|8(?:0(?:[018]\\d|2[0-4])|58[89]|8(?:55|88))|9(?:090|[1-35-9]\\d\\d))|790\\d\\d)\\d{4}|5(?:0(?:070|505)|1(?:0[01]0|1(?:07|33|51))|2(?:0[02]0|2[25]2)|3(?:0[03]0|3[35]3)|(?:40[04]|900)0|5222)[0-4]\\d{3}",
                ,
                , , "555123456"], [, , "800\\d{6}", , , , "800123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "70[67]\\d{6}", , , , "706123456"], "GE", 995, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["32"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[57]"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[348]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , "70[67]\\d{6}"], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], GF: [, [, , "[56]94\\d{6}|(?:80|9\\d)\\d{7}",
                ,
                , , , , , [9]], [, , "594(?:[02-49]\\d|1[0-4]|5[6-9]|6[0-3]|80)\\d{4}", , , , "594101234"], [, , "694(?:[0-249]\\d|3[0-8])\\d{4}", , , , "694201234"], [, , "80[0-5]\\d{6}", , , , "800012345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "9(?:(?:396|76\\d)\\d|476[0-5])\\d{4}", , , , "976012345"], "GF", 594, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[56]|9[47]"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[89]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , ,
                ,
                , , , [-1]]], GG: [, [, , "(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?", , , , , , , [7, 9, 10], [6]], [, , "1481[25-9]\\d{5}", , , , "1481256789", , , [10], [6]], [, , "7(?:(?:781|839)\\d|911[17])\\d{5}", , , , "7781123456", , , [10]], [, , "80[08]\\d{7}|800\\d{6}|8001111", , , , "8001234567"], [, , "(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d", , , , "9012345678", , , [7, 10]], [, , , , , , , , , [-1]], [, , "70\\d{8}", , , , "7012345678", , , [10]], [, , "56\\d{8}", , , , "5612345678", , , [10]], "GG", 44, "00", "0", , , "([25-9]\\d{5})$|0", "1481$1", , , , , [, , "76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",
                ,
                , , "7640123456", , , [10]], , , [, , , , , , , , , [-1]], [, , "(?:3[0347]|55)\\d{8}", , , , "5512345678", , , [10]], , , [, , , , , , , , , [-1]]], GH: [, [, , "(?:[235]\\d{3}|800)\\d{5}", , , , , , , [8, 9], [7]], [, , "3082[0-5]\\d{4}|3(?:0(?:[237]\\d|8[01])|[167](?:2[0-6]|7\\d|80)|2(?:2[0-5]|7\\d|80)|3(?:2[0-3]|7\\d|80)|4(?:2[013-9]|3[01]|7\\d|80)|5(?:2[0-7]|7\\d|80)|8(?:2[0-2]|7\\d|80)|9(?:[28]0|7\\d))\\d{5}", , , , "302345678", , , [9], [7]], [, , "(?:2(?:[0346-9]\\d|5[67])|5(?:[03-7]\\d|9[1-9]))\\d{6}", , , , "231234567", , , [9]], [, , "800\\d{5}", , , , "80012345",
                ,
                , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "GH", 233, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[237]|8[0-2]"]], [, "(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[235]"], "0$1"]], [[, "(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[235]"], "0$1"]], [, , , , , , , , , [-1]], , , [, , "800\\d{5}", , , , , , , [8]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], GI: [, [, , "(?:[25]\\d|60)\\d{6}", , , , , , , [8]], [, , "2190[0-2]\\d{3}|2(?:0(?:[02]\\d|3[01])|16[24-9]|2[2-5]\\d)\\d{4}",
                ,
                , , "20012345"], [, , "5251[0-4]\\d{3}|(?:5(?:[146-8]\\d\\d|250)|60(?:1[01]|6\\d))\\d{4}", , , , "57123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "GI", 350, "00", , , , , , , , [[, "(\\d{3})(\\d{5})", "$1 $2", ["2"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], GL: [, [, , "(?:19|[2-689]\\d|70)\\d{4}", , , , , , , [6]], [, , "(?:19|3[1-7]|[68][1-9]|70|9\\d)\\d{4}", , , , "321000"], [, , "[245]\\d{5}", , , , "221234"], [, , "80\\d{4}", , , , "801234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]],
            [, , , , , , , , , [-1]], [, , "3[89]\\d{4}", , , , "381234"], "GL", 299, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["19|[2-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], GM: [, [, , "[2-9]\\d{6}", , , , , , , [7]], [, , "(?:4(?:[23]\\d\\d|4(?:1[024679]|[6-9]\\d))|5(?:5(?:3\\d|4[0-7])|6[67]\\d|7(?:1[04]|2[035]|3[58]|48))|8\\d{3})\\d{3}", , , , "5661234"], [, , "(?:[23679]\\d|5[0-489])\\d{5}", , , , "3012345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "GM", 220, "00",
            ,
            , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], GN: [, [, , "722\\d{6}|(?:3|6\\d)\\d{7}", , , , , , , [8, 9]], [, , "3(?:0(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])|1\\d\\d)\\d{4}", , , , "30241234", , , [8]], [, , "6[0-356]\\d{7}", , , , "601123456", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "722\\d{6}", , , , "722123456", , , [9]], "GN", 224, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["3"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
                    "$1 $2 $3 $4", ["[67]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], GP: [, [, , "590\\d{6}|(?:69|80|9\\d)\\d{7}", , , , , , , [9]], [, , "590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)\\d{4}", , , , "590201234"], [, , "69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))\\d{4}", , , , "690001234"], [, , "80[0-5]\\d{6}", , , , "800012345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "9(?:(?:395|76[018])\\d|475[0-5])\\d{4}", , , , "976012345"], "GP", 590, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
                    "$1 $2 $3 $4", ["[569]"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], , [, , , , , , , , , [-1]], 1, , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], GQ: [, [, , "222\\d{6}|(?:3\\d|55|[89]0)\\d{7}", , , , , , , [9]], [, , "33[0-24-9]\\d[46]\\d{4}|3(?:33|5\\d)\\d[7-9]\\d{4}", , , , "333091234"], [, , "(?:222|55\\d)\\d{6}", , , , "222123456"], [, , "80\\d[1-9]\\d{5}", , , , "800123456"], [, , "90\\d[1-9]\\d{5}", , , , "900123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "GQ", 240, "00", , , , , , , , [[, "(\\d{3})(\\d{3})(\\d{3})",
                    "$1 $2 $3", ["[235]"]], [, "(\\d{3})(\\d{6})", "$1 $2", ["[89]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], GR: [, [, , "5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}", , , , , , , [10, 11, 12]], [, , "2(?:1\\d\\d|2(?:2[1-46-9]|[36][1-8]|4[1-7]|5[1-4]|7[1-5]|[89][1-9])|3(?:1\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\d|[269][1-6]|3[1245]|4[1-7]|5[13-9]|7[14]|8[1-5])|7(?:1\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\d|2[1-5]|[34][1-4]|9[1-57]))\\d{6}",
                ,
                , , "2123456789", , , [10]], [, , "68[57-9]\\d{7}|(?:69|94)\\d{8}", , , , "6912345678", , , [10]], [, , "800\\d{7,9}", , , , "8001234567"], [, , "90[19]\\d{7}", , , , "9091234567", , , [10]], [, , "8(?:0[16]|12|[27]5|50)\\d{7}", , , , "8011234567", , , [10]], [, , "70\\d{8}", , , , "7012345678", , , [10]], [, , , , , , , , , [-1]], "GR", 30, "00", , , , , , , , [[, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["21|7"]], [, "(\\d{4})(\\d{6})", "$1 $2", ["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2689]"]], [, "(\\d{3})(\\d{3,4})(\\d{5})",
                    "$1 $2 $3", ["8"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "5005000\\d{3}", , , , "5005000123", , , [10]], , , [, , , , , , , , , [-1]]], GT: [, [, , "80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}", , , , , , , [8, 11]], [, , "[267][2-9]\\d{6}", , , , "22456789", , , [8]], [, , "(?:[3-5]\\d\\d|80[0-4])\\d{5}", , , , "51234567", , , [8]], [, , "18[01]\\d{8}", , , , "18001112222", , , [11]], [, , "19\\d{9}", , , , "19001112222", , , [11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "GT", 502, "00", , , , , , , , [[, "(\\d{4})(\\d{4})", "$1 $2", ["[2-8]"]], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3",
                    ["1"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], GU: [, [, , "(?:[58]\\d\\d|671|900)\\d{7}", , , , , , , [10], [7]], [, , "671(?:2\\d\\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-46-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}", , , , "6713001234", , , , [7]], [, , "671(?:2\\d\\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-46-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}",
                ,
                , , "6713001234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "GU", 1, "011", "1", , , "([2-9]\\d{6})$|1", "671$1", , 1, , , [, , , , , , , , , [-1]], , "671", [, , , , , , , , , [-1]], [, , , ,
                ,
                , , , , [-1]], , , [, , , , , , , , , [-1]]], GW: [, [, , "[49]\\d{8}|4\\d{6}", , , , , , , [7, 9]], [, , "443\\d{6}", , , , "443201234", , , [9]], [, , "9(?:5\\d|6[569]|77)\\d{6}", , , , "955012345", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "40\\d{5}", , , , "4012345", , , [7]], "GW", 245, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["40"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], GY: [, [, , "(?:[2-8]\\d{3}|9008)\\d{3}", , , , , , , [7]], [, , "(?:2(?:1[6-9]|2[0-35-9]|3[1-4]|5[3-9]|6\\d|7[0-79])|3(?:2[25-9]|3\\d)|4(?:4[0-24]|5[56])|50[0-6]|77[1-57])\\d{4}",
                ,
                , , "2201234"], [, , "(?:510|6\\d\\d|7(?:0\\d|1[0-8]|25|49))\\d{4}", , , , "6091234"], [, , "(?:289|8(?:00|6[28]|88|99))\\d{4}", , , , "2891234"], [, , "9008\\d{3}", , , , "9008123"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "515\\d{4}", , , , "5151234"], "GY", 592, "001", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], HK: [, [, , "8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}", , , , , , , [5, 6, 7, 8, 9, 11]], [, , "(?:2(?:[13-9]\\d|2[013-9])\\d|3(?:(?:[1569][0-24-9]|4[0-246-9]|7[0-24-69])\\d|8(?:4[0-8]|[59]\\d|6[01]))|58(?:0[1-9]|1[2-9]))\\d{4}",
                ,
                , , "21234567", , , [8]], [, , "(?:4(?:44[5-9]|6(?:1[0-7]|4[0-57-9]|6[0-4]))|5(?:73[0-6]|95[0-8])|6(?:26[013-8]|66[0-3])|70(?:7[1-6]|8[0-4])|848[0-25-9]|9(?:29[013-9]|59[0-4]|899))\\d{4}|(?:4(?:4[015]|6[02357-9])|5(?:[1-59][0-46-9]|6[0-4689]|7[0-246-9])|6(?:0[1-9]|[13-59]\\d|[268][0-57-9]|7[0-79])|84[09]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\d))\\d{5}", , , , "51234567", , , [8]], [, , "800\\d{6}", , , , "800123456", , , [9]], [, , "900(?:[0-24-9]\\d{7}|3\\d{1,4})", , , , "90012345678", , , [5, 6, 7, 8, 11]], [, , , , , , , , , [-1]], [, , "8(?:1[0-4679]\\d|2(?:[0-36]\\d|7[0-4])|3(?:[034]\\d|2[09]|70))\\d{4}",
                ,
                , , "81123456", , , [8]], [, , , , , , , , , [-1]], "HK", 852, "00(?:30|5[09]|[126-9]?)", , , , , , "00", , [[, "(\\d{3})(\\d{2,5})", "$1 $2", ["900", "9003"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], [, "(\\d{3})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]], , [, , "7(?:1(?:0[0-38]|1[0-3679]|3[013]|69|9[0136])|2(?:[02389]\\d|1[18]|7[27-9])|3(?:[0-38]\\d|7[0-369]|9[2357-9])|47\\d|5(?:[178]\\d|5[0-5])|6(?:0[0-7]|2[236-9]|[35]\\d)|7(?:[27]\\d|8[7-9])|8(?:[23689]\\d|7[1-9])|9(?:[025]\\d|6[0-246-8]|7[0-36-9]|8[238]))\\d{4}",
                ,
                , , "71123456", , , [8]], , , [, , , , , , , , , [-1]], [, , "30(?:0[1-9]|[15-7]\\d|2[047]|89)\\d{4}", , , , "30161234", , , [8]], , , [, , , , , , , , , [-1]]], HN: [, [, , "8\\d{10}|[237-9]\\d{7}", , , , , , , [8, 11]], [, , "2(?:2(?:0[0-59]|1[1-9]|[23]\\d|4[02-6]|5[57]|6[245]|7[0135689]|8[01346-9]|9[0-2])|4(?:0[578]|2[3-59]|3[13-9]|4[0-68]|5[1-3589])|5(?:0[2357-9]|1[1-356]|4[03-5]|5\\d|6[014-69]|7[04]|80)|6(?:[056]\\d|17|2[067]|3[047]|4[0-378]|[78][0-8]|9[01])|7(?:0[5-79]|6[46-9]|7[02-9]|8[034]|91)|8(?:79|8[0-357-9]|9[1-57-9]))\\d{4}", , , , "22123456",
                ,
                , [8]], [, , "[37-9]\\d{7}", , , , "91234567", , , [8]], [, , "8002\\d{7}", , , , "80021234567", , , [11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "HN", 504, "00", , , , , , , , [[, "(\\d{4})(\\d{4})", "$1-$2", ["[237-9]"]], [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["8"]]], [[, "(\\d{4})(\\d{4})", "$1-$2", ["[237-9]"]]], [, , , , , , , , , [-1]], , , [, , "8002\\d{7}", , , , , , , [11]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], HR: [, [, , "(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}", , , , , , , [6, 7, 8, 9]], [, , "1\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\d{6,7}",
                ,
                , , "12345678", , , [8, 9], [6, 7]], [, , "9(?:(?:0[1-9]|[12589]\\d)\\d\\d|7(?:[0679]\\d\\d|5(?:[01]\\d|44|77|9[5-7])))\\d{4}|98\\d{6}", , , , "921234567", , , [8, 9]], [, , "80\\d{5,7}", , , , "800123456", , , [7, 8, 9]], [, , "6[01459]\\d{6}|6[01]\\d{4,5}", , , , "611234", , , [6, 7, 8]], [, , , , , , , , , [-1]], [, , "7[45]\\d{6}", , , , "74123456", , , [8]], [, , , , , , , , , [-1]], "HR", 385, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["6[01]"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["8"], "0$1"], [, "(\\d)(\\d{4})(\\d{3})", "$1 $2 $3", ["1"],
                    "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[67]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-5]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "62\\d{6,7}|72\\d{6}", , , , "62123456", , , [8, 9]], , , [, , , , , , , , , [-1]]], HT: [, [, , "(?:[2-489]\\d|55)\\d{6}", , , , , , , [8]], [, , "2(?:2\\d|5[1-5]|81|9[149])\\d{5}", , , , "22453300"], [, , "(?:[34]\\d|55)\\d{6}", , , , "34101234"], [, , "8\\d{7}", , , , "80012345"],
            [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "9(?:[67][0-4]|8[0-3589]|9\\d)\\d{5}", , , , "98901234"], "HT", 509, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[2-589]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], HU: [, [, , "[235-7]\\d{8}|[1-9]\\d{7}", , , , , , , [8, 9], [6, 7]], [, , "(?:1\\d|[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6[23689]|8[2-57-9]|9[2-69])\\d{6}", , , , "12345678", , , [8], [6, 7]], [, , "(?:[257]0|3[01])\\d{7}", , , , "201234567", , , [9]], [, , "(?:[48]0\\d|680[29])\\d{5}", , , , "80123456"],
            [, , "9[01]\\d{6}", , , , "90123456", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "21\\d{7}", , , , "211234567", , , [9]], "HU", 36, "00", "06", , , "06", , , , [[, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "(06 $1)"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"], "(06 $1)"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "06 $1"]], , [, , , , , , , , , [-1]], , , [, , "(?:[48]0\\d|680[29])\\d{5}"], [, , "38\\d{7}", , , , "381234567", , , [9]], , , [, , , , , , , , , [-1]]], ID: [, [, , "(?:(?:00[1-9]|8\\d)\\d{4}|[1-36])\\d{6}|00\\d{10}|[1-9]\\d{8,10}|[2-9]\\d{7}",
                ,
                , , , , , [7, 8, 9, 10, 11, 12, 13], [5, 6]], [, , "2[124]\\d{7,8}|619\\d{8}|2(?:1(?:14|500)|2\\d{3})\\d{3}|61\\d{5,8}|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])|3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:[25]\\d|3[1-69]|4[1-6])|7(?:02|[125][1-9]|[36]\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}", , , , "218350123",
                ,
                , [7, 8, 9, 10, 11], [5, 6]], [, , "8[1-35-9]\\d{7,10}", , , , "812345678", , , [9, 10, 11, 12]], [, , "00[17]803\\d{7}|(?:177\\d|800)\\d{5,7}|001803\\d{6}", , , , "8001234567", , , [8, 9, 10, 11, 12, 13]], [, , "809\\d{7}", , , , "8091234567", , , [10]], [, , "804\\d{7}", , , , "8041234567", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "ID", 62, "00[89]", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["15"]], [, "(\\d{2})(\\d{5,9})", "$1 $2", ["2[124]|[36]1"], "(0$1)"], [, "(\\d{3})(\\d{5,7})", "$1 $2", ["800"], "0$1"], [, "(\\d{3})(\\d{5,8})", "$1 $2", ["[2-79]"],
                    "(0$1)"], [, "(\\d{3})(\\d{3,4})(\\d{3})", "$1-$2-$3", ["8[1-35-9]"], "0$1"], [, "(\\d{3})(\\d{6,8})", "$1 $2", ["1"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["804"], "0$1"], [, "(\\d{3})(\\d)(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["80"], "0$1"], [, "(\\d{3})(\\d{4})(\\d{4,5})", "$1-$2-$3", ["8"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["001"]], [, "(\\d{2})(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["0"]]], [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["15"]], [, "(\\d{2})(\\d{5,9})", "$1 $2", ["2[124]|[36]1"],
                    "(0$1)"], [, "(\\d{3})(\\d{5,7})", "$1 $2", ["800"], "0$1"], [, "(\\d{3})(\\d{5,8})", "$1 $2", ["[2-79]"], "(0$1)"], [, "(\\d{3})(\\d{3,4})(\\d{3})", "$1-$2-$3", ["8[1-35-9]"], "0$1"], [, "(\\d{3})(\\d{6,8})", "$1 $2", ["1"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["804"], "0$1"], [, "(\\d{3})(\\d)(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["80"], "0$1"], [, "(\\d{3})(\\d{4})(\\d{4,5})", "$1-$2-$3", ["8"], "0$1"]], [, , , , , , , , , [-1]], , , [, , "001803\\d{6,7}|(?:007803\\d|8071)\\d{6}", , , , , , , [10, 12, 13]], [, , "(?:1500|8071\\d{3})\\d{3}", , , ,
                "8071123456", , , [7, 10]], , , [, , , , , , , , , [-1]]], IE: [, [, , "(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}", , , , , , , [7, 8, 9, 10], [5, 6]], [, , "(?:1\\d|21)\\d{6,7}|(?:2[24-9]|4(?:0[24]|5\\d|7)|5(?:0[45]|1\\d|8)|6(?:1\\d|[237-9])|9(?:1\\d|[35-9]))\\d{5}|(?:23|4(?:[1-469]|8\\d)|5[23679]|6[4-6]|7[14]|9[04])\\d{7}", , , , "2212345", , , , [5, 6]], [, , "8(?:22|[35-9]\\d)\\d{6}", , , , "850123456", , , [9]], [, , "1800\\d{6}", , , , "1800123456", , , [10]], [, , "15(?:1[2-8]|[2-8]0|9[089])\\d{6}", , , , "1520123456", , , [10]], [, , "18[59]0\\d{6}", , , , "1850123456",
                ,
                , [10]], [, , "700\\d{6}", , , , "700123456", , , [9]], [, , "76\\d{7}", , , , "761234567", , , [9]], "IE", 353, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{5})", "$1 $2", ["2[24-9]|47|58|6[237-9]|9[35-9]"], "(0$1)"], [, "(\\d{3})(\\d{5})", "$1 $2", ["[45]0"], "(0$1)"], [, "(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1"], "(0$1)"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2569]|4[1-69]|7[14]"], "(0$1)"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["81"], "(0$1)"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3",
                    ["[78]"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["4"], "(0$1)"], [, "(\\d{2})(\\d)(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["8"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , "18[59]0\\d{6}", , , , , , , [10]], [, , "818\\d{6}", , , , "818123456", , , [9]], , , [, , "88210[1-9]\\d{4}|8(?:[35-79]5\\d\\d|8(?:[013-9]\\d\\d|2(?:[01][1-9]|[2-9]\\d)))\\d{5}", , , , "8551234567", , , [10]]], IL: [, [, , "1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}", , , , , , , [7, 8, 9, 10, 11, 12]], [, , "153\\d{8,9}|29[1-9]\\d{5}|(?:2[0-8]|[3489]\\d)\\d{6}",
                ,
                , , "21234567", , , [8, 11, 12], [7]], [, , "55410\\d{4}|5(?:(?:[02][02-9]|[149][2-9]|[36]\\d|8[3-7])\\d|5(?:01|2\\d|3[0-3]|4[34]|5[0-25689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\d{5}", , , , "502345678", , , [9]], [, , "1(?:255|80[019]\\d{3})\\d{3}", , , , "1800123456", , , [7, 10]], [, , "1212\\d{4}|1(?:200|9(?:0[0-2]|19))\\d{6}", , , , "1919123456", , , [8, 10]], [, , "1700\\d{6}", , , , "1700123456", , , [10]], [, , , , , , , , , [-1]], [, , "7(?:38(?:0\\d|5[09]|88)|8(?:33|55|77|81)\\d)\\d{4}|7(?:18|2[23]|3[237]|47|6[258]|7\\d|82|9[2-9])\\d{6}", , , , "771234567",
                ,
                , [9]], "IL", 972, "0(?:0|1[2-9])", "0", , , "0", , , , [[, "(\\d{4})(\\d{3})", "$1-$2", ["125"]], [, "(\\d{4})(\\d{2})(\\d{2})", "$1-$2-$3", ["121"]], [, "(\\d)(\\d{3})(\\d{4})", "$1-$2-$3", ["[2-489]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{3})", "$1-$2-$3", ["12"]], [, "(\\d{4})(\\d{6})", "$1-$2", ["159"]], [, "(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3-$4", ["1[7-9]"]], [, "(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})", "$1-$2 $3-$4", ["15"]]], , [, , , , , , , , , [-1]], , , [, , "1700\\d{6}", , , , , , , [10]], [,
                ,
                "1599\\d{6}", , , , "1599123456", , , [10]], , , [, , "151\\d{8,9}", , , , "15112340000", , , [11, 12]]], IM: [, [, , "1624\\d{6}|(?:[3578]\\d|90)\\d{8}", , , , , , , [10], [6]], [, , "1624(?:230|[5-8]\\d\\d)\\d{3}", , , , "1624756789", , , , [6]], [, , "76245[06]\\d{4}|7(?:4576|[59]24\\d|624[0-4689])\\d{5}", , , , "7924123456"], [, , "808162\\d{4}", , , , "8081624567"], [, , "8(?:440[49]06|72299\\d)\\d{3}|(?:8(?:45|70)|90[0167])624\\d{4}", , , , "9016247890"], [, , , , , , , , , [-1]], [, , "70\\d{8}", , , , "7012345678"], [, , "56\\d{8}", , , , "5612345678"], "IM", 44, "00", "0", , , "([25-8]\\d{5})$|0",
            "1624$1", , , , , [, , , , , , , , , [-1]], , "74576|(?:16|7[56])24", [, , , , , , , , , [-1]], [, , "3440[49]06\\d{3}|(?:3(?:08162|3\\d{4}|45624|7(?:0624|2299))|55\\d{4})\\d{4}", , , , "5512345678"], , , [, , , , , , , , , [-1]]], IN: [, [, , "(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}", , , , , , , [8, 9, 10, 11, 12, 13], [6, 7]], [, , "2717(?:[2-7]\\d|95)\\d{4}|(?:271[0-689]|782[0-6])[2-7]\\d{5}|(?:170[24]|2(?:(?:[02][2-79]|90)\\d|80[13468])|(?:3(?:23|80)|683|79[1-7])\\d|4(?:20[24]|72[2-8])|552[1-7])\\d{6}|(?:11|33|4[04]|80)[2-7]\\d{7}|(?:342|674|788)(?:[0189][2-7]|[2-7]\\d)\\d{5}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[13]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[014-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\d{6}|(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[3-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1245]|4[5-8]|5[125689]|6[235-7]|7[157-9]|8[2-46-8])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])|7(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|8[013-7]|9[089])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d[2-7]\\d{5}",
                ,
                , , "7410410123", , , [10], [6, 7, 8]], [, , "(?:61279|7(?:887[02-9]|9(?:313|79[07-9]))|8(?:079[04-9]|(?:84|91)7[02-8]))\\d{5}|(?:6(?:12|[2-47]1|5[17]|6[13]|80)[0189]|7(?:1(?:2[0189]|9[0-5])|2(?:[14][017-9]|8[0-59])|3(?:2[5-8]|[34][017-9]|9[016-9])|4(?:1[015-9]|[29][89]|39|8[389])|5(?:[15][017-9]|2[04-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589])|70[0289]|88[089]|97[02-8])|8(?:0(?:6[67]|7[02-8])|70[017-9]|84[01489]|91[0-289]))\\d{6}|(?:7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[0189]\\d|7[02-8])\\d{5}|(?:6(?:[09]\\d|1[04679]|2[03689]|3[05-9]|4[0489]|50|6[069]|7[07]|8[7-9])|7(?:0\\d|2[0235-79]|3[05-8]|40|5[0346-8]|6[6-9]|7[1-9]|8[0-79]|9[089])|8(?:0[01589]|1[0-57-9]|2[235-9]|3[03-57-9]|[45]\\d|6[02457-9]|7[1-69]|8[0-25-9]|9[02-9])|9\\d\\d)\\d{7}|(?:6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|8[124-6])\\d|7(?:[235689]\\d|4[0189]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-5])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]|881))[0189]\\d{5}",
                ,
                , , "8123456789", , , [10]], [, , "000800\\d{7}|1(?:600\\d{6}|80(?:0\\d{4,9}|3\\d{9}))", , , , "1800123456"], [, , "186[12]\\d{9}", , , , "1861123456789", , , [13]], [, , "1860\\d{7}", , , , "18603451234", , , [11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "IN", 91, "00", "0", , , "0", , , , [[, "(\\d{7})", "$1", ["575"]], [, "(\\d{8})", "$1", ["5(?:0|2[23]|3[03]|[67]1|88)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"], , , 1], [, "(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], , , 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3",
                    ["140"], , , 1], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["11|2[02]|33|4[04]|79[1-7]|80[2-46]", "11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])", "11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"], "0$1", , 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]",
                        "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"],
                    "0$1", , 1], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807", "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]",
                        "1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"], "0$1", , 1], [, "(\\d{5})(\\d{5})", "$1 $2", ["[6-9]"], "0$1", , 1], [, "(\\d{4})(\\d{2,4})(\\d{4})", "$1 $2 $3", ["1(?:6|8[06])", "1(?:6|8[06]0)"], , , 1], [, "(\\d{3})(\\d{3})(\\d{3})(\\d{4})",
                    "$1 $2 $3 $4", ["0"]], [, "(\\d{4})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["18"], , , 1]], [[, "(\\d{8})", "$1", ["5(?:0|2[23]|3[03]|[67]1|88)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"], , , 1], [, "(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], , , 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["140"], , , 1], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["11|2[02]|33|4[04]|79[1-7]|80[2-46]", "11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])", "11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"],
                    "0$1", , 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]",
                        "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"],
                    "0$1", , 1], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807", "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]",
                        "1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"], "0$1", , 1], [, "(\\d{5})(\\d{5})", "$1 $2", ["[6-9]"], "0$1", , 1], [, "(\\d{4})(\\d{2,4})(\\d{4})", "$1 $2 $3", ["1(?:6|8[06])", "1(?:6|8[06]0)"], , , 1], [, "(\\d{4})(\\d{3})(\\d{3})(\\d{3})",
                    "$1 $2 $3 $4", ["18"], , , 1]], [, , , , , , , , , [-1]], , , [, , "1(?:600\\d{6}|800\\d{4,9})|(?:000800|18(?:03\\d\\d|6(?:0|[12]\\d\\d)))\\d{7}"], [, , "140\\d{7}", , , , "1409305260", , , [10]], , , [, , , , , , , , , [-1]]], IO: [, [, , "3\\d{6}", , , , , , , [7]], [, , "37\\d{5}", , , , "3709100"], [, , "38\\d{5}", , , , "3801234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "IO", 246, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["3"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], IQ: [, [, , "(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}",
                ,
                , , , , , [8, 9, 10], [6, 7]], [, , "1\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\d{6,7}", , , , "12345678", , , [8, 9], [6, 7]], [, , "7[3-9]\\d{8}", , , , "7912345678", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "IQ", 964, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-6]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], IR: [,
            [, , "[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}", , , , , , , [4, 5, 6, 7, 10], [8]], [, , "(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:[03-57]\\d{7}|[16]\\d{3}(?:\\d{4})?|[289]\\d{3}(?:\\d(?:\\d{3})?)?)|94(?:000[09]|2(?:121|[2689]0\\d)|30[0-2]\\d|4(?:111|40\\d))\\d{4}", , , , "2123456789", , , [6, 7, 10], [4, 5, 8]], [, , "9(?:(?:0(?:[0-35]\\d|4[4-6])|(?:[13]\\d|2[0-3])\\d)\\d|9(?:[0-46]\\d\\d|5[15]0|8(?:[12]\\d|88)|9(?:0[0-3]|[19]\\d|21|69|77|8[7-9])))\\d{5}", , , , "9123456789", , , [10]], [, , , , , , , , , [-1]], [, , , , , ,
                ,
                , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "IR", 98, "00", "0", , , "0", , , , [[, "(\\d{4,5})", "$1", ["96"], "0$1"], [, "(\\d{2})(\\d{4,5})", "$1 $2", ["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[1-8]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , "9(?:4440\\d{5}|6(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19]))", , , , , , , [4, 5, 10]], [, , "96(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19])",
                ,
                , , "9601", , , [4, 5]], , , [, , , , , , , , , [-1]]], IS: [, [, , "(?:38\\d|[4-9])\\d{6}", , , , , , , [7, 9]], [, , "(?:4(?:1[0-24-69]|2[0-7]|[37][0-8]|4[0-24589]|5[0-68]|6\\d|8[0-36-8])|5(?:05|[156]\\d|2[02578]|3[0-579]|4[03-7]|7[0-2578]|8[0-35-9]|9[013-689])|872)\\d{4}", , , , "4101234", , , [7]], [, , "(?:38[589]\\d\\d|6(?:1[1-8]|2[0-6]|3[026-9]|4[014679]|5[0159]|6[0-69]|70|8[06-8]|9\\d)|7(?:5[057]|[6-9]\\d)|8(?:2[0-59]|[3-69]\\d|8[238]))\\d{4}", , , , "6111234"], [, , "80[0-8]\\d{4}", , , , "8001234", , , [7]], [, , "90(?:0\\d|1[5-79]|2[015-79]|3[135-79]|4[125-7]|5[25-79]|7[1-37]|8[0-35-7])\\d{3}",
                ,
                , , "9001234", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "49[0-24-79]\\d{4}", , , , "4921234", , , [7]], "IS", 354, "00|1(?:0(?:01|[12]0)|100)", , , , , , "00", , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[4-9]"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["3"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "809\\d{4}", , , , "8091234", , , [7]], , , [, , "(?:689|8(?:7[18]|80)|95[48])\\d{4}", , , , "6891234", , , [7]]], IT: [, [, , "0\\d{5,10}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?", , , , , , , [6, 7, 8, 9, 10, 11, 12]], [, , "0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}",
                ,
                , , "0212345678", , , [6, 7, 8, 9, 10, 11]], [, , "3[1-9]\\d{8}|3[2-9]\\d{7}", , , , "3123456789", , , [9, 10]], [, , "80(?:0\\d{3}|3)\\d{3}", , , , "800123456", , , [6, 9]], [, , "(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}", , , , "899123456", , , [6, 8, 9, 10]], [, , "84(?:[08]\\d{3}|[17])\\d{3}", , , , "848123456", , , [6, 9]], [, , "1(?:78\\d|99)\\d{6}", , , , "1781234567", , , [9, 10]], [, , "55\\d{8}", , , , "5512345678", , , [10]], "IT", 39, "00", , , , , , , , [[, "(\\d{4,5})", "$1", ["1(?:0|9[246])", "1(?:0|9(?:2[2-9]|[46]))"]],
                [, "(\\d{6})", "$1", ["1(?:1|92)"]], [, "(\\d{2})(\\d{4,6})", "$1 $2", ["0[26]"]], [, "(\\d{3})(\\d{3,6})", "$1 $2", ["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])", "0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]], [, "(\\d{4})(\\d{2,6})", "$1 $2", ["0(?:[13-579][2-46-8]|8[236-8])"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["894"]], [, "(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[26]|5"]], [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1(?:44|[679])|[378]"]], [, "(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[13-57-9][0159]|14"]], [,
                    "(\\d{2})(\\d{4})(\\d{5})", "$1 $2 $3", ["0[26]"]], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]], [, "(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["3"]]], [[, "(\\d{2})(\\d{4,6})", "$1 $2", ["0[26]"]], [, "(\\d{3})(\\d{3,6})", "$1 $2", ["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])", "0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]], [, "(\\d{4})(\\d{2,6})", "$1 $2", ["0(?:[13-579][2-46-8]|8[236-8])"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["894"]], [, "(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[26]|5"]], [, "(\\d{3})(\\d{3})(\\d{3,4})",
                    "$1 $2 $3", ["1(?:44|[679])|[378]"]], [, "(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[13-57-9][0159]|14"]], [, "(\\d{2})(\\d{4})(\\d{5})", "$1 $2 $3", ["0[26]"]], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]], [, "(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["3"]]], [, , , , , , , , , [-1]], 1, , [, , "848\\d{6}", , , , , , , [9]], [, , , , , , , , , [-1]], , , [, , "3[2-8]\\d{9,10}", , , , "33101234501", , , [11, 12]]], JE: [, [, , "1534\\d{6}|(?:[3578]\\d|90)\\d{8}", , , , , , , [10], [6]], [, , "1534[0-24-8]\\d{5}", , , , "1534456789", , , , [6]], [, , "7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97[7-9]))\\d{5}",
                ,
                , , "7797712345"], [, , "80(?:07(?:35|81)|8901)\\d{4}", , , , "8007354567"], [, , "(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}", , , , "9018105678"], [, , , , , , , , , [-1]], [, , "701511\\d{4}", , , , "7015115678"], [, , "56\\d{8}", , , , "5612345678"], "JE", 44, "00", "0", , , "([0-24-8]\\d{5})$|0", "1534$1", , , , , [, , "76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", , , , "7640123456"], , , [, , , , , , , , , [-1]], [, , "(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}",
                ,
                , , "5512345678"], , , [, , , , , , , , , [-1]]], JM: [, [, , "(?:[58]\\d\\d|658|900)\\d{7}", , , , , , , [10], [7]], [, , "8766060\\d{3}|(?:658(?:2(?:[0-8]\\d|9[0-46-9])|[3-9]\\d\\d)|876(?:52[35]|6(?:0[1-3579]|1[0235-9]|[23]\\d|40|5[06]|6[2-589]|7[0-25-9]|8[04]|9[4-9])|7(?:0[2-689]|[1-6]\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\d|9[2-468])))\\d{4}", , , , "8765230123", , , , [7]], [, , "(?:658295|876(?:2(?:0[1-9]|[13-9]\\d|2[013-9])|[348]\\d\\d|5(?:0[1-9]|[1-9]\\d)|6(?:4[89]|6[67])|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579])))\\d{4}",
                ,
                , , "8762101234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "JM", 1, "011", "1", , , "1", , , , , , [, , , , , , , , , [-1]], , "658|876", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , ,
                ,
                , , , [-1]]], JO: [, [, , "(?:(?:[2689]|7\\d)\\d|32|53)\\d{6}", , , , , , , [8, 9]], [, , "87(?:000|90[01])\\d{3}|(?:2(?:6(?:2[0-35-9]|3[0-578]|4[24-7]|5[0-24-8]|[6-8][023]|9[0-3])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\d|4[0-3]|[5-7][023])|53(?:0[0-3]|[13][023]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2(?:[05]0|22)|3(?:00|33)|4(?:0[0-25]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[178]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[0239]))|87(?:20|7[078]|99))\\d{4}",
                ,
                , , "62001234", , , [8]], [, , "7(?:[78][0-25-9]|9\\d)\\d{6}", , , , "790123456", , , [9]], [, , "80\\d{6}", , , , "80012345", , , [8]], [, , "9\\d{7}", , , , "90012345", , , [8]], [, , "85\\d{6}", , , , "85012345", , , [8]], [, , "70\\d{7}", , , , "700123456", , , [9]], [, , , , , , , , , [-1]], "JO", 962, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2356]|87"], "(0$1)"], [, "(\\d{3})(\\d{5,6})", "$1 $2", ["[89]"], "0$1"], [, "(\\d{2})(\\d{7})", "$1 $2", ["70"], "0$1"], [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], , [, , "74(?:66|77)\\d{5}", , , , "746612345",
                ,
                , [9]], , , [, , , , , , , , , [-1]], [, , "8(?:10|8\\d)\\d{5}", , , , "88101234", , , [8]], , , [, , , , , , , , , [-1]]], JP: [, [, , "00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}", , , , , , , [8, 9, 10, 11, 12, 13, 14, 15, 16, 17]], [, , "(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|(?:2[2-9]|[36][1-9])\\d|4(?:[2-578]\\d|6[02-8]|9[2-59])|5(?:[2-589]\\d|6[1-9]|7[2-8])|7(?:[25-9]\\d|3[4-9]|4[02-9])|8(?:[2679]\\d|3[2-9]|4[5-9]|5[1-9]|8[03-9])|9(?:[2-58]\\d|[679][1-9]))\\d{6}", , , , "312345678", , , [9]], [, , "[7-9]0[1-9]\\d{7}",
                ,
                , , "9012345678", , , [10]], [, , "00777(?:[01]|5\\d)\\d\\d|(?:00(?:7778|882[1245])|(?:120|800\\d)\\d\\d)\\d{4}|00(?:37|66|78)\\d{6,13}", , , , "120123456"], [, , "990\\d{6}", , , , "990123456", , , [9]], [, , , , , , , , , [-1]], [, , "60\\d{7}", , , , "601234567", , , [9]], [, , "50[1-9]\\d{7}", , , , "5012345678", , , [10]], "JP", 81, "010", "0", , , "(000[259]\\d{6})$|(?:(?:003768)0?)|0", "$1", , , [[, "(\\d{4})(\\d{4})", "$1-$2", ["007", "0077", "00777", "00777[01]"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"], [, "(\\d{4})(\\d)(\\d{4})",
                    "$1-$2-$3", ["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["60"],
                    "0$1"], [, "(\\d)(\\d{4})(\\d{4})", "$1-$2-$3", ["[36]|4(?:2[09]|7[01])", "[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])",
                        "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]",
                        "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"],
                    "0$1"], [, "(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3", ["[14]|[289][2-9]|5[3-9]|7[2-4679]"], "0$1"], [, "(\\d{4})(\\d{2})(\\d{3,4})", "$1-$2-$3", ["007", "0077"]], [, "(\\d{4})(\\d{2})(\\d{4})", "$1-$2-$3", ["008"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["800"], "0$1"], [, "(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[257-9]"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{3,4})", "$1-$2-$3", ["0"]], [, "(\\d{4})(\\d{4})(\\d{4,5})", "$1-$2-$3", ["0"]], [, "(\\d{4})(\\d{5})(\\d{5,6})", "$1-$2-$3", ["0"]], [, "(\\d{4})(\\d{6})(\\d{6,7})", "$1-$2-$3",
                    ["0"]]], [[, "(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"], [, "(\\d{4})(\\d)(\\d{4})", "$1-$2-$3", ["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"],
                    "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["60"], "0$1"], [, "(\\d)(\\d{4})(\\d{4})", "$1-$2-$3", ["[36]|4(?:2[09]|7[01])", "[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])",
                        "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]",
                        "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"],
                    "0$1"], [, "(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3", ["[14]|[289][2-9]|5[3-9]|7[2-4679]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["800"], "0$1"], [, "(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[257-9]"], "0$1"]], [, , "20\\d{8}", , , , "2012345678", , , [10]], , , [, , "00(?:777(?:[01]|(?:5|8\\d)\\d)|882[1245]\\d\\d)\\d\\d|00(?:37|66|78)\\d{6,13}"], [, , "570\\d{6}", , , , "570123456", , , [9]], , , [, , , , , , , , , [-1]]], KE: [, [, , "(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}", , , , , , , [7, 8, 9, 10]], [, , "(?:4[245]|5[1-79]|6[01457-9])\\d{5,7}|(?:4[136]|5[08]|62)\\d{7}|(?:[24]0|66)\\d{6,7}",
                ,
                , , "202012345", , , [7, 8, 9]], [, , "(?:1(?:0[0-6]|1[0-5]|2[014]|30)|7\\d\\d)\\d{6}", , , , "712123456", , , [9]], [, , "800[2-8]\\d{5,6}", , , , "800223456", , , [9, 10]], [, , "900[02-9]\\d{5}", , , , "900223456", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "KE", 254, "000", "0", , , "0", , , , [[, "(\\d{2})(\\d{5,7})", "$1 $2", ["[24-6]"], "0$1"], [, "(\\d{3})(\\d{6})", "$1 $2", ["[17]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], KG: [, [, , "8\\d{9}|[235-9]\\d{8}",
                ,
                , , , , , [9, 10], [5, 6]], [, , "312(?:5[0-79]\\d|9(?:[0-689]\\d|7[0-24-9]))\\d{3}|(?:3(?:1(?:2[0-46-8]|3[1-9]|47|[56]\\d)|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6\\d)|5(?:22|3[4-7]|59|6\\d)|6(?:22|5[35-7]|6\\d)|7(?:22|3[468]|4[1-9]|59|[67]\\d)|9(?:22|4[1-8]|6\\d))|6(?:09|12|2[2-4])\\d)\\d{5}", , , , "312123456", , , [9], [5, 6]], [, , "312(?:58\\d|973)\\d{3}|(?:2(?:0[0-35]|2\\d)|5[0-24-7]\\d|600|7(?:[07]\\d|55)|88[08]|9(?:12|9[05-9]))\\d{6}", , , , "700123456", , , [9]], [, , "800\\d{6,7}", , , , "800123456"], [, , , , , , , , , [-1]], [, , , ,
                ,
                , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "KG", 996, "00", "0", , , "0", , , , [[, "(\\d{4})(\\d{5})", "$1 $2", ["3(?:1[346]|[24-79])"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-79]|88"], "0$1"], [, "(\\d{3})(\\d{3})(\\d)(\\d{2,3})", "$1 $2 $3 $4", ["8"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], KH: [, [, , "1\\d{9}|[1-9]\\d{7,8}", , , , , , , [8, 9, 10], [6, 7]], [, , "23(?:4(?:[2-4]|[56]\\d)|[568]\\d\\d)\\d{4}|23[236-9]\\d{5}|(?:2[4-6]|3[2-6]|4[2-4]|[5-7][2-5])(?:(?:[237-9]|4[56]|5\\d)\\d{5}|6\\d{5,6})",
                ,
                , , "23756789", , , [8, 9], [6, 7]], [, , "(?:(?:1[28]|3[18]|9[67])\\d|6[016-9]|7(?:[07-9]|[16]\\d)|8(?:[013-79]|8\\d))\\d{6}|(?:1\\d|9[0-57-9])\\d{6}|(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])48\\d{5}", , , , "91234567", , , [8, 9]], [, , "1800(?:1\\d|2[019])\\d{4}", , , , "1800123456", , , [10]], [, , "1900(?:1\\d|2[09])\\d{4}", , , , "1900123456", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "KH", 855, "00[14-9]", "0", , , "0", , , , [[, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-9]"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]],
            ,
            [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], KI: [, [, , "(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}", , , , , , , [5, 8]], [, , "(?:[24]\\d|3[1-9]|50|65(?:02[12]|12[56]|22[89]|[3-5]00)|7(?:27\\d\\d|3100|5(?:02[12]|12[56]|22[89]|[34](?:00|81)|500))|8[0-5])\\d{3}", , , , "31234"], [, , "(?:6200[01]|7(?:310[1-9]|5(?:02[03-9]|12[0-47-9]|22[0-7]|[34](?:0[1-9]|8[02-9])|50[1-9])))\\d{3}|(?:63\\d\\d|7(?:(?:[0146-9]\\d|2[0-689])\\d|3(?:[02-9]\\d|1[1-9])|5(?:[0-2][013-9]|[34][1-79]|5[1-9]|[6-9]\\d)))\\d{4}",
                ,
                , , "72001234", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "30(?:0[01]\\d\\d|12(?:11|20))\\d\\d", , , , "30010000", , , [8]], "KI", 686, "00", "0", , , "0", , , , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], KM: [, [, , "[3478]\\d{6}", , , , , , , [7], [4]], [, , "7[4-7]\\d{5}", , , , "7712345", , , , [4]], [, , "[34]\\d{6}", , , , "3212345"], [, , , , , , , , , [-1]], [, , "8\\d{6}", , , , "8001234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "KM", 269, "00", , , , , , , , [[, "(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3",
                    ["[3478]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], KN: [, [, , "(?:[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "869(?:2(?:29|36)|302|4(?:6[015-9]|70)|56[5-7])\\d{4}", , , , "8692361234", , , , [7]], [, , "869(?:48[89]|55[6-8]|66\\d|76[02-7])\\d{4}", , , , "8697652917", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
                ,
                , , "5002345678"], [, , , , , , , , , [-1]], "KN", 1, "011", "1", , , "([2-7]\\d{6})$|1", "869$1", , , , , [, , , , , , , , , [-1]], , "869", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], KP: [, [, , "85\\d{6}|(?:19\\d|[2-7])\\d{7}", , , , , , , [8, 10], [6, 7]], [, , "(?:(?:195|2)\\d|3[19]|4[159]|5[37]|6[17]|7[39]|85)\\d{6}", , , , "21234567", , , , [6, 7]], [, , "19[1-3]\\d{7}", , , , "1921234567", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "KP", 850, "00|99", "0", , , "0", , , , [[, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"],
                    "0$1"], [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , "238[02-9]\\d{4}|2(?:[0-24-9]\\d|3[0-79])\\d{5}", , , , , , , [8]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], KR: [, [, , "00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}", , , , , , , [5, 6, 8, 9, 10, 11, 12, 13, 14], [3, 4, 7]], [, , "(?:2|3[1-3]|[46][1-4]|5[1-5])[1-9]\\d{6,7}|(?:3[1-3]|[46][1-4]|5[1-5])1\\d{2,3}", , , , "22123456", , , [5, 6, 8, 9, 10],
                [3, 4, 7]], [, , "1(?:05(?:[0-8]\\d|9[0-6])|22[13]\\d)\\d{4,5}|1(?:0[0-46-9]|[16-9]\\d|2[013-9])\\d{6,7}", , , , "1020000000", , , [9, 10]], [, , "00(?:308\\d{6,7}|798\\d{7,9})|(?:00368|80)\\d{7}", , , , "801234567", , , [9, 11, 12, 13, 14]], [, , "60[2-9]\\d{6}", , , , "602345678", , , [9]], [, , , , , , , , , [-1]], [, , "50\\d{8,9}", , , , "5012345678", , , [10, 11]], [, , "70\\d{8}", , , , "7012345678", , , [10]], "KR", 82, "00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))", "0", , , "0(8(?:[1-46-8]|5\\d\\d))?", , , , [[, "(\\d{5})", "$1", ["1[016-9]1", "1[016-9]11", "1[016-9]114"],
                    "0$1"], [, "(\\d{2})(\\d{3,4})", "$1-$2", ["(?:3[1-3]|[46][1-4]|5[1-5])1"], "0$1", "0$CC-$1"], [, "(\\d{4})(\\d{4})", "$1-$2", ["1"]], [, "(\\d)(\\d{3,4})(\\d{4})", "$1-$2-$3", ["2"], "0$1", "0$CC-$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["60|8"], "0$1", "0$CC-$1"], [, "(\\d{2})(\\d{3,4})(\\d{4})", "$1-$2-$3", ["[1346]|5[1-5]"], "0$1", "0$CC-$1"], [, "(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1", "0$CC-$1"], [, "(\\d{5})(\\d{3})(\\d{3})", "$1 $2 $3", ["003", "0030"]], [, "(\\d{2})(\\d{5})(\\d{4})", "$1-$2-$3", ["5"], "0$1",
                    "0$CC-$1"], [, "(\\d{5})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0"]], [, "(\\d{5})(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["0"]]], [[, "(\\d{2})(\\d{3,4})", "$1-$2", ["(?:3[1-3]|[46][1-4]|5[1-5])1"], "0$1", "0$CC-$1"], [, "(\\d{4})(\\d{4})", "$1-$2", ["1"]], [, "(\\d)(\\d{3,4})(\\d{4})", "$1-$2-$3", ["2"], "0$1", "0$CC-$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["60|8"], "0$1", "0$CC-$1"], [, "(\\d{2})(\\d{3,4})(\\d{4})", "$1-$2-$3", ["[1346]|5[1-5]"], "0$1", "0$CC-$1"], [, "(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1", "0$CC-$1"],
                [, "(\\d{2})(\\d{5})(\\d{4})", "$1-$2-$3", ["5"], "0$1", "0$CC-$1"]], [, , "15\\d{7,8}", , , , "1523456789", , , [9, 10]], , , [, , "00(?:3(?:08\\d{6,7}|68\\d{7})|798\\d{7,9})", , , , , , , [11, 12, 13, 14]], [, , "1(?:5(?:22|33|44|66|77|88|99)|6(?:[07]0|44|6[168]|88)|8(?:00|33|55|77|99))\\d{4}", , , , "15441234", , , [8]], , , [, , , , , , , , , [-1]]], KW: [, [, , "18\\d{5}|(?:[2569]\\d|41)\\d{6}", , , , , , , [7, 8]], [, , "2(?:[23]\\d\\d|4(?:[1-35-9]\\d|44)|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7]))\\d{4}", , , , "22345678", , , [8]], [, , "(?:41\\d\\d|5(?:(?:[05]\\d|1[0-7]|6[56])\\d|2(?:22|5[25])|7(?:55|77)|88[58])|6(?:(?:0[034679]|5[015-9]|6\\d)\\d|1(?:00|11|66)|222|3[36]3|444|7(?:0[013-9]|[67]\\d)|888|9(?:[069]\\d|3[039]))|9(?:(?:0[09]|[4679]\\d|8[057-9])\\d|1(?:1[01]|99)|2(?:00|2\\d)|3(?:00|3[03])|5(?:00|5\\d)))\\d{4}",
                ,
                , , "50012345", , , [8]], [, , "18\\d{5}", , , , "1801234", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "KW", 965, "00", , , , , , , , [[, "(\\d{4})(\\d{3,4})", "$1 $2", ["[169]|2(?:[235]|4[1-35-9])|52"]], [, "(\\d{3})(\\d{5})", "$1 $2", ["[245]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], KY: [, [, , "(?:345|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "345(?:2(?:22|3[23]|44|66)|333|444|6(?:23|38|40)|7(?:30|4[35-79]|6[6-9]|77)|8(?:00|1[45]|[48]8)|9(?:14|4[035-9]))\\d{4}", , , , "3452221234",
                ,
                , , [7]], [, , "345(?:32[1-9]|42[0-4]|5(?:1[67]|2[5-79]|4[6-9]|50|76)|649|82[56]|9(?:1[679]|2[2-9]|3[06-9]|90))\\d{4}", , , , "3453231234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"], [, , "(?:345976|900[2-9]\\d\\d)\\d{4}", , , , "9002345678"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
                ,
                , , "5002345678"], [, , , , , , , , , [-1]], "KY", 1, "011", "1", , , "([2-9]\\d{6})$|1", "345$1", , , , , [, , "345849\\d{4}", , , , "3458491234"], , "345", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], KZ: [, [, , "(?:33622|8\\d{8})\\d{5}|[78]\\d{9}", , , , , , , [10, 14], [5, 6, 7]], [, , "(?:33622|7(?:1(?:0(?:[23]\\d|4[0-3]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\\d|3[013-9]|5[1-9]|97)|5(?:2\\d|3[1-9]|4[0-7]|59)|6(?:[2-4]\\d|5[19]|61)|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-5]|59))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679])|3(?:[2-4]\\d|5[139])|4(?:2\\d|3[1-35-9]|59)|5(?:[23]\\d|4[0-8]|59|61)|6(?:2\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\d|40|5[279])|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[124578]|59))))\\d{5}",
                ,
                , , "7123456789", , , [10], [5, 6, 7]], [, , "7(?:0[0-25-8]|47|6[0-4]|7[15-8]|85)\\d{7}", , , , "7710009998", , , [10]], [, , "8(?:00|108\\d{3})\\d{7}", , , , "8001234567"], [, , "809\\d{7}", , , , "8091234567", , , [10]], [, , , , , , , , , [-1]], [, , "808\\d{7}", , , , "8081234567", , , [10]], [, , "751\\d{7}", , , , "7511234567", , , [10]], "KZ", 7, "810", "8", , , "8", , "8~10", , , , [, , , , , , , , , [-1]], , "33|7", [, , "751\\d{7}", , , , , , , [10]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], LA: [, [, , "[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}", , , , , , , [8, 9, 10], [6]], [, , "(?:2[13]|[35-7][14]|41|8[1468])\\d{6}",
                ,
                , , "21212862", , , [8], [6]], [, , "(?:20(?:[2359]\\d|7[6-8]|88)|302\\d)\\d{6}", , , , "2023123456", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "LA", 856, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2[13]|3[14]|[4-8]"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["30[013-9]"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[23]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "30[013-9]\\d{6}", , , , "301234567", , , [9]], , , [, , , , , ,
                ,
                , , [-1]]], LB: [, [, , "[27-9]\\d{7}|[13-9]\\d{6}", , , , , , , [7, 8]], [, , "7(?:62|8[0-7]|9[04-9])\\d{4}|(?:[14-69]\\d|2(?:[14-69]\\d|[78][1-9])|7[2-57]|8[02-9])\\d{5}", , , , "1123456"], [, , "793(?:[01]\\d|2[0-4])\\d{3}|(?:(?:3|81)\\d|7(?:[01]\\d|6[013-9]|8[89]|9[12]))\\d{5}", , , , "71123456"], [, , , , , , , , , [-1]], [, , "9[01]\\d{6}", , , , "90123456", , , [8]], [, , "80\\d{6}", , , , "80123456", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "LB", 961, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]"],
                    "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], LC: [, [, , "(?:[58]\\d\\d|758|900)\\d{7}", , , , , , , [10], [7]], [, , "758(?:234|4(?:30|5\\d|6[2-9]|8[0-2])|57[0-2]|(?:63|75)8)\\d{4}", , , , "7584305678", , , , [7]], [, , "758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2\\d|3[0-3])|812)\\d{4}", , , , "7582845678", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]],
            [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "LC", 1, "011", "1", , , "([2-8]\\d{6})$|1", "758$1", , , , , [, , , , , , , , , [-1]], , "758", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], LI: [, [, , "[68]\\d{8}|(?:[2378]\\d|90)\\d{5}", , , , , , , [7, 9]], [, , "(?:2(?:01|1[27]|2[02]|3\\d|6[02-578]|96)|3(?:[24]0|33|7[0135-7]|8[048]|9[0269]))\\d{4}",
                ,
                , , "2345678", , , [7]], [, , "(?:6(?:(?:4[5-9]|5[0-469])\\d|6(?:[0245]\\d|[17]0|3[7-9]))\\d|7(?:[37-9]\\d|42|56))\\d{4}", , , , "660234567"], [, , "8002[28]\\d\\d|80(?:05\\d|9)\\d{4}", , , , "8002222"], [, , "90(?:02[258]|1(?:23|3[14])|66[136])\\d\\d", , , , "9002222", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "LI", 423, "00", "0", , , "(1001)|0", , , , [[, "(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2379]|8(?:0[09]|7)", "[2379]|8(?:0(?:02|9)|7)"], , "$CC $1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], [, "(\\d{2})(\\d{3})(\\d{4})",
                    "$1 $2 $3", ["69"], , "$CC $1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"], , "$CC $1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "870(?:28|87)\\d\\d", , , , "8702812", , , [7]], , , [, , "697(?:42|56|[78]\\d)\\d{4}", , , , "697861234", , , [9]]], LK: [, [, , "[1-9]\\d{8}", , , , , , , [9], [7]], [, , "(?:12[2-9]|602|8[12]\\d|9(?:1\\d|22|9[245]))\\d{6}|(?:11|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\\d{6}", , , , "112345678", , , , [7]], [, , "7(?:[0-25-8]\\d|4[0-4])\\d{6}", , , , "712345678"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , ,
                ,
                , , , , [-1]], [, , , , , , , , , [-1]], "LK", 94, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[1-689]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "1973\\d{5}", , , , "197312345"], , , [, , , , , , , , , [-1]]], LR: [, [, , "(?:[25]\\d|33|77|88)\\d{7}|(?:2\\d|[4-6])\\d{6}", , , , , , , [7, 8, 9]], [, , "2\\d{7}", , , , "21234567", , , [8]], [, , "(?:(?:(?:22|33)0|555|(?:77|88)\\d)\\d|4[67])\\d{5}|[56]\\d{6}", , , , "770123456", , , [7, 9]], [, , , , , , , , , [-1]], [, , "332(?:02|[34]\\d)\\d{4}", , , , "332021234",
                ,
                , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "LR", 231, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[4-6]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[23578]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], LS: [, [, , "(?:[256]\\d\\d|800)\\d{5}", , , , , , , [8]], [, , "2\\d{7}", , , , "22123456"], [, , "[56]\\d{7}", , , , "50123456"], [, , "800[256]\\d{4}", , , , "80021234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , ,
                ,
                , [-1]], [, , , , , , , , , [-1]], "LS", 266, "00", , , , , , , , [[, "(\\d{4})(\\d{4})", "$1 $2", ["[2568]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], LT: [, [, , "(?:[3469]\\d|52|[78]0)\\d{6}", , , , , , , [8]], [, , "(?:3[1478]|4[124-6]|52)\\d{6}", , , , "31234567"], [, , "6\\d{7}", , , , "61234567"], [, , "80[02]\\d{5}", , , , "80012345"], [, , "9(?:0[0239]|10)\\d{5}", , , , "90012345"], [, , "808\\d{5}", , , , "80812345"], [, , "70[05]\\d{5}", , , , "70012345"], [, , "[89]01\\d{5}", , , , "80123456"], "LT", 370, "00", "8", , , "[08]", , , , [[, "(\\d)(\\d{3})(\\d{4})",
                    "$1 $2 $3", ["52[0-7]"], "(8-$1)", , 1], [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[7-9]"], "8 $1", , 1], [, "(\\d{2})(\\d{6})", "$1 $2", ["37|4(?:[15]|6[1-8])"], "(8-$1)", , 1], [, "(\\d{3})(\\d{5})", "$1 $2", ["[3-6]"], "(8-$1)", , 1]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "70[67]\\d{5}", , , , "70712345"], , , [, , , , , , , , , [-1]]], LU: [, [, , "35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}", , , , , , , [4, 5, 6, 7, 8, 9, 10, 11]], [, , "(?:35[013-9]|80[2-9]|90[89])\\d{1,8}|(?:2[2-9]|3[0-46-9]|[457]\\d|8[13-9]|9[2-579])\\d{2,9}",
                ,
                , , "27123456"], [, , "6(?:[269][18]|5[1568]|7[189]|81)\\d{6}", , , , "628123456", , , [9]], [, , "800\\d{5}", , , , "80012345", , , [8]], [, , "90[015]\\d{5}", , , , "90012345", , , [8]], [, , "801\\d{5}", , , , "80112345", , , [8]], [, , , , , , , , , [-1]], [, , "20(?:1\\d{5}|[2-689]\\d{1,7})", , , , "20201234", , , [4, 5, 6, 7, 8, 9, 10]], "LU", 352, "00", , , , "(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)", , , , [[, "(\\d{2})(\\d{3})", "$1 $2", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"], , "$CC $1"], [, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"],
                    ,
                    "$CC $1"], [, "(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["20[2-689]"], , "$CC $1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4", ["2(?:[0367]|4[3-8])"], , "$CC $1"], [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["80[01]|90[015]"], , "$CC $1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["20"], , "$CC $1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"], , "$CC $1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4 $5", ["2(?:[0367]|4[3-8])"], , "$CC $1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})", "$1 $2 $3 $4",
                    ["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"], , "$CC $1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], LV: [, [, , "(?:[268]\\d|90)\\d{6}", , , , , , , [8]], [, , "6\\d{7}", , , , "63123456"], [, , "23(?:23[0-57-9]|33[0238])\\d{3}|2(?:[0-24-9]\\d\\d|3(?:0[07]|[14-9]\\d|2[024-9]|3[0-24-9]))\\d{4}", , , , "21234567"], [, , "80\\d{6}", , , , "80123456"], [, , "90\\d{6}", , , , "90123456"], [, , "81\\d{6}", , , , "81123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "LV", 371, "00", , , , , , , , [[, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3",
                    ["[269]|8[01]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], LY: [, [, , "[2-9]\\d{8}", , , , , , , [9], [7]], [, , "(?:2(?:0[56]|[1-6]\\d|7[124579]|8[124])|3(?:1\\d|2[2356])|4(?:[17]\\d|2[1-357]|5[2-4]|8[124])|5(?:[1347]\\d|2[1-469]|5[13-5]|8[1-4])|6(?:[1-479]\\d|5[2-57]|8[1-5])|7(?:[13]\\d|2[13-79])|8(?:[124]\\d|5[124]|84))\\d{6}", , , , "212345678", , , , [7]], [, , "9[1-6]\\d{7}", , , , "912345678"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "LY", 218, "00", "0",
            ,
            , "0", , , , [[, "(\\d{2})(\\d{7})", "$1-$2", ["[2-9]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MA: [, [, , "[5-8]\\d{8}", , , , , , , [9]], [, , "5(?:2(?:[0-25-79]\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}", , , , "520123456"], [, , "(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-2]|5[01]|8[0-3]))\\d{6}", , , , "650123456"], [, , "80[0-7]\\d{6}", , , , "801234567"], [, , "89\\d{7}", , , , "891234567"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}",
                ,
                , , "592401234"], "MA", 212, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5[45]"], "0$1"], [, "(\\d{4})(\\d{5})", "$1-$2", ["5(?:2[2-489]|3[5-9]|9)|8(?:0[89]|92)", "5(?:2(?:[2-49]|8[235-9])|3[5-9]|9)|8(?:0[89]|92)"], "0$1"], [, "(\\d{2})(\\d{7})", "$1-$2", ["8"], "0$1"], [, "(\\d{3})(\\d{6})", "$1-$2", ["[5-7]"], "0$1"]], , [, , , , , , , , , [-1]], 1, , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MC: [, [, , "(?:[3489]|6\\d)\\d{7}", , , , , , , [8, 9]], [, , "(?:870|9[2-47-9]\\d)\\d{5}", , , , "99123456", , , [8]], [, ,
                "4(?:[46]\\d|5[1-9])\\d{5}|(?:3|6\\d)\\d{7}", , , , "612345678"], [, , "(?:800|90\\d)\\d{5}", , , , "90123456", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "MC", 377, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["87"]], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["4"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[389]"]], [, "(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["6"], "0$1"]], [[, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["4"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
                    "$1 $2 $3 $4", ["[389]"]], [, "(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["6"], "0$1"]], [, , , , , , , , , [-1]], , , [, , "8[07]0\\d{5}", , , , , , , [8]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MD: [, [, , "(?:[235-7]\\d|[89]0)\\d{6}", , , , , , , [8]], [, , "(?:(?:2[1-9]|3[1-79])\\d|5(?:33|5[257]))\\d{5}", , , , "22212345"], [, , "562\\d{5}|(?:6\\d|7[16-9])\\d{6}", , , , "62112345"], [, , "800\\d{5}", , , , "80012345"], [, , "90[056]\\d{5}", , , , "90012345"], [, , "808\\d{5}", , , , "80812345"], [, , , , , , , , , [-1]], [, , "3[08]\\d{6}", , , , "30123456"], "MD", 373, "00",
            "0", , , "0", , , , [[, "(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["22|3"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[25-7]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "803\\d{5}", , , , "80312345"], , , [, , , , , , , , , [-1]]], ME: [, [, , "(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}", , , , , , , [8, 9], [6]], [, , "(?:20[2-8]|3(?:[0-2][2-7]|3[24-7])|4(?:0[2-467]|1[2467])|5(?:0[2467]|1[24-7]|2[2-467]))\\d{5}", , , , "30234567", , , [8], [6]], [, , "6(?:[07-9]\\d|3[024]|6[0-25])\\d{5}", , , , "67622901", , , [8]],
            [, , "80(?:[0-2578]|9\\d)\\d{5}", , , , "80080002"], [, , "9(?:4[1568]|5[178])\\d{5}", , , , "94515151", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "78[1-49]\\d{5}", , , , "78108780", , , [8]], "ME", 382, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "77[1-9]\\d{5}", , , , "77273012", , , [8]], , , [, , , , , , , , , [-1]]], MF: [, [, , "590\\d{6}|(?:69|80|9\\d)\\d{7}", , , , , , , [9]], [, , "590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\d{4}", , , , "590271234"], [, , "69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))\\d{4}",
                ,
                , , "690001234"], [, , "80[0-5]\\d{6}", , , , "800012345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "9(?:(?:395|76[018])\\d|475[0-5])\\d{4}", , , , "976012345"], "MF", 590, "00", "0", , , "0", , , , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MG: [, [, , "[23]\\d{8}", , , , , , , [9], [7]], [, , "2072[29]\\d{4}|20(?:2\\d|4[47]|5[3467]|6[279]|7[35]|8[268]|9[245])\\d{5}", , , , "202123456", , , , [7]], [, , "3[2-47-9]\\d{7}", , , , "321234567"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "22\\d{7}",
                ,
                , , "221234567"], "MG", 261, "00", "0", , , "([24-9]\\d{6})$|0", "20$1", , , [[, "(\\d{2})(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["[23]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MH: [, [, , "329\\d{4}|(?:[256]\\d|45)\\d{5}", , , , , , , [7]], [, , "(?:247|45[78]|528|625)\\d{4}", , , , "2471234"], [, , "(?:(?:23|54)5|329|45[356])\\d{4}", , , , "2351234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "635\\d{4}", , , , "6351234"], "MH", 692, "011", "1", , , "1", , , , [[, "(\\d{3})(\\d{4})", "$1-$2",
                    ["[2-6]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MK: [, [, , "[2-578]\\d{7}", , , , , , , [8], [6, 7]], [, , "(?:(?:2(?:62|77)0|3444)\\d|4[56]440)\\d{3}|(?:34|4[357])700\\d{3}|(?:2(?:[0-3]\\d|5[0-578]|6[01]|82)|3(?:1[3-68]|[23][2-68]|4[23568])|4(?:[23][2-68]|4[3-68]|5[2568]|6[25-8]|7[24-68]|8[4-68]))\\d{5}", , , , "22012345", , , , [6, 7]], [, , "7(?:3555|(?:474|9[019]7)7)\\d{3}|7(?:[0-25-8]\\d\\d|3(?:[1-48]\\d|6[01]|7[01578])|4(?:2\\d|60|7[01578])|9(?:[2-4]\\d|5[01]|7[015]))\\d{4}", , , , "72345678"],
            [, , "800\\d{5}", , , , "80012345"], [, , "5\\d{7}", , , , "50012345"], [, , "8(?:0[1-9]|[1-9]\\d)\\d{5}", , , , "80123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "MK", 389, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2|34[47]|4(?:[37]7|5[47]|64)"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[347]"], "0$1"], [, "(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[58]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], ML: [, [, , "[24-9]\\d{7}", , , , , , , [8]], [, , "2(?:07[0-8]|12[67])\\d{4}|(?:2(?:02|1[4-689])|4(?:0[0-4]|4[1-39]))\\d{5}",
                ,
                , , "20212345"], [, , "2(?:0(?:01|79)|17\\d)\\d{4}|(?:5[01]|[679]\\d|8[2-49])\\d{6}", , , , "65012345"], [, , "80\\d{6}", , , , "80012345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "ML", 223, "00", , , , , , , , [[, "(\\d{4})", "$1", ["67[057-9]|74[045]", "67(?:0[09]|[59]9|77|8[89])|74(?:0[02]|44|55)"]], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-9]"]]], [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-9]"]]], [, , , , , , , , , [-1]], , , [, , "80\\d{6}"], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MM: [,
            [, , "1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}", , , , , , , [6, 7, 8, 9, 10], [5]], [, , "(?:1(?:(?:2\\d|3[56]|[89][0-6])\\d|4(?:2[29]|62|7[0-2]|83)|6)|2(?:2(?:00|8[34])|4(?:0\\d|[26]2|7[0-2]|83)|51\\d\\d)|4(?:2(?:2\\d\\d|48[013])|3(?:20\\d|4(?:70|83)|56)|420\\d|5470)|6(?:0(?:[23]|88\\d)|(?:124|[56]2\\d)\\d|2472|3(?:20\\d|470)|4(?:2[04]\\d|472)|7(?:(?:3\\d|8[01459])\\d|4[67]0)))\\d{4}|5(?:2(?:2\\d{5,6}|47[02]\\d{4})|(?:3472|4(?:2(?:1|86)|470)|522\\d|6(?:20\\d|483)|7(?:20\\d|48[01])|8(?:20\\d|47[02])|9(?:20\\d|470))\\d{4})|7(?:(?:0470|4(?:25\\d|470)|5(?:202|470|96\\d))\\d{4}|1(?:20\\d{4,5}|4(?:70|83)\\d{4}))|8(?:1(?:2\\d{5,6}|4(?:10|7[01]\\d)\\d{3})|2(?:2\\d{5,6}|(?:320|490\\d)\\d{3})|(?:3(?:2\\d\\d|470)|4[24-7]|5(?:(?:2\\d|51)\\d|4(?:[1-35-9]\\d|4[0-57-9]))|6[23])\\d{4})|(?:1[2-6]\\d|4(?:2[24-8]|3[2-7]|[46][2-6]|5[3-5])|5(?:[27][2-8]|3[2-68]|4[24-8]|5[23]|6[2-4]|8[24-7]|9[2-7])|6(?:[19]20|42[03-6]|(?:52|7[45])\\d)|7(?:[04][24-8]|[15][2-7]|22|3[2-4])|8(?:1[2-689]|2[2-8]|[35]2\\d))\\d{4}|25\\d{5,6}|(?:2[2-9]|6(?:1[2356]|[24][2-6]|3[24-6]|5[2-4]|6[2-8]|7[235-7]|8[245]|9[24])|8(?:3[24]|5[245]))\\d{4}",
                ,
                , , "1234567", , , [6, 7, 8, 9], [5]], [, , "(?:17[01]|9(?:2(?:[0-4]|[56]\\d\\d)|(?:3(?:[0-36]|4\\d)|(?:6\\d|8[89]|9[4-8])\\d|7(?:3|40|[5-9]\\d))\\d|4(?:(?:[0245]\\d|[1379])\\d|88)|5[0-6])\\d)\\d{4}|9[69]1\\d{6}|9(?:[68]\\d|9[089])\\d{5}", , , , "92123456", , , [7, 8, 9, 10]], [, , "80080(?:0[1-9]|2\\d)\\d{3}", , , , "8008001234", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "1333\\d{4}|[12]468\\d{4}", , , , "13331234", , , [8]], "MM", 95, "00", "0", , , "0", , , , [[, "(\\d)(\\d{2})(\\d{3})", "$1 $2 $3", ["16|2"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{3})",
                    "$1 $2 $3", ["[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]"], "0$1"], [, "(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[12]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[4-7]|8[1-35]"], "0$1"], [, "(\\d)(\\d{3})(\\d{4,6})", "$1 $2 $3", ["9(?:2[0-4]|[35-9]|4[137-9])"], "0$1"], [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"], [, "(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["92"], "0$1"], [, "(\\d)(\\d{5})(\\d{4})", "$1 $2 $3", ["9"], "0$1"]], , [, , ,
                ,
                , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MN: [, [, , "[12]\\d{7,9}|[5-9]\\d{7}", , , , , , , [8, 9, 10], [4, 5, 6]], [, , "[12]2[1-3]\\d{5,6}|(?:(?:[12](?:1|27)|5[368])\\d\\d|7(?:0(?:[0-5]\\d|7[078]|80)|128))\\d{4}|[12](?:3[2-8]|4[2-68]|5[1-4689])\\d{6,7}", , , , "53123456", , , , [4, 5, 6]], [, , "(?:83[01]|92[039])\\d{5}|(?:5[05]|6[069]|8[015689]|9[013-9])\\d{6}", , , , "88123456", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "712[0-79]\\d{4}|7(?:1[013-9]|[25-9]\\d)\\d{5}", , , , "75123456",
                ,
                , [8]], "MN", 976, "001", "0", , , "0", , , , [[, "(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[12]1"], "0$1"], [, "(\\d{4})(\\d{4})", "$1 $2", ["[5-9]"]], [, "(\\d{3})(\\d{5,6})", "$1 $2", ["[12]2[1-3]"], "0$1"], [, "(\\d{4})(\\d{5,6})", "$1 $2", ["[12](?:27|3[2-8]|4[2-68]|5[1-4689])", "[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"], "0$1"], [, "(\\d{5})(\\d{4,5})", "$1 $2", ["[12]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MO: [, [, , "0800\\d{3}|(?:28|[68]\\d)\\d{6}", , , , , , , [7, 8]], [, , "(?:28[2-9]|8(?:11|[2-57-9]\\d))\\d{5}",
                ,
                , , "28212345", , , [8]], [, , "6800[0-79]\\d{3}|6(?:[235]\\d\\d|6(?:0[0-5]|[1-9]\\d)|8(?:0[1-9]|[14-8]\\d|2[5-9]|[39][0-4]))\\d{4}", , , , "66123456", , , [8]], [, , "0800\\d{3}", , , , "0800501", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "MO", 853, "00", , , , , , , , [[, "(\\d{4})(\\d{3})", "$1 $2", ["0"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["[268]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MP: [, [, , "[58]\\d{9}|(?:67|90)0\\d{7}", , , , , , , [10], [7]], [, , "670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}",
                ,
                , , "6702345678", , , , [7]], [, , "670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}", , , , "6702345678", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
                ,
                , , "5002345678"], [, , , , , , , , , [-1]], "MP", 1, "011", "1", , , "([2-9]\\d{6})$|1", "670$1", , 1, , , [, , , , , , , , , [-1]], , "670", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MQ: [, [, , "596\\d{6}|(?:69|80|9\\d)\\d{7}", , , , , , , [9]], [, , "596(?:[03-7]\\d|10|2[7-9]|8[0-39]|9[04-9])\\d{4}", , , , "596301234"], [, , "69(?:6(?:[0-46-9]\\d|5[0-6])|727)\\d{4}", , , , "696201234"], [, , "80[0-5]\\d{6}", , , , "800012345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "9(?:397[0-2]|477[0-5]|76(?:6\\d|7[0-367]))\\d{4}", , , , "976612345"], "MQ", 596,
            "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[569]"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MR: [, [, , "(?:[2-4]\\d\\d|800)\\d{5}", , , , , , , [8]], [, , "(?:25[08]|35\\d|45[1-7])\\d{5}", , , , "35123456"], [, , "[2-4][0-46-9]\\d{6}", , , , "22123456"], [, , "800\\d{5}", , , , "80012345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "MR", 222, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
                    "$1 $2 $3 $4", ["[2-48]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MS: [, [, , "(?:[58]\\d\\d|664|900)\\d{7}", , , , , , , [10], [7]], [, , "6644(?:1[0-3]|91)\\d{4}", , , , "6644912345", , , , [7]], [, , "664(?:3(?:49|9[1-6])|49[2-6])\\d{4}", , , , "6644923456", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
                ,
                , , "5002345678"], [, , , , , , , , , [-1]], "MS", 1, "011", "1", , , "([34]\\d{6})$|1", "664$1", , , , , [, , , , , , , , , [-1]], , "664", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MT: [, [, , "3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}", , , , , , , [8]], [, , "20(?:3[1-4]|6[059])\\d{4}|2(?:0[19]|[1-357]\\d|60)\\d{5}", , , , "21001234"], [, , "(?:7(?:210|[79]\\d\\d)|9(?:[29]\\d\\d|69[67]|8(?:1[1-3]|89|97)))\\d{4}", , , , "96961234"], [, , "800(?:02|[3467]\\d)\\d{3}", , , , "80071234"], [, , "5(?:0(?:0(?:37|43)|(?:6\\d|70|9[0168])\\d)|[12]\\d0[1-5])\\d{3}", , , ,
                "50037123"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "3550\\d{4}", , , , "35501234"], "MT", 356, "00", , , , , , , , [[, "(\\d{4})(\\d{4})", "$1 $2", ["[2357-9]"]]], , [, , "7117\\d{4}", , , , "71171234"], , , [, , , , , , , , , [-1]], [, , "501\\d{5}", , , , "50112345"], , , [, , , , , , , , , [-1]]], MU: [, [, , "(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}", , , , , , , [7, 8, 10]], [, , "(?:2(?:[0346-8]\\d|1[0-7])|4(?:[013568]\\d|2[4-8])|54(?:[3-5]\\d|71)|6\\d\\d|8(?:14|3[129]))\\d{4}", , , , "54480123", , , [7, 8]], [, , "5(?:4(?:2[1-389]|7[1-9])|87[15-8])\\d{4}|(?:5(?:2[5-9]|4[3-689]|[57]\\d|8[0-689]|9[0-8])|7(?:0[0-3]|3[013]))\\d{5}",
                ,
                , , "52512345", , , [8]], [, , "802\\d{7}|80[0-2]\\d{4}", , , , "8001234", , , [7, 10]], [, , "30\\d{5}", , , , "3012345", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "3(?:20|9\\d)\\d{4}", , , , "3201234", , , [7]], "MU", 230, "0(?:0|[24-7]0|3[03])", , , , , , "020", , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[2-46]|8[013]"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["[57]"]], [, "(\\d{5})(\\d{5})", "$1 $2", ["8"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MV: [, [, , "(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}", , , , , , , [7, 10]], [, , "(?:3(?:0[0-3]|3[0-59])|6(?:[58][024689]|6[024-68]|7[02468]))\\d{4}",
                ,
                , , "6701234", , , [7]], [, , "(?:46[46]|[79]\\d\\d)\\d{4}", , , , "7712345", , , [7]], [, , "800\\d{7}", , , , "8001234567", , , [10]], [, , "900\\d{7}", , , , "9001234567", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "MV", 960, "0(?:0|19)", , , , , , "00", , [[, "(\\d{3})(\\d{4})", "$1-$2", ["[34679]"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "4(?:0[01]|50)\\d{4}", , , , "4001234", , , [7]], , , [, , , , , , , , , [-1]]], MW: [, [, , "(?:[1289]\\d|31|77)\\d{7}|1\\d{6}", , , , , , , [7, 9]], [, , "(?:1[2-9]|2[12]\\d\\d)\\d{5}",
                ,
                , , "1234567"], [, , "111\\d{6}|(?:31|77|[89][89])\\d{7}", , , , "991234567", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "MW", 265, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["1[2-9]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[137-9]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MX: [, [, , "1(?:(?:[27]2|44|87|99)[1-9]|65[0-689])\\d{7}|(?:1(?:[01]\\d|2[13-9]|[35][1-9]|4[0-35-9]|6[0-46-9]|7[013-9]|8[1-69]|9[1-8])|[2-9]\\d)\\d{8}",
                ,
                , , , , , [10, 11], [7, 8]], [, , "657[12]\\d{6}|(?:2(?:0[01]|2\\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[25-7][1-9]|3[1-8]|4\\d|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[13467][1-9]|2\\d|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[0-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|6[1-9]|7[12]|8[1-8]|9\\d))\\d{7}", , , , "2001234567", , , [10], [7, 8]],
            [, , "657[12]\\d{6}|(?:1(?:2(?:2[1-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-7][1-9]|3[1-8]|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1-467][1-9]|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))|2(?:2\\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[25-7][1-9]|3[1-8]|4\\d|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[13467][1-9]|2\\d|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[0-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|6[1-9]|7[12]|8[1-8]|9\\d))\\d{7}",
                ,
                , , "12221234567", , , , [7, 8]], [, , "8(?:00|88)\\d{7}", , , , "8001234567", , , [10]], [, , "900\\d{7}", , , , "9001234567", , , [10]], [, , "300\\d{7}", , , , "3001234567", , , [10]], [, , "500\\d{7}", , , , "5001234567", , , [10]], [, , , , , , , , , [-1]], "MX", 52, "0[09]", "01", , , "0(?:[12]|4[45])|1", , "00", , [[, "(\\d{5})", "$1", ["53"]], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"], , , 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"], , , 1], [, "(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 $3 $4", ["1(?:33|5[56]|81)"], , , 1], [, "(\\d)(\\d{3})(\\d{3})(\\d{4})",
                    "$2 $3 $4", ["1"], , , 1]], [[, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"], , , 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"], , , 1], [, "(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 $3 $4", ["1(?:33|5[56]|81)"], , , 1], [, "(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 $3 $4", ["1"], , , 1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MY: [, [, , "1\\d{8,9}|(?:3\\d|[4-9])\\d{7}", , , , , , , [8, 9, 10], [6, 7]], [, , "(?:3(?:2[0-36-9]|3[0-368]|4[0-278]|5[0-24-8]|6[0-467]|7[1246-9]|8\\d|9[0-57])\\d|4(?:2[0-689]|[3-79]\\d|8[1-35689])|5(?:2[0-589]|[3468]\\d|5[0-489]|7[1-9]|9[23])|6(?:2[2-9]|3[1357-9]|[46]\\d|5[0-6]|7[0-35-9]|85|9[015-8])|7(?:[2579]\\d|3[03-68]|4[0-8]|6[5-9]|8[0-35-9])|8(?:[24][2-8]|3[2-5]|5[2-7]|6[2-589]|7[2-578]|[89][2-9])|9(?:0[57]|13|[25-7]\\d|[3489][0-8]))\\d{5}",
                ,
                , , "323856789", , , [8, 9], [6, 7]], [, , "1(?:1888[689]|4400|8(?:47|8[27])[0-4])\\d{4}|1(?:0(?:[23568]\\d|4[0-6]|7[016-9]|9[0-8])|1(?:[1-5]\\d\\d|6(?:0[5-9]|[1-9]\\d)|7(?:[0-4]\\d|5[0-7]))|(?:[269]\\d|[37][1-9]|4[235-9])\\d|5(?:31|9\\d\\d)|8(?:1[23]|[236]\\d|4[06]|5(?:46|[7-9])|7[016-9]|8[01]|9[0-8]))\\d{5}", , , , "123456789", , , [9, 10]], [, , "1[378]00\\d{6}", , , , "1300123456", , , [10]], [, , "1600\\d{6}", , , , "1600123456", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "15(?:4(?:6[0-4]\\d|8(?:0[125]|[17]\\d|21|3[01]|4[01589]|5[014]|6[02]))|6(?:32[0-6]|78\\d))\\d{4}",
                ,
                , , "1546012345", , , [10]], "MY", 60, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{4})", "$1-$2 $3", ["[4-79]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1-$2 $3", ["1(?:[02469]|[378][1-9]|53)|8", "1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"], "0$1"], [, "(\\d)(\\d{4})(\\d{4})", "$1-$2 $3", ["3"], "0$1"], [, "(\\d)(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3-$4", ["1(?:[367]|80)"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2 $3", ["15"], "0$1"], [, "(\\d{2})(\\d{4})(\\d{4})", "$1-$2 $3", ["1"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [,
                ,
                , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], MZ: [, [, , "(?:2|8\\d)\\d{7}", , , , , , , [8, 9]], [, , "2(?:[1346]\\d|5[0-2]|[78][12]|93)\\d{5}", , , , "21123456", , , [8]], [, , "8[2-79]\\d{7}", , , , "821234567", , , [9]], [, , "800\\d{6}", , , , "800123456", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "MZ", 258, "00", , , , , , , , [[, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2|8[2-79]"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], NA: [, [, , "[68]\\d{7,8}",
                ,
                , , , , , [8, 9]], [, , "64426\\d{3}|6(?:1(?:2[2-7]|3[01378]|4[0-4])|254|32[0237]|4(?:27|41|5[25])|52[236-8]|626|7(?:2[2-4]|30))\\d{4,5}|6(?:1(?:(?:0\\d|2[0189]|3[24-69]|4[5-9])\\d|17|69|7[014])|2(?:17|5[0-36-8]|69|70)|3(?:17|2[14-689]|34|6[289]|7[01]|81)|4(?:17|2[0-2]|4[06]|5[0137]|69|7[01])|5(?:17|2[0459]|69|7[01])|6(?:17|25|38|42|69|7[01])|7(?:17|2[569]|3[13]|6[89]|7[01]))\\d{4}", , , , "61221234"], [, , "(?:60|8[1245])\\d{7}", , , , "811234567", , , [9]], [, , "80\\d{7}", , , , "800123456", , , [9]], [, , "8701\\d{5}", , , , "870123456",
                ,
                , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "8(?:3\\d\\d|86)\\d{5}", , , , "88612345"], "NA", 264, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["87"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], NC: [, [, , "(?:050|[2-57-9]\\d\\d)\\d{3}", , , , , , , [6]], [, , "(?:2[03-9]|3[0-5]|4[1-7]|88)\\d{4}", , , , "201234"], [,
                ,
                "(?:5[0-4]|[79]\\d|8[0-79])\\d{4}", , , , "751234"], [, , "050\\d{3}", , , , "050012"], [, , "36\\d{4}", , , , "366711"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "NC", 687, "00", , , , , , , , [[, "(\\d{3})", "$1", ["5[6-8]"]], [, "(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-57-9]"]]], [[, "(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-57-9]"]]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], NE: [, [, , "[027-9]\\d{7}", , , , , , , [8]], [, , "2(?:0(?:20|3[1-8]|4[13-5]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\d{4}",
                ,
                , , "20201234"], [, , "(?:23|7[047]|[89]\\d)\\d{6}", , , , "93123456"], [, , "08\\d{6}", , , , "08123456"], [, , "09\\d{6}", , , , "09123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "NE", 227, "00", , , , , , , , [[, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["08"]], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[089]|2[013]|7[047]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], NF: [, [, , "[13]\\d{5}", , , , , , , [6], [5]], [, , "(?:1(?:06|17|28|39)|3[0-2]\\d)\\d{3}", , , , "106609", , , , [5]], [, , "(?:14|3[58])\\d{4}",
                ,
                , , "381234", , , , [5]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "NF", 672, "00", , , , "([0-258]\\d{4})$", "3$1", , , [[, "(\\d{2})(\\d{4})", "$1 $2", ["1[0-3]"]], [, "(\\d)(\\d{5})", "$1 $2", ["[13]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], NG: [, [, , "(?:[124-7]|9\\d{3})\\d{6}|[1-9]\\d{7}|[78]\\d{9,13}", , , , , , , [7, 8, 10, 11, 12, 13, 14], [5, 6]], [, , "(?:(?:[1-356]\\d|4[02-8]|8[2-9])\\d|9(?:0[3-9]|[1-9]\\d))\\d{5}|7(?:0(?:[013-689]\\d|2[0-24-9])\\d{3,4}|[1-79]\\d{6})|(?:[12]\\d|4[147]|5[14579]|6[1578]|7[1-3578])\\d{5}",
                ,
                , , "18040123", , , [7, 8], [5, 6]], [, , "(?:702[0-24-9]|819[01])\\d{6}|(?:70[13-689]|8(?:0[1-9]|1[0-8])|9(?:0[1-9]|1[1-356]))\\d{7}", , , , "8021234567", , , [10]], [, , "800\\d{7,11}", , , , "80017591759", , , [10, 11, 12, 13, 14]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "NG", 234, "009", "0", , , "0", , , , [[, "(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["78"], "0$1"], [, "(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[12]|9(?:0[3-9]|[1-9])"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[3-7]|8[2-9]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3,4})",
                    "$1 $2 $3", ["[7-9]"], "0$1"], [, "(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[78]"], "0$1"], [, "(\\d{3})(\\d{5})(\\d{5,6})", "$1 $2 $3", ["[78]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "700\\d{7,11}", , , , "7001234567", , , [10, 11, 12, 13, 14]], , , [, , , , , , , , , [-1]]], NI: [, [, , "(?:1800|[25-8]\\d{3})\\d{4}", , , , , , , [8]], [, , "2\\d{7}", , , , "21234567"], [, , "(?:5(?:5[0-7]|[78]\\d)|6(?:20|3[035]|4[045]|5[05]|77|8[1-9]|9[059])|(?:7[5-8]|8\\d)\\d)\\d{5}", , , , "81234567"], [, , "1800\\d{4}", , , , "18001234"], [, , , , , , , , , [-1]], [, , , , , , , , ,
                [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "NI", 505, "00", , , , , , , , [[, "(\\d{4})(\\d{4})", "$1 $2", ["[125-8]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], NL: [, [, , "(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}", , , , , , , [5, 6, 7, 8, 9, 10, 11]], [, , "(?:1(?:[035]\\d|1[13-578]|6[124-8]|7[24]|8[0-467])|2(?:[0346]\\d|2[2-46-9]|5[125]|9[479])|3(?:[03568]\\d|1[3-8]|2[01]|4[1-8])|4(?:[0356]\\d|1[1-368]|7[58]|8[15-8]|9[23579])|5(?:[0358]\\d|[19][1-9]|2[1-57-9]|4[13-8]|6[126]|7[0-3578])|7\\d\\d)\\d{6}",
                ,
                , , "101234567", , , [9]], [, , "(?:6[1-58]|970\\d)\\d{7}", , , , "612345678", , , [9, 11]], [, , "800\\d{4,7}", , , , "8001234", , , [7, 8, 9, 10]], [, , "90[069]\\d{4,7}", , , , "9061234", , , [7, 8, 9, 10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:85|91)\\d{7}", , , , "851234567", , , [9]], "NL", 31, "00", "0", , , "0", , , , [[, "(\\d{4})", "$1", ["1[238]|[34]"]], [, "(\\d{2})(\\d{3,4})", "$1 $2", ["14"]], [, "(\\d{6})", "$1", ["1"]], [, "(\\d{3})(\\d{4,7})", "$1 $2", ["[89]0"], "0$1"], [, "(\\d{2})(\\d{7})", "$1 $2", ["66"], "0$1"], [, "(\\d)(\\d{8})", "$1 $2", ["6"], "0$1"], [,
                    "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-578]|91"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3", ["9"], "0$1"]], [[, "(\\d{3})(\\d{4,7})", "$1 $2", ["[89]0"], "0$1"], [, "(\\d{2})(\\d{7})", "$1 $2", ["66"], "0$1"], [, "(\\d)(\\d{8})", "$1 $2", ["6"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-578]|91"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{5})",
                    "$1 $2 $3", ["9"], "0$1"]], [, , "66\\d{7}", , , , "662345678", , , [9]], , , [, , "140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)\\d", , , , , , , [5, 6]], [, , "140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|(?:140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)|8[478]\\d{6})\\d", , , , "14020", , , [5, 6, 9]], , , [, , , , , , , , , [-1]]], NO: [, [, , "(?:0|[2-9]\\d{3})\\d{4}", , , , , , , [5, 8]], [, , "(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\d{6}", , , , "21234567", , , [8]], [, , "(?:4[015-8]|9\\d)\\d{6}",
                ,
                , , "40612345", , , [8]], [, , "80[01]\\d{5}", , , , "80012345", , , [8]], [, , "82[09]\\d{5}", , , , "82012345", , , [8]], [, , "810(?:0[0-6]|[2-8]\\d)\\d{3}", , , , "81021234", , , [8]], [, , "880\\d{5}", , , , "88012345", , , [8]], [, , "85[0-5]\\d{5}", , , , "85012345", , , [8]], "NO", 47, "00", , , , , , , , [[, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["8"]], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]"]]], , [, , , , , , , , , [-1]], 1, "[02-689]|7[0-8]", [, , , , , , , , , [-1]], [, , "(?:0[2-9]|81(?:0(?:0[7-9]|1\\d)|5\\d\\d))\\d{3}", , , , "02000"], , , [, , "81[23]\\d{5}", ,
                ,
                , "81212345", , , [8]]], NP: [, [, , "(?:1\\d|9)\\d{9}|[1-9]\\d{7}", , , , , , , [8, 10, 11], [6, 7]], [, , "(?:1[0-6]\\d|99[02-6])\\d{5}|(?:2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-7])[2-6]\\d{5}", , , , "14567890", , , [8], [6, 7]], [, , "9(?:6[0-3]|7[024-6]|8[0-24-68])\\d{7}", , , , "9841234567", , , [10]], [, , "1(?:66001|800\\d\\d)\\d{5}", , , , "16600101234", , , [11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "NP", 977, "00", "0", , , "0", , , , [[, "(\\d)(\\d{7})", "$1-$2", ["1[2-6]"], "0$1"], [, "(\\d{2})(\\d{6})",
                    "$1-$2", ["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"], "0$1"], [, "(\\d{3})(\\d{7})", "$1-$2", ["9"]], [, "(\\d{4})(\\d{2})(\\d{5})", "$1-$2-$3", ["1"]]], [[, "(\\d)(\\d{7})", "$1-$2", ["1[2-6]"], "0$1"], [, "(\\d{2})(\\d{6})", "$1-$2", ["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"], "0$1"], [, "(\\d{3})(\\d{7})", "$1-$2", ["9"]]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], NR: [, [, , "(?:444|(?:55|8\\d)\\d|666)\\d{4}", , , , , , , [7]], [, , "444\\d{4}", , , , "4441234"], [, , "(?:55[3-9]|666|8\\d\\d)\\d{4}", , , , "5551234"], [, , , , , ,
                ,
                , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "NR", 674, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[4-68]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], NU: [, [, , "(?:[4-7]|888\\d)\\d{3}", , , , , , , [4, 7]], [, , "[47]\\d{3}", , , , "7012", , , [4]], [, , "(?:[56]|888[1-9])\\d{3}", , , , "8884012"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "NU", 683, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["8"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]],
            [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], NZ: [, [, , "[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}", , , , , , , [5, 6, 7, 8, 9, 10]], [, , "24099\\d{3}|(?:3[2-79]|[49][2-9]|6[235-9]|7[2-57-9])\\d{6}", , , , "32345678", , , [8], [7]], [, , "2(?:[0-27-9]\\d|6)\\d{6,7}|2(?:1\\d|75)\\d{5}", , , , "211234567", , , [8, 9, 10]], [, , "508\\d{6,7}|80\\d{6,8}", , , , "800123456", , , [8, 9, 10]], [, , "(?:1[13-57-9]\\d{5}|50(?:0[08]|30|66|77|88))\\d{3}|90\\d{6,8}", , , , "900123456", , , [7, 8, 9, 10]], [, , , , , , , , , [-1]], [, , "70\\d{7}",
                ,
                , , "701234567", , , [9]], [, , , , , , , , , [-1]], "NZ", 64, "0(?:0|161)", "0", , , "0", , "00", , [[, "(\\d{2})(\\d{3,8})", "$1 $2", ["8[1-79]"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["50[036-8]|8|90", "50(?:[0367]|88)|8|90"], "0$1"], [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["24|[346]|7[2-57-9]|9[2-9]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:10|74)|[589]"], "0$1"], [, "(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1|2[028]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,5})", "$1 $2 $3", ["2(?:[169]|7[0-35-9])|7"], "0$1"]],
            ,
            [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "8(?:1[16-9]|22|3\\d|4[045]|5[459]|6[235-9]|7[0-3579]|90)\\d{2,7}", , , , "83012378"], , , [, , , , , , , , , [-1]]], OM: [, [, , "(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}", , , , , , , [7, 8, 9]], [, , "2[1-6]\\d{6}", , , , "23123456", , , [8]], [, , "1505\\d{4}|(?:7(?:[1289]\\d|6[89]|7[0-5])|9(?:0[1-9]|[1-9]\\d))\\d{5}", , , , "92123456", , , [8]], [, , "8007\\d{4,5}|(?:500|800[05])\\d{4}", , , , "80071234"], [, , "900\\d{5}", , , , "90012345", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "OM", 968, "00", , , , , , ,
            ,
            [[, "(\\d{3})(\\d{4,6})", "$1 $2", ["[58]"]], [, "(\\d{2})(\\d{6})", "$1 $2", ["2"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["[179]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], PA: [, [, , "(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}", , , , , , , [7, 8, 10, 11]], [, , "(?:1(?:0\\d|1[479]|2[37]|3[0137]|4[17]|5[05]|6[058]|7[0167]|8[2358]|9[1389])|2(?:[0235-79]\\d|1[0-7]|4[013-9]|8[02-9])|3(?:[089]\\d|1[0-7]|2[0-5]|33|4[0-79]|5[0-35]|6[068]|7[0-8])|4(?:00|3[0-579]|4\\d|7[0-57-9])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[0156]|7[0-24-9]|8[5-9]|90)|8(?:09|2[89]|3\\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\\d))\\d{4}",
                ,
                , , "2001234", , , [7]], [, , "(?:1[16]1|21[89]|6\\d{3}|8(?:1[01]|7[23]))\\d{4}", , , , "61234567", , , [7, 8]], [, , "800\\d{4,5}|(?:00800|800\\d)\\d{6}", , , , "8001234"], [, , "(?:8(?:22|55|60|7[78]|86)|9(?:00|81))\\d{4}", , , , "8601234", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "PA", 507, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1-$2", ["[1-57-9]"]], [, "(\\d{4})(\\d{4})", "$1-$2", ["[68]"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], PE: [, [, , "(?:[14-8]|9\\d)\\d{7}",
                ,
                , , , , , [8, 9], [6, 7]], [, , "(?:(?:4[34]|5[14])[0-8]\\d|7(?:173|3[0-8]\\d)|8(?:10[05689]|6(?:0[06-9]|1[6-9]|29)|7(?:0[569]|[56]0)))\\d{4}|(?:1[0-8]|4[12]|5[236]|6[1-7]|7[246]|8[2-4])\\d{6}", , , , "11234567", , , [8], [6, 7]], [, , "9\\d{8}", , , , "912345678", , , [9]], [, , "800\\d{5}", , , , "80012345", , , [8]], [, , "805\\d{5}", , , , "80512345", , , [8]], [, , "801\\d{5}", , , , "80112345", , , [8]], [, , "80[24]\\d{5}", , , , "80212345", , , [8]], [, , , , , , , , , [-1]], "PE", 51, "00|19(?:1[124]|77|90)00", "0", " Anexo ", , "0", , "00", , [[, "(\\d{3})(\\d{5})", "$1 $2", ["80"],
                    "(0$1)"], [, "(\\d)(\\d{7})", "$1 $2", ["1"], "(0$1)"], [, "(\\d{2})(\\d{6})", "$1 $2", ["[4-8]"], "(0$1)"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], PF: [, [, , "4\\d{5}(?:\\d{2})?|8\\d{7,8}", , , , , , , [6, 8, 9]], [, , "4(?:0[4-689]|9[4-68])\\d{5}", , , , "40412345", , , [8]], [, , "8[7-9]\\d{6}", , , , "87123456", , , [8]], [, , "80[0-5]\\d{6}", , , , "800012345", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "499\\d{5}", , , , "49901234", , , [8]], "PF", 689, "00",
            ,
            , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["44"]], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4|8[7-9]"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]], , [, , , , , , , , , [-1]], , , [, , "44\\d{4}", , , , , , , [6]], [, , "44\\d{4}", , , , "440123", , , [6]], , , [, , , , , , , , , [-1]]], PG: [, [, , "(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}", , , , , , , [7, 8]], [, , "(?:(?:3[0-2]|4[257]|5[34]|9[78])\\d|64[1-9]|85[02-46-9])\\d{4}", , , , "3123456", , , [7]], [, , "(?:7\\d|8[128])\\d{6}", , , , "70123456", , , [8]], [, , "180\\d{4}", , ,
                ,
                "1801234", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "2(?:0[0-57]|7[568])\\d{4}", , , , "2751234", , , [7]], "PG", 675, "00|140[1-3]", , , , , , "00", , [[, "(\\d{3})(\\d{4})", "$1 $2", ["18|[2-69]|85"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["[78]"]]], , [, , "27[01]\\d{4}", , , , "2700123", , , [7]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], PH: [, [, , "(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}", , , , , , , [6, 8, 9, 10, 11, 12, 13], [4, 5, 7]], [, , "(?:(?:2[3-8]|3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578])\\d{3}|88(?:22\\d\\d|42))\\d{4}|(?:2|8[2-8]\\d\\d)\\d{5}",
                ,
                , , "232345678", , , [6, 8, 9, 10], [4, 5, 7]], [, , "(?:8(?:1[37]|9[5-8])|9(?:0[5-9]|1[0-24-9]|[235-7]\\d|4[2-9]|8[135-9]|9[1-9]))\\d{7}", , , , "9051234567", , , [10]], [, , "1800\\d{7,9}", , , , "180012345678", , , [11, 12, 13]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "PH", 63, "00", "0", , , "0", , , , [[, "(\\d)(\\d{5})", "$1 $2", ["2"], "(0$1)"], [, "(\\d{4})(\\d{4,6})", "$1 $2", ["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2", "3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],
                    "(0$1)"], [, "(\\d{5})(\\d{4})", "$1 $2", ["346|4(?:27|9[35])|883", "3469|4(?:279|9(?:30|56))|8834"], "(0$1)"], [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "(0$1)"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|8[2-8]"], "(0$1)"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], [, "(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["1"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], PK: [, [, , "122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",
                ,
                , , , , , [8, 9, 10, 11, 12], [5, 6, 7]], [, , "(?:(?:21|42)[2-9]|58[126])\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\d{6,7}|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8]))[2-9]\\d{5,6}", , , , "2123456789", , , [9, 10], [5, 6, 7, 8]], [, , "3(?:[0-247]\\d|3[0-79]|55|64)\\d{7}", , , , "3012345678", , , [10]], [, , "800\\d{5}(?:\\d{3})?", , , , "80012345", , , [8, 11]], [, , "900\\d{5}", , , , "90012345", , , [8]], [, , , , , , , , , [-1]], [, , "122\\d{6}",
                ,
                , , "122044444", , , [9]], [, , , , , , , , , [-1]], "PK", 92, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3})(\\d{2,7})", "$1 $2 $3", ["[89]0"], "0$1"], [, "(\\d{4})(\\d{5})", "$1 $2", ["1"]], [, "(\\d{3})(\\d{6,7})", "$1 $2", ["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])", "9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"],
                    "(0$1)"], [, "(\\d{2})(\\d{7,8})", "$1 $2", ["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"], "(0$1)"], [, "(\\d{5})(\\d{5})", "$1 $2", ["58"], "(0$1)"], [, "(\\d{3})(\\d{7})", "$1 $2", ["3"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"], "(0$1)"], [, "(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[24-9]"], "(0$1)"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:0[468]|[1-8])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\d{6}",
                ,
                , , "21111825888", , , [11, 12]], , , [, , , , , , , , , [-1]]], PL: [, [, , "(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}", , , , , , , [6, 7, 8, 9, 10]], [, , "47\\d{7}|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])(?:[02-9]\\d{6}|1(?:[0-8]\\d{5}|9\\d{3}(?:\\d{2})?))", , , , "123456789", , , [7, 9]], [, , "21(?:1(?:[145]\\d|3[1-5])|2\\d\\d)\\d{4}|(?:45|5[0137]|6[069]|7[2389]|88)\\d{7}", , , , "512345678", , , [9]], [, , "800\\d{6,7}", , , , "800123456", , , [9, 10]], [, , "70[01346-8]\\d{6}", , , , "701234567", , , [9]], [, , "801\\d{6}",
                ,
                , , "801234567", , , [9]], [, , , , , , , , , [-1]], [, , "39\\d{7}", , , , "391234567", , , [9]], "PL", 48, "00", , , , , , , , [[, "(\\d{5})", "$1", ["19"]], [, "(\\d{3})(\\d{3})", "$1 $2", ["11|20|64"]], [, "(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1", "(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]], [, "(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["64"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]],
                [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[2-8]|[2-7]|8[1-79]|9[145]"]], [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["8"]]], , [, , "64\\d{4,7}", , , , "641234567", , , [6, 7, 8, 9]], , , [, , , , , , , , , [-1]], [, , "804\\d{6}", , , , "804123456", , , [9]], , , [, , , , , , , , , [-1]]], PM: [, [, , "[45]\\d{5}|(?:708|80\\d)\\d{6}", , , , , , , [6, 9]], [, , "(?:4[1-35-7]|5[01])\\d{4}", , , , "430123", , , [6]], [, , "(?:4[02-4]|5[056]|708[45][0-5])\\d{4}", , , , "551234"], [, , "80[0-5]\\d{6}", , , , "800012345", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]],
            [, , , , , , , , , [-1]], "PM", 508, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[45]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], PR: [, [, , "(?:[589]\\d\\d|787)\\d{7}", , , , , , , [10], [7]], [, , "(?:787|939)[2-9]\\d{6}", , , , "7872345678", , , , [7]], [, , "(?:787|939)[2-9]\\d{6}", , , , "7872345678", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"], [, , "900[2-9]\\d{6}",
                ,
                , , "9002345678"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "PR", 1, "011", "1", , , "1", , , 1, , , [, , , , , , , , , [-1]], , "787|939", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], PS: [, [, , "[2489]2\\d{6}|(?:1\\d|5)\\d{8}", , , , , , , [8, 9, 10], [7]], [, , "(?:22[2-47-9]|42[45]|82[014-68]|92[3569])\\d{5}",
                ,
                , , "22234567", , , [8], [7]], [, , "5[69]\\d{7}", , , , "599123456", , , [9]], [, , "1800\\d{6}", , , , "1800123456", , , [10]], [, , , , , , , , , [-1]], [, , "1700\\d{6}", , , , "1700123456", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "PS", 970, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2489]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["5"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], PT: [, [, , "1693\\d{5}|(?:[26-9]\\d|30)\\d{7}", , , , , , , [9]],
            [, , "2(?:[12]\\d|3[1-689]|4[1-59]|[57][1-9]|6[1-35689]|8[1-69]|9[1256])\\d{6}", , , , "212345678"], [, , "6(?:[06]92(?:30|9\\d)|[35]92(?:3[03]|9\\d))\\d{3}|(?:(?:16|6[0356])93|9(?:[1-36]\\d\\d|480))\\d{5}", , , , "912345678"], [, , "80[02]\\d{6}", , , , "800123456"], [, , "(?:6(?:0[178]|4[68])\\d|76(?:0[1-57]|1[2-47]|2[237]))\\d{5}", , , , "760123456"], [, , "80(?:8\\d|9[1579])\\d{5}", , , , "808123456"], [, , "884[0-4689]\\d{5}", , , , "884123456"], [, , "30\\d{7}", , , , "301234567"], "PT", 351, "00", , , , , , , , [[, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3",
                    ["2[12]"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["16|[236-9]"]]], , [, , "6222\\d{5}", , , , "622212345"], , , [, , , , , , , , , [-1]], [, , "70(?:38[01]|596|(?:7\\d|8[17])\\d)\\d{4}", , , , "707123456"], , , [, , "600\\d{6}|6[06]9233\\d{3}", , , , "600110000"]], PW: [, [, , "(?:[24-8]\\d\\d|345|900)\\d{4}", , , , , , , [7]], [, , "(?:2(?:55|77)|345|488|5(?:35|44|87)|6(?:22|54|79)|7(?:33|47)|8(?:24|55|76)|900)\\d{4}", , , , "2771234"], [, , "(?:(?:46|83)[0-5]|6[2-4689]0)\\d{4}|(?:45|77|88)\\d{5}", , , , "6201234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , ,
                ,
                , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "PW", 680, "01[12]", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], PY: [, [, , "59\\d{4,6}|9\\d{5,10}|(?:[2-46-8]\\d|5[0-8])\\d{4,7}", , , , , , , [6, 7, 8, 9, 10, 11], [5]], [, , "(?:[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36])\\d{5,7}|(?:2(?:2[4-68]|[4-68]\\d|7[15]|9[1-5])|3(?:18|3[167]|4[2357]|51|[67]\\d)|4(?:3[12]|5[13]|9[1-47])|5(?:[1-4]\\d|5[02-4])|6(?:3[1-3]|44|7[1-8])|7(?:4[0-4]|5\\d|6[1-578]|75|8[0-8])|858)\\d{5,6}",
                ,
                , , "212345678", , , [7, 8, 9], [5, 6]], [, , "9(?:51|6[129]|[78][1-6]|9[1-5])\\d{6}", , , , "961456789", , , [9]], [, , "9800\\d{5,7}", , , , "98000123456", , , [9, 10, 11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "8700[0-4]\\d{4}", , , , "870012345", , , [9]], "PY", 595, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3,6})", "$1 $2", ["[2-9]0"], "0$1"], [, "(\\d{2})(\\d{5})", "$1 $2", ["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"], "(0$1)"], [, "(\\d{3})(\\d{4,5})", "$1 $2", ["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"], "(0$1)"], [, "(\\d{2})(\\d{3})(\\d{3,4})",
                    "$1 $2 $3", ["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"], "(0$1)"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["87"]], [, "(\\d{3})(\\d{6})", "$1 $2", ["9(?:[5-79]|8[1-6])"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "[2-9]0\\d{4,7}", , , , "201234567", , , [6, 7, 8, 9]], , , [, , , , , , , , , [-1]]], QA: [, [, , "800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}", , , , , , , [7, 8, 9, 11]], [, , "4(?:1111|2022)\\d{3}|4(?:[04]\\d\\d|14[0-6]|999)\\d{4}",
                ,
                , , "44123456", , , [8]], [, , "[35-7]\\d{7}", , , , "33123456", , , [8]], [, , "800\\d{4}|(?:0080[01]|800)\\d{6}", , , , "8001234", , , [7, 9, 11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "QA", 974, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["2[16]|8"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["[3-7]"]]], , [, , "2[16]\\d{5}", , , , "2123456", , , [7]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], RE: [, [, , "(?:26|[689]\\d)\\d{7}", , , , , , , [9]], [, , "26(?:2\\d\\d|3(?:0\\d|1[0-6]))\\d{4}", , , , "262161234"], [, , "69(?:2\\d\\d|3(?:[06][0-6]|1[013]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))\\d{4}",
                ,
                , , "692123456"], [, , "80\\d{7}", , , , "801234567"], [, , "89[1-37-9]\\d{6}", , , , "891123456"], [, , "8(?:1[019]|2[0156]|84|90)\\d{6}", , , , "810123456"], [, , , , , , , , , [-1]], [, , "9(?:399[0-3]|479[0-5]|76(?:2[27]|3[0-37]))\\d{4}", , , , "939901234"], "RE", 262, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2689]"], "0$1"]], , [, , , , , , , , , [-1]], 1, , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], RO: [, [, , "(?:[2378]\\d|62|90)\\d{7}|[23]\\d{5}", , , , , , , [6, 9]], [, , "[23][13-6]\\d{7}|(?:2(?:19\\d|[3-6]\\d9)|31\\d\\d)\\d\\d",
                ,
                , , "211234567"], [, , "7020\\d{5}|(?:62\\d|7(?:0[013-9]|1[0-3]|[2-7]\\d|8[03-8]|9[0-39]))\\d{6}", , , , "712034567", , , [9]], [, , "800\\d{6}", , , , "800123456", , , [9]], [, , "90[0136]\\d{6}", , , , "900123456", , , [9]], [, , "801\\d{6}", , , , "801123456", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "RO", 40, "00", "0", " int ", , "0", , , , [[, "(\\d{3})(\\d{3})", "$1 $2", ["2[3-6]", "2[3-6]\\d9"], "0$1"], [, "(\\d{2})(\\d{4})", "$1 $2", ["219|31"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[23]1"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3",
                    ["[236-9]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "(?:37\\d|80[578])\\d{6}", , , , "372123456", , , [9]], , , [, , , , , , , , , [-1]]], RS: [, [, , "38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}", , , , , , , [6, 7, 8, 9, 10, 11, 12], [4, 5]], [, , "(?:11[1-9]\\d|(?:2[389]|39)(?:0[2-9]|[2-9]\\d))\\d{3,8}|(?:1[02-9]|2[0-24-7]|3[0-8])[2-9]\\d{4,9}", , , , "10234567", , , [7, 8, 9, 10, 11, 12], [4, 5, 6]], [, , "6(?:[0-689]|7\\d)\\d{6,7}", , , , "601234567", , , [8, 9, 10]], [, , "800\\d{3,9}", , , , "80012345"],
            [, , "(?:78\\d|90[0169])\\d{3,7}", , , , "90012345", , , [6, 7, 8, 9, 10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "RS", 381, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3,9})", "$1 $2", ["(?:2[389]|39)0|[7-9]"], "0$1"], [, "(\\d{2})(\\d{5,10})", "$1 $2", ["[1-36]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "7[06]\\d{4,10}", , , , "700123456"], , , [, , , , , , , , , [-1]]], RU: [, [, , "8\\d{13}|[347-9]\\d{9}", , , , , , , [10, 14], [7]], [, , "(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-79]|7[1-37-9]))\\d{7}",
                ,
                , , "3011234567", , , [10], [7]], [, , "9\\d{9}", , , , "9123456789", , , [10]], [, , "8(?:0[04]|108\\d{3})\\d{7}", , , , "8001234567"], [, , "80[39]\\d{7}", , , , "8091234567", , , [10]], [, , , , , , , , , [-1]], [, , "808\\d{7}", , , , "8081234567", , , [10]], [, , , , , , , , , [-1]], "RU", 7, "810", "8", , , "8", , "8~10", , [[, "(\\d{3})(\\d{2})(\\d{2})", "$1-$2-$3", ["[0-79]"]], [, "(\\d{4})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-8]|2[1-9])", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"],
                    "8 ($1)", , 1], [, "(\\d{5})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-68]|2[1-9])", "7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))", "7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"], "8 ($1)", , 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "8 ($1)", , 1], [, "(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[349]|8(?:[02-7]|1[1-8])"],
                    "8 ($1)", , 1], [, "(\\d{4})(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["8"], "8 ($1)"]], [[, "(\\d{4})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-8]|2[1-9])", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"], "8 ($1)", , 1], [, "(\\d{5})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-68]|2[1-9])", "7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))", "7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"],
                    "8 ($1)", , 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "8 ($1)", , 1], [, "(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[349]|8(?:[02-7]|1[1-8])"], "8 ($1)", , 1], [, "(\\d{4})(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["8"], "8 ($1)"]], [, , , , , , , , , [-1]], 1, "3[04-689]|[489]", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], RW: [, [, , "(?:06|[27]\\d\\d|[89]00)\\d{6}", , , , , , , [8, 9]], [, , "(?:06|2[23568]\\d)\\d{6}", , , , "250123456"], [, , "7[237-9]\\d{7}", , , , "720123456", , , [9]], [, , "800\\d{6}", , , , "800123456", , , [9]], [,
                ,
                "900\\d{6}", , , , "900123456", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "RW", 250, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], SA: [, [, , "92\\d{7}|(?:[15]|8\\d)\\d{8}", , , , , , , [9, 10], [7]], [, , "1(?:1\\d|2[24-8]|3[35-8]|4[3-68]|6[2-5]|7[235-7])\\d{6}", , , , "112345678", , , [9], [7]], [, , "579[01]\\d{5}|5(?:[013-689]\\d|7[0-8])\\d{6}",
                ,
                , , "512345678", , , [9]], [, , "800\\d{7}", , , , "8001234567", , , [10]], [, , "925\\d{6}", , , , "925012345", , , [9]], [, , "920\\d{6}", , , , "920012345", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "SA", 966, "00", "0", , , "0", , , , [[, "(\\d{4})(\\d{5})", "$1 $2", ["9"]], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["81"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "811\\d{7}", , , , "8110123456",
                ,
                , [10]], , , [, , , , , , , , , [-1]]], SB: [, [, , "(?:[1-6]|[7-9]\\d\\d)\\d{4}", , , , , , , [5, 7]], [, , "(?:1[4-79]|[23]\\d|4[0-2]|5[03]|6[0-37])\\d{3}", , , , "40123", , , [5]], [, , "48\\d{3}|(?:(?:7[1-9]|8[4-9])\\d|9(?:1[2-9]|2[013-9]|3[0-2]|[46]\\d|5[0-46-9]|7[0-689]|8[0-79]|9[0-8]))\\d{4}", , , , "7421234"], [, , "1[38]\\d{3}", , , , "18123", , , [5]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "5[12]\\d{3}", , , , "51123", , , [5]], "SB", 677, "0[01]", , , , , , , , [[, "(\\d{2})(\\d{5})", "$1 $2", ["7|8[4-9]|9(?:[1-8]|9[0-8])"]]], , [, , , , , , , , , [-1]], , ,
            [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], SC: [, [, , "800\\d{4}|(?:[249]\\d|64)\\d{5}", , , , , , , [7]], [, , "4[2-46]\\d{5}", , , , "4217123"], [, , "2[125-8]\\d{5}", , , , "2510123"], [, , "800[08]\\d{3}", , , , "8000000"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "971\\d{4}|(?:64|95)\\d{5}", , , , "6412345"], "SC", 248, "010|0[0-2]", , , , , , "00", , [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[246]|9[57]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], SD: [, [, , "[19]\\d{8}", , , , , , , [9]], [, , "1(?:5\\d|8[35-7])\\d{6}",
                ,
                , , "153123456"], [, , "(?:1[0-2]|9[0-3569])\\d{7}", , , , "911231234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "SD", 249, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[19]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], SE: [, [, , "(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}", , , , , , , [6, 7, 8, 9, 10, 12]], [, , "(?:(?:[12][136]|3[356]|4[0246]|6[03]|8\\d)\\d|90[1-9])\\d{4,6}|(?:1(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\d)|2(?:2[0-7]|4[0136-8]|5[0138]|7[018]|8[01]|9[0-57])|3(?:0[0-4]|1\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])|4(?:1[013-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])|5(?:0[0-6]|[15][0-5]|2[0-68]|3[0-4]|4\\d|6[03-5]|7[013]|8[0-79]|9[01])|6(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])|9(?:1[0-68]|2\\d|3[02-5]|4[0-3]|5[0-4]|[68][01]|7[0135-8]))\\d{5,6}",
                ,
                , , "8123456", , , [7, 8, 9]], [, , "7[02369]\\d{7}", , , , "701234567", , , [9]], [, , "20\\d{4,7}", , , , "20123456", , , [6, 7, 8, 9]], [, , "649\\d{6}|99[1-59]\\d{4}(?:\\d{3})?|9(?:00|39|44)[1-8]\\d{3,6}", , , , "9001234567", , , [7, 8, 9, 10]], [, , "77[0-7]\\d{6}", , , , "771234567", , , [9]], [, , "75[1-8]\\d{6}", , , , "751234567", , , [9]], [, , , , , , , , , [-1]], "SE", 46, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["20"], "0$1"], [, "(\\d{3})(\\d{4})", "$1-$2", ["9(?:00|39|44|9)"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2})", "$1-$2 $3", ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],
                    "0$1"], [, "(\\d)(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1"], [, "(\\d{3})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1"], [, "(\\d{3})(\\d{2,3})(\\d{3})", "$1-$2 $3", ["9(?:00|39|44)"], "0$1"], [, "(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["10|7"], "0$1"], [, "(\\d)(\\d{3})(\\d{3})(\\d{2})",
                    "$1-$2 $3 $4", ["8"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1-$2 $3 $4", ["9"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4 $5", ["[26]"], "0$1"]], [[, "(\\d{2})(\\d{2,3})(\\d{2})", "$1 $2 $3", ["20"]], [, "(\\d{3})(\\d{4})", "$1 $2", ["9(?:00|39|44|9)"]], [, "(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3", ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"]], [, "(\\d)(\\d{2,3})(\\d{2})(\\d{2})",
                    "$1 $2 $3 $4", ["8"]], [, "(\\d{3})(\\d{2,3})(\\d{2})", "$1 $2 $3", ["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"]], [, "(\\d{3})(\\d{2,3})(\\d{3})", "$1 $2 $3", ["9(?:00|39|44)"]], [, "(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"]], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["10|7"]], [, "(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["8"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
                    "$1 $2 $3 $4", ["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["9"]], [, "(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[26]"]]], [, , "74[02-9]\\d{6}", , , , "740123456", , , [9]], , , [, , , , , , , , , [-1]], [, , "10[1-8]\\d{6}", , , , "102345678", , , [9]], , , [, , "(?:25[245]|67[3-68])\\d{9}", , , , "254123456789", , , [12]]], SG: [, [, , "(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}", , , , , , , [8, 10, 11]], [, , "662[0-24-9]\\d{4}|6(?:[0-578]\\d|6[013-57-9]|9[0-35-9])\\d{5}",
                ,
                , , "61234567", , , [8]], [, , "8(?:08[013]|95[0-2])\\d{4}|(?:8(?:0[1-7]|[1-8]\\d|9[0-4])|9[0-8]\\d)\\d{5}", , , , "81234567", , , [8]], [, , "(?:18|8)00\\d{7}", , , , "18001234567", , , [10, 11]], [, , "1900\\d{7}", , , , "19001234567", , , [11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:3[12]\\d|666)\\d{5}", , , , "31234567", , , [8]], "SG", 65, "0[0-3]\\d", , , , , , , , [[, "(\\d{4,5})", "$1", ["1[013-9]|77", "1(?:[013-8]|9(?:0[1-9]|[1-9]))|77"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["[369]|8(?:0[1-8]|[1-9])"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]], [,
                    "(\\d{4})(\\d{4})(\\d{3})", "$1 $2 $3", ["7"]], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]], [[, "(\\d{4})(\\d{4})", "$1 $2", ["[369]|8(?:0[1-8]|[1-9])"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]], [, "(\\d{4})(\\d{4})(\\d{3})", "$1 $2 $3", ["7"]], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "7000\\d{7}", , , , "70001234567", , , [11]], , , [, , , , , , , , , [-1]]], SH: [, [, , "(?:[256]\\d|8)\\d{3}", , , , , , , [4, 5]], [, , "2(?:[0-57-9]\\d|6[4-9])\\d\\d", , , , "22158"], [, , "[56]\\d{4}", , , , "51234",
                ,
                , [5]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "262\\d\\d", , , , "26212", , , [5]], "SH", 290, "00", , , , , , , , , , [, , , , , , , , , [-1]], 1, "[256]", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], SI: [, [, , "[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}", , , , , , , [5, 6, 7, 8]], [, , "(?:[1-357][2-8]|4[24-8])\\d{6}", , , , "12345678", , , [8], [7]], [, , "65(?:[178]\\d|5[56]|6[01])\\d{4}|(?:[37][01]|4[0139]|51|6[489])\\d{6}", , , , "31234567", , , [8]], [, , "80\\d{4,6}", , , , "80123456", , , [6, 7, 8]], [, , "89[1-3]\\d{2,5}|90\\d{4,6}", , , , "90123456"],
            [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:59\\d\\d|8(?:1(?:[67]\\d|8[0-589])|2(?:0\\d|2[0-37-9]|8[0-2489])|3[389]\\d))\\d{4}", , , , "59012345", , , [8]], "SI", 386, "00|10(?:22|66|88|99)", "0", , , "0", , "00", , [[, "(\\d{2})(\\d{3,6})", "$1 $2", ["8[09]|9"], "0$1"], [, "(\\d{3})(\\d{5})", "$1 $2", ["59|8"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37][01]|4[0139]|51|6"], "0$1"], [, "(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-57]"], "(0$1)"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
        SJ: [, [, , "0\\d{4}|(?:[489]\\d|79)\\d{6}", , , , , , , [5, 8]], [, , "79\\d{6}", , , , "79123456", , , [8]], [, , "(?:4[015-8]|9\\d)\\d{6}", , , , "41234567", , , [8]], [, , "80[01]\\d{5}", , , , "80012345", , , [8]], [, , "82[09]\\d{5}", , , , "82012345", , , [8]], [, , "810(?:0[0-6]|[2-8]\\d)\\d{3}", , , , "81021234", , , [8]], [, , "880\\d{5}", , , , "88012345", , , [8]], [, , "85[0-5]\\d{5}", , , , "85012345", , , [8]], "SJ", 47, "00", , , , , , , , , , [, , , , , , , , , [-1]], , "79", [, , , , , , , , , [-1]], [, , "(?:0[2-9]|81(?:0(?:0[7-9]|1\\d)|5\\d\\d))\\d{3}", , , , "02000"], , , [, , "81[23]\\d{5}", , , , "81212345",
                ,
                , [8]]], SK: [, [, , "[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}", , , , , , , [6, 7, 9]], [, , "(?:2(?:16|[2-9]\\d{3})|(?:(?:[3-5][1-8]\\d|819)\\d|601[1-5])\\d)\\d{4}|(?:2|[3-5][1-8])1[67]\\d{3}|[3-5][1-8]16\\d\\d", , , , "221234567"], [, , "909[1-9]\\d{5}|9(?:0[1-8]|1[0-24-9]|4[03-57-9]|5\\d)\\d{6}", , , , "912123456", , , [9]], [, , "800\\d{6}", , , , "800123456", , , [9]], [, , "9(?:00|[78]\\d)\\d{6}", , , , "900123456", , , [9]], [, , "8[5-9]\\d{7}", , , , "850123456", , , [9]], [, , , , , , , , , [-1]], [, , "6(?:02|5[0-4]|9[0-6])\\d{6}", , , , "690123456", , , [9]], "SK", 421,
            "00", "0", , , "0", , , , [[, "(\\d)(\\d{2})(\\d{3,4})", "$1 $2 $3", ["21"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["[3-5][1-8]1", "[3-5][1-8]1[67]"], "0$1"], [, "(\\d{4})(\\d{3})", "$1 $2", ["909", "9090"], "0$1"], [, "(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1/$2 $3 $4", ["2"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[689]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1/$2 $3 $4", ["[3-5]"], "0$1"]], [[, "(\\d)(\\d{2})(\\d{3,4})", "$1 $2 $3", ["21"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["[3-5][1-8]1",
                        "[3-5][1-8]1[67]"], "0$1"], [, "(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1/$2 $3 $4", ["2"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[689]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1/$2 $3 $4", ["[3-5]"], "0$1"]], [, , "9090\\d{3}", , , , "9090123", , , [7]], , , [, , "9090\\d{3}|(?:602|8(?:00|[5-9]\\d)|9(?:00|[78]\\d))\\d{6}", , , , , , , [7, 9]], [, , "96\\d{7}", , , , "961234567", , , [9]], , , [, , , , , , , , , [-1]]], SL: [, [, , "(?:[237-9]\\d|66)\\d{6}", , , , , , , [8], [6]], [, , "22[2-4][2-9]\\d{4}", , , , "22221234", , , , [6]], [, , "(?:25|3[0-5]|66|7[2-9]|8[08]|9[09])\\d{6}",
                ,
                , , "25123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "SL", 232, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{6})", "$1 $2", ["[236-9]"], "(0$1)"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], SM: [, [, , "(?:0549|[5-7]\\d)\\d{6}", , , , , , , [8, 10], [6]], [, , "0549(?:8[0157-9]|9\\d)\\d{4}", , , , "0549886377", , , [10], [6]], [, , "6[16]\\d{6}", , , , "66661212", , , [8]], [, , , , , , , , , [-1]], [, , "7[178]\\d{6}", , , , "71123456", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "5[158]\\d{6}",
                ,
                , , "58001110", , , [8]], "SM", 378, "00", , , , "([89]\\d{5})$", "0549$1", , , [[, "(\\d{6})", "$1", ["[89]"]], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]"]], [, "(\\d{4})(\\d{6})", "$1 $2", ["0"]]], [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]"]], [, "(\\d{4})(\\d{6})", "$1 $2", ["0"]]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], SN: [, [, , "(?:[378]\\d|93)\\d{7}", , , , , , , [9]], [, , "3(?:0(?:1[0-2]|80)|282|3(?:8[1-9]|9[3-9])|611)\\d{5}", , , , "301012345"], [, , "7(?:(?:[06-8]\\d|21|90)\\d|5(?:01|[19]0|25|[38]3|[4-7]\\d))\\d{5}",
                ,
                , , "701234567"], [, , "800\\d{6}", , , , "800123456"], [, , "88[4689]\\d{6}", , , , "884123456"], [, , "81[02468]\\d{6}", , , , "810123456"], [, , , , , , , , , [-1]], [, , "(?:3(?:392|9[01]\\d)\\d|93(?:3[13]0|929))\\d{4}", , , , "933301234"], "SN", 221, "00", , , , , , , , [[, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[379]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], SO: [, [, , "[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}", , , , , , , [6, 7, 8, 9]], [, ,
                "(?:1\\d|2[0-79]|3[0-46-8]|4[0-7]|5[57-9])\\d{5}|(?:[134]\\d|8[125])\\d{4}", , , , "4012345", , , [6, 7]], [, , "(?:(?:15|(?:3[59]|4[89]|6\\d|7[79]|8[08])\\d|9(?:0\\d|[2-9]))\\d|2(?:4\\d|8))\\d{5}|(?:[67]\\d\\d|904)\\d{5}", , , , "71123456", , , [7, 8, 9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "SO", 252, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{4})", "$1 $2", ["8[125]"]], [, "(\\d{6})", "$1", ["[134]"]], [, "(\\d)(\\d{6})", "$1 $2", ["[15]|2[0-79]|3[0-46-8]|4[0-7]"]], [, "(\\d)(\\d{7})", "$1 $2",
                    ["(?:2|90)4|[67]"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[348]|64|79|90"]], [, "(\\d{2})(\\d{5,7})", "$1 $2", ["1|28|6[0-35-9]|77|9[2-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], SR: [, [, , "(?:[2-5]|68|[78]\\d)\\d{5}", , , , , , , [6, 7]], [, , "(?:2[1-3]|3[0-7]|(?:4|68)\\d|5[2-58])\\d{4}", , , , "211234"], [, , "(?:7[124-7]|8[124-9])\\d{5}", , , , "7412345", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "56\\d{4}", , , , "561234", , , [6]], "SR", 597, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})",
                    "$1-$2-$3", ["56"]], [, "(\\d{3})(\\d{3})", "$1-$2", ["[2-5]"]], [, "(\\d{3})(\\d{4})", "$1-$2", ["[6-8]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], SS: [, [, , "[19]\\d{8}", , , , , , , [9]], [, , "1[89]\\d{7}", , , , "181234567"], [, , "(?:12|9[1257-9])\\d{7}", , , , "977123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "SS", 211, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[19]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , ,
                ,
                , , , , , [-1]]], ST: [, [, , "(?:22|9\\d)\\d{5}", , , , , , , [7]], [, , "22\\d{5}", , , , "2221234"], [, , "900[5-9]\\d{3}|9(?:0[1-9]|[89]\\d)\\d{4}", , , , "9812345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "ST", 239, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[29]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], SV: [, [, , "[267]\\d{7}|[89]00\\d{4}(?:\\d{4})?", , , , , , , [7, 8, 11]], [, , "2(?:79(?:0[0347-9]|[1-9]\\d)|89(?:0[024589]|[1-9]\\d))\\d{3}|2(?:[1-69]\\d|[78][0-8])\\d{5}",
                ,
                , , "21234567", , , [8]], [, , "[67]\\d{7}", , , , "70123456", , , [8]], [, , "800\\d{4}(?:\\d{4})?", , , , "8001234", , , [7, 11]], [, , "900\\d{4}(?:\\d{4})?", , , , "9001234", , , [7, 11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "SV", 503, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[89]"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["[267]"]], [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[89]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], SX: [, [, , "7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "7215(?:4[2-8]|8[239]|9[056])\\d{4}",
                ,
                , , "7215425678", , , , [7]], [, , "7215(?:1[02]|2\\d|5[034679]|8[014-8])\\d{4}", , , , "7215205678", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "SX", 1, "011", "1", , , "(5\\d{6})$|1",
            "721$1", , , , , [, , , , , , , , , [-1]], , "721", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], SY: [, [, , "[1-39]\\d{8}|[1-5]\\d{7}", , , , , , , [8, 9], [6, 7]], [, , "21\\d{6,7}|(?:1(?:[14]\\d|[2356])|2[235]|3(?:[13]\\d|4)|4[134]|5[1-3])\\d{6}", , , , "112345678", , , , [6, 7]], [, , "9[1-689]\\d{7}", , , , "944567890", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "SY", 963, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-5]"], "0$1", , 1], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"],
                    "0$1", , 1]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], SZ: [, [, , "0800\\d{4}|(?:[237]\\d|900)\\d{6}", , , , , , , [8, 9]], [, , "[23][2-5]\\d{6}", , , , "22171234", , , [8]], [, , "7[6-9]\\d{6}", , , , "76123456", , , [8]], [, , "0800\\d{4}", , , , "08001234", , , [8]], [, , "900\\d{6}", , , , "900012345", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "70\\d{6}", , , , "70012345", , , [8]], "SZ", 268, "00", , , , , , , , [[, "(\\d{4})(\\d{4})", "$1 $2", ["[0237]"]], [, "(\\d{5})(\\d{4})", "$1 $2", ["9"]]], , [, , , , , , , , , [-1]], , , [, , "0800\\d{4}", , , , , , ,
                [8]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], TA: [, [, , "8\\d{3}", , , , , , , [4]], [, , "8\\d{3}", , , , "8999"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "TA", 290, "00", , , , , , , , , , [, , , , , , , , , [-1]], , "8", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], TC: [, [, , "(?:[58]\\d\\d|649|900)\\d{7}", , , , , , , [10], [7]], [, , "649(?:266|712|9(?:4\\d|50))\\d{4}", , , , "6497121234", , , , [7]], [, , "649(?:2(?:3[129]|4[1-79])|3\\d\\d|4[34][1-3])\\d{4}", , , , "6492311234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",
                ,
                , , "8002345678"], [, , "900[2-9]\\d{6}", , , , "9002345678"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , "649(?:71[01]|966)\\d{4}", , , , "6497101234", , , , [7]], "TC", 1, "011", "1", , , "([2-479]\\d{6})$|1", "649$1", , , , , [, , , , , , , , , [-1]], , "649", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
        TD: [, [, , "(?:22|[69]\\d|77)\\d{6}", , , , , , , [8]], [, , "22(?:[37-9]0|5[0-5]|6[89])\\d{4}", , , , "22501234"], [, , "(?:6[0235689]|77|9\\d)\\d{6}", , , , "63012345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "TD", 235, "00|16", , , , , , "00", , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2679]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], TG: [, [, , "[279]\\d{7}", , , , , , , [8]], [, , "2(?:2[2-7]|3[23]|4[45]|55|6[67]|77)\\d{5}", , , , "22212345"], [, , "(?:7[019]|9[0-36-9])\\d{6}",
                ,
                , , "90112345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "TG", 228, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[279]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], TH: [, [, , "(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}", , , , , , , [8, 9, 10, 13]], [, , "(?:1[0689]|2\\d|3[2-9]|4[2-5]|5[2-6]|7[3-7])\\d{6}", , , , "21234567", , , [8]], [, , "671[0-8]\\d{5}|(?:14|6[1-6]|[89]\\d)\\d{7}", , , , "812345678", , , [9]], [, , "(?:001800\\d|1800)\\d{6}", , ,
                ,
                "1800123456", , , [10, 13]], [, , "1900\\d{6}", , , , "1900123456", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "6[08]\\d{7}", , , , "601234567", , , [9]], "TH", 66, "00[1-9]", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[13-9]"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], TJ: [, [, , "[0-57-9]\\d{8}", , , , , , , [9], [3, 5, 6, 7]], [, , "(?:3(?:1[3-5]|2[245]|3[12]|4[24-7]|5[25]|72)|4(?:46|74|87))\\d{6}",
                ,
                , , "372123456", , , , [3, 5, 6, 7]], [, , "(?:4(?:1[18]|4[02-479])|81[1-9])\\d{6}|(?:0[0-57-9]|1[017]|2[02]|[34]0|5[05]|7[0178]|8[078]|9\\d)\\d{7}", , , , "917123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "TJ", 992, "810", , , , , , "8~10", , [[, "(\\d{6})(\\d)(\\d{2})", "$1 $2 $3", ["331", "3317"]], [, "(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["44[02-479]|[34]7"]], [, "(\\d{4})(\\d)(\\d{4})", "$1 $2 $3", ["3[1-5]"]], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[0-57-9]"]]], , [, , , , , , , , , [-1]], , ,
            [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], TK: [, [, , "[2-47]\\d{3,6}", , , , , , , [4, 5, 6, 7]], [, , "(?:2[2-4]|[34]\\d)\\d{2,5}", , , , "3101"], [, , "7[2-4]\\d{2,5}", , , , "7290"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "TK", 690, "00", , , , , , , , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], TL: [, [, , "7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}", , , , , , , [7, 8]], [, , "(?:2[1-5]|3[1-9]|4[1-4])\\d{5}", , , , "2112345", , , [7]], [, , "7[2-8]\\d{6}", , , , "77212345", , , [8]], [, , "80\\d{5}",
                ,
                , , "8012345", , , [7]], [, , "90\\d{5}", , , , "9012345", , , [7]], [, , , , , , , , , [-1]], [, , "70\\d{5}", , , , "7012345", , , [7]], [, , , , , , , , , [-1]], "TL", 670, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[2-489]|70"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["7"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], TM: [, [, , "[1-6]\\d{7}", , , , , , , [8]], [, , "(?:1(?:2\\d|3[1-9])|2(?:22|4[0-35-8])|3(?:22|4[03-9])|4(?:22|3[128]|4\\d|6[15])|5(?:22|5[7-9]|6[014-689]))\\d{5}", , , , "12345678"], [, , "6\\d{7}", , , , "66123456"], [, , , , , , , , , [-1]],
            [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "TM", 993, "810", "8", , , "8", , "8~10", , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["12"], "(8 $1)"], [, "(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-5]"], "(8 $1)"], [, "(\\d{2})(\\d{6})", "$1 $2", ["6"], "8 $1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], TN: [, [, , "[2-57-9]\\d{7}", , , , , , , [8]], [, , "81200\\d{3}|(?:3[0-2]|7\\d)\\d{6}", , , , "30010123"], [, , "3(?:001|[12]40)\\d{4}|(?:(?:[259]\\d|4[0-8])\\d|3(?:1[1-35]|6[0-4]|91))\\d{5}",
                ,
                , , "20123456"], [, , "8010\\d{4}", , , , "80101234"], [, , "88\\d{6}", , , , "88123456"], [, , "8[12]10\\d{4}", , , , "81101234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "TN", 216, "00", , , , , , , , [[, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-57-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], TO: [, [, , "(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}", , , , , , , [5, 7]], [, , "(?:2\\d|3[0-8]|4[0-4]|50|6[09]|7[0-24-69]|8[05])\\d{3}", , , , "20123", , , [5]], [, , "(?:55[4-6]|6(?:[09]\\d|3[02]|8[15-9])|(?:7\\d|8[46-9])\\d|999)\\d{4}",
                ,
                , , "7715123", , , [7]], [, , "0800\\d{3}", , , , "0800222", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "55[0-37-9]\\d{4}", , , , "5510123", , , [7]], "TO", 676, "00", , , , , , , , [[, "(\\d{2})(\\d{3})", "$1-$2", ["[2-4]|50|6[09]|7[0-24-69]|8[05]"]], [, "(\\d{4})(\\d{3})", "$1 $2", ["0"]], [, "(\\d{3})(\\d{4})", "$1 $2", ["[5-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], TR: [, [, , "4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}", , , , , , , [7, 10, 12, 13]], [, , "(?:2(?:[13][26]|[28][2468]|[45][268]|[67][246])|3(?:[13][28]|[24-6][2468]|[78][02468]|92)|4(?:[16][246]|[23578][2468]|4[26]))\\d{7}",
                ,
                , , "2123456789", , , [10]], [, , "561(?:011|61\\d)\\d{4}|5(?:0[15-7]|1[06]|24|[34]\\d|5[1-59]|9[46])\\d{7}", , , , "5012345678", , , [10]], [, , "8(?:00\\d{7}(?:\\d{2,3})?|11\\d{7})", , , , "8001234567", , , [10, 12, 13]], [, , "(?:8[89]8|900)\\d{7}", , , , "9001234567", , , [10]], [, , , , , , , , , [-1]], [, , "592(?:21[12]|461)\\d{4}", , , , "5922121234", , , [10]], [, , "850\\d{7}", , , , "8500123456", , , [10]], "TR", 90, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d)(\\d{3})", "$1 $2 $3", ["444"], , , 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["512|8[01589]|90"], "0$1", , 1],
                [, "(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5(?:[0-59]|61)", "5(?:[0-59]|61[06])", "5(?:[0-59]|61[06]1)"], "0$1", , 1], [, "(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24][1-8]|3[1-9]"], "(0$1)", , 1], [, "(\\d{3})(\\d{3})(\\d{6,7})", "$1 $2 $3", ["80"], "0$1", , 1]], [[, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["512|8[01589]|90"], "0$1", , 1], [, "(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5(?:[0-59]|61)", "5(?:[0-59]|61[06])", "5(?:[0-59]|61[06]1)"], "0$1", , 1], [, "(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4",
                    ["[24][1-8]|3[1-9]"], "(0$1)", , 1], [, "(\\d{3})(\\d{3})(\\d{6,7})", "$1 $2 $3", ["80"], "0$1", , 1]], [, , "512\\d{7}", , , , "5123456789", , , [10]], , , [, , "(?:444|811\\d{3})\\d{4}", , , , , , , [7, 10]], [, , "444\\d{4}", , , , "4441444", , , [7]], , , [, , , , , , , , , [-1]]], TT: [, [, , "(?:[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "868(?:2(?:01|1[5-9]|[23]\\d|4[0-2])|6(?:0[7-9]|1[02-8]|2[1-9]|[3-69]\\d|7[0-79])|82[124])\\d{4}", , , , "8682211234", , , , [7]], [, , "868(?:(?:2[5-9]|3\\d)\\d|4(?:3[0-6]|[6-9]\\d)|6(?:20|78|8\\d)|7(?:0[1-9]|1[02-9]|[2-9]\\d))\\d{4}",
                ,
                , , "8682911234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"], [, , "900[2-9]\\d{6}", , , , "9002345678"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "TT", 1, "011", "1", , , "([2-46-8]\\d{6})$|1", "868$1", , , , , [, , , , , , , , , [-1]], , "868", [, , , , , , , , , [-1]], [, ,
                ,
                , , , , , , [-1]], , , [, , "868619\\d{4}", , , , "8686191234", , , , [7]]], TV: [, [, , "(?:2|7\\d\\d|90)\\d{4}", , , , , , , [5, 6, 7]], [, , "2[02-9]\\d{3}", , , , "20123", , , [5]], [, , "(?:7[01]\\d|90)\\d{4}", , , , "901234", , , [6, 7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "TV", 688, "00", , , , , , , , [[, "(\\d{2})(\\d{3})", "$1 $2", ["2"]], [, "(\\d{2})(\\d{4})", "$1 $2", ["90"]], [, "(\\d{2})(\\d{5})", "$1 $2", ["7"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], TW: [, [, , "[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}",
                ,
                , , , , , [7, 8, 9, 10, 11]], [, , "(?:2[2-8]\\d|370|55[01]|7[1-9])\\d{6}|4(?:(?:0(?:0[1-9]|[2-48]\\d)|1[023]\\d)\\d{4,5}|(?:[239]\\d\\d|4(?:0[56]|12|49))\\d{5})|6(?:[01]\\d{7}|4(?:0[56]|12|24|4[09])\\d{4,5})|8(?:(?:2(?:3\\d|4[0-269]|[578]0|66)|36[24-9]|90\\d\\d)\\d{4}|4(?:0[56]|12|24|4[09])\\d{4,5})|(?:2(?:2(?:0\\d\\d|4(?:0[68]|[249]0|3[0-467]|5[0-25-9]|6[0235689]))|(?:3(?:[09]\\d|1[0-4])|(?:4\\d|5[0-49]|6[0-29]|7[0-5])\\d)\\d)|(?:(?:3[2-9]|5[2-8]|6[0-35-79]|8[7-9])\\d\\d|4(?:2(?:[089]\\d|7[1-9])|(?:3[0-4]|[78]\\d|9[01])\\d))\\d)\\d{3}",
                ,
                , , "221234567", , , [8, 9]], [, , "(?:40001[0-2]|9[0-8]\\d{4})\\d{3}", , , , "912345678", , , [9]], [, , "80[0-79]\\d{6}|800\\d{5}", , , , "800123456", , , [8, 9]], [, , "20(?:[013-9]\\d\\d|2)\\d{4}", , , , "203123456", , , [7, 9]], [, , , , , , , , , [-1]], [, , "99\\d{7}", , , , "990123456", , , [9]], [, , "7010(?:[0-2679]\\d|3[0-7]|8[0-5])\\d{5}|70\\d{8}", , , , "7012345678", , , [10, 11]], "TW", 886, "0(?:0[25-79]|19)", "0", "#", , "0", , , , [[, "(\\d{2})(\\d)(\\d{4})", "$1 $2 $3", ["202"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[258]0"], "0$1"], [, "(\\d)(\\d{3,4})(\\d{4})",
                    "$1 $2 $3", ["[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]", "[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"], "0$1"], [, "(\\d{2})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["7"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "50[0-46-9]\\d{6}", , , , "500123456", , , [9]], , , [, , , , , , , , , [-1]]], TZ: [, [, , "(?:[25-8]\\d|41|90)\\d{7}", , , , , , , [9]], [, , "2[2-8]\\d{7}", , , , "222345678"], [, , "77[2-9]\\d{6}|(?:6[125-9]|7[13-689])\\d{7}", , , , "621234567"], [, , "80[08]\\d{6}", , , , "800123456"], [, , "90\\d{7}",
                ,
                , , "900123456"], [, , "8(?:40|6[01])\\d{6}", , , , "840123456"], [, , , , , , , , , [-1]], [, , "41\\d{7}", , , , "412345678"], "TZ", 255, "00[056]", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[24]"], "0$1"], [, "(\\d{2})(\\d{7})", "$1 $2", ["5"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[67]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , "(?:8(?:[04]0|6[01])|90\\d)\\d{6}"], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], UA: [, [, , "[89]\\d{9}|[3-9]\\d{8}", , , , , , , [9, 10], [5, 6, 7]], [, , "(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\d{7}",
                ,
                , , "311234567", , , [9], [5, 6, 7]], [, , "(?:39|50|6[36-8]|7[1-3]|9[1-9])\\d{7}", , , , "501234567", , , [9]], [, , "800[1-8]\\d{5,6}", , , , "800123456"], [, , "900[239]\\d{5,6}", , , , "900212345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "89[1-579]\\d{6}", , , , "891234567", , , [9]], "UA", 380, "00", "0", , , "0", , "0~0", , [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]", "6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"], "0$1"], [, "(\\d{4})(\\d{5})", "$1 $2",
                    ["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])", "3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|89|9[1-9]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], UG: [, [, , "800\\d{6}|(?:[29]0|[347]\\d)\\d{7}", , , , , , , [9], [5, 6, 7]], [, , "20(?:(?:240|30[67])\\d|6(?:00[0-2]|30[0-4]))\\d{3}|(?:20(?:[017]\\d|2[5-9]|32|5[0-4]|6[15-9])|[34]\\d{3})\\d{5}",
                ,
                , , "312345678", , , , [5, 6, 7]], [, , "726[01]\\d{5}|7(?:[015-8]\\d|20|36|4[0-4]|9[89])\\d{6}", , , , "712345678"], [, , "800[1-3]\\d{5}", , , , "800123456"], [, , "90[1-3]\\d{6}", , , , "901123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "UG", 256, "00[057]", "0", , , "0", , , , [[, "(\\d{4})(\\d{5})", "$1 $2", ["202", "2024"], "0$1"], [, "(\\d{3})(\\d{6})", "$1 $2", ["[27-9]|4(?:6[45]|[7-9])"], "0$1"], [, "(\\d{2})(\\d{7})", "$1 $2", ["[34]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], US: [, [, , "[2-9]\\d{9}|3\\d{6}",
                ,
                , , , , , [10], [7]], [, , "(?:5056(?:[0-35-9]\\d|4[468])|73020\\d)\\d{4}|(?:4722|505[2-57-9]|983[289])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013569]|3[0-24679]|4[167]|5[0-2]|6[0149]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}",
                ,
                , , "2015550123", , , , [7]], [, , "(?:5056(?:[0-35-9]\\d|4[468])|73020\\d)\\d{4}|(?:4722|505[2-57-9]|983[289])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013569]|3[0-24679]|4[167]|5[0-2]|6[0149]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}",
                ,
                , , "2015550123", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"], [, , "900[2-9]\\d{6}", , , , "9002345678"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "US", 1, "011", "1", , , "1", , , 1, [[, "(\\d{3})(\\d{4})", "$1-$2", ["310"], , , 1], [, "(\\d{3})(\\d{4})", "$1-$2",
                    ["[24-9]|3(?:[02-9]|1[1-9])"]], [, "(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3", ["[2-9]"], , , 1]], [[, "(\\d{3})(\\d{4})", "$1-$2", ["310"], , , 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[2-9]"]]], [, , , , , , , , , [-1]], 1, , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], UY: [, [, , "0004\\d{2,9}|[1249]\\d{7}|(?:[49]\\d|80)\\d{5}", , , , , , , [6, 7, 8, 9, 10, 11, 12, 13]], [, , "(?:1(?:770|9(?:20|87))|(?:2\\d|4[2-7])\\d\\d)\\d{4}", , , , "21231234", , , [8], [7]], [, , "9[1-9]\\d{6}", , , , "94231234", , , [8]], [, , "0004\\d{2,9}|(?:405|80[05])\\d{4}", ,
                ,
                , "8001234"], [, , "90[0-8]\\d{4}", , , , "9001234", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "UY", 598, "0(?:0|1[3-9]\\d)", "0", " int. ", , "0", , "00", , [[, "(\\d{3})(\\d{3,4})", "$1 $2", ["0"]], [, "(\\d{3})(\\d{4})", "$1 $2", ["[49]0|8"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"], [, "(\\d{4})(\\d{4})", "$1 $2", ["[124]"]], [, "(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["0"]], [, "(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3 $4", ["0"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , ,
                ,
                , , , , [-1]]], UZ: [, [, , "(?:20|33|[5-79]\\d|88)\\d{7}", , , , , , , [9]], [, , "(?:55\\d\\d|6(?:1(?:22|3[124]|4[1-4]|5[1-3578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|6\\d\\d|7(?:[23]\\d|7[69])|9(?:22|4[1-8]|6[135]))|7(?:0(?:5[4-9]|6[0146]|7[124-6]|9[135-8])|(?:1[12]|[68]\\d)\\d|2(?:22|3[13-57-9]|4[1-3579]|5[14])|3(?:2\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|9(?:22|5[1-9])))\\d{5}", , , , "669050123"], [, , "(?:(?:[25]0|33|88|9[0-57-9])\\d{3}|6(?:1(?:2(?:2[01]|98)|35[0-4]|50\\d|61[23]|7(?:[01][017]|4\\d|55|9[5-9]))|2(?:(?:11|7\\d)\\d|2(?:[12]1|9[01379])|5(?:[126]\\d|3[0-4]))|5(?:19[01]|2(?:27|9[26])|(?:30|59|7\\d)\\d)|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|(?:3[79]|9[0-3])\\d|4(?:56|83)|7(?:[07]\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79]))|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\d|[39][07])|9(?:0\\d|7[079]))|9(?:2(?:1[1267]|3[01]|5\\d|7[0-4])|(?:5[67]|7\\d)\\d|6(?:2[0-26]|8\\d)))|7(?:[07]\\d{3}|1(?:13[01]|6(?:0[47]|1[67]|66)|71[3-69]|98\\d)|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\d|7(?:0\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|(?:33|9[4-6])\\d|5(?:0[0-4]|5[579]|9\\d)|7(?:[0-3579]\\d|4[0467]|6[67]|8[078]))|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\d|9[5-9])|7(?:0\\d|1[024589]|2[0-27]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\d))|5(?:112|2(?:0\\d|2[29]|[49]4)|3[1568]\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\d|8[78]|9[079]))|9(?:22[128]|3(?:2[0-4]|7\\d)|57[02569]|7(?:2[05-9]|3[37]|4\\d|60|7[2579]|87|9[07]))))\\d{4}",
                ,
                , , "912345678"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "UZ", 998, "810", "8", , , "8", , "8~10", , [[, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[235-9]"], "8 $1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], VA: [, [, , "0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}", , , , , , , [6, 7, 8, 9, 10, 11, 12]], [, , "06698\\d{1,6}", , , , "0669812345", , , [6, 7, 8, 9, 10, 11]], [, , "3[1-9]\\d{8}|3[2-9]\\d{7}", , , , "3123456789", , , [9, 10]], [, , "80(?:0\\d{3}|3)\\d{3}",
                ,
                , , "800123456", , , [6, 9]], [, , "(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}", , , , "899123456", , , [6, 8, 9, 10]], [, , "84(?:[08]\\d{3}|[17])\\d{3}", , , , "848123456", , , [6, 9]], [, , "1(?:78\\d|99)\\d{6}", , , , "1781234567", , , [9, 10]], [, , "55\\d{8}", , , , "5512345678", , , [10]], "VA", 39, "00", , , , , , , , , , [, , , , , , , , , [-1]], , "06698", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , "3[2-8]\\d{9,10}", , , , "33101234501", , , [11, 12]]], VC: [, [, , "(?:[58]\\d\\d|784|900)\\d{7}", , , , , , , [10], [7]],
            [, , "784(?:266|3(?:6[6-9]|7\\d|8[0-6])|4(?:38|5[0-36-8]|8[0-8])|5(?:55|7[0-2]|93)|638|784)\\d{4}", , , , "7842661234", , , , [7]], [, , "784(?:4(?:3[0-5]|5[45]|89|9[0-8])|5(?:2[6-9]|3[0-4])|720)\\d{4}", , , , "7844301234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"], [, , "900[2-9]\\d{6}", , , , "9002345678"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
                ,
                , , "5002345678"], [, , "78451[0-2]\\d{4}", , , , "7845101234", , , , [7]], "VC", 1, "011", "1", , , "([2-7]\\d{6})$|1", "784$1", , , , , [, , , , , , , , , [-1]], , "784", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], VE: [, [, , "[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}", , , , , , , [10], [7]], [, , "(?:2(?:12|3[457-9]|[467]\\d|[58][1-9]|9[1-6])|[4-6]00)\\d{7}", , , , "2121234567", , , , [7]], [, , "4(?:1[24-8]|2[46])\\d{7}", , , , "4121234567"], [, , "800\\d{7}", , , , "8001234567"], [, , "90[01]\\d{7}", , , , "9001234567"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]],
            "VE", 58, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{7})", "$1-$2", ["[24-689]"], "0$1", "$CC $1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "501\\d{7}", , , , "5010123456", , , , [7]], , , [, , , , , , , , , [-1]]], VG: [, [, , "(?:284|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "284(?:229|4(?:22|9[45])|774|8(?:52|6[459]))\\d{4}", , , , "2842291234", , , , [7]], [, , "284(?:245|3(?:0[0-3]|4[0-7]|68|9[34])|4(?:4[0-6]|68|9[69])|5(?:4[0-7]|68|9[69]))\\d{4}", , , , "2843001234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"], [, , "900[2-9]\\d{6}",
                ,
                , , "9002345678"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "VG", 1, "011", "1", , , "([2-578]\\d{6})$|1", "284$1", , , , , [, , , , , , , , , [-1]], , "284", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], VI: [, [, , "[58]\\d{9}|(?:34|90)0\\d{7}", , , , , , , [10], [7]], [, , "340(?:2(?:0[0-368]|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}",
                ,
                , , "3406421234", , , , [7]], [, , "340(?:2(?:0[0-368]|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}", , , , "3406421234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"], [, , "900[2-9]\\d{6}", , , , "9002345678"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
                ,
                , , "5002345678"], [, , , , , , , , , [-1]], "VI", 1, "011", "1", , , "([2-9]\\d{6})$|1", "340$1", , 1, , , [, , , , , , , , , [-1]], , "340", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], VN: [, [, , "[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}", , , , , , , [7, 8, 9, 10]], [, , "2(?:0[3-9]|1[0-689]|2[0-25-9]|[38][2-9]|4[2-8]|5[124-9]|6[0-39]|7[0-7]|9[0-4679])\\d{7}", , , , "2101234567", , , [10]], [, , "(?:5(?:2[238]|59)|89[6-9]|99[013-9])\\d{6}|(?:3\\d|5[1689]|7[06-9]|8[1-8]|9[0-8])\\d{7}", , , , "912345678", , , [9]], [, , "1800\\d{4,6}|12(?:0[13]|28)\\d{4}",
                ,
                , , "1800123456", , , [8, 9, 10]], [, , "1900\\d{4,6}", , , , "1900123456", , , [8, 9, 10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "672\\d{6}", , , , "672012345", , , [9]], "VN", 84, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[17]99"], "0$1", , 1], [, "(\\d{2})(\\d{5})", "$1 $2", ["80"], "0$1", , 1], [, "(\\d{3})(\\d{4,5})", "$1 $2", ["69"], "0$1", , 1], [, "(\\d{4})(\\d{4,6})", "$1 $2", ["1"], , , 1], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["6"], "0$1", , 1], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[357-9]"], "0$1", , 1], [, "(\\d{2})(\\d{4})(\\d{4})",
                    "$1 $2 $3", ["2[48]"], "0$1", , 1], [, "(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["2"], "0$1", , 1]], [[, "(\\d{2})(\\d{5})", "$1 $2", ["80"], "0$1", , 1], [, "(\\d{4})(\\d{4,6})", "$1 $2", ["1"], , , 1], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["6"], "0$1", , 1], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[357-9]"], "0$1", , 1], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["2[48]"], "0$1", , 1], [, "(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["2"], "0$1", , 1]], [, , , , , , , , , [-1]], , , [, , "[17]99\\d{4}|69\\d{5,6}", , , , , , , [7, 8]], [, , "(?:[17]99|80\\d)\\d{4}|69\\d{5,6}",
                ,
                , , "1992000", , , [7, 8]], , , [, , , , , , , , , [-1]]], VU: [, [, , "[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}", , , , , , , [5, 7]], [, , "(?:38[0-8]|48[4-9])\\d\\d|(?:2[02-9]|3[4-7]|88)\\d{3}", , , , "22123", , , [5]], [, , "(?:[58]\\d|7[013-7])\\d{5}", , , , "5912345", , , [7]], [, , "81[18]\\d\\d", , , , "81123", , , [5]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "9(?:0[1-9]|1[01])\\d{4}", , , , "9010123", , , [7]], "VU", 678, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[57-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "(?:3[03]|900\\d)\\d{3}", , , , "30123"], ,
            ,
            [, , , , , , , , , [-1]]], WF: [, [, , "(?:40|72)\\d{4}|8\\d{5}(?:\\d{3})?", , , , , , , [6, 9]], [, , "72\\d{4}", , , , "721234", , , [6]], [, , "(?:72|8[23])\\d{4}", , , , "821234", , , [6]], [, , "80[0-5]\\d{6}", , , , "800012345", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "WF", 681, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[478]"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , "[48]0\\d{4}", , , , "401234", , , [6]]], WS: [, [, , "(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}",
                ,
                , , , , , [5, 6, 7, 10]], [, , "6[1-9]\\d{3}|(?:[2-5]|60)\\d{4}", , , , "22123", , , [5, 6]], [, , "(?:7[1-35-7]|8(?:[3-7]|9\\d{3}))\\d{5}", , , , "7212345", , , [7, 10]], [, , "800\\d{3}", , , , "800123", , , [6]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "WS", 685, "0", , , , , , , , [[, "(\\d{5})", "$1", ["[2-5]|6[1-9]"]], [, "(\\d{3})(\\d{3,7})", "$1 $2", ["[68]"]], [, "(\\d{2})(\\d{5})", "$1 $2", ["7"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], XK: [, [, , "[23]\\d{7,8}|(?:4\\d\\d|[89]00)\\d{5}", , , , , , , [8,
                    9]], [, , "(?:2[89]|39)0\\d{6}|[23][89]\\d{6}", , , , "28012345"], [, , "4[3-9]\\d{6}", , , , "43201234", , , [8]], [, , "800\\d{5}", , , , "80001234", , , [8]], [, , "900\\d{5}", , , , "90001234", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "XK", 383, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-4]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[23]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], YE: [, [, , "(?:1|7\\d)\\d{7}|[1-7]\\d{6}",
                ,
                , , , , , [7, 8, 9], [6]], [, , "78[0-7]\\d{4}|17\\d{6}|(?:[12][2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-6])\\d{5}", , , , "1234567", , , [7, 8], [6]], [, , "7[01378]\\d{7}", , , , "712345678", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "YE", 967, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-6]|7(?:[24-6]|8[0-7])"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], YT: [, [, , "(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}",
                ,
                , , , , , [9]], [, , "269(?:0[0-467]|5[0-4]|6\\d|[78]0)\\d{4}", , , , "269601234"], [, , "639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])\\d{4}", , , , "639012345"], [, , "80\\d{7}", , , , "801234567"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "9(?:(?:39|47)8[01]|769\\d)\\d{4}", , , , "939801234"], "YT", 262, "00", "0", , , "0", , , , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], ZA: [, [, , "[1-79]\\d{8}|8\\d{4,9}", , , , , , , [5, 6, 7, 8, 9, 10]], [, , "(?:2(?:0330|4302)|52087)0\\d{3}|(?:1[0-8]|2[1-378]|3[1-69]|4\\d|5[1346-8])\\d{7}",
                ,
                , , "101234567", , , [9]], [, , "(?:1(?:3492[0-25]|4495[0235]|549(?:20|5[01]))|4[34]492[01])\\d{3}|8[1-4]\\d{3,7}|(?:2[27]|47|54)4950\\d{3}|(?:1(?:049[2-4]|9[12]\\d\\d)|(?:6\\d|7[0-46-9])\\d{3}|8(?:5\\d{3}|7(?:08[67]|158|28[5-9]|310)))\\d{4}|(?:1[6-8]|28|3[2-69]|4[025689]|5[36-8])4920\\d{3}|(?:12|[2-5]1)492\\d{4}", , , , "711234567", , , [5, 6, 7, 8, 9]], [, , "80\\d{7}", , , , "801234567", , , [9]], [, , "(?:86[2-9]|9[0-2]\\d)\\d{6}", , , , "862345678", , , [9]], [, , "860\\d{6}", , , , "860123456", , , [9]], [, , , , , , , , , [-1]], [, , "87(?:08[0-589]|15[0-79]|28[0-4]|31[1-9])\\d{4}|87(?:[02][0-79]|1[0-46-9]|3[02-9]|[4-9]\\d)\\d{5}",
                ,
                , , "871234567", , , [9]], "ZA", 27, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{3,4})", "$1 $2", ["8[1-4]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["8[1-4]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["860"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-9]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "861\\d{6,7}", , , , "861123456", , , [9, 10]], , , [, , , , , , , , , [-1]]], ZM: [, [, , "800\\d{6}|(?:21|63|[79]\\d)\\d{7}", , , , , , , [9], [6]], [, , "21[1-8]\\d{6}", , , ,
                "211234567", , , , [6]], [, , "(?:7[5-79]|9[5-8])\\d{7}", , , , "955123456"], [, , "800\\d{6}", , , , "800123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "63\\d{7}", , , , "630123456"], "ZM", 260, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3})", "$1 $2", ["[1-9]"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"], [, "(\\d{2})(\\d{7})", "$1 $2", ["[79]"], "0$1"]], [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"], [, "(\\d{2})(\\d{7})", "$1 $2", ["[79]"], "0$1"]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [,
                ,
                , , , , , , , [-1]]], ZW: [, [, , "2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}", , , , , , , [5, 6, 7, 8, 9, 10], [3, 4]], [, , "(?:1(?:(?:3\\d|9)\\d|[4-8])|2(?:(?:(?:0(?:2[014]|5)|(?:2[0157]|31|84|9)\\d\\d|[56](?:[14]\\d\\d|20)|7(?:[089]|2[03]|[35]\\d\\d))\\d|4(?:2\\d\\d|8))\\d|1(?:2|[39]\\d{4}))|3(?:(?:123|(?:29\\d|92)\\d)\\d\\d|7(?:[19]|[56]\\d))|5(?:0|1[2-478]|26|[37]2|4(?:2\\d{3}|83)|5(?:25\\d\\d|[78])|[689]\\d)|6(?:(?:[16-8]21|28|52[013])\\d\\d|[39])|8(?:[1349]28|523)\\d\\d)\\d{3}|(?:4\\d\\d|9[2-9])\\d{4,5}|(?:(?:2(?:(?:(?:0|8[146])\\d|7[1-7])\\d|2(?:[278]\\d|92)|58(?:2\\d|3))|3(?:[26]|9\\d{3})|5(?:4\\d|5)\\d\\d)\\d|6(?:(?:(?:[0-246]|[78]\\d)\\d|37)\\d|5[2-8]))\\d\\d|(?:2(?:[569]\\d|8[2-57-9])|3(?:[013-59]\\d|8[37])|6[89]8)\\d{3}",
                ,
                , , "1312345", , , , [3, 4]], [, , "7(?:[178]\\d|3[1-9])\\d{6}", , , , "712345678", , , [9]], [, , "80(?:[01]\\d|20|8[0-8])\\d{3}", , , , "8001234", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "86(?:1[12]|22|30|44|55|77|8[368])\\d{6}", , , , "8686123456", , , [10]], "ZW", 263, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3,5})", "$1 $2", ["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"], "0$1"], [, "(\\d)(\\d{3})(\\d{2,4})", "$1 $2 $3", ["[49]"], "0$1"], [, "(\\d{3})(\\d{4})", "$1 $2", ["80"], "0$1"],
                [, "(\\d{2})(\\d{7})", "$1 $2", ["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2", "2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"], "(0$1)"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)", "2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"], "0$1"], [, "(\\d{4})(\\d{6})", "$1 $2", ["8"], "0$1"], [, "(\\d{2})(\\d{3,5})", "$1 $2", ["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"],
                    "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["29[013-9]|39|54"], "0$1"], [, "(\\d{4})(\\d{3,5})", "$1 $2", ["(?:25|54)8", "258|5483"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], 800: [, [, , "(?:00|[1-9]\\d)\\d{6}", , , , , , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:00|[1-9]\\d)\\d{6}", , , , "12345678"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "001", 800, , , , , , , , 1, [[, "(\\d{4})(\\d{4})", "$1 $2", ["\\d"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]],
            ,
            , [, , , , , , , , , [-1]]], 808: [, [, , "[1-9]\\d{7}", , , , , , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "[1-9]\\d{7}", , , , "12345678"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "001", 808, , , , , , , , 1, [[, "(\\d{4})(\\d{4})", "$1 $2", ["[1-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], 870: [, [, , "7\\d{11}|[35-7]\\d{8}", , , , , , , [9, 12]], [, , , , , , , , , [-1]], [, , "(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}", , , , "301234567"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , ,
                ,
                , , , , , [-1]], "001", 870, , , , , , , , , [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[35-7]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], 878: [, [, , "10\\d{10}", , , , , , , [12]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "10\\d{10}", , , , "101234567890"], "001", 878, , , , , , , , 1, [[, "(\\d{2})(\\d{5})(\\d{5})", "$1 $2 $3", ["1"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], 881: [, [, , "6\\d{9}|[0-36-9]\\d{8}", , , , , , , [9, 10]],
            [, , , , , , , , , [-1]], [, , "6\\d{9}|[0-36-9]\\d{8}", , , , "612345678"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "001", 881, , , , , , , , , [[, "(\\d)(\\d{3})(\\d{5})", "$1 $2 $3", ["[0-37-9]"]], [, "(\\d)(\\d{3})(\\d{5,6})", "$1 $2 $3", ["6"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], 882: [, [, , "[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?", , , , , , , [7, 8, 9, 10, 11, 12]], [, , , , , , , , , [-1]], [, , "342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|50\\d{3})\\d{7}",
                ,
                , , "3421234", , , [7, 8, 9, 10, 12]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}", , , , "390123456789"], "001", 882, , , , , , , , , [[, "(\\d{2})(\\d{5})", "$1 $2", ["16|342"]], [, "(\\d{2})(\\d{6})", "$1 $2", ["49"]], [, "(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["1[36]|9"]], [, "(\\d{2})(\\d{4})(\\d{3})", "$1 $2 $3", ["3[23]"]], [, "(\\d{2})(\\d{3,4})(\\d{4})",
                    "$1 $2 $3", ["16"]], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|23|3(?:[15]|4[57])|4|51"]], [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["34"]], [, "(\\d{2})(\\d{4,5})(\\d{5})", "$1 $2 $3", ["[1-35]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , "348[57]\\d{7}", , , , "34851234567", , , [11]]], 883: [, [, , "(?:[1-4]\\d|51)\\d{6,10}", , , , , , , [8, 9, 10, 11, 12]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}",
                ,
                , , "510012345"], "001", 883, , , , , , , , 1, [[, "(\\d{3})(\\d{3})(\\d{2,8})", "$1 $2 $3", ["[14]|2[24-689]|3[02-689]|51[24-9]"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["510"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["21"]], [, "(\\d{4})(\\d{4})(\\d{4})", "$1 $2 $3", ["51[13]"]], [, "(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[235]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]], 888: [, [, , "\\d{11}", , , , , , , [11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , ,
                ,
                , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "001", 888, , , , , , , , 1, [[, "(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "\\d{11}", , , , "12345678901"], , , [, , , , , , , , , [-1]]], 979: [, [, , "[1359]\\d{8}", , , , , , , [9], [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "[1359]\\d{8}", , , , "123456789", , , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "001", 979, , , , , , , , 1, [[, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[1359]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]] };
    function J() { this.g = {}; }
    J.h = void 0;
    J.g = function () { return J.h ? J.h : J.h = new J; };
    var K = { 0: "0", 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7", 8: "8", 9: "9", "\uff10": "0", "\uff11": "1", "\uff12": "2", "\uff13": "3", "\uff14": "4", "\uff15": "5", "\uff16": "6", "\uff17": "7", "\uff18": "8", "\uff19": "9", "\u0660": "0", "\u0661": "1", "\u0662": "2", "\u0663": "3", "\u0664": "4", "\u0665": "5", "\u0666": "6", "\u0667": "7", "\u0668": "8", "\u0669": "9", "\u06f0": "0", "\u06f1": "1", "\u06f2": "2", "\u06f3": "3", "\u06f4": "4", "\u06f5": "5", "\u06f6": "6", "\u06f7": "7", "\u06f8": "8", "\u06f9": "9" }, xa = { 0: "0", 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6",
        7: "7", 8: "8", 9: "9", "+": "+", "*": "*", "#": "#" }, ya = { 0: "0", 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7", 8: "8", 9: "9", "\uff10": "0", "\uff11": "1", "\uff12": "2", "\uff13": "3", "\uff14": "4", "\uff15": "5", "\uff16": "6", "\uff17": "7", "\uff18": "8", "\uff19": "9", "\u0660": "0", "\u0661": "1", "\u0662": "2", "\u0663": "3", "\u0664": "4", "\u0665": "5", "\u0666": "6", "\u0667": "7", "\u0668": "8", "\u0669": "9", "\u06f0": "0", "\u06f1": "1", "\u06f2": "2", "\u06f3": "3", "\u06f4": "4", "\u06f5": "5", "\u06f6": "6", "\u06f7": "7", "\u06f8": "8", "\u06f9": "9", A: "2",
        B: "2", C: "2", D: "3", E: "3", F: "3", G: "4", H: "4", I: "4", J: "5", K: "5", L: "5", M: "6", N: "6", O: "6", P: "7", Q: "7", R: "7", S: "7", T: "8", U: "8", V: "8", W: "9", X: "9", Y: "9", Z: "9" }, za = RegExp("[+\uff0b]+"), L = RegExp("^[+\uff0b]+"), Aa = RegExp("([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9])"), Ba = RegExp("[+\uff0b0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]"), Ca = /[\\\/] *x/, Da = RegExp("[^0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9A-Za-z#]+$"), Ea = /(?:.*?[A-Za-z]){3}.*/, Fa = RegExp("^\\+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]|[\\-\\.\\(\\)]?)*[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]|[\\-\\.\\(\\)]?)*$"), Ga = RegExp("^([A-Za-z0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]+((\\-)*[A-Za-z0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9])*\\.)*[A-Za-z]+((\\-)*[A-Za-z0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9])*\\.?$");
    function M(a) { return "([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1," + a + "})"; }
    function Ha() { return ";ext=" + M("20") + "|[ \u00a0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|\u0434\u043e\u0431|anexo)[:\\.\uff0e]?[ \u00a0\\t,-]*" + (M("20") + "#?|[ \u00a0\\t,]*(?:[x\uff58#\uff03~\uff5e]|int|\uff49\uff4e\uff54)[:\\.\uff0e]?[ \u00a0\\t,-]*") + (M("9") + "#?|[- ]+") + (M("6") + "#|[ \u00a0\\t]*(?:,{2}|;)[:\\.\uff0e]?[ \u00a0\\t,-]*") + (M("15") + "#?|[ \u00a0\\t]*(?:,)+[:\\.\uff0e]?[ \u00a0\\t,-]*") + (M("9") + "#?"); }
    var Ia = new RegExp("(?:" + Ha() + ")$", "i"), Ja = new RegExp("^[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{2}$|^[+\uff0b]*(?:[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e*]*[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]){3,}[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e*A-Za-z0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]*(?:" + Ha() + ")?$", "i"), Ka = /(\$\d)/, La = /^\(?\$1\)?$/;
    function Ma(a) { return 2 > a.length ? !1 : N(Ja, a); }
    function Na(a) { return N(Ea, a) ? O(a, ya) : O(a, K); }
    function Oa(a) { var b = Na(a.toString()); C(a); a.g(b); }
    function Pa(a) { return null != a && (1 != w(a, 9) || -1 != t(a, 9)[0]); }
    function O(a, b) { for (var c = new B, d, f = a.length, e = 0; e < f; ++e)
        d = a.charAt(e), d = b[d.toUpperCase()], null != d && c.g(d); return c.toString(); }
    function Qa(a) { return 0 == a.length || La.test(a); }
    function P(a) { return null != a && isNaN(a) && a.toUpperCase() in wa; }
    function Ra(a, b, c) {
        if (0 == q(b, 2) && p(b, 5)) {
            var d = v(b, 5);
            if (0 < d.length)
                return d;
        }
        d = v(b, 1);
        var f = Q(b);
        if (0 == c)
            return Sa(d, 0, f, "");
        if (!(d in I))
            return f;
        a = R(a, d, S(d));
        b = p(b, 3) && 0 != q(b, 3).length ? 3 == c ? ";ext=" + q(b, 3) : p(a, 13) ? q(a, 13) + v(b, 3) : " ext. " + v(b, 3) : "";
        a: {
            a = 0 == t(a, 20).length || 2 == c ? t(a, 19) : t(a, 20);
            for (var e, g = a.length, h = 0; h < g; ++h) {
                e = a[h];
                var l = w(e, 3);
                if (0 == l || 0 == f.search(q(e, 3, l - 1)))
                    if (l = new RegExp(q(e, 1)), N(l, f)) {
                        a = e;
                        break a;
                    }
            }
            a = null;
        }
        null != a && (g = a, a = v(g, 2), e = new RegExp(q(g, 1)), v(g, 5), g = v(g, 4), f = 2 == c &&
            null != g && 0 < g.length ? f.replace(e, a.replace(Ka, g)) : f.replace(e, a), 3 == c && (f = f.replace(RegExp("^[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]+"), ""), f = f.replace(RegExp("[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]+", "g"), "-")));
        return Sa(d, c, f, b);
    }
    function R(a, b, c) { return "001" == c ? T(a, "" + b) : T(a, c); }
    function Q(a) { if (!p(a, 2))
        return ""; var b = "" + q(a, 2); return p(a, 4) && q(a, 4) && 0 < v(a, 8) ? Array(v(a, 8) + 1).join("0") + b : b; }
    function Sa(a, b, c, d) { switch (b) {
        case 0: return "+" + a + c + d;
        case 1: return "+" + a + " " + c + d;
        case 3: return "tel:+" + a + "-" + c + d;
        default: return c + d;
    } }
    function U(a, b) { switch (b) {
        case 4: return q(a, 5);
        case 3: return q(a, 4);
        case 1: return q(a, 3);
        case 0:
        case 2: return q(a, 2);
        case 5: return q(a, 6);
        case 6: return q(a, 8);
        case 7: return q(a, 7);
        case 8: return q(a, 21);
        case 9: return q(a, 25);
        case 10: return q(a, 28);
        default: return q(a, 1);
    } }
    function V(a, b) { return W(a, q(b, 1)) ? W(a, q(b, 5)) ? 4 : W(a, q(b, 4)) ? 3 : W(a, q(b, 6)) ? 5 : W(a, q(b, 8)) ? 6 : W(a, q(b, 7)) ? 7 : W(a, q(b, 21)) ? 8 : W(a, q(b, 25)) ? 9 : W(a, q(b, 28)) ? 10 : W(a, q(b, 2)) ? q(b, 18) || W(a, q(b, 3)) ? 2 : 0 : !q(b, 18) && W(a, q(b, 3)) ? 1 : -1 : -1; }
    function T(a, b) { if (null == b)
        return null; b = b.toUpperCase(); var c = a.g[b]; if (null == c) {
        c = wa[b];
        if (null == c)
            return null;
        c = (new A).g(G.m(), c);
        a.g[b] = c;
    } return c; }
    function W(a, b) { var c = a.length; return 0 < w(b, 9) && -1 == t(b, 9).indexOf(c) ? !1 : N(v(b, 2), a); }
    function Ta(a, b) { if (null == b)
        return null; var c = v(b, 1); c = I[c]; if (null == c)
        a = null;
    else if (1 == c.length)
        a = c[0];
    else
        a: {
            b = Q(b);
            for (var d, f = c.length, e = 0; e < f; e++) {
                d = c[e];
                var g = T(a, d);
                if (p(g, 23)) {
                    if (0 == b.search(q(g, 23))) {
                        a = d;
                        break a;
                    }
                }
                else if (-1 != V(b, g)) {
                    a = d;
                    break a;
                }
            }
            a = null;
        } return a; }
    function S(a) { a = I[a]; return null == a ? "ZZ" : a[0]; }
    function Ua(a, b) { a = T(a, b); if (null == a)
        throw Error("Invalid region code: " + b); return v(a, 10); }
    function X(a, b, c, d) { var f = U(c, d), e = 0 == w(f, 9) ? t(q(c, 1), 9) : t(f, 9); f = t(f, 10); if (2 == d)
        if (Pa(U(c, 0)))
            a = U(c, 1), Pa(a) && (e = e.concat(0 == w(a, 9) ? t(q(c, 1), 9) : t(a, 9)), e.sort(), 0 == f.length ? f = t(a, 10) : (f = f.concat(t(a, 10)), f.sort()));
        else
            return X(a, b, c, 1); if (-1 == e[0])
        return 5; b = b.length; if (-1 < f.indexOf(b))
        return 4; c = e[0]; return c == b ? 0 : c > b ? 2 : e[e.length - 1] < b ? 3 : -1 < e.indexOf(b, 1) ? 0 : 5; }
    function Va(a, b) { var c = Q(b); b = v(b, 1); if (!(b in I))
        return 1; b = R(a, b, S(b)); return X(a, c, b, -1); }
    function Wa(a, b) { a = a.toString(); if (0 == a.length || "0" == a.charAt(0))
        return 0; for (var c, d = a.length, f = 1; 3 >= f && f <= d; ++f)
        if (c = parseInt(a.substring(0, f), 10), c in I)
            return b.g(a.substring(f)), c; return 0; }
    function Xa(a, b, c, d, f, e) {
        if (0 == b.length)
            return 0;
        b = new B(b);
        var g;
        null != c && (g = q(c, 11));
        null == g && (g = "NonMatch");
        var h = b.toString();
        if (0 == h.length)
            g = 20;
        else if (L.test(h))
            h = h.replace(L, ""), C(b), b.g(Na(h)), g = 1;
        else {
            h = new RegExp(g);
            Oa(b);
            g = b.toString();
            if (0 == g.search(h)) {
                h = g.match(h)[0].length;
                var l = g.substring(h).match(Aa);
                l && null != l[1] && 0 < l[1].length && "0" == O(l[1], K) ? g = !1 : (C(b), b.g(g.substring(h)), g = !0);
            }
            else
                g = !1;
            g = g ? 5 : 20;
        }
        f && r(e, 6, g);
        if (20 != g) {
            if (2 >= b.h.length)
                throw Error("Phone number too short after IDD");
            a = Wa(b, d);
            if (0 != a)
                return r(e, 1, a), a;
            throw Error("Invalid country calling code");
        }
        if (null != c && (g = v(c, 10), h = "" + g, l = b.toString(), 0 == l.lastIndexOf(h, 0) && (h = new B(l.substring(h.length)), l = q(c, 1), l = new RegExp(v(l, 2)), Ya(h, c, null), h = h.toString(), !N(l, b.toString()) && N(l, h) || 3 == X(a, b.toString(), c, -1))))
            return d.g(h), f && r(e, 6, 10), r(e, 1, g), g;
        r(e, 1, 0);
        return 0;
    }
    function Ya(a, b, c) { var d = a.toString(), f = d.length, e = q(b, 15); if (0 != f && null != e && 0 != e.length) {
        var g = new RegExp("^(?:" + e + ")");
        if (f = g.exec(d)) {
            e = new RegExp(v(q(b, 1), 2));
            var h = N(e, d), l = f.length - 1;
            b = q(b, 16);
            if (null == b || 0 == b.length || null == f[l] || 0 == f[l].length) {
                if (!h || N(e, d.substring(f[0].length)))
                    null != c && 0 < l && null != f[l] && c.g(f[1]), a.set(d.substring(f[0].length));
            }
            else if (d = d.replace(g, b), !h || N(e, d))
                null != c && 0 < l && c.g(f[1]), a.set(d);
        }
    } }
    function Y(a, b, c) { if (!P(c) && 0 < b.length && "+" != b.charAt(0))
        throw Error("Invalid country calling code"); return Za(a, b, c, !0); }
    function Za(a, b, c, d) {
        if (null == b)
            throw Error("The string supplied did not seem to be a phone number");
        if (250 < b.length)
            throw Error("The string supplied is too long to be a phone number");
        var f = new B;
        var e = b.indexOf(";phone-context=");
        if (-1 === e)
            e = null;
        else if (e += 15, e >= b.length)
            e = "";
        else {
            var g = b.indexOf(";", e);
            e = -1 !== g ? b.substring(e, g) : b.substring(e);
        }
        var h = e;
        null == h ? g = !0 : 0 === h.length ? g = !1 : (g = Fa.exec(h), h = Ga.exec(h), g = null !== g || null !== h);
        if (!g)
            throw Error("The string supplied did not seem to be a phone number");
        null != e ? ("+" === e.charAt(0) && f.g(e), e = b.indexOf("tel:"), f.g(b.substring(0 <= e ? e + 4 : 0, b.indexOf(";phone-context=")))) : (e = f.g, g = b !== null && b !== void 0 ? b : "", h = g.search(Ba), 0 <= h ? (g = g.substring(h), g = g.replace(Da, ""), h = g.search(Ca), 0 <= h && (g = g.substring(0, h))) : g = "", e.call(f, g));
        e = f.toString();
        g = e.indexOf(";isub=");
        0 < g && (C(f), f.g(e.substring(0, g)));
        if (!Ma(f.toString()))
            throw Error("The string supplied did not seem to be a phone number");
        e = f.toString();
        if (!(P(c) || null != e && 0 < e.length && L.test(e)))
            throw Error("Invalid country calling code");
        e = new H;
        d && r(e, 5, b);
        a: {
            b = f.toString();
            g = b.search(Ia);
            if (0 <= g && Ma(b.substring(0, g))) {
                h = b.match(Ia);
                for (var l = h.length, D = 1; D < l; ++D)
                    if (null != h[D] && 0 < h[D].length) {
                        C(f);
                        f.g(b.substring(0, g));
                        b = h[D];
                        break a;
                    }
            }
            b = "";
        }
        0 < b.length && r(e, 3, b);
        g = T(a, c);
        b = new B;
        h = 0;
        l = f.toString();
        try {
            h = Xa(a, l, g, b, d, e);
        }
        catch (ba) {
            if ("Invalid country calling code" == ba.message && L.test(l)) {
                if (l = l.replace(L, ""), h = Xa(a, l, g, b, d, e), 0 == h)
                    throw ba;
            }
            else
                throw ba;
        }
        0 != h ? (f = S(h), f != c && (g = R(a, h, f))) : (Oa(f), b.g(f.toString()), null != c ? (h = v(g, 10), r(e, 1, h)) : d && (delete e.h[6], e.g && delete e.g[6]));
        if (2 > b.h.length)
            throw Error("The string supplied is too short to be a phone number");
        null != g && (c = new B, f = new B(b.toString()), Ya(f, g, c), a = X(a, f.toString(), g, -1), 2 != a && 4 != a && 5 != a && (b = f, d && 0 < c.toString().length && r(e, 7, c.toString())));
        d = b.toString();
        a = d.length;
        if (2 > a)
            throw Error("The string supplied is too short to be a phone number");
        if (17 < a)
            throw Error("The string supplied is too long to be a phone number");
        if (1 < d.length && "0" == d.charAt(0)) {
            r(e, 4, !0);
            for (a =
                1; a < d.length - 1 && "0" == d.charAt(a);)
                a++;
            1 != a && r(e, 8, a);
        }
        r(e, 2, parseInt(d, 10));
        return e;
    }
    function N(a, b) { return (a = "string" == typeof a ? b.match("^(?:" + a + ")$") : b.match(a)) && a[0].length == b.length ? !0 : !1; }
    ;
    function $a(a) { this.fa = RegExp("\u2008"); this.ja = ""; this.v = new B; this.da = ""; this.s = new B; this.ba = new B; this.u = !0; this.ea = this.ca = this.la = !1; this.ga = J.g(); this.$ = 0; this.h = new B; this.ha = !1; this.o = ""; this.g = new B; this.j = []; this.ka = a; this.l = ab(this, this.ka); }
    var bb = new G;
    r(bb, 11, "NA");
    var cb = RegExp("^[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]*\\$1[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]*(\\$\\d[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]*)*$"), db = /[- ]/;
    function ab(a, b) { var c = a.ga; b = P(b) ? Ua(c, b) : 0; a = T(a.ga, S(b)); return null != a ? a : bb; }
    function eb(a) { for (var b = a.j.length, c = 0; c < b; ++c) {
        var d = a.j[c], f = v(d, 1);
        if (a.da == f)
            return !1;
        var e = a;
        var g = d, h = v(g, 1);
        C(e.v);
        var l = e;
        g = v(g, 2);
        var D = "999999999999999".match(h)[0];
        D.length < l.g.h.length ? l = "" : (l = D.replace(new RegExp(h, "g"), g), l = l.replace(RegExp("9", "g"), "\u2008"));
        0 < l.length ? (e.v.g(l), e = !0) : e = !1;
        if (e)
            return a.da = f, a.ha = db.test(q(d, 4)), a.$ = 0, !0;
    } return a.u = !1; }
    function fb(a, b) { for (var c = [], d = b.length - 3, f = a.j.length, e = 0; e < f; ++e) {
        var g = a.j[e];
        0 == w(g, 3) ? c.push(a.j[e]) : (g = q(g, 3, Math.min(d, w(g, 3) - 1)), 0 == b.search(g) && c.push(a.j[e]));
    } a.j = c; }
    function gb(a, b) {
        a.s.g(b);
        var c = b;
        Aa.test(c) || 1 == a.s.h.length && za.test(c) ? ("+" == b ? (c = b, a.ba.g(b)) : (c = K[b], a.ba.g(c), a.g.g(c)), b = c) : (a.u = !1, a.la = !0);
        if (!a.u) {
            if (!a.la)
                if (hb(a)) {
                    if (ib(a))
                        return jb(a);
                }
                else if (0 < a.o.length && (b = a.g.toString(), C(a.g), a.g.g(a.o), a.g.g(b), b = a.h.toString(), c = b.lastIndexOf(a.o), C(a.h), a.h.g(b.substring(0, c))), a.o != kb(a))
                    return a.h.g(" "), jb(a);
            return a.s.toString();
        }
        switch (a.ba.h.length) {
            case 0:
            case 1:
            case 2: return a.s.toString();
            case 3: if (hb(a))
                a.ea = !0;
            else
                return a.o = kb(a),
                    lb(a);
            default:
                if (a.ea)
                    return ib(a) && (a.ea = !1), a.h.toString() + a.g.toString();
                if (0 < a.j.length) {
                    b = mb(a, b);
                    c = nb(a);
                    if (0 < c.length)
                        return c;
                    fb(a, a.g.toString());
                    return eb(a) ? ob(a) : a.u ? Z(a, b) : a.s.toString();
                }
                return lb(a);
        }
    }
    function jb(a) { a.u = !0; a.ea = !1; a.j = []; a.$ = 0; C(a.v); a.da = ""; return lb(a); }
    function nb(a) { for (var b = a.g.toString(), c = a.j.length, d = 0; d < c; ++d) {
        var f = a.j[d], e = v(f, 1);
        if ((new RegExp("^(?:" + e + ")$")).test(b) && (a.ha = db.test(q(f, 4)), f = b.replace(new RegExp(e, "g"), q(f, 2)), f = Z(a, f), O(f, xa) == a.ba))
            return f;
    } return ""; }
    function Z(a, b) { var c = a.h.h.length; return a.ha && 0 < c && " " != a.h.toString().charAt(c - 1) ? a.h + " " + b : a.h + b; }
    function lb(a) { var b = a.g.toString(); if (3 <= b.length) {
        for (var c = a.ca && 0 == a.o.length && 0 < w(a.l, 20) ? t(a.l, 20) : t(a.l, 19), d = c.length, f = 0; f < d; ++f) {
            var e = c[f];
            0 < a.o.length && Qa(v(e, 4)) && !q(e, 6) && !p(e, 5) || (0 != a.o.length || a.ca || Qa(v(e, 4)) || q(e, 6)) && cb.test(v(e, 2)) && a.j.push(e);
        }
        fb(a, b);
        b = nb(a);
        return 0 < b.length ? b : eb(a) ? ob(a) : a.s.toString();
    } return Z(a, b); }
    function ob(a) { var b = a.g.toString(), c = b.length; if (0 < c) {
        for (var d = "", f = 0; f < c; f++)
            d = mb(a, b.charAt(f));
        return a.u ? Z(a, d) : a.s.toString();
    } return a.h.toString(); }
    function kb(a) { var b = a.g.toString(), c = 0; if (1 != q(a.l, 10))
        var d = !1;
    else
        d = a.g.toString(), d = "1" == d.charAt(0) && "0" != d.charAt(1) && "1" != d.charAt(1); d ? (c = 1, a.h.g("1").g(" "), a.ca = !0) : p(a.l, 15) && (d = new RegExp("^(?:" + q(a.l, 15) + ")"), d = b.match(d), null != d && null != d[0] && 0 < d[0].length && (a.ca = !0, c = d[0].length, a.h.g(b.substring(0, c)))); C(a.g); a.g.g(b.substring(c)); return b.substring(0, c); }
    function hb(a) { var b = a.ba.toString(), c = new RegExp("^(?:\\+|" + q(a.l, 11) + ")"); c = b.match(c); return null != c && null != c[0] && 0 < c[0].length ? (a.ca = !0, c = c[0].length, C(a.g), a.g.g(b.substring(c)), C(a.h), a.h.g(b.substring(0, c)), "+" != b.charAt(0) && a.h.g(" "), !0) : !1; }
    function ib(a) { if (0 == a.g.h.length)
        return !1; var b = new B, c = Wa(a.g, b); if (0 == c)
        return !1; C(a.g); a.g.g(b.toString()); b = S(c); "001" == b ? a.l = T(a.ga, "" + c) : b != a.ka && (a.l = ab(a, b)); a.h.g("" + c).g(" "); a.o = ""; return !0; }
    function mb(a, b) { var c = a.v.toString(); if (0 <= c.substring(a.$).search(a.fa)) {
        var d = c.search(a.fa);
        b = c.replace(a.fa, b);
        C(a.v);
        a.v.g(b);
        a.$ = d;
        return b.substring(0, a.$ + 1);
    } 1 == a.j.length && (a.u = !1); a.da = ""; return a.s.toString(); }
    ;
    k("intlTelInputUtils", {});
    k("intlTelInputUtils.formatNumberAsYouType", function (a, b) { try {
        var c = a.replace(/[^+0-9]/g, ""), d = new $a(b);
        var f = "";
        for (var e = 0; e < c.length; e++)
            b = d, b.ja = gb(b, c.charAt(e)), f = b.ja;
        return f;
    }
    catch (c) {
        return a;
    } });
    k("intlTelInputUtils.formatNumber", function (a, b, c) { try {
        var f = J.g(), e = Y(f, a, b);
        var d = Va(f, e);
        return 0 == d || 4 == d ? Ra(f, e, "undefined" === typeof c ? 0 : c) : a;
    }
    catch (f) {
        return a;
    } });
    k("intlTelInputUtils.getExampleNumber", function (a, b, c) { try {
        var h = J.g();
        a: {
            var d = h;
            if (P(a)) {
                var f = U(T(d, a), c);
                try {
                    if (p(f, 6)) {
                        var e = q(f, 6);
                        var g = Za(d, e, a, !1);
                        break a;
                    }
                }
                catch (l) { }
            }
            g = null;
        }
        return Ra(h, g, b ? 2 : 1);
    }
    catch (h) {
        return "";
    } });
    k("intlTelInputUtils.getExtension", function (a, b) { try {
        return q(Y(J.g(), a, b), 3);
    }
    catch (c) {
        return "";
    } });
    k("intlTelInputUtils.getNumberType", function (a, b) { try {
        var h = J.g();
        var c = Y(h, a, b);
        a = h;
        var d = Ta(a, c), f = R(a, v(c, 1), d);
        if (null == f)
            var e = -1;
        else {
            var g = Q(c);
            e = V(g, f);
        }
        return e;
    }
    catch (h) {
        return -99;
    } });
    k("intlTelInputUtils.getValidationError", function (a, b) { try {
        var c = J.g(), d = Y(c, a, b);
        return Va(c, d);
    }
    catch (c) {
        return "Invalid country calling code" === c.message ? 1 : 3 >= a.length || "Phone number too short after IDD" === c.message || "The string supplied is too short to be a phone number" === c.message ? 2 : "The string supplied is too long to be a phone number" === c.message ? 3 : -99;
    } });
    k("intlTelInputUtils.isValidNumber", function (a, b) { try {
        var l = J.g();
        var c = Y(l, a, b);
        a = l;
        var d = Ta(a, c);
        var f = v(c, 1), e = R(a, f, d);
        if (null == e || "001" != d && f != Ua(a, d))
            var g = !1;
        else {
            var h = Q(c);
            g = -1 != V(h, e);
        }
        return g;
    }
    catch (l) {
        return !1;
    } });
    k("intlTelInputUtils.isPossibleNumber", function (a, b) { try {
        var c = J.g(), d = Y(c, a, b);
        return 0 === Va(c, d);
    }
    catch (c) {
        return !1;
    } });
    k("intlTelInputUtils.numberFormat", { E164: 0, INTERNATIONAL: 1, NATIONAL: 2, RFC3966: 3 });
    k("intlTelInputUtils.numberType", { FIXED_LINE: 0, MOBILE: 1, FIXED_LINE_OR_MOBILE: 2, TOLL_FREE: 3, PREMIUM_RATE: 4, SHARED_COST: 5, VOIP: 6, PERSONAL_NUMBER: 7, PAGER: 8, UAN: 9, VOICEMAIL: 10, UNKNOWN: -1 });
    k("intlTelInputUtils.validationError", { IS_POSSIBLE: 0, INVALID_COUNTRY_CODE: 1, TOO_SHORT: 2, TOO_LONG: 3, IS_POSSIBLE_LOCAL_ONLY: 4, INVALID_LENGTH: 5 });
})();
var landingpages;
(function (landingpages) {
    var sharing;
    (function (sharing) {
        var UtilFunctions = (function () {
            function UtilFunctions() {
            }
            UtilFunctions.bindEvent = function (target, event, method) {
                if (target.addEventListener) {
                    target.addEventListener(event, method, false);
                }
                else if (target['attachEvent']) {
                    target['attachEvent']('on' + event, method);
                }
            };
            UtilFunctions.unbindEvent = function (target, event, method) {
                if (target.removeEventListener) {
                    target.removeEventListener(event, method, false);
                }
                else if (target['detachEvent']) {
                    target['detachEvent']('on' + event, method);
                }
            };
            UtilFunctions.preventDefault = function (event) {
                event = event || window.event;
                if (event.preventDefault)
                    event.preventDefault();
                event.returnValue = false;
            };
            UtilFunctions.disableMouseWheel = function () {
                var _this = this;
                for (var i = 0; i < this.wheelEvents.length; i++)
                    this.bindEvent(window, this.wheelEvents[i], function (event) { return _this.preventDefault(event); });
            };
            UtilFunctions.enableMouseWheel = function () {
                var _this = this;
                for (var i = 0; i < this.wheelEvents.length; i++)
                    this.unbindEvent(window, this.wheelEvents[i], function (event) { return _this.preventDefault(event); });
            };
            UtilFunctions.extend = function (trgt, src) {
                for (var prop in src)
                    trgt[prop] = src[prop];
            };
            UtilFunctions.viewport = function () {
                var el = window, param = 'inner';
                if (!('innerWidth' in window)) {
                    el = document.documentElement || document.body;
                    param = 'client';
                }
                return { width: el["".concat(param, "Width")], height: el["".concat(param, "Height")] };
            };
            UtilFunctions.currentProtocol = function () {
                var re = /^https:/i, protocol = re.test(location.protocol) ? "https:" : "http:";
                if (document.getElementsByTagName) {
                    var baseElements = document.getElementsByTagName("base");
                    if (baseElements.length) {
                        var baseHref = baseElements[0].href;
                        if (baseHref && baseHref.length >= 6)
                            protocol = re.test(baseHref) ? "https:" : "http:";
                    }
                }
                return protocol;
            };
            UtilFunctions.wheelEvents = 'onwheel' in document || document.documentMode >= 9 ? ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'];
            return UtilFunctions;
        }());
        sharing.UtilFunctions = UtilFunctions;
    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
})(landingpages || (landingpages = {}));
var landingpages;
(function (landingpages) {
    var sharing;
    (function (sharing) {
        var Properties = (function () {
            function Properties(pageDomain, pageId, appearance, autoShow, keyDismiss, delay, showMobile, surveyWidth, transparent, shroudColor, shroudOpacity, attach, description, screenreader, openOnExitIntent, reopenAfterDismissedDelay, openAfterNumberOfPagesViewed, showAfterDismissed, openOnScrollDepth, hideAfterSubmission, unidentifiedVisitorsOnly) {
                if (attach === void 0) { attach = ""; }
                this.pageDomain = pageDomain;
                this.shroudColor = shroudColor;
                this.attach = attach;
                this.appearance = 0;
                this.autoShow = true;
                this.keyDismiss = false;
                this.showMobile = false;
                this.surveyWidth = 600;
                this.transparent = false;
                this.screenreader = false;
                this.reopenAfterDismissedDays = 0;
                this.delay = 0;
                this.openOnExitIntent = false;
                this.openAfterNumberOfPagesViewed = 0;
                this.showAfterDismissed = false;
                this.openOnScrollDepth = 0;
                this.hideAfterSubmission = false;
                this.unidentifiedVisitorsOnly = false;
                this.pageId = pageId.split('/')[0];
                if (appearance)
                    this.appearance = appearance === 'uc' ? 'uc' : parseInt(appearance);
                if (/false/i.test(autoShow))
                    this.autoShow = false;
                if (/true/i.test(keyDismiss))
                    this.keyDismiss = true;
                if (delay)
                    this.delay = parseInt(delay);
                if (/true/i.test(showMobile))
                    this.showMobile = true;
                if (surveyWidth)
                    this.surveyWidth = parseInt(surveyWidth) || this.surveyWidth;
                if (/true/i.test(transparent))
                    this.transparent = true;
                if (/true/i.test(screenreader))
                    this.screenreader = true;
                if (/true/i.test(openOnExitIntent))
                    this.openOnExitIntent = true;
                if (!!parseInt(reopenAfterDismissedDelay))
                    this.reopenAfterDismissedDays = parseInt(reopenAfterDismissedDelay);
                if (!!parseInt(openAfterNumberOfPagesViewed))
                    this.openAfterNumberOfPagesViewed = parseInt(openAfterNumberOfPagesViewed);
                if (!!/true/i.test(showAfterDismissed))
                    this.showAfterDismissed = true;
                if (!!parseInt(openOnScrollDepth))
                    this.openOnScrollDepth = parseInt(openOnScrollDepth);
                if (!!/true/i.test(hideAfterSubmission))
                    this.hideAfterSubmission = true;
                if (!!/true/i.test(unidentifiedVisitorsOnly))
                    this.unidentifiedVisitorsOnly = true;
                this.shroudOpacity = parseInt(shroudOpacity) || 0;
                this.description = description;
            }
            Properties.create = function (script) {
                if (/\?.*sharing=lp-/.test(script.src)) {
                    return this.createFromSrc(script.src);
                }
                else {
                    return this.createFromAttributes(script);
                }
            };
            Properties.createFromSrc = function (src) {
                var query = src.match(/\?(.+)#?/)[1].split(/&/), values = {};
                for (var i = 0; i < query.length; i++) {
                    var split = query[i].split(/=/);
                    if (split.length === 2)
                        values[split[0]] = decodeURIComponent(split[1]);
                }
                return this.parseAndCreate(values);
            };
            Properties.parseAndCreate = function (values) {
                return new Properties(values['domain'] || '', values['id'] || '', values['appearance'], values['auto'], values['keydismiss'], values['delay'], values['mobile'], values['width'], values['transparent'], values['shroudcolor'], values['shroudopacity'], values['attach'], values['description'], values['screenreader'], values['open-on-exit-intent'], values['reopen-dismissed-days'], values['open-after-number-of-pages-viewed'], values['show-after-dismissed'], values['open-on-scroll-depth'], values['hide-after-submission'], values['unidentified-visitors-only']);
            };
            Properties.createFromAttributes = function (script) {
                return new Properties(script.getAttribute('data-page-domain'), script.getAttribute('data-page-id'), script.getAttribute('data-appearance'), script.getAttribute('auto'), script.getAttribute('data-key-dismiss'), script.getAttribute('data-delay'), script.getAttribute('data-mobile'), null, null, null, null, null, null, null, script.getAttribute('open-on-exit-intent'), script.getAttribute('reopen-dismissed-days'), script.getAttribute('open-after-number-of-pages-viewed'), script.getAttribute('show-after-dismissed'), script.getAttribute('open-on-scroll-depth'), script.getAttribute('hide-after-submission'), script.getAttribute('unidentified-visitors-only'));
            };
            return Properties;
        }());
        sharing.Properties = Properties;
    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
})(landingpages || (landingpages = {}));
var landingpages;
(function (landingpages) {
    var sharing;
    (function (sharing) {
        var SharingBase = (function () {
            function SharingBase(script) {
                this.script = script;
                this.sandbox = 'allow-modals allow-downloads allow-top-navigation allow-forms allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox allow-top-navigation-by-user-activation';
                this.properties = sharing.Properties.create(script);
                this.iframe = document.createElement('iframe');
                if (!window.ecPF)
                    window.ecPF = new landingpages.sharing.EmbeddingAPI(this.properties.pageDomain);
                window.ecPF._register(this, this.properties.pageId);
            }
            SharingBase.getScripts = function (selector) {
                return document.querySelectorAll("script[src*=\"sharing=lp-".concat(selector, "\"],script[data-sharing=lp-").concat(selector, "]"));
            };
            return SharingBase;
        }());
        sharing.SharingBase = SharingBase;
    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
})(landingpages || (landingpages = {}));
var landingpages;
(function (landingpages) {
    var sharing;
    (function (sharing) {
        var EmbeddingAPI = (function () {
            function EmbeddingAPI(pageDomain) {
                var _this = this;
                this.pages = [];
                this.complete = [];
                window.lpXD.receiveMessage(function (msg) { return _this.messageRecieved(msg); }, landingpages.sharing.UtilFunctions.currentProtocol() + pageDomain);
            }
            EmbeddingAPI.prototype._register = function (form, pageId) {
                this.pages.push({ form: form, pageId: this.getId(pageId) });
            };
            EmbeddingAPI.prototype.messageRecieved = function (message) {
                var data = null;
                try {
                    data = JSON.parse(message.data);
                }
                catch (e) { }
                if (data && data.complete && data.name)
                    this.processComplete(data);
            };
            EmbeddingAPI.prototype.processComplete = function (data) {
                this.complete.filter(function (x) { return x.pageId === data.name || x.pageId === ''; }).forEach(function (x) { return x.method(data.formData); });
                if (data && data.formData && data.formData.contactEmail && window.dmPt) {
                    try {
                        window.dmPt('identify', data.formData.contactEmail);
                    }
                    catch (e) { }
                }
            };
            EmbeddingAPI.prototype.onComplete = function (fn, pageId) {
                if (pageId === void 0) { pageId = ''; }
                this.complete.push({ pageId: this.getId(pageId), method: fn });
            };
            EmbeddingAPI.prototype.open = function (pageId) {
                if (pageId === void 0) { pageId = ''; }
                this.getForms(pageId).forEach(function (x) { return x.form.open(); });
            };
            EmbeddingAPI.prototype.close = function (pageId) {
                if (pageId === void 0) { pageId = ''; }
                this.getForms(pageId).forEach(function (x) { return x.form.close(); });
            };
            EmbeddingAPI.prototype.getForms = function (name) {
                var _this = this;
                var forms = this.pages;
                if (name) {
                    forms = forms.filter(function (x) { return x.pageId === _this.getId(name); });
                }
                return forms;
            };
            EmbeddingAPI.prototype.getId = function (pageId) {
                return pageId.split('/')[0];
            };
            return EmbeddingAPI;
        }());
        sharing.EmbeddingAPI = EmbeddingAPI;
    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
})(landingpages || (landingpages = {}));
var landingpages;
(function (landingpages) {
    var sharing;
    (function (sharing) {
        if (!window.lpXD) {
            window.lpXD = function () {
                var interval_id, last_hash, cache_bust = 1, attached_callback, window = this;
                return {
                    postMessage: function (message, target_url, target) {
                        if (!target_url) {
                            return;
                        }
                        target = target || parent;
                        if (/dsid=/.test(location.search)) {
                            var dsid = location.search.replace(/.*dsid=([^&]+)/, '$1');
                            message = message.replace(/\}\s*$/, ",\"islpsurvey\":true, \"dsid\":\"".concat(dsid, "\"}"));
                        }
                        if (window['postMessage']) {
                            target['postMessage'](message, target_url.replace(/([^:]+:\/\/[^\/]+).*/, '$1'));
                        }
                        else if (target_url) {
                            target.location = target_url.replace(/#.*$/, '') + '#' + (+new Date) + (cache_bust++) + '&' + message;
                        }
                    },
                    receiveMessage: function (callback, source_origin) {
                        if (window['postMessage']) {
                            if (callback) {
                                attached_callback = function (e) {
                                    if ((Object.prototype.toString.call(source_origin) === "[object Function]" && source_origin(e.origin) === !1)) {
                                        return !1;
                                    }
                                    callback(e);
                                };
                            }
                            if (window['addEventListener']) {
                                window[callback ? 'addEventListener' : 'removeEventListener']('message', attached_callback, !1);
                            }
                            else {
                                window[callback ? 'attachEvent' : 'detachEvent']('onmessage', attached_callback);
                            }
                        }
                        else {
                            interval_id && clearInterval(interval_id);
                            interval_id = null;
                            if (callback) {
                                interval_id = setInterval(function () {
                                    var hash = document.location.hash, re = /^#?\d+&/;
                                    if (hash !== last_hash && re.test(hash)) {
                                        last_hash = hash;
                                        callback({ data: hash.replace(re, '') });
                                    }
                                }, 100);
                            }
                        }
                    }
                };
            }();
        }
    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
})(landingpages || (landingpages = {}));
var landingpage;
(function (landingpage) {
    var LPComponent = (function () {
        function LPComponent(el) {
            this.el = el;
            this.el.setAttribute('lp-id', "".concat(LPComponent.index++));
            LPComponent.components.push(this);
        }
        LPComponent.getComponent = function (el) {
            var id = el.getAttribute('lp-id');
            if (!id)
                return;
            var index = parseInt(id);
            return LPComponent.components[index];
        };
        LPComponent.index = 0;
        LPComponent.components = [];
        return LPComponent;
    }());
    landingpage.LPComponent = LPComponent;
})(landingpage || (landingpage = {}));
var landingpages;
(function (landingpages) {
    var sharing;
    (function (sharing) {
        var sendMessageBase = (function () {
            function sendMessageBase() {
                this.pathName = '';
                var pathname = window.document.location.pathname.replace(/^\/p\//i, '');
                this.pathName = pathname.split('/')[0];
            }
            sendMessageBase.prototype.isInIframe = function () {
                return window.parent && window.parent !== window;
            };
            sendMessageBase.prototype.getParentUrl = function () {
                return decodeURIComponent(document.location.hash.replace(/^#/, ''));
            };
            return sendMessageBase;
        }());
        sharing.sendMessageBase = sendMessageBase;
    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
})(landingpages || (landingpages = {}));
var landingpages;
(function (landingpages) {
    var sharing;
    (function (sharing) {
        var sendMessageOnLoad = (function (_super) {
            __extends(sendMessageOnLoad, _super);
            function sendMessageOnLoad() {
                var _this = _super.call(this) || this;
                _this.currentDims = { width: 0, height: 0, name: '', scroll: -1 };
                _this.currentDims.name = _this.pathName;
                if (_this.isInIframe()) {
                    document.addEventListener('DOMContentLoaded', function () { return _this.startTimer(); });
                }
                return _this;
            }
            sendMessageOnLoad.prototype.sectionChanged = function () {
                this.currentDims.scroll = 0;
            };
            sendMessageOnLoad.prototype.sendCompleteMessage = function (data) {
                if (this.isInIframe()) {
                    var parentUrl = this.getParentUrl(), msg = "{ \"complete\": true, \"name\": \"".concat(this.pathName, "\", \"formData\": ").concat(JSON.stringify(data), " }");
                    window.lpXD.postMessage(msg, parentUrl, window.parent);
                    this.identify(data);
                }
            };
            sendMessageOnLoad.prototype.identify = function (data) {
                if (data && data.formData && data.formData.contactEmail && window.dmPt) {
                    try {
                        window.dmPt('identify', data.formData.contactEmail);
                    }
                    catch (e) { }
                }
            };
            sendMessageOnLoad.prototype.startTimer = function () {
                var _this = this;
                window.setInterval(function () { return _this.checkSize(); }, 20);
            };
            sendMessageOnLoad.prototype.checkSize = function () {
                var height = this.getHeight(), width = this.getWidth(), heightDifference = this.currentDims.height - height;
                if (heightDifference < 0 || heightDifference >= 40) {
                    if (this.currentDims.height !== height || this.currentDims.width !== width) {
                        this.currentDims.height = height;
                        this.currentDims.width = width;
                        this.sendSizeMessage();
                    }
                }
            };
            sendMessageOnLoad.prototype.sendSizeMessage = function () {
                if (this.isInIframe()) {
                    var parentUrl = this.getParentUrl(), msg = JSON.stringify(this.currentDims);
                    window.lpXD.postMessage(msg, parentUrl, window.parent);
                }
            };
            sendMessageOnLoad.prototype.getWidth = function () {
                var els = $(document).find('div,table').toArray(), fullWidth = document.body.offsetWidth, width = 0;
                for (var i = 0; i < els.length; i++) {
                    var elWidth = $(els[i]).width();
                    if (elWidth < fullWidth && elWidth > width)
                        width = elWidth;
                }
                return width > 0 ? width : fullWidth;
            };
            sendMessageOnLoad.prototype.getHeight = function () {
                var height = document.body.offsetHeight;
                $(document.body).find('iframe').each(function (i, el) {
                    var frameBottom = el.getBoundingClientRect().bottom;
                    if (height < frameBottom)
                        height = frameBottom;
                });
                return height;
            };
            return sendMessageOnLoad;
        }(sharing.sendMessageBase));
        sharing.sendMessageOnLoad = sendMessageOnLoad;
        window.sendMessageOnLoad = new sendMessageOnLoad();
    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
})(landingpages || (landingpages = {}));
var landingpage;
(function (landingpage) {
    var LandingPagesFrameWork = (function () {
        function LandingPagesFrameWork() {
        }
        LandingPagesFrameWork.prototype.element = function (selector, fn) {
            var stateCheck = setInterval(function () {
                if (document.readyState === 'complete') {
                    clearInterval(stateCheck);
                    selector.split(/,\s+/g).forEach(function (val) { return document.querySelectorAll("[".concat(val, "]")).forEach(function (el) { return fn(el); }); });
                }
            }, 20);
        };
        LandingPagesFrameWork.prototype.onDocumntReady = function (fn) {
            var stateCheck = setInterval(function () {
                if (document.readyState === 'complete') {
                    clearInterval(stateCheck);
                    fn(document);
                }
            }, 20);
        };
        return LandingPagesFrameWork;
    }());
    landingpage.LandingPagesFrameWork = LandingPagesFrameWork;
    window.lpFrameWork = new LandingPagesFrameWork();
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var PageMessengerService = (function () {
        function PageMessengerService() {
        }
        PageMessengerService.getService = function () {
            if (!this.serviceInstance) {
                this.serviceInstance = new PageMessengerService();
            }
            return this.serviceInstance;
        };
        PageMessengerService.prototype.listen = function (message, fn) {
            if (PageMessengerService.messageStore[message]) {
                PageMessengerService.messageStore[message].push(fn);
            }
            else {
                PageMessengerService.messageStore[message] = [fn];
            }
        };
        PageMessengerService.prototype.broadcast = function (message, value) {
            if (value === void 0) { value = null; }
            if (PageMessengerService.messageStore[message]) {
                PageMessengerService.messageStore[message].forEach(function (fn) { return fn(value); });
            }
        };
        PageMessengerService.prototype.setData = function (message, value) {
            PageMessengerService.dataStore[message] = value;
        };
        PageMessengerService.prototype.getData = function (message) {
            return PageMessengerService.dataStore[message];
        };
        PageMessengerService.messageStore = {};
        PageMessengerService.dataStore = {};
        return PageMessengerService;
    }());
    landingpage.PageMessengerService = PageMessengerService;
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var PageUtilities = (function () {
        function PageUtilities() {
        }
        PageUtilities.filter = function (context, selector, fn) {
            var elements = [];
            PageUtilities.forEach(context, selector, function (el) {
                if (fn(el)) {
                    elements.push(el);
                }
            });
            return elements;
        };
        PageUtilities.find = function (context, selector, fn) {
            var elements = PageUtilities.filter(context, selector, function (el) { return fn(el); });
            return elements.length ? elements[0] : null;
        };
        PageUtilities.forEach = function (context, selector, fn) {
            context.querySelectorAll(selector).forEach(function (el) { return fn(el); });
        };
        PageUtilities.toArray = function (context, selector) {
            return PageUtilities.filter(context, selector, function () { return true; });
        };
        PageUtilities.nodeListToArray = function (nodeList) {
            var array = [];
            nodeList.forEach(function (el) { return array.push(el); });
            return array;
        };
        PageUtilities.nextAll = function (el, selectorClass) {
            if (selectorClass === void 0) { selectorClass = null; }
            if (el === null) {
                return;
            }
            var nextAll = [];
            var nextSibling = el.nextElementSibling;
            while (nextSibling) {
                if (!selectorClass || nextSibling.classList.contains(selectorClass)) {
                    nextAll.push(nextSibling);
                }
                nextSibling = nextSibling.nextElementSibling;
            }
            return nextAll;
        };
        PageUtilities.setAttribute = function (el, attr, val) {
            if (val === void 0) { val = null; }
            if (el === null) {
                return;
            }
            if (val !== null) {
                el.setAttribute(attr, val);
            }
            else {
                el.removeAttribute(attr);
            }
        };
        PageUtilities.setClass = function (el, cls, toggle) {
            if (toggle) {
                PageUtilities.addClass(el, cls);
            }
            else {
                PageUtilities.removeClass(el, cls);
            }
        };
        PageUtilities.addClass = function (el, cls) {
            if (el === null) {
                return;
            }
            if (!PageUtilities.hasClass(el, cls)) {
                el.classList.add(cls);
            }
        };
        PageUtilities.removeClass = function (el, cls) {
            if (el === null) {
                return;
            }
            if (PageUtilities.hasClass(el, cls)) {
                el.classList.remove(cls);
            }
        };
        PageUtilities.hasClass = function (el, cls) {
            if (el === null) {
                return false;
            }
            return el.classList.contains(cls);
        };
        PageUtilities.hasAttribute = function (el, attr) {
            if (el === null) {
                return false;
            }
            return el.getAttribute(attr) !== null;
        };
        PageUtilities.showHide = function (el, toggle) {
            if (el === null) {
                return;
            }
            if (toggle) {
                el.style.display = '';
            }
            else {
                el.style.display = 'none';
            }
        };
        PageUtilities.getOffsetTop = function (el) {
            var offset = 0;
            var offsetParent = el;
            while (offsetParent) {
                offset += offsetParent.offsetTop;
                offsetParent = offsetParent.offsetParent;
            }
            return offset;
        };
        PageUtilities.getFriendlyDateFormat = function (date) {
            var daysStrings = window.landingPageStrings.fullDays;
            var monthsStrings = window.landingPageStrings.months;
            var days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
            var months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'];
            var day = daysStrings[days[date.getDay()]];
            var month = monthsStrings[months[date.getMonth()]];
            var year = date.getFullYear();
            return "".concat(day, " ").concat(date.getDate(), " ").concat(month, " ").concat(year, " ").concat(date.toLocaleTimeString());
        };
        return PageUtilities;
    }());
    landingpage.PageUtilities = PageUtilities;
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var updateLinks;
    (function (updateLinks) {
        var UpdateLinksTargetAttribute = (function () {
            function UpdateLinksTargetAttribute() {
            }
            UpdateLinksTargetAttribute.prototype.updateLinks = function (document) {
                var links = document.querySelectorAll('a');
                links.forEach(function (link) {
                    if (link.getAttribute('target') === null) {
                        var href = link.getAttribute('href');
                        if (href !== null && href.indexOf('http') === 0)
                            link.setAttribute('target', '_blank');
                    }
                });
            };
            return UpdateLinksTargetAttribute;
        }());
        window.lpFrameWork.onDocumntReady(new UpdateLinksTargetAttribute().updateLinks);
    })(updateLinks = landingpage.updateLinks || (landingpage.updateLinks = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var countdown;
    (function (countdown) {
        var Countdown = (function (_super) {
            __extends(Countdown, _super);
            function Countdown(el) {
                var _this = _super.call(this, el) || this;
                _this.template = "<div>\n            <div class=\"countdown-accessibility-text\"></div>\n            <ul aria-hidden=\"true\">\n                <li>\n                    <div class=\"countdown-timer time-days\"></div>\n                    <div class=\"countdown-label\">".concat(window.landingPageStrings['countdown.days'], "</div>\n                </li>\n                <li>\n                    <div class=\"countdown-timer\">:</div>\n                </li>\n                <li>\n                    <div class=\"countdown-timer time-hours\"></div>\n                    <div class=\"countdown-label\">").concat(window.landingPageStrings['countdown.hours'], "</div>\n                </li>\n                <li>\n                    <div class=\"countdown-timer\">:</div>\n                </li>\n                <li>\n                    <div class=\"countdown-timer time-minutes\"></div>\n                    <div class=\"countdown-label\">").concat(window.landingPageStrings['countdown.minutes'], "</div>\n                </li>\n                <li>\n                    <div class=\"countdown-timer\">:</div>\n                </li>\n                <li>\n                    <div class=\"countdown-timer time-seconds\"></div>\n                    <div class=\"countdown-label\">").concat(window.landingPageStrings['countdown.seconds'], "</div>\n                </li>\n            </ul>\n        </div>");
                _this.intervals = { day: 24 * 60 * 60 * 1000, hour: 60 * 60 * 1000, minute: 60 * 1000, second: 1000 };
                _this.initContent();
                _this.initData();
                _this.setElements();
                _this.initTimers();
                _this.initLabels();
                _this.initAccessibleText();
                _this.update();
                return _this;
            }
            Countdown.prototype.initData = function () {
                this.data = {
                    accessibilityText: this.el.getAttribute('data-countdown-accessibilityText'),
                    date: new Date(parseInt(this.el.getAttribute('data-countdown'))),
                    labelStyle: JSON.parse(this.el.getAttribute('data-countdown-labelstyle')),
                    timerStyle: JSON.parse(this.el.getAttribute('data-countdown-timerstyle')),
                    showTimer: this.el.getAttribute('data-countdown-showtime') === 'true',
                    showLabels: this.el.getAttribute('data-countdown-showlabels') === 'true',
                    redirect: this.el.getAttribute('data-countdown-redirect') === 'true',
                    redirection: this.el.getAttribute('data-countdown-redirection')
                };
            };
            Countdown.prototype.initContent = function () {
                var content = this.el.querySelector('.ee_countdowncontent');
                content.innerHTML = this.template;
            };
            Countdown.prototype.setElements = function () {
                this.days = this.el.querySelector('.time-days');
                this.hours = this.el.querySelector('.time-hours');
                this.minutes = this.el.querySelector('.time-minutes');
                this.seconds = this.el.querySelector('.time-seconds');
                this.accessibilityText = this.el.querySelector('.countdown-accessibility-text');
            };
            Countdown.prototype.initTimers = function () {
                var _this = this;
                if (!this.data.showTimer) {
                    this.el.querySelectorAll('li+li').forEach(function (el) { return el.remove(); });
                }
                this.el.querySelectorAll('.countdown-timer').forEach(function (el) { return _this.applyStyle(el, _this.data.timerStyle); });
            };
            Countdown.prototype.initLabels = function () {
                var _this = this;
                var labels = this.el.querySelectorAll('.countdown-label');
                if (this.data.showLabels) {
                    labels.forEach(function (el) { return _this.applyStyle(el, _this.data.labelStyle); });
                }
                else {
                    labels.forEach(function (el) { return el.remove(); });
                }
            };
            Countdown.prototype.initAccessibleText = function () {
                var text = !!this.data.accessibilityText ? this.data.accessibilityText : window.landingPageStrings['countdown.altTextDefault'];
                var friendlyDate = landingpage.PageUtilities.getFriendlyDateFormat(this.data.date);
                this.accessibilityText.innerHTML = "".concat(text, " ").concat(friendlyDate);
            };
            Countdown.prototype.applyStyle = function (el, style) {
                for (var prop in style) {
                    el.style[prop] = style[prop];
                }
            };
            Countdown.prototype.update = function () {
                var offset = this.data.date.getTime() - Date.now();
                if (offset > 0) {
                    this.setTime(offset);
                }
                else if (this.data.redirect) {
                    this.redirect();
                }
                else {
                    this.resetTime();
                }
            };
            ;
            Countdown.prototype.setTime = function (offset) {
                var _this = this;
                this.days.innerHTML = "".concat(Math.floor(offset / this.intervals.day));
                if (this.data.showTimer) {
                    offset = offset % this.intervals.day;
                    this.hours.innerHTML = this.leftPad(Math.floor(offset / this.intervals.hour));
                    offset = offset % this.intervals.hour;
                    this.minutes.innerHTML = this.leftPad(Math.floor(offset / this.intervals.minute));
                    offset = offset % this.intervals.minute;
                    this.seconds.innerHTML = this.leftPad(Math.floor(offset / this.intervals.second));
                }
                window.setTimeout(function () { return _this.update(); }, 1000);
            };
            Countdown.prototype.leftPad = function (num) {
                return num >= 10 ? "".concat(num) : "0".concat(num);
            };
            Countdown.prototype.redirect = function () {
                window.location.href = this.data.redirection.replace('http://', '//');
            };
            Countdown.prototype.resetTime = function () {
                this.days.innerHTML = '0';
                this.hours.innerHTML = '00';
                this.minutes.innerHTML = '00';
                this.seconds.innerHTML = '00';
            };
            return Countdown;
        }(landingpage.LPComponent));
        countdown.Countdown = Countdown;
        window.lpFrameWork.element('landingpage-countdown', function (el) { return new Countdown(el); });
    })(countdown = landingpage.countdown || (landingpage.countdown = {}));
})(landingpage || (landingpage = {}));
var landingpages;
(function (landingpages) {
    var sharing;
    (function (sharing) {
        var lpCaptchaCallback = (function () {
            function lpCaptchaCallback() {
            }
            lpCaptchaCallback.lpOnloadCaptchaCallback = function () {
                var $target = $('input[type=submit].paging-button-submit');
                var scripts = document.querySelectorAll("script");
                var fileUploadCaptchaScript = null;
                for (var i = 0; i < scripts.length; i++) {
                    if (scripts[i].hasAttribute('file-upload-captcha')) {
                        fileUploadCaptchaScript = scripts[i];
                        break;
                    }
                }
                if ($target.length && !lpCaptchaCallback.captchaLoaded && !fileUploadCaptchaScript)
                    lpCaptchaCallback.renderCaptcha($target);
            };
            lpCaptchaCallback.renderCaptcha = function ($el) {
                if (!window.grecaptcha || !window.grecaptcha.render)
                    return;
                window.grecaptcha.render($el[$el.length - 1], {
                    'sitekey': '6LeOsI0UAAAAAARhdf5auu8GQpO9Yy5oP0BvsWFU',
                    'callback': lpCaptchaCallback.lpOnCaptchaSubmit
                });
                window.setTimeout(function () {
                    lpCaptchaCallback.adjustRecaptchaPosition();
                    lpCaptchaCallback.captchaLoaded = true;
                }, 1000);
            };
            lpCaptchaCallback.adjustRecaptchaPosition = function () {
                var $target = $('.ee_actionbuttons:visible'), $recaptcha = $('.grecaptcha-badge');
                if (!$target.length || !$recaptcha.length)
                    return;
                var targetRect = $target[0].getBoundingClientRect(), recaptchaRect = $recaptcha[0].getBoundingClientRect(), intersects = lpCaptchaCallback.intersectRect(targetRect, recaptchaRect), docked = lpCaptchaCallback.dockedTarget(targetRect, targetRect.height);
                if (intersects)
                    lpCaptchaCallback.performAdjustPosition($recaptcha, recaptchaRect.bottom - targetRect.top);
                else if (docked)
                    lpCaptchaCallback.performAdjustPosition($recaptcha, targetRect.height);
            };
            lpCaptchaCallback.intersectRect = function (r1, r2) {
                return !(r2.left > r1.right || r2.right < r1.left || r2.top > r1.bottom || r2.bottom < r1.top);
            };
            lpCaptchaCallback.dockedTarget = function (r, targetHeight) {
                var bottomSpace = Math.round(document.body.getBoundingClientRect().height) - Math.round(r.bottom);
                return bottomSpace <= (targetHeight + 8);
            };
            lpCaptchaCallback.performAdjustPosition = function ($recaptcha, adjustBottom) {
                var currentBottom = parseInt($recaptcha.css('bottom'));
                $recaptcha.css('bottom', "".concat(adjustBottom + currentBottom + 8, "px"));
            };
            lpCaptchaCallback.lpOnCaptchaSubmit = function () {
                window.lpFormSubmitForm();
            };
            lpCaptchaCallback.captchaLoaded = false;
            return lpCaptchaCallback;
        }());
        sharing.lpCaptchaCallback = lpCaptchaCallback;
    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
})(landingpages || (landingpages = {}));
window.lpOnloadCaptchaCallback = landingpages.sharing.lpCaptchaCallback.lpOnloadCaptchaCallback;
var landingpages;
(function (landingpages) {
    var sharing;
    (function (sharing) {
        var sendMessageOnKeyup = (function (_super) {
            __extends(sendMessageOnKeyup, _super);
            function sendMessageOnKeyup() {
                var _this = _super.call(this) || this;
                if (_this.isInIframe()) {
                    document.addEventListener('keyup', function (e) { return _this.onKeyUp(e); });
                }
                return _this;
            }
            sendMessageOnKeyup.prototype.onKeyUp = function (e) {
                if (e.key !== 'Escape')
                    return;
                var parentUrl = this.getParentUrl(), msg = "{ \"name\": \"".concat(this.pathName, "\", \"keyup\": \"").concat(e.key, "\" }");
                window.lpXD.postMessage(msg, parentUrl, window.parent);
            };
            return sendMessageOnKeyup;
        }(sharing.sendMessageBase));
        sharing.sendMessageOnKeyup = sendMessageOnKeyup;
        new sendMessageOnKeyup();
    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
})(landingpages || (landingpages = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var PagingButtonsTemplate = (function () {
            function PagingButtonsTemplate() {
            }
            PagingButtonsTemplate.getTemplate = function () {
                return "<div class=\"action-button-container\">\n                    <legend class=\"ee_fieldgroupheader\"></legend>\n                    <input class=\"paging-button-back\" type=\"button\" ng-hide=\"hideBackButton\" ng-value=\"backText\" ng-click=\"previousPage()\" />\n                    <input class=\"paging-button-next\" type=\"button\" ng-hide=\"hideNextButton\" ng-value=\"nextText\" ng-click=\"nextPage()\" />\n                    <input class=\"paging-button-submit\" type=\"button\" ng-hide=\"pageValid || hideSubmitButton\" ng-value=\"submitText\" ng-mousedown=\"validateLastPage()\" />\n                    <input class=\"paging-button-submit\" type=\"submit\" ng-hide=\"!pageValid || hideSubmitButton\" ng-value=\"submitText\" />\n                </div>";
            };
            return PagingButtonsTemplate;
        }());
        paging.PagingButtonsTemplate = PagingButtonsTemplate;
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        ;
        var PageService = (function () {
            function PageService() {
                var _this = this;
                this.sectionLogicService = new paging.SectionLogicService();
                this.pageHistoryService = new paging.PageHistoryService();
                this.pageMessengerService = landingpage.PageMessengerService.getService();
                this.pageValidityService = paging.PageValidityService.getService();
                this.updatePageData();
                this.pageHistoryService.setInitialPage(PageService.pageData.current);
                this.setTransitionDuration();
                this.enabled = true;
                this.pageMessengerService.listen('spacetimeBlockLoaded', function () { return _this.updatePageData(); });
            }
            PageService.getService = function () {
                if (!this.serviceInstance) {
                    this.serviceInstance = new PageService();
                }
                return this.serviceInstance;
            };
            PageService.prototype.getCurrentPageData = function () {
                return PageService.pageData;
            };
            PageService.prototype.previousPage = function () {
                this.setDisableTimer();
                if (!this.enabled)
                    return;
                this.enabled = false;
                this.setCurrentPageHeightData();
                var newPage = this.pageHistoryService.previousPageFromHistory();
                this.setPage(newPage);
            };
            PageService.prototype.nextPage = function () {
                this.setDisableTimer();
                if (!this.enabled)
                    return;
                this.enabled = false;
                this.setCurrentPageHeightData();
                if (this.pageValidityService.getInvalidInputs(this.currentPage).length) {
                    this.pageValidityService.markPageInvalid(this.currentPage);
                }
                else {
                    this.processActionButtonLogic(this.currentPage);
                    this.pageValidityService.markPageValid(this.currentPage);
                    this.calculateNextPage(this.currentPage);
                    this.performScroll();
                }
                this.pageMessengerService.broadcast('formChanged');
            };
            PageService.prototype.setPage = function (page) {
                if (page >= 1 && page <= PageService.pageData.max) {
                    PageService.pageData.current = page;
                    this.currentPage = document.querySelector("[page-id='".concat(PageService.pageData.current, "']"));
                }
                PageService.pageData.isFirstPage = page === 1;
                PageService.pageData.isLastPage = page === PageService.pageData.max;
                this.broadcastPageChanged();
            };
            PageService.prototype.performScroll = function () {
                var scrollSetting = this.getScrollSettings();
                if (scrollSetting === 'scroll-to-section-top')
                    this.pageValidityService.scrollToSectionTop();
                else if (scrollSetting !== 'scroll-none')
                    this.pageValidityService.scrollToTop();
            };
            PageService.prototype.getScrollSettings = function () {
                var settingElements = landingpage.PageUtilities.filter(document, '.ee_sections,.ee_confirmation', function (el) { return el.hasAttribute('data-element-settings'); });
                var elementSettings;
                if (settingElements.length) {
                    elementSettings = JSON.parse(settingElements[0].getAttribute('data-element-settings'));
                }
                return elementSettings ? elementSettings.scroll : 'scroll-to-top';
            };
            PageService.prototype.updatePageData = function () {
                var _this = this;
                PageService.pageData.max = document.querySelectorAll('[ee-page]').length;
                window.setTimeout(function () { return _this.currentPage = document.querySelector("[page-id='".concat(PageService.pageData.current, "']")); }, 1);
                if (PageService.pageData.max <= 1) {
                    PageService.pageData.isLastPage = true;
                }
                else {
                    PageService.pageData.isLastPage = PageService.pageData.current === PageService.pageData.max;
                }
                PageService.pageData.showSubmit = !!document.querySelectorAll("".concat(PageService.inputSelector, ",textarea,[lp-survey-datetime-input]")).length;
                this.broadcastPageChanged();
            };
            PageService.prototype.calculateNextPage = function (currentPage) {
                var _this = this;
                var nextPages = landingpage.PageUtilities.nextAll(currentPage).filter(function (el) { return landingpage.PageUtilities.hasClass(el, 'ee_container'); }), result = { nextPageFound: false };
                nextPages.forEach(function (el) { return _this.processNextPage(el, result); });
            };
            PageService.prototype.processNextPage = function (page, result) {
                var _this = this;
                if (result.nextPageFound)
                    return;
                var sectionLogicAttr = page.getAttribute('section-logic'), lastPage = document.querySelector('[ee-page]:last-of-type');
                if (page === lastPage) {
                    result.nextPageFound = true;
                }
                else if (sectionLogicAttr) {
                    var sectionLogic = JSON.parse(sectionLogicAttr), showByDefault_1 = typeof sectionLogic.showByDefault !== 'undefined' ? sectionLogic.showByDefault : true, rules = sectionLogic.rules;
                    if (!!rules.length) {
                        rules.forEach(function (rule) { return _this.checkNextPageFound(rule, showByDefault_1, result); });
                    }
                    else {
                        result.nextPageFound = true;
                    }
                }
                else {
                    result.nextPageFound = true;
                }
                if (result.nextPageFound) {
                    var newPage = this.pageHistoryService.nextPageToHistory(parseInt(page.getAttribute('page-id')));
                    this.setPage(newPage);
                }
            };
            PageService.prototype.checkNextPageFound = function (rule, showByDefault, result) {
                var ruleIsMet = this.isRuleMet(rule);
                if (rule.action.logic === 'hideSection')
                    result.nextPageFound = showByDefault ? !ruleIsMet : ruleIsMet;
            };
            PageService.prototype.processActionButtonLogic = function (page) {
                var _this = this;
                var sectionLogicAttr = page.getAttribute('section-logic');
                if (sectionLogicAttr) {
                    var sectionLogic = JSON.parse(sectionLogicAttr), rules = sectionLogic.actionButtonRules || [];
                    if (!!rules.length) {
                        rules.forEach(function (rule) {
                            var ruleIsMet = _this.isRuleMet(rule);
                            if (ruleIsMet) {
                                _this.pageMessengerService.broadcast('hideButtons');
                            }
                        });
                    }
                }
            };
            PageService.prototype.isRuleMet = function (rule) {
                var _this = this;
                var clauseResults = rule.clauseList.map(function (clause) { return _this.sectionLogicService.isClauseMet(clause); }), metClauses = clauseResults.filter(function (val) { return val; });
                return this.sectionLogicService.isRuleMet(rule, clauseResults, metClauses);
            };
            PageService.prototype.setCurrentPageHeightData = function () {
                window.sendMessageOnLoad.sectionChanged();
                this.currentPage.setAttribute('data-page-height', "".concat(parseFloat(getComputedStyle(this.currentPage).height)));
            };
            PageService.prototype.setDisableTimer = function () {
                var _this = this;
                window.clearTimeout(this.timeout);
                this.timeout = window.setTimeout(function () { return _this.enabled = true; }, PageService.pageData.delay);
            };
            PageService.prototype.setTransitionDuration = function () {
                var _this = this;
                var maxDurations = [];
                landingpage.PageUtilities.forEach(document, '.ee_sections_inner', function (el) { return maxDurations.push(_this.getMaxSectionTransitionDuration(el)); });
                PageService.pageData.delay = this.getMaxFromArray(maxDurations);
                this.broadcastPageChanged();
            };
            PageService.prototype.getMaxSectionTransitionDuration = function (el) {
                var _this = this;
                var transitionDuration = getComputedStyle(el).transitionDuration, transitionDurations = transitionDuration.split(','), durationsForElement = transitionDurations.map(function (td) { return _this.getDurationsForElement(td); });
                return this.getMaxFromArray(durationsForElement);
            };
            PageService.prototype.getDurationsForElement = function (td) {
                var time = 0;
                if (/ms$/i.test(td)) {
                    time = (parseFloat(td.replace(/ms$/i, '')) || 0);
                }
                else if (/s$/i.test(td)) {
                    time = (parseFloat(td.replace(/s$/i, '')) || 0) * 1000;
                }
                else {
                    time = (parseFloat(td) || 0);
                }
                return time;
            };
            PageService.prototype.getMaxFromArray = function (arr) {
                return arr.length ? arr.reduce(function (a, b) { return Math.max(a, b); }) : 0;
            };
            PageService.prototype.broadcastPageChanged = function () {
                var broadcastTargets = ['container', 'buttons', 'progress-bar', 'progress-dots'];
                landingpage.PageUtilities.forEach(document, broadcastTargets.map(function (target) { return "[ee-page-".concat(target, "]"); }).join(','), function (element) { var _a; return (_a = landingpage.LPComponent.getComponent(element)) === null || _a === void 0 ? void 0 : _a.onPageChanged(); });
            };
            PageService.inputTypes = ['text', 'number', 'email', 'radio', 'checkbox', 'file', 'range'];
            PageService.inputTypeSelector = PageService.inputTypes.map(function (type) { return "input[type=".concat(type, "]"); }).join(',');
            PageService.inputSelector = "".concat(PageService.inputTypeSelector, ",select");
            PageService.pageData = {
                max: 1,
                current: 1,
                delay: 0,
                isFirstPage: true,
                isLastPage: false,
                showSubmit: false,
                hideAllPages: false
            };
            return PageService;
        }());
        paging.PageService = PageService;
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var EePage = (function (_super) {
            __extends(EePage, _super);
            function EePage(el) {
                var _this = _super.call(this, el) || this;
                _this.height = 0;
                _this.showPage = false;
                _this.pageService = paging.PageService.getService();
                _this.pageAnimationService = new paging.PageAnimationService();
                _this.el.classList.add('ee-page-animate');
                _this.pageId = parseInt(_this.el.getAttribute('page-id'));
                _this.pageTitle = _this.el.getAttribute('page-title');
                _this.showPage = false;
                _this.pageData = _this.pageService.getCurrentPageData();
                _this.animateSettings = _this.pageAnimationService.getAnimateSettings(_this.el.closest('.ee_sections'));
                window.setTimeout(function () { return _this.init(); }, 1);
                return _this;
            }
            EePage.prototype.onPageChanged = function () {
                var _this = this;
                var isPrev = this.pageId < this.pageData.current;
                var isNext = this.pageId > this.pageData.current;
                landingpage.PageUtilities.setClass(this.el, 'animate-prev', isPrev);
                landingpage.PageUtilities.setClass(this.el, 'animate-next', isNext);
                this.showPage = this.pageData.hideAllPages ? false : this.pageId === this.pageData.current;
                landingpage.PageUtilities.setAttribute(this.el, 'aria-hidden', !this.showPage ? 'true' : null);
                if (this.showPage && this.pageTitle)
                    document.title = this.pageTitle;
                window.setTimeout(function () { return _this.pageLoaded(); }, 1);
            };
            EePage.prototype.getHeight = function () {
                return parseFloat(getComputedStyle(this.el).height);
            };
            EePage.prototype.init = function () {
                this.height = this.getHeight();
                this.onPageChanged();
            };
            EePage.prototype.pageLoaded = function () {
                var currentHeight = this.getHeight();
                if (currentHeight)
                    this.height = currentHeight;
                this.el.setAttribute('data-page-height', "".concat(this.height));
                if (this.animateSettings.fade) {
                    landingpage.PageUtilities.showHide(this.el, this.showPage);
                }
            };
            return EePage;
        }(landingpage.LPComponent));
        paging.EePage = EePage;
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var PageButtons = (function (_super) {
            __extends(PageButtons, _super);
            function PageButtons(el) {
                var _this = _super.call(this, el) || this;
                _this.template = "<div class=\"action-button-container\">\n            <fieldset>\n                <legend></legend>\n                <input class=\"paging-button-back\" type=\"button\" />\n                <input class=\"paging-button-next\" type=\"button\" />\n                <input class=\"paging-button-submit\" type=\"button\" />\n                <input class=\"paging-button-submit\" type=\"submit\" />\n            </fieldset>\n        </div>";
                _this.pageService = paging.PageService.getService();
                _this.pageMessengerService = landingpage.PageMessengerService.getService();
                _this.pageValidityService = paging.PageValidityService.getService();
                _this.sections = document.querySelectorAll('.ee_sections');
                _this.pages = document.querySelectorAll('[ee-page]');
                _this.initElement();
                _this.pageData = _this.pageService.getCurrentPageData();
                setTimeout(function () { return _this.onPageChanged(); }, 1);
                document.addEventListener('keydown', function (event) { return _this.trapEnterKey(event); });
                _this.pageMessengerService.listen('formChanged', function () { return _this.onPageChanged(); });
                _this.pageMessengerService.listen('hideButtons', function () { return _this.onHideButtons(); });
                window.lpOnloadCaptchaCallback();
                return _this;
            }
            PageButtons.prototype.onPageChanged = function () {
                if (!this.pageData)
                    return;
                this.updatePageValid();
                var hideSubmitButton = !this.pageData.showSubmit || !this.pageData.isLastPage;
                landingpage.PageUtilities.showHide(this.backButton, !this.pageData.isFirstPage);
                landingpage.PageUtilities.showHide(this.nextButton, !this.pageData.isLastPage);
                landingpage.PageUtilities.showHide(this.fakeSubmitButton, !(hideSubmitButton || this.pageValid));
                landingpage.PageUtilities.showHide(this.submitButton, !(hideSubmitButton || !this.pageValid));
            };
            PageButtons.prototype.onHideButtons = function () {
                this.el.closest('.ee_element').remove();
            };
            PageButtons.prototype.initElement = function () {
                this.el.innerHTML = this.template;
                this.initLegend();
                this.initBackButton();
                this.initNextButton();
                this.initSubmitButton();
                this.initButtonLayout();
                this.initButtonPosition();
                this.buttons = [this.backButton, this.nextButton, this.fakeSubmitButton];
            };
            PageButtons.prototype.initLegend = function () {
                var fieldset = this.el.querySelector('fieldset');
                this.legend = document.createElement('legend');
                this.legend.classList.add('ee_fieldgroupheader');
                fieldset.prepend(this.legend);
                var legendText = this.el.getAttribute('legend-text');
                var showLegend = this.el.getAttribute('show-legend') === 'true';
                this.legend.innerText = legendText;
                if (!legendText) {
                    this.legend.remove();
                    return;
                }
                if (!showLegend) {
                    this.legend.classList.add('visually-hidden');
                }
            };
            PageButtons.prototype.initBackButton = function () {
                var _this = this;
                this.backButton = this.el.querySelector('.paging-button-back');
                this.backButton.value = this.el.getAttribute('back-text');
                this.backButton.addEventListener('click', function () { return _this.previousPage(); });
            };
            PageButtons.prototype.initNextButton = function () {
                var _this = this;
                this.nextButton = this.el.querySelector('.paging-button-next');
                this.nextButton.value = this.el.getAttribute('next-text');
                this.nextButton.addEventListener('click', function () { return _this.nextPage(); });
            };
            PageButtons.prototype.initSubmitButton = function () {
                var _this = this;
                this.fakeSubmitButton = this.el.querySelector('.paging-button-submit[type="button"]');
                this.fakeSubmitButton.value = this.el.getAttribute('submit-text');
                this.fakeSubmitButton.addEventListener('mousedown', function () { return _this.validateLastPage(); });
                this.fakeSubmitButton.addEventListener('keydown', function (event) {
                    if (event.key === ' ') {
                        _this.validateLastPage();
                    }
                });
                this.submitButton = this.el.querySelector('.paging-button-submit[type="submit"]');
                this.submitButton.value = this.el.getAttribute('submit-text');
            };
            PageButtons.prototype.initButtonLayout = function () {
                var buttonLayout = this.el.getAttribute('button-layout');
                this.el.querySelector('.action-button-container').classList.add(buttonLayout || 'split');
            };
            PageButtons.prototype.initButtonPosition = function () {
                var buttonPosition = this.el.getAttribute('button-position');
                if (buttonPosition === 'add-to-current-section') {
                    this.addButtonToSection();
                }
                else if (buttonPosition === 'stick-to-bottom') {
                    this.stickButtonToBottom();
                }
            };
            PageButtons.prototype.addButtonToSection = function () {
                var _this = this;
                this.sections.forEach(function (section) {
                    var pagesToAppendTo = section.querySelector('.ee_sections_inner').querySelectorAll('[ee-page]');
                    pagesToAppendTo.forEach(function (page) { return _this.appendToPage(page); });
                });
                this.el.remove();
            };
            PageButtons.prototype.stickButtonToBottom = function () {
                var eeEl = this.el.closest('.ee_element');
                eeEl.style.width = "".concat(eeEl.clientWidth, "px");
                window.addEventListener('resize', function () { return eeEl.style.width = "".concat(eeEl.parentElement.clientWidth, "px"); });
                eeEl.classList.add('stick-to-bottom');
                document.querySelector('body').style.paddingBottom = "".concat(eeEl.clientHeight, "px");
            };
            PageButtons.prototype.previousPage = function () {
                this.pageService.previousPage();
                this.formChanged();
            };
            PageButtons.prototype.nextPage = function () {
                this.pageService.nextPage();
                this.formChanged();
            };
            PageButtons.prototype.validateLastPage = function () {
                this.pageValidityService.markPageInvalid(this.pages[this.pages.length - 1]);
                this.pageMessengerService.broadcast('formChanged');
                this.formChanged();
            };
            PageButtons.prototype.formChanged = function () {
                this.updatePageValid();
                this.onPageChanged();
            };
            PageButtons.prototype.updatePageValid = function () {
                this.pageValid = !this.pageValidityService.getInvalidInputs(this.pages[this.pages.length - 1]).length;
            };
            PageButtons.prototype.appendToPage = function (page) {
                var eeEl = this.el.closest('.ee_element');
                var clone = eeEl.cloneNode(true);
                var pageButtons = clone.querySelector('.directive-container');
                pageButtons.removeAttribute('button-position');
                pageButtons.querySelector('fieldset').innerHTML = '';
                page.appendChild(clone);
                new PageButtons(pageButtons);
            };
            PageButtons.prototype.trapEnterKey = function (event) {
                var inputTypes = ['text', 'number', 'email', 'radio', 'checkbox'];
                if (event.key !== 'Enter')
                    return;
                var target = event.target;
                var tagName = target.tagName;
                var type = target.getAttribute('type');
                if ((tagName === 'INPUT' && inputTypes.indexOf(type) !== -1) || tagName === 'SELECT') {
                    event.preventDefault();
                    if (tagName === 'INPUT' && ['radio', 'checkbox'].indexOf(type) !== -1) {
                        target.checked = !target.checked;
                    }
                }
                else if (this.buttons.indexOf(target) !== -1) {
                    event.preventDefault();
                    this.performNavigation(target);
                }
            };
            PageButtons.prototype.performNavigation = function (target) {
                if (target === this.backButton) {
                    this.previousPage();
                }
                else if (target === this.nextButton) {
                    this.nextPage();
                }
                else if (target === this.fakeSubmitButton) {
                    this.validateLastPage();
                }
            };
            return PageButtons;
        }(landingpage.LPComponent));
        paging.PageButtons = PageButtons;
        window.lpFrameWork.element('ee-page-buttons', function (el) { return new PageButtons(el); });
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var EePageContainer = (function (_super) {
            __extends(EePageContainer, _super);
            function EePageContainer(el) {
                var _this = _super.call(this, el) || this;
                _this.height = 0;
                _this.showHeight = true;
                _this.pageService = paging.PageService.getService();
                _this.pageAnimationService = new paging.PageAnimationService();
                _this.body = _this.el.closest('body');
                _this.closestSections = _this.el.closest('.ee_sections');
                if (_this.closestSections) {
                    _this.removeLegacyAnimation(_this.closestSections);
                }
                _this.animateSettings = _this.pageAnimationService.getAnimateSettings(_this.closestSections);
                _this.style = document.createElement('style');
                _this.pageData = _this.pageService.getCurrentPageData();
                _this.init();
                _this.onPageChanged();
                return _this;
            }
            EePageContainer.prototype.onPageChanged = function () {
                var _this = this;
                setTimeout(function () {
                    landingpage.PageUtilities.addClass(_this.closestSections, 'animating');
                    landingpage.PageUtilities.forEach(_this.el, '[ee-page]', function (element) { return _this.setHeightFromCurrentPage(element); });
                    _this.showHeight = true;
                    _this.updateElement();
                    landingpage.PageUtilities.forEach(_this.el, '[ee-page]', function (element) { var _a; return (_a = landingpage.LPComponent.getComponent(element)) === null || _a === void 0 ? void 0 : _a.onPageChanged(); });
                }, 1);
            };
            EePageContainer.prototype.init = function () {
                window.lpFrameWork.element('ee-page', function (el) { return new paging.EePage(el); });
                if (this.pageData.hideAllPages)
                    this.el.style.display = 'none';
                this.body.prepend(this.style);
                this.updateElement();
            };
            EePageContainer.prototype.setHeightFromCurrentPage = function (element) {
                var _a;
                if (element.getAttribute('page-id') === "".concat(this.pageData.current)) {
                    this.setHeight((_a = landingpage.LPComponent.getComponent(element)) === null || _a === void 0 ? void 0 : _a.getHeight());
                }
            };
            EePageContainer.prototype.setHeight = function (height) {
                var _this = this;
                this.height = height;
                landingpage.PageUtilities.addClass(this.closestSections, 'animating');
                this.updateElement();
                window.setTimeout(function () { return _this.endAnimation(); }, this.pageData.delay);
            };
            EePageContainer.prototype.endAnimation = function () {
                var _this = this;
                this.createStyleSheet();
                this.showHeight = false;
                this.updateElement();
                window.setTimeout(function () {
                    landingpage.PageUtilities.addClass(_this.closestSections, 'loaded');
                    landingpage.PageUtilities.removeClass(_this.closestSections, 'animating');
                }, this.pageData.delay * 1.1);
            };
            EePageContainer.prototype.updateElement = function () {
                landingpage.PageUtilities.setClass(this.el, 'show-height', this.showHeight);
                this.el.style.height = (this.showHeight ? "".concat(this.height, "px") : '');
            };
            EePageContainer.prototype.createStyleSheet = function () {
                var _this = this;
                var allSections = this.body.querySelectorAll('.ee_sections'), pageHeights = [], text = '', index;
                allSections.forEach(function (el, i) {
                    if (_this.closestSections === allSections[i]) {
                        landingpage.PageUtilities.addClass(_this.closestSections, "animate-".concat(i));
                        index = i;
                    }
                });
                if (this.animateSettings.slideTop || this.animateSettings.slideBottom) {
                    var pages = [];
                    for (var i = 0; i < this.el.children.length; i++) {
                        var page = this.el.children[i];
                        if (landingpage.PageUtilities.hasClass(page, 'ee-page-animate')) {
                            pages.push(page);
                        }
                    }
                    pageHeights = pages.map(function (el) { return _this.getPageHeights(el); });
                }
                if (this.animateSettings.slideTop) {
                    text = this.getCSSText('top', index, pageHeights);
                }
                else if (this.animateSettings.slideBottom) {
                    text = this.getCSSText('bottom', index, pageHeights);
                }
                this.style.innerHTML = text;
            };
            EePageContainer.prototype.getPageHeights = function (el) {
                return parseFloat(el.getAttribute('data-page-height'));
            };
            EePageContainer.prototype.getCSSText = function (pos, index, pageHeights) {
                var text = '';
                for (var i = 0; i < pageHeights.length; i++) {
                    var pageHeight = this.getTransformHeight(pageHeights, i);
                    text += this.getCSSTextForPage(pos, index, i + 1, pageHeight);
                }
                return text;
            };
            EePageContainer.prototype.getTransformHeight = function (pageHeights, index) {
                var prevHeight = pageHeights[index] + ((index !== 0) ? pageHeights[index - 1] : 0), nextHeight = pageHeights[index] + ((index < pageHeights.length - 1) ? pageHeights[index + 1] : 0);
                return Math.max(prevHeight, nextHeight);
            };
            EePageContainer.prototype.getCSSTextForPage = function (pos, index, page, pageHeight) {
                var prevHeight = (pos === 'top') ? "".concat(pageHeight, "px") : "-".concat(pageHeight, "px"), nextHeight = (pos === 'top') ? "-".concat(pageHeight, "px") : "".concat(pageHeight, "px");
                return ".animate-".concat(index, ".animate-slide-").concat(pos, " .ee-page-animate:nth-child(").concat(page, ").animate-prev{transform:translateY(").concat(prevHeight, ");}") +
                    ".animate-".concat(index, ".animate-slide-").concat(pos, " .ee-page-animate:nth-child(").concat(page, ").animate-next{transform:translateY(").concat(nextHeight, ");}");
            };
            EePageContainer.prototype.removeLegacyAnimation = function (closestSections) {
                if (landingpage.PageUtilities.hasClass(closestSections, 'animate-show-all-sections')) {
                    landingpage.PageUtilities.removeClass(closestSections, 'animate-show-all-sections');
                    landingpage.PageUtilities.addClass(closestSections, 'animate-none');
                }
            };
            return EePageContainer;
        }(landingpage.LPComponent));
        paging.EePageContainer = EePageContainer;
        window.lpFrameWork.element('ee-page-container', function (el) { return new paging.EePageContainer(el); });
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var ProgressBar = (function (_super) {
            __extends(ProgressBar, _super);
            function ProgressBar(el) {
                var _this = _super.call(this, el) || this;
                _this.template = "<div class=\"ee-progress-bar-outer\">\n            <div class=\"ee-progress-bar-inner\"></div>\n        </div>";
                _this.el.innerHTML = _this.template;
                _this.init();
                _this.onPageChanged();
                return _this;
            }
            ProgressBar.prototype.onPageChanged = function () {
                if (!this.pageData)
                    return;
                this.bar.style.width = "".concat((this.pageData.current / this.pageData.max * 100).toFixed(2), "%");
            };
            ProgressBar.prototype.init = function () {
                this.pageService = paging.PageService.getService();
                this.pageData = this.pageService.getCurrentPageData();
                this.bar = this.el.querySelector('.ee-progress-bar-inner');
            };
            return ProgressBar;
        }(landingpage.LPComponent));
        paging.ProgressBar = ProgressBar;
        window.lpFrameWork.element('ee-page-progress-bar', function (el) { return new ProgressBar(el); });
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
;
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var ProgressDots = (function (_super) {
            __extends(ProgressDots, _super);
            function ProgressDots(el) {
                var _this = _super.call(this, el) || this;
                _this.template = "<div class=\"ee-progress-dots-outer\"></div>";
                _this.dots = [];
                _this.el.innerHTML = _this.template;
                _this.initData();
                _this.setElements();
                _this.onPageChanged();
                return _this;
            }
            ProgressDots.prototype.onPageChanged = function () {
                if (!this.pageData)
                    return;
                for (var i = 0; i < this.pageData.max; i++) {
                    var classList = this.dots[i].classList;
                    if (i < this.pageData.current) {
                        if (!classList.contains('highlighted')) {
                            classList.add('highlighted');
                        }
                    }
                    else {
                        classList.remove('highlighted');
                    }
                }
            };
            ProgressDots.prototype.initData = function () {
                this.pageService = paging.PageService.getService();
                this.pageData = this.pageService.getCurrentPageData();
            };
            ProgressDots.prototype.setElements = function () {
                for (var i = 0; i < this.pageData.max; i++) {
                    var div = document.createElement('div');
                    div.className = 'ee-progress-dots-inner';
                    this.el.querySelector('.ee-progress-dots-outer').appendChild(div);
                    this.dots.push(div);
                }
            };
            return ProgressDots;
        }(landingpage.LPComponent));
        paging.ProgressDots = ProgressDots;
        window.lpFrameWork.element('ee-page-progress-dots', function (el) { return new ProgressDots(el); });
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
;
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var PageAnimationService = (function () {
            function PageAnimationService() {
                this.animate = ['none', 'slide-top', 'slide-right', 'slide-bottom', 'slide-left', 'flip-horizontal', 'flip-vertical', 'fade'];
                this.styles = ['accelerate', 'decelerate', 'easy', 'gentle', 'snappy'];
            }
            PageAnimationService.prototype.getAnimateSettings = function (closestSections) {
                var _a;
                var _this = this;
                var animateClasses = [], settings = { animate: '', style: '' };
                if (closestSections) {
                    closestSections === null || closestSections === void 0 ? void 0 : closestSections.classList.forEach(function (item) {
                        if (/^animate-/i.test(item)) {
                            animateClasses.push(item);
                        }
                    });
                    if (!animateClasses.length) {
                        animateClasses = ['none', 'scroll-to-top'];
                        (_a = closestSections.classList).add.apply(_a, ['animate-none', 'animate-scroll-to-top']);
                    }
                }
                animateClasses.forEach(function (item) { return _this.buildBasicOptions(item, settings); });
                return {
                    fade: settings.animate === 'fade',
                    slideTop: settings.animate === 'slide-top',
                    slideBottom: settings.animate === 'slide-bottom'
                };
            };
            PageAnimationService.prototype.buildBasicOptions = function (item, settings) {
                var className = item.replace(/^animate-/i, '');
                if (this.animate.indexOf(className) !== -1)
                    settings.animate = className;
                if (this.styles.indexOf(className) !== -1)
                    settings.style = className;
            };
            return PageAnimationService;
        }());
        paging.PageAnimationService = PageAnimationService;
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var PageHistoryService = (function () {
            function PageHistoryService() {
                this.historyIDs = [];
            }
            PageHistoryService.prototype.setInitialPage = function (currentPage) {
                this.historyIDs.push(currentPage);
            };
            PageHistoryService.prototype.nextPageToHistory = function (newPage) {
                this.historyIDs.push(newPage);
                return newPage;
            };
            PageHistoryService.prototype.previousPageFromHistory = function () {
                this.historyIDs.pop();
                return this.historyIDs[this.historyIDs.length - 1];
            };
            return PageHistoryService;
        }());
        paging.PageHistoryService = PageHistoryService;
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var PageValidityService = (function () {
            function PageValidityService() {
                var _this = this;
                this.questionSelector = ['textbox', 'dropdown', 'multiplechoice', 'checkbox', 'likert', 'datetime', 'consent', 'opinion', 'fileupload'].map(function (el) { return ".ee_".concat(el); }).join(',');
                this.setQuestionsNotInPages();
                this.pageMessengerService = landingpage.PageMessengerService.getService();
                this.pageMessengerService.listen('spacetimeBlockLoaded', function () { return _this.setQuestionsNotInPages(); });
            }
            PageValidityService.getService = function () {
                if (!this.serviceInstance) {
                    this.serviceInstance = new PageValidityService();
                }
                return this.serviceInstance;
            };
            PageValidityService.prototype.validatePage = function (page) {
                var invalid = this.getInvalidInputs(page);
                if (invalid.length)
                    this.markPageInvalid(page);
                return !!invalid.length;
            };
            PageValidityService.prototype.getInvalidInputs = function (page) {
                var _this = this;
                var invalidQuestionsInPage = page ? landingpage.PageUtilities.filter(page, this.questionSelector, function (question) { return landingpage.PageUtilities.hasAttribute(question, 'lp-has-errors'); }) : [];
                var invalidQuestionsNotInPage = this.questionsNotInPages.filter(function (question) { return landingpage.PageUtilities.hasAttribute(question, 'lp-has-errors'); });
                var invalidInputs = __spreadArray(__spreadArray([], invalidQuestionsInPage, true), invalidQuestionsNotInPage, true).filter(function (question) { return _this.filterInvalidSelects(question); });
                return invalidInputs;
            };
            PageValidityService.prototype.markPageInvalid = function (page) {
                var _this = this;
                this.questionsNotInPages.forEach(function (question) { return _this.showQuestionErrors(question); });
                if (page) {
                    landingpage.PageUtilities.forEach(page, '[data-element-settings]', function (question) { return _this.showQuestionErrors(question); });
                }
                this.scrollToError();
            };
            PageValidityService.prototype.markPageValid = function (page) {
                this.questionsNotInPages.forEach(function (question) { return landingpage.PageUtilities.removeClass(question, 'show-errors'); });
                landingpage.PageUtilities.forEach(page, '[data-element-settings]', function (question) { return landingpage.PageUtilities.removeClass(question, 'show-errors'); });
            };
            PageValidityService.prototype.scrollToTop = function () {
                this.scrollTo(0);
            };
            PageValidityService.prototype.scrollToSectionTop = function () {
                var sections = document.querySelectorAll('.ee_sections');
                var sectionStart = (sections.length) ? landingpage.PageUtilities.getOffsetTop(sections[0]) : 0;
                this.scrollTo(sectionStart - 100);
            };
            PageValidityService.prototype.setQuestionsNotInPages = function () {
                var visibleQuestions = landingpage.PageUtilities.filter(document, this.questionSelector, function (item) { return getComputedStyle(item).visibility === 'visible'; });
                this.questionsNotInPages = visibleQuestions.filter(function (question) { return !question.closest('[ee-page]'); });
            };
            PageValidityService.prototype.filterInvalidSelects = function (el) {
                if (el.tagName === 'SELECT') {
                    return el.querySelectorAll('option').length > 1;
                }
                else {
                    return true;
                }
            };
            PageValidityService.prototype.showQuestionErrors = function (question) {
                var _this = this;
                landingpage.PageUtilities.addClass(question, 'show-errors');
                if (question.hasAttribute('lp-id')) {
                    this.setComponentInvalidState(question);
                }
                else {
                    landingpage.PageUtilities.forEach(question, '[lp-id]', function (el) { return _this.setComponentInvalidState(el); });
                }
            };
            PageValidityService.prototype.setComponentInvalidState = function (el) {
                var component = landingpage.LPComponent.getComponent(el);
                if (component.setAriaInvalid) {
                    component.setAriaInvalid();
                }
            };
            PageValidityService.prototype.scrollToError = function () {
                var visibleErrors = landingpage.PageUtilities.filter(document, '[ng-model].ng-invalid', function (item) { return getComputedStyle(item).visibility === 'visible'; });
                var error;
                if (visibleErrors.length) {
                    error = visibleErrors[0].closest('.ee_element');
                }
                if (!error)
                    return;
                var top = landingpage.PageUtilities.getOffsetTop(error), scrollTop = window.scrollY, height = window.innerHeight;
                if (top < scrollTop + 40) {
                    this.scrollTo(top - 40);
                }
                else if (top > (scrollTop + height) - (error.offsetHeight + 40)) {
                    this.scrollTo((top - height) + error.offsetHeight + 40);
                }
            };
            PageValidityService.prototype.scrollTo = function (top) {
                var _this = this;
                clearTimeout(this.scrollTimer);
                this.scrollTimer = setTimeout(function () {
                    _this.scrollToUpdate(Math.max(top, 0));
                }, 20);
            };
            PageValidityService.prototype.scrollToUpdate = function (goal) {
                var top = window.scrollY, diff = goal - top, newTop = top + (diff / 2);
                if (Math.abs(newTop - goal) < 1)
                    newTop = goal;
                if (this.previousTop === newTop)
                    newTop = goal;
                this.previousTop = newTop;
                window.scrollTo(0, newTop);
                if (newTop !== goal)
                    this.scrollTo(goal);
            };
            return PageValidityService;
        }());
        paging.PageValidityService = PageValidityService;
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var SectionLogicService = (function () {
            function SectionLogicService() {
                this.pageMessengerService = new landingpage.PageMessengerService();
                this.textRule = new paging.TextRuleService();
                this.numberRule = new paging.NumberRuleService();
                this.multiplechoiceRule = new paging.MultiplechoiceRuleService();
                this.checkboxRuleService = new paging.CheckboxRuleService();
                this.dropdownRuleService = new paging.DropdownRuleService();
                this.datetimeRuleService = new paging.DatetimeRuleService();
                this.dateRuleService = new paging.DateRuleService();
                this.timeRuleService = new paging.TimeRuleService();
            }
            SectionLogicService.prototype.isClauseMet = function (clause) {
                var currentPage = this.getPage(clause), inputs = this.getInput(clause, currentPage), value = (inputs === null || inputs === void 0 ? void 0 : inputs.length) ? this.getValue(inputs) : null;
                return this.clauseIsMet(clause.condition, clause.value, value);
            };
            SectionLogicService.prototype.isRuleMet = function (rule, clauseResults, metClauses) {
                var ruleIsMet = false;
                if (rule.action.when === 'all') {
                    ruleIsMet = clauseResults.length === metClauses.length;
                }
                else if (rule.action.when === 'any') {
                    ruleIsMet = !!metClauses.length;
                }
                return ruleIsMet;
            };
            SectionLogicService.prototype.getPage = function (clause) {
                return landingpage.PageUtilities.find(document, '[ee-page]', function (page) { return page.getAttribute('page-uuid') === clause.section; });
            };
            SectionLogicService.prototype.getInput = function (clause, page) {
                var dates = ['datetime', 'date', 'time'], selector = (dates.indexOf(clause.condition.type) !== -1) ? "[name=\"datetime".concat(clause.field, "\"]") : "[name=\"".concat(clause.field, "\"]");
                return page.querySelectorAll(selector);
            };
            SectionLogicService.prototype.getValue = function (inputs) {
                var input = inputs[0];
                var type = input.getAttribute('type');
                if (input.closest('.lp-survey-phone-wrapper')) {
                    return this.getPhoneValue(input);
                }
                else if (input.hasAttribute('lp-survey-datetime-input')) {
                    return this.getDateValue(input);
                }
                else if (input.nodeName === 'SELECT') {
                    return parseFloat(input.value);
                }
                else if (type === 'radio') {
                    return this.getRadioValue(inputs);
                }
                else if (type === 'checkbox') {
                    return this.getCheckboxValue(inputs);
                }
                else if (type === 'number') {
                    return parseFloat(input.value);
                }
                return input.value;
            };
            SectionLogicService.prototype.getPhoneValue = function (input) {
                return input.closest('.lp-survey-phone-wrapper').querySelector('[lp-survey-phone-number]').value;
            };
            SectionLogicService.prototype.getDateValue = function (input) {
                var lpForm = this.pageMessengerService.getData('lpForm'), hasDate = !!input.querySelectorAll('.datetime-date').length, hasTime = !!input.querySelectorAll('.datetime-time').length, hasDateTime = !!input.querySelectorAll('.datetime-datetime').length, inputId = input.getAttribute('input-id'), value = lpForm["datetime".concat(inputId)];
                if (value) {
                    if (hasDate || hasDateTime) {
                        if (hasTime || hasDateTime)
                            value.setSeconds(0, 0);
                        else
                            value.setHours(0, 0, 0, 0);
                    }
                    else if (hasTime) {
                        value.setSeconds(0, 0);
                    }
                }
                return value;
            };
            SectionLogicService.prototype.getRadioValue = function (inputs) {
                var val;
                inputs.forEach(function (input) {
                    if (input.checked) {
                        val = parseFloat(input.value);
                    }
                });
                return val;
            };
            SectionLogicService.prototype.getCheckboxValue = function (inputs) {
                var vals = [];
                inputs.forEach(function (input) {
                    if (input.checked) {
                        vals.push(parseFloat(input.value));
                    }
                });
                return vals;
            };
            SectionLogicService.prototype.clauseIsMet = function (condition, ruleValue, value) {
                if (condition.type === 'text' || condition.type === 'email') {
                    return this.textRule.isMet(condition.clause, ruleValue, (value || ''));
                }
                else if (condition.type === 'number') {
                    return this.numberRule.isMet(condition.clause, ruleValue, value);
                }
                else if (condition.type === 'multiplechoice') {
                    return this.multiplechoiceRule.isMet(condition.clause, parseFloat(ruleValue), value);
                }
                else if (condition.type === 'checkbox') {
                    return this.checkboxRuleService.isMet(condition.clause, parseFloat(ruleValue), (value || []));
                }
                else if (condition.type === 'dropdown') {
                    return this.dropdownRuleService.isMet(condition.clause, parseFloat(ruleValue), value);
                }
                else if (condition.type === 'datetime') {
                    return (value) ? this.datetimeRuleService.isMet(condition.clause, ruleValue, value) : false;
                }
                else if (condition.type === 'date') {
                    return (value) ? this.dateRuleService.isMet(condition.clause, ruleValue, value) : false;
                }
                else if (condition.type === 'time') {
                    var rule = new Date(ruleValue), date = value;
                    rule.setFullYear(0, 1, 1);
                    if (date)
                        date.setFullYear(0, 1, 1);
                    return (value) ? this.timeRuleService.isMet(condition.clause, rule, date) : false;
                }
            };
            return SectionLogicService;
        }());
        paging.SectionLogicService = SectionLogicService;
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var CheckboxRuleService = (function () {
            function CheckboxRuleService() {
            }
            CheckboxRuleService.prototype.isMet = function (clause, ruleValue, value) {
                switch (clause) {
                    case 'equalTo': return value.indexOf(ruleValue) !== -1;
                    case 'notEqualTo': return value.indexOf(ruleValue) === -1;
                    case 'isEmpty': return !value.length;
                    case 'isNotEmpty': return !!value.length;
                }
            };
            return CheckboxRuleService;
        }());
        paging.CheckboxRuleService = CheckboxRuleService;
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var ruleServiceUtilities = (function () {
            function ruleServiceUtilities() {
            }
            ruleServiceUtilities.prototype.getTargetDate = function (ruleValue, isPast, hasTime) {
                var target = new Date();
                var _a = ruleValue.split(/\s+/), val = _a[0], timeScale = _a[1];
                var numberVal = isPast ? parseInt(val) * -1 : parseInt(val);
                if (!hasTime) {
                    target.setHours(0, 0, 0, 0);
                }
                switch (timeScale) {
                    case 'days':
                        target.setDate(target.getDate() + numberVal);
                        break;
                    case 'months':
                        target.setMonth(target.getMonth() + numberVal);
                        break;
                    case 'years':
                        target.setFullYear(target.getFullYear() + numberVal);
                        break;
                }
                return target;
            };
            return ruleServiceUtilities;
        }());
        paging.ruleServiceUtilities = ruleServiceUtilities;
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var DateRuleService = (function () {
            function DateRuleService() {
                this.ruleServiceUtilities = new paging.ruleServiceUtilities();
            }
            DateRuleService.prototype.isMet = function (clause, ruleValue, value) {
                var date = value.getDate();
                var dateValue = new Date(ruleValue);
                switch (clause) {
                    case 'isBefore': return !isNaN(date) && value < dateValue;
                    case 'isOnOrBefore': return !isNaN(date) && value <= dateValue;
                    case 'isOnTheDate': return !isNaN(date) && value.toLocaleDateString() === dateValue.toLocaleDateString();
                    case 'isAfter': return !isNaN(date) && value > dateValue;
                    case 'isOnOrAfter': return !isNaN(date) && value >= dateValue;
                    case 'isEmpty': return isNaN(date);
                    case 'isNotEmpty': return !isNaN(date);
                    case 'isBeforeTodayByAtLeast': return !isNaN(date) && value < this.ruleServiceUtilities.getTargetDate(ruleValue, true, false);
                    case 'isAfterTodayByAtLeast': return !isNaN(date) && value > this.ruleServiceUtilities.getTargetDate(ruleValue, false, false);
                    case 'isWithinTheLast': return !isNaN(date) && value > this.ruleServiceUtilities.getTargetDate(ruleValue, true, false);
                    case 'isWithinTheNext': return !isNaN(date) && value < this.ruleServiceUtilities.getTargetDate(ruleValue, false, false);
                }
                return false;
            };
            return DateRuleService;
        }());
        paging.DateRuleService = DateRuleService;
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var DatetimeRuleService = (function () {
            function DatetimeRuleService() {
                this.ruleServiceUtilities = new paging.ruleServiceUtilities();
            }
            DatetimeRuleService.prototype.isMet = function (clause, ruleValue, value) {
                var date = value.getDate();
                var dateValue = new Date(ruleValue);
                switch (clause) {
                    case 'isBefore': return !isNaN(date) && value < dateValue;
                    case 'isOnOrBefore': return !isNaN(date) && value <= dateValue;
                    case 'isOnTheDate': return !isNaN(date) && value.toLocaleDateString() === dateValue.toLocaleDateString();
                    case 'isOnTheDateAndTime': return !isNaN(date) && value.getTime() === dateValue.getTime();
                    case 'isAtTime': return !isNaN(date) && value.toLocaleTimeString() === dateValue.toLocaleTimeString();
                    case 'isAfter': return !isNaN(date) && value > dateValue;
                    case 'isOnOrAfter': return !isNaN(date) && value >= dateValue;
                    case 'isEmpty': return isNaN(date);
                    case 'isNotEmpty': return !isNaN(date);
                    case 'isBeforeTodayByAtLeast': return !isNaN(date) && value < this.ruleServiceUtilities.getTargetDate(ruleValue, true, true);
                    case 'isAfterTodayByAtLeast': return !isNaN(date) && value > this.ruleServiceUtilities.getTargetDate(ruleValue, false, true);
                    case 'isWithinTheLast': return !isNaN(date) && value > this.ruleServiceUtilities.getTargetDate(ruleValue, true, true);
                    case 'isWithinTheNext': return !isNaN(date) && value < this.ruleServiceUtilities.getTargetDate(ruleValue, false, true);
                }
                return false;
            };
            return DatetimeRuleService;
        }());
        paging.DatetimeRuleService = DatetimeRuleService;
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var DropdownRuleService = (function () {
            function DropdownRuleService() {
            }
            DropdownRuleService.prototype.isMet = function (clause, ruleValue, value) {
                switch (clause) {
                    case 'equalTo': return ruleValue === value;
                    case 'notEqualTo': return ruleValue !== value;
                    case 'isEmpty': return value === null || value === undefined || value === -1;
                    case 'isNotEmpty': return value !== null && value !== undefined && value !== -1;
                }
            };
            return DropdownRuleService;
        }());
        paging.DropdownRuleService = DropdownRuleService;
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var MultiplechoiceRuleService = (function () {
            function MultiplechoiceRuleService() {
            }
            MultiplechoiceRuleService.prototype.isMet = function (clause, ruleValue, value) {
                switch (clause) {
                    case 'equalTo': return ruleValue === value;
                    case 'notEqualTo': return ruleValue !== value;
                    case 'isEmpty': return !value;
                    case 'isNotEmpty': return !!value;
                }
            };
            return MultiplechoiceRuleService;
        }());
        paging.MultiplechoiceRuleService = MultiplechoiceRuleService;
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var NumberRuleService = (function () {
            function NumberRuleService() {
            }
            NumberRuleService.prototype.isMet = function (clause, ruleValue, value) {
                switch (clause) {
                    case 'equalTo': return value === ruleValue;
                    case 'notEqualTo': return value !== ruleValue;
                    case 'lessThan': return value < ruleValue;
                    case 'lessThanOrEqual': return value <= ruleValue;
                    case 'greaterThan': return value > ruleValue;
                    case 'greaterThanOrEqual': return value >= ruleValue;
                    case 'isEmpty': return isNaN(value);
                    case 'isNotEmpty': return !isNaN(value);
                }
            };
            return NumberRuleService;
        }());
        paging.NumberRuleService = NumberRuleService;
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var TextRuleService = (function () {
            function TextRuleService() {
            }
            TextRuleService.prototype.isMet = function (clause, ruleValue, value) {
                var stringVal = value.toLowerCase().trim(), stringCondition = ruleValue.toLowerCase().trim();
                switch (clause) {
                    case 'equalTo': return stringVal === stringCondition;
                    case 'notEqualTo': return stringVal !== stringCondition;
                    case 'contains': return new RegExp(stringCondition).test(stringVal);
                    case 'doesNotContain': return !new RegExp(stringCondition).test(stringVal);
                    case 'startsWith': return new RegExp("^".concat(stringCondition)).test(stringVal);
                    case 'endsWith': return new RegExp("".concat(stringCondition, "$")).test(stringVal);
                    case 'isEmpty': return !stringVal;
                    case 'doesNotStartWith': return !!stringVal && !new RegExp("^".concat(stringCondition)).test(stringVal);
                    case 'doesNotEndWith': return !!stringVal && !new RegExp("".concat(stringCondition, "$")).test(stringVal);
                    case 'isNotEmpty': return !!stringVal;
                }
            };
            return TextRuleService;
        }());
        paging.TextRuleService = TextRuleService;
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var paging;
    (function (paging) {
        var TimeRuleService = (function () {
            function TimeRuleService() {
            }
            TimeRuleService.prototype.isMet = function (clause, ruleValue, value) {
                var date = value.getDate();
                switch (clause) {
                    case 'isBefore': return !isNaN(date) && value < ruleValue;
                    case 'isOnOrBefore': return !isNaN(date) && value <= ruleValue;
                    case 'isAtTime': return !isNaN(date) && value.toLocaleTimeString() === ruleValue.toLocaleTimeString();
                    case 'isAfter': return !isNaN(date) && value > ruleValue;
                    case 'isOnOrAfter': return !isNaN(date) && value >= ruleValue;
                    case 'isEmpty': return isNaN(date);
                    case 'isNotEmpty': return !isNaN(date);
                }
                return false;
            };
            return TimeRuleService;
        }());
        paging.TimeRuleService = TimeRuleService;
    })(paging = landingpage.paging || (landingpage.paging = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var spacetime;
    (function (spacetime) {
        var LocationBlock = (function (_super) {
            __extends(LocationBlock, _super);
            function LocationBlock(el) {
                var _this = _super.call(this, el) || this;
                _this.pageMessengerService = landingpage.PageMessengerService.getService();
                _this.initData();
                _this.cloakBeforeLoad();
                _this.update();
                return _this;
            }
            LocationBlock.prototype.initData = function () {
                var elementSettings = JSON.parse(this.el.getAttribute('data-element-settings'));
                this.data = {
                    showBlock: false,
                    hideUnknown: (elementSettings === null || elementSettings === void 0 ? void 0 : elementSettings.hideUnknown) || false,
                    mapData: (elementSettings === null || elementSettings === void 0 ? void 0 : elementSettings.mapData) ? JSON.parse(elementSettings.mapData) : null
                };
            };
            LocationBlock.prototype.cloakBeforeLoad = function () {
                this.el.setAttribute('aria-hidden', 'true');
                this.el.style.display = 'none';
                this.el.style.visibility = 'hidden';
            };
            LocationBlock.prototype.update = function () {
                var _this = this;
                this.getLocation();
                window.setInterval(function () { return _this.getLocation(); }, 60000);
            };
            LocationBlock.prototype.getLocation = function () {
                var _this = this;
                if (navigator.geolocation) {
                    navigator.geolocation.getCurrentPosition(function (pos) { return _this.getPosition(pos); }, function () { return _this.handleLocationUnknown(); });
                }
                else {
                    this.handleLocationUnknown();
                }
            };
            LocationBlock.prototype.getPosition = function (pos) {
                var oldShowBlock = this.data.showBlock, location = {
                    lat: pos.coords.latitude,
                    long: pos.coords.longitude
                };
                this.data.showBlock = this.checkMapLocation(location);
                if (this.data.showBlock !== oldShowBlock) {
                    this.setDisplay();
                    this.broadcastLoad();
                }
                this.setDisplay();
            };
            LocationBlock.prototype.checkMapLocation = function (location) {
                var inRange = false;
                if (this.data.mapData) {
                    for (var i = 0; i < this.data.mapData.length; i++) {
                        inRange = this.inside(location, this.data.mapData[i].points);
                        if (inRange)
                            break;
                    }
                }
                return inRange;
            };
            LocationBlock.prototype.inside = function (point, polygon) {
                var x = point.long, y = point.lat, inside = false;
                for (var i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
                    var point1 = polygon[i], point2 = polygon[j], xi = point1.long, yi = point1.lat, xj = point2.long, yj = point2.lat, intersect = ((yi > y) != (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);
                    if (intersect)
                        inside = !inside;
                }
                return inside;
            };
            ;
            LocationBlock.prototype.handleLocationUnknown = function () {
                this.data.showBlock = !this.data.hideUnknown;
                this.broadcastLoad();
                this.setDisplay();
            };
            LocationBlock.prototype.setDisplay = function () {
                this.el.setAttribute('aria-hidden', "".concat(!this.data.showBlock));
                this.el.style.display = this.data.showBlock ? '' : 'none';
                this.el.style.visibility = this.data.showBlock ? '' : 'hidden';
                this.el.removeAttribute('aria-busy');
            };
            LocationBlock.prototype.broadcastLoad = function () {
                this.pageMessengerService.broadcast('spacetimeBlockLoaded');
            };
            return LocationBlock;
        }(landingpage.LPComponent));
        spacetime.LocationBlock = LocationBlock;
        window.lpFrameWork.element('ee-location-block', function (el) { return new LocationBlock(el); });
    })(spacetime = landingpage.spacetime || (landingpage.spacetime = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var spacetime;
    (function (spacetime) {
        var TimeBlock = (function (_super) {
            __extends(TimeBlock, _super);
            function TimeBlock(el) {
                var _this = _super.call(this, el) || this;
                _this.pageMessengerService = landingpage.PageMessengerService.getService();
                _this.initData();
                _this.update();
                return _this;
            }
            TimeBlock.prototype.initData = function () {
                var timeBlockStart = this.el.getAttribute('time-block-start');
                var timeBlockEnd = this.el.getAttribute('time-block-end');
                var startDate = timeBlockStart ? new Date(parseInt(timeBlockStart)) : null;
                var endDate = timeBlockEnd ? new Date(parseInt(timeBlockEnd)) : null;
                var hasDates = !!startDate || !!endDate;
                var showBlock = !hasDates;
                this.data = { showBlock: showBlock, hasDates: hasDates, startDate: startDate, endDate: endDate };
            };
            TimeBlock.prototype.update = function () {
                var _this = this;
                if (this.data.hasDates) {
                    this.setDisplay();
                    window.setInterval(function () { return _this.update(); }, 60000);
                }
                else {
                    this.broadcastLoad();
                }
            };
            TimeBlock.prototype.setDisplay = function () {
                var oldShowBlock = this.data.showBlock, now = new Date(), isAfterStart = !this.data.startDate || this.data.startDate < now, isBeforeEnd = !this.data.endDate || this.data.endDate > now;
                this.data.showBlock = (isAfterStart && isBeforeEnd);
                if (this.data.showBlock !== oldShowBlock) {
                    this.broadcastLoad();
                }
                this.el.setAttribute('aria-hidden', "".concat(!this.data.showBlock));
                this.el.style.display = this.data.showBlock ? '' : 'none';
                this.el.style.visibility = this.data.showBlock ? '' : 'hidden';
                this.el.removeAttribute('aria-busy');
            };
            TimeBlock.prototype.broadcastLoad = function () {
                this.pageMessengerService.broadcast('spacetimeBlockLoaded');
            };
            return TimeBlock;
        }(landingpage.LPComponent));
        spacetime.TimeBlock = TimeBlock;
        window.lpFrameWork.element('ee-time-block', function (el) { return new TimeBlock(el); });
    })(spacetime = landingpage.spacetime || (landingpage.spacetime = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var ElementHiderBase = (function (_super) {
            __extends(ElementHiderBase, _super);
            function ElementHiderBase(el, selector, emptyVal) {
                var _this = _super.call(this, el) || this;
                _this.selector = selector;
                _this.emptyVal = emptyVal;
                _this.pageMessengerService = new landingpage.PageMessengerService();
                _this.init();
                return _this;
            }
            ElementHiderBase.prototype.init = function () {
                var dataElementSettings = this.el.getAttribute('data-element-settings');
                var settings = JSON.parse(dataElementSettings) || {};
                if (!settings.dataField) {
                    return;
                }
                var model = this.el.querySelector(this.selector).getAttribute('ng-model').replace(/lpForm./, '');
                this.getFormData(model);
            };
            ElementHiderBase.prototype.getFormData = function (model) {
                var _this = this;
                var mappedField = this.el.getAttribute('mapped-field');
                var stateCheck = setInterval(function () {
                    var lpForm = _this.pageMessengerService.getData('lpForm');
                    if (lpForm) {
                        clearInterval(stateCheck);
                        if (lpForm[model] !== _this.emptyVal && mappedField !== '') {
                            _this.el.style.display = 'none';
                        }
                    }
                }, 20);
            };
            return ElementHiderBase;
        }(landingpage.LPComponent));
        surveys.ElementHiderBase = ElementHiderBase;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
;
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var DropdownElementHider = (function (_super) {
            __extends(DropdownElementHider, _super);
            function DropdownElementHider(el) {
                return _super.call(this, el, 'select', '-1') || this;
            }
            return DropdownElementHider;
        }(surveys.ElementHiderBase));
        surveys.DropdownElementHider = DropdownElementHider;
        window.lpFrameWork.element('lp-survey-dropdown-element-hider', function (el) { return new DropdownElementHider(el); });
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
;
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var ErrorMessage = (function (_super) {
            __extends(ErrorMessage, _super);
            function ErrorMessage(el) {
                var _this = _super.call(this, el) || this;
                _this.messages = {};
                _this.element = _this.el.closest('.ee_element, .other-wrapper');
                _this.el.setAttribute('aria-live', 'assertive');
                _this.pageMessengerService = new landingpage.PageMessengerService();
                _this.pageMessengerService.listen('formChanged', function () { return _this.update(); });
                landingpage.PageUtilities.forEach(_this.el, '[ng-message]', function (message) { return _this.storeMessage(message); });
                return _this;
            }
            ErrorMessage.prototype.storeMessage = function (el) {
                var message = el.getAttribute('ng-message');
                this.messages[message] = el;
                el.remove();
            };
            ErrorMessage.prototype.update = function () {
                var error = landingpage.PageUtilities.hasAttribute(this.element, 'lp-has-errors');
                for (var prop in this.messages) {
                    this.messages[prop].remove();
                }
                if (error) {
                    var message = this.messages[this.element.getAttribute('lp-has-errors')];
                    if (message) {
                        this.el.appendChild(message);
                    }
                }
            };
            return ErrorMessage;
        }(landingpage.LPComponent));
        surveys.ErrorMessage = ErrorMessage;
        window.lpFrameWork.element('ng-messages', function (el) { return new ErrorMessage(el); });
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var ListElementValidatorBase = (function () {
            function ListElementValidatorBase() {
                var _this = this;
                ListElementValidatorBase.prototype.link = function ($scope, $element, attrs, ngModel) { return _this.init($scope, $element, attrs, ngModel); };
                ListElementValidatorBase.prototype.restrict = 'A';
                ListElementValidatorBase.prototype.require = '?ngModel';
                ListElementValidatorBase.prototype.$scope = true;
            }
            ListElementValidatorBase.prototype.init = function ($scope, $element, attrs, ngModel) {
                var _this = this;
                var $inputs = $element.parent().find("input[type=".concat(this.inputType, "]")), $other;
                $scope.$watch('lpForm.' + attrs.ngModel, function (checkList) {
                    setTimeout(function () { return applyChange(_this.validProperty, _this.hasOther); });
                }, true);
                if (this.hasOther) {
                    $other = $element.parent().find('.other-item-wrapper input[type=text]');
                    $other.on('change blur', function () { return applyChange(_this.validProperty, _this.hasOther); });
                }
                function applyChange(validProperty, hasOther) {
                    if (attrs.requiredAnswer)
                        $scope.$apply(function () { return setValidity(validProperty, hasOther); });
                }
                function setValidity(validProperty, hasOther) {
                    if (hasOther && $other.is(':visible') && !$other.val()) {
                        ngModel.$setValidity(validProperty, false);
                    }
                    else {
                        var checked = $inputs.filter(function (i, el) { return $(el).is(':checked'); });
                        ngModel.$setValidity(validProperty, !!checked.length);
                    }
                }
            };
            return ListElementValidatorBase;
        }());
        surveys.ListElementValidatorBase = ListElementValidatorBase;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
;
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var MultipleChoiceElementHider = (function (_super) {
            __extends(MultipleChoiceElementHider, _super);
            function MultipleChoiceElementHider(el) {
                return _super.call(this, el, '.options-container', 'null') || this;
            }
            return MultipleChoiceElementHider;
        }(surveys.ElementHiderBase));
        surveys.MultipleChoiceElementHider = MultipleChoiceElementHider;
        window.lpFrameWork.element('lp-survey-multiple-choice-element-hider', function (el) { return new MultipleChoiceElementHider(el); });
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
;
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyAutoSaveService = (function () {
            function SurveyAutoSaveService() {
            }
            SurveyAutoSaveService.getService = function () {
                if (!this.serviceInstance) {
                    this.serviceInstance = new SurveyAutoSaveService();
                }
                return this.serviceInstance;
            };
            SurveyAutoSaveService.prototype.loadData = function (landingPageId) {
                try {
                    if (!landingPageId || !window.localStorage)
                        return null;
                    var lpId = "lpform".concat(landingPageId);
                    if (localStorage.getItem(lpId) === null)
                        return null;
                    var data = JSON.parse(localStorage.getItem(lpId));
                    return data;
                }
                catch (ex) {
                    return null;
                }
            };
            SurveyAutoSaveService.prototype.saveData = function (landingPageId, storedData) {
                try {
                    var lpId = "lpform".concat(landingPageId);
                    if (!window.localStorage)
                        return;
                    localStorage.setItem(lpId, JSON.stringify(storedData));
                }
                catch (ex) { }
            };
            SurveyAutoSaveService.prototype.clearData = function (landingPageId) {
                try {
                    if (!landingPageId || !window.localStorage)
                        return;
                    var lpId = "lpform".concat(landingPageId);
                    if (window.localStorage)
                        localStorage.removeItem(lpId);
                }
                catch (ex) { }
            };
            return SurveyAutoSaveService;
        }());
        surveys.SurveyAutoSaveService = SurveyAutoSaveService;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyValidatorComponent = (function (_super) {
            __extends(SurveyValidatorComponent, _super);
            function SurveyValidatorComponent(el) {
                var _this = _super.call(this, el) || this;
                _this.pageMessengerService = landingpage.PageMessengerService.getService();
                _this.setElement();
                _this.setModel();
                _this.setRequired();
                _this.setOther();
                _this.setValid();
                _this.setAccessibility();
                _this.addChangeListener();
                return _this;
            }
            SurveyValidatorComponent.prototype.updateModel = function (model) { };
            SurveyValidatorComponent.prototype.setElement = function () {
                this.eeElement = this.el.closest('.ee_element');
                var dataElementSettings = this.eeElement.getAttribute('data-element-settings');
                this.settings = dataElementSettings ? JSON.parse(dataElementSettings) : null;
                this.checkHideElement();
            };
            SurveyValidatorComponent.prototype.setOther = function () {
                var _this = this;
                var _a;
                this.otherIndex = ((_a = this.settings) === null || _a === void 0 ? void 0 : _a.otherIndex) ? "".concat(this.settings.otherIndex) : null;
                this.otherInput = this.eeElement.querySelector('.other-wrapper input[type="text"],.other-wrapper textarea');
                if (this.otherInput) {
                    this.otherInput.addEventListener('mouseup', function () { return _this.otherChanged(); });
                    this.otherInput.addEventListener('keyup', function () { return _this.otherChanged(); });
                    this.otherInput.addEventListener('change', function () { return _this.otherChanged(); });
                    this.otherInput.addEventListener('paste', function () { return setTimeout(function () { return _this.otherChanged(); }, 1); });
                }
            };
            SurveyValidatorComponent.prototype.otherChanged = function () {
                var _a;
                var prop = this.otherInput.getAttribute('ng-model').replace(/^lpForm\./, '');
                var value = (_a = this.otherInput) === null || _a === void 0 ? void 0 : _a.value;
                this.setValid();
                this.pageMessengerService.broadcast('formChanged', { prop: prop, value: value });
            };
            ;
            SurveyValidatorComponent.prototype.checkHideElement = function () {
                var hide = this.eeElement.getAttribute('ng-hide');
                if (!hide) {
                    return;
                }
                var parts = hide.split('!=');
                parts = parts.map(function (part) { return part.trim(); });
                if (parts.length > 1) {
                    landingpage.PageUtilities.showHide(this.eeElement, parts[0] === parts[1]);
                }
            };
            SurveyValidatorComponent.prototype.updateOtherModel = function (model) {
                var _a;
                var prop = this.otherInput.getAttribute('ng-model').replace(/^lpForm\./, '');
                var value = (_a = this.otherInput) === null || _a === void 0 ? void 0 : _a.value;
                model[prop] = value;
            };
            SurveyValidatorComponent.prototype.setAccessibility = function () {
            };
            return SurveyValidatorComponent;
        }(landingpage.LPComponent));
        surveys.SurveyValidatorComponent = SurveyValidatorComponent;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyOtherOptionValidator = (function (_super) {
            __extends(SurveyOtherOptionValidator, _super);
            function SurveyOtherOptionValidator(el) {
                var _this = _super.call(this, el) || this;
                setTimeout(function () { return _this.initOther(); }, 1);
                return _this;
            }
            SurveyOtherOptionValidator.prototype.changed = function () {
                var value = this.getValue();
                this.updateOther(value);
                this.setValid();
                this.pageMessengerService.broadcast('formChanged', { prop: this.model, value: value });
            };
            SurveyOtherOptionValidator.prototype.initOther = function () {
                var value = this.getValue();
                this.updateOther(value);
            };
            SurveyOtherOptionValidator.prototype.updateOther = function (value) {
                var otherSelected = this.isOtherSelected(value);
                var otherWrapper = this.eeElement.querySelector(this.otherWrapperSelector);
                if (otherWrapper) {
                    landingpage.PageUtilities.showHide(otherWrapper, otherSelected);
                }
            };
            return SurveyOtherOptionValidator;
        }(surveys.SurveyValidatorComponent));
        surveys.SurveyOtherOptionValidator = SurveyOtherOptionValidator;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyCheckboxValidator = (function (_super) {
            __extends(SurveyCheckboxValidator, _super);
            function SurveyCheckboxValidator(el) {
                var _a;
                var _this = _super.call(this, el) || this;
                _this.otherWrapperSelector = '.other-item-wrapper';
                _this.otherBox = _this.eeElement.querySelector('input[type="text"]');
                (_a = _this.otherBox) === null || _a === void 0 ? void 0 : _a.addEventListener('blur', function () { return _this.setOtherAriaInvalid(); });
                return _this;
            }
            SurveyCheckboxValidator.prototype.updateModel = function (model) {
                if (this.isOtherSelected(this.getValue())) {
                    this.updateOtherModel(model);
                }
            };
            SurveyCheckboxValidator.prototype.setAriaInvalid = function () {
                var _this = this;
                setTimeout(function () {
                    var error = _this.eeElement.getAttribute('lp-has-errors');
                    if (error === 'other-required') {
                        error = '';
                    }
                    landingpage.PageUtilities.setAttribute(_this.el, 'aria-invalid', "".concat(!!error));
                    landingpage.PageUtilities.forEach(_this.eeElement, 'input[type="checkbox"]', function (input) { return landingpage.PageUtilities.setAttribute(input, 'aria-invalid', "".concat(!!error)); });
                }, 1);
            };
            SurveyCheckboxValidator.prototype.addChangeListener = function () {
                var _this = this;
                var _a;
                this.el.addEventListener('change', function () { return _this.changed(); });
                var inputs = this.eeElement.querySelectorAll('input[type="checkbox"]');
                inputs.forEach(function (input) {
                    input.addEventListener('blur', function () { _this.setAriaInvalid(); });
                    input.addEventListener('keyup', function (event) { return _this.trapEnterKey(event); });
                });
                (_a = this.eeElement.querySelector('.other-wrapper input[type="checkbox"]')) === null || _a === void 0 ? void 0 : _a.addEventListener('change', function () { return _this.changed(); });
            };
            SurveyCheckboxValidator.prototype.isOtherSelected = function (value) {
                return value[this.settings.otherIndex];
            };
            SurveyCheckboxValidator.prototype.getValue = function () {
                var val = {};
                landingpage.PageUtilities.forEach(this.eeElement, 'input[type="checkbox"]', function (el) { return val[el.value] = el.checked; });
                return val;
            };
            SurveyCheckboxValidator.prototype.setModel = function () {
                this.model = this.el.getAttribute('ng-model');
            };
            SurveyCheckboxValidator.prototype.setRequired = function () {
                var _a;
                this.required = ((_a = this.settings) === null || _a === void 0 ? void 0 : _a.requiredAnswer) || false;
            };
            SurveyCheckboxValidator.prototype.setAccessibility = function () {
                var inputs = this.el.querySelectorAll('input[type=checkbox]');
                inputs.forEach(function (x) {
                    var label = document.querySelector("[for=\"".concat(x.getAttribute('id'), "\"]"));
                    if (label)
                        x.setAttribute('aria-label', label.innerText);
                });
            };
            SurveyCheckboxValidator.prototype.setOtherAriaInvalid = function () {
                var error = this.eeElement.querySelector('.other-wrapper').getAttribute('lp-has-errors');
                landingpage.PageUtilities.setAttribute(this.otherBox, 'aria-invalid', "".concat(!!error));
            };
            SurveyCheckboxValidator.prototype.setValid = function () {
                var _a;
                var value = this.getValue();
                var isBoxChecked = false;
                for (var prop in value) {
                    if (value[prop])
                        isBoxChecked = true;
                }
                var error = !this.required || isBoxChecked ? null : 'checkboxes';
                var otherError = this.otherIndex && value[this.otherIndex] && !((_a = this.otherInput) === null || _a === void 0 ? void 0 : _a.value);
                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', error);
                landingpage.PageUtilities.setAttribute(this.eeElement.querySelector('.other-wrapper'), 'lp-has-errors', otherError && !error ? 'checkboxes' : null);
            };
            SurveyCheckboxValidator.prototype.trapEnterKey = function (event) {
                if (event.key === 'Enter') {
                    this.changed();
                    this.setAriaInvalid();
                }
            };
            return SurveyCheckboxValidator;
        }(surveys.SurveyOtherOptionValidator));
        surveys.SurveyCheckboxValidator = SurveyCheckboxValidator;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
;
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyConsentValidator = (function (_super) {
            __extends(SurveyConsentValidator, _super);
            function SurveyConsentValidator() {
                return _super !== null && _super.apply(this, arguments) || this;
            }
            Object.defineProperty(SurveyConsentValidator.prototype, "input", {
                get: function () {
                    if (!this.checkbox) {
                        this.checkbox = this.eeElement.querySelector('input[type="checkbox"]');
                    }
                    return this.checkbox;
                },
                enumerable: false,
                configurable: true
            });
            SurveyConsentValidator.prototype.setAriaInvalid = function () {
                var error = this.eeElement.getAttribute('lp-has-errors');
                landingpage.PageUtilities.setAttribute(this.input, 'aria-invalid', "".concat(!!error));
            };
            SurveyConsentValidator.prototype.addChangeListener = function () {
                var _this = this;
                this.input.addEventListener('keyup', function (event) { return _this.trapEnterKey(event); });
                this.input.addEventListener('change', function () { return _this.changed(); });
                this.input.addEventListener('blur', function () { return _this.setAriaInvalid(); });
            };
            SurveyConsentValidator.prototype.changed = function () {
                var value = this.getValue();
                this.setValid();
                this.pageMessengerService.broadcast('formChanged', { prop: this.model, value: value });
            };
            SurveyConsentValidator.prototype.getValue = function () {
                return this.input.checked;
            };
            SurveyConsentValidator.prototype.setModel = function () {
                this.model = this.input.getAttribute('ng-model').replace(/^lpForm\./, '');
            };
            SurveyConsentValidator.prototype.setRequired = function () {
                var _a;
                this.required = ((_a = this.settings) === null || _a === void 0 ? void 0 : _a.requiredAnswer) || false;
            };
            SurveyConsentValidator.prototype.setAccessibility = function () {
                var label = document.querySelector("[for=".concat(this.input.getAttribute('id'), "]"));
                if (label) {
                    this.input.setAttribute('aria-label', label.innerText);
                }
            };
            SurveyConsentValidator.prototype.setValid = function () {
                var value = this.getValue();
                var error = this.required && !value ? 'required' : null;
                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', error);
            };
            SurveyConsentValidator.prototype.trapEnterKey = function (event) {
                if (event.key === 'Enter') {
                    this.changed();
                }
            };
            return SurveyConsentValidator;
        }(surveys.SurveyValidatorComponent));
        surveys.SurveyConsentValidator = SurveyConsentValidator;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
;
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyDatetimeTemplate = (function () {
            function SurveyDatetimeTemplate() {
            }
            SurveyDatetimeTemplate.getTemplate = function () {
                if (!SurveyDatetimeTemplate.template)
                    SurveyDatetimeTemplate.init();
                return SurveyDatetimeTemplate.template;
            };
            SurveyDatetimeTemplate.init = function () {
                SurveyDatetimeTemplate.setTemplate();
            };
            SurveyDatetimeTemplate.setTemplate = function () {
                SurveyDatetimeTemplate.template = "\n                    <input class=\"ee_answertext datetime-datetime\" max=\"9999-12-31T23:59\" name=\"datetime\" type=\"datetime-local\" />\n                    <input class=\"ee_answertext datetime-date\" max=\"9999-12-31\" name=\"date\" type=\"date\" />\n                    <input class=\"ee_answertext datetime-time\" name=\"time\" type=\"time\" />";
            };
            return SurveyDatetimeTemplate;
        }());
        surveys.SurveyDatetimeTemplate = SurveyDatetimeTemplate;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyDropdownValidator = (function (_super) {
            __extends(SurveyDropdownValidator, _super);
            function SurveyDropdownValidator(el) {
                var _a;
                var _this = _super.call(this, el) || this;
                _this.otherWrapperSelector = '.other-wrapper';
                _this.otherBox = _this.eeElement.querySelector('input[type="text"]');
                (_a = _this.otherBox) === null || _a === void 0 ? void 0 : _a.addEventListener('blur', function () { return _this.setOtherAriaInvalid(); });
                return _this;
            }
            SurveyDropdownValidator.prototype.updateModel = function (model) {
                if (this.isOtherSelected(this.getValue())) {
                    this.updateOtherModel(model);
                }
            };
            SurveyDropdownValidator.prototype.setAriaInvalid = function () {
                var error = this.eeElement.getAttribute('lp-has-errors');
                if (error === 'other-required') {
                    error = '';
                }
                landingpage.PageUtilities.setAttribute(this.el, 'aria-invalid', "".concat(!!error));
            };
            SurveyDropdownValidator.prototype.addChangeListener = function () {
                var _this = this;
                this.el.addEventListener('change', function () { return _this.changed(); });
                this.el.addEventListener('blur', function () { return _this.setAriaInvalid(); });
            };
            SurveyDropdownValidator.prototype.isOtherSelected = function (value) {
                return value === "".concat(this.settings.otherIndex);
            };
            SurveyDropdownValidator.prototype.getValue = function () {
                return this.el.value;
            };
            SurveyDropdownValidator.prototype.setModel = function () {
                this.model = this.el.getAttribute('ng-model').replace(/^lpForm\./, '');
            };
            SurveyDropdownValidator.prototype.setRequired = function () {
                this.required = !!this.el.getAttribute('required');
            };
            SurveyDropdownValidator.prototype.setAccessibility = function () {
                var label = document.querySelector("[for=".concat(this.el.getAttribute('id'), "]"));
                if (label) {
                    this.el.setAttribute('aria-label', label.innerText);
                }
            };
            SurveyDropdownValidator.prototype.setOtherAriaInvalid = function () {
                var error = this.eeElement.querySelector('.other-wrapper').getAttribute('lp-has-errors');
                landingpage.PageUtilities.setAttribute(this.otherBox, 'aria-invalid', "".concat(!!error));
            };
            SurveyDropdownValidator.prototype.setValid = function () {
                var value = this.getValue();
                var error = !this.required || Number(value) !== -1 ? null : 'required';
                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', error);
                if (this.otherIndex && !error && this.otherBox) {
                    var isOtherInvalid = (this.otherIndex && value === this.otherIndex && !this.otherInput.value);
                    landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', isOtherInvalid ? 'other-required' : null);
                    landingpage.PageUtilities.setAttribute(this.eeElement.querySelector('.other-wrapper'), 'lp-has-errors', isOtherInvalid ? 'required' : null);
                }
            };
            return SurveyDropdownValidator;
        }(surveys.SurveyOtherOptionValidator));
        surveys.SurveyDropdownValidator = SurveyDropdownValidator;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var SurveyFileUploadStateService = (function () {
        function SurveyFileUploadStateService() {
            this.isUploading = false;
        }
        SurveyFileUploadStateService.getService = function () {
            if (!this.serviceInstance) {
                this.serviceInstance = new SurveyFileUploadStateService();
            }
            return this.serviceInstance;
        };
        SurveyFileUploadStateService.prototype.setUploadingState = function (isUploading) {
            this.isUploading = isUploading;
        };
        SurveyFileUploadStateService.prototype.getUploadingState = function () {
            return this.isUploading;
        };
        return SurveyFileUploadStateService;
    }());
    landingpage.SurveyFileUploadStateService = SurveyFileUploadStateService;
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyFileUploadValidator = (function (_super) {
            __extends(SurveyFileUploadValidator, _super);
            function SurveyFileUploadValidator(el) {
                return _super.call(this, el) || this;
            }
            SurveyFileUploadValidator.prototype.setAriaInvalid = function () {
                var error = this.eeElement.getAttribute('lp-has-errors');
                landingpage.PageUtilities.setAttribute(this.el, 'aria-invalid', "".concat(!!error));
            };
            SurveyFileUploadValidator.prototype.addChangeListener = function () {
                var _this = this;
                var input = this.el.querySelector('input[type=hidden]');
                input.addEventListener('change', function () { return _this.changed(); });
                input.addEventListener('input', function () { return _this.changed(); });
                input.addEventListener('blur', function () { return _this.setAriaInvalid(); });
            };
            SurveyFileUploadValidator.prototype.changed = function () {
                var value = this.getValue();
                this.setValid();
                this.pageMessengerService.broadcast('formChanged', { prop: this.model, value: value });
            };
            SurveyFileUploadValidator.prototype.getValue = function () {
                var el = this.el.querySelector('input[type=hidden]');
                return el === null || el === void 0 ? void 0 : el.value;
            };
            SurveyFileUploadValidator.prototype.setModel = function () {
                this.model = this.el.querySelector('input[type=hidden]').getAttribute('name');
            };
            SurveyFileUploadValidator.prototype.setRequired = function () {
                this.required = this.settings.requiredAnswer;
            };
            SurveyFileUploadValidator.prototype.setValid = function () {
                var value = this.getValue() === '' ? undefined : this.getValue();
                var error = (!this.required || value !== undefined) ? null : 'required';
                error = error || ((this.required && value === '[]')) ? 'required' : null;
                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', error);
            };
            return SurveyFileUploadValidator;
        }(surveys.SurveyValidatorComponent));
        surveys.SurveyFileUploadValidator = SurveyFileUploadValidator;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyFormDataService = (function () {
            function SurveyFormDataService() {
            }
            SurveyFormDataService.getService = function () {
                if (!this.serviceInstance) {
                    this.serviceInstance = new SurveyFormDataService();
                }
                return this.serviceInstance;
            };
            SurveyFormDataService.prototype.getData = function (lpForm) {
                var _this = this;
                var defaultSubmitAction = document.querySelector('[name=defaultSubmitAction]').value, respondent = document.querySelector('[name=respondent]').value, captchaInput = document.querySelector('[name=g-recaptcha-response]'), captcha = captchaInput ? captchaInput.value : undefined, formData = { defaultSubmitAction: defaultSubmitAction, respondent: respondent, 'g-recaptcha-response': captcha };
                for (var prop in lpForm) {
                    var propName = this.getPropertyName(prop);
                    if (/^textbox|^radio|^dropdown/i.test(prop)) {
                        var val = lpForm[prop];
                        formData[propName] = (typeof val === 'number') ? val.toString() : val;
                    }
                    else if (/^checkbox/i.test(prop)) {
                        formData[propName] = this.getArrayFromQuestion(lpForm[prop]);
                    }
                    else if (/^consent/i.test(prop)) {
                        if (lpForm[prop])
                            formData[propName] = 'on';
                    }
                    else if (/^likert/i.test(prop)) {
                        this.setQuestionsFromObj(propName, lpForm[prop], formData);
                    }
                }
                landingpage.PageUtilities.forEach(document, '.ee_datetime', function (el) { return _this.getValuesFromDateTime(el, formData); });
                landingpage.PageUtilities.forEach(document, '.ee_preferences', function (el) { return _this.getValuesFromPreferences(el, formData); });
                landingpage.PageUtilities.forEach(document, '.ee_fileupload', function (el) { return _this.getValuesFromFileUploads(el, formData); });
                return formData;
            };
            SurveyFormDataService.prototype.getPropertyName = function (prop) {
                return parseInt(prop.replace(/^textbox|^radio|^dropdown|^checkbox|^consent|^likert/i, ''));
            };
            SurveyFormDataService.prototype.getArrayFromQuestion = function (obj) {
                var arr = [];
                for (var key in obj) {
                    if (obj[key])
                        arr.push(key);
                }
                return arr;
            };
            SurveyFormDataService.prototype.setQuestionsFromObj = function (propName, obj, formData) {
                for (var key in obj)
                    formData["".concat(propName, "_").concat(key)] = obj[key];
            };
            SurveyFormDataService.prototype.getValuesFromDateTime = function (el, formData) {
                landingpage.PageUtilities.forEach(el, 'input[type=date], input[type=datetime-local], input[type=time]', function (input) {
                    var name = input.getAttribute('name'), val = input.getAttribute('type') === 'date' ? input.value.replace(/-/g, '\/').replace(/T.+/, '') : input.value, newDate = new Date(val);
                    if (typeof val !== 'undefined') {
                        if (/^date|^datetime-local/i.test(input.getAttribute('type'))) {
                            formData["".concat(name, "_1")] = newDate.getFullYear().toString(),
                                formData["".concat(name, "_2")] = (newDate.getMonth() + 1).toString(),
                                formData["".concat(name, "_3")] = newDate.getDate().toString();
                        }
                        if (/^datetime-local/i.test(input.getAttribute('type'))) {
                            formData["".concat(name, "_4")] = newDate.getHours().toString(),
                                formData["".concat(name, "_5")] = newDate.getMinutes().toString();
                        }
                        if (/^time/i.test(input.getAttribute('type'))) {
                            var splitTime = val.split(/\:|\-/g);
                            formData["".concat(name, "_4")] = splitTime[0],
                                formData["".concat(name, "_5")] = splitTime[1];
                        }
                    }
                });
            };
            SurveyFormDataService.prototype.getValuesFromPreferences = function (el, formData) {
                var values = [], name;
                landingpage.PageUtilities.forEach(el, 'input[type=checkbox]', function (input) {
                    name = input.getAttribute('name');
                    if (input.checked) {
                        values.push(input.value);
                    }
                });
                formData[name] = values;
            };
            SurveyFormDataService.prototype.getValuesFromFileUploads = function (el, formData) {
                landingpage.PageUtilities.forEach(el, 'input[type=hidden]', function (input) {
                    var identifierParts = input.getAttribute('id').split('_');
                    var fieldId = identifierParts.length > 1 ? parseInt(identifierParts[1], 10) : null;
                    if (!fieldId)
                        return;
                    var fileIds = input.value ? JSON.parse(input.value) : [];
                    if (fileIds.length > 0) {
                        if (!formData[fieldId]) {
                            formData[fieldId] = [];
                        }
                        for (var i = 0; i < fileIds.length; i++) {
                            formData[fieldId].push(fileIds[i]);
                        }
                    }
                });
            };
            return SurveyFormDataService;
        }());
        surveys.SurveyFormDataService = SurveyFormDataService;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyHiddenvalue = (function (_super) {
            __extends(SurveyHiddenvalue, _super);
            function SurveyHiddenvalue(el) {
                var _this = _super.call(this, el) || this;
                _this.init();
                return _this;
            }
            SurveyHiddenvalue.prototype.init = function () {
                var _this = this;
                var dataElementSettings = this.el.getAttribute('data-element-settings');
                var settings = JSON.parse(dataElementSettings) || {};
                var key = settings.queryStringKey;
                var form = this.el.closest('form');
                var formAction = form.getAttribute('action');
                var query = window.location.href.match(/\?(.*)/);
                if (!formAction || !query)
                    return;
                var queryStrings = query[1].split(/&/), keyValuePairs = queryStrings.filter(function (query) { return _this.getMatchingQuery(query, key); }), keyValuePair = keyValuePairs.length ? escape(keyValuePairs[0]) : '';
                if (!keyValuePair)
                    return;
                if (formAction.indexOf(keyValuePair) === -1) {
                    var escQ = escape('?');
                    var del = formAction.split(escQ).length > 1 ? escape('&') : escQ;
                    formAction = formAction + del + keyValuePair;
                }
                form.setAttribute('action', formAction);
            };
            SurveyHiddenvalue.prototype.getMatchingQuery = function (query, key) {
                var keyValue = query.split(/=/g);
                return key === keyValue[0];
            };
            return SurveyHiddenvalue;
        }(landingpage.LPComponent));
        surveys.SurveyHiddenvalue = SurveyHiddenvalue;
        window.lpFrameWork.element('landingpage-survey-hiddenvalue', function (el) { return new SurveyHiddenvalue(el); });
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyLikertValidator = (function (_super) {
            __extends(SurveyLikertValidator, _super);
            function SurveyLikertValidator() {
                return _super !== null && _super.apply(this, arguments) || this;
            }
            SurveyLikertValidator.prototype.setAriaInvalid = function () { };
            SurveyLikertValidator.prototype.addChangeListener = function () {
                var _this = this;
                this.el.addEventListener('change', function () { return _this.changed(); });
            };
            SurveyLikertValidator.prototype.changed = function () {
                var value = this.getValue();
                this.setValid();
                this.pageMessengerService.broadcast('formChanged', { prop: this.model, value: value });
            };
            SurveyLikertValidator.prototype.getValue = function () {
                var _this = this;
                var value = {};
                landingpage.PageUtilities.forEach(this.el, 'fieldset', function (fieldset) { return _this.getFieldsetValue(fieldset, value); });
                return value;
            };
            SurveyLikertValidator.prototype.setModel = function () {
                this.model = this.el.getAttribute('ng-model').replace(/^lpForm\./, '');
            };
            SurveyLikertValidator.prototype.setRequired = function () {
                this.required = this.el.getAttribute('likertrequired') === 'true';
            };
            SurveyLikertValidator.prototype.setValid = function () {
                var value = this.getValue();
                var error = this.getError(value);
                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', this.required ? error : null);
            };
            SurveyLikertValidator.prototype.getFieldsetValue = function (fieldset, value) {
                var _this = this;
                var settings = JSON.parse(fieldset.getAttribute('data-element-settings')) || {};
                var id = settings.id;
                if (id) {
                    value[id] = null;
                    landingpage.PageUtilities.forEach(fieldset, 'input[type="radio"]', function (input) { return _this.getInputValue(input, id, value); });
                }
            };
            SurveyLikertValidator.prototype.getInputValue = function (input, id, value) {
                if (input.checked) {
                    value[id] = input.value;
                }
            };
            SurveyLikertValidator.prototype.getError = function (value) {
                for (var prop in value) {
                    if (value[prop] === null) {
                        return 'likertrequired';
                    }
                }
                return null;
            };
            return SurveyLikertValidator;
        }(surveys.SurveyValidatorComponent));
        surveys.SurveyLikertValidator = SurveyLikertValidator;
        window.lpFrameWork.element('lp-survey-likert-validator', function (el) { return new SurveyLikertValidator(el); });
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyMultipleChoiceValidator = (function (_super) {
            __extends(SurveyMultipleChoiceValidator, _super);
            function SurveyMultipleChoiceValidator(el) {
                var _a;
                var _this = _super.call(this, el) || this;
                _this.otherWrapperSelector = '.other-item-wrapper';
                _this.otherBox = _this.eeElement.querySelector('input[type="text"]');
                (_a = _this.otherBox) === null || _a === void 0 ? void 0 : _a.addEventListener('blur', function () { return _this.setOtherAriaInvalid(); });
                return _this;
            }
            SurveyMultipleChoiceValidator.prototype.updateModel = function (model) {
                if (this.isOtherSelected(this.getValue())) {
                    this.updateOtherModel(model);
                }
            };
            SurveyMultipleChoiceValidator.prototype.setAriaInvalid = function () {
                var _this = this;
                setTimeout(function () {
                    var error = _this.eeElement.getAttribute('lp-has-errors');
                    if (error === 'other-required') {
                        error = '';
                    }
                    landingpage.PageUtilities.setAttribute(_this.el, 'aria-invalid', "".concat(!!error));
                    landingpage.PageUtilities.forEach(_this.eeElement, 'input[type="radio"]', function (input) { return landingpage.PageUtilities.setAttribute(input, 'aria-invalid', "".concat(!!error)); });
                }, 1);
            };
            SurveyMultipleChoiceValidator.prototype.addChangeListener = function () {
                var _this = this;
                var _a;
                if (!this.model) {
                    return;
                }
                this.el.addEventListener('change', function () { return _this.changed(); });
                var inputs = this.el.querySelectorAll('input[type=radio]');
                inputs.forEach(function (input) {
                    input.addEventListener('blur', function () { return _this.setAriaInvalid(); });
                    input.addEventListener('change', function () { return _this.setAriaInvalid(); });
                });
                (_a = this.eeElement.querySelector('.other-wrapper input[type="radio"]')) === null || _a === void 0 ? void 0 : _a.addEventListener('change', function () { return _this.changed(); });
            };
            SurveyMultipleChoiceValidator.prototype.isOtherSelected = function (value) {
                return value === "".concat(this.settings.otherIndex);
            };
            SurveyMultipleChoiceValidator.prototype.getValue = function () {
                var selected = landingpage.PageUtilities.find(this.eeElement, 'input', function (el) { return el.checked; });
                return selected === null || selected === void 0 ? void 0 : selected.value;
            };
            SurveyMultipleChoiceValidator.prototype.setModel = function () {
                var ngModel = this.el.getAttribute('ng-model');
                if (!ngModel) {
                    return;
                }
                this.model = ngModel.replace(/^lpForm\./, '');
            };
            SurveyMultipleChoiceValidator.prototype.setRequired = function () {
                if (!this.model) {
                    return;
                }
                this.required = this.el.getAttribute('required-answer') === 'true';
            };
            SurveyMultipleChoiceValidator.prototype.setAccessibility = function () {
                var inputs = this.el.querySelectorAll('input[type=radio]');
                inputs.forEach(function (x) {
                    var label = document.querySelector("[for=\"".concat(x.getAttribute('id'), "\"]"));
                    if (label)
                        x.setAttribute('aria-label', label.innerText);
                });
            };
            SurveyMultipleChoiceValidator.prototype.setOtherAriaInvalid = function () {
                var error = this.eeElement.querySelector('.other-wrapper').getAttribute('lp-has-errors');
                landingpage.PageUtilities.setAttribute(this.otherBox, 'aria-invalid', "".concat(!!error));
            };
            SurveyMultipleChoiceValidator.prototype.setValid = function () {
                if (!this.model) {
                    return;
                }
                var value = this.getValue();
                var error = !this.required || value !== undefined ? null : 'radio';
                var otherBox = this.eeElement.querySelector('input[type="text"]');
                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', error);
                if (this.otherIndex && !error && otherBox) {
                    var otherError = (this.otherIndex && value === this.otherIndex && !this.otherInput.value) ? 'radio' : null;
                    landingpage.PageUtilities.setAttribute(this.eeElement.querySelector('.other-wrapper'), 'lp-has-errors', otherError);
                }
            };
            return SurveyMultipleChoiceValidator;
        }(surveys.SurveyOtherOptionValidator));
        surveys.SurveyMultipleChoiceValidator = SurveyMultipleChoiceValidator;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
;
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyOpinionTemplate = (function () {
            function SurveyOpinionTemplate() {
            }
            SurveyOpinionTemplate.getTemplate = function (type) {
                if (type === 'slider') {
                    return SurveyOpinionTemplate.sliderTemplate;
                }
            };
            SurveyOpinionTemplate.sliderTemplate = "<div class=\"opinion-slider-directive\">\n            <div class=\"track\">\n                <div ng-style=\"{ 'left': percent + '%' }\" class=\"slider\"></div>\n            </div>\n        </div>";
            return SurveyOpinionTemplate;
        }());
        surveys.SurveyOpinionTemplate = SurveyOpinionTemplate;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
var landingpages;
(function (landingpages) {
    var sharing;
    (function (sharing) {
        var CookieManager = (function () {
            function CookieManager(id) {
                this.completeName = "".concat(id, "-Completed");
                this.dismissedName = "".concat(id, "-Dismissed");
                this.reopenAfterDismissedDelayInDays = "".concat(id, "-ReopenDismissedDays");
                this.pageViewsName = "".concat(id, "-PageViews");
            }
            CookieManager.prototype.read = function (name) {
                var nameEQ = "".concat(name, "="), cookies = document.cookie.split(';');
                for (var i = 0; i < cookies.length; i++) {
                    var cookie = cookies[i];
                    while (cookie.charAt(0) === ' ')
                        cookie = cookie.substring(1, cookie.length);
                    if (cookie.indexOf(nameEQ) === 0)
                        return cookie.substring(nameEQ.length, cookie.length);
                }
                return null;
            };
            CookieManager.prototype.write = function (name, value, days) {
                var expires = "";
                if (days) {
                    var date = new Date();
                    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
                    expires = "; expires=".concat(date.toUTCString());
                }
                document.cookie = "".concat(name, "=").concat(value).concat(expires, ";secure=true; path=/");
            };
            CookieManager.prototype.clear = function (name) {
                document.cookie = "".concat(name, "=;secure=true; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;");
            };
            return CookieManager;
        }());
        sharing.CookieManager = CookieManager;
    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
})(landingpages || (landingpages = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var CookieManager = landingpages.sharing.CookieManager;
        var SurveyService = (function () {
            function SurveyService() {
                this.multipleAllowed = false;
                this.showContent = false;
                this.metaData = this.getMetaData();
                this.posting = false;
                this.surveyFormDataService = surveys.SurveyFormDataService.getService();
                this.surveyFileUploadStateService = landingpage.SurveyFileUploadStateService.getService();
                this.setPageId();
                this.setMultipleAllowed();
                this.setShowContent();
                this.cookieManager = new CookieManager(this.pageID);
                this.checkRespondentId();
                this.clearCookie();
            }
            SurveyService.getService = function () {
                if (!this.serviceInstance) {
                    this.serviceInstance = new SurveyService();
                }
                return this.serviceInstance;
            };
            SurveyService.prototype.clearCookie = function () {
                if (!this.multipleAllowed)
                    return;
                this.cookieManager.clear("responder-".concat(this.pageID));
            };
            SurveyService.prototype.setCompletedCookie = function () {
                if (!this.multipleAllowed) {
                    this.cookieManager.write("completed-".concat(this.pageID), 'true', 365);
                }
            };
            SurveyService.prototype.isSurveyCompleted = function () {
                if (!this.multipleAllowed) {
                    if (/__lpcomplete\=true/.test(document.location.search))
                        return true;
                    return this.cookieManager.read("completed-".concat(this.pageID)) === 'true';
                }
                return false;
            };
            SurveyService.prototype.postData = function (form, lpForm, json, callback) {
                if (this.posting || this.surveyFileUploadStateService.getUploadingState())
                    return;
                var formData = this.surveyFormDataService.getData(lpForm), action = form.getAttribute('action'), random = Math.random(), urlAndQuery = action.split('?'), urlArr = urlAndQuery[0].split('/'), query = "pUrl=".concat(window.encodeURIComponent(this.getLocationHref()));
                this.posting = true;
                var checkboxDataFieldArrayJson = this.getCheckboxDataFieldJSON();
                var xhttp = new XMLHttpRequest();
                xhttp.onreadystatechange = function () {
                    if (xhttp.readyState == 4 && xhttp.status == 200) {
                        callback();
                    }
                };
                xhttp.open('POST', "/Response/SurveyLP/".concat(urlArr[urlArr.length - 1], "?").concat(query, "&random=").concat(random), true);
                xhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
                xhttp.setRequestHeader('Cache-Control', 'no-cache, no-store, max-age=0, must-revalidate');
                xhttp.send(this.transformRequest(formData, json, checkboxDataFieldArrayJson));
            };
            SurveyService.prototype.getCheckboxDataFieldJSON = function () {
                var checkboxes = document.querySelectorAll('[lp-survey-checkbox-validator] .option-wrapper[data-element-settings]');
                var dataValues = [];
                checkboxes.forEach(function (element) {
                    var data = JSON.parse(element.getAttribute('data-element-settings'));
                    var datafield = data.dataField;
                    if (datafield) {
                        var checked = element.querySelector('input').checked;
                        dataValues.push({ datafield: datafield, value: checked });
                    }
                });
                var response = JSON.stringify(dataValues);
                return response;
            };
            SurveyService.prototype.transformRequest = function (obj, json, checkboxDataFieldArrayJson) {
                var valueArr = [];
                for (var prop in obj) {
                    var val = obj[prop];
                    if (!!val) {
                        if (typeof val === 'string') {
                            this.addProperty(valueArr, prop, val);
                        }
                        else {
                            for (var i = 0; i < val.length; i++)
                                this.addProperty(valueArr, prop, val[i]);
                        }
                    }
                }
                var result = valueArr.join('&');
                json.landing_page_id = this.metaData.id;
                json.survey_id = this.metaData.survey.surveyId;
                if (window.enableInsightPost && this.metaData.survey.submitActions.allowInsights) {
                    result += "&insights=".concat(encodeURIComponent(JSON.stringify(json)));
                }
                result += "&dataFieldsJson=".concat(encodeURIComponent(checkboxDataFieldArrayJson));
                return result;
            };
            SurveyService.prototype.addProperty = function (valueArr, prop, val) {
                valueArr.push("".concat(encodeURIComponent(prop), "=").concat(encodeURIComponent(val)));
            };
            SurveyService.prototype.setPageId = function () {
                var locationParts = window.location.pathname.split('/').filter(function (el) { return el.trim().length; });
                this.pageID = (locationParts.length >= 2) ? locationParts[1] : '';
            };
            SurveyService.prototype.getMetaData = function () {
                var metaScript = document.querySelector('script[name="meta"]');
                if (!metaScript)
                    return;
                return JSON.parse(metaScript.textContent) || {};
            };
            SurveyService.prototype.setMultipleAllowed = function () {
                if (this.metaData && this.metaData.survey && this.metaData.survey.submitActions) {
                    this.multipleAllowed = this.metaData.survey.submitActions.multiple === 'multipleTimes';
                }
            };
            SurveyService.prototype.setShowContent = function () {
                if (this.metaData && this.metaData.survey && this.metaData.survey.submitActions) {
                    this.showContent = this.metaData.survey.submitActions.redirectType === landingpage.confirmation.ConfirmationType.showContent;
                }
            };
            SurveyService.prototype.checkRespondentId = function () {
                var _a;
                var resId = ((_a = document.querySelector('[name=respondent]')) === null || _a === void 0 ? void 0 : _a.value) || null;
                if (!resId || resId.indexOf('$RESPONDERGUID$') !== -1)
                    return;
                var cookieName = "respondentid".concat(this.pageID), cookie = this.cookieManager.read(cookieName), cookieCount = "".concat(cookieName, "count"), ccount = Number(this.cookieManager.read(cookieCount)) || 0, qcount = 0;
                if (/pfredir=\d+/.test(document.location.href)) {
                    qcount = Number(document.location.href.match(/pfredir=(\d+)/)[1]);
                }
                else {
                    this.cookieManager.write(cookieCount, 0);
                    ccount = 0;
                }
                if (resId === cookie) {
                    if (qcount > ccount) {
                        this.cookieManager.write(cookieCount, qcount);
                    }
                    else {
                        var location_1 = document.location.href.replace(/[&]?pfredir=\d+/, '');
                        location_1 = location_1.replace(/\?$/, '');
                        document.location.href = location_1 + (/\?/.test(location_1) ? '&' : '?') + 'pfredir=' + (qcount + 1);
                    }
                }
                else {
                    this.cookieManager.write(cookieCount, qcount);
                    this.cookieManager.write(cookieName, resId, 30);
                }
            };
            SurveyService.prototype.getLocationHref = function () {
                var href = document.location.href;
                var hash = document.location.hash;
                return !!hash ? href.replace(hash.split('?')[0], '') : href;
            };
            return SurveyService;
        }());
        surveys.SurveyService = SurveyService;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
String.prototype.isEmailAddress = function () {
    var emailRegex = new RegExp('^(?!\\.)(\\([A-Za-z0-9]+\\))?[\\u00C0-\\u00FFA-Za-z0-9_\u0027%\\-\\\u0026\\!\\#\\$\\*\\+\\/\\=\\?\\^\\`\\{\\}\\~\\|]+(\\.[\\u00C0-\\u00FFA-Za-z0-9_\u0027%\\-\\\u0026\\!\\#\\$\\*\\+\\/\\=\\?\\^\\`\\{\\}\\~\\|]+)*(\\([A-Za-z0-9]+\\))?@([A-Za-z0-9][A-Za-z0-9-]*\\.)+[A-Za-z0-9-]{2,}$');
    return emailRegex.test(this);
};
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyTextboxValidator = (function (_super) {
            __extends(SurveyTextboxValidator, _super);
            function SurveyTextboxValidator(el) {
                var _this = _super.call(this, el) || this;
                _this.el.querySelectorAll('[lp-survey-phone-number],[ng-intl-tel-input]').forEach(function (x) { return new surveys.SurveyPhoneNumber(x); });
                return _this;
            }
            SurveyTextboxValidator.prototype.updateModel = function (model) {
                model[this.model] = this.value;
            };
            Object.defineProperty(SurveyTextboxValidator.prototype, "value", {
                get: function () {
                    var value = this.getValue();
                    if (this.type === 'number') {
                        var numberVal = parseFloat(value);
                        value = !isNaN(numberVal) ? numberVal : '';
                    }
                    else if (this.type === 'phone') {
                        value = landingpage.LPComponent.getComponent(this.getPhoneInput()).getNumber();
                    }
                    return value;
                },
                enumerable: false,
                configurable: true
            });
            SurveyTextboxValidator.prototype.setAriaInvalid = function () {
                var error = this.eeElement.getAttribute('lp-has-errors');
                landingpage.PageUtilities.setAttribute(this.input, 'aria-invalid', "".concat(!!error));
            };
            SurveyTextboxValidator.prototype.addChangeListener = function () {
                var _this = this;
                if (this.type === 'phone') {
                    setTimeout(function () { var _a; return (_a = landingpage.LPComponent.getComponent(_this.getPhoneInput())) === null || _a === void 0 ? void 0 : _a.setCallback(function () { return _this.changed(); }); }, 1);
                }
                else {
                    this.input.addEventListener('mouseup', function () { return _this.changed(); });
                    this.input.addEventListener('keyup', function () { return _this.changed(); });
                    this.input.addEventListener('change', function () { return _this.changed(); });
                    this.input.addEventListener('paste', function () { return setTimeout(function () { return _this.changed(); }, 1); });
                    this.input.addEventListener('blur', function () { return _this.setAriaInvalid(); });
                }
            };
            SurveyTextboxValidator.prototype.changed = function () {
                this.setValid();
                this.pageMessengerService.broadcast('formChanged', { prop: this.model, value: this.value });
            };
            SurveyTextboxValidator.prototype.getValue = function () {
                return this.input.value;
            };
            SurveyTextboxValidator.prototype.setModel = function () {
                this.input = this.el.querySelector('input,textarea');
                this.type = this.input.getAttribute('type');
                if (this.getPhoneInput()) {
                    this.type = 'phone';
                }
                this.model = this.input.getAttribute('ng-model').replace(/^lpForm\./, '');
            };
            SurveyTextboxValidator.prototype.setRequired = function () {
                var _a;
                this.required = ((_a = this.settings) === null || _a === void 0 ? void 0 : _a.requiredAnswer) || false;
            };
            SurveyTextboxValidator.prototype.setAccessibility = function () {
                var label = document.querySelector("[for=".concat(this.input.getAttribute('id'), "]"));
                if (label) {
                    this.input.setAttribute('aria-label', label.innerText);
                }
            };
            SurveyTextboxValidator.prototype.setValid = function () {
                var value = this.getValue();
                var error = null;
                if (this.required) {
                    if (this.type === 'number') {
                        error = this.getNumberError(value);
                    }
                    else if (this.type === 'email') {
                        if (!value) {
                            error = 'required';
                        }
                        else {
                            error = !this.input.value.isEmailAddress() ? 'email' : null;
                        }
                    }
                    else if (this.type === 'phone') {
                        if (!value) {
                            error = 'required';
                        }
                        else {
                            error = (this.input.getAttribute('phone-input-valid') !== 'true') ? 'intlTelInput' : null;
                        }
                    }
                    else {
                        error = !value ? 'required' : null;
                    }
                }
                else if (this.type === 'phone' && value) {
                    error = (this.input.getAttribute('phone-input-valid') !== 'true') ? 'intlTelInput' : null;
                }
                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', error);
            };
            SurveyTextboxValidator.prototype.getNumberError = function (value) {
                var numberVal = parseFloat(value);
                var min = parseInt(this.input.getAttribute('min'));
                var max = parseInt(this.input.getAttribute('max'));
                if (this.input.validity.badInput) {
                    return 'number';
                }
                else if (value === '') {
                    return 'required';
                }
                if (numberVal < min) {
                    return 'min';
                }
                if (numberVal > max) {
                    return 'max';
                }
                return null;
            };
            SurveyTextboxValidator.prototype.getPhoneInput = function () {
                return this.el.querySelector('[lp-survey-phone-number],[ng-intl-tel-input]');
            };
            return SurveyTextboxValidator;
        }(surveys.SurveyValidatorComponent));
        surveys.SurveyTextboxValidator = SurveyTextboxValidator;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var DataFieldType;
        (function (DataFieldType) {
            DataFieldType[DataFieldType["String"] = 1] = "String";
            DataFieldType[DataFieldType["Numeric"] = 2] = "Numeric";
            DataFieldType[DataFieldType["Date"] = 3] = "Date";
            DataFieldType[DataFieldType["Boolean"] = 4] = "Boolean";
        })(DataFieldType || (DataFieldType = {}));
        var SurveysFormCtrl = (function () {
            function SurveysFormCtrl() {
                var _this = this;
                this.inputUpdates = [];
                this.autoSave = false;
                this.validators = [];
                this.confirmationService = landingpage.confirmation.ConfirmationService.getService();
                this.pageMessengerService = landingpage.PageMessengerService.getService();
                this.pageValidityService = landingpage.paging.PageValidityService.getService();
                this.semanticFormData = surveys.SemanticFormDataService.getService();
                this.surveyAutoSaveService = surveys.SurveyAutoSaveService.getService();
                this.surveyService = surveys.SurveyService.getService();
                this.fileUploadService = landingpage.SurveyFileUploadService.getService();
                var meta = this.surveyService.metaData;
                this.landingPageId = meta ? meta.id : 0;
                this.lpForm = this.updateDefaults(window.lpFormDefaults);
                this.pageMessengerService.setData('lpForm', this.lpForm);
                this.initAutoSave(meta);
                this.initInputs();
                this.initFormDefaults(meta);
                this.initValidators();
                if (this.surveyService.isSurveyCompleted()) {
                    if (meta.survey.submitActions.redirectType > 1)
                        this.redirect(meta);
                    this.confirmationService.showContent();
                    this.pageMessengerService.listen('spacetimeBlockLoaded', function () { return _this.confirmationService.showContent(); });
                }
                var form = document.querySelector('[name=lpsurveyform]');
                if (form) {
                    form.addEventListener('submit', function (ev) { return _this.checkInputsOnLastPage(ev); });
                }
                window.lpFormSubmitForm = function () { return _this.checkInputsOnLastPage(); };
                this.pageMessengerService.listen('formChanged', function (data) {
                    if (data) {
                        _this.lpForm[data.prop] = data.value;
                        if (_this.autoSave) {
                            _this.surveyAutoSaveService.saveData(_this.landingPageId, _this.lpForm);
                        }
                    }
                });
            }
            SurveysFormCtrl.prototype.initValidators = function () {
                var validators = this.validators;
                document.querySelectorAll('[landingpage-survey-textbox]').forEach(function (x) { return validators.push(new surveys.SurveyTextboxValidator(x)); });
                document.querySelectorAll('[lp-survey-checkbox-validator]').forEach(function (x) { return validators.push(new surveys.SurveyCheckboxValidator(x)); });
                document.querySelectorAll('[landingpage-survey-consent]').forEach(function (x) { return validators.push(new surveys.SurveyConsentValidator(x)); });
                document.querySelectorAll('[lp-survey-dropdown-validator]').forEach(function (x) { return validators.push(new surveys.SurveyDropdownValidator(x)); });
                document.querySelectorAll('[lp-survey-multiple-choice-validator]').forEach(function (x) { return validators.push(new surveys.SurveyMultipleChoiceValidator(x)); });
                document.querySelectorAll('[landingpage-survey-opinion]').forEach(function (x) { return validators.push(new surveys.SurveyOpinionValidator(x)); });
                document.querySelectorAll('[landingpage-survey-fileupload]').forEach(function (x) { return validators.push(new surveys.SurveyFileUploadValidator(x)); });
            };
            SurveysFormCtrl.prototype.redirect = function (meta) {
                if (meta.survey.submitActions.redirectType === 2) {
                    window.top.location.href = meta.survey.submitActions.redirectUrl;
                }
                else {
                    window.top.location.href = meta.survey.submitActions.landingPage.PublishedUrl;
                }
            };
            SurveysFormCtrl.prototype.initAutoSave = function (meta) {
                if (meta && meta.survey && meta.survey.autoSave && meta.survey.autoSave.autoSave) {
                    var dataFromStorage = this.surveyAutoSaveService.loadData(this.landingPageId);
                    if (dataFromStorage) {
                        for (var prop in this.lpForm) {
                            if (dataFromStorage[prop] === undefined) {
                                dataFromStorage[prop] = this.lpForm[prop];
                            }
                        }
                        this.lpForm = dataFromStorage;
                        this.pageMessengerService.setData('lpForm', this.lpForm);
                    }
                    this.autoSave = meta.survey.autoSave && meta.survey.autoSave.autoSave;
                }
                else {
                    this.surveyAutoSaveService.clearData(this.landingPageId);
                    this.fileUploadService.clearData(this.landingPageId);
                }
            };
            SurveysFormCtrl.prototype.checkInputsOnLastPage = function (ev) {
                var _this = this;
                if (ev === void 0) { ev = null; }
                var form = document.querySelector('[name=lpsurveyform]');
                if (!form)
                    return;
                var pages = form.querySelectorAll('[ee-page]'), validationTarget = pages.length ? pages[pages.length - 1] : form, invalidInputsOnLastPage = this.pageValidityService.getInvalidInputs(validationTarget);
                if (ev)
                    ev.preventDefault();
                if (invalidInputsOnLastPage.length) {
                    this.pageValidityService.markPageInvalid(validationTarget);
                    window.grecaptcha && window.grecaptcha.reset();
                }
                else {
                    this.ensureLpFormUpToDate();
                    var semanticData_1 = this.semanticFormData.get(this.lpForm);
                    this.surveyService.postData(form, this.lpForm, semanticData_1.form, function () { return _this.completeForm(semanticData_1); });
                }
            };
            SurveysFormCtrl.prototype.ensureLpFormUpToDate = function () {
                var _this = this;
                this.validators.forEach(function (x) { return x.updateModel(_this.lpForm); });
            };
            SurveysFormCtrl.prototype.completeForm = function (result) {
                this.clearData();
                this.surveyService.clearCookie();
                this.surveyService.setCompletedCookie();
                window.sendMessageOnLoad.sendCompleteMessage(result);
                this.confirmationService.doConfirmation(this.surveyService.metaData);
            };
            SurveysFormCtrl.prototype.clearData = function () {
                if (!this.landingPageId === null)
                    return;
                this.surveyAutoSaveService.clearData(this.landingPageId);
                this.fileUploadService.clearData(this.landingPageId);
            };
            SurveysFormCtrl.prototype.updateDefaults = function (defaults) {
                for (var key in defaults) {
                    if (/^(dropdown|radio)\d+/.test(key) && /##\$.*##\$.*/.test(defaults[key])) {
                        var value = defaults[key], parts = value.split(/##\$/);
                        if (parts[1]) {
                            this.inputUpdates.push({
                                type: key.replace(/\d+/, ''),
                                id: key.match(/\d+/)[0],
                                datafield: parts[1],
                                default: parts[2]
                            });
                            defaults[key] = null;
                        }
                        else {
                            defaults[key] = parts[2];
                        }
                    }
                }
                return defaults;
            };
            SurveysFormCtrl.prototype.initFormDefaults = function (meta) {
                for (var name_1 in this.lpForm) {
                    var type = name_1.match(/^[a-z]*/)[0], value = this.lpForm[name_1];
                    switch (type) {
                        case 'textbox':
                            this.initByValue(name_1, value);
                            break;
                        case 'radio':
                            this.initRadio(name_1, value);
                            break;
                        case 'dropdown':
                            this.initByValue(name_1, value);
                            break;
                        case 'checkbox':
                            this.initCheckbox(name_1, value);
                            break;
                        case 'consent':
                            this.initConsent(name_1, value);
                            break;
                        case 'prefs':
                            this.initPrefs(value);
                            break;
                        case 'file':
                            this.initFileUploadIds(meta, name_1, value);
                            break;
                    }
                }
            };
            SurveysFormCtrl.prototype.initByValue = function (name, value) {
                var el = document.querySelector("[ng-model=\"lpForm.".concat(name, "\"]"));
                if (el)
                    el.value = value;
            };
            SurveysFormCtrl.prototype.initRadio = function (name, value) {
                var el = document.querySelector("[ng-model=\"lpForm.".concat(name, "\"][value=\"").concat(value, "\""));
                if (el)
                    el.checked = true;
            };
            SurveysFormCtrl.prototype.initCheckbox = function (name, checkboxes) {
                for (var key in checkboxes) {
                    var checkbox = checkboxes[key];
                    if (typeof (checkbox) === "boolean") {
                        checkbox = { id: key, value: checkbox };
                    }
                    if (checkbox) {
                        var el = document.querySelector("[ng-model=\"lpForm.".concat(name, "[").concat(checkbox.id, "]\"]"));
                        if (el) {
                            var dfval = checkbox.value.toString().toLowerCase();
                            if (dfval === null || dfval === undefined || dfval === '') {
                                var eeval = checkbox.eeval.toString().toLowerCase();
                                el.checked = eeval === "true" || eeval === "yes" || eeval === "1";
                            }
                            else {
                                el.checked = dfval === "true" || dfval === "yes" || dfval === "1";
                            }
                            this.lpForm[name][key] = el.checked;
                        }
                    }
                }
            };
            SurveysFormCtrl.prototype.initConsent = function (name, value) {
                var el = document.querySelector("[ng-model=\"lpForm.".concat(name, "\"]"));
                if (el)
                    el.checked = value;
            };
            SurveysFormCtrl.prototype.initPrefs = function (value) {
                var _loop_1 = function (prop) {
                    var els = document.querySelectorAll("[ng-model=\"lpForm.prefs.".concat(prop, "\"]"));
                    els.forEach(function (el) { return el.checked = value[prop]; });
                };
                for (var prop in value) {
                    _loop_1(prop);
                }
            };
            SurveysFormCtrl.prototype.initFileUploadIds = function (meta, name, value) {
                var el = document.querySelector("[ng-model=\"lpForm.".concat(name, "\"]"));
                if (el && meta.survey.submitActions.multiple === "onceOnly")
                    el.value = value;
            };
            SurveysFormCtrl.prototype.initInputs = function () {
                if (!this.lpForm)
                    return;
                for (var i = 0; i < this.inputUpdates.length; i++) {
                    var update = this.inputUpdates[i];
                    if (!this.lpForm[update.type + update.id]) {
                        switch (update.type) {
                            case 'dropdown':
                                this.updateSelect(update);
                                break;
                            case 'radio':
                                this.updateRadio(update);
                                break;
                        }
                    }
                }
            };
            SurveysFormCtrl.prototype.updateSelect = function (details) {
                var el = document.querySelector("#dropdown-".concat(details.id)), options = el.querySelectorAll('option'), found = this.getChosenOption(options, details), value = found.length ? found[0].getAttribute('value') : details.default;
                if (!found.length && details.datafield && landingpage.PageUtilities.nextAll(el, 'other-wrapper').length) {
                    value = options[options.length - 1].getAttribute('value');
                    var name_2 = landingpage.PageUtilities.nextAll(el, 'other-wrapper')[0].querySelector('input').getAttribute('name');
                    this.lpForm["textbox".concat(name_2)] = details.datafield;
                }
                this.lpForm["dropdown".concat(details.id)] = value;
            };
            SurveysFormCtrl.prototype.updateRadio = function (details) {
                var options = document.querySelectorAll("[name=\"".concat(details.id, "\"]")), found = this.getChosenOption(options, details), value = found.length ? found[0].getAttribute('value') : details.default, fieldset = options[0].closest('fieldset'), hasOtherWrapper = !!fieldset.querySelectorAll('.other-wrapper').length;
                if (!found.length && details.datafield && hasOtherWrapper) {
                    value = options[options.length - 1].getAttribute('value');
                    var name_3 = fieldset.querySelector('.other-wrapper input[type="text"],.other-wrapper textarea').getAttribute('name');
                    this.lpForm["textbox".concat(name_3)] = details.datafield;
                }
                this.lpForm["radio".concat(details.id)] = value;
            };
            SurveysFormCtrl.prototype.getChosenOption = function (options, details) {
                var _this = this;
                var eeEl = options[0].closest('.ee_element');
                var checkForYesNoValues = (this.getFieldType(eeEl) === DataFieldType.Boolean);
                return landingpage.PageUtilities.nodeListToArray(options).filter(function (el) {
                    var id = el.getAttribute('id'), text = (el.tagName.toLowerCase() === 'option') ? el.textContent : document.querySelector("[for=\"".concat(id, "\"]")).textContent, value = text.trim();
                    return (checkForYesNoValues) ? _this.updateYesNoValue(value, details.datafield) : text === details.datafield;
                });
            };
            SurveysFormCtrl.prototype.getFieldType = function (el) {
                var mappedFieldType = el.getAttribute('mapped-field-type');
                if (mappedFieldType) {
                    return parseInt(mappedFieldType);
                }
                else {
                    return DataFieldType.Boolean;
                }
            };
            SurveysFormCtrl.prototype.updateYesNoValue = function (text, datafield) {
                if (/(\byes\b|\btrue\b|\bon\b)/i.test(text))
                    text = 'true';
                if (/(\bno\b|\bfalse\b|\boff\b)/i.test(text))
                    text = 'false';
                if (text === datafield)
                    return true;
                return false;
            };
            return SurveysFormCtrl;
        }());
        window.lpFrameWork.element('ng-controller', function () { return new SurveysFormCtrl(); });
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
window.onpageshow = function (event) {
    if (event.persisted) {
        window.location.reload();
    }
};
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SemanticFormDataService = (function () {
            function SemanticFormDataService() {
            }
            SemanticFormDataService.getService = function () {
                if (!this.serviceInstance) {
                    this.serviceInstance = new SemanticFormDataService();
                }
                return this.serviceInstance;
            };
            SemanticFormDataService.prototype.get = function (lpForm) {
                var formData = {
                    contactEmail: null,
                    dataFields: {},
                    form: {},
                    formRaw: {}
                };
                for (var prop in lpForm) {
                    var el = document.querySelector("[ng-model='lpForm.".concat(prop, "']")), element = (el === null || el === void 0 ? void 0 : el.closest('.ee_element')) || null, data = element ? JSON.parse(element.getAttribute('data-element-settings')) : {};
                    if (!$(el).closest('.other-wrapper').length) {
                        if (/^checkbox\d+$/i.test(prop)) {
                            this.addCheckboxData(formData.form, lpForm, prop);
                        }
                        else if (prop !== 'prefs') {
                            var val = this.getValue(lpForm[prop] || '', data, lpForm);
                            if (data.questionType === 'contact-email' || data.questionType === 'channel-email')
                                formData.contactEmail = val;
                            this.addDatafield(formData.dataFields, data, val);
                            this.addFormfield(formData.form, element, val);
                            this.addFormfieldRaw(formData.formRaw, prop, val);
                        }
                    }
                }
                return formData;
            };
            SemanticFormDataService.prototype.getValue = function (value, data, lpForm) {
                if (data.list) {
                    if (parseInt(value) === data.otherIndex) {
                        return lpForm["textbox".concat(data.otherId)] || '';
                    }
                    var item = data.list.filter(function (item) { return item.value > -1 && item.value === parseInt(value); });
                    return item && item.length ? item[0].text : '';
                }
                return value;
            };
            SemanticFormDataService.prototype.addDatafield = function (form, data, val) {
                if (!data.dataField)
                    return;
                form[data.dataField.toLowerCase()] = val;
            };
            SemanticFormDataService.prototype.addFormfield = function (form, element, val) {
                if (!element)
                    return;
                var labelText = element.querySelector('legend,label'), label = labelText ? this.makeName(labelText) : this.nameFromInput(element);
                if (label) {
                    if (val instanceof Date) {
                        val = val.toISOString();
                    }
                    form[label] = val;
                }
            };
            SemanticFormDataService.prototype.addFormfieldRaw = function (form, prop, val) {
                form[prop] = val;
            };
            SemanticFormDataService.prototype.addCheckboxData = function (form, lpForm, prop) {
                var _this = this;
                var _a;
                var result = {}, boxes = (_a = document.querySelector("[name=".concat(prop, "]"))) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.ee_list_item_label'), legend = document.querySelector(".fieldset-flex-container:has([name=".concat(prop, "]) legend")), data = $(boxes).closest('.ee_element').data('elementSettings');
                if (!boxes || !boxes.length)
                    return;
                boxes.forEach(function (x) {
                    var label = x.querySelector('label'), selected = x.querySelector('[type=checkbox]').checked;
                    if (label) {
                        result[_this.makeName(label)] = selected;
                    }
                    else {
                        result[_this.nameFromInputId(x)] = selected;
                    }
                });
                if (data.otherIndex && lpForm.hasOwnProperty("textbox".concat(data.otherId))) {
                    var otherVal = lpForm["textbox".concat(data.otherId)], otherText = data.otherText;
                    result[this.toSnakeCase(otherText)] = otherVal;
                }
                if (legend) {
                    form[this.makeName(legend)] = result;
                }
            };
            SemanticFormDataService.prototype.makeName = function (el) {
                var _a;
                var settings = el && ((_a = $(el).parents('.ee_element,.option-wrapper[data-element-settings]')) === null || _a === void 0 ? void 0 : _a.data('element-settings'));
                return (settings === null || settings === void 0 ? void 0 : settings.fieldId) || this.toSnakeCase(el.textContent) || el.getAttribute('for');
            };
            SemanticFormDataService.prototype.nameFromInput = function (el) {
                var placeholderEl = el.querySelector('[placeholder]');
                return placeholderEl ? this.toSnakeCase(placeholderEl.getAttribute('placeholder')) : '';
            };
            SemanticFormDataService.prototype.nameFromInputId = function (el) {
                var input = el.querySelector('input');
                return input ? this.toSnakeCase(input.getAttribute('id')) : '';
            };
            SemanticFormDataService.prototype.toSnakeCase = function (value) {
                return value.replace(/\s+/g, '_').replace(/[^a-z0-9_]/gi, '').toLowerCase();
            };
            return SemanticFormDataService;
        }());
        surveys.SemanticFormDataService = SemanticFormDataService;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var confirmation;
    (function (confirmation) {
        var ConfirmationType;
        (function (ConfirmationType) {
            ConfirmationType[ConfirmationType["showContent"] = 1] = "showContent";
            ConfirmationType[ConfirmationType["url"] = 2] = "url";
            ConfirmationType[ConfirmationType["landingPage"] = 3] = "landingPage";
        })(ConfirmationType = confirmation.ConfirmationType || (confirmation.ConfirmationType = {}));
        var ConfirmationService = (function () {
            function ConfirmationService() {
                this.pageService = landingpage.paging.PageService.getService();
                this.pageData = this.pageService.getCurrentPageData();
            }
            ConfirmationService.getService = function () {
                if (!this.serviceInstance) {
                    this.serviceInstance = new ConfirmationService();
                }
                return this.serviceInstance;
            };
            ConfirmationService.prototype.doConfirmation = function (metaData) {
                var submitActions = metaData.survey.submitActions;
                switch (submitActions.redirectType) {
                    case ConfirmationType.url:
                        this.redirectToUrl(submitActions.redirectUrl);
                        return;
                    case ConfirmationType.landingPage:
                        this.redirectToUrl(submitActions.landingPage.PublishedUrl);
                        return;
                    case ConfirmationType.showContent:
                        this.showContent();
                        return;
                }
            };
            ConfirmationService.prototype.showContent = function () {
                this.hideQuestionsNotInSections();
                this.hideSections();
                this.hideActionButtons();
                this.showConfirmation();
                this.pageService.performScroll();
            };
            ConfirmationService.prototype.redirectToUrl = function (url) {
                window.top.location.href = url;
            };
            ConfirmationService.prototype.hideQuestionsNotInSections = function () {
                var questionTypes = '.ee_textbox,.ee_dropdown,.ee_multiplechoice,.ee_checkbox,.ee_likert,.ee_opinion,.ee_datetime,.ee_consent,.ee_hiddenvalue,.ee_fieldgroup,.ee_progress,.ee_preferences';
                landingpage.PageUtilities.forEach(document, questionTypes, function (el) {
                    if (!el.closest('[ee-page]')) {
                        landingpage.PageUtilities.showHide(el, false);
                    }
                });
            };
            ConfirmationService.prototype.hideSections = function () {
                landingpage.PageUtilities.forEach(document, '[ee-page]', function (el) { return landingpage.PageUtilities.showHide(el, false); });
                this.pageData.hideAllPages = true;
            };
            ConfirmationService.prototype.hideActionButtons = function () {
                landingpage.PageUtilities.forEach(document, '.ee_actionbuttons', function (el) { return landingpage.PageUtilities.showHide(el, false); });
            };
            ConfirmationService.prototype.showConfirmation = function () {
                landingpage.PageUtilities.forEach(document, '.ee_confirmation', function (el) { return el.style.display = 'block'; });
            };
            return ConfirmationService;
        }());
        confirmation.ConfirmationService = ConfirmationService;
    })(confirmation = landingpage.confirmation || (landingpage.confirmation = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var DatetimeElementService = (function () {
            function DatetimeElementService() {
            }
            DatetimeElementService.prototype.initElement = function (element, showDate, showTime, id) {
                if (showDate && showTime) {
                    this.updateInput(element, '.datetime-datetime', id, 'datetime');
                    element.querySelector('.datetime-date').remove();
                    element.querySelector('.datetime-time').remove();
                }
                else if (!showDate) {
                    this.updateInput(element, '.datetime-time', id, 'time');
                    element.querySelector('.datetime-datetime').remove();
                    element.querySelector('.datetime-date').remove();
                }
                else if (!showTime) {
                    this.updateInput(element, '.datetime-date', id, 'date');
                    element.querySelector('.datetime-datetime').remove();
                    element.querySelector('.datetime-time').remove();
                }
            };
            DatetimeElementService.prototype.updateInput = function (element, className, id, displayType) {
                var el = element.querySelector(className);
                el.setAttribute('id', "".concat(displayType, "-").concat(id));
                el.setAttribute('name', id);
            };
            return DatetimeElementService;
        }());
        surveys.DatetimeElementService = DatetimeElementService;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyDatetimeInput = (function (_super) {
            __extends(SurveyDatetimeInput, _super);
            function SurveyDatetimeInput(el) {
                var _this = _super.call(this, el) || this;
                _this.datetime = {};
                _this.parts = ['date', 'time', 'datetime'];
                _this.pageMessengerService = new landingpage.PageMessengerService();
                _this.datetimeElementService = new surveys.DatetimeElementService();
                _this.eeElement = _this.el.closest('.ee_element');
                _this.el.innerHTML = surveys.SurveyDatetimeTemplate.getTemplate();
                _this.id = _this.el.getAttribute('input-id');
                _this.setElement();
                _this.setDisplayOption();
                _this.setInputStyle();
                _this.datetimeElementService.initElement(_this.el, _this.showDate, _this.showTime, _this.id);
                _this.parts.forEach(function (item) { return _this.addListeners(item); });
                _this.initDate();
                _this.checkHideElement();
                _this.validate();
                return _this;
            }
            SurveyDatetimeInput.prototype.initDate = function () {
                var lpForm = this.pageMessengerService.getData('lpForm');
                var date = lpForm["datetime".concat(this.id)];
                if (typeof (date) === 'string' && date.length) {
                    date = new Date(date.replace(/Z$/i, '').replace(/ /g, 'T'));
                }
                if (date instanceof Date && !isNaN(date.getDate())) {
                    this.setDate(date);
                }
            };
            SurveyDatetimeInput.prototype.checkHideElement = function () {
                var hideIfData = this.settings.dataFieldAction === 'hide';
                var defaultValue = window.lpFormDefaults["datetime".concat(this.id)];
                if (defaultValue === 'Z') {
                    defaultValue = '';
                }
                landingpage.PageUtilities.showHide(this.eeElement, !(defaultValue && hideIfData));
            };
            SurveyDatetimeInput.prototype.setElement = function () {
                this.eeElement = this.el.closest('.ee_element');
                var dataElementSettings = this.eeElement.getAttribute('data-element-settings');
                this.settings = dataElementSettings ? JSON.parse(dataElementSettings) : null;
                this.required = this.settings.requiredAnswer;
            };
            SurveyDatetimeInput.prototype.setDisplayOption = function () {
                this.displayOption = this.el.getAttribute('display-option');
                landingpage.PageUtilities.addClass(this.el, this.displayOption);
                this.showDate = this.displayOption !== 'time';
                this.showTime = this.displayOption !== 'date';
            };
            SurveyDatetimeInput.prototype.setInputStyle = function () {
                var inputStyle = this.el.getAttribute('input-style');
                if (!inputStyle)
                    return;
                var style = JSON.parse(inputStyle) || {};
                landingpage.PageUtilities.forEach(this.el, 'input[type="date"], input[type="time"], input[type="datetime-local"]', function (input) {
                    for (var prop in style) {
                        input.style[prop] = style[prop];
                    }
                });
            };
            SurveyDatetimeInput.prototype.addListeners = function (item) {
                var _this = this;
                var input = this.el.querySelector(".datetime-".concat(item));
                if (!input)
                    return;
                input.addEventListener('change', function () { return _this.inputChanged(item, input); });
                input.addEventListener('keyup', function () { return _this.inputChanged(item, input); });
            };
            SurveyDatetimeInput.prototype.inputChanged = function (item, input) {
                var newDate = new Date(input.getAttribute('type') === 'date' ? input.value.replace(/-/g, '\/').replace(/T.+/, '') : input.value);
                if (/^time/i.test(input.getAttribute('type'))) {
                    var splitTime = input.value.split(/\:|\-/g);
                    this.datetime = {
                        year: undefined,
                        month: undefined,
                        day: undefined,
                        hour: parseInt(splitTime[0]),
                        minute: parseInt(splitTime[1])
                    };
                }
                else {
                    this.datetime = {
                        year: newDate.getFullYear(),
                        month: newDate.getMonth() + 1,
                        day: newDate.getDate(),
                        hour: newDate.getHours(),
                        minute: newDate.getMinutes()
                    };
                }
                this.validate();
            };
            SurveyDatetimeInput.prototype.validate = function () {
                var date = this.createDateObject(), nullDate = date === null, validDate = date ? !isNaN(date.getDate()) : false, error = this.getDateError(validDate, nullDate);
                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', error);
                if (nullDate || validDate) {
                    this.pageMessengerService.broadcast('formChanged', { prop: "datetime".concat(this.id), value: date });
                }
                else {
                    this.pageMessengerService.broadcast('formChanged');
                }
            };
            SurveyDatetimeInput.prototype.createDateObject = function () {
                var date = new Date(), dateElement = this.datetime;
                if (this.showDate) {
                    date.setFullYear(dateElement.year || undefined);
                    date.setMonth((dateElement.month || undefined));
                    date.setDate(dateElement.day || undefined);
                }
                if (this.showTime) {
                    date.setHours(dateElement.hour == null ? undefined : dateElement.hour);
                    date.setMinutes(dateElement.minute == null ? undefined : dateElement.minute);
                }
                if (isNaN(date.getDate()) && !dateElement.year && !dateElement.month && !dateElement.day && !dateElement.hour && !dateElement.minute) {
                    return null;
                }
                return date;
            };
            SurveyDatetimeInput.prototype.getDateError = function (validDate, nullDate) {
                var error = null;
                if (!validDate && !nullDate) {
                    error = 'date';
                }
                if (this.required && nullDate) {
                    error = 'required';
                }
                return error;
            };
            SurveyDatetimeInput.prototype.setDate = function (date) {
                var _this = this;
                var inputDate = (new Date(date.getTime() - date.getTimezoneOffset() * 60000).toISOString()).slice(0, -1);
                ;
                if (this.showDate) {
                    this.datetime.year = date.getFullYear();
                    this.datetime.month = date.getMonth() + 1;
                    this.datetime.day = date.getDate();
                    if (!this.showTime)
                        inputDate = inputDate.split("T")[0];
                }
                if (this.showTime) {
                    this.datetime.hour = date.getHours();
                    this.datetime.minute = date.getMinutes();
                    if (!this.showDate)
                        inputDate = inputDate.substring(11, 16);
                }
                this.parts.forEach(function (label) {
                    var input = _this.el.querySelector("input.datetime-".concat(label));
                    if (input) {
                        input.value = inputDate;
                    }
                });
                this.validate();
            };
            return SurveyDatetimeInput;
        }(landingpage.LPComponent));
        surveys.SurveyDatetimeInput = SurveyDatetimeInput;
        window.lpFrameWork.element('lp-survey-datetime-input', function (el) { return new SurveyDatetimeInput(el); });
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var SurveyFileUploadCaptchaStateService = (function () {
        function SurveyFileUploadCaptchaStateService() {
            this.isCaptchaRequired = false;
            this.captchaToken = "";
            this.captchaAuthorizationToken = "";
        }
        SurveyFileUploadCaptchaStateService.getService = function () {
            if (!this.serviceInstance) {
                this.serviceInstance = new SurveyFileUploadCaptchaStateService();
            }
            return this.serviceInstance;
        };
        SurveyFileUploadCaptchaStateService.prototype.setAdditionalVerificationRequired = function (isRequired) {
            this.isCaptchaRequired = isRequired;
        };
        SurveyFileUploadCaptchaStateService.prototype.requiresAdditionalVerification = function () {
            return this.isCaptchaRequired;
        };
        SurveyFileUploadCaptchaStateService.prototype.setCaptchaToken = function (token) {
            this.captchaToken = token;
        };
        SurveyFileUploadCaptchaStateService.prototype.getCaptchaToken = function () {
            return this.captchaToken;
        };
        SurveyFileUploadCaptchaStateService.prototype.setCaptchaAuthorizationToken = function (token) {
            this.captchaAuthorizationToken = token;
        };
        SurveyFileUploadCaptchaStateService.prototype.getCaptchaAuthorizationToken = function () {
            return this.captchaAuthorizationToken;
        };
        return SurveyFileUploadCaptchaStateService;
    }());
    landingpage.SurveyFileUploadCaptchaStateService = SurveyFileUploadCaptchaStateService;
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyFileUploadInput = (function (_super) {
            __extends(SurveyFileUploadInput, _super);
            function SurveyFileUploadInput(el) {
                var _this = _super.call(this, el) || this;
                _this.uploadQueue = [];
                _this.pendingReuploadFiles = [];
                _this.captchaLoaded = false;
                _this.defaultSettings = {
                    requiredAnswer: false,
                    maxFileLimit: 1,
                    maxFileSize: 1,
                    acceptedFormats: []
                };
                _this.onTurnstileSuccess = function () {
                    _this.displayTurnstile(false);
                    _this.attemptToReuploadPreviouslyFailedFiles();
                };
                _this.onTurnstileError = function () {
                    window.turnstile.reset(_this.turnstileWidgetId);
                };
                _this.eeElement = _this.el.closest('.ee_element');
                _this.surveyService = surveys.SurveyService.getService();
                var meta = _this.surveyService.metaData;
                _this.landingPageId = meta ? meta.id : 0;
                _this.setElement();
                _this.addListeners();
                _this.surveyFileUploadService = landingpage.SurveyFileUploadService.getService();
                _this.surveyFileUploadStateService = landingpage.SurveyFileUploadStateService.getService();
                _this.captchaStateService = landingpage.SurveyFileUploadCaptchaStateService.getService();
                _this.initUploadedFiles();
                return _this;
            }
            SurveyFileUploadInput.prototype.initUploadedFiles = function () {
                var _this = this;
                var fileIdentifiersInput = this.el.querySelector('[type=hidden]');
                var fileIdentifiers = fileIdentifiersInput.value ? JSON.parse(fileIdentifiersInput.value) : [];
                if (!fileIdentifiers || !fileIdentifiers.length)
                    return;
                var uploadedFiles = this.surveyFileUploadService.getFiles(this.landingPageId, this.fieldId);
                var filesToUpload = uploadedFiles.filter(function (f) { return fileIdentifiers.indexOf(f.id) > -1; });
                filesToUpload.forEach(function (file) {
                    var fileNameElement = _this.createFileElement(file.fileName, file.size, '');
                    var fileStatusSpan = fileNameElement.querySelector('.file-name-and-status img:first-child');
                    fileStatusSpan.setAttribute('class', 'icon success');
                    _this.eeElement.insertAdjacentElement('afterend', fileNameElement);
                });
            };
            SurveyFileUploadInput.prototype.setElement = function () {
                var dataElementSettings = this.eeElement.getAttribute('data-element-settings');
                this.settings = dataElementSettings ? JSON.parse(dataElementSettings) : this.defaultSettings;
                if (!this.settings.maxFileLimit)
                    this.settings.maxFileLimit = 1;
                if (!this.settings.maxFileSize)
                    this.settings.maxFileSize = 1;
                if (!this.settings.acceptedFormats)
                    this.settings.acceptedFormats = [];
                this.fieldId = this.settings.id;
            };
            SurveyFileUploadInput.prototype.addListeners = function () {
                var element = this.eeElement;
                if (!element)
                    return;
                element.addEventListener('dragover', this.dragOver.bind(this));
                element.addEventListener('dragleave', this.dragLeave.bind(this));
                element.addEventListener('drop', this.drop.bind(this));
                element.addEventListener('change', this.change.bind(this));
            };
            SurveyFileUploadInput.prototype.dragOver = function (event) {
                event.preventDefault();
                event.stopPropagation();
                this.toggleDragOverClass(true);
            };
            SurveyFileUploadInput.prototype.dragLeave = function (event) {
                event.preventDefault();
                event.stopPropagation();
                this.toggleDragOverClass(false);
            };
            SurveyFileUploadInput.prototype.toggleDragOverClass = function (isDragOver) {
                var uploadElement = this.el.querySelector('.answer-container');
                var elClass = uploadElement.getAttribute('class');
                var containsDragOver = elClass.indexOf('drag-over') > -1;
                if (containsDragOver === isDragOver && isDragOver)
                    return;
                uploadElement.setAttribute('class', isDragOver ? "".concat(elClass, " drag-over") : elClass.replace('drag-over', '').trim());
            };
            SurveyFileUploadInput.prototype.drop = function (event) {
                event.preventDefault();
                event.stopPropagation();
                this.toggleDragOverClass(false);
                this.handleFiles(event.dataTransfer.files);
            };
            SurveyFileUploadInput.prototype.change = function (event) {
                this.handleFiles(event.target.files);
                event.target['value'] = '';
            };
            SurveyFileUploadInput.prototype.handleFiles = function (files) {
                for (var i = 0; i < files.length; i++) {
                    this.uploadQueue.push(files[i]);
                }
                this.processQueue();
            };
            SurveyFileUploadInput.prototype.processQueue = function () {
                if (this.surveyFileUploadStateService.getUploadingState() || this.uploadQueue.length === 0)
                    return;
                this.surveyFileUploadStateService.setUploadingState(true);
                var file = this.uploadQueue.shift();
                this.addFile(file);
            };
            SurveyFileUploadInput.prototype.addFile = function (file) {
                var error = this.validate(file);
                var fileIdentifiersInput = this.el.querySelector('[type=hidden]');
                var fileIdentifiers = fileIdentifiersInput.value ? JSON.parse(fileIdentifiersInput.value) : [];
                var fileNameElement = this.createFileElement(file.name, file.size, error);
                this.eeElement.insertAdjacentElement('afterend', fileNameElement);
                if (error) {
                    if (this.isSurveyLevelErrorMessage(error)) {
                        this.pendingReuploadFiles.push({ file: file, fileNameElement: fileNameElement });
                    }
                    this.surveyFileUploadStateService.setUploadingState(false);
                    this.processQueue();
                    return;
                }
                this.uploadFile(file, fileNameElement, fileIdentifiers, fileIdentifiersInput);
            };
            SurveyFileUploadInput.prototype.createFileElement = function (fileName, fileSize, error) {
                var fileElementDiv = document.createElement('div');
                fileElementDiv.setAttribute('class', 'file-element');
                var fileInfoDiv = document.createElement('div');
                fileInfoDiv.setAttribute('class', 'uploaded-file');
                fileElementDiv.appendChild(fileInfoDiv);
                var fileNameAndStatusDiv = document.createElement('div');
                fileNameAndStatusDiv.setAttribute('class', 'file-name-and-status');
                var fileStatusContainer = document.createElement('div');
                fileStatusContainer.setAttribute('class', 'icon-container');
                var fileStatusImg = document.createElement('img');
                fileStatusImg.setAttribute('class', 'in-progress');
                fileStatusContainer.appendChild(fileStatusImg);
                fileNameAndStatusDiv.appendChild(fileStatusContainer);
                var fileNameSpan = document.createElement('span');
                fileNameSpan.textContent = fileName;
                fileNameAndStatusDiv.appendChild(fileNameSpan);
                fileInfoDiv.appendChild(fileNameAndStatusDiv);
                if (error) {
                    this.createValidationErrorDiv(fileElementDiv, error);
                }
                var fileActionsDiv = document.createElement('div');
                fileActionsDiv.setAttribute('class', 'file-actions');
                var fileSizeSpan = document.createElement('span');
                fileSizeSpan.textContent = this.formatFileSize(fileSize);
                fileActionsDiv.appendChild(fileSizeSpan);
                var removeButton = this.createRemoveButton(fileName, fileElementDiv);
                fileActionsDiv.appendChild(removeButton);
                fileInfoDiv.appendChild(fileActionsDiv);
                return fileElementDiv;
            };
            SurveyFileUploadInput.prototype.formatFileSize = function (bytes) {
                var KB = 1024;
                var MB = 1048576;
                if (bytes >= MB) {
                    return "".concat((bytes / MB).toFixed(2), "MB");
                }
                return "".concat(Math.floor(bytes / KB), "KB");
            };
            SurveyFileUploadInput.prototype.createValidationErrorDiv = function (fileElementDiv, error) {
                var fileStatusImg = this.getFileStatusImage(fileElementDiv);
                var validationErrorDiv = document.createElement('div');
                validationErrorDiv.setAttribute('class', 'validation-error');
                fileStatusImg.setAttribute('class', 'icon error');
                validationErrorDiv.textContent = error;
                fileElementDiv.prepend(validationErrorDiv);
            };
            SurveyFileUploadInput.prototype.createRemoveButton = function (fileName, fileNameElement) {
                var _this = this;
                var removeButton = document.createElement('button');
                removeButton.setAttribute('class', 'remove-file-button');
                removeButton.addEventListener('click', function () { return _this.removeFile(fileName, fileNameElement); });
                return removeButton;
            };
            SurveyFileUploadInput.prototype.removeFile = function (fileName, fileNameElement) {
                var _this = this;
                if (this.surveyFileUploadStateService.getUploadingState())
                    return;
                var button = fileNameElement.querySelector('button');
                if (button)
                    button.removeEventListener('click', function () { return _this.removeFile(fileName, fileNameElement); });
                this.eeElement.parentElement.removeChild(fileNameElement);
                var fileStatusSpan = fileNameElement.querySelector('.file-name-and-status img:first-child');
                if (fileStatusSpan.classList.contains('error')) {
                    this.pendingReuploadFiles =
                        this.pendingReuploadFiles.filter(function (f) { return !f.fileNameElement.isEqualNode(fileNameElement); });
                    return;
                }
                var fileIdentifiersInput = this.el.querySelector('[type=hidden]');
                var fileIdentifiers = JSON.parse(fileIdentifiersInput.value || '[]');
                var storageFile = this.surveyFileUploadService.getFiles(this.landingPageId, this.fieldId).filter(function (f) { return f.fileName === fileName; })[0];
                if (!storageFile)
                    return;
                fileIdentifiers = fileIdentifiers.filter(function (f) { return f !== storageFile.id; });
                fileIdentifiersInput.value = JSON.stringify(fileIdentifiers);
                this.surveyFileUploadService.deleteFile(this.landingPageId, this.fieldId, storageFile);
                fileIdentifiersInput.dispatchEvent(new Event('change'));
                this.deleteFileFromServer(storageFile.id);
                this.attemptToReuploadPreviouslyFailedFiles();
            };
            SurveyFileUploadInput.prototype.deleteFileFromServer = function (fileId) {
                var url = this.getUrl(false);
                if (!url || !fileId)
                    return;
                var respondent = document.querySelector('[name=respondent]').value;
                var formData = new FormData();
                formData.append('respondent', respondent);
                formData.append('ID', fileId);
                var xhr = new XMLHttpRequest();
                xhr.open('DELETE', url);
                xhr.send(formData);
            };
            SurveyFileUploadInput.prototype.uploadFile = function (file, fileNameElement, fileIdentifiers, fileIdentifiersInput) {
                var _this = this;
                this.surveyFileUploadStateService.setUploadingState(true);
                var xhr = new XMLHttpRequest();
                var progressBarContainer = this.createProgressBar();
                fileNameElement.appendChild(progressBarContainer);
                xhr.upload.addEventListener('progress', function (event) { return _this.updateProgressBar(event, progressBarContainer); });
                xhr.addEventListener('load', function () { return _this.handleUploadComplete(xhr, file, fileNameElement, progressBarContainer, fileIdentifiers, fileIdentifiersInput); });
                xhr.addEventListener('error', function () { return _this.handleUploadError(false, fileNameElement, progressBarContainer); });
                var url = this.getUrl(true);
                if (!url)
                    return;
                var respondent = document.querySelector('[name=respondent]').value;
                var formData = new FormData();
                formData.append('file', file);
                formData.append('respondent', respondent);
                formData.append('fieldId', this.fieldId);
                xhr.withCredentials = true;
                if (this.captchaStateService.requiresAdditionalVerification()) {
                    formData.append('g-recaptcha-response', this.captchaStateService.getCaptchaToken());
                }
                xhr.open('POST', url);
                if (this.captchaStateService.requiresAdditionalVerification()) {
                    xhr.setRequestHeader("Authorization", "Bearer " + this.captchaStateService.getCaptchaAuthorizationToken());
                }
                xhr.send(formData);
            };
            SurveyFileUploadInput.prototype.createProgressBar = function () {
                var progressBarContainer = document.createElement('div');
                progressBarContainer.className = 'progress-bar-container';
                var progressBar = document.createElement('div');
                progressBar.className = 'progress-bar-in-progress';
                progressBarContainer.appendChild(progressBar);
                return progressBarContainer;
            };
            SurveyFileUploadInput.prototype.updateProgressBar = function (event, progressBarContainer) {
                if (event.lengthComputable) {
                    var progressBar = progressBarContainer.querySelector('.progress-bar-in-progress');
                    var percentComplete = (event.loaded / event.total) * 100;
                    progressBar.style.width = "".concat(percentComplete, "%");
                }
            };
            SurveyFileUploadInput.prototype.handleUploadComplete = function (xhr, file, fileNameElement, progressBarContainer, fileIdentifiers, fileIdentifiersInput) {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    this.surveyFileUploadService.saveFile(this.landingPageId, this.fieldId, { id: response, fileName: file.name, size: file.size });
                    progressBarContainer.style.display = 'none';
                    var fileStatusSpan = this.getFileStatusImage(fileNameElement);
                    fileStatusSpan.setAttribute('class', 'icon success');
                    fileIdentifiers.push(response);
                    fileIdentifiersInput.value = JSON.stringify(fileIdentifiers);
                    fileIdentifiersInput.dispatchEvent(new Event('change'));
                    if (this.captchaStateService.requiresAdditionalVerification() && this.isCaptchaLoaded()) {
                        var captchaResponseToken = xhr.getResponseHeader('Captcha-Authorization-Token');
                        this.captchaStateService.setCaptchaAuthorizationToken(captchaResponseToken || '');
                        this.removeCaptcha();
                    }
                }
                else if (this.responseIndicatesSecurityChallenge(xhr.status)) {
                    var cfMitigatedHeader = xhr.getResponseHeader('cf-mitigated');
                    this.handleUploadError(true, fileNameElement, progressBarContainer);
                    this.pendingReuploadFiles.push({ file: file, fileNameElement: fileNameElement });
                    if (window.turnstile && cfMitigatedHeader === 'challenge') {
                        this.initTurnstile();
                        return;
                    }
                    else {
                        this.captchaStateService.setCaptchaToken('');
                        this.initRecaptcha();
                        return;
                    }
                }
                this.surveyFileUploadStateService.setUploadingState(false);
                this.processQueue();
            };
            SurveyFileUploadInput.prototype.handleUploadError = function (requiresSecurityChallenge, fileNameElement, progressBarContainer) {
                var errorMessage = requiresSecurityChallenge ? window.landingPageStrings['fileUpload.limitReachedError'] :
                    window.landingPageStrings['fileUpload.serverError'];
                progressBarContainer.style.display = 'none';
                this.createValidationErrorDiv(fileNameElement, errorMessage);
                this.surveyFileUploadStateService.setUploadingState(false);
                if (!requiresSecurityChallenge) {
                    this.processQueue();
                }
            };
            SurveyFileUploadInput.prototype.getFileStatusImage = function (fileNameElement) {
                return fileNameElement.querySelector('.file-name-and-status img:first-child');
            };
            SurveyFileUploadInput.prototype.validate = function (file) {
                var allowedFileTypes = this.settings.acceptedFormats.map(function (type) { return type.toLowerCase(); });
                var maxFileSize = this.settings.maxFileSize * 1024 * 1024;
                var fileExtension = file.name.split('.').pop().toLowerCase();
                var localStorageFiles = this.surveyFileUploadService.getFiles(this.landingPageId, this.fieldId);
                var fileIdentifiersInput = this.el.querySelector('[type=hidden]');
                var fileIdentifiers = fileIdentifiersInput.value ? JSON.parse(fileIdentifiersInput.value) : [];
                var storageFile = localStorageFiles.filter(function (f) { return f.fileName === file.name; })[0];
                if (!allowedFileTypes.some(function (type) { return type.split('/').includes(fileExtension); })) {
                    return this.getValidationMessage(this.settings.incorrectFileFormatMessage, this.settings.acceptedFormats.join(', '));
                }
                if (file.size > maxFileSize) {
                    return this.getValidationMessage(this.settings.fileSizeExceededMessage, this.settings.maxFileSize);
                }
                if (localStorageFiles.length >= this.settings.maxFileLimit || fileIdentifiers >= this.settings.maxFileLimit) {
                    return this.getValidationMessage(this.settings.tooManyFilesMessage, this.settings.maxFileLimit);
                }
                if (storageFile && fileIdentifiers.filter(function (id) { return id == storageFile.id; })[0]) {
                    return this.settings.fileAlreadyAddedMessage;
                }
                if (!this.surveyFileUploadService.checkTotalFilesSize(this.landingPageId, file.size)) {
                    return window.landingPageStrings['fileUpload.totalFileSizeExceeded'];
                }
                if (file.name && file.name.indexOf(',') !== -1) {
                    return this.settings.fileNameCannotContainCommaMessage;
                }
                return '';
            };
            SurveyFileUploadInput.prototype.isSurveyLevelErrorMessage = function (error) {
                return error === this.getValidationMessage(this.settings.tooManyFilesMessage, this.settings.maxFileLimit)
                    || error === this.getValidationMessage(this.settings.fileSizeExceededMessage, this.settings.maxFileSize)
                    || error === this.settings.fileAlreadyAddedMessage;
            };
            SurveyFileUploadInput.prototype.attemptToReuploadPreviouslyFailedFiles = function () {
                var files = this.pendingReuploadFiles.map(function (entry) { return entry.file; });
                var fileList = this.createFileList(files);
                for (var _i = 0, _a = this.pendingReuploadFiles; _i < _a.length; _i++) {
                    var fileEntry = _a[_i];
                    this.removeFile(fileEntry.file.name, fileEntry.fileNameElement);
                }
                this.pendingReuploadFiles = [];
                if (fileList.length > 0) {
                    this.handleFiles(fileList);
                }
            };
            SurveyFileUploadInput.prototype.createFileList = function (files) {
                var dataTransfer = new DataTransfer();
                for (var _i = 0, files_1 = files; _i < files_1.length; _i++) {
                    var file = files_1[_i];
                    dataTransfer.items.add(file);
                }
                return dataTransfer.files;
            };
            SurveyFileUploadInput.prototype.getUrl = function (withChallenge) {
                var form = document.querySelector('[name=lpsurveyform]');
                if (!form)
                    return '';
                var action = form.getAttribute('action');
                var urlArr = action.split('?')[0].split('/');
                var route = urlArr[urlArr.length - 1];
                if (this.captchaStateService.requiresAdditionalVerification() && withChallenge) {
                    return "/Response/FileUploadLPWithChallenge/".concat(route);
                }
                return "/Response/FileUploadLP/".concat(route);
            };
            SurveyFileUploadInput.prototype.getValidationMessage = function (message, param) {
                if (message.match(/\{0}/)) {
                    message = message.replace("{0}", param);
                }
                return message;
            };
            SurveyFileUploadInput.prototype.initTurnstile = function () {
                if (this.isTurnstileLoaded()) {
                    this.displayTurnstile(true);
                    window.turnstile.reset(this.turnstileWidgetId);
                    return;
                }
                this.el.insertAdjacentHTML('beforeend', '<div class="cf-turnstile"\n>');
                var placeholder = this.el.querySelector('.cf-turnstile');
                this.turnstileWidgetId = window.turnstile.render(placeholder, {
                    sitekey: '0x4AAAAAABg1qFu0MhBsZjt1',
                    callback: this.onTurnstileSuccess,
                    'error-callback': this.onTurnstileError,
                    theme: 'light',
                    action: 'submit',
                    mode: 'invisible'
                });
                this.turnstileLoaded = true;
            };
            SurveyFileUploadInput.prototype.initRecaptcha = function () {
                var _this = this;
                if (this.isCaptchaLoaded())
                    return;
                this.captchaStateService.setAdditionalVerificationRequired(true);
                var recaptchaContainer = this.el.querySelector('.recaptcha-container');
                if (!recaptchaContainer) {
                    this.el.insertAdjacentHTML('beforeend', '<div class="recaptcha-container"></div>');
                    recaptchaContainer = this.el.querySelector('.recaptcha-container');
                }
                this.recaptchaId = window.grecaptcha.render(recaptchaContainer, {
                    'sitekey': '6LeOsI0UAAAAAARhdf5auu8GQpO9Yy5oP0BvsWFU',
                    'callback': function (token) {
                        _this.captchaStateService.setCaptchaToken(token);
                        _this.attemptToReuploadPreviouslyFailedFiles();
                    }
                });
                window.setTimeout(function () {
                    _this.captchaLoaded = true;
                }, 1000);
            };
            SurveyFileUploadInput.prototype.removeCaptcha = function () {
                try {
                    window.grecaptcha.reset(this.recaptchaId);
                }
                catch (e) { }
                var recaptchaContainer = this.el.querySelector('.recaptcha-container');
                if (recaptchaContainer) {
                    recaptchaContainer.remove();
                    this.captchaLoaded = false;
                    this.recaptchaId = '';
                }
            };
            SurveyFileUploadInput.prototype.displayTurnstile = function (display) {
                var turnstileWidget = this.el.querySelector('.cf-turnstile');
                if (turnstileWidget) {
                    turnstileWidget.setAttribute('style', display ? 'display: block;' : 'display: none;');
                }
            };
            SurveyFileUploadInput.prototype.isTurnstileLoaded = function () {
                return window.turnstile && this.turnstileLoaded;
            };
            SurveyFileUploadInput.prototype.isCaptchaLoaded = function () {
                return window.grecaptcha && window.grecaptcha.render && window.grecaptcha.execute && this.captchaLoaded;
            };
            SurveyFileUploadInput.prototype.responseIndicatesSecurityChallenge = function (status) {
                return status === 429 || status === 403;
            };
            return SurveyFileUploadInput;
        }(landingpage.LPComponent));
        surveys.SurveyFileUploadInput = SurveyFileUploadInput;
        window.lpFrameWork.element('landingpage-survey-fileupload', function (el) { return new SurveyFileUploadInput(el); });
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var SurveyFileUploadService = (function () {
        function SurveyFileUploadService() {
        }
        SurveyFileUploadService.getService = function () {
            if (!this.serviceInstance) {
                this.serviceInstance = new SurveyFileUploadService();
            }
            return this.serviceInstance;
        };
        SurveyFileUploadService.prototype.saveFile = function (landingPageId, fieldId, file) {
            if (!landingPageId || !window.localStorage)
                return;
            var value = localStorage.getItem("surveyFileUploads".concat(landingPageId));
            var uploadedFieldFiles = value ? JSON.parse(value) : [];
            var fieldFiles = uploadedFieldFiles.filter(function (f) { return f.fieldId === fieldId; });
            var files = fieldFiles.length > 0 ? fieldFiles[0] : null;
            if (!files) {
                files = { fieldId: fieldId, files: [] };
                uploadedFieldFiles.push(files);
            }
            var storageFile = files.files.filter(function (f) { return f.id === file.id; });
            if (storageFile.length > 0)
                return;
            files.files.push(file);
            localStorage.setItem("surveyFileUploads".concat(landingPageId), JSON.stringify(uploadedFieldFiles));
        };
        SurveyFileUploadService.prototype.checkTotalFilesSize = function (landingPageId, fileSize) {
            if (!landingPageId || !window.localStorage)
                return;
            var value = localStorage.getItem("surveyFileUploads".concat(landingPageId));
            var uploadedFieldFiles = value ? JSON.parse(value) : [];
            if (!uploadedFieldFiles)
                return true;
            var totalSize = 0;
            uploadedFieldFiles.forEach(function (f) { return f.files.forEach(function (file) { return totalSize += file.size; }); });
            totalSize += fileSize;
            return totalSize <= 104857600;
        };
        SurveyFileUploadService.prototype.deleteFile = function (landingPageId, fieldId, file) {
            if (!landingPageId || !window.localStorage)
                return;
            var value = localStorage.getItem("surveyFileUploads".concat(landingPageId));
            var uploadedFieldFiles = value ? JSON.parse(value) : [];
            if (!uploadedFieldFiles)
                return;
            var fieldFiles = uploadedFieldFiles.filter(function (f) { return f.fieldId === fieldId; });
            var files = fieldFiles.length > 0 ? fieldFiles[0] : null;
            if (!files)
                return;
            var storageFile = files.files.filter(function (f) { return f.id === file.id; });
            if (storageFile.length > 0) {
                var index = files.files.indexOf(storageFile[0]);
                files.files.splice(index, 1);
                localStorage.setItem("surveyFileUploads".concat(landingPageId), JSON.stringify(uploadedFieldFiles));
            }
        };
        SurveyFileUploadService.prototype.getFiles = function (landingPageId, fieldId) {
            if (!landingPageId || !window.localStorage)
                return;
            var value = localStorage.getItem("surveyFileUploads".concat(landingPageId));
            var uploadedFieldFiles = value ? JSON.parse(value) : [];
            if (!uploadedFieldFiles)
                return [];
            var fieldFiles = uploadedFieldFiles.filter(function (f) { return f.fieldId === fieldId; });
            var files = fieldFiles.length > 0 ? fieldFiles[0] : null;
            if (!files)
                return [];
            return files.files;
        };
        SurveyFileUploadService.prototype.clearData = function (landingPageId) {
            try {
                if (!landingPageId || !window.localStorage)
                    return;
                var surveyFileUploadsId = "surveyFileUploads".concat(landingPageId);
                if (window.localStorage)
                    localStorage.removeItem(surveyFileUploadsId);
            }
            catch (ex) { }
        };
        return SurveyFileUploadService;
    }());
    landingpage.SurveyFileUploadService = SurveyFileUploadService;
})(landingpage || (landingpage = {}));
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyOpinionBase = (function (_super) {
            __extends(SurveyOpinionBase, _super);
            function SurveyOpinionBase() {
                return _super !== null && _super.apply(this, arguments) || this;
            }
            SurveyOpinionBase.prototype.setSettings = function (opinion) {
                var elementSettings = opinion.getAttribute('data-element-settings');
                this.settings = JSON.parse(elementSettings) || {};
            };
            SurveyOpinionBase.prototype.setMappedValue = function (el) {
                var mappedField = el.getAttribute('mapped-field');
                this.mappedValue = parseInt(mappedField) || null;
            };
            SurveyOpinionBase.prototype.checkInput = function (id, selected) {
                if (!selected)
                    return;
                var input = document.getElementById("".concat(id, "_").concat(selected));
                setTimeout(function () { input.checked = true; }, 1);
                this.setProp("radio".concat(id), selected);
            };
            SurveyOpinionBase.prototype.setProp = function (prop, value) {
                this.pageMessengerService.broadcast('formChanged', { prop: prop, value: value });
            };
            return SurveyOpinionBase;
        }(landingpage.LPComponent));
        surveys.SurveyOpinionBase = SurveyOpinionBase;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
;
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyOpinionRangeInput = (function (_super) {
            __extends(SurveyOpinionRangeInput, _super);
            function SurveyOpinionRangeInput(el) {
                var _this = _super.call(this, el) || this;
                _this.pageMessengerService = new landingpage.PageMessengerService();
                var opinion = _this.el.closest('.ee_opinion');
                _this.setSettings(opinion);
                _this.setMappedValue(opinion);
                _this.setRangeValue(_this.settings.id, _this.mappedValue);
                return _this;
            }
            SurveyOpinionRangeInput.prototype.setRangeValue = function (id, selected) {
                var elId = "radio".concat(id);
                var input = document.getElementById(elId);
                var value;
                if (selected) {
                    input.value = "".concat(selected);
                    value = selected;
                }
                else {
                    value = parseInt(input.value);
                }
                this.setProp(elId, value);
            };
            return SurveyOpinionRangeInput;
        }(surveys.SurveyOpinionBase));
        surveys.SurveyOpinionRangeInput = SurveyOpinionRangeInput;
        window.lpFrameWork.element('lp-survey-opinion-range-input', function (el) { return new SurveyOpinionRangeInput(el); });
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
;
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyOpinionTilesInput = (function (_super) {
            __extends(SurveyOpinionTilesInput, _super);
            function SurveyOpinionTilesInput(el) {
                var _this = _super.call(this, el) || this;
                _this.pageMessengerService = new landingpage.PageMessengerService();
                var opinion = _this.el.closest('.ee_opinion');
                var optionsContainer = _this.el.parentNode.querySelector('.options-container');
                _this.setSettings(opinion);
                _this.setMappedValue(opinion);
                _this.checkInput(_this.settings.id, _this.mappedValue);
                landingpage.PageUtilities.forEach(optionsContainer, 'label', function (button) {
                    button.addEventListener('click', function (event) { return _this.buttonClicked(event); });
                });
                return _this;
            }
            SurveyOpinionTilesInput.prototype.buttonClicked = function (event) {
                var input = event.target.previousElementSibling;
                var isChecked = input.checked;
                var prop = input.getAttribute('ng-model').replace(/lpForm\./i, '');
                if (!isChecked)
                    return;
                event.preventDefault();
                this.setProp(prop, null);
            };
            return SurveyOpinionTilesInput;
        }(surveys.SurveyOpinionBase));
        surveys.SurveyOpinionTilesInput = SurveyOpinionTilesInput;
        window.lpFrameWork.element('lp-survey-opinion-tiles-input', function (el) { return new SurveyOpinionTilesInput(el); });
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
;
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyOpinionValidator = (function (_super) {
            __extends(SurveyOpinionValidator, _super);
            function SurveyOpinionValidator() {
                return _super !== null && _super.apply(this, arguments) || this;
            }
            SurveyOpinionValidator.prototype.setAriaInvalid = function () {
                var _this = this;
                setTimeout(function () {
                    var error = _this.eeElement.getAttribute('lp-has-errors');
                    landingpage.PageUtilities.forEach(_this.eeElement, 'input[type="radio"]', function (input) { return landingpage.PageUtilities.setAttribute(input, 'aria-invalid', "".concat(!!error)); });
                }, 1);
            };
            SurveyOpinionValidator.prototype.addChangeListener = function () {
                var _this = this;
                this.el.addEventListener('change', function () { return _this.changed(); });
                if (this.settings.displayOption === 'tiles') {
                    this.el.addEventListener('click', function () { return setTimeout(function () { return _this.changed(); }, 1); });
                }
                if (this.settings.displayOption === 'slider') {
                    this.el.addEventListener('mouseup', function () { return _this.changed(); });
                }
                if (this.settings.displayOption === 'range') {
                    this.el.addEventListener('change', function () { return _this.changed(); });
                }
                var inputs = this.el.querySelectorAll('input[type=radio]');
                inputs.forEach(function (input) {
                    input.addEventListener('blur', function () { return _this.changedAndUpdateAria(); });
                    input.addEventListener('change', function () { return _this.changedAndUpdateAria(); });
                    input.addEventListener('keyup', function () { return _this.changedAndUpdateAria(); });
                });
            };
            SurveyOpinionValidator.prototype.changed = function () {
                var value = this.getValue();
                this.setValid();
                this.pageMessengerService.broadcast('formChanged', { prop: this.model, value: value });
            };
            SurveyOpinionValidator.prototype.getValue = function () {
                var selected;
                if (this.settings.displayOption === 'range') {
                    selected = this.eeElement.querySelector('input[type="range"]');
                }
                else {
                    selected = landingpage.PageUtilities.find(this.eeElement, 'input', function (el) { return el.checked; });
                }
                return selected === null || selected === void 0 ? void 0 : selected.value;
            };
            SurveyOpinionValidator.prototype.setModel = function () {
                this.model = "radio".concat(this.settings.id);
            };
            SurveyOpinionValidator.prototype.setRequired = function () {
                this.required = this.settings.requiredAnswer;
            };
            SurveyOpinionValidator.prototype.setValid = function () {
                var value = this.getValue();
                var error = !this.required || value !== undefined ? null : 'required';
                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', error);
            };
            SurveyOpinionValidator.prototype.changedAndUpdateAria = function () {
                this.changed();
                this.setAriaInvalid();
            };
            return SurveyOpinionValidator;
        }(surveys.SurveyValidatorComponent));
        surveys.SurveyOpinionValidator = SurveyOpinionValidator;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
;
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        var SurveyOpinionSliderInput = (function (_super) {
            __extends(SurveyOpinionSliderInput, _super);
            function SurveyOpinionSliderInput(el) {
                var _this = _super.call(this, el) || this;
                _this.validPercentages = [];
                _this.moveFn = function (moveEvent) {
                    _this.move(moveEvent.clientX);
                };
                _this.touchMoveFn = function (event) {
                    var touch = _this.getFirstTouch(event);
                    _this.move(touch.clientX);
                };
                _this.moveEnd = function () {
                    document.removeEventListener('mousemove', _this.moveFn);
                    document.removeEventListener('mouseup', _this.moveEnd);
                    document.removeEventListener('touchmove', _this.touchMoveFn);
                    document.removeEventListener('touchend', _this.moveEnd);
                    _this.el.closest('form.surveys-forms').classList.remove('opinion-slider-dragging');
                };
                _this.pageMessengerService = new landingpage.PageMessengerService();
                var opinion = _this.el.closest('.ee_opinion');
                _this.slider = _this.el.querySelector('.slider');
                _this.setSettings(opinion);
                _this.setMappedValue(opinion);
                _this.setStartsAtZero();
                for (var i = 0; i < _this.settings.scaleCount; i++)
                    _this.validPercentages.push((i / (_this.settings.scaleCount - 1)) * 100);
                _this.percent = 50;
                var percent = _this.validPercentages[_this.mappedValue - 1] || null;
                if (percent) {
                    var percentageResult = _this.toValidPercent(percent);
                    _this.applyPercent(percentageResult);
                    _this.checkInput(_this.settings.id, _this.mappedValue);
                }
                _this.el.addEventListener('mousedown', function (event) { return _this.mouseDown(event); });
                _this.el.addEventListener('touchstart', function (event) { return _this.touchStart(event); });
                landingpage.PageUtilities.forEach(_this.el.closest('.ee_element'), 'input', function (el) { return el.addEventListener('keyup', function () { return _this.onKeyUp(); }); });
                return _this;
            }
            SurveyOpinionSliderInput.prototype.setStartsAtZero = function () {
                this.startsAtZero = this.el.closest('.ee_element').querySelector('input').value === '0';
            };
            SurveyOpinionSliderInput.prototype.mouseDown = function (event) {
                var percentageResult = this.getPercentageResult(event.clientX);
                this.applyPercent(percentageResult);
                document.addEventListener('mousemove', this.moveFn);
                document.addEventListener('mouseup', this.moveEnd);
            };
            SurveyOpinionSliderInput.prototype.touchStart = function (event) {
                var $touch = this.getFirstTouch(event), percentageResult = this.getPercentageResult($touch.clientX);
                this.applyPercent(percentageResult);
                document.addEventListener('touchmove', this.touchMoveFn);
                document.addEventListener('touchend', this.moveEnd);
            };
            SurveyOpinionSliderInput.prototype.move = function (clientX) {
                var percentageResult = this.getPercentageResult(clientX);
                this.applyPercent(percentageResult);
            };
            SurveyOpinionSliderInput.prototype.getFirstTouch = function (event) {
                return event.changedTouches[0];
            };
            SurveyOpinionSliderInput.prototype.onKeyUp = function () {
                var checked = landingpage.PageUtilities.filter(this.el.closest('.ee_element'), 'input', function (el) { return el.checked; });
                if (checked.length) {
                    var percent = this.toValidPercent(this.validPercentages[parseInt(checked[0].value) - 1]);
                    this.applyPercent(percent);
                }
                else {
                    this.moveSlider(50);
                }
            };
            SurveyOpinionSliderInput.prototype.getPercentageResult = function (clientX) {
                var percent = this.getPercentageOnSlider(clientX);
                return this.toValidPercent(percent);
            };
            SurveyOpinionSliderInput.prototype.getPercentageOnSlider = function (clientX) {
                var rect = this.el.getBoundingClientRect(), percentageOnSlider = (clientX - rect.left) / rect.width;
                return percentageOnSlider * 100;
            };
            SurveyOpinionSliderInput.prototype.toValidPercent = function (percent) {
                var lowestDiff, validPercent, selected;
                for (var i = 0; i < this.validPercentages.length; i++) {
                    var valid = this.validPercentages[i], diff = Math.abs(valid - percent);
                    if (typeof lowestDiff === 'undefined' || diff < lowestDiff) {
                        lowestDiff = diff;
                        validPercent = valid;
                        selected = this.startsAtZero ? i : i + 1;
                    }
                }
                return { selected: selected, validPercent: validPercent };
            };
            SurveyOpinionSliderInput.prototype.applyPercent = function (percentageResult) {
                this.moveSlider(percentageResult.validPercent);
                this.el.closest('form.surveys-forms').classList.add('opinion-slider-dragging');
                this.checkInput(this.settings.id, percentageResult.selected);
            };
            SurveyOpinionSliderInput.prototype.moveSlider = function (validPercent) {
                this.percent = Math.max(Math.min(validPercent, 100), 0);
                this.slider.style.left = "".concat(this.percent, "%");
            };
            return SurveyOpinionSliderInput;
        }(surveys.SurveyOpinionBase));
        surveys.SurveyOpinionSliderInput = SurveyOpinionSliderInput;
        window.lpFrameWork.element('lp-survey-opinion-slider-input', function (el) { return new SurveyOpinionSliderInput(el); });
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
;
var landingpage;
(function (landingpage) {
    var surveys;
    (function (surveys) {
        ;
        var SurveyPhoneNumber = (function (_super) {
            __extends(SurveyPhoneNumber, _super);
            function SurveyPhoneNumber(el) {
                var _this = _super.call(this, el) || this;
                _this.wrapElement();
                _this.initIntlTel();
                _this.validate();
                _this.el.addEventListener('keyup', function () { return _this.validate(); });
                return _this;
            }
            SurveyPhoneNumber.prototype.setCallback = function (fn) {
                this.callback = fn;
                this.validate();
            };
            SurveyPhoneNumber.prototype.getNumber = function () {
                return this.intlTelInput.getNumber();
            };
            SurveyPhoneNumber.prototype.wrapElement = function () {
                var wrapper = document.createElement('div');
                landingpage.PageUtilities.addClass(wrapper, 'lp-survey-phone-wrapper');
                this.el.after(wrapper);
                wrapper.appendChild(this.el);
            };
            SurveyPhoneNumber.prototype.initIntlTel = function () {
                var _this = this;
                var inputOptions = this.getInputOptions();
                this.intlTelInput = window.intlTelInput(this.el, inputOptions);
                this.el.removeAttribute('name');
                this.el.addEventListener('countrychange', function () { return _this.validate(); });
            };
            SurveyPhoneNumber.prototype.getInputOptions = function () {
                var _this = this;
                var allowDropdownAttr = this.el.getAttribute('allow-dropdown');
                var allowDropdown = allowDropdownAttr ? allowDropdownAttr === 'true' : false;
                var initialCountry = (this.el.getAttribute('default-country') || '').toLowerCase();
                var hiddenInput = function () { return _this.el.getAttribute('name'); };
                var dropdownContainer = this.el.parentElement;
                var preferredCountries = ['us', 'gb'];
                return { initialCountry: initialCountry, allowDropdown: allowDropdown, hiddenInput: hiddenInput, dropdownContainer: dropdownContainer, preferredCountries: preferredCountries, autoPlaceholder: 'aggressive', countrySearch: false };
            };
            SurveyPhoneNumber.prototype.validate = function () {
                landingpage.PageUtilities.setAttribute(this.el, 'phone-input-valid', "".concat(this.intlTelInput.isValidNumber()));
                if (this.callback) {
                    this.callback();
                }
            };
            return SurveyPhoneNumber;
        }(landingpage.LPComponent));
        surveys.SurveyPhoneNumber = SurveyPhoneNumber;
    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
})(landingpage || (landingpage = {}));
