@rzl-zone/utils-js 3.5.7 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/README.md +1 -1
  2. package/dist/assertions/index.cjs +1 -1
  3. package/dist/assertions/index.d.ts +1 -1
  4. package/dist/assertions/index.js +1 -1
  5. package/dist/chunk-2CQI36UD.cjs +1 -1
  6. package/dist/chunk-2VO2CBTU.js +1 -1
  7. package/dist/chunk-3KTD3QDI.js +1 -1
  8. package/dist/{chunk-RS5RBLPB.js → chunk-3LEWQV3R.js} +46 -8
  9. package/dist/chunk-4ACKNPL5.js +1 -1
  10. package/dist/chunk-4ZOXSUXB.js +1 -1
  11. package/dist/chunk-5NN4ZDE2.cjs +1 -1
  12. package/dist/chunk-66WLOZOD.cjs +1 -1
  13. package/dist/{chunk-6DSPJA5U.js → chunk-6PKW4WCT.js} +2 -2
  14. package/dist/chunk-6RFNZ2ZZ.cjs +1 -1
  15. package/dist/chunk-6WMB5AJR.js +1 -1
  16. package/dist/chunk-7QQV66RX.cjs +1 -1
  17. package/dist/chunk-7WBMA2VE.cjs +1 -1
  18. package/dist/chunk-7ZNEUWYP.js +1 -1
  19. package/dist/chunk-A3YI6Y2P.js +1 -1
  20. package/dist/chunk-ABA2ZSBQ.js +1 -1
  21. package/dist/chunk-AKKM6MOX.cjs +1 -1
  22. package/dist/chunk-ATLFMKAF.cjs +1 -1
  23. package/dist/chunk-B4SDEBN7.cjs +1 -1
  24. package/dist/chunk-B6UIKBHR.cjs +1 -1
  25. package/dist/chunk-BAV5T2E3.cjs +1 -1
  26. package/dist/chunk-BG3AS5BU.cjs +173 -0
  27. package/dist/chunk-BYUT376O.cjs +1 -1
  28. package/dist/{chunk-RIEYB2AW.cjs → chunk-CKUEZF4R.cjs} +1 -1
  29. package/dist/chunk-D53CE4BT.js +1 -1
  30. package/dist/chunk-DPLL67OT.js +1 -1
  31. package/dist/chunk-DVMHRLKP.cjs +1 -1
  32. package/dist/chunk-EK7FSI7F.cjs +1 -1
  33. package/dist/chunk-F3WBQKRI.cjs +1 -1
  34. package/dist/chunk-FI76UZRF.js +1 -1
  35. package/dist/chunk-GAJBF6DR.js +1 -1
  36. package/dist/chunk-JY4HLZ4W.js +1 -1
  37. package/dist/chunk-K3SONK25.cjs +1 -1
  38. package/dist/chunk-K63WO3XA.cjs +1 -1
  39. package/dist/chunk-KHO2SBNA.cjs +1 -1
  40. package/dist/{chunk-TPYENEQ4.cjs → chunk-KIYALQQF.cjs} +44 -9
  41. package/dist/chunk-KPCDDYTZ.js +1 -1
  42. package/dist/chunk-KTQLDIIT.cjs +1 -1
  43. package/dist/chunk-L5RDAVVH.js +1 -1
  44. package/dist/chunk-LEX4TQW2.js +1 -1
  45. package/dist/chunk-LIU4S3JA.cjs +1 -1
  46. package/dist/chunk-NREACG6M.cjs +1 -1
  47. package/dist/chunk-OFBFGFVH.js +1 -1
  48. package/dist/chunk-ONZFBJVW.js +1 -1
  49. package/dist/chunk-OS5OT5JA.cjs +1 -1
  50. package/dist/chunk-PZQC3FZY.js +1 -1
  51. package/dist/chunk-QAPYHLHC.cjs +1 -1
  52. package/dist/chunk-QNKGP5DY.js +1 -1
  53. package/dist/chunk-QUITZ3GP.js +1 -1
  54. package/dist/{chunk-H5NWBTHW.cjs → chunk-R3PBF6F7.cjs} +11 -11
  55. package/dist/chunk-RMJC3B5P.cjs +1 -1
  56. package/dist/chunk-SZJ7OI4S.js +1 -1
  57. package/dist/chunk-TDPYR5JY.js +1 -1
  58. package/dist/chunk-TDYGYHSH.js +1 -1
  59. package/dist/chunk-TFDXRT6D.cjs +1 -1
  60. package/dist/{chunk-SN6YRDLG.js → chunk-U5VR4TJN.js} +1 -1
  61. package/dist/chunk-UDA26MCU.cjs +1 -1
  62. package/dist/chunk-UKAUXY2U.cjs +1 -1
  63. package/dist/chunk-VCVND6CH.js +1 -1
  64. package/dist/chunk-VJDDGRIK.cjs +1 -1
  65. package/dist/chunk-VJVCXEH7.cjs +1997 -0
  66. package/dist/chunk-VNADVWSJ.js +1 -1
  67. package/dist/chunk-WNO3EPYT.js +170 -0
  68. package/dist/chunk-WVSPXFTY.js +1 -1
  69. package/dist/chunk-XFTUHS4Y.js +1 -1
  70. package/dist/chunk-YC7AK3KX.cjs +1 -1
  71. package/dist/chunk-YGB2BQPB.cjs +1 -1
  72. package/dist/chunk-YS27V6LS.js +1994 -0
  73. package/dist/chunk-YWHHVDT4.js +1 -1
  74. package/dist/chunk-ZN53RM3R.js +1 -1
  75. package/dist/conversions/index.cjs +1 -1
  76. package/dist/conversions/index.d.ts +1 -1
  77. package/dist/conversions/index.js +1 -1
  78. package/dist/events/index.cjs +1 -1
  79. package/dist/events/index.d.ts +1 -1
  80. package/dist/events/index.js +1 -1
  81. package/dist/formatters/index.cjs +1 -1
  82. package/dist/formatters/index.d.ts +1 -1
  83. package/dist/formatters/index.js +1 -1
  84. package/dist/generators/index.cjs +1 -1
  85. package/dist/generators/index.d.ts +1 -1
  86. package/dist/generators/index.js +1 -1
  87. package/dist/index.d.ts +1 -1
  88. package/dist/isPlainObject-FWmcJF6k.d.ts +1 -1
  89. package/dist/next/index.cjs +9 -8
  90. package/dist/next/index.d.ts +1 -1
  91. package/dist/next/index.js +3 -2
  92. package/dist/next/server/index.cjs +1 -1
  93. package/dist/next/server/index.d.ts +1 -1
  94. package/dist/next/server/index.js +1 -1
  95. package/dist/operations/index.cjs +1 -1
  96. package/dist/operations/index.d.ts +1 -1
  97. package/dist/operations/index.js +1 -1
  98. package/dist/parsers/index.cjs +1 -1
  99. package/dist/parsers/index.d.ts +1 -1
  100. package/dist/parsers/index.js +1 -1
  101. package/dist/predicates/index.cjs +33 -28
  102. package/dist/predicates/index.d.ts +142 -2
  103. package/dist/predicates/index.js +3 -2
  104. package/dist/promises/index.cjs +1 -1
  105. package/dist/promises/index.d.ts +1 -1
  106. package/dist/promises/index.js +1 -1
  107. package/dist/rzl-utils.global.js +2 -2
  108. package/dist/strings/index.cjs +1 -1
  109. package/dist/strings/index.d.ts +1 -1
  110. package/dist/strings/index.js +1 -1
  111. package/dist/tailwind/index.cjs +13 -9
  112. package/dist/tailwind/index.d.ts +124 -19
  113. package/dist/tailwind/index.js +2 -2
  114. package/dist/urls/index.cjs +14 -9
  115. package/dist/urls/index.d.ts +268 -19
  116. package/dist/urls/index.js +4 -3
  117. package/package.json +11 -3
  118. package/dist/chunk-LBNOZIZ6.js +0 -90
  119. package/dist/chunk-URDI3IMY.cjs +0 -93
@@ -0,0 +1,1997 @@
1
+ /*!
2
+ * ====================================================
3
+ * Rzl Utils-JS.
4
+ * ----------------------------------------------------
5
+ * Version: 3.7.0.
6
+ * Author: Rizalvin Dwiky.
7
+ * Repository: https://github.com/rzl-zone/utils-js.
8
+ * ====================================================
9
+ */
10
+ 'use strict';
11
+
12
+ var chunkYC7AK3KX_cjs = require('./chunk-YC7AK3KX.cjs');
13
+ var chunkF3WBQKRI_cjs = require('./chunk-F3WBQKRI.cjs');
14
+
15
+ var maxInt = 2147483647;
16
+ var base = 36;
17
+ var tMin = 1;
18
+ var tMax = 26;
19
+ var skew = 38;
20
+ var damp = 700;
21
+ var initialBias = 72;
22
+ var initialN = 128;
23
+ var delimiter = "-";
24
+ var regexPunycode = /^xn--/;
25
+ var regexNonASCII = /[^\0-\x7F]/;
26
+ var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g;
27
+ var errors = {
28
+ overflow: "Overflow: input needs wider integers to process",
29
+ "not-basic": "Illegal input >= 0x80 (not a basic code point)",
30
+ "invalid-input": "Invalid input"
31
+ };
32
+ var floor = Math.floor;
33
+ var stringFromCharCode = String.fromCharCode;
34
+ function error(type) {
35
+ throw new RangeError(errors[type]);
36
+ }
37
+ function map(array, fn) {
38
+ const result = [];
39
+ let length = array.length;
40
+ while (length--) result[length] = fn(array[length]);
41
+ return result;
42
+ }
43
+ function mapDomain(domain, fn) {
44
+ const parts = domain.split("@");
45
+ let result = "";
46
+ if (parts.length > 1) {
47
+ result = parts[0] + "@";
48
+ domain = parts[1];
49
+ }
50
+ domain = domain.replace(regexSeparators, ".");
51
+ const labels = domain.split(".");
52
+ return result + map(labels, fn).join(".");
53
+ }
54
+ function ucs2decode(input) {
55
+ const output = [];
56
+ let counter = 0;
57
+ const length = input.length;
58
+ while (counter < length) {
59
+ const value = input.charCodeAt(counter++);
60
+ if (value >= 55296 && value <= 56319 && counter < length) {
61
+ const extra = input.charCodeAt(counter++);
62
+ if ((extra & 64512) === 56320)
63
+ output.push(((value & 1023) << 10) + (extra & 1023) + 65536);
64
+ else {
65
+ output.push(value);
66
+ counter--;
67
+ }
68
+ } else output.push(value);
69
+ }
70
+ return output;
71
+ }
72
+ var ucs2encode = (points) => String.fromCodePoint(...points);
73
+ function basicToDigit(codePoint) {
74
+ if (codePoint >= 48 && codePoint < 58) return 26 + (codePoint - 48);
75
+ if (codePoint >= 65 && codePoint < 91) return codePoint - 65;
76
+ if (codePoint >= 97 && codePoint < 123) return codePoint - 97;
77
+ return base;
78
+ }
79
+ function digitToBasic(digit, flag) {
80
+ return digit + 22 + 75 * (digit < 26 ? 1 : 0) - Number(flag !== 0) * 32;
81
+ }
82
+ function adapt(delta, numPoints, firstTime) {
83
+ let k = 0;
84
+ delta = firstTime ? floor(delta / damp) : delta >> 1;
85
+ delta += floor(delta / numPoints);
86
+ while (delta > (base - tMin) * tMax >> 1) {
87
+ delta = floor(delta / (base - tMin));
88
+ k += base;
89
+ }
90
+ return floor(k + (base - tMin + 1) * delta / (delta + skew));
91
+ }
92
+ function decode(input) {
93
+ const output = [];
94
+ const inputLength = input.length;
95
+ let i = 0, n = initialN, bias = initialBias;
96
+ let basic = input.lastIndexOf(delimiter);
97
+ if (basic < 0) basic = 0;
98
+ for (let j = 0; j < basic; j++) {
99
+ if (input.charCodeAt(j) >= 128) error("not-basic");
100
+ output.push(input.charCodeAt(j));
101
+ }
102
+ for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; ) {
103
+ const oldi = i;
104
+ let w = 1;
105
+ for (let k = base; ; k += base) {
106
+ if (index >= inputLength) error("invalid-input");
107
+ const digit = basicToDigit(input.charCodeAt(index++));
108
+ if (digit >= base) error("invalid-input");
109
+ if (digit > floor((maxInt - i) / w)) error("overflow");
110
+ i += digit * w;
111
+ const t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
112
+ if (digit < t) break;
113
+ const baseMinusT = base - t;
114
+ if (w > floor(maxInt / baseMinusT)) error("overflow");
115
+ w *= baseMinusT;
116
+ }
117
+ const out = output.length + 1;
118
+ bias = adapt(i - oldi, out, oldi === 0);
119
+ if (floor(i / out) > maxInt - n) error("overflow");
120
+ n += floor(i / out);
121
+ i %= out;
122
+ output.splice(i++, 0, n);
123
+ }
124
+ return String.fromCodePoint(...output);
125
+ }
126
+ function encode(input) {
127
+ const output = [];
128
+ const points = ucs2decode(input);
129
+ const inputLength = points.length;
130
+ let n = initialN, delta = 0, bias = initialBias;
131
+ for (const cp of points) if (cp < 128) output.push(stringFromCharCode(cp));
132
+ const basicLength = output.length;
133
+ let handledCPCount = basicLength;
134
+ if (basicLength) output.push(delimiter);
135
+ while (handledCPCount < inputLength) {
136
+ let m = maxInt;
137
+ for (const cp of points) if (cp >= n && cp < m) m = cp;
138
+ const handledCPCountPlusOne = handledCPCount + 1;
139
+ if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) error("overflow");
140
+ delta += (m - n) * handledCPCountPlusOne;
141
+ n = m;
142
+ for (const cp of points) {
143
+ if (cp < n) delta++;
144
+ if (cp === n) {
145
+ let q = delta;
146
+ for (let k = base; ; k += base) {
147
+ const t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
148
+ if (q < t) break;
149
+ output.push(stringFromCharCode(digitToBasic(t + (q - t) % (base - t), 0)));
150
+ q = floor((q - t) / (base - t));
151
+ }
152
+ output.push(stringFromCharCode(digitToBasic(q, 0)));
153
+ bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);
154
+ delta = 0;
155
+ handledCPCount++;
156
+ }
157
+ }
158
+ delta++;
159
+ n++;
160
+ }
161
+ return output.join("");
162
+ }
163
+ function toUnicode(input) {
164
+ return mapDomain(
165
+ input,
166
+ (str) => regexPunycode.test(str) ? decode(str.slice(4).toLowerCase()) : str
167
+ );
168
+ }
169
+ function toASCII(input) {
170
+ return mapDomain(
171
+ input,
172
+ (str) => regexNonASCII.test(str) ? "xn--" + encode(str) : str
173
+ );
174
+ }
175
+ var punycodeUtilsJS = {
176
+ version: "1.0.0",
177
+ ucs2: {
178
+ decode: ucs2decode,
179
+ encode: ucs2encode
180
+ },
181
+ decode,
182
+ encode,
183
+ toASCII,
184
+ toUnicode
185
+ };
186
+
187
+ var sldMap_default = {
188
+ "com.ac": true,
189
+ "net.ac": true,
190
+ "gov.ac": true,
191
+ "org.ac": true,
192
+ "mil.ac": true,
193
+ "co.ae": true,
194
+ "net.ae": true,
195
+ "gov.ae": true,
196
+ "ac.ae": true,
197
+ "sch.ae": true,
198
+ "org.ae": true,
199
+ "mil.ae": true,
200
+ "pro.ae": true,
201
+ "name.ae": true,
202
+ "com.af": true,
203
+ "edu.af": true,
204
+ "gov.af": true,
205
+ "net.af": true,
206
+ "org.af": true,
207
+ "com.al": true,
208
+ "edu.al": true,
209
+ "gov.al": true,
210
+ "mil.al": true,
211
+ "net.al": true,
212
+ "org.al": true,
213
+ "ed.ao": true,
214
+ "gv.ao": true,
215
+ "og.ao": true,
216
+ "co.ao": true,
217
+ "pb.ao": true,
218
+ "it.ao": true,
219
+ "com.ar": true,
220
+ "edu.ar": true,
221
+ "gob.ar": true,
222
+ "gov.ar": true,
223
+ "int.ar": true,
224
+ "mil.ar": true,
225
+ "net.ar": true,
226
+ "org.ar": true,
227
+ "tur.ar": true,
228
+ "gv.at": true,
229
+ "ac.at": true,
230
+ "co.at": true,
231
+ "or.at": true,
232
+ "com.au": true,
233
+ "net.au": true,
234
+ "org.au": true,
235
+ "edu.au": true,
236
+ "gov.au": true,
237
+ "csiro.au": true,
238
+ "asn.au": true,
239
+ "id.au": true,
240
+ "vic.au": true,
241
+ "sa.au": true,
242
+ "wa.au": true,
243
+ "nt.au": true,
244
+ "tas.au": true,
245
+ "qld.au": true,
246
+ "act.au": true,
247
+ "conf.au": true,
248
+ "oz.au": true,
249
+ "org.ba": true,
250
+ "net.ba": true,
251
+ "edu.ba": true,
252
+ "gov.ba": true,
253
+ "mil.ba": true,
254
+ "unsa.ba": true,
255
+ "untz.ba": true,
256
+ "unmo.ba": true,
257
+ "unbi.ba": true,
258
+ "unze.ba": true,
259
+ "co.ba": true,
260
+ "com.ba": true,
261
+ "rs.ba": true,
262
+ "co.bb": true,
263
+ "com.bb": true,
264
+ "net.bb": true,
265
+ "org.bb": true,
266
+ "gov.bb": true,
267
+ "edu.bb": true,
268
+ "info.bb": true,
269
+ "store.bb": true,
270
+ "tv.bb": true,
271
+ "biz.bb": true,
272
+ "com.bh": true,
273
+ "info.bh": true,
274
+ "cc.bh": true,
275
+ "edu.bh": true,
276
+ "biz.bh": true,
277
+ "net.bh": true,
278
+ "org.bh": true,
279
+ "gov.bh": true,
280
+ "com.bn": true,
281
+ "edu.bn": true,
282
+ "gov.bn": true,
283
+ "net.bn": true,
284
+ "org.bn": true,
285
+ "com.bo": true,
286
+ "net.bo": true,
287
+ "org.bo": true,
288
+ "tv.bo": true,
289
+ "mil.bo": true,
290
+ "int.bo": true,
291
+ "gob.bo": true,
292
+ "gov.bo": true,
293
+ "edu.bo": true,
294
+ "adm.br": true,
295
+ "adv.br": true,
296
+ "agr.br": true,
297
+ "am.br": true,
298
+ "arq.br": true,
299
+ "art.br": true,
300
+ "ato.br": true,
301
+ "b.br": true,
302
+ "bio.br": true,
303
+ "blog.br": true,
304
+ "bmd.br": true,
305
+ "cim.br": true,
306
+ "cng.br": true,
307
+ "cnt.br": true,
308
+ "com.br": true,
309
+ "coop.br": true,
310
+ "ecn.br": true,
311
+ "edu.br": true,
312
+ "eng.br": true,
313
+ "esp.br": true,
314
+ "etc.br": true,
315
+ "eti.br": true,
316
+ "far.br": true,
317
+ "flog.br": true,
318
+ "fm.br": true,
319
+ "fnd.br": true,
320
+ "fot.br": true,
321
+ "fst.br": true,
322
+ "g12.br": true,
323
+ "ggf.br": true,
324
+ "gov.br": true,
325
+ "imb.br": true,
326
+ "ind.br": true,
327
+ "inf.br": true,
328
+ "jor.br": true,
329
+ "jus.br": true,
330
+ "lel.br": true,
331
+ "mat.br": true,
332
+ "med.br": true,
333
+ "mil.br": true,
334
+ "mus.br": true,
335
+ "net.br": true,
336
+ "nom.br": true,
337
+ "not.br": true,
338
+ "ntr.br": true,
339
+ "odo.br": true,
340
+ "org.br": true,
341
+ "ppg.br": true,
342
+ "pro.br": true,
343
+ "psc.br": true,
344
+ "psi.br": true,
345
+ "qsl.br": true,
346
+ "rec.br": true,
347
+ "slg.br": true,
348
+ "srv.br": true,
349
+ "tmp.br": true,
350
+ "trd.br": true,
351
+ "tur.br": true,
352
+ "tv.br": true,
353
+ "vet.br": true,
354
+ "vlog.br": true,
355
+ "wiki.br": true,
356
+ "zlg.br": true,
357
+ "com.bs": true,
358
+ "net.bs": true,
359
+ "org.bs": true,
360
+ "edu.bs": true,
361
+ "gov.bs": true,
362
+ "om.bz": true,
363
+ "du.bz": true,
364
+ "ov.bz": true,
365
+ "et.bz": true,
366
+ "rg.bz": true,
367
+ "ab.ca": true,
368
+ "bc.ca": true,
369
+ "mb.ca": true,
370
+ "nb.ca": true,
371
+ "nf.ca": true,
372
+ "nl.ca": true,
373
+ "ns.ca": true,
374
+ "nt.ca": true,
375
+ "nu.ca": true,
376
+ "on.ca": true,
377
+ "pe.ca": true,
378
+ "qc.ca": true,
379
+ "sk.ca": true,
380
+ "yk.ca": true,
381
+ "co.ck": true,
382
+ "org.ck": true,
383
+ "edu.ck": true,
384
+ "gov.ck": true,
385
+ "net.ck": true,
386
+ "gen.ck": true,
387
+ "biz.ck": true,
388
+ "info.ck": true,
389
+ "ac.cn": true,
390
+ "com.cn": true,
391
+ "edu.cn": true,
392
+ "gov.cn": true,
393
+ "mil.cn": true,
394
+ "net.cn": true,
395
+ "org.cn": true,
396
+ "ah.cn": true,
397
+ "bj.cn": true,
398
+ "cq.cn": true,
399
+ "fj.cn": true,
400
+ "gd.cn": true,
401
+ "gs.cn": true,
402
+ "gz.cn": true,
403
+ "gx.cn": true,
404
+ "ha.cn": true,
405
+ "hb.cn": true,
406
+ "he.cn": true,
407
+ "hi.cn": true,
408
+ "hl.cn": true,
409
+ "hn.cn": true,
410
+ "jl.cn": true,
411
+ "js.cn": true,
412
+ "jx.cn": true,
413
+ "ln.cn": true,
414
+ "nm.cn": true,
415
+ "nx.cn": true,
416
+ "qh.cn": true,
417
+ "sc.cn": true,
418
+ "sd.cn": true,
419
+ "sh.cn": true,
420
+ "sn.cn": true,
421
+ "sx.cn": true,
422
+ "tj.cn": true,
423
+ "tw.cn": true,
424
+ "xj.cn": true,
425
+ "xz.cn": true,
426
+ "yn.cn": true,
427
+ "zj.cn": true,
428
+ "com.co": true,
429
+ "org.co": true,
430
+ "edu.co": true,
431
+ "gov.co": true,
432
+ "net.co": true,
433
+ "mil.co": true,
434
+ "nom.co": true,
435
+ "ac.cr": true,
436
+ "co.cr": true,
437
+ "ed.cr": true,
438
+ "fi.cr": true,
439
+ "go.cr": true,
440
+ "or.cr": true,
441
+ "sa.cr": true,
442
+ cr: true,
443
+ "ac.cy": true,
444
+ "net.cy": true,
445
+ "gov.cy": true,
446
+ "org.cy": true,
447
+ "pro.cy": true,
448
+ "name.cy": true,
449
+ "ekloges.cy": true,
450
+ "tm.cy": true,
451
+ "ltd.cy": true,
452
+ "biz.cy": true,
453
+ "press.cy": true,
454
+ "parliament.cy": true,
455
+ "com.cy": true,
456
+ "edu.do": true,
457
+ "gob.do": true,
458
+ "gov.do": true,
459
+ "com.do": true,
460
+ "sld.do": true,
461
+ "org.do": true,
462
+ "net.do": true,
463
+ "web.do": true,
464
+ "mil.do": true,
465
+ "art.do": true,
466
+ "com.dz": true,
467
+ "org.dz": true,
468
+ "net.dz": true,
469
+ "gov.dz": true,
470
+ "edu.dz": true,
471
+ "asso.dz": true,
472
+ "pol.dz": true,
473
+ "art.dz": true,
474
+ "com.ec": true,
475
+ "info.ec": true,
476
+ "net.ec": true,
477
+ "fin.ec": true,
478
+ "med.ec": true,
479
+ "pro.ec": true,
480
+ "org.ec": true,
481
+ "edu.ec": true,
482
+ "gov.ec": true,
483
+ "mil.ec": true,
484
+ "com.eg": true,
485
+ "edu.eg": true,
486
+ "eun.eg": true,
487
+ "gov.eg": true,
488
+ "mil.eg": true,
489
+ "name.eg": true,
490
+ "net.eg": true,
491
+ "org.eg": true,
492
+ "sci.eg": true,
493
+ "com.er": true,
494
+ "edu.er": true,
495
+ "gov.er": true,
496
+ "mil.er": true,
497
+ "net.er": true,
498
+ "org.er": true,
499
+ "ind.er": true,
500
+ "rochest.er": true,
501
+ "w.er": true,
502
+ "com.es": true,
503
+ "nom.es": true,
504
+ "org.es": true,
505
+ "gob.es": true,
506
+ "edu.es": true,
507
+ "com.et": true,
508
+ "gov.et": true,
509
+ "org.et": true,
510
+ "edu.et": true,
511
+ "net.et": true,
512
+ "biz.et": true,
513
+ "name.et": true,
514
+ "info.et": true,
515
+ "ac.fj": true,
516
+ "biz.fj": true,
517
+ "com.fj": true,
518
+ "info.fj": true,
519
+ "mil.fj": true,
520
+ "name.fj": true,
521
+ "net.fj": true,
522
+ "org.fj": true,
523
+ "pro.fj": true,
524
+ "co.fk": true,
525
+ "org.fk": true,
526
+ "gov.fk": true,
527
+ "ac.fk": true,
528
+ "nom.fk": true,
529
+ "net.fk": true,
530
+ fr: true,
531
+ "tm.fr": true,
532
+ "asso.fr": true,
533
+ "nom.fr": true,
534
+ "prd.fr": true,
535
+ "presse.fr": true,
536
+ "com.fr": true,
537
+ "gouv.fr": true,
538
+ "co.gg": true,
539
+ "net.gg": true,
540
+ "org.gg": true,
541
+ "com.gh": true,
542
+ "edu.gh": true,
543
+ "gov.gh": true,
544
+ "org.gh": true,
545
+ "mil.gh": true,
546
+ "co.gl": true,
547
+ "com.gl": true,
548
+ "edu.gl": true,
549
+ "net.gl": true,
550
+ "org.gl": true,
551
+ "com.gn": true,
552
+ "ac.gn": true,
553
+ "gov.gn": true,
554
+ "org.gn": true,
555
+ "net.gn": true,
556
+ "com.gr": true,
557
+ "edu.gr": true,
558
+ "net.gr": true,
559
+ "org.gr": true,
560
+ "gov.gr": true,
561
+ "mil.gr": true,
562
+ "com.gt": true,
563
+ "edu.gt": true,
564
+ "net.gt": true,
565
+ "gob.gt": true,
566
+ "org.gt": true,
567
+ "mil.gt": true,
568
+ "ind.gt": true,
569
+ "com.gu": true,
570
+ "net.gu": true,
571
+ "gov.gu": true,
572
+ "org.gu": true,
573
+ "edu.gu": true,
574
+ "com.hk": true,
575
+ "edu.hk": true,
576
+ "gov.hk": true,
577
+ "idv.hk": true,
578
+ "net.hk": true,
579
+ "org.hk": true,
580
+ "2000.hu": true,
581
+ "agrar.hu": true,
582
+ "bolt.hu": true,
583
+ "casino.hu": true,
584
+ "city.hu": true,
585
+ "co.hu": true,
586
+ "erotica.hu": true,
587
+ "erotika.hu": true,
588
+ "film.hu": true,
589
+ "forum.hu": true,
590
+ "games.hu": true,
591
+ "hotel.hu": true,
592
+ "info.hu": true,
593
+ "ingatlan.hu": true,
594
+ "jogasz.hu": true,
595
+ "konyvelo.hu": true,
596
+ "lakas.hu": true,
597
+ "media.hu": true,
598
+ "news.hu": true,
599
+ "org.hu": true,
600
+ "priv.hu": true,
601
+ "reklam.hu": true,
602
+ "sex.hu": true,
603
+ "shop.hu": true,
604
+ "sport.hu": true,
605
+ "suli.huv": true,
606
+ "szex.hu": true,
607
+ "tm.hu": true,
608
+ "tozsde.hu": true,
609
+ "utazas.hu": true,
610
+ "video.hu": true,
611
+ "ac.id": true,
612
+ "co.id": true,
613
+ "net.id": true,
614
+ "or.id": true,
615
+ "web.id": true,
616
+ "sch.id": true,
617
+ "mil.id": true,
618
+ "go.id": true,
619
+ "war.net.id": true,
620
+ "my.id": true,
621
+ "biz.id": true,
622
+ "ac.il": true,
623
+ "co.il": true,
624
+ "org.il": true,
625
+ "net.il": true,
626
+ "k12.il": true,
627
+ "gov.il": true,
628
+ "muni.il": true,
629
+ "idf.il": true,
630
+ in: true,
631
+ "4fd.in": true,
632
+ "co.in": true,
633
+ "firm.in": true,
634
+ "net.in": true,
635
+ "org.in": true,
636
+ "gen.in": true,
637
+ "ind.in": true,
638
+ "ac.in": true,
639
+ "edu.in": true,
640
+ "res.in": true,
641
+ "ernet.in": true,
642
+ "gov.in": true,
643
+ "mil.in": true,
644
+ "nic.in": true,
645
+ iq: true,
646
+ "gov.iq": true,
647
+ "edu.iq": true,
648
+ "com.iq": true,
649
+ "mil.iq": true,
650
+ "org.iq": true,
651
+ "net.iq": true,
652
+ ir: true,
653
+ "ac.ir": true,
654
+ "co.ir": true,
655
+ "gov.ir": true,
656
+ "id.ir": true,
657
+ "net.ir": true,
658
+ "org.ir": true,
659
+ "sch.ir": true,
660
+ "dnssec.ir": true,
661
+ "gov.it": true,
662
+ "edu.it": true,
663
+ "co.je": true,
664
+ "net.je": true,
665
+ "org.je": true,
666
+ "com.jo": true,
667
+ "net.jo": true,
668
+ "gov.jo": true,
669
+ "edu.jo": true,
670
+ "org.jo": true,
671
+ "mil.jo": true,
672
+ "name.jo": true,
673
+ "sch.jo": true,
674
+ "ac.jp": true,
675
+ "ad.jp": true,
676
+ "co.jp": true,
677
+ "ed.jp": true,
678
+ "go.jp": true,
679
+ "gr.jp": true,
680
+ "lg.jp": true,
681
+ "ne.jp": true,
682
+ "or.jp": true,
683
+ "co.ke": true,
684
+ "or.ke": true,
685
+ "ne.ke": true,
686
+ "go.ke": true,
687
+ "ac.ke": true,
688
+ "sc.ke": true,
689
+ "me.ke": true,
690
+ "mobi.ke": true,
691
+ "info.ke": true,
692
+ "per.kh": true,
693
+ "com.kh": true,
694
+ "edu.kh": true,
695
+ "gov.kh": true,
696
+ "mil.kh": true,
697
+ "net.kh": true,
698
+ "org.kh": true,
699
+ "com.ki": true,
700
+ "biz.ki": true,
701
+ "de.ki": true,
702
+ "net.ki": true,
703
+ "info.ki": true,
704
+ "org.ki": true,
705
+ "gov.ki": true,
706
+ "edu.ki": true,
707
+ "mob.ki": true,
708
+ "tel.ki": true,
709
+ km: true,
710
+ "com.km": true,
711
+ "coop.km": true,
712
+ "asso.km": true,
713
+ "nom.km": true,
714
+ "presse.km": true,
715
+ "tm.km": true,
716
+ "medecin.km": true,
717
+ "notaires.km": true,
718
+ "pharmaciens.km": true,
719
+ "veterinaire.km": true,
720
+ "edu.km": true,
721
+ "gouv.km": true,
722
+ "mil.km": true,
723
+ "net.kn": true,
724
+ "org.kn": true,
725
+ "edu.kn": true,
726
+ "gov.kn": true,
727
+ kr: true,
728
+ "co.kr": true,
729
+ "ne.kr": true,
730
+ "or.kr": true,
731
+ "re.kr": true,
732
+ "pe.kr": true,
733
+ "go.kr": true,
734
+ "mil.kr": true,
735
+ "ac.kr": true,
736
+ "hs.kr": true,
737
+ "ms.kr": true,
738
+ "es.kr": true,
739
+ "sc.kr": true,
740
+ "kg.kr": true,
741
+ "seoul.kr": true,
742
+ "busan.kr": true,
743
+ "daegu.kr": true,
744
+ "incheon.kr": true,
745
+ "gwangju.kr": true,
746
+ "daejeon.kr": true,
747
+ "ulsan.kr": true,
748
+ "gyeonggi.kr": true,
749
+ "gangwon.kr": true,
750
+ "chungbuk.kr": true,
751
+ "chungnam.kr": true,
752
+ "jeonbuk.kr": true,
753
+ "jeonnam.kr": true,
754
+ "gyeongbuk.kr": true,
755
+ "gyeongnam.kr": true,
756
+ "jeju.kr": true,
757
+ "edu.kw": true,
758
+ "com.kw": true,
759
+ "net.kw": true,
760
+ "org.kw": true,
761
+ "gov.kw": true,
762
+ "com.ky": true,
763
+ "org.ky": true,
764
+ "net.ky": true,
765
+ "edu.ky": true,
766
+ "gov.ky": true,
767
+ "com.kz": true,
768
+ "edu.kz": true,
769
+ "gov.kz": true,
770
+ "mil.kz": true,
771
+ "net.kz": true,
772
+ "org.kz": true,
773
+ "com.lb": true,
774
+ "edu.lb": true,
775
+ "gov.lb": true,
776
+ "net.lb": true,
777
+ "org.lb": true,
778
+ "gov.lk": true,
779
+ "sch.lk": true,
780
+ "net.lk": true,
781
+ "int.lk": true,
782
+ "com.lk": true,
783
+ "org.lk": true,
784
+ "edu.lk": true,
785
+ "ngo.lk": true,
786
+ "soc.lk": true,
787
+ "web.lk": true,
788
+ "ltd.lk": true,
789
+ "assn.lk": true,
790
+ "grp.lk": true,
791
+ "hotel.lk": true,
792
+ "com.lr": true,
793
+ "edu.lr": true,
794
+ "gov.lr": true,
795
+ "org.lr": true,
796
+ "net.lr": true,
797
+ "com.lv": true,
798
+ "edu.lv": true,
799
+ "gov.lv": true,
800
+ "org.lv": true,
801
+ "mil.lv": true,
802
+ "id.lv": true,
803
+ "net.lv": true,
804
+ "asn.lv": true,
805
+ "conf.lv": true,
806
+ "com.ly": true,
807
+ "net.ly": true,
808
+ "gov.ly": true,
809
+ "plc.ly": true,
810
+ "edu.ly": true,
811
+ "sch.ly": true,
812
+ "med.ly": true,
813
+ "org.ly": true,
814
+ "id.ly": true,
815
+ ma: true,
816
+ "net.ma": true,
817
+ "ac.ma": true,
818
+ "org.ma": true,
819
+ "gov.ma": true,
820
+ "press.ma": true,
821
+ "co.ma": true,
822
+ "tm.mc": true,
823
+ "asso.mc": true,
824
+ "co.me": true,
825
+ "net.me": true,
826
+ "org.me": true,
827
+ "edu.me": true,
828
+ "ac.me": true,
829
+ "gov.me": true,
830
+ "its.me": true,
831
+ "priv.me": true,
832
+ "org.mg": true,
833
+ "nom.mg": true,
834
+ "gov.mg": true,
835
+ "prd.mg": true,
836
+ "tm.mg": true,
837
+ "edu.mg": true,
838
+ "mil.mg": true,
839
+ "com.mg": true,
840
+ "com.mk": true,
841
+ "org.mk": true,
842
+ "net.mk": true,
843
+ "edu.mk": true,
844
+ "gov.mk": true,
845
+ "inf.mk": true,
846
+ "name.mk": true,
847
+ "pro.mk": true,
848
+ "com.ml": true,
849
+ "net.ml": true,
850
+ "org.ml": true,
851
+ "edu.ml": true,
852
+ "gov.ml": true,
853
+ "presse.ml": true,
854
+ "gov.mn": true,
855
+ "edu.mn": true,
856
+ "org.mn": true,
857
+ "com.mo": true,
858
+ "edu.mo": true,
859
+ "gov.mo": true,
860
+ "net.mo": true,
861
+ "org.mo": true,
862
+ "com.mt": true,
863
+ "org.mt": true,
864
+ "net.mt": true,
865
+ "edu.mt": true,
866
+ "gov.mt": true,
867
+ "aero.mv": true,
868
+ "biz.mv": true,
869
+ "com.mv": true,
870
+ "coop.mv": true,
871
+ "edu.mv": true,
872
+ "gov.mv": true,
873
+ "info.mv": true,
874
+ "int.mv": true,
875
+ "mil.mv": true,
876
+ "museum.mv": true,
877
+ "name.mv": true,
878
+ "net.mv": true,
879
+ "org.mv": true,
880
+ "pro.mv": true,
881
+ "ac.mw": true,
882
+ "co.mw": true,
883
+ "com.mw": true,
884
+ "coop.mw": true,
885
+ "edu.mw": true,
886
+ "gov.mw": true,
887
+ "int.mw": true,
888
+ "museum.mw": true,
889
+ "net.mw": true,
890
+ "org.mw": true,
891
+ "com.mx": true,
892
+ "net.mx": true,
893
+ "org.mx": true,
894
+ "edu.mx": true,
895
+ "gob.mx": true,
896
+ "com.my": true,
897
+ "net.my": true,
898
+ "org.my": true,
899
+ "gov.my": true,
900
+ "edu.my": true,
901
+ "sch.my": true,
902
+ "mil.my": true,
903
+ "name.my": true,
904
+ "com.nf": true,
905
+ "net.nf": true,
906
+ "arts.nf": true,
907
+ "store.nf": true,
908
+ "web.nf": true,
909
+ "firm.nf": true,
910
+ "info.nf": true,
911
+ "other.nf": true,
912
+ "per.nf": true,
913
+ "rec.nf": true,
914
+ "com.ng": true,
915
+ "org.ng": true,
916
+ "gov.ng": true,
917
+ "edu.ng": true,
918
+ "net.ng": true,
919
+ "sch.ng": true,
920
+ "name.ng": true,
921
+ "mobi.ng": true,
922
+ "biz.ng": true,
923
+ "mil.ng": true,
924
+ "gob.ni": true,
925
+ "co.ni": true,
926
+ "com.ni": true,
927
+ "ac.ni": true,
928
+ "edu.ni": true,
929
+ "org.ni": true,
930
+ "nom.ni": true,
931
+ "net.ni": true,
932
+ "mil.ni": true,
933
+ "com.np": true,
934
+ "edu.np": true,
935
+ "gov.np": true,
936
+ "org.np": true,
937
+ "mil.np": true,
938
+ "net.np": true,
939
+ "edu.nr": true,
940
+ "gov.nr": true,
941
+ "biz.nr": true,
942
+ "info.nr": true,
943
+ "net.nr": true,
944
+ "org.nr": true,
945
+ "com.nr": true,
946
+ "com.om": true,
947
+ "co.om": true,
948
+ "edu.om": true,
949
+ "ac.om": true,
950
+ "sch.om": true,
951
+ "gov.om": true,
952
+ "net.om": true,
953
+ "org.om": true,
954
+ "mil.om": true,
955
+ "museum.om": true,
956
+ "biz.om": true,
957
+ "pro.om": true,
958
+ "med.om": true,
959
+ "edu.pe": true,
960
+ "gob.pe": true,
961
+ "nom.pe": true,
962
+ "mil.pe": true,
963
+ "sld.pe": true,
964
+ "org.pe": true,
965
+ "com.pe": true,
966
+ "net.pe": true,
967
+ "com.ph": true,
968
+ "net.ph": true,
969
+ "org.ph": true,
970
+ "mil.ph": true,
971
+ "ngo.ph": true,
972
+ "i.ph": true,
973
+ "gov.ph": true,
974
+ "edu.ph": true,
975
+ "com.pk": true,
976
+ "net.pk": true,
977
+ "edu.pk": true,
978
+ "org.pk": true,
979
+ "fam.pk": true,
980
+ "biz.pk": true,
981
+ "web.pk": true,
982
+ "gov.pk": true,
983
+ "gob.pk": true,
984
+ "gok.pk": true,
985
+ "gon.pk": true,
986
+ "gop.pk": true,
987
+ "gos.pk": true,
988
+ "pwr.pl": true,
989
+ "com.pl": true,
990
+ "biz.pl": true,
991
+ "net.pl": true,
992
+ "art.pl": true,
993
+ "edu.pl": true,
994
+ "org.pl": true,
995
+ "ngo.pl": true,
996
+ "gov.pl": true,
997
+ "info.pl": true,
998
+ "mil.pl": true,
999
+ "waw.pl": true,
1000
+ "warszawa.pl": true,
1001
+ "wroc.pl": true,
1002
+ "wroclaw.pl": true,
1003
+ "krakow.pl": true,
1004
+ "katowice.pl": true,
1005
+ "poznan.pl": true,
1006
+ "lodz.pl": true,
1007
+ "gda.pl": true,
1008
+ "gdansk.pl": true,
1009
+ "slupsk.pl": true,
1010
+ "radom.pl": true,
1011
+ "szczecin.pl": true,
1012
+ "lublin.pl": true,
1013
+ "bialystok.pl": true,
1014
+ "olsztyn.pl": true,
1015
+ "torun.pl": true,
1016
+ "gorzow.pl": true,
1017
+ "zgora.pl": true,
1018
+ "biz.pr": true,
1019
+ "com.pr": true,
1020
+ "edu.pr": true,
1021
+ "gov.pr": true,
1022
+ "info.pr": true,
1023
+ "isla.pr": true,
1024
+ "name.pr": true,
1025
+ "net.pr": true,
1026
+ "org.pr": true,
1027
+ "pro.pr": true,
1028
+ "est.pr": true,
1029
+ "prof.pr": true,
1030
+ "ac.pr": true,
1031
+ "com.ps": true,
1032
+ "net.ps": true,
1033
+ "org.ps": true,
1034
+ "edu.ps": true,
1035
+ "gov.ps": true,
1036
+ "plo.ps": true,
1037
+ "sec.ps": true,
1038
+ "co.pw": true,
1039
+ "ne.pw": true,
1040
+ "or.pw": true,
1041
+ "ed.pw": true,
1042
+ "go.pw": true,
1043
+ "belau.pw": true,
1044
+ "arts.ro": true,
1045
+ "com.ro": true,
1046
+ "firm.ro": true,
1047
+ "info.ro": true,
1048
+ "nom.ro": true,
1049
+ "nt.ro": true,
1050
+ "org.ro": true,
1051
+ "rec.ro": true,
1052
+ "store.ro": true,
1053
+ "tm.ro": true,
1054
+ "www.ro": true,
1055
+ "co.rs": true,
1056
+ "org.rs": true,
1057
+ "edu.rs": true,
1058
+ "ac.rs": true,
1059
+ "gov.rs": true,
1060
+ "in.rs": true,
1061
+ "com.sb": true,
1062
+ "net.sb": true,
1063
+ "edu.sb": true,
1064
+ "org.sb": true,
1065
+ "gov.sb": true,
1066
+ "com.sc": true,
1067
+ "net.sc": true,
1068
+ "edu.sc": true,
1069
+ "gov.sc": true,
1070
+ "org.sc": true,
1071
+ "co.sh": true,
1072
+ "com.sh": true,
1073
+ "org.sh": true,
1074
+ "gov.sh": true,
1075
+ "edu.sh": true,
1076
+ "net.sh": true,
1077
+ "nom.sh": true,
1078
+ "com.sl": true,
1079
+ "net.sl": true,
1080
+ "org.sl": true,
1081
+ "edu.sl": true,
1082
+ "gov.sl": true,
1083
+ "gov.st": true,
1084
+ "saotome.st": true,
1085
+ "principe.st": true,
1086
+ "consulado.st": true,
1087
+ "embaixada.st": true,
1088
+ "org.st": true,
1089
+ "edu.st": true,
1090
+ "net.st": true,
1091
+ "com.st": true,
1092
+ "store.st": true,
1093
+ "mil.st": true,
1094
+ "co.st": true,
1095
+ "edu.sv": true,
1096
+ "gob.sv": true,
1097
+ "com.sv": true,
1098
+ "org.sv": true,
1099
+ "red.sv": true,
1100
+ "co.sz": true,
1101
+ "ac.sz": true,
1102
+ "org.sz": true,
1103
+ "com.tr": true,
1104
+ "gen.tr": true,
1105
+ "org.tr": true,
1106
+ "biz.tr": true,
1107
+ "info.tr": true,
1108
+ "av.tr": true,
1109
+ "dr.tr": true,
1110
+ "pol.tr": true,
1111
+ "bel.tr": true,
1112
+ "tsk.tr": true,
1113
+ "bbs.tr": true,
1114
+ "k12.tr": true,
1115
+ "edu.tr": true,
1116
+ "name.tr": true,
1117
+ "net.tr": true,
1118
+ "gov.tr": true,
1119
+ "web.tr": true,
1120
+ "tel.tr": true,
1121
+ "tv.tr": true,
1122
+ "co.tt": true,
1123
+ "com.tt": true,
1124
+ "org.tt": true,
1125
+ "net.tt": true,
1126
+ "biz.tt": true,
1127
+ "info.tt": true,
1128
+ "pro.tt": true,
1129
+ "int.tt": true,
1130
+ "coop.tt": true,
1131
+ "jobs.tt": true,
1132
+ "mobi.tt": true,
1133
+ "travel.tt": true,
1134
+ "museum.tt": true,
1135
+ "aero.tt": true,
1136
+ "cat.tt": true,
1137
+ "tel.tt": true,
1138
+ "name.tt": true,
1139
+ "mil.tt": true,
1140
+ "edu.tt": true,
1141
+ "gov.tt": true,
1142
+ "edu.tw": true,
1143
+ "gov.tw": true,
1144
+ "mil.tw": true,
1145
+ "com.tw": true,
1146
+ "net.tw": true,
1147
+ "org.tw": true,
1148
+ "idv.tw": true,
1149
+ "game.tw": true,
1150
+ "ebiz.tw": true,
1151
+ "club.tw": true,
1152
+ "com.mu": true,
1153
+ "gov.mu": true,
1154
+ "net.mu": true,
1155
+ "org.mu": true,
1156
+ "ac.mu": true,
1157
+ "co.mu": true,
1158
+ "or.mu": true,
1159
+ "ac.mz": true,
1160
+ "co.mz": true,
1161
+ "edu.mz": true,
1162
+ "org.mz": true,
1163
+ "gov.mz": true,
1164
+ "com.na": true,
1165
+ "co.na": true,
1166
+ "ac.nz": true,
1167
+ "co.nz": true,
1168
+ "cri.nz": true,
1169
+ "geek.nz": true,
1170
+ "gen.nz": true,
1171
+ "govt.nz": true,
1172
+ "health.nz": true,
1173
+ "iwi.nz": true,
1174
+ "maori.nz": true,
1175
+ "mil.nz": true,
1176
+ "net.nz": true,
1177
+ "org.nz": true,
1178
+ "parliament.nz": true,
1179
+ "school.nz": true,
1180
+ "abo.pa": true,
1181
+ "ac.pa": true,
1182
+ "com.pa": true,
1183
+ "edu.pa": true,
1184
+ "gob.pa": true,
1185
+ "ing.pa": true,
1186
+ "med.pa": true,
1187
+ "net.pa": true,
1188
+ "nom.pa": true,
1189
+ "org.pa": true,
1190
+ "sld.pa": true,
1191
+ "com.pt": true,
1192
+ "edu.pt": true,
1193
+ "gov.pt": true,
1194
+ "int.pt": true,
1195
+ "net.pt": true,
1196
+ "nome.pt": true,
1197
+ "org.pt": true,
1198
+ "publ.pt": true,
1199
+ "com.py": true,
1200
+ "edu.py": true,
1201
+ "gov.py": true,
1202
+ "mil.py": true,
1203
+ "net.py": true,
1204
+ "org.py": true,
1205
+ "com.qa": true,
1206
+ "edu.qa": true,
1207
+ "gov.qa": true,
1208
+ "mil.qa": true,
1209
+ "net.qa": true,
1210
+ "org.qa": true,
1211
+ "asso.re": true,
1212
+ "com.re": true,
1213
+ "nom.re": true,
1214
+ "ac.ru": true,
1215
+ "adygeya.ru": true,
1216
+ "altai.ru": true,
1217
+ "amur.ru": true,
1218
+ "arkhangelsk.ru": true,
1219
+ "astrakhan.ru": true,
1220
+ "bashkiria.ru": true,
1221
+ "belgorod.ru": true,
1222
+ "bir.ru": true,
1223
+ "bryansk.ru": true,
1224
+ "buryatia.ru": true,
1225
+ "cbg.ru": true,
1226
+ "chel.ru": true,
1227
+ "chelyabinsk.ru": true,
1228
+ "chita.ru": true,
1229
+ "chukotka.ru": true,
1230
+ "chuvashia.ru": true,
1231
+ "com.ru": true,
1232
+ "dagestan.ru": true,
1233
+ "e-burg.ru": true,
1234
+ "edu.ru": true,
1235
+ "gov.ru": true,
1236
+ "grozny.ru": true,
1237
+ "int.ru": true,
1238
+ "irkutsk.ru": true,
1239
+ "ivanovo.ru": true,
1240
+ "izhevsk.ru": true,
1241
+ "jar.ru": true,
1242
+ "joshkar-ola.ru": true,
1243
+ "kalmykia.ru": true,
1244
+ "kaluga.ru": true,
1245
+ "kamchatka.ru": true,
1246
+ "karelia.ru": true,
1247
+ "kazan.ru": true,
1248
+ "kchr.ru": true,
1249
+ "kemerovo.ru": true,
1250
+ "khabarovsk.ru": true,
1251
+ "khakassia.ru": true,
1252
+ "khv.ru": true,
1253
+ "kirov.ru": true,
1254
+ "koenig.ru": true,
1255
+ "komi.ru": true,
1256
+ "kostroma.ru": true,
1257
+ "kranoyarsk.ru": true,
1258
+ "kuban.ru": true,
1259
+ "kurgan.ru": true,
1260
+ "kursk.ru": true,
1261
+ "lipetsk.ru": true,
1262
+ "magadan.ru": true,
1263
+ "mari.ru": true,
1264
+ "mari-el.ru": true,
1265
+ "marine.ru": true,
1266
+ "mil.ru": true,
1267
+ "mordovia.ru": true,
1268
+ "mosreg.ru": true,
1269
+ "msk.ru": true,
1270
+ "murmansk.ru": true,
1271
+ "nalchik.ru": true,
1272
+ "net.ru": true,
1273
+ "nnov.ru": true,
1274
+ "nov.ru": true,
1275
+ "novosibirsk.ru": true,
1276
+ "nsk.ru": true,
1277
+ "omsk.ru": true,
1278
+ "orenburg.ru": true,
1279
+ "org.ru": true,
1280
+ "oryol.ru": true,
1281
+ "penza.ru": true,
1282
+ "perm.ru": true,
1283
+ "pp.ru": true,
1284
+ "pskov.ru": true,
1285
+ "ptz.ru": true,
1286
+ "rnd.ru": true,
1287
+ "ryazan.ru": true,
1288
+ "sakhalin.ru": true,
1289
+ "samara.ru": true,
1290
+ "saratov.ru": true,
1291
+ "simbirsk.ru": true,
1292
+ "smolensk.ru": true,
1293
+ "spb.ru": true,
1294
+ "stavropol.ru": true,
1295
+ "stv.ru": true,
1296
+ "surgut.ru": true,
1297
+ "tambov.ru": true,
1298
+ "tatarstan.ru": true,
1299
+ "tom.ru": true,
1300
+ "tomsk.ru": true,
1301
+ "tsaritsyn.ru": true,
1302
+ "tsk.ru": true,
1303
+ "tula.ru": true,
1304
+ "tuva.ru": true,
1305
+ "tver.ru": true,
1306
+ "tyumen.ru": true,
1307
+ "udm.ru": true,
1308
+ "udmurtia.ru": true,
1309
+ "ulan-ude.ru": true,
1310
+ "vladikavkaz.ru": true,
1311
+ "vladimir.ru": true,
1312
+ "vladivostok.ru": true,
1313
+ "volgograd.ru": true,
1314
+ "vologda.ru": true,
1315
+ "voronezh.ru": true,
1316
+ "vrn.ru": true,
1317
+ "vyatka.ru": true,
1318
+ "yakutia.ru": true,
1319
+ "yamal.ru": true,
1320
+ "yekaterinburg.ru": true,
1321
+ "yuzhno-sakhalinsk.ru": true,
1322
+ "ac.rw": true,
1323
+ "co.rw": true,
1324
+ "com.rw": true,
1325
+ "edu.rw": true,
1326
+ "gouv.rw": true,
1327
+ "gov.rw": true,
1328
+ "int.rw": true,
1329
+ "mil.rw": true,
1330
+ "net.rw": true,
1331
+ "com.sa": true,
1332
+ "edu.sa": true,
1333
+ "gov.sa": true,
1334
+ "med.sa": true,
1335
+ "net.sa": true,
1336
+ "org.sa": true,
1337
+ "pub.sa": true,
1338
+ "sch.sa": true,
1339
+ "com.sd": true,
1340
+ "edu.sd": true,
1341
+ "gov.sd": true,
1342
+ "info.sd": true,
1343
+ "med.sd": true,
1344
+ "net.sd": true,
1345
+ "org.sd": true,
1346
+ "tv.sd": true,
1347
+ "a.se": true,
1348
+ "ac.se": true,
1349
+ "b.se": true,
1350
+ "bd.se": true,
1351
+ "c.se": true,
1352
+ "d.se": true,
1353
+ "e.se": true,
1354
+ "f.se": true,
1355
+ "g.se": true,
1356
+ "h.se": true,
1357
+ "i.se": true,
1358
+ "k.se": true,
1359
+ "l.se": true,
1360
+ "m.se": true,
1361
+ "n.se": true,
1362
+ "o.se": true,
1363
+ "org.se": true,
1364
+ "p.se": true,
1365
+ "parti.se": true,
1366
+ "pp.se": true,
1367
+ "press.se": true,
1368
+ "r.se": true,
1369
+ "s.se": true,
1370
+ "t.se": true,
1371
+ "tm.se": true,
1372
+ "u.se": true,
1373
+ "w.se": true,
1374
+ "x.se": true,
1375
+ "y.se": true,
1376
+ "z.se": true,
1377
+ "com.sg": true,
1378
+ "edu.sg": true,
1379
+ "gov.sg": true,
1380
+ "idn.sg": true,
1381
+ "net.sg": true,
1382
+ "org.sg": true,
1383
+ "per.sg": true,
1384
+ "art.sn": true,
1385
+ "com.sn": true,
1386
+ "edu.sn": true,
1387
+ "gouv.sn": true,
1388
+ "org.sn": true,
1389
+ "perso.sn": true,
1390
+ "univ.sn": true,
1391
+ "com.sy": true,
1392
+ "edu.sy": true,
1393
+ "gov.sy": true,
1394
+ "mil.sy": true,
1395
+ "net.sy": true,
1396
+ "news.sy": true,
1397
+ "org.sy": true,
1398
+ "ac.th": true,
1399
+ "co.th": true,
1400
+ "go.th": true,
1401
+ "in.th": true,
1402
+ "mi.th": true,
1403
+ "net.th": true,
1404
+ "or.th": true,
1405
+ "ac.tj": true,
1406
+ "biz.tj": true,
1407
+ "co.tj": true,
1408
+ "com.tj": true,
1409
+ "edu.tj": true,
1410
+ "go.tj": true,
1411
+ "gov.tj": true,
1412
+ "info.tj": true,
1413
+ "int.tj": true,
1414
+ "mil.tj": true,
1415
+ "name.tj": true,
1416
+ "net.tj": true,
1417
+ "nic.tj": true,
1418
+ "org.tj": true,
1419
+ "test.tj": true,
1420
+ "web.tj": true,
1421
+ "agrinet.tn": true,
1422
+ "com.tn": true,
1423
+ "defense.tn": true,
1424
+ "edunet.tn": true,
1425
+ "ens.tn": true,
1426
+ "fin.tn": true,
1427
+ "gov.tn": true,
1428
+ "ind.tn": true,
1429
+ "info.tn": true,
1430
+ "intl.tn": true,
1431
+ "mincom.tn": true,
1432
+ "nat.tn": true,
1433
+ "net.tn": true,
1434
+ "org.tn": true,
1435
+ "perso.tn": true,
1436
+ "rnrt.tn": true,
1437
+ "rns.tn": true,
1438
+ "rnu.tn": true,
1439
+ "tourism.tn": true,
1440
+ "ac.tz": true,
1441
+ "co.tz": true,
1442
+ "go.tz": true,
1443
+ "ne.tz": true,
1444
+ "or.tz": true,
1445
+ "biz.ua": true,
1446
+ "cherkassy.ua": true,
1447
+ "chernigov.ua": true,
1448
+ "chernovtsy.ua": true,
1449
+ "ck.ua": true,
1450
+ "cn.ua": true,
1451
+ "co.ua": true,
1452
+ "com.ua": true,
1453
+ "crimea.ua": true,
1454
+ "cv.ua": true,
1455
+ "dn.ua": true,
1456
+ "dnepropetrovsk.ua": true,
1457
+ "donetsk.ua": true,
1458
+ "dp.ua": true,
1459
+ "edu.ua": true,
1460
+ "gov.ua": true,
1461
+ "if.ua": true,
1462
+ "in.ua": true,
1463
+ "ivano-frankivsk.ua": true,
1464
+ "kh.ua": true,
1465
+ "kharkov.ua": true,
1466
+ "kherson.ua": true,
1467
+ "khmelnitskiy.ua": true,
1468
+ "kiev.ua": true,
1469
+ "kirovograd.ua": true,
1470
+ "km.ua": true,
1471
+ "kr.ua": true,
1472
+ "ks.ua": true,
1473
+ "kv.ua": true,
1474
+ "lg.ua": true,
1475
+ "lugansk.ua": true,
1476
+ "lutsk.ua": true,
1477
+ "lviv.ua": true,
1478
+ "me.ua": true,
1479
+ "mk.ua": true,
1480
+ "net.ua": true,
1481
+ "nikolaev.ua": true,
1482
+ "od.ua": true,
1483
+ "odessa.ua": true,
1484
+ "org.ua": true,
1485
+ "pl.ua": true,
1486
+ "poltava.ua": true,
1487
+ "pp.ua": true,
1488
+ "rovno.ua": true,
1489
+ "rv.ua": true,
1490
+ "sebastopol.ua": true,
1491
+ "sumy.ua": true,
1492
+ "te.ua": true,
1493
+ "ternopil.ua": true,
1494
+ "uzhgorod.ua": true,
1495
+ "vinnica.ua": true,
1496
+ "vn.ua": true,
1497
+ "zaporizhzhe.ua": true,
1498
+ "zhitomir.ua": true,
1499
+ "zp.ua": true,
1500
+ "zt.ua": true,
1501
+ "ac.ug": true,
1502
+ "co.ug": true,
1503
+ "go.ug": true,
1504
+ "ne.ug": true,
1505
+ "or.ug": true,
1506
+ "org.ug": true,
1507
+ "sc.ug": true,
1508
+ "ac.uk": true,
1509
+ "bl.uk": true,
1510
+ "british-library.uk": true,
1511
+ "co.uk": true,
1512
+ "cym.uk": true,
1513
+ "gov.uk": true,
1514
+ "govt.uk": true,
1515
+ "icnet.uk": true,
1516
+ "jet.uk": true,
1517
+ "lea.uk": true,
1518
+ "ltd.uk": true,
1519
+ "me.uk": true,
1520
+ "mil.uk": true,
1521
+ "mod.uk": true,
1522
+ "national-library-scotland.uk": true,
1523
+ "nel.uk": true,
1524
+ "net.uk": true,
1525
+ "nhs.uk": true,
1526
+ "nic.uk": true,
1527
+ "nls.uk": true,
1528
+ "org.uk": true,
1529
+ "orgn.uk": true,
1530
+ "parliament.uk": true,
1531
+ "plc.uk": true,
1532
+ "police.uk": true,
1533
+ "sch.uk": true,
1534
+ "scot.uk": true,
1535
+ "soc.uk": true,
1536
+ "4fd.us": true,
1537
+ "dni.us": true,
1538
+ "fed.us": true,
1539
+ "isa.us": true,
1540
+ "kids.us": true,
1541
+ "nsn.us": true,
1542
+ "com.uy": true,
1543
+ "edu.uy": true,
1544
+ "gub.uy": true,
1545
+ "mil.uy": true,
1546
+ "net.uy": true,
1547
+ "org.uy": true,
1548
+ "co.ve": true,
1549
+ "com.ve": true,
1550
+ "edu.ve": true,
1551
+ "gob.ve": true,
1552
+ "info.ve": true,
1553
+ "mil.ve": true,
1554
+ "net.ve": true,
1555
+ "org.ve": true,
1556
+ "web.ve": true,
1557
+ "co.vi": true,
1558
+ "com.vi": true,
1559
+ "k12.vi": true,
1560
+ "net.vi": true,
1561
+ "org.vi": true,
1562
+ "ac.vn": true,
1563
+ "biz.vn": true,
1564
+ "com.vn": true,
1565
+ "edu.vn": true,
1566
+ "gov.vn": true,
1567
+ "health.vn": true,
1568
+ "info.vn": true,
1569
+ "int.vn": true,
1570
+ "name.vn": true,
1571
+ "net.vn": true,
1572
+ "org.vn": true,
1573
+ "pro.vn": true,
1574
+ "co.ye": true,
1575
+ "com.ye": true,
1576
+ "gov.ye": true,
1577
+ "ltd.ye": true,
1578
+ "me.ye": true,
1579
+ "net.ye": true,
1580
+ "org.ye": true,
1581
+ "plc.ye": true,
1582
+ "ac.yu": true,
1583
+ "co.yu": true,
1584
+ "edu.yu": true,
1585
+ "gov.yu": true,
1586
+ "org.yu": true,
1587
+ "ac.za": true,
1588
+ "agric.za": true,
1589
+ "alt.za": true,
1590
+ "bourse.za": true,
1591
+ "city.za": true,
1592
+ "co.za": true,
1593
+ "cybernet.za": true,
1594
+ "db.za": true,
1595
+ "ecape.school.za": true,
1596
+ "edu.za": true,
1597
+ "fs.school.za": true,
1598
+ "gov.za": true,
1599
+ "gp.school.za": true,
1600
+ "grondar.za": true,
1601
+ "iaccess.za": true,
1602
+ "imt.za": true,
1603
+ "inca.za": true,
1604
+ "kzn.school.za": true,
1605
+ "landesign.za": true,
1606
+ "law.za": true,
1607
+ "lp.school.za": true,
1608
+ "mil.za": true,
1609
+ "mpm.school.za": true,
1610
+ "ncape.school.za": true,
1611
+ "net.za": true,
1612
+ "ngo.za": true,
1613
+ "nis.za": true,
1614
+ "nom.za": true,
1615
+ "nw.school.za": true,
1616
+ "olivetti.za": true,
1617
+ "org.za": true,
1618
+ "pix.za": true,
1619
+ "school.za": true,
1620
+ "tm.za": true,
1621
+ "wcape.school.za": true,
1622
+ "web.za": true,
1623
+ "ac.zm": true,
1624
+ "co.zm": true,
1625
+ "com.zm": true,
1626
+ "edu.zm": true,
1627
+ "gov.zm": true,
1628
+ "net.zm": true,
1629
+ "org.zm": true,
1630
+ "sch.zm": true
1631
+ };
1632
+
1633
+ var ccTldMap_default = {
1634
+ ad: true,
1635
+ ae: true,
1636
+ af: true,
1637
+ ag: true,
1638
+ ai: true,
1639
+ al: true,
1640
+ am: true,
1641
+ ao: true,
1642
+ aq: true,
1643
+ ar: true,
1644
+ as: true,
1645
+ at: true,
1646
+ au: true,
1647
+ aw: true,
1648
+ ax: true,
1649
+ az: true,
1650
+ ba: true,
1651
+ bb: true,
1652
+ bd: true,
1653
+ be: true,
1654
+ bf: true,
1655
+ bg: true,
1656
+ bh: true,
1657
+ bi: true,
1658
+ bj: true,
1659
+ bl: true,
1660
+ bm: true,
1661
+ bn: true,
1662
+ bo: true,
1663
+ bq: true,
1664
+ br: true,
1665
+ bs: true,
1666
+ bt: true,
1667
+ bv: true,
1668
+ bw: true,
1669
+ by: true,
1670
+ bz: true,
1671
+ ca: true,
1672
+ cc: true,
1673
+ cd: true,
1674
+ cf: true,
1675
+ cg: true,
1676
+ ch: true,
1677
+ ci: true,
1678
+ ck: true,
1679
+ cl: true,
1680
+ cm: true,
1681
+ cn: true,
1682
+ co: true,
1683
+ cr: true,
1684
+ cu: true,
1685
+ cv: true,
1686
+ cw: true,
1687
+ cx: true,
1688
+ cy: true,
1689
+ cz: true,
1690
+ de: true,
1691
+ dj: true,
1692
+ dk: true,
1693
+ dm: true,
1694
+ do: true,
1695
+ dz: true,
1696
+ ec: true,
1697
+ ee: true,
1698
+ eg: true,
1699
+ er: true,
1700
+ es: true,
1701
+ et: true,
1702
+ fi: true,
1703
+ fj: true,
1704
+ fk: true,
1705
+ fm: true,
1706
+ fo: true,
1707
+ fr: true,
1708
+ ga: true,
1709
+ "gb (.uk)": true,
1710
+ gd: true,
1711
+ ge: true,
1712
+ gf: true,
1713
+ gg: true,
1714
+ gh: true,
1715
+ gi: true,
1716
+ gl: true,
1717
+ gm: true,
1718
+ gn: true,
1719
+ gp: true,
1720
+ gq: true,
1721
+ gr: true,
1722
+ gs: true,
1723
+ gt: true,
1724
+ gu: true,
1725
+ gw: true,
1726
+ gy: true,
1727
+ hk: true,
1728
+ hm: true,
1729
+ hn: true,
1730
+ hr: true,
1731
+ ht: true,
1732
+ hu: true,
1733
+ id: true,
1734
+ ie: true,
1735
+ il: true,
1736
+ im: true,
1737
+ in: true,
1738
+ io: true,
1739
+ iq: true,
1740
+ ir: true,
1741
+ is: true,
1742
+ it: true,
1743
+ je: true,
1744
+ jm: true,
1745
+ jo: true,
1746
+ jp: true,
1747
+ ke: true,
1748
+ kg: true,
1749
+ kh: true,
1750
+ ki: true,
1751
+ km: true,
1752
+ kn: true,
1753
+ kp: true,
1754
+ kr: true,
1755
+ kw: true,
1756
+ ky: true,
1757
+ kz: true,
1758
+ la: true,
1759
+ lb: true,
1760
+ lc: true,
1761
+ li: true,
1762
+ lk: true,
1763
+ lr: true,
1764
+ ls: true,
1765
+ lt: true,
1766
+ lu: true,
1767
+ lv: true,
1768
+ ly: true,
1769
+ ma: true,
1770
+ mc: true,
1771
+ md: true,
1772
+ me: true,
1773
+ mf: true,
1774
+ mg: true,
1775
+ mh: true,
1776
+ mk: true,
1777
+ ml: true,
1778
+ mm: true,
1779
+ mn: true,
1780
+ mo: true,
1781
+ mp: true,
1782
+ mq: true,
1783
+ mr: true,
1784
+ ms: true,
1785
+ mt: true,
1786
+ mu: true,
1787
+ mv: true,
1788
+ mw: true,
1789
+ mx: true,
1790
+ my: true,
1791
+ mz: true,
1792
+ na: true,
1793
+ nc: true,
1794
+ ne: true,
1795
+ nf: true,
1796
+ ng: true,
1797
+ ni: true,
1798
+ nl: true,
1799
+ no: true,
1800
+ np: true,
1801
+ nr: true,
1802
+ nu: true,
1803
+ nz: true,
1804
+ om: true,
1805
+ pa: true,
1806
+ pe: true,
1807
+ pf: true,
1808
+ pg: true,
1809
+ ph: true,
1810
+ pk: true,
1811
+ pl: true,
1812
+ pm: true,
1813
+ pn: true,
1814
+ pr: true,
1815
+ ps: true,
1816
+ pt: true,
1817
+ pw: true,
1818
+ py: true,
1819
+ qa: true,
1820
+ re: true,
1821
+ ro: true,
1822
+ rs: true,
1823
+ ru: true,
1824
+ rw: true,
1825
+ sa: true,
1826
+ sb: true,
1827
+ sc: true,
1828
+ sd: true,
1829
+ se: true,
1830
+ sg: true,
1831
+ sh: true,
1832
+ si: true,
1833
+ sj: true,
1834
+ sk: true,
1835
+ sl: true,
1836
+ sm: true,
1837
+ sn: true,
1838
+ so: true,
1839
+ sr: true,
1840
+ ss: true,
1841
+ st: true,
1842
+ sv: true,
1843
+ sx: true,
1844
+ sy: true,
1845
+ sz: true,
1846
+ tc: true,
1847
+ td: true,
1848
+ tf: true,
1849
+ tg: true,
1850
+ th: true,
1851
+ tj: true,
1852
+ tk: true,
1853
+ tl: true,
1854
+ tm: true,
1855
+ tn: true,
1856
+ to: true,
1857
+ tr: true,
1858
+ tt: true,
1859
+ tv: true,
1860
+ tw: true,
1861
+ tz: true,
1862
+ ua: true,
1863
+ ug: true,
1864
+ us: true,
1865
+ uy: true,
1866
+ uz: true,
1867
+ va: true,
1868
+ vc: true,
1869
+ ve: true,
1870
+ vg: true,
1871
+ vi: true,
1872
+ vn: true,
1873
+ vu: true,
1874
+ wf: true,
1875
+ ws: true,
1876
+ ye: true,
1877
+ yt: true,
1878
+ za: true,
1879
+ zm: true,
1880
+ zw: true
1881
+ };
1882
+
1883
+ function isValidDomain(value, options = {}) {
1884
+ if (!chunkF3WBQKRI_cjs.isString(value)) return false;
1885
+ chunkF3WBQKRI_cjs.assertIsPlainObject(options, {
1886
+ message: ({ currentType, validType }) => `Second parameter (\`options\`) must be of type \`${validType}\`, but received: \`${currentType}\`.`
1887
+ });
1888
+ const {
1889
+ subdomain = true,
1890
+ topLevel = false,
1891
+ wildcard = false,
1892
+ allowUnicode = false,
1893
+ allowPort = false,
1894
+ allowLocalhost = false,
1895
+ allowProtocol = false
1896
+ } = options;
1897
+ const invalid = Object.entries({
1898
+ subdomain,
1899
+ topLevel,
1900
+ wildcard,
1901
+ allowUnicode,
1902
+ allowProtocol,
1903
+ allowPort,
1904
+ allowLocalhost
1905
+ }).filter(([, value2]) => !chunkF3WBQKRI_cjs.isBoolean(value2));
1906
+ if (invalid.length) {
1907
+ const msg = invalid.map(
1908
+ ([key, value2], i) => ` ${i + 1}. option: "${key}"
1909
+ expected: boolean
1910
+ received: ${chunkF3WBQKRI_cjs.getPreciseType(value2)} (${chunkYC7AK3KX_cjs.safeStableStringify(value2, {
1911
+ keepUndefined: true
1912
+ })})`
1913
+ ).join("\n");
1914
+ throw new TypeError(
1915
+ `
1916
+ > Invalid options detected in second parameter of \`isValidDomain\`:
1917
+ ${msg}`
1918
+ );
1919
+ }
1920
+ let _value = value.toLowerCase();
1921
+ if (allowProtocol) {
1922
+ try {
1923
+ const url = new URL(value);
1924
+ if (url.protocol !== "http:" && url.protocol !== "https:") return false;
1925
+ if (!allowPort && url.port) return false;
1926
+ _value = url.hostname.toLowerCase();
1927
+ const labels2 = _value.split(".");
1928
+ if (labels2[0] === "*" && !wildcard) return false;
1929
+ } catch {
1930
+ }
1931
+ }
1932
+ if (value.endsWith(".")) {
1933
+ _value = _value.slice(0, _value.length - 1);
1934
+ }
1935
+ let port = "";
1936
+ if (allowPort) {
1937
+ const portMatch = _value.match(/:(\d{1,5})$/);
1938
+ if (portMatch) {
1939
+ port = portMatch[0];
1940
+ _value = _value.slice(0, -port.length);
1941
+ const portNum = Number(portMatch[1]);
1942
+ if (portNum < 1 || portNum > 65535) return false;
1943
+ }
1944
+ }
1945
+ if (allowLocalhost && _value === "localhost") return true;
1946
+ if (allowUnicode) {
1947
+ try {
1948
+ _value = punycodeUtilsJS.toASCII(_value);
1949
+ } catch {
1950
+ return false;
1951
+ }
1952
+ }
1953
+ if (_value.length > 253) return false;
1954
+ const validChars = /^([\u0E00-\u0E7Fa-z0-9-._*]+)$/g;
1955
+ if (!validChars.test(_value)) return false;
1956
+ if (topLevel) {
1957
+ if (ccTldMap_default[_value.replace(/\.$/, "")]) {
1958
+ return true;
1959
+ }
1960
+ }
1961
+ const sldRegex = /(.*)\.(([\u0E00-\u0E7Fa-z0-9]+)(\.[a-z0-9]+))/;
1962
+ const matches = _value.match(sldRegex);
1963
+ let tld = null;
1964
+ let labels = null;
1965
+ if (matches && matches.length > 2) {
1966
+ if (sldMap_default[matches[2]]) {
1967
+ tld = matches[2];
1968
+ labels = matches[1].split(".");
1969
+ }
1970
+ }
1971
+ if (!labels) {
1972
+ labels = _value.split(".");
1973
+ if (labels.length <= 1) return false;
1974
+ tld = labels.pop();
1975
+ const tldRegex = /^(?:xn--)?(?!^\d+$)[\u0E00-\u0E7Fa-z0-9]+$/gi;
1976
+ if (!tldRegex.test(tld)) return false;
1977
+ }
1978
+ if (subdomain === false && labels.length > 1) return false;
1979
+ return labels.every((label, index) => {
1980
+ if (wildcard && index === 0 && label === "*" && labels.length > 1) {
1981
+ return true;
1982
+ }
1983
+ let validLabelChars = /^([\u0E00-\u0E7Fa-zA-Z0-9-_]+)$/g;
1984
+ if (index === labels.length - 1) {
1985
+ validLabelChars = /^([\u0E00-\u0E7Fa-zA-Z0-9-]+)$/g;
1986
+ }
1987
+ const doubleDashCount = (label.match(/--(--)?/g) || []).length;
1988
+ const xnDashCount = (label.match(/xn--/g) || []).length;
1989
+ if (index === labels.length - 1 && doubleDashCount !== xnDashCount) {
1990
+ return false;
1991
+ }
1992
+ return validLabelChars.test(label) && label.length < 64 && !label.startsWith("-") && !label.endsWith("-");
1993
+ });
1994
+ }
1995
+
1996
+ exports.isValidDomain = isValidDomain;
1997
+ exports.punycodeUtilsJS = punycodeUtilsJS;