@parcel/utils 2.6.0 → 2.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.
- package/lib/index.js +778 -661
- package/lib/index.js.map +1 -1
- package/package.json +7 -7
- package/src/collection.js +12 -0
- package/src/config.js +1 -1
- package/src/http-server.js +19 -7
- package/src/index.js +2 -0
- package/src/progress-message.js +22 -0
- package/test/config.test.js +48 -0
- package/test/input/config/.testrc +3 -0
- package/test/input/config/config.cjs +3 -0
- package/test/input/config/config.js +3 -0
package/lib/index.js
CHANGED
|
@@ -137,7 +137,7 @@ const $304f14c7e435813f$var$isObject = (val)=>val && typeof val === "object" &&
|
|
|
137
137
|
const opts = options || {};
|
|
138
138
|
const posix = $5MQDC.isWindows(options);
|
|
139
139
|
const regex = isState ? $304f14c7e435813f$var$picomatch.compileRe(glob, options) : $304f14c7e435813f$var$picomatch.makeRe(glob, options, false, true);
|
|
140
|
-
const
|
|
140
|
+
const state = regex.state;
|
|
141
141
|
delete regex.state;
|
|
142
142
|
let isIgnored = ()=>false;
|
|
143
143
|
if (opts.ignore) {
|
|
@@ -156,7 +156,7 @@ const $304f14c7e435813f$var$isObject = (val)=>val && typeof val === "object" &&
|
|
|
156
156
|
});
|
|
157
157
|
const result = {
|
|
158
158
|
glob: glob,
|
|
159
|
-
state:
|
|
159
|
+
state: state,
|
|
160
160
|
regex: regex,
|
|
161
161
|
posix: posix,
|
|
162
162
|
input: input,
|
|
@@ -177,7 +177,7 @@ const $304f14c7e435813f$var$isObject = (val)=>val && typeof val === "object" &&
|
|
|
177
177
|
if (typeof opts.onMatch === "function") opts.onMatch(result);
|
|
178
178
|
return returnObject ? result : true;
|
|
179
179
|
};
|
|
180
|
-
if (returnState) matcher.state =
|
|
180
|
+
if (returnState) matcher.state = state;
|
|
181
181
|
return matcher;
|
|
182
182
|
};
|
|
183
183
|
/**
|
|
@@ -665,10 +665,10 @@ const $1e0430853cfb927a$var$depth = (token)=>{
|
|
|
665
665
|
prevIndex = i;
|
|
666
666
|
}
|
|
667
667
|
if (prevIndex && prevIndex + 1 < input.length) {
|
|
668
|
-
const
|
|
669
|
-
parts.push(
|
|
668
|
+
const value1 = input.slice(prevIndex + 1);
|
|
669
|
+
parts.push(value1);
|
|
670
670
|
if (opts.tokens) {
|
|
671
|
-
tokens[tokens.length - 1].value =
|
|
671
|
+
tokens[tokens.length - 1].value = value1;
|
|
672
672
|
$1e0430853cfb927a$var$depth(tokens[tokens.length - 1]);
|
|
673
673
|
state.maxDepth += tokens[tokens.length - 1].depth;
|
|
674
674
|
}
|
|
@@ -968,21 +968,21 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
968
968
|
*/ const $fd5d6f248e5b4a63$var$parse = (input, options)=>{
|
|
969
969
|
if (typeof input !== "string") throw new TypeError("Expected a string");
|
|
970
970
|
input = $fd5d6f248e5b4a63$var$REPLACEMENTS[input] || input;
|
|
971
|
-
const
|
|
971
|
+
const opts = {
|
|
972
972
|
...options
|
|
973
973
|
};
|
|
974
|
-
const max = typeof
|
|
974
|
+
const max = typeof opts.maxLength === "number" ? Math.min($fd5d6f248e5b4a63$var$MAX_LENGTH, opts.maxLength) : $fd5d6f248e5b4a63$var$MAX_LENGTH;
|
|
975
975
|
let len = input.length;
|
|
976
976
|
if (len > max) throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
|
|
977
977
|
const bos = {
|
|
978
978
|
type: "bos",
|
|
979
979
|
value: "",
|
|
980
|
-
output:
|
|
980
|
+
output: opts.prepend || ""
|
|
981
981
|
};
|
|
982
982
|
const tokens = [
|
|
983
983
|
bos
|
|
984
984
|
];
|
|
985
|
-
const capture =
|
|
985
|
+
const capture = opts.capture ? "" : "?:";
|
|
986
986
|
const win32 = $5MQDC.isWindows(options);
|
|
987
987
|
// create constants based on platform, for windows or posix
|
|
988
988
|
const PLATFORM_CHARS = $7XmS6.globChars(win32);
|
|
@@ -991,17 +991,17 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
991
991
|
const globstar = (opts)=>{
|
|
992
992
|
return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
|
|
993
993
|
};
|
|
994
|
-
const nodot =
|
|
995
|
-
const qmarkNoDot =
|
|
996
|
-
let star =
|
|
997
|
-
if (
|
|
994
|
+
const nodot = opts.dot ? "" : NO_DOT;
|
|
995
|
+
const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;
|
|
996
|
+
let star = opts.bash === true ? globstar(opts) : STAR;
|
|
997
|
+
if (opts.capture) star = `(${star})`;
|
|
998
998
|
// minimatch options support
|
|
999
|
-
if (typeof
|
|
999
|
+
if (typeof opts.noext === "boolean") opts.noextglob = opts.noext;
|
|
1000
1000
|
const state = {
|
|
1001
1001
|
input: input,
|
|
1002
1002
|
index: -1,
|
|
1003
1003
|
start: 0,
|
|
1004
|
-
dot:
|
|
1004
|
+
dot: opts.dot === true,
|
|
1005
1005
|
consumed: "",
|
|
1006
1006
|
output: "",
|
|
1007
1007
|
prefix: "",
|
|
@@ -1020,7 +1020,7 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1020
1020
|
const braces = [];
|
|
1021
1021
|
const stack = [];
|
|
1022
1022
|
let prev = bos;
|
|
1023
|
-
let
|
|
1023
|
+
let value;
|
|
1024
1024
|
/**
|
|
1025
1025
|
* Tokenizing helpers
|
|
1026
1026
|
*/ const eos = ()=>state.index === len - 1;
|
|
@@ -1093,7 +1093,7 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1093
1093
|
token.prev = prev;
|
|
1094
1094
|
token.parens = state.parens;
|
|
1095
1095
|
token.output = state.output;
|
|
1096
|
-
const output = (
|
|
1096
|
+
const output = (opts.capture ? "(" : "") + token.open;
|
|
1097
1097
|
increment("parens");
|
|
1098
1098
|
push({
|
|
1099
1099
|
type: type,
|
|
@@ -1109,11 +1109,11 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1109
1109
|
extglobs.push(token);
|
|
1110
1110
|
};
|
|
1111
1111
|
const extglobClose = (token)=>{
|
|
1112
|
-
let output = token.close + (
|
|
1112
|
+
let output = token.close + (opts.capture ? ")" : "");
|
|
1113
1113
|
let rest;
|
|
1114
1114
|
if (token.type === "negate") {
|
|
1115
1115
|
let extglobStar = star;
|
|
1116
|
-
if (token.inner && token.inner.length > 1 && token.inner.includes("/")) extglobStar = globstar(
|
|
1116
|
+
if (token.inner && token.inner.length > 1 && token.inner.includes("/")) extglobStar = globstar(opts);
|
|
1117
1117
|
if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) output = token.close = `)$))${extglobStar}`;
|
|
1118
1118
|
if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) output = token.close = `)${rest})${extglobStar})`;
|
|
1119
1119
|
if (token.prev.type === "bos") state.negatedExtglob = true;
|
|
@@ -1121,14 +1121,14 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1121
1121
|
push({
|
|
1122
1122
|
type: "paren",
|
|
1123
1123
|
extglob: true,
|
|
1124
|
-
value:
|
|
1124
|
+
value: value,
|
|
1125
1125
|
output: output
|
|
1126
1126
|
});
|
|
1127
1127
|
decrement("parens");
|
|
1128
1128
|
};
|
|
1129
1129
|
/**
|
|
1130
1130
|
* Fast paths
|
|
1131
|
-
*/ if (
|
|
1131
|
+
*/ if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) {
|
|
1132
1132
|
let backslashes = false;
|
|
1133
1133
|
let output = input.replace($fd5d6f248e5b4a63$var$REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index)=>{
|
|
1134
1134
|
if (first === "\\") {
|
|
@@ -1148,12 +1148,12 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1148
1148
|
return esc ? m : `\\${m}`;
|
|
1149
1149
|
});
|
|
1150
1150
|
if (backslashes === true) {
|
|
1151
|
-
if (
|
|
1151
|
+
if (opts.unescape === true) output = output.replace(/\\/g, "");
|
|
1152
1152
|
else output = output.replace(/\\+/g, (m)=>{
|
|
1153
1153
|
return m.length % 2 === 0 ? "\\\\" : m ? "\\" : "";
|
|
1154
1154
|
});
|
|
1155
1155
|
}
|
|
1156
|
-
if (output === input &&
|
|
1156
|
+
if (output === input && opts.contains === true) {
|
|
1157
1157
|
state.output = input;
|
|
1158
1158
|
return state;
|
|
1159
1159
|
}
|
|
@@ -1163,19 +1163,19 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1163
1163
|
/**
|
|
1164
1164
|
* Tokenize input until we reach end-of-string
|
|
1165
1165
|
*/ while(!eos()){
|
|
1166
|
-
|
|
1167
|
-
if (
|
|
1166
|
+
value = advance();
|
|
1167
|
+
if (value === "\0") continue;
|
|
1168
1168
|
/**
|
|
1169
1169
|
* Escaped characters
|
|
1170
|
-
*/ if (
|
|
1170
|
+
*/ if (value === "\\") {
|
|
1171
1171
|
const next = peek();
|
|
1172
|
-
if (next === "/" &&
|
|
1172
|
+
if (next === "/" && opts.bash !== true) continue;
|
|
1173
1173
|
if (next === "." || next === ";") continue;
|
|
1174
1174
|
if (!next) {
|
|
1175
|
-
|
|
1175
|
+
value += "\\";
|
|
1176
1176
|
push({
|
|
1177
1177
|
type: "text",
|
|
1178
|
-
value:
|
|
1178
|
+
value: value
|
|
1179
1179
|
});
|
|
1180
1180
|
continue;
|
|
1181
1181
|
}
|
|
@@ -1185,14 +1185,14 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1185
1185
|
if (match && match[0].length > 2) {
|
|
1186
1186
|
slashes = match[0].length;
|
|
1187
1187
|
state.index += slashes;
|
|
1188
|
-
if (slashes % 2 !== 0)
|
|
1188
|
+
if (slashes % 2 !== 0) value += "\\";
|
|
1189
1189
|
}
|
|
1190
|
-
if (
|
|
1191
|
-
else
|
|
1190
|
+
if (opts.unescape === true) value = advance();
|
|
1191
|
+
else value += advance();
|
|
1192
1192
|
if (state.brackets === 0) {
|
|
1193
1193
|
push({
|
|
1194
1194
|
type: "text",
|
|
1195
|
-
value:
|
|
1195
|
+
value: value
|
|
1196
1196
|
});
|
|
1197
1197
|
continue;
|
|
1198
1198
|
}
|
|
@@ -1200,8 +1200,8 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1200
1200
|
/**
|
|
1201
1201
|
* If we're inside a regex character class, continue
|
|
1202
1202
|
* until we reach the closing bracket.
|
|
1203
|
-
*/ if (state.brackets > 0 && (
|
|
1204
|
-
if (
|
|
1203
|
+
*/ if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) {
|
|
1204
|
+
if (opts.posix !== false && value === ":") {
|
|
1205
1205
|
const inner = prev.value.slice(1);
|
|
1206
1206
|
if (inner.includes("[")) {
|
|
1207
1207
|
prev.posix = true;
|
|
@@ -1220,48 +1220,48 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1220
1220
|
}
|
|
1221
1221
|
}
|
|
1222
1222
|
}
|
|
1223
|
-
if (
|
|
1224
|
-
if (
|
|
1225
|
-
if (
|
|
1226
|
-
prev.value +=
|
|
1223
|
+
if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") value = `\\${value}`;
|
|
1224
|
+
if (value === "]" && (prev.value === "[" || prev.value === "[^")) value = `\\${value}`;
|
|
1225
|
+
if (opts.posix === true && value === "!" && prev.value === "[") value = "^";
|
|
1226
|
+
prev.value += value;
|
|
1227
1227
|
append({
|
|
1228
|
-
value:
|
|
1228
|
+
value: value
|
|
1229
1229
|
});
|
|
1230
1230
|
continue;
|
|
1231
1231
|
}
|
|
1232
1232
|
/**
|
|
1233
1233
|
* If we're inside a quoted string, continue
|
|
1234
1234
|
* until we reach the closing double quote.
|
|
1235
|
-
*/ if (state.quotes === 1 &&
|
|
1236
|
-
|
|
1237
|
-
prev.value +=
|
|
1235
|
+
*/ if (state.quotes === 1 && value !== '"') {
|
|
1236
|
+
value = $5MQDC.escapeRegex(value);
|
|
1237
|
+
prev.value += value;
|
|
1238
1238
|
append({
|
|
1239
|
-
value:
|
|
1239
|
+
value: value
|
|
1240
1240
|
});
|
|
1241
1241
|
continue;
|
|
1242
1242
|
}
|
|
1243
1243
|
/**
|
|
1244
1244
|
* Double quotes
|
|
1245
|
-
*/ if (
|
|
1245
|
+
*/ if (value === '"') {
|
|
1246
1246
|
state.quotes = state.quotes === 1 ? 0 : 1;
|
|
1247
|
-
if (
|
|
1247
|
+
if (opts.keepQuotes === true) push({
|
|
1248
1248
|
type: "text",
|
|
1249
|
-
value:
|
|
1249
|
+
value: value
|
|
1250
1250
|
});
|
|
1251
1251
|
continue;
|
|
1252
1252
|
}
|
|
1253
1253
|
/**
|
|
1254
1254
|
* Parentheses
|
|
1255
|
-
*/ if (
|
|
1255
|
+
*/ if (value === "(") {
|
|
1256
1256
|
increment("parens");
|
|
1257
1257
|
push({
|
|
1258
1258
|
type: "paren",
|
|
1259
|
-
value:
|
|
1259
|
+
value: value
|
|
1260
1260
|
});
|
|
1261
1261
|
continue;
|
|
1262
1262
|
}
|
|
1263
|
-
if (
|
|
1264
|
-
if (state.parens === 0 &&
|
|
1263
|
+
if (value === ")") {
|
|
1264
|
+
if (state.parens === 0 && opts.strictBrackets === true) throw new SyntaxError($fd5d6f248e5b4a63$var$syntaxError("opening", "("));
|
|
1265
1265
|
const extglob = extglobs[extglobs.length - 1];
|
|
1266
1266
|
if (extglob && state.parens === extglob.parens + 1) {
|
|
1267
1267
|
extglobClose(extglobs.pop());
|
|
@@ -1269,7 +1269,7 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1269
1269
|
}
|
|
1270
1270
|
push({
|
|
1271
1271
|
type: "paren",
|
|
1272
|
-
value:
|
|
1272
|
+
value: value,
|
|
1273
1273
|
output: state.parens ? ")" : "\\)"
|
|
1274
1274
|
});
|
|
1275
1275
|
decrement("parens");
|
|
@@ -1277,50 +1277,50 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1277
1277
|
}
|
|
1278
1278
|
/**
|
|
1279
1279
|
* Square brackets
|
|
1280
|
-
*/ if (
|
|
1281
|
-
if (
|
|
1282
|
-
if (
|
|
1283
|
-
|
|
1280
|
+
*/ if (value === "[") {
|
|
1281
|
+
if (opts.nobracket === true || !remaining().includes("]")) {
|
|
1282
|
+
if (opts.nobracket !== true && opts.strictBrackets === true) throw new SyntaxError($fd5d6f248e5b4a63$var$syntaxError("closing", "]"));
|
|
1283
|
+
value = `\\${value}`;
|
|
1284
1284
|
} else increment("brackets");
|
|
1285
1285
|
push({
|
|
1286
1286
|
type: "bracket",
|
|
1287
|
-
value:
|
|
1287
|
+
value: value
|
|
1288
1288
|
});
|
|
1289
1289
|
continue;
|
|
1290
1290
|
}
|
|
1291
|
-
if (
|
|
1292
|
-
if (
|
|
1291
|
+
if (value === "]") {
|
|
1292
|
+
if (opts.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) {
|
|
1293
1293
|
push({
|
|
1294
1294
|
type: "text",
|
|
1295
|
-
value:
|
|
1296
|
-
output: `\\${
|
|
1295
|
+
value: value,
|
|
1296
|
+
output: `\\${value}`
|
|
1297
1297
|
});
|
|
1298
1298
|
continue;
|
|
1299
1299
|
}
|
|
1300
1300
|
if (state.brackets === 0) {
|
|
1301
|
-
if (
|
|
1301
|
+
if (opts.strictBrackets === true) throw new SyntaxError($fd5d6f248e5b4a63$var$syntaxError("opening", "["));
|
|
1302
1302
|
push({
|
|
1303
1303
|
type: "text",
|
|
1304
|
-
value:
|
|
1305
|
-
output: `\\${
|
|
1304
|
+
value: value,
|
|
1305
|
+
output: `\\${value}`
|
|
1306
1306
|
});
|
|
1307
1307
|
continue;
|
|
1308
1308
|
}
|
|
1309
1309
|
decrement("brackets");
|
|
1310
1310
|
const prevValue = prev.value.slice(1);
|
|
1311
|
-
if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/"))
|
|
1312
|
-
prev.value +=
|
|
1311
|
+
if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) value = `/${value}`;
|
|
1312
|
+
prev.value += value;
|
|
1313
1313
|
append({
|
|
1314
|
-
value:
|
|
1314
|
+
value: value
|
|
1315
1315
|
});
|
|
1316
1316
|
// when literal brackets are explicitly disabled
|
|
1317
1317
|
// assume we should match with a regex character class
|
|
1318
|
-
if (
|
|
1318
|
+
if (opts.literalBrackets === false || $5MQDC.hasRegexChars(prevValue)) continue;
|
|
1319
1319
|
const escaped = $5MQDC.escapeRegex(prev.value);
|
|
1320
1320
|
state.output = state.output.slice(0, -prev.value.length);
|
|
1321
1321
|
// when literal brackets are explicitly enabled
|
|
1322
1322
|
// assume we should escape the brackets to match literal characters
|
|
1323
|
-
if (
|
|
1323
|
+
if (opts.literalBrackets === true) {
|
|
1324
1324
|
state.output += escaped;
|
|
1325
1325
|
prev.value = escaped;
|
|
1326
1326
|
continue;
|
|
@@ -1332,11 +1332,11 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1332
1332
|
}
|
|
1333
1333
|
/**
|
|
1334
1334
|
* Braces
|
|
1335
|
-
*/ if (
|
|
1335
|
+
*/ if (value === "{" && opts.nobrace !== true) {
|
|
1336
1336
|
increment("braces");
|
|
1337
1337
|
const open = {
|
|
1338
1338
|
type: "brace",
|
|
1339
|
-
value:
|
|
1339
|
+
value: value,
|
|
1340
1340
|
output: "(",
|
|
1341
1341
|
outputIndex: state.output.length,
|
|
1342
1342
|
tokensIndex: state.tokens.length
|
|
@@ -1345,17 +1345,17 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1345
1345
|
push(open);
|
|
1346
1346
|
continue;
|
|
1347
1347
|
}
|
|
1348
|
-
if (
|
|
1348
|
+
if (value === "}") {
|
|
1349
1349
|
const brace = braces[braces.length - 1];
|
|
1350
|
-
if (
|
|
1350
|
+
if (opts.nobrace === true || !brace) {
|
|
1351
1351
|
push({
|
|
1352
1352
|
type: "text",
|
|
1353
|
-
value:
|
|
1354
|
-
output:
|
|
1353
|
+
value: value,
|
|
1354
|
+
output: value
|
|
1355
1355
|
});
|
|
1356
1356
|
continue;
|
|
1357
1357
|
}
|
|
1358
|
-
let
|
|
1358
|
+
let output1 = ")";
|
|
1359
1359
|
if (brace.dots === true) {
|
|
1360
1360
|
const arr = tokens.slice();
|
|
1361
1361
|
const range = [];
|
|
@@ -1364,21 +1364,21 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1364
1364
|
if (arr[i].type === "brace") break;
|
|
1365
1365
|
if (arr[i].type !== "dots") range.unshift(arr[i].value);
|
|
1366
1366
|
}
|
|
1367
|
-
|
|
1367
|
+
output1 = $fd5d6f248e5b4a63$var$expandRange(range, opts);
|
|
1368
1368
|
state.backtrack = true;
|
|
1369
1369
|
}
|
|
1370
1370
|
if (brace.comma !== true && brace.dots !== true) {
|
|
1371
1371
|
const out = state.output.slice(0, brace.outputIndex);
|
|
1372
1372
|
const toks = state.tokens.slice(brace.tokensIndex);
|
|
1373
1373
|
brace.value = brace.output = "\\{";
|
|
1374
|
-
|
|
1374
|
+
value = output1 = "\\}";
|
|
1375
1375
|
state.output = out;
|
|
1376
1376
|
for (const t of toks)state.output += t.output || t.value;
|
|
1377
1377
|
}
|
|
1378
1378
|
push({
|
|
1379
1379
|
type: "brace",
|
|
1380
|
-
value:
|
|
1381
|
-
output:
|
|
1380
|
+
value: value,
|
|
1381
|
+
output: output1
|
|
1382
1382
|
});
|
|
1383
1383
|
decrement("braces");
|
|
1384
1384
|
braces.pop();
|
|
@@ -1386,33 +1386,33 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1386
1386
|
}
|
|
1387
1387
|
/**
|
|
1388
1388
|
* Pipes
|
|
1389
|
-
*/ if (
|
|
1389
|
+
*/ if (value === "|") {
|
|
1390
1390
|
if (extglobs.length > 0) extglobs[extglobs.length - 1].conditions++;
|
|
1391
1391
|
push({
|
|
1392
1392
|
type: "text",
|
|
1393
|
-
value:
|
|
1393
|
+
value: value
|
|
1394
1394
|
});
|
|
1395
1395
|
continue;
|
|
1396
1396
|
}
|
|
1397
1397
|
/**
|
|
1398
1398
|
* Commas
|
|
1399
|
-
*/ if (
|
|
1400
|
-
let
|
|
1401
|
-
const
|
|
1402
|
-
if (
|
|
1403
|
-
|
|
1404
|
-
|
|
1399
|
+
*/ if (value === ",") {
|
|
1400
|
+
let output2 = value;
|
|
1401
|
+
const brace1 = braces[braces.length - 1];
|
|
1402
|
+
if (brace1 && stack[stack.length - 1] === "braces") {
|
|
1403
|
+
brace1.comma = true;
|
|
1404
|
+
output2 = "|";
|
|
1405
1405
|
}
|
|
1406
1406
|
push({
|
|
1407
1407
|
type: "comma",
|
|
1408
|
-
value:
|
|
1409
|
-
output:
|
|
1408
|
+
value: value,
|
|
1409
|
+
output: output2
|
|
1410
1410
|
});
|
|
1411
1411
|
continue;
|
|
1412
1412
|
}
|
|
1413
1413
|
/**
|
|
1414
1414
|
* Slashes
|
|
1415
|
-
*/ if (
|
|
1415
|
+
*/ if (value === "/") {
|
|
1416
1416
|
// if the beginning of the glob is "./", advance the start
|
|
1417
1417
|
// to the current index, and don't add the "./" characters
|
|
1418
1418
|
// to the state. This greatly simplifies lookbehinds when
|
|
@@ -1427,98 +1427,98 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1427
1427
|
}
|
|
1428
1428
|
push({
|
|
1429
1429
|
type: "slash",
|
|
1430
|
-
value:
|
|
1430
|
+
value: value,
|
|
1431
1431
|
output: SLASH_LITERAL
|
|
1432
1432
|
});
|
|
1433
1433
|
continue;
|
|
1434
1434
|
}
|
|
1435
1435
|
/**
|
|
1436
1436
|
* Dots
|
|
1437
|
-
*/ if (
|
|
1437
|
+
*/ if (value === ".") {
|
|
1438
1438
|
if (state.braces > 0 && prev.type === "dot") {
|
|
1439
1439
|
if (prev.value === ".") prev.output = DOT_LITERAL;
|
|
1440
|
-
const
|
|
1440
|
+
const brace2 = braces[braces.length - 1];
|
|
1441
1441
|
prev.type = "dots";
|
|
1442
|
-
prev.output +=
|
|
1443
|
-
prev.value +=
|
|
1444
|
-
|
|
1442
|
+
prev.output += value;
|
|
1443
|
+
prev.value += value;
|
|
1444
|
+
brace2.dots = true;
|
|
1445
1445
|
continue;
|
|
1446
1446
|
}
|
|
1447
1447
|
if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") {
|
|
1448
1448
|
push({
|
|
1449
1449
|
type: "text",
|
|
1450
|
-
value:
|
|
1450
|
+
value: value,
|
|
1451
1451
|
output: DOT_LITERAL
|
|
1452
1452
|
});
|
|
1453
1453
|
continue;
|
|
1454
1454
|
}
|
|
1455
1455
|
push({
|
|
1456
1456
|
type: "dot",
|
|
1457
|
-
value:
|
|
1457
|
+
value: value,
|
|
1458
1458
|
output: DOT_LITERAL
|
|
1459
1459
|
});
|
|
1460
1460
|
continue;
|
|
1461
1461
|
}
|
|
1462
1462
|
/**
|
|
1463
1463
|
* Question marks
|
|
1464
|
-
*/ if (
|
|
1464
|
+
*/ if (value === "?") {
|
|
1465
1465
|
const isGroup = prev && prev.value === "(";
|
|
1466
|
-
if (!isGroup &&
|
|
1467
|
-
extglobOpen("qmark",
|
|
1466
|
+
if (!isGroup && opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
|
|
1467
|
+
extglobOpen("qmark", value);
|
|
1468
1468
|
continue;
|
|
1469
1469
|
}
|
|
1470
1470
|
if (prev && prev.type === "paren") {
|
|
1471
|
-
const
|
|
1472
|
-
let
|
|
1473
|
-
if (
|
|
1474
|
-
if (prev.value === "(" && !/[!=<:]/.test(
|
|
1471
|
+
const next1 = peek();
|
|
1472
|
+
let output3 = value;
|
|
1473
|
+
if (next1 === "<" && !$5MQDC.supportsLookbehinds()) throw new Error("Node.js v10 or higher is required for regex lookbehinds");
|
|
1474
|
+
if (prev.value === "(" && !/[!=<:]/.test(next1) || next1 === "<" && !/<([!=]|\w+>)/.test(remaining())) output3 = `\\${value}`;
|
|
1475
1475
|
push({
|
|
1476
1476
|
type: "text",
|
|
1477
|
-
value:
|
|
1478
|
-
output:
|
|
1477
|
+
value: value,
|
|
1478
|
+
output: output3
|
|
1479
1479
|
});
|
|
1480
1480
|
continue;
|
|
1481
1481
|
}
|
|
1482
|
-
if (
|
|
1482
|
+
if (opts.dot !== true && (prev.type === "slash" || prev.type === "bos")) {
|
|
1483
1483
|
push({
|
|
1484
1484
|
type: "qmark",
|
|
1485
|
-
value:
|
|
1485
|
+
value: value,
|
|
1486
1486
|
output: QMARK_NO_DOT
|
|
1487
1487
|
});
|
|
1488
1488
|
continue;
|
|
1489
1489
|
}
|
|
1490
1490
|
push({
|
|
1491
1491
|
type: "qmark",
|
|
1492
|
-
value:
|
|
1492
|
+
value: value,
|
|
1493
1493
|
output: QMARK
|
|
1494
1494
|
});
|
|
1495
1495
|
continue;
|
|
1496
1496
|
}
|
|
1497
1497
|
/**
|
|
1498
1498
|
* Exclamation
|
|
1499
|
-
*/ if (
|
|
1500
|
-
if (
|
|
1499
|
+
*/ if (value === "!") {
|
|
1500
|
+
if (opts.noextglob !== true && peek() === "(") {
|
|
1501
1501
|
if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) {
|
|
1502
|
-
extglobOpen("negate",
|
|
1502
|
+
extglobOpen("negate", value);
|
|
1503
1503
|
continue;
|
|
1504
1504
|
}
|
|
1505
1505
|
}
|
|
1506
|
-
if (
|
|
1506
|
+
if (opts.nonegate !== true && state.index === 0) {
|
|
1507
1507
|
negate();
|
|
1508
1508
|
continue;
|
|
1509
1509
|
}
|
|
1510
1510
|
}
|
|
1511
1511
|
/**
|
|
1512
1512
|
* Plus
|
|
1513
|
-
*/ if (
|
|
1514
|
-
if (
|
|
1515
|
-
extglobOpen("plus",
|
|
1513
|
+
*/ if (value === "+") {
|
|
1514
|
+
if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
|
|
1515
|
+
extglobOpen("plus", value);
|
|
1516
1516
|
continue;
|
|
1517
1517
|
}
|
|
1518
|
-
if (prev && prev.value === "(" ||
|
|
1518
|
+
if (prev && prev.value === "(" || opts.regex === false) {
|
|
1519
1519
|
push({
|
|
1520
1520
|
type: "plus",
|
|
1521
|
-
value:
|
|
1521
|
+
value: value,
|
|
1522
1522
|
output: PLUS_LITERAL
|
|
1523
1523
|
});
|
|
1524
1524
|
continue;
|
|
@@ -1526,7 +1526,7 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1526
1526
|
if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) {
|
|
1527
1527
|
push({
|
|
1528
1528
|
type: "plus",
|
|
1529
|
-
value:
|
|
1529
|
+
value: value
|
|
1530
1530
|
});
|
|
1531
1531
|
continue;
|
|
1532
1532
|
}
|
|
@@ -1538,34 +1538,34 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1538
1538
|
}
|
|
1539
1539
|
/**
|
|
1540
1540
|
* Plain text
|
|
1541
|
-
*/ if (
|
|
1542
|
-
if (
|
|
1541
|
+
*/ if (value === "@") {
|
|
1542
|
+
if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
|
|
1543
1543
|
push({
|
|
1544
1544
|
type: "at",
|
|
1545
1545
|
extglob: true,
|
|
1546
|
-
value:
|
|
1546
|
+
value: value,
|
|
1547
1547
|
output: ""
|
|
1548
1548
|
});
|
|
1549
1549
|
continue;
|
|
1550
1550
|
}
|
|
1551
1551
|
push({
|
|
1552
1552
|
type: "text",
|
|
1553
|
-
value:
|
|
1553
|
+
value: value
|
|
1554
1554
|
});
|
|
1555
1555
|
continue;
|
|
1556
1556
|
}
|
|
1557
1557
|
/**
|
|
1558
1558
|
* Plain text
|
|
1559
|
-
*/ if (
|
|
1560
|
-
if (
|
|
1561
|
-
const
|
|
1562
|
-
if (
|
|
1563
|
-
|
|
1564
|
-
state.index +=
|
|
1559
|
+
*/ if (value !== "*") {
|
|
1560
|
+
if (value === "$" || value === "^") value = `\\${value}`;
|
|
1561
|
+
const match1 = $fd5d6f248e5b4a63$var$REGEX_NON_SPECIAL_CHARS.exec(remaining());
|
|
1562
|
+
if (match1) {
|
|
1563
|
+
value += match1[0];
|
|
1564
|
+
state.index += match1[0].length;
|
|
1565
1565
|
}
|
|
1566
1566
|
push({
|
|
1567
1567
|
type: "text",
|
|
1568
|
-
value:
|
|
1568
|
+
value: value
|
|
1569
1569
|
});
|
|
1570
1570
|
continue;
|
|
1571
1571
|
}
|
|
@@ -1574,31 +1574,31 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1574
1574
|
*/ if (prev && (prev.type === "globstar" || prev.star === true)) {
|
|
1575
1575
|
prev.type = "star";
|
|
1576
1576
|
prev.star = true;
|
|
1577
|
-
prev.value +=
|
|
1577
|
+
prev.value += value;
|
|
1578
1578
|
prev.output = star;
|
|
1579
1579
|
state.backtrack = true;
|
|
1580
1580
|
state.globstar = true;
|
|
1581
|
-
consume(
|
|
1581
|
+
consume(value);
|
|
1582
1582
|
continue;
|
|
1583
1583
|
}
|
|
1584
|
-
let
|
|
1585
|
-
if (
|
|
1586
|
-
extglobOpen("star",
|
|
1584
|
+
let rest1 = remaining();
|
|
1585
|
+
if (opts.noextglob !== true && /^\([^?]/.test(rest1)) {
|
|
1586
|
+
extglobOpen("star", value);
|
|
1587
1587
|
continue;
|
|
1588
1588
|
}
|
|
1589
1589
|
if (prev.type === "star") {
|
|
1590
|
-
if (
|
|
1591
|
-
consume(
|
|
1590
|
+
if (opts.noglobstar === true) {
|
|
1591
|
+
consume(value);
|
|
1592
1592
|
continue;
|
|
1593
1593
|
}
|
|
1594
1594
|
const prior = prev.prev;
|
|
1595
1595
|
const before = prior.prev;
|
|
1596
1596
|
const isStart = prior.type === "slash" || prior.type === "bos";
|
|
1597
1597
|
const afterStar = before && (before.type === "star" || before.type === "globstar");
|
|
1598
|
-
if (
|
|
1598
|
+
if (opts.bash === true && (!isStart || rest1[0] && rest1[0] !== "/")) {
|
|
1599
1599
|
push({
|
|
1600
1600
|
type: "star",
|
|
1601
|
-
value:
|
|
1601
|
+
value: value,
|
|
1602
1602
|
output: ""
|
|
1603
1603
|
});
|
|
1604
1604
|
continue;
|
|
@@ -1608,48 +1608,48 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1608
1608
|
if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) {
|
|
1609
1609
|
push({
|
|
1610
1610
|
type: "star",
|
|
1611
|
-
value:
|
|
1611
|
+
value: value,
|
|
1612
1612
|
output: ""
|
|
1613
1613
|
});
|
|
1614
1614
|
continue;
|
|
1615
1615
|
}
|
|
1616
1616
|
// strip consecutive `/**/`
|
|
1617
|
-
while(
|
|
1617
|
+
while(rest1.slice(0, 3) === "/**"){
|
|
1618
1618
|
const after = input[state.index + 4];
|
|
1619
1619
|
if (after && after !== "/") break;
|
|
1620
|
-
|
|
1620
|
+
rest1 = rest1.slice(3);
|
|
1621
1621
|
consume("/**", 3);
|
|
1622
1622
|
}
|
|
1623
1623
|
if (prior.type === "bos" && eos()) {
|
|
1624
1624
|
prev.type = "globstar";
|
|
1625
|
-
prev.value +=
|
|
1626
|
-
prev.output = globstar(
|
|
1625
|
+
prev.value += value;
|
|
1626
|
+
prev.output = globstar(opts);
|
|
1627
1627
|
state.output = prev.output;
|
|
1628
1628
|
state.globstar = true;
|
|
1629
|
-
consume(
|
|
1629
|
+
consume(value);
|
|
1630
1630
|
continue;
|
|
1631
1631
|
}
|
|
1632
1632
|
if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) {
|
|
1633
1633
|
state.output = state.output.slice(0, -(prior.output + prev.output).length);
|
|
1634
1634
|
prior.output = `(?:${prior.output}`;
|
|
1635
1635
|
prev.type = "globstar";
|
|
1636
|
-
prev.output = globstar(
|
|
1637
|
-
prev.value +=
|
|
1636
|
+
prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)");
|
|
1637
|
+
prev.value += value;
|
|
1638
1638
|
state.globstar = true;
|
|
1639
1639
|
state.output += prior.output + prev.output;
|
|
1640
|
-
consume(
|
|
1640
|
+
consume(value);
|
|
1641
1641
|
continue;
|
|
1642
1642
|
}
|
|
1643
|
-
if (prior.type === "slash" && prior.prev.type !== "bos" &&
|
|
1644
|
-
const end =
|
|
1643
|
+
if (prior.type === "slash" && prior.prev.type !== "bos" && rest1[0] === "/") {
|
|
1644
|
+
const end = rest1[1] !== void 0 ? "|$" : "";
|
|
1645
1645
|
state.output = state.output.slice(0, -(prior.output + prev.output).length);
|
|
1646
1646
|
prior.output = `(?:${prior.output}`;
|
|
1647
1647
|
prev.type = "globstar";
|
|
1648
|
-
prev.output = `${globstar(
|
|
1649
|
-
prev.value +=
|
|
1648
|
+
prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;
|
|
1649
|
+
prev.value += value;
|
|
1650
1650
|
state.output += prior.output + prev.output;
|
|
1651
1651
|
state.globstar = true;
|
|
1652
|
-
consume(
|
|
1652
|
+
consume(value + advance());
|
|
1653
1653
|
push({
|
|
1654
1654
|
type: "slash",
|
|
1655
1655
|
value: "/",
|
|
@@ -1657,13 +1657,13 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1657
1657
|
});
|
|
1658
1658
|
continue;
|
|
1659
1659
|
}
|
|
1660
|
-
if (prior.type === "bos" &&
|
|
1660
|
+
if (prior.type === "bos" && rest1[0] === "/") {
|
|
1661
1661
|
prev.type = "globstar";
|
|
1662
|
-
prev.value +=
|
|
1663
|
-
prev.output = `(?:^|${SLASH_LITERAL}|${globstar(
|
|
1662
|
+
prev.value += value;
|
|
1663
|
+
prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`;
|
|
1664
1664
|
state.output = prev.output;
|
|
1665
1665
|
state.globstar = true;
|
|
1666
|
-
consume(
|
|
1666
|
+
consume(value + advance());
|
|
1667
1667
|
push({
|
|
1668
1668
|
type: "slash",
|
|
1669
1669
|
value: "/",
|
|
@@ -1675,27 +1675,27 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1675
1675
|
state.output = state.output.slice(0, -prev.output.length);
|
|
1676
1676
|
// reset previous token to globstar
|
|
1677
1677
|
prev.type = "globstar";
|
|
1678
|
-
prev.output = globstar(
|
|
1679
|
-
prev.value +=
|
|
1678
|
+
prev.output = globstar(opts);
|
|
1679
|
+
prev.value += value;
|
|
1680
1680
|
// reset output with globstar
|
|
1681
1681
|
state.output += prev.output;
|
|
1682
1682
|
state.globstar = true;
|
|
1683
|
-
consume(
|
|
1683
|
+
consume(value);
|
|
1684
1684
|
continue;
|
|
1685
1685
|
}
|
|
1686
1686
|
const token = {
|
|
1687
1687
|
type: "star",
|
|
1688
|
-
value:
|
|
1688
|
+
value: value,
|
|
1689
1689
|
output: star
|
|
1690
1690
|
};
|
|
1691
|
-
if (
|
|
1691
|
+
if (opts.bash === true) {
|
|
1692
1692
|
token.output = ".*?";
|
|
1693
1693
|
if (prev.type === "bos" || prev.type === "slash") token.output = nodot + token.output;
|
|
1694
1694
|
push(token);
|
|
1695
1695
|
continue;
|
|
1696
1696
|
}
|
|
1697
|
-
if (prev && (prev.type === "bracket" || prev.type === "paren") &&
|
|
1698
|
-
token.output =
|
|
1697
|
+
if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) {
|
|
1698
|
+
token.output = value;
|
|
1699
1699
|
push(token);
|
|
1700
1700
|
continue;
|
|
1701
1701
|
}
|
|
@@ -1703,7 +1703,7 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1703
1703
|
if (prev.type === "dot") {
|
|
1704
1704
|
state.output += NO_DOT_SLASH;
|
|
1705
1705
|
prev.output += NO_DOT_SLASH;
|
|
1706
|
-
} else if (
|
|
1706
|
+
} else if (opts.dot === true) {
|
|
1707
1707
|
state.output += NO_DOTS_SLASH;
|
|
1708
1708
|
prev.output += NO_DOTS_SLASH;
|
|
1709
1709
|
} else {
|
|
@@ -1718,21 +1718,21 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1718
1718
|
push(token);
|
|
1719
1719
|
}
|
|
1720
1720
|
while(state.brackets > 0){
|
|
1721
|
-
if (
|
|
1721
|
+
if (opts.strictBrackets === true) throw new SyntaxError($fd5d6f248e5b4a63$var$syntaxError("closing", "]"));
|
|
1722
1722
|
state.output = $5MQDC.escapeLast(state.output, "[");
|
|
1723
1723
|
decrement("brackets");
|
|
1724
1724
|
}
|
|
1725
1725
|
while(state.parens > 0){
|
|
1726
|
-
if (
|
|
1726
|
+
if (opts.strictBrackets === true) throw new SyntaxError($fd5d6f248e5b4a63$var$syntaxError("closing", ")"));
|
|
1727
1727
|
state.output = $5MQDC.escapeLast(state.output, "(");
|
|
1728
1728
|
decrement("parens");
|
|
1729
1729
|
}
|
|
1730
1730
|
while(state.braces > 0){
|
|
1731
|
-
if (
|
|
1731
|
+
if (opts.strictBrackets === true) throw new SyntaxError($fd5d6f248e5b4a63$var$syntaxError("closing", "}"));
|
|
1732
1732
|
state.output = $5MQDC.escapeLast(state.output, "{");
|
|
1733
1733
|
decrement("braces");
|
|
1734
1734
|
}
|
|
1735
|
-
if (
|
|
1735
|
+
if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) push({
|
|
1736
1736
|
type: "maybe_slash",
|
|
1737
1737
|
value: "",
|
|
1738
1738
|
output: `${SLASH_LITERAL}?`
|
|
@@ -1740,9 +1740,9 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1740
1740
|
// rebuild the output if we had to backtrack at any point
|
|
1741
1741
|
if (state.backtrack === true) {
|
|
1742
1742
|
state.output = "";
|
|
1743
|
-
for (const
|
|
1744
|
-
state.output +=
|
|
1745
|
-
if (
|
|
1743
|
+
for (const token1 of state.tokens){
|
|
1744
|
+
state.output += token1.output != null ? token1.output : token1.value;
|
|
1745
|
+
if (token1.suffix) state.output += token1.suffix;
|
|
1746
1746
|
}
|
|
1747
1747
|
}
|
|
1748
1748
|
return state;
|
|
@@ -1752,25 +1752,25 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1752
1752
|
* This can significantly speed up processing and has very little downside
|
|
1753
1753
|
* impact when none of the fast paths match.
|
|
1754
1754
|
*/ $fd5d6f248e5b4a63$var$parse.fastpaths = (input, options)=>{
|
|
1755
|
-
const
|
|
1755
|
+
const opts = {
|
|
1756
1756
|
...options
|
|
1757
1757
|
};
|
|
1758
|
-
const max = typeof
|
|
1758
|
+
const max = typeof opts.maxLength === "number" ? Math.min($fd5d6f248e5b4a63$var$MAX_LENGTH, opts.maxLength) : $fd5d6f248e5b4a63$var$MAX_LENGTH;
|
|
1759
1759
|
const len = input.length;
|
|
1760
1760
|
if (len > max) throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
|
|
1761
1761
|
input = $fd5d6f248e5b4a63$var$REPLACEMENTS[input] || input;
|
|
1762
1762
|
const win32 = $5MQDC.isWindows(options);
|
|
1763
1763
|
// create constants based on platform, for windows or posix
|
|
1764
1764
|
const { DOT_LITERAL: DOT_LITERAL , SLASH_LITERAL: SLASH_LITERAL , ONE_CHAR: ONE_CHAR , DOTS_SLASH: DOTS_SLASH , NO_DOT: NO_DOT , NO_DOTS: NO_DOTS , NO_DOTS_SLASH: NO_DOTS_SLASH , STAR: STAR , START_ANCHOR: START_ANCHOR } = $7XmS6.globChars(win32);
|
|
1765
|
-
const nodot =
|
|
1766
|
-
const slashDot =
|
|
1767
|
-
const capture =
|
|
1765
|
+
const nodot = opts.dot ? NO_DOTS : NO_DOT;
|
|
1766
|
+
const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT;
|
|
1767
|
+
const capture = opts.capture ? "" : "?:";
|
|
1768
1768
|
const state = {
|
|
1769
1769
|
negated: false,
|
|
1770
1770
|
prefix: ""
|
|
1771
1771
|
};
|
|
1772
|
-
let star =
|
|
1773
|
-
if (
|
|
1772
|
+
let star = opts.bash === true ? ".*?" : STAR;
|
|
1773
|
+
if (opts.capture) star = `(${star})`;
|
|
1774
1774
|
const globstar = (opts)=>{
|
|
1775
1775
|
if (opts.noglobstar === true) return star;
|
|
1776
1776
|
return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
|
|
@@ -1786,13 +1786,13 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1786
1786
|
case "*/*":
|
|
1787
1787
|
return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
|
|
1788
1788
|
case "**":
|
|
1789
|
-
return nodot + globstar(
|
|
1789
|
+
return nodot + globstar(opts);
|
|
1790
1790
|
case "**/*":
|
|
1791
|
-
return `(?:${nodot}${globstar(
|
|
1791
|
+
return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
|
|
1792
1792
|
case "**/*.*":
|
|
1793
|
-
return `(?:${nodot}${globstar(
|
|
1793
|
+
return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
|
|
1794
1794
|
case "**/.*":
|
|
1795
|
-
return `(?:${nodot}${globstar(
|
|
1795
|
+
return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
|
|
1796
1796
|
default:
|
|
1797
1797
|
{
|
|
1798
1798
|
const match = /^(.*?)\.(\w+)$/.exec(str);
|
|
@@ -1804,9 +1804,9 @@ var $5MQDC = parcelRequire("5MQDC");
|
|
|
1804
1804
|
}
|
|
1805
1805
|
};
|
|
1806
1806
|
const output = $5MQDC.removePrefix(input, state);
|
|
1807
|
-
let
|
|
1808
|
-
if (
|
|
1809
|
-
return
|
|
1807
|
+
let source = create(output);
|
|
1808
|
+
if (source && opts.strictSlashes !== true) source += `${SLASH_LITERAL}?`;
|
|
1809
|
+
return source;
|
|
1810
1810
|
};
|
|
1811
1811
|
module.exports = $fd5d6f248e5b4a63$var$parse;
|
|
1812
1812
|
|
|
@@ -3071,11 +3071,11 @@ var $1Sf6D = parcelRequire("1Sf6D");
|
|
|
3071
3071
|
var $ciuZ9 = parcelRequire("ciuZ9");
|
|
3072
3072
|
function $6e1ae4ed5b62d1d9$var$parseAsync(str, opts) {
|
|
3073
3073
|
if (!opts) opts = {};
|
|
3074
|
-
const
|
|
3075
|
-
const
|
|
3074
|
+
const index = 0;
|
|
3075
|
+
const blocksize = opts.blocksize || 40960;
|
|
3076
3076
|
const parser = new $1Sf6D();
|
|
3077
3077
|
return new Promise((resolve, reject)=>{
|
|
3078
|
-
setImmediate(parseAsyncNext,
|
|
3078
|
+
setImmediate(parseAsyncNext, index, blocksize, resolve, reject);
|
|
3079
3079
|
});
|
|
3080
3080
|
function parseAsyncNext(index, blocksize, resolve, reject) {
|
|
3081
3081
|
if (index >= str.length) {
|
|
@@ -3088,8 +3088,8 @@ function $6e1ae4ed5b62d1d9$var$parseAsync(str, opts) {
|
|
|
3088
3088
|
try {
|
|
3089
3089
|
parser.parse(str.slice(index, index + blocksize));
|
|
3090
3090
|
setImmediate(parseAsyncNext, index + blocksize, blocksize, resolve, reject);
|
|
3091
|
-
} catch (
|
|
3092
|
-
reject($ciuZ9(
|
|
3091
|
+
} catch (err1) {
|
|
3092
|
+
reject($ciuZ9(err1, str));
|
|
3093
3093
|
}
|
|
3094
3094
|
}
|
|
3095
3095
|
}
|
|
@@ -3271,8 +3271,8 @@ function $17af713ce388fcb8$var$numpad(num, str) {
|
|
|
3271
3271
|
function $17af713ce388fcb8$var$escapeString(str) {
|
|
3272
3272
|
return str.replace(/\\/g, "\\\\").replace(/[\b]/g, "\\b").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\f/g, "\\f").replace(/\r/g, "\\r")/* eslint-disable no-control-regex */ .replace(/([\u0000-\u001f\u007f])/, (c)=>"\\u" + $17af713ce388fcb8$var$numpad(4, c.codePointAt(0).toString(16)));
|
|
3273
3273
|
/* eslint-enable no-control-regex */ }
|
|
3274
|
-
function $17af713ce388fcb8$var$stringifyMultilineString(
|
|
3275
|
-
let escaped =
|
|
3274
|
+
function $17af713ce388fcb8$var$stringifyMultilineString(str) {
|
|
3275
|
+
let escaped = str.split(/\n/).map((str)=>{
|
|
3276
3276
|
return $17af713ce388fcb8$var$escapeString(str).replace(/"(?="")/g, '\\"');
|
|
3277
3277
|
}).join("\n");
|
|
3278
3278
|
if (escaped.slice(-1) === '"') escaped += "\\\n";
|
|
@@ -3429,6 +3429,7 @@ $parcel$export(module.exports, "unique", () => $9631335a11debdd4$export$7a5d5c15
|
|
|
3429
3429
|
$parcel$export(module.exports, "objectSortedEntries", () => $9631335a11debdd4$export$61559eb31990eff6);
|
|
3430
3430
|
$parcel$export(module.exports, "objectSortedEntriesDeep", () => $9631335a11debdd4$export$1a9b883158ac407c);
|
|
3431
3431
|
$parcel$export(module.exports, "setDifference", () => $9631335a11debdd4$export$8bd517cc5b3722f7);
|
|
3432
|
+
$parcel$export(module.exports, "setEqual", () => $9631335a11debdd4$export$dd7d5a65a6b6780f);
|
|
3432
3433
|
$parcel$export(module.exports, "setIntersect", () => $9631335a11debdd4$export$9404cfefeb010e68);
|
|
3433
3434
|
$parcel$export(module.exports, "setUnion", () => $9631335a11debdd4$export$667066422fa0af46);
|
|
3434
3435
|
$parcel$export(module.exports, "resolveConfig", () => $10671d0be444e08b$export$7eca4ea16d4c8343);
|
|
@@ -3437,6 +3438,7 @@ $parcel$export(module.exports, "loadConfig", () => $10671d0be444e08b$export$c1a4
|
|
|
3437
3438
|
$parcel$export(module.exports, "DefaultMap", () => $5783bf7916ff59db$export$674cd7dcb504ac5c);
|
|
3438
3439
|
$parcel$export(module.exports, "DefaultWeakMap", () => $5783bf7916ff59db$export$4924f7ffab2ae440);
|
|
3439
3440
|
$parcel$export(module.exports, "makeDeferredWithPromise", () => $75952a43539cb60f$export$93f345b3f0dd27e7);
|
|
3441
|
+
$parcel$export(module.exports, "getProgressMessage", () => $01f892dcf45b57a7$export$d28945a2f2ba5e30);
|
|
3440
3442
|
$parcel$export(module.exports, "isGlob", () => $e8d0e504a4244d84$export$f3a2344a73dbdd42);
|
|
3441
3443
|
$parcel$export(module.exports, "isGlobMatch", () => $e8d0e504a4244d84$export$16e6d319a883f04e);
|
|
3442
3444
|
$parcel$export(module.exports, "globSync", () => $e8d0e504a4244d84$export$42275ba87174c828);
|
|
@@ -3533,8 +3535,8 @@ async function $15d4bc8b6fca8c7e$var$getSourcemapSizes(filePath, fs, projectRoot
|
|
|
3533
3535
|
}
|
|
3534
3536
|
}
|
|
3535
3537
|
async function $15d4bc8b6fca8c7e$var$createBundleStats(bundle, fs, projectRoot) {
|
|
3536
|
-
let
|
|
3537
|
-
let sourcemapSizes = await $15d4bc8b6fca8c7e$var$getSourcemapSizes(
|
|
3538
|
+
let filePath = bundle.filePath;
|
|
3539
|
+
let sourcemapSizes = await $15d4bc8b6fca8c7e$var$getSourcemapSizes(filePath, fs, projectRoot);
|
|
3538
3540
|
let assets = new Map();
|
|
3539
3541
|
bundle.traverseAssets((asset)=>{
|
|
3540
3542
|
let filePath = (0, ($parcel$interopDefault($8C1kk$path))).normalize(asset.filePath);
|
|
@@ -5801,26 +5803,26 @@ $4143f576ffbec226$var$util.text = {
|
|
|
5801
5803
|
* @param options the options to use:
|
|
5802
5804
|
* update true to force an update (not use the cached value).
|
|
5803
5805
|
* @param callback(err, max) called once the operation completes.
|
|
5804
|
-
*/ $4143f576ffbec226$var$util.estimateCores = function(options,
|
|
5806
|
+
*/ $4143f576ffbec226$var$util.estimateCores = function(options, callback) {
|
|
5805
5807
|
if (typeof options === "function") {
|
|
5806
|
-
|
|
5808
|
+
callback = options;
|
|
5807
5809
|
options = {};
|
|
5808
5810
|
}
|
|
5809
5811
|
options = options || {};
|
|
5810
|
-
if ("cores" in $4143f576ffbec226$var$util && !options.update) return
|
|
5812
|
+
if ("cores" in $4143f576ffbec226$var$util && !options.update) return callback(null, $4143f576ffbec226$var$util.cores);
|
|
5811
5813
|
if (typeof navigator !== "undefined" && "hardwareConcurrency" in navigator && navigator.hardwareConcurrency > 0) {
|
|
5812
5814
|
$4143f576ffbec226$var$util.cores = navigator.hardwareConcurrency;
|
|
5813
|
-
return
|
|
5815
|
+
return callback(null, $4143f576ffbec226$var$util.cores);
|
|
5814
5816
|
}
|
|
5815
5817
|
if (typeof Worker === "undefined") {
|
|
5816
5818
|
// workers not available
|
|
5817
5819
|
$4143f576ffbec226$var$util.cores = 1;
|
|
5818
|
-
return
|
|
5820
|
+
return callback(null, $4143f576ffbec226$var$util.cores);
|
|
5819
5821
|
}
|
|
5820
5822
|
if (typeof Blob === "undefined") {
|
|
5821
5823
|
// can't estimate, default to 2
|
|
5822
5824
|
$4143f576ffbec226$var$util.cores = 2;
|
|
5823
|
-
return
|
|
5825
|
+
return callback(null, $4143f576ffbec226$var$util.cores);
|
|
5824
5826
|
}
|
|
5825
5827
|
// create worker concurrency estimation code as blob
|
|
5826
5828
|
var blobUrl = URL.createObjectURL(new Blob([
|
|
@@ -5846,12 +5848,12 @@ $4143f576ffbec226$var$util.text = {
|
|
|
5846
5848
|
function sample(max, samples, numWorkers) {
|
|
5847
5849
|
if (samples === 0) {
|
|
5848
5850
|
// get overlap average
|
|
5849
|
-
var
|
|
5851
|
+
var avg = Math.floor(max.reduce(function(avg, x) {
|
|
5850
5852
|
return avg + x;
|
|
5851
5853
|
}, 0) / max.length);
|
|
5852
|
-
$4143f576ffbec226$var$util.cores = Math.max(1,
|
|
5854
|
+
$4143f576ffbec226$var$util.cores = Math.max(1, avg);
|
|
5853
5855
|
URL.revokeObjectURL(blobUrl);
|
|
5854
|
-
return
|
|
5856
|
+
return callback(null, $4143f576ffbec226$var$util.cores);
|
|
5855
5857
|
}
|
|
5856
5858
|
map(numWorkers, function(err, results) {
|
|
5857
5859
|
max.push(reduce(numWorkers, results));
|
|
@@ -5861,7 +5863,7 @@ $4143f576ffbec226$var$util.text = {
|
|
|
5861
5863
|
function map(numWorkers, callback) {
|
|
5862
5864
|
var workers = [];
|
|
5863
5865
|
var results = [];
|
|
5864
|
-
for(var
|
|
5866
|
+
for(var i = 0; i < numWorkers; ++i){
|
|
5865
5867
|
var worker = new Worker(blobUrl);
|
|
5866
5868
|
worker.addEventListener("message", function(e) {
|
|
5867
5869
|
results.push(e.data);
|
|
@@ -5872,7 +5874,7 @@ $4143f576ffbec226$var$util.text = {
|
|
|
5872
5874
|
});
|
|
5873
5875
|
workers.push(worker);
|
|
5874
5876
|
}
|
|
5875
|
-
for(var
|
|
5877
|
+
for(var i = 0; i < numWorkers; ++i)workers[i].postMessage(i);
|
|
5876
5878
|
}
|
|
5877
5879
|
function reduce(numWorkers, results) {
|
|
5878
5880
|
// find overlapping time windows
|
|
@@ -7729,13 +7731,13 @@ var $ca9d5cba0afae339$var$imix; // inverse mix-columns table
|
|
|
7729
7731
|
* mode the cipher mode to use (default: 'CBC').
|
|
7730
7732
|
*
|
|
7731
7733
|
* @return the cipher.
|
|
7732
|
-
*/ function $ca9d5cba0afae339$var$_createCipher(
|
|
7733
|
-
|
|
7734
|
-
var mode = (
|
|
7734
|
+
*/ function $ca9d5cba0afae339$var$_createCipher(options) {
|
|
7735
|
+
options = options || {};
|
|
7736
|
+
var mode = (options.mode || "CBC").toUpperCase();
|
|
7735
7737
|
var algorithm = "AES-" + mode;
|
|
7736
7738
|
var cipher;
|
|
7737
|
-
if (
|
|
7738
|
-
else cipher = $iGlOy.cipher.createCipher(algorithm,
|
|
7739
|
+
if (options.decrypt) cipher = $iGlOy.cipher.createDecipher(algorithm, options.key);
|
|
7740
|
+
else cipher = $iGlOy.cipher.createCipher(algorithm, options.key);
|
|
7739
7741
|
// backwards compatible start API
|
|
7740
7742
|
var start = cipher.start;
|
|
7741
7743
|
cipher.start = function(iv, options) {
|
|
@@ -7803,6 +7805,10 @@ $10862ec0f65326f9$var$_IN("1.3.14.3.2.29", "sha1WithRSASignature");
|
|
|
7803
7805
|
$10862ec0f65326f9$var$_IN("2.16.840.1.101.3.4.2.1", "sha256");
|
|
7804
7806
|
$10862ec0f65326f9$var$_IN("2.16.840.1.101.3.4.2.2", "sha384");
|
|
7805
7807
|
$10862ec0f65326f9$var$_IN("2.16.840.1.101.3.4.2.3", "sha512");
|
|
7808
|
+
$10862ec0f65326f9$var$_IN("2.16.840.1.101.3.4.2.4", "sha224");
|
|
7809
|
+
$10862ec0f65326f9$var$_IN("2.16.840.1.101.3.4.2.5", "sha512-224");
|
|
7810
|
+
$10862ec0f65326f9$var$_IN("2.16.840.1.101.3.4.2.6", "sha512-256");
|
|
7811
|
+
$10862ec0f65326f9$var$_IN("1.2.840.113549.2.2", "md2");
|
|
7806
7812
|
$10862ec0f65326f9$var$_IN("1.2.840.113549.2.5", "md5");
|
|
7807
7813
|
// pkcs#7 content types
|
|
7808
7814
|
$10862ec0f65326f9$var$_IN("1.2.840.113549.1.7.1", "data");
|
|
@@ -8128,6 +8134,8 @@ $10862ec0f65326f9$var$_IN("1.3.6.1.5.5.7.3.8", "timeStamping");
|
|
|
8128
8134
|
* @param [options] object with options or boolean strict flag
|
|
8129
8135
|
* [strict] true to be strict when checking value lengths, false to
|
|
8130
8136
|
* allow truncated values (default: true).
|
|
8137
|
+
* [parseAllBytes] true to ensure all bytes are parsed
|
|
8138
|
+
* (default: true)
|
|
8131
8139
|
* [decodeBitStrings] true to attempt to decode the content of
|
|
8132
8140
|
* BIT STRINGs (not OCTET STRINGs) using strict mode. Note that
|
|
8133
8141
|
* without schema support to understand the data context this can
|
|
@@ -8135,21 +8143,34 @@ $10862ec0f65326f9$var$_IN("1.3.6.1.5.5.7.3.8", "timeStamping");
|
|
|
8135
8143
|
* flag will be deprecated or removed as soon as schema support is
|
|
8136
8144
|
* available. (default: true)
|
|
8137
8145
|
*
|
|
8146
|
+
* @throws Will throw an error for various malformed input conditions.
|
|
8147
|
+
*
|
|
8138
8148
|
* @return the parsed asn1 object.
|
|
8139
8149
|
*/ $579f29a8775d6845$var$asn1.fromDer = function(bytes, options) {
|
|
8140
8150
|
if (options === undefined) options = {
|
|
8141
8151
|
strict: true,
|
|
8152
|
+
parseAllBytes: true,
|
|
8142
8153
|
decodeBitStrings: true
|
|
8143
8154
|
};
|
|
8144
8155
|
if (typeof options === "boolean") options = {
|
|
8145
8156
|
strict: options,
|
|
8157
|
+
parseAllBytes: true,
|
|
8146
8158
|
decodeBitStrings: true
|
|
8147
8159
|
};
|
|
8148
8160
|
if (!("strict" in options)) options.strict = true;
|
|
8161
|
+
if (!("parseAllBytes" in options)) options.parseAllBytes = true;
|
|
8149
8162
|
if (!("decodeBitStrings" in options)) options.decodeBitStrings = true;
|
|
8150
8163
|
// wrap in buffer if needed
|
|
8151
8164
|
if (typeof bytes === "string") bytes = $iGlOy.util.createBuffer(bytes);
|
|
8152
|
-
|
|
8165
|
+
var byteCount = bytes.length();
|
|
8166
|
+
var value = $579f29a8775d6845$var$_fromDer(bytes, bytes.length(), 0, options);
|
|
8167
|
+
if (options.parseAllBytes && bytes.length() !== 0) {
|
|
8168
|
+
var error = new Error("Unparsed DER bytes remain after ASN.1 parsing.");
|
|
8169
|
+
error.byteCount = byteCount;
|
|
8170
|
+
error.remaining = bytes.length();
|
|
8171
|
+
throw error;
|
|
8172
|
+
}
|
|
8173
|
+
return value;
|
|
8153
8174
|
};
|
|
8154
8175
|
/**
|
|
8155
8176
|
* Internal function to parse an asn1 object from a byte buffer in DER format.
|
|
@@ -8245,7 +8266,6 @@ $10862ec0f65326f9$var$_IN("1.3.6.1.5.5.7.3.8", "timeStamping");
|
|
|
8245
8266
|
start = bytes.length();
|
|
8246
8267
|
var subOptions = {
|
|
8247
8268
|
// enforce strict mode to avoid parsing ASN.1 from plain data
|
|
8248
|
-
verbose: options.verbose,
|
|
8249
8269
|
strict: true,
|
|
8250
8270
|
decodeBitStrings: true
|
|
8251
8271
|
};
|
|
@@ -8281,7 +8301,10 @@ $10862ec0f65326f9$var$_IN("1.3.6.1.5.5.7.3.8", "timeStamping");
|
|
|
8281
8301
|
value += String.fromCharCode(bytes.getInt16());
|
|
8282
8302
|
remaining -= 2;
|
|
8283
8303
|
}
|
|
8284
|
-
} else
|
|
8304
|
+
} else {
|
|
8305
|
+
value = bytes.getBytes(length);
|
|
8306
|
+
remaining -= length;
|
|
8307
|
+
}
|
|
8285
8308
|
}
|
|
8286
8309
|
// add BIT STRING contents if available
|
|
8287
8310
|
var asn1Options = bitStringContents === undefined ? null : {
|
|
@@ -8853,7 +8876,12 @@ var $579f29a8775d6845$var$_nonLatinRegex = /[^\\u0000-\\u00ff]/;
|
|
|
8853
8876
|
} else if (obj.type === $579f29a8775d6845$var$asn1.Type.OCTETSTRING) {
|
|
8854
8877
|
if (!$579f29a8775d6845$var$_nonLatinRegex.test(obj.value)) rval += "(" + obj.value + ") ";
|
|
8855
8878
|
rval += "0x" + $iGlOy.util.bytesToHex(obj.value);
|
|
8856
|
-
} else if (obj.type === $579f29a8775d6845$var$asn1.Type.UTF8)
|
|
8879
|
+
} else if (obj.type === $579f29a8775d6845$var$asn1.Type.UTF8) try {
|
|
8880
|
+
rval += $iGlOy.util.decodeUtf8(obj.value);
|
|
8881
|
+
} catch (e) {
|
|
8882
|
+
if (e.message === "URI malformed") rval += "0x" + $iGlOy.util.bytesToHex(obj.value) + " (malformed UTF8)";
|
|
8883
|
+
else throw e;
|
|
8884
|
+
}
|
|
8857
8885
|
else if (obj.type === $579f29a8775d6845$var$asn1.Type.PRINTABLESTRING || obj.type === $579f29a8775d6845$var$asn1.Type.IA5String) rval += obj.value;
|
|
8858
8886
|
else if ($579f29a8775d6845$var$_nonLatinRegex.test(obj.value)) rval += "0x" + $iGlOy.util.bytesToHex(obj.value);
|
|
8859
8887
|
else if (obj.value.length === 0) rval += "[null]";
|
|
@@ -10648,13 +10676,13 @@ var $ff4c3bd9116e15cc$var$spfunction8 = [
|
|
|
10648
10676
|
* mode the cipher mode to use (default: 'CBC').
|
|
10649
10677
|
*
|
|
10650
10678
|
* @return the cipher.
|
|
10651
|
-
*/ function $ff4c3bd9116e15cc$var$_createCipher(
|
|
10652
|
-
|
|
10653
|
-
var mode = (
|
|
10679
|
+
*/ function $ff4c3bd9116e15cc$var$_createCipher(options) {
|
|
10680
|
+
options = options || {};
|
|
10681
|
+
var mode = (options.mode || "CBC").toUpperCase();
|
|
10654
10682
|
var algorithm = "DES-" + mode;
|
|
10655
10683
|
var cipher;
|
|
10656
|
-
if (
|
|
10657
|
-
else cipher = $iGlOy.cipher.createCipher(algorithm,
|
|
10684
|
+
if (options.decrypt) cipher = $iGlOy.cipher.createDecipher(algorithm, options.key);
|
|
10685
|
+
else cipher = $iGlOy.cipher.createCipher(algorithm, options.key);
|
|
10658
10686
|
// backwards compatible start API
|
|
10659
10687
|
var start = cipher.start;
|
|
10660
10688
|
cipher.start = function(iv, options) {
|
|
@@ -10734,9 +10762,9 @@ if ($iGlOy.util.isNodejs && !$iGlOy.options.usePureJavaScript) $7436abf0cf29a7b7
|
|
|
10734
10762
|
var hLen = md.digestLength;
|
|
10735
10763
|
/* 1. If dkLen > (2^32 - 1) * hLen, output "derived key too long" and
|
|
10736
10764
|
stop. */ if (dkLen > 0xFFFFFFFF * hLen) {
|
|
10737
|
-
var
|
|
10738
|
-
if (callback) return callback(
|
|
10739
|
-
throw
|
|
10765
|
+
var err = new Error("Derived key is too long.");
|
|
10766
|
+
if (callback) return callback(err);
|
|
10767
|
+
throw err;
|
|
10740
10768
|
}
|
|
10741
10769
|
/* 2. Let len be the number of hLen-octet blocks in the derived key,
|
|
10742
10770
|
rounding up, and let r be the number of octets in the last
|
|
@@ -11187,9 +11215,9 @@ if ($iGlOy.util.isNodejs && !$iGlOy.options.usePureJavaScript && !process.versio
|
|
|
11187
11215
|
keyBytes: ""
|
|
11188
11216
|
};
|
|
11189
11217
|
// create 32 entropy pools (each is a message digest)
|
|
11190
|
-
var
|
|
11218
|
+
var md = plugin.md;
|
|
11191
11219
|
var pools = new Array(32);
|
|
11192
|
-
for(var
|
|
11220
|
+
for(var i = 0; i < 32; ++i)pools[i] = md.create();
|
|
11193
11221
|
ctx.pools = pools;
|
|
11194
11222
|
// entropy pools are written to cyclically, starting at index 0
|
|
11195
11223
|
ctx.pool = 0;
|
|
@@ -11345,9 +11373,9 @@ if ($iGlOy.util.isNodejs && !$iGlOy.options.usePureJavaScript && !process.versio
|
|
|
11345
11373
|
// use window.crypto.getRandomValues strong source of entropy if available
|
|
11346
11374
|
var getRandomValues = null;
|
|
11347
11375
|
var globalScope = $iGlOy.util.globalScope;
|
|
11348
|
-
var
|
|
11349
|
-
if (
|
|
11350
|
-
return
|
|
11376
|
+
var _crypto = globalScope.crypto || globalScope.msCrypto;
|
|
11377
|
+
if (_crypto && _crypto.getRandomValues) getRandomValues = function(arr) {
|
|
11378
|
+
return _crypto.getRandomValues(arr);
|
|
11351
11379
|
};
|
|
11352
11380
|
var b = $iGlOy.util.createBuffer();
|
|
11353
11381
|
if (getRandomValues) while(b.length() < needed){
|
|
@@ -11459,7 +11487,7 @@ if ($iGlOy.util.isNodejs && !$iGlOy.options.usePureJavaScript && !process.versio
|
|
|
11459
11487
|
};
|
|
11460
11488
|
else {
|
|
11461
11489
|
// main thread sends random bytes upon request
|
|
11462
|
-
var
|
|
11490
|
+
var listener = function(e) {
|
|
11463
11491
|
var data = e.data;
|
|
11464
11492
|
if (data.forge && data.forge.prng) ctx.seedFile(data.forge.prng.needed, function(err, bytes) {
|
|
11465
11493
|
worker.postMessage({
|
|
@@ -11473,7 +11501,7 @@ if ($iGlOy.util.isNodejs && !$iGlOy.options.usePureJavaScript && !process.versio
|
|
|
11473
11501
|
});
|
|
11474
11502
|
};
|
|
11475
11503
|
// TODO: do we need to remove the event listener when the worker dies?
|
|
11476
|
-
worker.addEventListener("message",
|
|
11504
|
+
worker.addEventListener("message", listener);
|
|
11477
11505
|
}
|
|
11478
11506
|
};
|
|
11479
11507
|
return ctx;
|
|
@@ -11487,7 +11515,7 @@ if ($iGlOy.util.isNodejs && !$iGlOy.options.usePureJavaScript && !process.versio
|
|
|
11487
11515
|
$b9b57fce3e6d85ef$exports = $iGlOy.random;
|
|
11488
11516
|
return;
|
|
11489
11517
|
}
|
|
11490
|
-
(function(
|
|
11518
|
+
(function(jQuery1) {
|
|
11491
11519
|
// the default prng plugin, uses AES-128
|
|
11492
11520
|
var prng_aes = {};
|
|
11493
11521
|
var _prng_aes_output = new Array(4);
|
|
@@ -11576,8 +11604,8 @@ if ($iGlOy.util.isNodejs && !$iGlOy.options.usePureJavaScript && !process.versio
|
|
|
11576
11604
|
// add some entropy from navigator object
|
|
11577
11605
|
if (typeof navigator !== "undefined") {
|
|
11578
11606
|
var _navBytes = "";
|
|
11579
|
-
for(var
|
|
11580
|
-
if (typeof navigator[
|
|
11607
|
+
for(var key in navigator)try {
|
|
11608
|
+
if (typeof navigator[key] == "string") _navBytes += navigator[key];
|
|
11581
11609
|
} catch (e) {
|
|
11582
11610
|
/* Some navigator keys might not be accessible, e.g. the geolocation
|
|
11583
11611
|
attribute throws an exception if touched in Mozilla chrome://
|
|
@@ -11589,22 +11617,22 @@ if ($iGlOy.util.isNodejs && !$iGlOy.options.usePureJavaScript && !process.versio
|
|
|
11589
11617
|
_navBytes = null;
|
|
11590
11618
|
}
|
|
11591
11619
|
// add mouse and keyboard collectors if jquery is available
|
|
11592
|
-
if (
|
|
11620
|
+
if (jQuery1) {
|
|
11593
11621
|
// set up mouse entropy capture
|
|
11594
|
-
|
|
11622
|
+
jQuery1().mousemove(function(e) {
|
|
11595
11623
|
// add mouse coords
|
|
11596
11624
|
_ctx.collectInt(e.clientX, 16);
|
|
11597
11625
|
_ctx.collectInt(e.clientY, 16);
|
|
11598
11626
|
});
|
|
11599
11627
|
// set up keyboard entropy capture
|
|
11600
|
-
|
|
11628
|
+
jQuery1().keypress(function(e) {
|
|
11601
11629
|
_ctx.collectInt(e.charCode, 8);
|
|
11602
11630
|
});
|
|
11603
11631
|
}
|
|
11604
11632
|
}
|
|
11605
11633
|
/* Random API */ if (!$iGlOy.random) $iGlOy.random = _ctx;
|
|
11606
11634
|
else // extend forge.random with _ctx
|
|
11607
|
-
for(var
|
|
11635
|
+
for(var key in _ctx)$iGlOy.random[key] = _ctx[key];
|
|
11608
11636
|
// expose spawn PRNG
|
|
11609
11637
|
$iGlOy.random.createInstance = spawnPrng;
|
|
11610
11638
|
$b9b57fce3e6d85ef$exports = $iGlOy.random;
|
|
@@ -14171,11 +14199,11 @@ var $iGlOy = parcelRequire("iGlOy");
|
|
|
14171
14199
|
// asynchronous which may actually be slower
|
|
14172
14200
|
// start workers immediately
|
|
14173
14201
|
var workers = [];
|
|
14174
|
-
for(var
|
|
14175
|
-
workers[
|
|
14202
|
+
for(var i = 0; i < numWorkers; ++i)// FIXME: fix path or use blob URLs
|
|
14203
|
+
workers[i] = new Worker(workerScript);
|
|
14176
14204
|
var running = numWorkers;
|
|
14177
14205
|
// listen for requests from workers and assign ranges to find prime
|
|
14178
|
-
for(var
|
|
14206
|
+
for(var i = 0; i < numWorkers; ++i)workers[i].addEventListener("message", workerMessage);
|
|
14179
14207
|
/* Note: The distribution of random numbers is unknown. Therefore, each
|
|
14180
14208
|
web worker is continuously allocated a range of numbers to check for a
|
|
14181
14209
|
random number until one is found.
|
|
@@ -14474,6 +14502,45 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
14474
14502
|
}
|
|
14475
14503
|
]
|
|
14476
14504
|
};
|
|
14505
|
+
// validator for a DigestInfo structure
|
|
14506
|
+
var $8ab3548bea1beb81$var$digestInfoValidator = {
|
|
14507
|
+
name: "DigestInfo",
|
|
14508
|
+
tagClass: $8ab3548bea1beb81$var$asn1.Class.UNIVERSAL,
|
|
14509
|
+
type: $8ab3548bea1beb81$var$asn1.Type.SEQUENCE,
|
|
14510
|
+
constructed: true,
|
|
14511
|
+
value: [
|
|
14512
|
+
{
|
|
14513
|
+
name: "DigestInfo.DigestAlgorithm",
|
|
14514
|
+
tagClass: $8ab3548bea1beb81$var$asn1.Class.UNIVERSAL,
|
|
14515
|
+
type: $8ab3548bea1beb81$var$asn1.Type.SEQUENCE,
|
|
14516
|
+
constructed: true,
|
|
14517
|
+
value: [
|
|
14518
|
+
{
|
|
14519
|
+
name: "DigestInfo.DigestAlgorithm.algorithmIdentifier",
|
|
14520
|
+
tagClass: $8ab3548bea1beb81$var$asn1.Class.UNIVERSAL,
|
|
14521
|
+
type: $8ab3548bea1beb81$var$asn1.Type.OID,
|
|
14522
|
+
constructed: false,
|
|
14523
|
+
capture: "algorithmIdentifier"
|
|
14524
|
+
},
|
|
14525
|
+
{
|
|
14526
|
+
// NULL paramters
|
|
14527
|
+
name: "DigestInfo.DigestAlgorithm.parameters",
|
|
14528
|
+
tagClass: $8ab3548bea1beb81$var$asn1.Class.UNIVERSAL,
|
|
14529
|
+
type: $8ab3548bea1beb81$var$asn1.Type.NULL,
|
|
14530
|
+
constructed: false
|
|
14531
|
+
}
|
|
14532
|
+
]
|
|
14533
|
+
},
|
|
14534
|
+
{
|
|
14535
|
+
// digest
|
|
14536
|
+
name: "DigestInfo.digest",
|
|
14537
|
+
tagClass: $8ab3548bea1beb81$var$asn1.Class.UNIVERSAL,
|
|
14538
|
+
type: $8ab3548bea1beb81$var$asn1.Type.OCTETSTRING,
|
|
14539
|
+
constructed: false,
|
|
14540
|
+
capture: "digest"
|
|
14541
|
+
}
|
|
14542
|
+
]
|
|
14543
|
+
};
|
|
14477
14544
|
/**
|
|
14478
14545
|
* Wrap digest in DigestInfo object.
|
|
14479
14546
|
*
|
|
@@ -14942,7 +15009,7 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
14942
15009
|
* @param [callback(err, keypair)] called once the operation completes.
|
|
14943
15010
|
*
|
|
14944
15011
|
* @return an object with privateKey and publicKey properties.
|
|
14945
|
-
*/ $8ab3548bea1beb81$var$pki.rsa.generateKeyPair = function(bits,
|
|
15012
|
+
*/ $8ab3548bea1beb81$var$pki.rsa.generateKeyPair = function(bits, e, options, callback) {
|
|
14946
15013
|
// (bits), (options), (callback)
|
|
14947
15014
|
if (arguments.length === 1) {
|
|
14948
15015
|
if (typeof bits === "object") {
|
|
@@ -14955,42 +15022,42 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
14955
15022
|
} else if (arguments.length === 2) {
|
|
14956
15023
|
// (bits, e), (bits, options), (bits, callback), (options, callback)
|
|
14957
15024
|
if (typeof bits === "number") {
|
|
14958
|
-
if (typeof
|
|
14959
|
-
callback =
|
|
14960
|
-
|
|
14961
|
-
} else if (typeof
|
|
14962
|
-
options =
|
|
14963
|
-
|
|
15025
|
+
if (typeof e === "function") {
|
|
15026
|
+
callback = e;
|
|
15027
|
+
e = undefined;
|
|
15028
|
+
} else if (typeof e !== "number") {
|
|
15029
|
+
options = e;
|
|
15030
|
+
e = undefined;
|
|
14964
15031
|
}
|
|
14965
15032
|
} else {
|
|
14966
15033
|
options = bits;
|
|
14967
|
-
callback =
|
|
15034
|
+
callback = e;
|
|
14968
15035
|
bits = undefined;
|
|
14969
|
-
|
|
15036
|
+
e = undefined;
|
|
14970
15037
|
}
|
|
14971
15038
|
} else if (arguments.length === 3) {
|
|
14972
15039
|
// (bits, e, options), (bits, e, callback), (bits, options, callback)
|
|
14973
|
-
if (typeof
|
|
15040
|
+
if (typeof e === "number") {
|
|
14974
15041
|
if (typeof options === "function") {
|
|
14975
15042
|
callback = options;
|
|
14976
15043
|
options = undefined;
|
|
14977
15044
|
}
|
|
14978
15045
|
} else {
|
|
14979
15046
|
callback = options;
|
|
14980
|
-
options =
|
|
14981
|
-
|
|
15047
|
+
options = e;
|
|
15048
|
+
e = undefined;
|
|
14982
15049
|
}
|
|
14983
15050
|
}
|
|
14984
15051
|
options = options || {};
|
|
14985
15052
|
if (bits === undefined) bits = options.bits || 2048;
|
|
14986
|
-
if (
|
|
15053
|
+
if (e === undefined) e = options.e || 0x10001;
|
|
14987
15054
|
// use native code if permitted, available, and parameters are acceptable
|
|
14988
|
-
if (!$iGlOy.options.usePureJavaScript && !options.prng && bits >= 256 && bits <= 16384 && (
|
|
15055
|
+
if (!$iGlOy.options.usePureJavaScript && !options.prng && bits >= 256 && bits <= 16384 && (e === 0x10001 || e === 3)) {
|
|
14989
15056
|
if (callback) {
|
|
14990
15057
|
// try native async
|
|
14991
15058
|
if ($8ab3548bea1beb81$var$_detectNodeCrypto("generateKeyPair")) return $8ab3548bea1beb81$var$_crypto.generateKeyPair("rsa", {
|
|
14992
15059
|
modulusLength: bits,
|
|
14993
|
-
publicExponent:
|
|
15060
|
+
publicExponent: e,
|
|
14994
15061
|
publicKeyEncoding: {
|
|
14995
15062
|
type: "spki",
|
|
14996
15063
|
format: "pem"
|
|
@@ -15010,7 +15077,7 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15010
15077
|
return $8ab3548bea1beb81$var$util.globalScope.crypto.subtle.generateKey({
|
|
15011
15078
|
name: "RSASSA-PKCS1-v1_5",
|
|
15012
15079
|
modulusLength: bits,
|
|
15013
|
-
publicExponent: $8ab3548bea1beb81$var$_intToUint8Array(
|
|
15080
|
+
publicExponent: $8ab3548bea1beb81$var$_intToUint8Array(e),
|
|
15014
15081
|
hash: {
|
|
15015
15082
|
name: "SHA-256"
|
|
15016
15083
|
}
|
|
@@ -15035,7 +15102,7 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15035
15102
|
var genOp = $8ab3548bea1beb81$var$util.globalScope.msCrypto.subtle.generateKey({
|
|
15036
15103
|
name: "RSASSA-PKCS1-v1_5",
|
|
15037
15104
|
modulusLength: bits,
|
|
15038
|
-
publicExponent: $8ab3548bea1beb81$var$_intToUint8Array(
|
|
15105
|
+
publicExponent: $8ab3548bea1beb81$var$_intToUint8Array(e),
|
|
15039
15106
|
hash: {
|
|
15040
15107
|
name: "SHA-256"
|
|
15041
15108
|
}
|
|
@@ -15043,8 +15110,8 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15043
15110
|
"sign",
|
|
15044
15111
|
"verify"
|
|
15045
15112
|
]);
|
|
15046
|
-
genOp.oncomplete = function(
|
|
15047
|
-
var pair =
|
|
15113
|
+
genOp.oncomplete = function(e) {
|
|
15114
|
+
var pair = e.target.result;
|
|
15048
15115
|
var exportOp = $8ab3548bea1beb81$var$util.globalScope.msCrypto.subtle.exportKey("pkcs8", pair.privateKey);
|
|
15049
15116
|
exportOp.oncomplete = function(e) {
|
|
15050
15117
|
var pkcs8 = e.target.result;
|
|
@@ -15067,7 +15134,7 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15067
15134
|
if ($8ab3548bea1beb81$var$_detectNodeCrypto("generateKeyPairSync")) {
|
|
15068
15135
|
var keypair = $8ab3548bea1beb81$var$_crypto.generateKeyPairSync("rsa", {
|
|
15069
15136
|
modulusLength: bits,
|
|
15070
|
-
publicExponent:
|
|
15137
|
+
publicExponent: e,
|
|
15071
15138
|
publicKeyEncoding: {
|
|
15072
15139
|
type: "spki",
|
|
15073
15140
|
format: "pem"
|
|
@@ -15084,7 +15151,7 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15084
15151
|
}
|
|
15085
15152
|
}
|
|
15086
15153
|
// use JavaScript implementation
|
|
15087
|
-
var state = $8ab3548bea1beb81$var$pki.rsa.createKeyPairGenerationState(bits,
|
|
15154
|
+
var state = $8ab3548bea1beb81$var$pki.rsa.createKeyPairGenerationState(bits, e, options);
|
|
15088
15155
|
if (!callback) {
|
|
15089
15156
|
$8ab3548bea1beb81$var$pki.rsa.stepKeyPairGenerationState(state, 0);
|
|
15090
15157
|
return state.keys;
|
|
@@ -15098,10 +15165,10 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15098
15165
|
* @param e the exponent.
|
|
15099
15166
|
*
|
|
15100
15167
|
* @return the public key.
|
|
15101
|
-
*/ $8ab3548bea1beb81$var$pki.setRsaPublicKey = $8ab3548bea1beb81$var$pki.rsa.setPublicKey = function(n,
|
|
15102
|
-
var
|
|
15168
|
+
*/ $8ab3548bea1beb81$var$pki.setRsaPublicKey = $8ab3548bea1beb81$var$pki.rsa.setPublicKey = function(n, e) {
|
|
15169
|
+
var key = {
|
|
15103
15170
|
n: n,
|
|
15104
|
-
e:
|
|
15171
|
+
e: e
|
|
15105
15172
|
};
|
|
15106
15173
|
/**
|
|
15107
15174
|
* Encrypts the given data with this public key. Newer applications
|
|
@@ -15119,7 +15186,7 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15119
15186
|
* @param schemeOptions any scheme-specific options.
|
|
15120
15187
|
*
|
|
15121
15188
|
* @return the encrypted byte string.
|
|
15122
|
-
*/
|
|
15189
|
+
*/ key.encrypt = function(data, scheme, schemeOptions) {
|
|
15123
15190
|
if (typeof scheme === "string") scheme = scheme.toUpperCase();
|
|
15124
15191
|
else if (scheme === undefined) scheme = "RSAES-PKCS1-V1_5";
|
|
15125
15192
|
if (scheme === "RSAES-PKCS1-V1_5") scheme = {
|
|
@@ -15144,8 +15211,8 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15144
15211
|
};
|
|
15145
15212
|
else if (typeof scheme === "string") throw new Error('Unsupported encryption scheme: "' + scheme + '".');
|
|
15146
15213
|
// do scheme-based encoding then rsa encryption
|
|
15147
|
-
var
|
|
15148
|
-
return $8ab3548bea1beb81$var$pki.rsa.encrypt(
|
|
15214
|
+
var e = scheme.encode(data, key, true);
|
|
15215
|
+
return $8ab3548bea1beb81$var$pki.rsa.encrypt(e, key, true);
|
|
15149
15216
|
};
|
|
15150
15217
|
/**
|
|
15151
15218
|
* Verifies the given signature against the given digest.
|
|
@@ -15175,33 +15242,60 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15175
15242
|
* a Forge PSS object for RSASSA-PSS,
|
|
15176
15243
|
* 'NONE' or null for none, DigestInfo will not be expected, but
|
|
15177
15244
|
* PKCS#1 v1.5 padding will still be used.
|
|
15245
|
+
* @param options optional verify options
|
|
15246
|
+
* _parseAllDigestBytes testing flag to control parsing of all
|
|
15247
|
+
* digest bytes. Unsupported and not for general usage.
|
|
15248
|
+
* (default: true)
|
|
15178
15249
|
*
|
|
15179
15250
|
* @return true if the signature was verified, false if not.
|
|
15180
|
-
*/
|
|
15251
|
+
*/ key.verify = function(digest, signature, scheme, options) {
|
|
15181
15252
|
if (typeof scheme === "string") scheme = scheme.toUpperCase();
|
|
15182
15253
|
else if (scheme === undefined) scheme = "RSASSA-PKCS1-V1_5";
|
|
15254
|
+
if (options === undefined) options = {
|
|
15255
|
+
_parseAllDigestBytes: true
|
|
15256
|
+
};
|
|
15257
|
+
if (!("_parseAllDigestBytes" in options)) options._parseAllDigestBytes = true;
|
|
15183
15258
|
if (scheme === "RSASSA-PKCS1-V1_5") scheme = {
|
|
15184
15259
|
verify: function(digest, d) {
|
|
15185
15260
|
// remove padding
|
|
15186
|
-
d = $8ab3548bea1beb81$var$_decodePkcs1_v1_5(d,
|
|
15261
|
+
d = $8ab3548bea1beb81$var$_decodePkcs1_v1_5(d, key, true);
|
|
15187
15262
|
// d is ASN.1 BER-encoded DigestInfo
|
|
15188
|
-
var obj = $8ab3548bea1beb81$var$asn1.fromDer(d
|
|
15263
|
+
var obj = $8ab3548bea1beb81$var$asn1.fromDer(d, {
|
|
15264
|
+
parseAllBytes: options._parseAllDigestBytes
|
|
15265
|
+
});
|
|
15266
|
+
// validate DigestInfo
|
|
15267
|
+
var capture = {};
|
|
15268
|
+
var errors = [];
|
|
15269
|
+
if (!$8ab3548bea1beb81$var$asn1.validate(obj, $8ab3548bea1beb81$var$digestInfoValidator, capture, errors)) {
|
|
15270
|
+
var error = new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");
|
|
15271
|
+
error.errors = errors;
|
|
15272
|
+
throw error;
|
|
15273
|
+
}
|
|
15274
|
+
// check hash algorithm identifier
|
|
15275
|
+
// see PKCS1-v1-5DigestAlgorithms in RFC 8017
|
|
15276
|
+
// FIXME: add support to vaidator for strict value choices
|
|
15277
|
+
var oid = $8ab3548bea1beb81$var$asn1.derToOid(capture.algorithmIdentifier);
|
|
15278
|
+
if (!(oid === $iGlOy.oids.md2 || oid === $iGlOy.oids.md5 || oid === $iGlOy.oids.sha1 || oid === $iGlOy.oids.sha224 || oid === $iGlOy.oids.sha256 || oid === $iGlOy.oids.sha384 || oid === $iGlOy.oids.sha512 || oid === $iGlOy.oids["sha512-224"] || oid === $iGlOy.oids["sha512-256"])) {
|
|
15279
|
+
var error = new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");
|
|
15280
|
+
error.oid = oid;
|
|
15281
|
+
throw error;
|
|
15282
|
+
}
|
|
15189
15283
|
// compare the given digest to the decrypted one
|
|
15190
|
-
return digest ===
|
|
15284
|
+
return digest === capture.digest;
|
|
15191
15285
|
}
|
|
15192
15286
|
};
|
|
15193
15287
|
else if (scheme === "NONE" || scheme === "NULL" || scheme === null) scheme = {
|
|
15194
15288
|
verify: function(digest, d) {
|
|
15195
15289
|
// remove padding
|
|
15196
|
-
d = $8ab3548bea1beb81$var$_decodePkcs1_v1_5(d,
|
|
15290
|
+
d = $8ab3548bea1beb81$var$_decodePkcs1_v1_5(d, key, true);
|
|
15197
15291
|
return digest === d;
|
|
15198
15292
|
}
|
|
15199
15293
|
};
|
|
15200
15294
|
// do rsa decryption w/o any decoding, then verify -- which does decoding
|
|
15201
|
-
var
|
|
15202
|
-
return scheme.verify(
|
|
15295
|
+
var d = $8ab3548bea1beb81$var$pki.rsa.decrypt(signature, key, true, false);
|
|
15296
|
+
return scheme.verify(digest, d, key.n.bitLength());
|
|
15203
15297
|
};
|
|
15204
|
-
return
|
|
15298
|
+
return key;
|
|
15205
15299
|
};
|
|
15206
15300
|
/**
|
|
15207
15301
|
* Sets an RSA private key from BigIntegers modulus, exponent, primes,
|
|
@@ -15217,11 +15311,11 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15217
15311
|
* @param qInv ((inverse of q) mod p)
|
|
15218
15312
|
*
|
|
15219
15313
|
* @return the private key.
|
|
15220
|
-
*/ $8ab3548bea1beb81$var$pki.setRsaPrivateKey = $8ab3548bea1beb81$var$pki.rsa.setPrivateKey = function(n, e,
|
|
15221
|
-
var
|
|
15314
|
+
*/ $8ab3548bea1beb81$var$pki.setRsaPrivateKey = $8ab3548bea1beb81$var$pki.rsa.setPrivateKey = function(n, e, d, p, q, dP, dQ, qInv) {
|
|
15315
|
+
var key = {
|
|
15222
15316
|
n: n,
|
|
15223
15317
|
e: e,
|
|
15224
|
-
d:
|
|
15318
|
+
d: d,
|
|
15225
15319
|
p: p,
|
|
15226
15320
|
q: q,
|
|
15227
15321
|
dP: dP,
|
|
@@ -15240,11 +15334,11 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15240
15334
|
* @param schemeOptions any scheme-specific options.
|
|
15241
15335
|
*
|
|
15242
15336
|
* @return the decrypted byte string.
|
|
15243
|
-
*/
|
|
15337
|
+
*/ key.decrypt = function(data, scheme, schemeOptions) {
|
|
15244
15338
|
if (typeof scheme === "string") scheme = scheme.toUpperCase();
|
|
15245
15339
|
else if (scheme === undefined) scheme = "RSAES-PKCS1-V1_5";
|
|
15246
15340
|
// do rsa decryption w/o any decoding
|
|
15247
|
-
var
|
|
15341
|
+
var d = $8ab3548bea1beb81$var$pki.rsa.decrypt(data, key, false, false);
|
|
15248
15342
|
if (scheme === "RSAES-PKCS1-V1_5") scheme = {
|
|
15249
15343
|
decode: $8ab3548bea1beb81$var$_decodePkcs1_v1_5
|
|
15250
15344
|
};
|
|
@@ -15265,7 +15359,7 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15265
15359
|
};
|
|
15266
15360
|
else throw new Error('Unsupported encryption scheme: "' + scheme + '".');
|
|
15267
15361
|
// decode according to scheme
|
|
15268
|
-
return scheme.decode(
|
|
15362
|
+
return scheme.decode(d, key, false);
|
|
15269
15363
|
};
|
|
15270
15364
|
/**
|
|
15271
15365
|
* Signs the given digest, producing a signature.
|
|
@@ -15285,7 +15379,7 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15285
15379
|
* PKCS#1 v1.5 padding will still be used.
|
|
15286
15380
|
*
|
|
15287
15381
|
* @return the signature as a byte string.
|
|
15288
|
-
*/
|
|
15382
|
+
*/ key.sign = function(md, scheme) {
|
|
15289
15383
|
/* Note: The internal implementation of RSA operations is being
|
|
15290
15384
|
transitioned away from a PKCS#1 v1.5 hard-coded scheme. Some legacy
|
|
15291
15385
|
code like the use of an encoding block identifier 'bt' will eventually
|
|
@@ -15306,10 +15400,10 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15306
15400
|
bt = 0x01;
|
|
15307
15401
|
}
|
|
15308
15402
|
// encode and then encrypt
|
|
15309
|
-
var d = scheme.encode(md,
|
|
15310
|
-
return $8ab3548bea1beb81$var$pki.rsa.encrypt(d,
|
|
15403
|
+
var d = scheme.encode(md, key.n.bitLength());
|
|
15404
|
+
return $8ab3548bea1beb81$var$pki.rsa.encrypt(d, key, bt);
|
|
15311
15405
|
};
|
|
15312
|
-
return
|
|
15406
|
+
return key;
|
|
15313
15407
|
};
|
|
15314
15408
|
/**
|
|
15315
15409
|
* Wraps an RSAPrivateKey ASN.1 object in an ASN.1 PrivateKeyInfo object.
|
|
@@ -15596,9 +15690,9 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15596
15690
|
* numbers for each web worker to check per work assignment,
|
|
15597
15691
|
* (default: 100).
|
|
15598
15692
|
* @param callback(err, keypair) called once the operation completes.
|
|
15599
|
-
*/ function $8ab3548bea1beb81$var$_generateKeyPair(state, options,
|
|
15693
|
+
*/ function $8ab3548bea1beb81$var$_generateKeyPair(state, options, callback) {
|
|
15600
15694
|
if (typeof options === "function") {
|
|
15601
|
-
|
|
15695
|
+
callback = options;
|
|
15602
15696
|
options = {};
|
|
15603
15697
|
}
|
|
15604
15698
|
options = options || {};
|
|
@@ -15617,7 +15711,7 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15617
15711
|
function generate() {
|
|
15618
15712
|
// find p and then q (done in series to simplify)
|
|
15619
15713
|
getPrime(state.pBits, function(err, num) {
|
|
15620
|
-
if (err) return
|
|
15714
|
+
if (err) return callback(err);
|
|
15621
15715
|
state.p = num;
|
|
15622
15716
|
if (state.q !== null) return finish(err, state.q);
|
|
15623
15717
|
getPrime(state.qBits, finish);
|
|
@@ -15627,7 +15721,7 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15627
15721
|
$iGlOy.prime.generateProbablePrime(bits, opts, callback);
|
|
15628
15722
|
}
|
|
15629
15723
|
function finish(err, num) {
|
|
15630
|
-
if (err) return
|
|
15724
|
+
if (err) return callback(err);
|
|
15631
15725
|
// set q
|
|
15632
15726
|
state.q = num;
|
|
15633
15727
|
// ensure p is larger than q (swap them if not)
|
|
@@ -15673,7 +15767,7 @@ var $8ab3548bea1beb81$var$publicKeyValidator = $iGlOy.pki.rsa.publicKeyValidator
|
|
|
15673
15767
|
privateKey: $8ab3548bea1beb81$var$pki.rsa.setPrivateKey(state.n, state.e, d, state.p, state.q, d.mod(state.p1), d.mod(state.q1), state.q.modInverse(state.p)),
|
|
15674
15768
|
publicKey: $8ab3548bea1beb81$var$pki.rsa.setPublicKey(state.n, state.e)
|
|
15675
15769
|
};
|
|
15676
|
-
|
|
15770
|
+
callback(null, state.keys);
|
|
15677
15771
|
}
|
|
15678
15772
|
}
|
|
15679
15773
|
/**
|
|
@@ -16539,10 +16633,10 @@ var $4ead143e6089ae29$var$pkcs12PbeParamsValidator = {
|
|
|
16539
16633
|
}
|
|
16540
16634
|
// get PRF message digest
|
|
16541
16635
|
var md = $4ead143e6089ae29$var$prfOidToMessageDigest(capture.prfOid);
|
|
16542
|
-
var
|
|
16636
|
+
var key = $4ead143e6089ae29$var$pki.pbe.generatePkcs12Key(password, salt, 1, count, dkLen, md);
|
|
16543
16637
|
md.start();
|
|
16544
|
-
var
|
|
16545
|
-
return cipherFn(
|
|
16638
|
+
var iv = $4ead143e6089ae29$var$pki.pbe.generatePkcs12Key(password, salt, 2, count, dIvLen, md);
|
|
16639
|
+
return cipherFn(key, iv);
|
|
16546
16640
|
};
|
|
16547
16641
|
/**
|
|
16548
16642
|
* OpenSSL's legacy key derivation function.
|
|
@@ -19446,9 +19540,9 @@ var $f71d929f259208f7$var$jan_1_2050 = new Date("2050-01-01T00:00:00Z");
|
|
|
19446
19540
|
}
|
|
19447
19541
|
// auto-add passed in certs
|
|
19448
19542
|
if (certs) // parse PEM-formatted certificates as necessary
|
|
19449
|
-
for(var
|
|
19450
|
-
var
|
|
19451
|
-
caStore.addCertificate(
|
|
19543
|
+
for(var i = 0; i < certs.length; ++i){
|
|
19544
|
+
var cert = certs[i];
|
|
19545
|
+
caStore.addCertificate(cert);
|
|
19452
19546
|
}
|
|
19453
19547
|
return caStore;
|
|
19454
19548
|
};
|
|
@@ -20631,11 +20725,11 @@ var $71c5302ef2ea3950$var$asn1 = $iGlOy.asn1;
|
|
|
20631
20725
|
* @param maxline the maximum characters per line, defaults to 64.
|
|
20632
20726
|
*
|
|
20633
20727
|
* @return the PEM-formatted private key.
|
|
20634
|
-
*/ $71c5302ef2ea3950$var$pki.privateKeyInfoToPem = function(
|
|
20728
|
+
*/ $71c5302ef2ea3950$var$pki.privateKeyInfoToPem = function(pki, maxline) {
|
|
20635
20729
|
// convert to DER, then PEM-encode
|
|
20636
20730
|
var msg = {
|
|
20637
20731
|
type: "PRIVATE KEY",
|
|
20638
|
-
body: $71c5302ef2ea3950$var$asn1.toDer(
|
|
20732
|
+
body: $71c5302ef2ea3950$var$asn1.toDer(pki).getBytes()
|
|
20639
20733
|
};
|
|
20640
20734
|
return $iGlOy.pem.encode(msg, {
|
|
20641
20735
|
maxline: maxline
|
|
@@ -20761,7 +20855,7 @@ var $71c5302ef2ea3950$var$asn1 = $iGlOy.asn1;
|
|
|
20761
20855
|
* @param record the record.
|
|
20762
20856
|
*
|
|
20763
20857
|
* @return the sha-1 hash (20 bytes) for the given record.
|
|
20764
|
-
*/ var $e55982d45da68b81$var$hmac_sha1 = function(
|
|
20858
|
+
*/ var $e55982d45da68b81$var$hmac_sha1 = function(key, seqNum, record) {
|
|
20765
20859
|
/* MAC is computed like so:
|
|
20766
20860
|
HMAC_hash(
|
|
20767
20861
|
key, seqNum +
|
|
@@ -20770,7 +20864,7 @@ var $71c5302ef2ea3950$var$asn1 = $iGlOy.asn1;
|
|
|
20770
20864
|
TLSCompressed.length +
|
|
20771
20865
|
TLSCompressed.fragment)
|
|
20772
20866
|
*/ var hmac = $iGlOy.hmac.create();
|
|
20773
|
-
hmac.start("SHA1",
|
|
20867
|
+
hmac.start("SHA1", key);
|
|
20774
20868
|
var b = $iGlOy.util.createBuffer();
|
|
20775
20869
|
b.putInt32(seqNum[0]);
|
|
20776
20870
|
b.putInt32(seqNum[1]);
|
|
@@ -21073,8 +21167,8 @@ $e55982d45da68b81$var$tls.Alert.Description = {
|
|
|
21073
21167
|
* @return the matching supported cipher suite or null.
|
|
21074
21168
|
*/ $e55982d45da68b81$var$tls.getCipherSuite = function(twoBytes) {
|
|
21075
21169
|
var rval = null;
|
|
21076
|
-
for(var
|
|
21077
|
-
var cs = $e55982d45da68b81$var$tls.CipherSuites[
|
|
21170
|
+
for(var key in $e55982d45da68b81$var$tls.CipherSuites){
|
|
21171
|
+
var cs = $e55982d45da68b81$var$tls.CipherSuites[key];
|
|
21078
21172
|
if (cs.id[0] === twoBytes.charCodeAt(0) && cs.id[1] === twoBytes.charCodeAt(1)) {
|
|
21079
21173
|
rval = cs;
|
|
21080
21174
|
break;
|
|
@@ -21796,9 +21890,9 @@ $e55982d45da68b81$var$tls.Alert.Description = {
|
|
|
21796
21890
|
* @param c the connection.
|
|
21797
21891
|
* @param record the record.
|
|
21798
21892
|
* @param length the length of the handshake message.
|
|
21799
|
-
*/ $e55982d45da68b81$var$tls.handleServerHelloDone = function(
|
|
21893
|
+
*/ $e55982d45da68b81$var$tls.handleServerHelloDone = function(c, record, length) {
|
|
21800
21894
|
// len must be 0 bytes
|
|
21801
|
-
if (length > 0) return
|
|
21895
|
+
if (length > 0) return c.error(c, {
|
|
21802
21896
|
message: "Invalid ServerHelloDone message. Invalid length.",
|
|
21803
21897
|
send: true,
|
|
21804
21898
|
alert: {
|
|
@@ -21806,7 +21900,7 @@ $e55982d45da68b81$var$tls.Alert.Description = {
|
|
|
21806
21900
|
description: $e55982d45da68b81$var$tls.Alert.Description.record_overflow
|
|
21807
21901
|
}
|
|
21808
21902
|
});
|
|
21809
|
-
if (
|
|
21903
|
+
if (c.serverCertificate === null) {
|
|
21810
21904
|
// no server certificate was provided
|
|
21811
21905
|
var error = {
|
|
21812
21906
|
message: "No server certificate provided. Not enough security.",
|
|
@@ -21818,7 +21912,7 @@ $e55982d45da68b81$var$tls.Alert.Description = {
|
|
|
21818
21912
|
};
|
|
21819
21913
|
// call application callback
|
|
21820
21914
|
var depth = 0;
|
|
21821
|
-
var ret =
|
|
21915
|
+
var ret = c.verify(c, error.alert.description, depth, []);
|
|
21822
21916
|
if (ret !== true) {
|
|
21823
21917
|
// check for custom alert info
|
|
21824
21918
|
if (ret || ret === 0) {
|
|
@@ -21830,25 +21924,25 @@ $e55982d45da68b81$var$tls.Alert.Description = {
|
|
|
21830
21924
|
error.alert.description = ret;
|
|
21831
21925
|
}
|
|
21832
21926
|
// send error
|
|
21833
|
-
return
|
|
21927
|
+
return c.error(c, error);
|
|
21834
21928
|
}
|
|
21835
21929
|
}
|
|
21836
21930
|
// create client certificate message if requested
|
|
21837
|
-
if (
|
|
21838
|
-
record = $e55982d45da68b81$var$tls.createRecord(
|
|
21931
|
+
if (c.session.certificateRequest !== null) {
|
|
21932
|
+
record = $e55982d45da68b81$var$tls.createRecord(c, {
|
|
21839
21933
|
type: $e55982d45da68b81$var$tls.ContentType.handshake,
|
|
21840
|
-
data: $e55982d45da68b81$var$tls.createCertificate(
|
|
21934
|
+
data: $e55982d45da68b81$var$tls.createCertificate(c)
|
|
21841
21935
|
});
|
|
21842
|
-
$e55982d45da68b81$var$tls.queue(
|
|
21936
|
+
$e55982d45da68b81$var$tls.queue(c, record);
|
|
21843
21937
|
}
|
|
21844
21938
|
// create client key exchange message
|
|
21845
|
-
record = $e55982d45da68b81$var$tls.createRecord(
|
|
21939
|
+
record = $e55982d45da68b81$var$tls.createRecord(c, {
|
|
21846
21940
|
type: $e55982d45da68b81$var$tls.ContentType.handshake,
|
|
21847
|
-
data: $e55982d45da68b81$var$tls.createClientKeyExchange(
|
|
21941
|
+
data: $e55982d45da68b81$var$tls.createClientKeyExchange(c)
|
|
21848
21942
|
});
|
|
21849
|
-
$e55982d45da68b81$var$tls.queue(
|
|
21943
|
+
$e55982d45da68b81$var$tls.queue(c, record);
|
|
21850
21944
|
// expect no messages until the following callback has been called
|
|
21851
|
-
|
|
21945
|
+
c.expect = $e55982d45da68b81$var$SER;
|
|
21852
21946
|
// create callback to handle client signature (for client-certs)
|
|
21853
21947
|
var callback = function(c, signature) {
|
|
21854
21948
|
if (c.session.certificateRequest !== null && c.session.clientCertificate !== null) // create certificate verify message
|
|
@@ -21879,9 +21973,9 @@ $e55982d45da68b81$var$tls.Alert.Description = {
|
|
|
21879
21973
|
};
|
|
21880
21974
|
// if there is no certificate request or no client certificate, do
|
|
21881
21975
|
// callback immediately
|
|
21882
|
-
if (
|
|
21976
|
+
if (c.session.certificateRequest === null || c.session.clientCertificate === null) return callback(c, null);
|
|
21883
21977
|
// otherwise get the client signature
|
|
21884
|
-
$e55982d45da68b81$var$tls.getClientSignature(
|
|
21978
|
+
$e55982d45da68b81$var$tls.getClientSignature(c, callback);
|
|
21885
21979
|
};
|
|
21886
21980
|
/**
|
|
21887
21981
|
* Called when a ChangeCipherSpec record is received.
|
|
@@ -22992,8 +23086,8 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
22992
23086
|
* @param c the connection.
|
|
22993
23087
|
*
|
|
22994
23088
|
* @return the new initialized TLS connection state.
|
|
22995
|
-
*/ $e55982d45da68b81$var$tls.createConnectionState = function(
|
|
22996
|
-
var client =
|
|
23089
|
+
*/ $e55982d45da68b81$var$tls.createConnectionState = function(c) {
|
|
23090
|
+
var client = c.entity === $e55982d45da68b81$var$tls.ConnectionEnd.client;
|
|
22997
23091
|
var createMode = function() {
|
|
22998
23092
|
var mode = {
|
|
22999
23093
|
// two 32-bit numbers, first is most significant
|
|
@@ -23073,15 +23167,15 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
23073
23167
|
return !c.fail;
|
|
23074
23168
|
};
|
|
23075
23169
|
// handle security parameters
|
|
23076
|
-
if (
|
|
23077
|
-
var sp =
|
|
23078
|
-
|
|
23170
|
+
if (c.session) {
|
|
23171
|
+
var sp = c.session.sp;
|
|
23172
|
+
c.session.cipherSuite.initSecurityParameters(sp);
|
|
23079
23173
|
// generate keys
|
|
23080
|
-
sp.keys = $e55982d45da68b81$var$tls.generateKeys(
|
|
23174
|
+
sp.keys = $e55982d45da68b81$var$tls.generateKeys(c, sp);
|
|
23081
23175
|
state.read.macKey = client ? sp.keys.server_write_MAC_key : sp.keys.client_write_MAC_key;
|
|
23082
23176
|
state.write.macKey = client ? sp.keys.client_write_MAC_key : sp.keys.server_write_MAC_key;
|
|
23083
23177
|
// cipher suite setup
|
|
23084
|
-
|
|
23178
|
+
c.session.cipherSuite.initConnectionState(state, c, sp);
|
|
23085
23179
|
// compression setup
|
|
23086
23180
|
switch(sp.compression_algorithm){
|
|
23087
23181
|
case $e55982d45da68b81$var$tls.CompressionMethod.none:
|
|
@@ -23476,8 +23570,8 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
23476
23570
|
var sp = c.session.sp;
|
|
23477
23571
|
sp.pre_master_secret = b.getBytes();
|
|
23478
23572
|
// RSA-encrypt the pre-master secret
|
|
23479
|
-
var
|
|
23480
|
-
b =
|
|
23573
|
+
var key = c.session.serverCertificate.publicKey;
|
|
23574
|
+
b = key.encrypt(sp.pre_master_secret);
|
|
23481
23575
|
/* Note: The encrypted pre-master secret will be stored in a
|
|
23482
23576
|
public-key-encrypted opaque vector that has the length prefixed using
|
|
23483
23577
|
2 bytes, so include those 2 bytes in the handshake message length. This
|
|
@@ -23517,14 +23611,14 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
23517
23611
|
*
|
|
23518
23612
|
* @param c the connection.
|
|
23519
23613
|
* @param callback the callback to call once the signed data is ready.
|
|
23520
|
-
*/ $e55982d45da68b81$var$tls.getClientSignature = function(
|
|
23614
|
+
*/ $e55982d45da68b81$var$tls.getClientSignature = function(c, callback) {
|
|
23521
23615
|
// generate data to RSA encrypt
|
|
23522
|
-
var
|
|
23523
|
-
|
|
23524
|
-
|
|
23525
|
-
|
|
23616
|
+
var b = $iGlOy.util.createBuffer();
|
|
23617
|
+
b.putBuffer(c.session.md5.digest());
|
|
23618
|
+
b.putBuffer(c.session.sha1.digest());
|
|
23619
|
+
b = b.getBytes();
|
|
23526
23620
|
// create default signing function as necessary
|
|
23527
|
-
|
|
23621
|
+
c.getSignature = c.getSignature || function(c, b, callback) {
|
|
23528
23622
|
// do rsa encryption, call callback
|
|
23529
23623
|
var privateKey = null;
|
|
23530
23624
|
if (c.getPrivateKey) try {
|
|
@@ -23553,7 +23647,7 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
23553
23647
|
callback(c, b);
|
|
23554
23648
|
};
|
|
23555
23649
|
// get client signature
|
|
23556
|
-
|
|
23650
|
+
c.getSignature(c, b, callback);
|
|
23557
23651
|
};
|
|
23558
23652
|
/**
|
|
23559
23653
|
* Creates a CertificateVerify message.
|
|
@@ -23644,8 +23738,8 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
23644
23738
|
certTypes.putByte(0x01);
|
|
23645
23739
|
// add distinguished names from CA store
|
|
23646
23740
|
var cAs = $iGlOy.util.createBuffer();
|
|
23647
|
-
for(var
|
|
23648
|
-
var cert = c.caStore.certs[
|
|
23741
|
+
for(var key in c.caStore.certs){
|
|
23742
|
+
var cert = c.caStore.certs[key];
|
|
23649
23743
|
var dn = $iGlOy.pki.distinguishedNameToAsn1(cert.subject);
|
|
23650
23744
|
var byteBuffer = $iGlOy.asn1.toDer(dn);
|
|
23651
23745
|
cAs.putInt16(byteBuffer.length());
|
|
@@ -23924,12 +24018,12 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
23924
24018
|
* authority at the end.
|
|
23925
24019
|
*
|
|
23926
24020
|
* @return true if successful, false if not.
|
|
23927
|
-
*/ $e55982d45da68b81$var$tls.verifyCertificateChain = function(c,
|
|
24021
|
+
*/ $e55982d45da68b81$var$tls.verifyCertificateChain = function(c, chain) {
|
|
23928
24022
|
try {
|
|
23929
24023
|
// Make a copy of c.verifyOptions so that we can modify options.verify
|
|
23930
24024
|
// without modifying c.verifyOptions.
|
|
23931
24025
|
var options = {};
|
|
23932
|
-
for(var
|
|
24026
|
+
for(var key in c.verifyOptions)options[key] = c.verifyOptions[key];
|
|
23933
24027
|
options.verify = function(vfd, depth, chain) {
|
|
23934
24028
|
// convert pki.certificateError to tls alert description
|
|
23935
24029
|
var desc = $e55982d45da68b81$var$_certErrorToAlertDesc(vfd);
|
|
@@ -23954,7 +24048,7 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
23954
24048
|
return ret;
|
|
23955
24049
|
};
|
|
23956
24050
|
// verify chain
|
|
23957
|
-
$iGlOy.pki.verifyCertificateChain(c.caStore,
|
|
24051
|
+
$iGlOy.pki.verifyCertificateChain(c.caStore, chain, options);
|
|
23958
24052
|
} catch (ex) {
|
|
23959
24053
|
// build tls error if not already customized
|
|
23960
24054
|
var err = ex;
|
|
@@ -23993,21 +24087,21 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
23993
24087
|
rval.capacity = Math.max(capacity || 100, 1);
|
|
23994
24088
|
rval.order = [];
|
|
23995
24089
|
// store order for sessions, delete session overflow
|
|
23996
|
-
for(var
|
|
23997
|
-
else delete cache[
|
|
24090
|
+
for(var key in cache)if (rval.order.length <= capacity) rval.order.push(key);
|
|
24091
|
+
else delete cache[key];
|
|
23998
24092
|
// get a session from a session ID (or get any session)
|
|
23999
24093
|
rval.getSession = function(sessionId) {
|
|
24000
24094
|
var session = null;
|
|
24001
|
-
var
|
|
24095
|
+
var key = null;
|
|
24002
24096
|
// if session ID provided, use it
|
|
24003
|
-
if (sessionId)
|
|
24097
|
+
if (sessionId) key = $iGlOy.util.bytesToHex(sessionId);
|
|
24004
24098
|
else if (rval.order.length > 0) // get first session from cache
|
|
24005
|
-
|
|
24006
|
-
if (
|
|
24099
|
+
key = rval.order[0];
|
|
24100
|
+
if (key !== null && key in rval.cache) {
|
|
24007
24101
|
// get cached session and remove from cache
|
|
24008
|
-
session = rval.cache[
|
|
24009
|
-
delete rval.cache[
|
|
24010
|
-
for(var i in rval.order)if (rval.order[i] ===
|
|
24102
|
+
session = rval.cache[key];
|
|
24103
|
+
delete rval.cache[key];
|
|
24104
|
+
for(var i in rval.order)if (rval.order[i] === key) {
|
|
24011
24105
|
rval.order.splice(i, 1);
|
|
24012
24106
|
break;
|
|
24013
24107
|
}
|
|
@@ -24018,13 +24112,13 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
24018
24112
|
rval.setSession = function(sessionId, session) {
|
|
24019
24113
|
// remove session from cache if at capacity
|
|
24020
24114
|
if (rval.order.length === rval.capacity) {
|
|
24021
|
-
var
|
|
24022
|
-
delete rval.cache[
|
|
24115
|
+
var key = rval.order.shift();
|
|
24116
|
+
delete rval.cache[key];
|
|
24023
24117
|
}
|
|
24024
24118
|
// add session to cache
|
|
24025
|
-
var
|
|
24026
|
-
rval.order.push(
|
|
24027
|
-
rval.cache[
|
|
24119
|
+
var key = $iGlOy.util.bytesToHex(sessionId);
|
|
24120
|
+
rval.order.push(key);
|
|
24121
|
+
rval.cache[key] = session;
|
|
24028
24122
|
};
|
|
24029
24123
|
}
|
|
24030
24124
|
return rval;
|
|
@@ -24049,14 +24143,14 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
24049
24143
|
var cipherSuites = options.cipherSuites || null;
|
|
24050
24144
|
if (cipherSuites === null) {
|
|
24051
24145
|
cipherSuites = [];
|
|
24052
|
-
for(var
|
|
24146
|
+
for(var key in $e55982d45da68b81$var$tls.CipherSuites)cipherSuites.push($e55982d45da68b81$var$tls.CipherSuites[key]);
|
|
24053
24147
|
}
|
|
24054
24148
|
// set default entity
|
|
24055
24149
|
var entity = options.server || false ? $e55982d45da68b81$var$tls.ConnectionEnd.server : $e55982d45da68b81$var$tls.ConnectionEnd.client;
|
|
24056
24150
|
// create session cache if requested
|
|
24057
24151
|
var sessionCache = options.sessionCache ? $e55982d45da68b81$var$tls.createSessionCache(options.sessionCache) : null;
|
|
24058
24152
|
// create TLS connection
|
|
24059
|
-
var
|
|
24153
|
+
var c = {
|
|
24060
24154
|
version: {
|
|
24061
24155
|
major: $e55982d45da68b81$var$tls.Version.major,
|
|
24062
24156
|
minor: $e55982d45da68b81$var$tls.Version.minor
|
|
@@ -24107,33 +24201,33 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
24107
24201
|
* Resets a closed TLS connection for reuse. Called in c.close().
|
|
24108
24202
|
*
|
|
24109
24203
|
* @param clearFail true to clear the fail flag (default: true).
|
|
24110
|
-
*/
|
|
24111
|
-
|
|
24204
|
+
*/ c.reset = function(clearFail) {
|
|
24205
|
+
c.version = {
|
|
24112
24206
|
major: $e55982d45da68b81$var$tls.Version.major,
|
|
24113
24207
|
minor: $e55982d45da68b81$var$tls.Version.minor
|
|
24114
24208
|
};
|
|
24115
|
-
|
|
24116
|
-
|
|
24117
|
-
|
|
24118
|
-
|
|
24209
|
+
c.record = null;
|
|
24210
|
+
c.session = null;
|
|
24211
|
+
c.peerCertificate = null;
|
|
24212
|
+
c.state = {
|
|
24119
24213
|
pending: null,
|
|
24120
24214
|
current: null
|
|
24121
24215
|
};
|
|
24122
|
-
|
|
24123
|
-
|
|
24124
|
-
|
|
24125
|
-
|
|
24126
|
-
|
|
24127
|
-
|
|
24128
|
-
|
|
24129
|
-
|
|
24130
|
-
|
|
24131
|
-
|
|
24132
|
-
|
|
24133
|
-
|
|
24216
|
+
c.expect = c.entity === $e55982d45da68b81$var$tls.ConnectionEnd.client ? $e55982d45da68b81$var$SHE : $e55982d45da68b81$var$CHE;
|
|
24217
|
+
c.fragmented = null;
|
|
24218
|
+
c.records = [];
|
|
24219
|
+
c.open = false;
|
|
24220
|
+
c.handshakes = 0;
|
|
24221
|
+
c.handshaking = false;
|
|
24222
|
+
c.isConnected = false;
|
|
24223
|
+
c.fail = !(clearFail || typeof clearFail === "undefined");
|
|
24224
|
+
c.input.clear();
|
|
24225
|
+
c.tlsData.clear();
|
|
24226
|
+
c.data.clear();
|
|
24227
|
+
c.state.current = $e55982d45da68b81$var$tls.createConnectionState(c);
|
|
24134
24228
|
};
|
|
24135
24229
|
// do initial reset of connection
|
|
24136
|
-
|
|
24230
|
+
c.reset();
|
|
24137
24231
|
/**
|
|
24138
24232
|
* Updates the current TLS engine state based on the given record.
|
|
24139
24233
|
*
|
|
@@ -24244,39 +24338,39 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
24244
24338
|
* This method should only be called if the connection is in client mode.
|
|
24245
24339
|
*
|
|
24246
24340
|
* @param sessionId the session ID to use, null to start a new one.
|
|
24247
|
-
*/
|
|
24341
|
+
*/ c.handshake = function(sessionId) {
|
|
24248
24342
|
// error to call this in non-client mode
|
|
24249
|
-
if (
|
|
24250
|
-
|
|
24343
|
+
if (c.entity !== $e55982d45da68b81$var$tls.ConnectionEnd.client) // not fatal error
|
|
24344
|
+
c.error(c, {
|
|
24251
24345
|
message: "Cannot initiate handshake as a server.",
|
|
24252
24346
|
fatal: false
|
|
24253
24347
|
});
|
|
24254
|
-
else if (
|
|
24255
|
-
|
|
24348
|
+
else if (c.handshaking) // handshake is already in progress, fail but not fatal error
|
|
24349
|
+
c.error(c, {
|
|
24256
24350
|
message: "Handshake already in progress.",
|
|
24257
24351
|
fatal: false
|
|
24258
24352
|
});
|
|
24259
24353
|
else {
|
|
24260
24354
|
// clear fail flag on reuse
|
|
24261
|
-
if (
|
|
24355
|
+
if (c.fail && !c.open && c.handshakes === 0) c.fail = false;
|
|
24262
24356
|
// now handshaking
|
|
24263
|
-
|
|
24357
|
+
c.handshaking = true;
|
|
24264
24358
|
// default to blank (new session)
|
|
24265
24359
|
sessionId = sessionId || "";
|
|
24266
24360
|
// if a session ID was specified, try to find it in the cache
|
|
24267
24361
|
var session = null;
|
|
24268
24362
|
if (sessionId.length > 0) {
|
|
24269
|
-
if (
|
|
24363
|
+
if (c.sessionCache) session = c.sessionCache.getSession(sessionId);
|
|
24270
24364
|
// matching session not found in cache, clear session ID
|
|
24271
24365
|
if (session === null) sessionId = "";
|
|
24272
24366
|
}
|
|
24273
24367
|
// no session given, grab a session from the cache, if available
|
|
24274
|
-
if (sessionId.length === 0 &&
|
|
24275
|
-
session =
|
|
24368
|
+
if (sessionId.length === 0 && c.sessionCache) {
|
|
24369
|
+
session = c.sessionCache.getSession();
|
|
24276
24370
|
if (session !== null) sessionId = session.id;
|
|
24277
24371
|
}
|
|
24278
24372
|
// set up session
|
|
24279
|
-
|
|
24373
|
+
c.session = {
|
|
24280
24374
|
id: sessionId,
|
|
24281
24375
|
version: null,
|
|
24282
24376
|
cipherSuite: null,
|
|
@@ -24291,19 +24385,19 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
24291
24385
|
// use existing session information
|
|
24292
24386
|
if (session) {
|
|
24293
24387
|
// only update version on connection, session version not yet set
|
|
24294
|
-
|
|
24295
|
-
|
|
24388
|
+
c.version = session.version;
|
|
24389
|
+
c.session.sp = session.sp;
|
|
24296
24390
|
}
|
|
24297
24391
|
// generate new client random
|
|
24298
|
-
|
|
24392
|
+
c.session.sp.client_random = $e55982d45da68b81$var$tls.createRandom().getBytes();
|
|
24299
24393
|
// connection now open
|
|
24300
|
-
|
|
24394
|
+
c.open = true;
|
|
24301
24395
|
// send hello
|
|
24302
|
-
$e55982d45da68b81$var$tls.queue(
|
|
24396
|
+
$e55982d45da68b81$var$tls.queue(c, $e55982d45da68b81$var$tls.createRecord(c, {
|
|
24303
24397
|
type: $e55982d45da68b81$var$tls.ContentType.handshake,
|
|
24304
|
-
data: $e55982d45da68b81$var$tls.createClientHello(
|
|
24398
|
+
data: $e55982d45da68b81$var$tls.createClientHello(c)
|
|
24305
24399
|
}));
|
|
24306
|
-
$e55982d45da68b81$var$tls.flush(
|
|
24400
|
+
$e55982d45da68b81$var$tls.flush(c);
|
|
24307
24401
|
}
|
|
24308
24402
|
};
|
|
24309
24403
|
/**
|
|
@@ -24314,21 +24408,21 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
24314
24408
|
*
|
|
24315
24409
|
* @return 0 if the data could be processed, otherwise the number of bytes
|
|
24316
24410
|
* required for data to be processed.
|
|
24317
|
-
*/
|
|
24411
|
+
*/ c.process = function(data) {
|
|
24318
24412
|
var rval = 0;
|
|
24319
24413
|
// buffer input data
|
|
24320
|
-
if (data)
|
|
24414
|
+
if (data) c.input.putBytes(data);
|
|
24321
24415
|
// process next record if no failure, process will be called after
|
|
24322
24416
|
// each record is handled (since handling can be asynchronous)
|
|
24323
|
-
if (!
|
|
24417
|
+
if (!c.fail) {
|
|
24324
24418
|
// reset record if ready and now empty
|
|
24325
|
-
if (
|
|
24419
|
+
if (c.record !== null && c.record.ready && c.record.fragment.isEmpty()) c.record = null;
|
|
24326
24420
|
// if there is no pending record, try to read record header
|
|
24327
|
-
if (
|
|
24421
|
+
if (c.record === null) rval = _readRecordHeader(c);
|
|
24328
24422
|
// read the next record (if record not yet ready)
|
|
24329
|
-
if (!
|
|
24423
|
+
if (!c.fail && c.record !== null && !c.record.ready) rval = _readRecord(c);
|
|
24330
24424
|
// record ready to be handled, update engine state
|
|
24331
|
-
if (!
|
|
24425
|
+
if (!c.fail && c.record !== null && c.record.ready) _update(c, c.record);
|
|
24332
24426
|
}
|
|
24333
24427
|
return rval;
|
|
24334
24428
|
};
|
|
@@ -24342,12 +24436,12 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
24342
24436
|
* of util.encodeUtf8(str).
|
|
24343
24437
|
*
|
|
24344
24438
|
* @return true on success, false on failure.
|
|
24345
|
-
*/
|
|
24346
|
-
$e55982d45da68b81$var$tls.queue(
|
|
24439
|
+
*/ c.prepare = function(data) {
|
|
24440
|
+
$e55982d45da68b81$var$tls.queue(c, $e55982d45da68b81$var$tls.createRecord(c, {
|
|
24347
24441
|
type: $e55982d45da68b81$var$tls.ContentType.application_data,
|
|
24348
24442
|
data: $iGlOy.util.createBuffer(data)
|
|
24349
24443
|
}));
|
|
24350
|
-
return $e55982d45da68b81$var$tls.flush(
|
|
24444
|
+
return $e55982d45da68b81$var$tls.flush(c);
|
|
24351
24445
|
};
|
|
24352
24446
|
/**
|
|
24353
24447
|
* Requests that a heartbeat request be packaged into a TLS record for
|
|
@@ -24363,53 +24457,53 @@ $e55982d45da68b81$var$hsTable[$e55982d45da68b81$var$tls.ConnectionEnd.server] =
|
|
|
24363
24457
|
* actual payload length.
|
|
24364
24458
|
*
|
|
24365
24459
|
* @return true on success, false on failure.
|
|
24366
|
-
*/
|
|
24460
|
+
*/ c.prepareHeartbeatRequest = function(payload, payloadLength) {
|
|
24367
24461
|
if (payload instanceof $iGlOy.util.ByteBuffer) payload = payload.bytes();
|
|
24368
24462
|
if (typeof payloadLength === "undefined") payloadLength = payload.length;
|
|
24369
|
-
|
|
24370
|
-
$e55982d45da68b81$var$tls.queue(
|
|
24463
|
+
c.expectedHeartbeatPayload = payload;
|
|
24464
|
+
$e55982d45da68b81$var$tls.queue(c, $e55982d45da68b81$var$tls.createRecord(c, {
|
|
24371
24465
|
type: $e55982d45da68b81$var$tls.ContentType.heartbeat,
|
|
24372
24466
|
data: $e55982d45da68b81$var$tls.createHeartbeat($e55982d45da68b81$var$tls.HeartbeatMessageType.heartbeat_request, payload, payloadLength)
|
|
24373
24467
|
}));
|
|
24374
|
-
return $e55982d45da68b81$var$tls.flush(
|
|
24468
|
+
return $e55982d45da68b81$var$tls.flush(c);
|
|
24375
24469
|
};
|
|
24376
24470
|
/**
|
|
24377
24471
|
* Closes the connection (sends a close_notify alert).
|
|
24378
24472
|
*
|
|
24379
24473
|
* @param clearFail true to clear the fail flag (default: true).
|
|
24380
|
-
*/
|
|
24474
|
+
*/ c.close = function(clearFail) {
|
|
24381
24475
|
// save session if connection didn't fail
|
|
24382
|
-
if (!
|
|
24476
|
+
if (!c.fail && c.sessionCache && c.session) {
|
|
24383
24477
|
// only need to preserve session ID, version, and security params
|
|
24384
24478
|
var session = {
|
|
24385
|
-
id:
|
|
24386
|
-
version:
|
|
24387
|
-
sp:
|
|
24479
|
+
id: c.session.id,
|
|
24480
|
+
version: c.session.version,
|
|
24481
|
+
sp: c.session.sp
|
|
24388
24482
|
};
|
|
24389
24483
|
session.sp.keys = null;
|
|
24390
|
-
|
|
24484
|
+
c.sessionCache.setSession(session.id, session);
|
|
24391
24485
|
}
|
|
24392
|
-
if (
|
|
24486
|
+
if (c.open) {
|
|
24393
24487
|
// connection no longer open, clear input
|
|
24394
|
-
|
|
24395
|
-
|
|
24488
|
+
c.open = false;
|
|
24489
|
+
c.input.clear();
|
|
24396
24490
|
// if connected or handshaking, send an alert
|
|
24397
|
-
if (
|
|
24398
|
-
|
|
24491
|
+
if (c.isConnected || c.handshaking) {
|
|
24492
|
+
c.isConnected = c.handshaking = false;
|
|
24399
24493
|
// send close_notify alert
|
|
24400
|
-
$e55982d45da68b81$var$tls.queue(
|
|
24494
|
+
$e55982d45da68b81$var$tls.queue(c, $e55982d45da68b81$var$tls.createAlert(c, {
|
|
24401
24495
|
level: $e55982d45da68b81$var$tls.Alert.Level.warning,
|
|
24402
24496
|
description: $e55982d45da68b81$var$tls.Alert.Description.close_notify
|
|
24403
24497
|
}));
|
|
24404
|
-
$e55982d45da68b81$var$tls.flush(
|
|
24498
|
+
$e55982d45da68b81$var$tls.flush(c);
|
|
24405
24499
|
}
|
|
24406
24500
|
// call handler
|
|
24407
|
-
|
|
24501
|
+
c.closed(c);
|
|
24408
24502
|
}
|
|
24409
24503
|
// reset TLS connection, do not clear fail flag
|
|
24410
|
-
|
|
24504
|
+
c.reset(clearFail);
|
|
24411
24505
|
};
|
|
24412
|
-
return
|
|
24506
|
+
return c;
|
|
24413
24507
|
};
|
|
24414
24508
|
/* TLS API */ $e55982d45da68b81$exports = $iGlOy.tls = $iGlOy.tls || {};
|
|
24415
24509
|
// expose non-functions
|
|
@@ -26873,15 +26967,15 @@ for(var $4b898e145571f67c$var$i = 0; $4b898e145571f67c$var$i < $iGlOy.log.levels
|
|
|
26873
26967
|
* @param message message object
|
|
26874
26968
|
*/ $iGlOy.log.logMessage = function(message) {
|
|
26875
26969
|
var messageLevelIndex = $4b898e145571f67c$var$sLevelInfo[message.level].index;
|
|
26876
|
-
for(var
|
|
26877
|
-
var
|
|
26878
|
-
if (
|
|
26970
|
+
for(var i = 0; i < $4b898e145571f67c$var$sLoggers.length; ++i){
|
|
26971
|
+
var logger = $4b898e145571f67c$var$sLoggers[i];
|
|
26972
|
+
if (logger.flags & $iGlOy.log.NO_LEVEL_CHECK) logger.f(message);
|
|
26879
26973
|
else {
|
|
26880
26974
|
// get logger level
|
|
26881
|
-
var loggerLevelIndex = $4b898e145571f67c$var$sLevelInfo[
|
|
26975
|
+
var loggerLevelIndex = $4b898e145571f67c$var$sLevelInfo[logger.level].index;
|
|
26882
26976
|
// check level
|
|
26883
26977
|
if (messageLevelIndex <= loggerLevelIndex) // message critical enough, call logger
|
|
26884
|
-
|
|
26978
|
+
logger.f(logger, message);
|
|
26885
26979
|
}
|
|
26886
26980
|
}
|
|
26887
26981
|
};
|
|
@@ -26967,12 +27061,12 @@ for(var $4b898e145571f67c$var$i = 0; $4b898e145571f67c$var$i < $4b898e145571f67c
|
|
|
26967
27061
|
*
|
|
26968
27062
|
* @return a logger object.
|
|
26969
27063
|
*/ $iGlOy.log.makeLogger = function(logFunction) {
|
|
26970
|
-
var
|
|
27064
|
+
var logger = {
|
|
26971
27065
|
flags: 0,
|
|
26972
27066
|
f: logFunction
|
|
26973
27067
|
};
|
|
26974
|
-
$iGlOy.log.setLevel(
|
|
26975
|
-
return
|
|
27068
|
+
$iGlOy.log.setLevel(logger, "none");
|
|
27069
|
+
return logger;
|
|
26976
27070
|
};
|
|
26977
27071
|
/**
|
|
26978
27072
|
* Sets the current log level on a logger.
|
|
@@ -26981,13 +27075,13 @@ for(var $4b898e145571f67c$var$i = 0; $4b898e145571f67c$var$i < $4b898e145571f67c
|
|
|
26981
27075
|
* @param level the new maximum log level as a string.
|
|
26982
27076
|
*
|
|
26983
27077
|
* @return true if set, false if not.
|
|
26984
|
-
*/ $iGlOy.log.setLevel = function(
|
|
27078
|
+
*/ $iGlOy.log.setLevel = function(logger, level) {
|
|
26985
27079
|
var rval = false;
|
|
26986
|
-
if (
|
|
26987
|
-
var aValidLevel = $iGlOy.log.levels[
|
|
27080
|
+
if (logger && !(logger.flags & $iGlOy.log.LEVEL_LOCKED)) for(var i = 0; i < $iGlOy.log.levels.length; ++i){
|
|
27081
|
+
var aValidLevel = $iGlOy.log.levels[i];
|
|
26988
27082
|
if (level == aValidLevel) {
|
|
26989
27083
|
// set level
|
|
26990
|
-
|
|
27084
|
+
logger.level = level;
|
|
26991
27085
|
rval = true;
|
|
26992
27086
|
break;
|
|
26993
27087
|
}
|
|
@@ -26999,16 +27093,16 @@ for(var $4b898e145571f67c$var$i = 0; $4b898e145571f67c$var$i < $4b898e145571f67c
|
|
|
26999
27093
|
*
|
|
27000
27094
|
* @param logger the target logger.
|
|
27001
27095
|
* @param lock boolean lock value, default to true.
|
|
27002
|
-
*/ $iGlOy.log.lock = function(
|
|
27003
|
-
if (typeof
|
|
27004
|
-
else
|
|
27096
|
+
*/ $iGlOy.log.lock = function(logger, lock) {
|
|
27097
|
+
if (typeof lock === "undefined" || lock) logger.flags |= $iGlOy.log.LEVEL_LOCKED;
|
|
27098
|
+
else logger.flags &= ~$iGlOy.log.LEVEL_LOCKED;
|
|
27005
27099
|
};
|
|
27006
27100
|
/**
|
|
27007
27101
|
* Adds a logger.
|
|
27008
27102
|
*
|
|
27009
27103
|
* @param logger the logger object.
|
|
27010
|
-
*/ $iGlOy.log.addLogger = function(
|
|
27011
|
-
$4b898e145571f67c$var$sLoggers.push(
|
|
27104
|
+
*/ $iGlOy.log.addLogger = function(logger) {
|
|
27105
|
+
$4b898e145571f67c$var$sLoggers.push(logger);
|
|
27012
27106
|
};
|
|
27013
27107
|
// setup the console logger if possible, else create fake console.log
|
|
27014
27108
|
if (typeof console !== "undefined" && "log" in console) {
|
|
@@ -28633,7 +28727,7 @@ $d0a07df29ef1b0fa$export$a287f47fed4544b8 = (num)=>{
|
|
|
28633
28727
|
if (typeof num === "string" && num.trim() !== "") return Number.isInteger(Number(num));
|
|
28634
28728
|
return false;
|
|
28635
28729
|
};
|
|
28636
|
-
$d0a07df29ef1b0fa$export$71aa6c912b956294 = (
|
|
28730
|
+
$d0a07df29ef1b0fa$export$71aa6c912b956294 = (node, type)=>node.nodes.find((node)=>node.type === type);
|
|
28637
28731
|
$d0a07df29ef1b0fa$export$fbadac39f36b1e16 = (min, max, step = 1, limit)=>{
|
|
28638
28732
|
if (limit === false) return false;
|
|
28639
28733
|
if (!$d0a07df29ef1b0fa$export$a287f47fed4544b8(min) || !$d0a07df29ef1b0fa$export$a287f47fed4544b8(max)) return false;
|
|
@@ -28858,20 +28952,20 @@ function $07628d57aabb0c0b$var$splitToPatterns(min, max, tok, options) {
|
|
|
28858
28952
|
let start = min;
|
|
28859
28953
|
let prev;
|
|
28860
28954
|
for(let i = 0; i < ranges.length; i++){
|
|
28861
|
-
let
|
|
28862
|
-
let obj = $07628d57aabb0c0b$var$rangeToPattern(String(start), String(
|
|
28955
|
+
let max1 = ranges[i];
|
|
28956
|
+
let obj = $07628d57aabb0c0b$var$rangeToPattern(String(start), String(max1), options);
|
|
28863
28957
|
let zeros = "";
|
|
28864
28958
|
if (!tok.isPadded && prev && prev.pattern === obj.pattern) {
|
|
28865
28959
|
if (prev.count.length > 1) prev.count.pop();
|
|
28866
28960
|
prev.count.push(obj.count[0]);
|
|
28867
28961
|
prev.string = prev.pattern + $07628d57aabb0c0b$var$toQuantifier(prev.count);
|
|
28868
|
-
start =
|
|
28962
|
+
start = max1 + 1;
|
|
28869
28963
|
continue;
|
|
28870
28964
|
}
|
|
28871
|
-
if (tok.isPadded) zeros = $07628d57aabb0c0b$var$padZeros(
|
|
28965
|
+
if (tok.isPadded) zeros = $07628d57aabb0c0b$var$padZeros(max1, tok, options);
|
|
28872
28966
|
obj.string = zeros + obj.pattern + $07628d57aabb0c0b$var$toQuantifier(obj.count);
|
|
28873
28967
|
tokens.push(obj);
|
|
28874
|
-
start =
|
|
28968
|
+
start = max1 + 1;
|
|
28875
28969
|
prev = obj;
|
|
28876
28970
|
}
|
|
28877
28971
|
return tokens;
|
|
@@ -29425,18 +29519,18 @@ var $88c0a7901dd4a8c2$require$CHAR_ZERO_WIDTH_NOBREAK_SPACE = $f1bb1ac16e435177$
|
|
|
29425
29519
|
* Quotes: '|"|`
|
|
29426
29520
|
*/ if (value === $88c0a7901dd4a8c2$require$CHAR_DOUBLE_QUOTE || value === $88c0a7901dd4a8c2$require$CHAR_SINGLE_QUOTE || value === $88c0a7901dd4a8c2$require$CHAR_BACKTICK) {
|
|
29427
29521
|
let open = value;
|
|
29428
|
-
let
|
|
29522
|
+
let next1;
|
|
29429
29523
|
if (options.keepQuotes !== true) value = "";
|
|
29430
|
-
while(index < length && (
|
|
29431
|
-
if (
|
|
29432
|
-
value +=
|
|
29524
|
+
while(index < length && (next1 = advance())){
|
|
29525
|
+
if (next1 === $88c0a7901dd4a8c2$require$CHAR_BACKSLASH) {
|
|
29526
|
+
value += next1 + advance();
|
|
29433
29527
|
continue;
|
|
29434
29528
|
}
|
|
29435
|
-
if (
|
|
29436
|
-
if (options.keepQuotes === true) value +=
|
|
29529
|
+
if (next1 === open) {
|
|
29530
|
+
if (options.keepQuotes === true) value += next1;
|
|
29437
29531
|
break;
|
|
29438
29532
|
}
|
|
29439
|
-
value +=
|
|
29533
|
+
value += next1;
|
|
29440
29534
|
}
|
|
29441
29535
|
push({
|
|
29442
29536
|
type: "text",
|
|
@@ -29493,9 +29587,9 @@ var $88c0a7901dd4a8c2$require$CHAR_ZERO_WIDTH_NOBREAK_SPACE = $f1bb1ac16e435177$
|
|
|
29493
29587
|
*/ if (value === $88c0a7901dd4a8c2$require$CHAR_COMMA && depth > 0) {
|
|
29494
29588
|
if (block.ranges > 0) {
|
|
29495
29589
|
block.ranges = 0;
|
|
29496
|
-
let
|
|
29590
|
+
let open1 = block.nodes.shift();
|
|
29497
29591
|
block.nodes = [
|
|
29498
|
-
|
|
29592
|
+
open1,
|
|
29499
29593
|
{
|
|
29500
29594
|
type: "text",
|
|
29501
29595
|
value: $156a1a36db86ccbd$exports(block)
|
|
@@ -29569,9 +29663,9 @@ var $88c0a7901dd4a8c2$require$CHAR_ZERO_WIDTH_NOBREAK_SPACE = $f1bb1ac16e435177$
|
|
|
29569
29663
|
});
|
|
29570
29664
|
// get the location of the block on parent.nodes (block's siblings)
|
|
29571
29665
|
let parent = stack[stack.length - 1];
|
|
29572
|
-
let
|
|
29666
|
+
let index1 = parent.nodes.indexOf(block);
|
|
29573
29667
|
// replace the (invalid) block with it's nodes
|
|
29574
|
-
parent.nodes.splice(
|
|
29668
|
+
parent.nodes.splice(index1, 1, ...block.nodes);
|
|
29575
29669
|
}
|
|
29576
29670
|
}while (stack.length > 0);
|
|
29577
29671
|
push({
|
|
@@ -31733,13 +31827,13 @@ function $b57e78be4f7a2622$var$FastGlob(source, options) {
|
|
|
31733
31827
|
}
|
|
31734
31828
|
// https://github.com/typescript-eslint/typescript-eslint/issues/60
|
|
31735
31829
|
// eslint-disable-next-line no-redeclare
|
|
31736
|
-
(function(
|
|
31830
|
+
(function(FastGlob) {
|
|
31737
31831
|
function sync(source, options) {
|
|
31738
31832
|
$b57e78be4f7a2622$var$assertPatternsInput(source);
|
|
31739
31833
|
const works = $b57e78be4f7a2622$var$getWorks(source, $449ae2813b11b2d5$exports.default, options);
|
|
31740
31834
|
return $1b5b082adfcf5f99$exports.array.flatten(works);
|
|
31741
31835
|
}
|
|
31742
|
-
|
|
31836
|
+
FastGlob.sync = sync;
|
|
31743
31837
|
function stream(source, options) {
|
|
31744
31838
|
$b57e78be4f7a2622$var$assertPatternsInput(source);
|
|
31745
31839
|
const works = $b57e78be4f7a2622$var$getWorks(source, $434410c8b70ca432$exports.default, options);
|
|
@@ -31749,25 +31843,25 @@ function $b57e78be4f7a2622$var$FastGlob(source, options) {
|
|
|
31749
31843
|
* This affects performance (+25%). I don't see best solution right now.
|
|
31750
31844
|
*/ return $1b5b082adfcf5f99$exports.stream.merge(works);
|
|
31751
31845
|
}
|
|
31752
|
-
|
|
31846
|
+
FastGlob.stream = stream;
|
|
31753
31847
|
function generateTasks(source, options) {
|
|
31754
31848
|
$b57e78be4f7a2622$var$assertPatternsInput(source);
|
|
31755
31849
|
const patterns = [].concat(source);
|
|
31756
31850
|
const settings = new $1d7e3dfd05c8321e$exports.default(options);
|
|
31757
31851
|
return $d436392a45e5b9b4$exports.generate(patterns, settings);
|
|
31758
31852
|
}
|
|
31759
|
-
|
|
31853
|
+
FastGlob.generateTasks = generateTasks;
|
|
31760
31854
|
function isDynamicPattern(source, options) {
|
|
31761
31855
|
$b57e78be4f7a2622$var$assertPatternsInput(source);
|
|
31762
31856
|
const settings = new $1d7e3dfd05c8321e$exports.default(options);
|
|
31763
31857
|
return $1b5b082adfcf5f99$exports.pattern.isDynamicPattern(source, settings);
|
|
31764
31858
|
}
|
|
31765
|
-
|
|
31859
|
+
FastGlob.isDynamicPattern = isDynamicPattern;
|
|
31766
31860
|
function escapePath(source) {
|
|
31767
31861
|
$b57e78be4f7a2622$var$assertPatternsInput(source);
|
|
31768
31862
|
return $1b5b082adfcf5f99$exports.path.escape(source);
|
|
31769
31863
|
}
|
|
31770
|
-
|
|
31864
|
+
FastGlob.escapePath = escapePath;
|
|
31771
31865
|
})($b57e78be4f7a2622$var$FastGlob || ($b57e78be4f7a2622$var$FastGlob = {}));
|
|
31772
31866
|
function $b57e78be4f7a2622$var$getWorks(source, _Provider, options) {
|
|
31773
31867
|
const patterns = [].concat(source);
|
|
@@ -31810,14 +31904,14 @@ function $3dff16cfd200ff25$export$7413eea5ad243d4(from, to, leadingDotSlash = tr
|
|
|
31810
31904
|
function $e8d0e504a4244d84$export$f3a2344a73dbdd42(p) {
|
|
31811
31905
|
return (0, (/*@__PURE__*/$parcel$interopDefault($5aee5a8e09e874bf$exports)))((0, $3dff16cfd200ff25$export$16778b798ae8e49d)(p));
|
|
31812
31906
|
}
|
|
31813
|
-
function $e8d0e504a4244d84$export$16e6d319a883f04e(filePath,
|
|
31814
|
-
|
|
31815
|
-
return (0, $fec3b4fc54d3756a$exports.isMatch)(filePath,
|
|
31907
|
+
function $e8d0e504a4244d84$export$16e6d319a883f04e(filePath, glob, opts) {
|
|
31908
|
+
glob = Array.isArray(glob) ? glob.map((0, $3dff16cfd200ff25$export$16778b798ae8e49d)) : (0, $3dff16cfd200ff25$export$16778b798ae8e49d)(glob);
|
|
31909
|
+
return (0, $fec3b4fc54d3756a$exports.isMatch)(filePath, glob, opts);
|
|
31816
31910
|
}
|
|
31817
|
-
function $e8d0e504a4244d84$export$c0436a5422df81e4(
|
|
31818
|
-
return (0, $fec3b4fc54d3756a$exports.makeRe)(
|
|
31911
|
+
function $e8d0e504a4244d84$export$c0436a5422df81e4(glob, opts) {
|
|
31912
|
+
return (0, $fec3b4fc54d3756a$exports.makeRe)(glob, opts);
|
|
31819
31913
|
}
|
|
31820
|
-
function $e8d0e504a4244d84$export$42275ba87174c828(
|
|
31914
|
+
function $e8d0e504a4244d84$export$42275ba87174c828(p, fs, options) {
|
|
31821
31915
|
// $FlowFixMe
|
|
31822
31916
|
options = {
|
|
31823
31917
|
...options,
|
|
@@ -31835,9 +31929,9 @@ function $e8d0e504a4244d84$export$42275ba87174c828(p1, fs, options) {
|
|
|
31835
31929
|
}
|
|
31836
31930
|
}
|
|
31837
31931
|
}; // $FlowFixMe
|
|
31838
|
-
return (0, (/*@__PURE__*/$parcel$interopDefault($b57e78be4f7a2622$exports))).sync((0, $3dff16cfd200ff25$export$16778b798ae8e49d)(
|
|
31932
|
+
return (0, (/*@__PURE__*/$parcel$interopDefault($b57e78be4f7a2622$exports))).sync((0, $3dff16cfd200ff25$export$16778b798ae8e49d)(p), options);
|
|
31839
31933
|
}
|
|
31840
|
-
function $e8d0e504a4244d84$export$442f1a04865e4790(
|
|
31934
|
+
function $e8d0e504a4244d84$export$442f1a04865e4790(p, fs, options) {
|
|
31841
31935
|
// $FlowFixMe
|
|
31842
31936
|
options = {
|
|
31843
31937
|
...options,
|
|
@@ -31871,7 +31965,7 @@ function $e8d0e504a4244d84$export$442f1a04865e4790(p2, fs, options) {
|
|
|
31871
31965
|
}
|
|
31872
31966
|
}
|
|
31873
31967
|
}; // $FlowFixMe Added in Flow 0.121.0 upgrade in #4381
|
|
31874
|
-
return (0, (/*@__PURE__*/$parcel$interopDefault($b57e78be4f7a2622$exports)))((0, $3dff16cfd200ff25$export$16778b798ae8e49d)(
|
|
31968
|
+
return (0, (/*@__PURE__*/$parcel$interopDefault($b57e78be4f7a2622$exports)))((0, $3dff16cfd200ff25$export$16778b798ae8e49d)(p), options);
|
|
31875
31969
|
}
|
|
31876
31970
|
|
|
31877
31971
|
|
|
@@ -32201,8 +32295,8 @@ function $007fe08032bb1964$var$supportsHyperlink(stream) {
|
|
|
32201
32295
|
if ("VTE_VERSION" in env) {
|
|
32202
32296
|
// 0.50.0 was supposed to support hyperlinks, but throws a segfault
|
|
32203
32297
|
if (env.VTE_VERSION === "0.50.0") return false;
|
|
32204
|
-
const
|
|
32205
|
-
return
|
|
32298
|
+
const version1 = $007fe08032bb1964$var$parseVersion(env.VTE_VERSION);
|
|
32299
|
+
return version1.major > 0 || version1.minor >= 50;
|
|
32206
32300
|
}
|
|
32207
32301
|
return false;
|
|
32208
32302
|
}
|
|
@@ -32420,46 +32514,46 @@ const $f48e6c7a66080865$var$myers_x = (b, a)=>{
|
|
|
32420
32514
|
while(k--)$f48e6c7a66080865$var$peq[a.charCodeAt(k)] = 0;
|
|
32421
32515
|
for(k = start; k < start + vlen; k++)$f48e6c7a66080865$var$peq[b.charCodeAt(k)] |= 1 << k;
|
|
32422
32516
|
score = m;
|
|
32423
|
-
for(let
|
|
32424
|
-
const eq = $f48e6c7a66080865$var$peq[a.charCodeAt(
|
|
32425
|
-
const pb = phc[
|
|
32426
|
-
const mb = mhc[
|
|
32517
|
+
for(let i1 = 0; i1 < n; i1++){
|
|
32518
|
+
const eq = $f48e6c7a66080865$var$peq[a.charCodeAt(i1)];
|
|
32519
|
+
const pb = phc[i1 / 32 | 0] >>> i1 % 32 & 1;
|
|
32520
|
+
const mb = mhc[i1 / 32 | 0] >>> i1 % 32 & 1;
|
|
32427
32521
|
const xv = eq | mv;
|
|
32428
32522
|
const xh = ((eq | mb) & pv) + pv ^ pv | eq | mb;
|
|
32429
32523
|
let ph = mv | ~(xh | pv);
|
|
32430
32524
|
let mh = pv & xh;
|
|
32431
|
-
if (ph >>> 31 ^ pb) phc[
|
|
32432
|
-
if (mh >>> 31 ^ mb) mhc[
|
|
32525
|
+
if (ph >>> 31 ^ pb) phc[i1 / 32 | 0] ^= 1 << i1 % 32;
|
|
32526
|
+
if (mh >>> 31 ^ mb) mhc[i1 / 32 | 0] ^= 1 << i1 % 32;
|
|
32433
32527
|
ph = ph << 1 | pb;
|
|
32434
32528
|
mh = mh << 1 | mb;
|
|
32435
32529
|
pv = mh | ~(xv | ph);
|
|
32436
32530
|
mv = ph & xv;
|
|
32437
32531
|
}
|
|
32438
32532
|
}
|
|
32439
|
-
let
|
|
32440
|
-
let
|
|
32441
|
-
const
|
|
32442
|
-
const
|
|
32443
|
-
let
|
|
32444
|
-
while(
|
|
32445
|
-
for(
|
|
32533
|
+
let mv1 = 0;
|
|
32534
|
+
let pv1 = -1;
|
|
32535
|
+
const start1 = j * 32;
|
|
32536
|
+
const vlen1 = Math.min(32, m - start1);
|
|
32537
|
+
let k1 = n;
|
|
32538
|
+
while(k1--)$f48e6c7a66080865$var$peq[a.charCodeAt(k1)] = 0;
|
|
32539
|
+
for(k1 = start1; k1 < start1 + vlen1; k1++)$f48e6c7a66080865$var$peq[b.charCodeAt(k1)] |= 1 << k1;
|
|
32446
32540
|
score = m;
|
|
32447
|
-
for(let
|
|
32448
|
-
const
|
|
32449
|
-
const
|
|
32450
|
-
const
|
|
32451
|
-
const
|
|
32452
|
-
const
|
|
32453
|
-
let
|
|
32454
|
-
let
|
|
32455
|
-
score +=
|
|
32456
|
-
score -=
|
|
32457
|
-
if (
|
|
32458
|
-
if (
|
|
32459
|
-
|
|
32460
|
-
|
|
32461
|
-
|
|
32462
|
-
|
|
32541
|
+
for(let i2 = 0; i2 < n; i2++){
|
|
32542
|
+
const eq1 = $f48e6c7a66080865$var$peq[a.charCodeAt(i2)];
|
|
32543
|
+
const pb1 = phc[i2 / 32 | 0] >>> i2 % 32 & 1;
|
|
32544
|
+
const mb1 = mhc[i2 / 32 | 0] >>> i2 % 32 & 1;
|
|
32545
|
+
const xv1 = eq1 | mv1;
|
|
32546
|
+
const xh1 = ((eq1 | mb1) & pv1) + pv1 ^ pv1 | eq1 | mb1;
|
|
32547
|
+
let ph1 = mv1 | ~(xh1 | pv1);
|
|
32548
|
+
let mh1 = pv1 & xh1;
|
|
32549
|
+
score += ph1 >>> m % 32 - 1 & 1;
|
|
32550
|
+
score -= mh1 >>> m % 32 - 1 & 1;
|
|
32551
|
+
if (ph1 >>> 31 ^ pb1) phc[i2 / 32 | 0] ^= 1 << i2 % 32;
|
|
32552
|
+
if (mh1 >>> 31 ^ mb1) mhc[i2 / 32 | 0] ^= 1 << i2 % 32;
|
|
32553
|
+
ph1 = ph1 << 1 | pb1;
|
|
32554
|
+
mh1 = mh1 << 1 | mb1;
|
|
32555
|
+
pv1 = mh1 | ~(xv1 | ph1);
|
|
32556
|
+
mv1 = ph1 & xv1;
|
|
32463
32557
|
}
|
|
32464
32558
|
return score;
|
|
32465
32559
|
};
|
|
@@ -32544,14 +32638,14 @@ function $4ca1027d34905147$var$validateSchema(schema, data) {
|
|
|
32544
32638
|
case "number":
|
|
32545
32639
|
{
|
|
32546
32640
|
// $FlowFixMe type was already checked
|
|
32547
|
-
let
|
|
32641
|
+
let value1 = dataNode;
|
|
32548
32642
|
if (schemaNode.enum) {
|
|
32549
|
-
if (!schemaNode.enum.includes(
|
|
32643
|
+
if (!schemaNode.enum.includes(value1)) return {
|
|
32550
32644
|
type: "enum",
|
|
32551
32645
|
dataType: "value",
|
|
32552
32646
|
dataPath: dataPath,
|
|
32553
32647
|
expectedValues: schemaNode.enum,
|
|
32554
|
-
actualValue:
|
|
32648
|
+
actualValue: value1,
|
|
32555
32649
|
ancestors: schemaAncestors
|
|
32556
32650
|
};
|
|
32557
32651
|
}
|
|
@@ -32559,13 +32653,13 @@ function $4ca1027d34905147$var$validateSchema(schema, data) {
|
|
|
32559
32653
|
}
|
|
32560
32654
|
case "object":
|
|
32561
32655
|
{
|
|
32562
|
-
let
|
|
32656
|
+
let results1 = [];
|
|
32563
32657
|
let invalidProps;
|
|
32564
32658
|
if (schemaNode.__forbiddenProperties) {
|
|
32565
32659
|
// $FlowFixMe type was already checked
|
|
32566
32660
|
let keys = Object.keys(dataNode);
|
|
32567
32661
|
invalidProps = schemaNode.__forbiddenProperties.filter((val)=>keys.includes(val));
|
|
32568
|
-
|
|
32662
|
+
results1.push(...invalidProps.map((k)=>({
|
|
32569
32663
|
type: "forbidden-prop",
|
|
32570
32664
|
dataPath: dataPath + "/" + (0, $8C1kk$parceldiagnostic.encodeJSONKeyComponent)(k),
|
|
32571
32665
|
dataType: "key",
|
|
@@ -32577,15 +32671,15 @@ function $4ca1027d34905147$var$validateSchema(schema, data) {
|
|
|
32577
32671
|
}
|
|
32578
32672
|
if (schemaNode.required) {
|
|
32579
32673
|
// $FlowFixMe type was already checked
|
|
32580
|
-
let
|
|
32581
|
-
let missingKeys = schemaNode.required.filter((val)=>!
|
|
32582
|
-
|
|
32674
|
+
let keys1 = Object.keys(dataNode);
|
|
32675
|
+
let missingKeys = schemaNode.required.filter((val)=>!keys1.includes(val));
|
|
32676
|
+
results1.push(...missingKeys.map((k)=>({
|
|
32583
32677
|
type: "missing-prop",
|
|
32584
32678
|
dataPath: dataPath,
|
|
32585
32679
|
dataType: "value",
|
|
32586
32680
|
prop: k,
|
|
32587
32681
|
expectedProps: schemaNode.required,
|
|
32588
|
-
actualProps:
|
|
32682
|
+
actualProps: keys1,
|
|
32589
32683
|
ancestors: schemaAncestors
|
|
32590
32684
|
})));
|
|
32591
32685
|
}
|
|
@@ -32594,13 +32688,13 @@ function $4ca1027d34905147$var$validateSchema(schema, data) {
|
|
|
32594
32688
|
for(let k in dataNode){
|
|
32595
32689
|
if (invalidProps && invalidProps.includes(k)) continue;
|
|
32596
32690
|
else if (k in schemaNode.properties) {
|
|
32597
|
-
let
|
|
32691
|
+
let result1 = walk([
|
|
32598
32692
|
schemaNode.properties[k]
|
|
32599
32693
|
].concat(schemaAncestors), dataNode[k], dataPath + "/" + (0, $8C1kk$parceldiagnostic.encodeJSONKeyComponent)(k));
|
|
32600
|
-
if (
|
|
32694
|
+
if (result1) results1.push(result1);
|
|
32601
32695
|
} else {
|
|
32602
32696
|
if (typeof additionalProperties === "boolean") {
|
|
32603
|
-
if (!additionalProperties)
|
|
32697
|
+
if (!additionalProperties) results1.push({
|
|
32604
32698
|
type: "enum",
|
|
32605
32699
|
dataType: "key",
|
|
32606
32700
|
dataPath: dataPath + "/" + (0, $8C1kk$parceldiagnostic.encodeJSONKeyComponent)(k),
|
|
@@ -32610,15 +32704,15 @@ function $4ca1027d34905147$var$validateSchema(schema, data) {
|
|
|
32610
32704
|
prettyType: schemaNode.__type
|
|
32611
32705
|
});
|
|
32612
32706
|
} else {
|
|
32613
|
-
let
|
|
32707
|
+
let result2 = walk([
|
|
32614
32708
|
additionalProperties
|
|
32615
32709
|
].concat(schemaAncestors), dataNode[k], dataPath + "/" + (0, $8C1kk$parceldiagnostic.encodeJSONKeyComponent)(k));
|
|
32616
|
-
if (
|
|
32710
|
+
if (result2) results1.push(result2);
|
|
32617
32711
|
}
|
|
32618
32712
|
}
|
|
32619
32713
|
}
|
|
32620
32714
|
}
|
|
32621
|
-
if (
|
|
32715
|
+
if (results1.length) return results1.reduce((acc, v)=>acc.concat(v), []);
|
|
32622
32716
|
break;
|
|
32623
32717
|
}
|
|
32624
32718
|
case "boolean":
|
|
@@ -32637,23 +32731,23 @@ function $4ca1027d34905147$var$validateSchema(schema, data) {
|
|
|
32637
32731
|
};
|
|
32638
32732
|
if (schemaNode.oneOf || schemaNode.allOf) {
|
|
32639
32733
|
let list = schemaNode.oneOf || schemaNode.allOf;
|
|
32640
|
-
let
|
|
32734
|
+
let results2 = [];
|
|
32641
32735
|
for (let f of list){
|
|
32642
|
-
let
|
|
32736
|
+
let result3 = walk([
|
|
32643
32737
|
f
|
|
32644
32738
|
].concat(schemaAncestors), dataNode, dataPath);
|
|
32645
|
-
if (
|
|
32739
|
+
if (result3) results2.push(result3);
|
|
32646
32740
|
}
|
|
32647
|
-
if (schemaNode.oneOf ?
|
|
32741
|
+
if (schemaNode.oneOf ? results2.length == schemaNode.oneOf.length : results2.length > 0) {
|
|
32648
32742
|
// return the result with more values / longer key
|
|
32649
|
-
|
|
32650
|
-
return
|
|
32743
|
+
results2.sort((a, b)=>Array.isArray(a) || Array.isArray(b) ? Array.isArray(a) && !Array.isArray(b) ? -1 : !Array.isArray(a) && Array.isArray(b) ? 1 : Array.isArray(a) && Array.isArray(b) ? b.length - a.length : 0 : b.dataPath.length - a.dataPath.length);
|
|
32744
|
+
return results2[0];
|
|
32651
32745
|
}
|
|
32652
32746
|
} else if (schemaNode.not) {
|
|
32653
|
-
let
|
|
32747
|
+
let result4 = walk([
|
|
32654
32748
|
schemaNode.not
|
|
32655
32749
|
].concat(schemaAncestors), dataNode, dataPath);
|
|
32656
|
-
if (!
|
|
32750
|
+
if (!result4 || result4.length == 0) return {
|
|
32657
32751
|
type: "other",
|
|
32658
32752
|
dataPath: dataPath,
|
|
32659
32753
|
dataType: null,
|
|
@@ -32665,11 +32759,11 @@ function $4ca1027d34905147$var$validateSchema(schema, data) {
|
|
|
32665
32759
|
}
|
|
32666
32760
|
return undefined;
|
|
32667
32761
|
}
|
|
32668
|
-
let
|
|
32762
|
+
let result = walk([
|
|
32669
32763
|
schema
|
|
32670
32764
|
], data, "");
|
|
32671
|
-
return Array.isArray(
|
|
32672
|
-
|
|
32765
|
+
return Array.isArray(result) ? result : result ? [
|
|
32766
|
+
result
|
|
32673
32767
|
] : [];
|
|
32674
32768
|
}
|
|
32675
32769
|
var $4ca1027d34905147$export$2e2bcd8739ae039 = $4ca1027d34905147$var$validateSchema;
|
|
@@ -32681,7 +32775,7 @@ function $4ca1027d34905147$export$2115c2c0a84eef61(expectedValues, actualValue)
|
|
|
32681
32775
|
result.sort(([, a], [, b])=>a - b);
|
|
32682
32776
|
return result.map(([v])=>v);
|
|
32683
32777
|
}
|
|
32684
|
-
$4ca1027d34905147$var$validateSchema.diagnostic = function(schema, data, origin,
|
|
32778
|
+
$4ca1027d34905147$var$validateSchema.diagnostic = function(schema, data, origin, message) {
|
|
32685
32779
|
if ("source" in data && "data" in data && typeof data.source !== "string" && !data) throw new Error("At least one of data.source and data.data must be defined!");
|
|
32686
32780
|
var _data;
|
|
32687
32781
|
let object = data.map ? data.map.data : (_data = data.data) !== null && _data !== void 0 ? _data : JSON.parse(data.source);
|
|
@@ -32698,17 +32792,17 @@ $4ca1027d34905147$var$validateSchema.diagnostic = function(schema, data, origin,
|
|
|
32698
32792
|
else message = "Unexpected value";
|
|
32699
32793
|
} else if (e.type === "forbidden-prop") {
|
|
32700
32794
|
let { prop: prop , expectedProps: expectedProps , actualProps: actualProps } = e;
|
|
32701
|
-
let
|
|
32702
|
-
if (
|
|
32795
|
+
let likely1 = $4ca1027d34905147$export$2115c2c0a84eef61(expectedProps, prop).filter((v)=>!actualProps.includes(v));
|
|
32796
|
+
if (likely1.length > 0) message = `Did you mean ${likely1.map((v)=>JSON.stringify(v)).join(", ")}?`;
|
|
32703
32797
|
else message = "Unexpected property";
|
|
32704
32798
|
} else if (e.type === "missing-prop") {
|
|
32705
|
-
let { prop:
|
|
32706
|
-
let
|
|
32707
|
-
if (
|
|
32708
|
-
message = `Did you mean ${JSON.stringify(
|
|
32709
|
-
e.dataPath += "/" +
|
|
32799
|
+
let { prop: prop1 , actualProps: actualProps1 } = e;
|
|
32800
|
+
let likely2 = $4ca1027d34905147$export$2115c2c0a84eef61(actualProps1, prop1);
|
|
32801
|
+
if (likely2.length > 0) {
|
|
32802
|
+
message = `Did you mean ${JSON.stringify(prop1)}?`;
|
|
32803
|
+
e.dataPath += "/" + likely2[0];
|
|
32710
32804
|
e.dataType = "key";
|
|
32711
|
-
} else message = `Missing property ${
|
|
32805
|
+
} else message = `Missing property ${prop1}`;
|
|
32712
32806
|
} else if (e.type === "type") {
|
|
32713
32807
|
if (e.prettyType != null) message = `Expected ${e.prettyType}`;
|
|
32714
32808
|
else message = `Expected type ${e.expectedTypes.join(", ")}`;
|
|
@@ -32744,7 +32838,7 @@ $4ca1027d34905147$var$validateSchema.diagnostic = function(schema, data, origin,
|
|
|
32744
32838
|
];
|
|
32745
32839
|
throw new (0, ($parcel$interopDefault($8C1kk$parceldiagnostic)))({
|
|
32746
32840
|
diagnostic: {
|
|
32747
|
-
message:
|
|
32841
|
+
message: message,
|
|
32748
32842
|
origin: origin,
|
|
32749
32843
|
codeFrames: codeFrames
|
|
32750
32844
|
}
|
|
@@ -32833,7 +32927,7 @@ function $e499d3e618e93ebd$export$2e2bcd8739ae039(fn, delay) {
|
|
|
32833
32927
|
var $618f8c1de80a427f$exports = {};
|
|
32834
32928
|
"use strict";
|
|
32835
32929
|
|
|
32836
|
-
var $618f8c1de80a427f$var$
|
|
32930
|
+
var $618f8c1de80a427f$var$$parcel$__dirname = $8C1kk$path.resolve(__dirname, "../../../../node_modules/open");
|
|
32837
32931
|
|
|
32838
32932
|
var $618f8c1de80a427f$require$promisify = $8C1kk$util.promisify;
|
|
32839
32933
|
|
|
@@ -32888,13 +32982,13 @@ else $544c5203b18a57d8$exports = $544c5203b18a57d8$var$isWsl();
|
|
|
32888
32982
|
const $618f8c1de80a427f$var$pAccess = $618f8c1de80a427f$require$promisify($8C1kk$fs.access);
|
|
32889
32983
|
const $618f8c1de80a427f$var$pExecFile = $618f8c1de80a427f$require$promisify($8C1kk$child_process.execFile);
|
|
32890
32984
|
// Path to included `xdg-open`.
|
|
32891
|
-
const $618f8c1de80a427f$var$localXdgOpenPath = $8C1kk$path.join($618f8c1de80a427f$var$
|
|
32985
|
+
const $618f8c1de80a427f$var$localXdgOpenPath = $8C1kk$path.join($618f8c1de80a427f$var$$parcel$__dirname, "xdg-open");
|
|
32892
32986
|
// Convert a path from WSL format to Windows format:
|
|
32893
32987
|
// `/mnt/c/Program Files/Example/MyApp.exe` → `C:\Program Files\Example\MyApp.exe`
|
|
32894
|
-
const $618f8c1de80a427f$var$wslToWindowsPath = async (
|
|
32988
|
+
const $618f8c1de80a427f$var$wslToWindowsPath = async (path)=>{
|
|
32895
32989
|
const { stdout: stdout } = await $618f8c1de80a427f$var$pExecFile("wslpath", [
|
|
32896
32990
|
"-w",
|
|
32897
|
-
|
|
32991
|
+
path
|
|
32898
32992
|
]);
|
|
32899
32993
|
return stdout.trim();
|
|
32900
32994
|
};
|
|
@@ -32955,7 +33049,7 @@ $618f8c1de80a427f$exports = async (target, options)=>{
|
|
|
32955
33049
|
if (options.app) command = options.app;
|
|
32956
33050
|
else {
|
|
32957
33051
|
// When bundled by Webpack, there's no actual package file path and no local `xdg-open`.
|
|
32958
|
-
const isBundled = !$618f8c1de80a427f$var$
|
|
33052
|
+
const isBundled = !$618f8c1de80a427f$var$$parcel$__dirname || $618f8c1de80a427f$var$$parcel$__dirname === "/";
|
|
32959
33053
|
// Check if local `xdg-open` exists and is executable.
|
|
32960
33054
|
let exeLocalXdgOpen = false;
|
|
32961
33055
|
try {
|
|
@@ -33093,9 +33187,9 @@ var $284aeb9e515b63c0$var$clone = function() {
|
|
|
33093
33187
|
* @param `includeNonEnumerable` - set to true if the non-enumerable properties
|
|
33094
33188
|
* should be cloned as well. Non-enumerable properties on the prototype
|
|
33095
33189
|
* chain will be ignored. (optional - false by default)
|
|
33096
|
-
*/ function
|
|
33190
|
+
*/ function clone(parent, circular, depth, prototype, includeNonEnumerable) {
|
|
33097
33191
|
if (typeof circular === "object") {
|
|
33098
|
-
|
|
33192
|
+
depth = circular.depth;
|
|
33099
33193
|
prototype = circular.prototype;
|
|
33100
33194
|
includeNonEnumerable = circular.includeNonEnumerable;
|
|
33101
33195
|
circular = circular.circular;
|
|
@@ -33106,7 +33200,7 @@ var $284aeb9e515b63c0$var$clone = function() {
|
|
|
33106
33200
|
var allChildren = [];
|
|
33107
33201
|
var useBuffer = typeof Buffer != "undefined";
|
|
33108
33202
|
if (typeof circular == "undefined") circular = true;
|
|
33109
|
-
if (typeof
|
|
33203
|
+
if (typeof depth == "undefined") depth = Infinity;
|
|
33110
33204
|
// recurse this function so we don't reset allParents and allChildren
|
|
33111
33205
|
function _clone(parent, depth) {
|
|
33112
33206
|
// cloning null always returns null
|
|
@@ -33124,11 +33218,11 @@ var $284aeb9e515b63c0$var$clone = function() {
|
|
|
33124
33218
|
reject(_clone(err, depth - 1));
|
|
33125
33219
|
});
|
|
33126
33220
|
});
|
|
33127
|
-
else if (
|
|
33128
|
-
else if (
|
|
33221
|
+
else if (clone.__isArray(parent)) child = [];
|
|
33222
|
+
else if (clone.__isRegExp(parent)) {
|
|
33129
33223
|
child = new RegExp(parent.source, __getRegExpFlags(parent));
|
|
33130
33224
|
if (parent.lastIndex) child.lastIndex = parent.lastIndex;
|
|
33131
|
-
} else if (
|
|
33225
|
+
} else if (clone.__isDate(parent)) child = new Date(parent.getTime());
|
|
33132
33226
|
else if (useBuffer && Buffer.isBuffer(parent)) {
|
|
33133
33227
|
if (Buffer.allocUnsafe) // Node.js >= 4.5.0
|
|
33134
33228
|
child = Buffer.allocUnsafe(parent.length);
|
|
@@ -33193,7 +33287,7 @@ var $284aeb9e515b63c0$var$clone = function() {
|
|
|
33193
33287
|
}
|
|
33194
33288
|
return child;
|
|
33195
33289
|
}
|
|
33196
|
-
return _clone(
|
|
33290
|
+
return _clone(parent, depth);
|
|
33197
33291
|
}
|
|
33198
33292
|
/**
|
|
33199
33293
|
* Simple flat clone using prototype, accepts only objects, usefull for property
|
|
@@ -33201,7 +33295,7 @@ var $284aeb9e515b63c0$var$clone = function() {
|
|
|
33201
33295
|
*
|
|
33202
33296
|
* USE WITH CAUTION! This may not behave as you wish if you do not know how this
|
|
33203
33297
|
* works.
|
|
33204
|
-
*/
|
|
33298
|
+
*/ clone.clonePrototype = function clonePrototype(parent) {
|
|
33205
33299
|
if (parent === null) return null;
|
|
33206
33300
|
var c = function() {};
|
|
33207
33301
|
c.prototype = parent;
|
|
@@ -33211,19 +33305,19 @@ var $284aeb9e515b63c0$var$clone = function() {
|
|
|
33211
33305
|
function __objToStr(o) {
|
|
33212
33306
|
return Object.prototype.toString.call(o);
|
|
33213
33307
|
}
|
|
33214
|
-
|
|
33308
|
+
clone.__objToStr = __objToStr;
|
|
33215
33309
|
function __isDate(o) {
|
|
33216
33310
|
return typeof o === "object" && __objToStr(o) === "[object Date]";
|
|
33217
33311
|
}
|
|
33218
|
-
|
|
33312
|
+
clone.__isDate = __isDate;
|
|
33219
33313
|
function __isArray(o) {
|
|
33220
33314
|
return typeof o === "object" && __objToStr(o) === "[object Array]";
|
|
33221
33315
|
}
|
|
33222
|
-
|
|
33316
|
+
clone.__isArray = __isArray;
|
|
33223
33317
|
function __isRegExp(o) {
|
|
33224
33318
|
return typeof o === "object" && __objToStr(o) === "[object RegExp]";
|
|
33225
33319
|
}
|
|
33226
|
-
|
|
33320
|
+
clone.__isRegExp = __isRegExp;
|
|
33227
33321
|
function __getRegExpFlags(re) {
|
|
33228
33322
|
var flags = "";
|
|
33229
33323
|
if (re.global) flags += "g";
|
|
@@ -33231,8 +33325,8 @@ var $284aeb9e515b63c0$var$clone = function() {
|
|
|
33231
33325
|
if (re.multiline) flags += "m";
|
|
33232
33326
|
return flags;
|
|
33233
33327
|
}
|
|
33234
|
-
|
|
33235
|
-
return
|
|
33328
|
+
clone.__getRegExpFlags = __getRegExpFlags;
|
|
33329
|
+
return clone;
|
|
33236
33330
|
}();
|
|
33237
33331
|
if ($284aeb9e515b63c0$exports) $284aeb9e515b63c0$exports = $284aeb9e515b63c0$var$clone;
|
|
33238
33332
|
|
|
@@ -33247,20 +33341,20 @@ var $5dc3ee1f90b35876$var$unicode = {
|
|
|
33247
33341
|
ID_Continue: $5dc3ee1f90b35876$var$ID_Continue
|
|
33248
33342
|
};
|
|
33249
33343
|
var $5dc3ee1f90b35876$var$util = {
|
|
33250
|
-
isSpaceSeparator (
|
|
33251
|
-
return typeof
|
|
33344
|
+
isSpaceSeparator (c) {
|
|
33345
|
+
return typeof c === "string" && $5dc3ee1f90b35876$var$unicode.Space_Separator.test(c);
|
|
33252
33346
|
},
|
|
33253
|
-
isIdStartChar (
|
|
33254
|
-
return typeof
|
|
33347
|
+
isIdStartChar (c) {
|
|
33348
|
+
return typeof c === "string" && (c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c === "$" || c === "_" || $5dc3ee1f90b35876$var$unicode.ID_Start.test(c));
|
|
33255
33349
|
},
|
|
33256
|
-
isIdContinueChar (
|
|
33257
|
-
return typeof
|
|
33350
|
+
isIdContinueChar (c) {
|
|
33351
|
+
return typeof c === "string" && (c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c >= "0" && c <= "9" || c === "$" || c === "_" || c === "" || c === "" || $5dc3ee1f90b35876$var$unicode.ID_Continue.test(c));
|
|
33258
33352
|
},
|
|
33259
|
-
isDigit (
|
|
33260
|
-
return typeof
|
|
33353
|
+
isDigit (c) {
|
|
33354
|
+
return typeof c === "string" && /[0-9]/.test(c);
|
|
33261
33355
|
},
|
|
33262
|
-
isHexDigit (
|
|
33263
|
-
return typeof
|
|
33356
|
+
isHexDigit (c) {
|
|
33357
|
+
return typeof c === "string" && /[0-9A-Fa-f]/.test(c);
|
|
33264
33358
|
}
|
|
33265
33359
|
};
|
|
33266
33360
|
let $5dc3ee1f90b35876$var$source;
|
|
@@ -33297,10 +33391,10 @@ var $5dc3ee1f90b35876$var$parse = function parse(text, reviver) {
|
|
|
33297
33391
|
};
|
|
33298
33392
|
function $5dc3ee1f90b35876$var$internalize(holder, name, reviver) {
|
|
33299
33393
|
const value = holder[name];
|
|
33300
|
-
if (value != null && typeof value === "object") for(const
|
|
33301
|
-
const replacement = $5dc3ee1f90b35876$var$internalize(value,
|
|
33302
|
-
if (replacement === undefined) delete value[
|
|
33303
|
-
else value[
|
|
33394
|
+
if (value != null && typeof value === "object") for(const key in value){
|
|
33395
|
+
const replacement = $5dc3ee1f90b35876$var$internalize(value, key, reviver);
|
|
33396
|
+
if (replacement === undefined) delete value[key];
|
|
33397
|
+
else value[key] = replacement;
|
|
33304
33398
|
}
|
|
33305
33399
|
return reviver.call(holder, name, value);
|
|
33306
33400
|
}
|
|
@@ -33320,22 +33414,22 @@ function $5dc3ee1f90b35876$var$lex() {
|
|
|
33320
33414
|
// if (!lexStates[lexState]) {
|
|
33321
33415
|
// throw invalidLexState(lexState)
|
|
33322
33416
|
// }
|
|
33323
|
-
const
|
|
33324
|
-
if (
|
|
33417
|
+
const token = $5dc3ee1f90b35876$var$lexStates[$5dc3ee1f90b35876$var$lexState]();
|
|
33418
|
+
if (token) return token;
|
|
33325
33419
|
}
|
|
33326
33420
|
}
|
|
33327
33421
|
function $5dc3ee1f90b35876$var$peek() {
|
|
33328
33422
|
if ($5dc3ee1f90b35876$var$source[$5dc3ee1f90b35876$var$pos]) return String.fromCodePoint($5dc3ee1f90b35876$var$source.codePointAt($5dc3ee1f90b35876$var$pos));
|
|
33329
33423
|
}
|
|
33330
33424
|
function $5dc3ee1f90b35876$var$read() {
|
|
33331
|
-
const
|
|
33332
|
-
if (
|
|
33425
|
+
const c = $5dc3ee1f90b35876$var$peek();
|
|
33426
|
+
if (c === "\n") {
|
|
33333
33427
|
$5dc3ee1f90b35876$var$line++;
|
|
33334
33428
|
$5dc3ee1f90b35876$var$column = 0;
|
|
33335
|
-
} else if (
|
|
33429
|
+
} else if (c) $5dc3ee1f90b35876$var$column += c.length;
|
|
33336
33430
|
else $5dc3ee1f90b35876$var$column++;
|
|
33337
|
-
if (
|
|
33338
|
-
return
|
|
33431
|
+
if (c) $5dc3ee1f90b35876$var$pos += c.length;
|
|
33432
|
+
return c;
|
|
33339
33433
|
}
|
|
33340
33434
|
const $5dc3ee1f90b35876$var$lexStates = {
|
|
33341
33435
|
default () {
|
|
@@ -33502,8 +33596,8 @@ const $5dc3ee1f90b35876$var$lexStates = {
|
|
|
33502
33596
|
switch($5dc3ee1f90b35876$var$c){
|
|
33503
33597
|
case "$":
|
|
33504
33598
|
case "_":
|
|
33505
|
-
case "
|
|
33506
|
-
case "
|
|
33599
|
+
case "":
|
|
33600
|
+
case "":
|
|
33507
33601
|
$5dc3ee1f90b35876$var$buffer += $5dc3ee1f90b35876$var$read();
|
|
33508
33602
|
return;
|
|
33509
33603
|
case "\\":
|
|
@@ -33524,8 +33618,8 @@ const $5dc3ee1f90b35876$var$lexStates = {
|
|
|
33524
33618
|
switch(u){
|
|
33525
33619
|
case "$":
|
|
33526
33620
|
case "_":
|
|
33527
|
-
case "
|
|
33528
|
-
case "
|
|
33621
|
+
case "":
|
|
33622
|
+
case "":
|
|
33529
33623
|
break;
|
|
33530
33624
|
default:
|
|
33531
33625
|
if (!$5dc3ee1f90b35876$var$util.isIdContinueChar(u)) throw $5dc3ee1f90b35876$var$invalidIdentifier();
|
|
@@ -33797,15 +33891,15 @@ function $5dc3ee1f90b35876$var$newToken(type, value) {
|
|
|
33797
33891
|
};
|
|
33798
33892
|
}
|
|
33799
33893
|
function $5dc3ee1f90b35876$var$literal(s) {
|
|
33800
|
-
for (const
|
|
33894
|
+
for (const c of s){
|
|
33801
33895
|
const p = $5dc3ee1f90b35876$var$peek();
|
|
33802
|
-
if (p !==
|
|
33896
|
+
if (p !== c) throw $5dc3ee1f90b35876$var$invalidChar($5dc3ee1f90b35876$var$read());
|
|
33803
33897
|
$5dc3ee1f90b35876$var$read();
|
|
33804
33898
|
}
|
|
33805
33899
|
}
|
|
33806
33900
|
function $5dc3ee1f90b35876$var$escape() {
|
|
33807
|
-
const
|
|
33808
|
-
switch(
|
|
33901
|
+
const c = $5dc3ee1f90b35876$var$peek();
|
|
33902
|
+
switch(c){
|
|
33809
33903
|
case "b":
|
|
33810
33904
|
$5dc3ee1f90b35876$var$read();
|
|
33811
33905
|
return "\b";
|
|
@@ -33859,24 +33953,24 @@ function $5dc3ee1f90b35876$var$escape() {
|
|
|
33859
33953
|
return $5dc3ee1f90b35876$var$read();
|
|
33860
33954
|
}
|
|
33861
33955
|
function $5dc3ee1f90b35876$var$hexEscape() {
|
|
33862
|
-
let
|
|
33863
|
-
let
|
|
33864
|
-
if (!$5dc3ee1f90b35876$var$util.isHexDigit(
|
|
33865
|
-
|
|
33866
|
-
|
|
33867
|
-
if (!$5dc3ee1f90b35876$var$util.isHexDigit(
|
|
33868
|
-
|
|
33869
|
-
return String.fromCodePoint(parseInt(
|
|
33956
|
+
let buffer = "";
|
|
33957
|
+
let c = $5dc3ee1f90b35876$var$peek();
|
|
33958
|
+
if (!$5dc3ee1f90b35876$var$util.isHexDigit(c)) throw $5dc3ee1f90b35876$var$invalidChar($5dc3ee1f90b35876$var$read());
|
|
33959
|
+
buffer += $5dc3ee1f90b35876$var$read();
|
|
33960
|
+
c = $5dc3ee1f90b35876$var$peek();
|
|
33961
|
+
if (!$5dc3ee1f90b35876$var$util.isHexDigit(c)) throw $5dc3ee1f90b35876$var$invalidChar($5dc3ee1f90b35876$var$read());
|
|
33962
|
+
buffer += $5dc3ee1f90b35876$var$read();
|
|
33963
|
+
return String.fromCodePoint(parseInt(buffer, 16));
|
|
33870
33964
|
}
|
|
33871
33965
|
function $5dc3ee1f90b35876$var$unicodeEscape() {
|
|
33872
|
-
let
|
|
33966
|
+
let buffer = "";
|
|
33873
33967
|
let count = 4;
|
|
33874
33968
|
while(count-- > 0){
|
|
33875
|
-
const
|
|
33876
|
-
if (!$5dc3ee1f90b35876$var$util.isHexDigit(
|
|
33877
|
-
|
|
33969
|
+
const c = $5dc3ee1f90b35876$var$peek();
|
|
33970
|
+
if (!$5dc3ee1f90b35876$var$util.isHexDigit(c)) throw $5dc3ee1f90b35876$var$invalidChar($5dc3ee1f90b35876$var$read());
|
|
33971
|
+
buffer += $5dc3ee1f90b35876$var$read();
|
|
33878
33972
|
}
|
|
33879
|
-
return String.fromCodePoint(parseInt(
|
|
33973
|
+
return String.fromCodePoint(parseInt(buffer, 16));
|
|
33880
33974
|
}
|
|
33881
33975
|
const $5dc3ee1f90b35876$var$parseStates = {
|
|
33882
33976
|
start () {
|
|
@@ -34014,9 +34108,9 @@ function $5dc3ee1f90b35876$var$pop() {
|
|
|
34014
34108
|
// function invalidLexState (state) {
|
|
34015
34109
|
// return new Error(`JSON5: invalid lex state '${state}'`)
|
|
34016
34110
|
// }
|
|
34017
|
-
function $5dc3ee1f90b35876$var$invalidChar(
|
|
34018
|
-
if (
|
|
34019
|
-
return $5dc3ee1f90b35876$var$syntaxError(`JSON5: invalid character '${$5dc3ee1f90b35876$var$formatChar(
|
|
34111
|
+
function $5dc3ee1f90b35876$var$invalidChar(c) {
|
|
34112
|
+
if (c === undefined) return $5dc3ee1f90b35876$var$syntaxError(`JSON5: invalid end of input at ${$5dc3ee1f90b35876$var$line}:${$5dc3ee1f90b35876$var$column}`);
|
|
34113
|
+
return $5dc3ee1f90b35876$var$syntaxError(`JSON5: invalid character '${$5dc3ee1f90b35876$var$formatChar(c)}' at ${$5dc3ee1f90b35876$var$line}:${$5dc3ee1f90b35876$var$column}`);
|
|
34020
34114
|
}
|
|
34021
34115
|
function $5dc3ee1f90b35876$var$invalidEOF() {
|
|
34022
34116
|
return $5dc3ee1f90b35876$var$syntaxError(`JSON5: invalid end of input at ${$5dc3ee1f90b35876$var$line}:${$5dc3ee1f90b35876$var$column}`);
|
|
@@ -34033,10 +34127,10 @@ function $5dc3ee1f90b35876$var$invalidIdentifier() {
|
|
|
34033
34127
|
$5dc3ee1f90b35876$var$column -= 5;
|
|
34034
34128
|
return $5dc3ee1f90b35876$var$syntaxError(`JSON5: invalid identifier character at ${$5dc3ee1f90b35876$var$line}:${$5dc3ee1f90b35876$var$column}`);
|
|
34035
34129
|
}
|
|
34036
|
-
function $5dc3ee1f90b35876$var$separatorChar(
|
|
34037
|
-
console.warn(`JSON5: '${$5dc3ee1f90b35876$var$formatChar(
|
|
34130
|
+
function $5dc3ee1f90b35876$var$separatorChar(c) {
|
|
34131
|
+
console.warn(`JSON5: '${$5dc3ee1f90b35876$var$formatChar(c)}' in strings is not valid ECMAScript; consider escaping`);
|
|
34038
34132
|
}
|
|
34039
|
-
function $5dc3ee1f90b35876$var$formatChar(
|
|
34133
|
+
function $5dc3ee1f90b35876$var$formatChar(c) {
|
|
34040
34134
|
const replacements = {
|
|
34041
34135
|
"'": "\\'",
|
|
34042
34136
|
'"': '\\"',
|
|
@@ -34051,12 +34145,12 @@ function $5dc3ee1f90b35876$var$formatChar(c13) {
|
|
|
34051
34145
|
"\u2028": "\\u2028",
|
|
34052
34146
|
"\u2029": "\\u2029"
|
|
34053
34147
|
};
|
|
34054
|
-
if (replacements[
|
|
34055
|
-
if (
|
|
34056
|
-
const hexString =
|
|
34148
|
+
if (replacements[c]) return replacements[c];
|
|
34149
|
+
if (c < " ") {
|
|
34150
|
+
const hexString = c.charCodeAt(0).toString(16);
|
|
34057
34151
|
return "\\x" + ("00" + hexString).substring(hexString.length);
|
|
34058
34152
|
}
|
|
34059
|
-
return
|
|
34153
|
+
return c;
|
|
34060
34154
|
}
|
|
34061
34155
|
function $5dc3ee1f90b35876$var$syntaxError(message) {
|
|
34062
34156
|
const err = new SyntaxError(message);
|
|
@@ -34064,8 +34158,8 @@ function $5dc3ee1f90b35876$var$syntaxError(message) {
|
|
|
34064
34158
|
err.columnNumber = $5dc3ee1f90b35876$var$column;
|
|
34065
34159
|
return err;
|
|
34066
34160
|
}
|
|
34067
|
-
var $5dc3ee1f90b35876$var$stringify = function stringify(
|
|
34068
|
-
const
|
|
34161
|
+
var $5dc3ee1f90b35876$var$stringify = function stringify(value, replacer, space) {
|
|
34162
|
+
const stack = [];
|
|
34069
34163
|
let indent = "";
|
|
34070
34164
|
let propertyList;
|
|
34071
34165
|
let replacerFunc;
|
|
@@ -34095,19 +34189,19 @@ var $5dc3ee1f90b35876$var$stringify = function stringify(value1, replacer, space
|
|
|
34095
34189
|
}
|
|
34096
34190
|
} else if (typeof space === "string") gap = space.substr(0, 10);
|
|
34097
34191
|
return serializeProperty("", {
|
|
34098
|
-
"":
|
|
34192
|
+
"": value
|
|
34099
34193
|
});
|
|
34100
|
-
function serializeProperty(
|
|
34101
|
-
let value = holder[
|
|
34194
|
+
function serializeProperty(key, holder) {
|
|
34195
|
+
let value = holder[key];
|
|
34102
34196
|
if (value != null) {
|
|
34103
34197
|
if (typeof value.toJSON5 === "function") {
|
|
34104
|
-
value = value.toJSON5(
|
|
34198
|
+
value = value.toJSON5(key);
|
|
34105
34199
|
} else if (typeof value.toJSON === "function") {
|
|
34106
|
-
value = value.toJSON(
|
|
34200
|
+
value = value.toJSON(key);
|
|
34107
34201
|
}
|
|
34108
34202
|
}
|
|
34109
34203
|
if (replacerFunc) {
|
|
34110
|
-
value = replacerFunc.call(holder,
|
|
34204
|
+
value = replacerFunc.call(holder, key, value);
|
|
34111
34205
|
}
|
|
34112
34206
|
if (value instanceof Number) {
|
|
34113
34207
|
value = Number(value);
|
|
@@ -34156,12 +34250,12 @@ var $5dc3ee1f90b35876$var$stringify = function stringify(value1, replacer, space
|
|
|
34156
34250
|
};
|
|
34157
34251
|
let product = "";
|
|
34158
34252
|
for(let i = 0; i < value.length; i++){
|
|
34159
|
-
const
|
|
34160
|
-
switch(
|
|
34253
|
+
const c = value[i];
|
|
34254
|
+
switch(c){
|
|
34161
34255
|
case "'":
|
|
34162
34256
|
case '"':
|
|
34163
|
-
quotes[
|
|
34164
|
-
product +=
|
|
34257
|
+
quotes[c]++;
|
|
34258
|
+
product += c;
|
|
34165
34259
|
continue;
|
|
34166
34260
|
case "\0":
|
|
34167
34261
|
if ($5dc3ee1f90b35876$var$util.isDigit(value[i + 1])) {
|
|
@@ -34169,34 +34263,34 @@ var $5dc3ee1f90b35876$var$stringify = function stringify(value1, replacer, space
|
|
|
34169
34263
|
continue;
|
|
34170
34264
|
}
|
|
34171
34265
|
}
|
|
34172
|
-
if (replacements[
|
|
34173
|
-
product += replacements[
|
|
34266
|
+
if (replacements[c]) {
|
|
34267
|
+
product += replacements[c];
|
|
34174
34268
|
continue;
|
|
34175
34269
|
}
|
|
34176
|
-
if (
|
|
34177
|
-
let hexString =
|
|
34270
|
+
if (c < " ") {
|
|
34271
|
+
let hexString = c.charCodeAt(0).toString(16);
|
|
34178
34272
|
product += "\\x" + ("00" + hexString).substring(hexString.length);
|
|
34179
34273
|
continue;
|
|
34180
34274
|
}
|
|
34181
|
-
product +=
|
|
34275
|
+
product += c;
|
|
34182
34276
|
}
|
|
34183
34277
|
const quoteChar = quote || Object.keys(quotes).reduce((a, b)=>quotes[a] < quotes[b] ? a : b);
|
|
34184
34278
|
product = product.replace(new RegExp(quoteChar, "g"), replacements[quoteChar]);
|
|
34185
34279
|
return quoteChar + product + quoteChar;
|
|
34186
34280
|
}
|
|
34187
34281
|
function serializeObject(value) {
|
|
34188
|
-
if (
|
|
34282
|
+
if (stack.indexOf(value) >= 0) {
|
|
34189
34283
|
throw TypeError("Converting circular structure to JSON5");
|
|
34190
34284
|
}
|
|
34191
|
-
|
|
34285
|
+
stack.push(value);
|
|
34192
34286
|
let stepback = indent;
|
|
34193
34287
|
indent = indent + gap;
|
|
34194
34288
|
let keys = propertyList || Object.keys(value);
|
|
34195
34289
|
let partial = [];
|
|
34196
|
-
for (const
|
|
34197
|
-
const propertyString = serializeProperty(
|
|
34290
|
+
for (const key of keys){
|
|
34291
|
+
const propertyString = serializeProperty(key, value);
|
|
34198
34292
|
if (propertyString !== undefined) {
|
|
34199
|
-
let member = serializeKey(
|
|
34293
|
+
let member = serializeKey(key) + ":";
|
|
34200
34294
|
if (gap !== "") {
|
|
34201
34295
|
member += " ";
|
|
34202
34296
|
}
|
|
@@ -34218,30 +34312,30 @@ var $5dc3ee1f90b35876$var$stringify = function stringify(value1, replacer, space
|
|
|
34218
34312
|
final = "{\n" + indent + properties + ",\n" + stepback + "}";
|
|
34219
34313
|
}
|
|
34220
34314
|
}
|
|
34221
|
-
|
|
34315
|
+
stack.pop();
|
|
34222
34316
|
indent = stepback;
|
|
34223
34317
|
return final;
|
|
34224
34318
|
}
|
|
34225
|
-
function serializeKey(
|
|
34226
|
-
if (
|
|
34227
|
-
return quoteString(
|
|
34319
|
+
function serializeKey(key) {
|
|
34320
|
+
if (key.length === 0) {
|
|
34321
|
+
return quoteString(key, true);
|
|
34228
34322
|
}
|
|
34229
|
-
const firstChar = String.fromCodePoint(
|
|
34323
|
+
const firstChar = String.fromCodePoint(key.codePointAt(0));
|
|
34230
34324
|
if (!$5dc3ee1f90b35876$var$util.isIdStartChar(firstChar)) {
|
|
34231
|
-
return quoteString(
|
|
34325
|
+
return quoteString(key, true);
|
|
34232
34326
|
}
|
|
34233
|
-
for(let i = firstChar.length; i <
|
|
34234
|
-
if (!$5dc3ee1f90b35876$var$util.isIdContinueChar(String.fromCodePoint(
|
|
34235
|
-
return quoteString(
|
|
34327
|
+
for(let i = firstChar.length; i < key.length; i++){
|
|
34328
|
+
if (!$5dc3ee1f90b35876$var$util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) {
|
|
34329
|
+
return quoteString(key, true);
|
|
34236
34330
|
}
|
|
34237
34331
|
}
|
|
34238
|
-
return
|
|
34332
|
+
return key;
|
|
34239
34333
|
}
|
|
34240
34334
|
function serializeArray(value) {
|
|
34241
|
-
if (
|
|
34335
|
+
if (stack.indexOf(value) >= 0) {
|
|
34242
34336
|
throw TypeError("Converting circular structure to JSON5");
|
|
34243
34337
|
}
|
|
34244
|
-
|
|
34338
|
+
stack.push(value);
|
|
34245
34339
|
let stepback = indent;
|
|
34246
34340
|
indent = indent + gap;
|
|
34247
34341
|
let partial = [];
|
|
@@ -34258,11 +34352,11 @@ var $5dc3ee1f90b35876$var$stringify = function stringify(value1, replacer, space
|
|
|
34258
34352
|
final = "[" + properties + "]";
|
|
34259
34353
|
} else {
|
|
34260
34354
|
let separator = ",\n" + indent;
|
|
34261
|
-
let
|
|
34262
|
-
final = "[\n" + indent +
|
|
34355
|
+
let properties1 = partial.join(separator);
|
|
34356
|
+
final = "[\n" + indent + properties1 + ",\n" + stepback + "]";
|
|
34263
34357
|
}
|
|
34264
34358
|
}
|
|
34265
|
-
|
|
34359
|
+
stack.pop();
|
|
34266
34360
|
indent = stepback;
|
|
34267
34361
|
return final;
|
|
34268
34362
|
}
|
|
@@ -34827,7 +34921,7 @@ async function $10671d0be444e08b$export$c1a4367d4847eb06(fs, filepath, filenames
|
|
|
34827
34921
|
if (cachedOutput) return cachedOutput;
|
|
34828
34922
|
try {
|
|
34829
34923
|
let extname = (0, ($parcel$interopDefault($8C1kk$path))).extname(configFile).slice(1);
|
|
34830
|
-
if (extname === "js") {
|
|
34924
|
+
if (extname === "js" || extname === "cjs") {
|
|
34831
34925
|
let output = {
|
|
34832
34926
|
// $FlowFixMe
|
|
34833
34927
|
config: (0, (/*@__PURE__*/$parcel$interopDefault($284aeb9e515b63c0$exports)))(require(configFile)),
|
|
@@ -34845,9 +34939,9 @@ async function $10671d0be444e08b$export$c1a4367d4847eb06(fs, filepath, filenames
|
|
|
34845
34939
|
if (parse === false) config = configContent;
|
|
34846
34940
|
else {
|
|
34847
34941
|
var ref1;
|
|
34848
|
-
let
|
|
34942
|
+
let parse1 = (ref1 = opts === null || opts === void 0 ? void 0 : opts.parser) !== null && ref1 !== void 0 ? ref1 : $10671d0be444e08b$var$getParser(extname);
|
|
34849
34943
|
try {
|
|
34850
|
-
config =
|
|
34944
|
+
config = parse1(configContent);
|
|
34851
34945
|
} catch (e) {
|
|
34852
34946
|
if (extname !== "" && extname !== "json") throw e;
|
|
34853
34947
|
let pos = {
|
|
@@ -34876,7 +34970,7 @@ async function $10671d0be444e08b$export$c1a4367d4847eb06(fs, filepath, filenames
|
|
|
34876
34970
|
});
|
|
34877
34971
|
}
|
|
34878
34972
|
}
|
|
34879
|
-
let
|
|
34973
|
+
let output1 = {
|
|
34880
34974
|
config: config,
|
|
34881
34975
|
files: [
|
|
34882
34976
|
{
|
|
@@ -34884,8 +34978,8 @@ async function $10671d0be444e08b$export$c1a4367d4847eb06(fs, filepath, filenames
|
|
|
34884
34978
|
}
|
|
34885
34979
|
]
|
|
34886
34980
|
};
|
|
34887
|
-
$10671d0be444e08b$var$configCache.set(String(parse) + configFile,
|
|
34888
|
-
return
|
|
34981
|
+
$10671d0be444e08b$var$configCache.set(String(parse) + configFile, output1);
|
|
34982
|
+
return output1;
|
|
34889
34983
|
} catch (err) {
|
|
34890
34984
|
if (err.code === "MODULE_NOT_FOUND" || err.code === "ENOENT") return null;
|
|
34891
34985
|
throw err;
|
|
@@ -35024,6 +35118,13 @@ function $9631335a11debdd4$export$667066422fa0af46(a, b) {
|
|
|
35024
35118
|
...b
|
|
35025
35119
|
]);
|
|
35026
35120
|
}
|
|
35121
|
+
function $9631335a11debdd4$export$dd7d5a65a6b6780f(a, b) {
|
|
35122
|
+
if (a.size != b.size) return false;
|
|
35123
|
+
for (let entry of a){
|
|
35124
|
+
if (!b.has(entry)) return false;
|
|
35125
|
+
}
|
|
35126
|
+
return true;
|
|
35127
|
+
}
|
|
35027
35128
|
|
|
35028
35129
|
|
|
35029
35130
|
|
|
@@ -35061,6 +35162,22 @@ class $5783bf7916ff59db$export$4924f7ffab2ae440 extends WeakMap {
|
|
|
35061
35162
|
|
|
35062
35163
|
|
|
35063
35164
|
|
|
35165
|
+
function $01f892dcf45b57a7$export$d28945a2f2ba5e30(event) {
|
|
35166
|
+
switch(event.phase){
|
|
35167
|
+
case "transforming":
|
|
35168
|
+
return `Building ${(0, ($parcel$interopDefault($8C1kk$path))).basename(event.filePath)}...`;
|
|
35169
|
+
case "bundling":
|
|
35170
|
+
return "Bundling...";
|
|
35171
|
+
case "packaging":
|
|
35172
|
+
return `Packaging ${event.bundle.displayName}...`;
|
|
35173
|
+
case "optimizing":
|
|
35174
|
+
return `Optimizing ${event.bundle.displayName}...`;
|
|
35175
|
+
}
|
|
35176
|
+
return null;
|
|
35177
|
+
}
|
|
35178
|
+
|
|
35179
|
+
|
|
35180
|
+
|
|
35064
35181
|
|
|
35065
35182
|
|
|
35066
35183
|
function $4b14026b40817fca$export$8a9ede1a78d6a1fe(stream) {
|
|
@@ -35117,10 +35234,10 @@ async function $0e887a49fdd81cad$export$3b1983e9896f988b(options) {
|
|
|
35117
35234
|
key: key
|
|
35118
35235
|
}, options.listener);
|
|
35119
35236
|
} else {
|
|
35120
|
-
let { cert:
|
|
35237
|
+
let { cert: cert1 , key: key1 } = await (0, $186980c178984fd2$export$2e2bcd8739ae039)(options.inputFS, options.https);
|
|
35121
35238
|
server = (0, ($parcel$interopDefault($8C1kk$https))).createServer({
|
|
35122
|
-
cert:
|
|
35123
|
-
key:
|
|
35239
|
+
cert: cert1,
|
|
35240
|
+
key: key1
|
|
35124
35241
|
}, options.listener);
|
|
35125
35242
|
} // HTTPServer#close only stops accepting new connections, and does not close existing ones.
|
|
35126
35243
|
// Before closing, destroy any active connections through their sockets. Additionally, remove sockets when they close:
|
|
@@ -35203,8 +35320,8 @@ async function $bc66accb63b05e9a$export$f074a8f9bef628fd({ bundle: bundle , bund
|
|
|
35203
35320
|
let inlineType = (0, (/*@__PURE__*/$parcel$interopDefault($812806c6461f2963$exports)))(entryBundle.getMainEntry()).meta.inlineType;
|
|
35204
35321
|
if (inlineType == null || inlineType === "string") {
|
|
35205
35322
|
var ref;
|
|
35206
|
-
var
|
|
35207
|
-
let placeholder = (
|
|
35323
|
+
var ref1;
|
|
35324
|
+
let placeholder = (ref1 = (ref = dependency.meta) === null || ref === void 0 ? void 0 : ref.placeholder) !== null && ref1 !== void 0 ? ref1 : dependency.id;
|
|
35208
35325
|
(0, ($parcel$interopDefault($8C1kk$assert)))(typeof placeholder === "string");
|
|
35209
35326
|
replacements.set(placeholder, getInlineReplacement(dependency, inlineType, packagedContents));
|
|
35210
35327
|
}
|
|
@@ -35228,8 +35345,8 @@ function $bc66accb63b05e9a$export$a22ef0cbdf8abc95({ dependency: dependency , fr
|
|
|
35228
35345
|
pathname: (0, (/*@__PURE__*/$parcel$interopDefault($812806c6461f2963$exports)))(toBundle.name),
|
|
35229
35346
|
hash: orig.hash
|
|
35230
35347
|
}));
|
|
35231
|
-
var
|
|
35232
|
-
let placeholder = (
|
|
35348
|
+
var ref1;
|
|
35349
|
+
let placeholder = (ref1 = (ref = dependency.meta) === null || ref === void 0 ? void 0 : ref.placeholder) !== null && ref1 !== void 0 ? ref1 : dependency.id;
|
|
35233
35350
|
(0, ($parcel$interopDefault($8C1kk$assert)))(typeof placeholder === "string");
|
|
35234
35351
|
return {
|
|
35235
35352
|
from: placeholder,
|