@metapages/metapage 1.8.12 → 1.8.15
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/dist/index.js +3633 -77
- package/dist/index.js.map +1 -1
- package/dist/metapage/metapageRenderer.d.ts +2 -0
- package/dist/metapage/metapageRenderer.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/metapage/metapageRenderer.ts +3 -0
- package/dist/_virtual/_commonjsHelpers.js +0 -9
- package/dist/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/_virtual/fetch-retry.umd.js +0 -5
- package/dist/_virtual/fetch-retry.umd.js.map +0 -1
- package/dist/_virtual/index.js +0 -5
- package/dist/_virtual/index.js.map +0 -1
- package/dist/_virtual/utils.js +0 -5
- package/dist/_virtual/utils.js.map +0 -1
- package/dist/metapage/Constants.js +0 -10
- package/dist/metapage/Constants.js.map +0 -1
- package/dist/metapage/Metaframe.js +0 -232
- package/dist/metapage/Metaframe.js.map +0 -1
- package/dist/metapage/Metapage.js +0 -362
- package/dist/metapage/Metapage.js.map +0 -1
- package/dist/metapage/MetapageIFrameRpcClient.js +0 -219
- package/dist/metapage/MetapageIFrameRpcClient.js.map +0 -1
- package/dist/metapage/MetapageTools.js +0 -74
- package/dist/metapage/MetapageTools.js.map +0 -1
- package/dist/metapage/Shared.js +0 -34
- package/dist/metapage/Shared.js.map +0 -1
- package/dist/metapage/conversions-metaframe.js +0 -143
- package/dist/metapage/conversions-metaframe.js.map +0 -1
- package/dist/metapage/conversions-metapage.js +0 -97
- package/dist/metapage/conversions-metapage.js.map +0 -1
- package/dist/metapage/data.js +0 -140
- package/dist/metapage/data.js.map +0 -1
- package/dist/metapage/events.js +0 -8
- package/dist/metapage/events.js.map +0 -1
- package/dist/metapage/jsonrpc.js +0 -13
- package/dist/metapage/jsonrpc.js.map +0 -1
- package/dist/metapage/jsonrpc2.js +0 -22
- package/dist/metapage/jsonrpc2.js.map +0 -1
- package/dist/metapage/metapageRenderer.js +0 -178
- package/dist/metapage/metapageRenderer.js.map +0 -1
- package/dist/metapage/util.js +0 -45
- package/dist/metapage/util.js.map +0 -1
- package/dist/metapage/versions.js +0 -8
- package/dist/metapage/versions.js.map +0 -1
- package/dist/node_modules/@metapages/hash-query/dist/core/index.js +0 -149
- package/dist/node_modules/@metapages/hash-query/dist/core/index.js.map +0 -1
- package/dist/node_modules/base64-arraybuffer/dist/base64-arraybuffer.es5.js +0 -21
- package/dist/node_modules/base64-arraybuffer/dist/base64-arraybuffer.es5.js.map +0 -1
- package/dist/node_modules/compare-versions/lib/esm/compareVersions.js +0 -9
- package/dist/node_modules/compare-versions/lib/esm/compareVersions.js.map +0 -1
- package/dist/node_modules/compare-versions/lib/esm/utils.js +0 -29
- package/dist/node_modules/compare-versions/lib/esm/utils.js.map +0 -1
- package/dist/node_modules/eventemitter3/index.js +0 -116
- package/dist/node_modules/eventemitter3/index.js.map +0 -1
- package/dist/node_modules/fast-json-stable-stringify/index.js +0 -44
- package/dist/node_modules/fast-json-stable-stringify/index.js.map +0 -1
- package/dist/node_modules/fetch-retry/dist/fetch-retry.umd.js +0 -95
- package/dist/node_modules/fetch-retry/dist/fetch-retry.umd.js.map +0 -1
- package/dist/node_modules/mutative/dist/mutative.esm.js +0 -854
- package/dist/node_modules/mutative/dist/mutative.esm.js.map +0 -1
- package/dist/node_modules/picomatch-browser/index.js +0 -8
- package/dist/node_modules/picomatch-browser/index.js.map +0 -1
- package/dist/node_modules/picomatch-browser/lib/constants.js +0 -175
- package/dist/node_modules/picomatch-browser/lib/constants.js.map +0 -1
- package/dist/node_modules/picomatch-browser/lib/parse.js +0 -454
- package/dist/node_modules/picomatch-browser/lib/parse.js.map +0 -1
- package/dist/node_modules/picomatch-browser/lib/picomatch.js +0 -78
- package/dist/node_modules/picomatch-browser/lib/picomatch.js.map +0 -1
- package/dist/node_modules/picomatch-browser/lib/scan.js +0 -185
- package/dist/node_modules/picomatch-browser/lib/scan.js.map +0 -1
- package/dist/node_modules/picomatch-browser/lib/utils.js +0 -25
- package/dist/node_modules/picomatch-browser/lib/utils.js.map +0 -1
|
@@ -1,454 +0,0 @@
|
|
|
1
|
-
import { c as rt } from "./constants.js";
|
|
2
|
-
import "./utils.js";
|
|
3
|
-
import { __exports as st } from "../../../_virtual/utils.js";
|
|
4
|
-
const W = rt, m = st, {
|
|
5
|
-
MAX_LENGTH: Y,
|
|
6
|
-
POSIX_REGEX_SOURCE: at,
|
|
7
|
-
REGEX_NON_SPECIAL_CHARS: pt,
|
|
8
|
-
REGEX_SPECIAL_CHARS_BACKREF: ct,
|
|
9
|
-
REPLACEMENTS: et
|
|
10
|
-
} = W, it = (p, d) => {
|
|
11
|
-
if (typeof d.expandRange == "function")
|
|
12
|
-
return d.expandRange(...p, d);
|
|
13
|
-
p.sort();
|
|
14
|
-
const n = `[${p.join("-")}]`;
|
|
15
|
-
try {
|
|
16
|
-
new RegExp(n);
|
|
17
|
-
} catch {
|
|
18
|
-
return p.map((E) => m.escapeRegex(E)).join("..");
|
|
19
|
-
}
|
|
20
|
-
return n;
|
|
21
|
-
}, D = (p, d) => `Missing ${p}: "${d}" - use "\\\\${d}" to match literal characters`, ut = (p, d) => {
|
|
22
|
-
if (typeof p != "string")
|
|
23
|
-
throw new TypeError("Expected a string");
|
|
24
|
-
p = et[p] || p;
|
|
25
|
-
const n = { ...d }, N = typeof n.maxLength == "number" ? Math.min(Y, n.maxLength) : Y;
|
|
26
|
-
let E = p.length;
|
|
27
|
-
if (E > N)
|
|
28
|
-
throw new SyntaxError(`Input length: ${E}, exceeds maximum allowed length: ${N}`);
|
|
29
|
-
const y = { type: "bos", value: "", output: n.prepend || "" }, x = [y], S = n.capture ? "" : "?:", G = W.globChars(n.windows), B = W.extglobChars(G), {
|
|
30
|
-
DOT_LITERAL: k,
|
|
31
|
-
PLUS_LITERAL: X,
|
|
32
|
-
SLASH_LITERAL: A,
|
|
33
|
-
ONE_CHAR: H,
|
|
34
|
-
DOTS_SLASH: w,
|
|
35
|
-
NO_DOT: q,
|
|
36
|
-
NO_DOT_SLASH: j,
|
|
37
|
-
NO_DOTS_SLASH: K,
|
|
38
|
-
QMARK: l,
|
|
39
|
-
QMARK_NO_DOT: T,
|
|
40
|
-
STAR: Q,
|
|
41
|
-
START_ANCHOR: Z
|
|
42
|
-
} = G, v = (r) => `(${S}(?:(?!${Z}${r.dot ? w : k}).)*?)`, _ = n.dot ? "" : q, M = n.dot ? l : T;
|
|
43
|
-
let h = n.bash === !0 ? v(n) : Q;
|
|
44
|
-
n.capture && (h = `(${h})`), typeof n.noext == "boolean" && (n.noextglob = n.noext);
|
|
45
|
-
const u = {
|
|
46
|
-
input: p,
|
|
47
|
-
index: -1,
|
|
48
|
-
start: 0,
|
|
49
|
-
dot: n.dot === !0,
|
|
50
|
-
consumed: "",
|
|
51
|
-
output: "",
|
|
52
|
-
prefix: "",
|
|
53
|
-
backtrack: !1,
|
|
54
|
-
negated: !1,
|
|
55
|
-
brackets: 0,
|
|
56
|
-
braces: 0,
|
|
57
|
-
parens: 0,
|
|
58
|
-
quotes: 0,
|
|
59
|
-
globstar: !1,
|
|
60
|
-
tokens: x
|
|
61
|
-
};
|
|
62
|
-
p = m.removePrefix(p, u), E = p.length;
|
|
63
|
-
const $ = [], L = [], F = [];
|
|
64
|
-
let t = y, e;
|
|
65
|
-
const P = () => u.index === E - 1, g = u.peek = (r = 1) => p[u.index + r], O = u.advance = () => p[++u.index], I = () => p.slice(u.index + 1), R = (r = "", c = 0) => {
|
|
66
|
-
u.consumed += r, u.index += c;
|
|
67
|
-
}, U = (r) => {
|
|
68
|
-
u.output += r.output != null ? r.output : r.value, R(r.value);
|
|
69
|
-
}, ot = () => {
|
|
70
|
-
let r = 1;
|
|
71
|
-
for (; g() === "!" && (g(2) !== "(" || g(3) === "?"); )
|
|
72
|
-
O(), u.start++, r++;
|
|
73
|
-
return r % 2 === 0 ? !1 : (u.negated = !0, u.start++, !0);
|
|
74
|
-
}, V = (r) => {
|
|
75
|
-
u[r]++, F.push(r);
|
|
76
|
-
}, C = (r) => {
|
|
77
|
-
u[r]--, F.pop();
|
|
78
|
-
}, s = (r) => {
|
|
79
|
-
if (t.type === "globstar") {
|
|
80
|
-
const c = u.braces > 0 && (r.type === "comma" || r.type === "brace"), o = r.extglob === !0 || $.length && (r.type === "pipe" || r.type === "paren");
|
|
81
|
-
r.type !== "slash" && r.type !== "paren" && !c && !o && (u.output = u.output.slice(0, -t.output.length), t.type = "star", t.value = "*", t.output = h, u.output += t.output);
|
|
82
|
-
}
|
|
83
|
-
if ($.length && r.type !== "paren" && !B[r.value] && ($[$.length - 1].inner += r.value), (r.value || r.output) && U(r), t && t.type === "text" && r.type === "text") {
|
|
84
|
-
t.value += r.value, t.output = (t.output || "") + r.value;
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
r.prev = t, x.push(r), t = r;
|
|
88
|
-
}, z = (r, c) => {
|
|
89
|
-
const o = { ...B[c], conditions: 1, inner: "" };
|
|
90
|
-
o.prev = t, o.parens = u.parens, o.output = u.output;
|
|
91
|
-
const a = (n.capture ? "(" : "") + o.open;
|
|
92
|
-
V("parens"), s({ type: r, value: c, output: u.output ? "" : H }), s({ type: "paren", extglob: !0, value: O(), output: a }), $.push(o);
|
|
93
|
-
}, nt = (r) => {
|
|
94
|
-
let c = r.close + (n.capture ? ")" : "");
|
|
95
|
-
if (r.type === "negate") {
|
|
96
|
-
let o = h;
|
|
97
|
-
r.inner && r.inner.length > 1 && r.inner.includes("/") && (o = v(n)), (o !== h || P() || /^\)+$/.test(I())) && (c = r.close = `)$))${o}`), r.prev.type === "bos" && P() && (u.negatedExtglob = !0);
|
|
98
|
-
}
|
|
99
|
-
s({ type: "paren", extglob: !0, value: e, output: c }), C("parens");
|
|
100
|
-
};
|
|
101
|
-
if (n.fastpaths !== !1 && !/(^[*!]|[/()[\]{}"])/.test(p)) {
|
|
102
|
-
let r = !1, c = p.replace(ct, (o, a, i, b, f, tt) => b === "\\" ? (r = !0, o) : b === "?" ? a ? a + b + (f ? l.repeat(f.length) : "") : tt === 0 ? M + (f ? l.repeat(f.length) : "") : l.repeat(i.length) : b === "." ? k.repeat(i.length) : b === "*" ? a ? a + b + (f ? h : "") : h : a ? o : `\\${o}`);
|
|
103
|
-
return r === !0 && (n.unescape === !0 ? c = c.replace(/\\/g, "") : c = c.replace(/\\+/g, (o) => o.length % 2 === 0 ? "\\\\" : o ? "\\" : "")), c === p && n.contains === !0 ? (u.output = p, u) : (u.output = m.wrapOutput(c, u, d), u);
|
|
104
|
-
}
|
|
105
|
-
for (; !P(); ) {
|
|
106
|
-
if (e = O(), e === "\0")
|
|
107
|
-
continue;
|
|
108
|
-
if (e === "\\") {
|
|
109
|
-
const o = g();
|
|
110
|
-
if (o === "/" && n.bash !== !0 || o === "." || o === ";")
|
|
111
|
-
continue;
|
|
112
|
-
if (!o) {
|
|
113
|
-
e += "\\", s({ type: "text", value: e });
|
|
114
|
-
continue;
|
|
115
|
-
}
|
|
116
|
-
const a = /^\\+/.exec(I());
|
|
117
|
-
let i = 0;
|
|
118
|
-
if (a && a[0].length > 2 && (i = a[0].length, u.index += i, i % 2 !== 0 && (e += "\\")), n.unescape === !0 ? e = O() || "" : e += O() || "", u.brackets === 0) {
|
|
119
|
-
s({ type: "text", value: e });
|
|
120
|
-
continue;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
if (u.brackets > 0 && (e !== "]" || t.value === "[" || t.value === "[^")) {
|
|
124
|
-
if (n.posix !== !1 && e === ":") {
|
|
125
|
-
const o = t.value.slice(1);
|
|
126
|
-
if (o.includes("[") && (t.posix = !0, o.includes(":"))) {
|
|
127
|
-
const a = t.value.lastIndexOf("["), i = t.value.slice(0, a), b = t.value.slice(a + 2), f = at[b];
|
|
128
|
-
if (f) {
|
|
129
|
-
t.value = i + f, u.backtrack = !0, O(), !y.output && x.indexOf(t) === 1 && (y.output = H);
|
|
130
|
-
continue;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
(e === "[" && g() !== ":" || e === "-" && g() === "]") && (e = `\\${e}`), e === "]" && (t.value === "[" || t.value === "[^") && (e = `\\${e}`), n.posix === !0 && e === "!" && t.value === "[" && (e = "^"), t.value += e, U({ value: e });
|
|
135
|
-
continue;
|
|
136
|
-
}
|
|
137
|
-
if (u.quotes === 1 && e !== '"') {
|
|
138
|
-
e = m.escapeRegex(e), t.value += e, U({ value: e });
|
|
139
|
-
continue;
|
|
140
|
-
}
|
|
141
|
-
if (e === '"') {
|
|
142
|
-
u.quotes = u.quotes === 1 ? 0 : 1, n.keepQuotes === !0 && s({ type: "text", value: e });
|
|
143
|
-
continue;
|
|
144
|
-
}
|
|
145
|
-
if (e === "(") {
|
|
146
|
-
V("parens"), s({ type: "paren", value: e });
|
|
147
|
-
continue;
|
|
148
|
-
}
|
|
149
|
-
if (e === ")") {
|
|
150
|
-
if (u.parens === 0 && n.strictBrackets === !0)
|
|
151
|
-
throw new SyntaxError(D("opening", "("));
|
|
152
|
-
const o = $[$.length - 1];
|
|
153
|
-
if (o && u.parens === o.parens + 1) {
|
|
154
|
-
nt($.pop());
|
|
155
|
-
continue;
|
|
156
|
-
}
|
|
157
|
-
s({ type: "paren", value: e, output: u.parens ? ")" : "\\)" }), C("parens");
|
|
158
|
-
continue;
|
|
159
|
-
}
|
|
160
|
-
if (e === "[") {
|
|
161
|
-
if (n.nobracket === !0 || !I().includes("]")) {
|
|
162
|
-
if (n.nobracket !== !0 && n.strictBrackets === !0)
|
|
163
|
-
throw new SyntaxError(D("closing", "]"));
|
|
164
|
-
e = `\\${e}`;
|
|
165
|
-
} else
|
|
166
|
-
V("brackets");
|
|
167
|
-
s({ type: "bracket", value: e });
|
|
168
|
-
continue;
|
|
169
|
-
}
|
|
170
|
-
if (e === "]") {
|
|
171
|
-
if (n.nobracket === !0 || t && t.type === "bracket" && t.value.length === 1) {
|
|
172
|
-
s({ type: "text", value: e, output: `\\${e}` });
|
|
173
|
-
continue;
|
|
174
|
-
}
|
|
175
|
-
if (u.brackets === 0) {
|
|
176
|
-
if (n.strictBrackets === !0)
|
|
177
|
-
throw new SyntaxError(D("opening", "["));
|
|
178
|
-
s({ type: "text", value: e, output: `\\${e}` });
|
|
179
|
-
continue;
|
|
180
|
-
}
|
|
181
|
-
C("brackets");
|
|
182
|
-
const o = t.value.slice(1);
|
|
183
|
-
if (t.posix !== !0 && o[0] === "^" && !o.includes("/") && (e = `/${e}`), t.value += e, U({ value: e }), n.literalBrackets === !1 || m.hasRegexChars(o))
|
|
184
|
-
continue;
|
|
185
|
-
const a = m.escapeRegex(t.value);
|
|
186
|
-
if (u.output = u.output.slice(0, -t.value.length), n.literalBrackets === !0) {
|
|
187
|
-
u.output += a, t.value = a;
|
|
188
|
-
continue;
|
|
189
|
-
}
|
|
190
|
-
t.value = `(${S}${a}|${t.value})`, u.output += t.value;
|
|
191
|
-
continue;
|
|
192
|
-
}
|
|
193
|
-
if (e === "{" && n.nobrace !== !0) {
|
|
194
|
-
V("braces");
|
|
195
|
-
const o = {
|
|
196
|
-
type: "brace",
|
|
197
|
-
value: e,
|
|
198
|
-
output: "(",
|
|
199
|
-
outputIndex: u.output.length,
|
|
200
|
-
tokensIndex: u.tokens.length
|
|
201
|
-
};
|
|
202
|
-
L.push(o), s(o);
|
|
203
|
-
continue;
|
|
204
|
-
}
|
|
205
|
-
if (e === "}") {
|
|
206
|
-
const o = L[L.length - 1];
|
|
207
|
-
if (n.nobrace === !0 || !o) {
|
|
208
|
-
s({ type: "text", value: e, output: e });
|
|
209
|
-
continue;
|
|
210
|
-
}
|
|
211
|
-
let a = ")";
|
|
212
|
-
if (o.dots === !0) {
|
|
213
|
-
const i = x.slice(), b = [];
|
|
214
|
-
for (let f = i.length - 1; f >= 0 && (x.pop(), i[f].type !== "brace"); f--)
|
|
215
|
-
i[f].type !== "dots" && b.unshift(i[f].value);
|
|
216
|
-
a = it(b, n), u.backtrack = !0;
|
|
217
|
-
}
|
|
218
|
-
if (o.comma !== !0 && o.dots !== !0) {
|
|
219
|
-
const i = u.output.slice(0, o.outputIndex), b = u.tokens.slice(o.tokensIndex);
|
|
220
|
-
o.value = o.output = "\\{", e = a = "\\}", u.output = i;
|
|
221
|
-
for (const f of b)
|
|
222
|
-
u.output += f.output || f.value;
|
|
223
|
-
}
|
|
224
|
-
s({ type: "brace", value: e, output: a }), C("braces"), L.pop();
|
|
225
|
-
continue;
|
|
226
|
-
}
|
|
227
|
-
if (e === "|") {
|
|
228
|
-
$.length > 0 && $[$.length - 1].conditions++, s({ type: "text", value: e });
|
|
229
|
-
continue;
|
|
230
|
-
}
|
|
231
|
-
if (e === ",") {
|
|
232
|
-
let o = e;
|
|
233
|
-
const a = L[L.length - 1];
|
|
234
|
-
a && F[F.length - 1] === "braces" && (a.comma = !0, o = "|"), s({ type: "comma", value: e, output: o });
|
|
235
|
-
continue;
|
|
236
|
-
}
|
|
237
|
-
if (e === "/") {
|
|
238
|
-
if (t.type === "dot" && u.index === u.start + 1) {
|
|
239
|
-
u.start = u.index + 1, u.consumed = "", u.output = "", x.pop(), t = y;
|
|
240
|
-
continue;
|
|
241
|
-
}
|
|
242
|
-
s({ type: "slash", value: e, output: A });
|
|
243
|
-
continue;
|
|
244
|
-
}
|
|
245
|
-
if (e === ".") {
|
|
246
|
-
if (u.braces > 0 && t.type === "dot") {
|
|
247
|
-
t.value === "." && (t.output = k);
|
|
248
|
-
const o = L[L.length - 1];
|
|
249
|
-
t.type = "dots", t.output += e, t.value += e, o.dots = !0;
|
|
250
|
-
continue;
|
|
251
|
-
}
|
|
252
|
-
if (u.braces + u.parens === 0 && t.type !== "bos" && t.type !== "slash") {
|
|
253
|
-
s({ type: "text", value: e, output: k });
|
|
254
|
-
continue;
|
|
255
|
-
}
|
|
256
|
-
s({ type: "dot", value: e, output: k });
|
|
257
|
-
continue;
|
|
258
|
-
}
|
|
259
|
-
if (e === "?") {
|
|
260
|
-
if (!(t && t.value === "(") && n.noextglob !== !0 && g() === "(" && g(2) !== "?") {
|
|
261
|
-
z("qmark", e);
|
|
262
|
-
continue;
|
|
263
|
-
}
|
|
264
|
-
if (t && t.type === "paren") {
|
|
265
|
-
const a = g();
|
|
266
|
-
let i = e;
|
|
267
|
-
if (a === "<" && !m.supportsLookbehinds())
|
|
268
|
-
throw new Error("Node.js v10 or higher is required for regex lookbehinds");
|
|
269
|
-
(t.value === "(" && !/[!=<:]/.test(a) || a === "<" && !/<([!=]|\w+>)/.test(I())) && (i = `\\${e}`), s({ type: "text", value: e, output: i });
|
|
270
|
-
continue;
|
|
271
|
-
}
|
|
272
|
-
if (n.dot !== !0 && (t.type === "slash" || t.type === "bos")) {
|
|
273
|
-
s({ type: "qmark", value: e, output: T });
|
|
274
|
-
continue;
|
|
275
|
-
}
|
|
276
|
-
s({ type: "qmark", value: e, output: l });
|
|
277
|
-
continue;
|
|
278
|
-
}
|
|
279
|
-
if (e === "!") {
|
|
280
|
-
if (n.noextglob !== !0 && g() === "(" && (g(2) !== "?" || !/[!=<:]/.test(g(3)))) {
|
|
281
|
-
z("negate", e);
|
|
282
|
-
continue;
|
|
283
|
-
}
|
|
284
|
-
if (n.nonegate !== !0 && u.index === 0) {
|
|
285
|
-
ot();
|
|
286
|
-
continue;
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
if (e === "+") {
|
|
290
|
-
if (n.noextglob !== !0 && g() === "(" && g(2) !== "?") {
|
|
291
|
-
z("plus", e);
|
|
292
|
-
continue;
|
|
293
|
-
}
|
|
294
|
-
if (t && t.value === "(" || n.regex === !1) {
|
|
295
|
-
s({ type: "plus", value: e, output: X });
|
|
296
|
-
continue;
|
|
297
|
-
}
|
|
298
|
-
if (t && (t.type === "bracket" || t.type === "paren" || t.type === "brace") || u.parens > 0) {
|
|
299
|
-
s({ type: "plus", value: e });
|
|
300
|
-
continue;
|
|
301
|
-
}
|
|
302
|
-
s({ type: "plus", value: X });
|
|
303
|
-
continue;
|
|
304
|
-
}
|
|
305
|
-
if (e === "@") {
|
|
306
|
-
if (n.noextglob !== !0 && g() === "(" && g(2) !== "?") {
|
|
307
|
-
s({ type: "at", extglob: !0, value: e, output: "" });
|
|
308
|
-
continue;
|
|
309
|
-
}
|
|
310
|
-
s({ type: "text", value: e });
|
|
311
|
-
continue;
|
|
312
|
-
}
|
|
313
|
-
if (e !== "*") {
|
|
314
|
-
(e === "$" || e === "^") && (e = `\\${e}`);
|
|
315
|
-
const o = pt.exec(I());
|
|
316
|
-
o && (e += o[0], u.index += o[0].length), s({ type: "text", value: e });
|
|
317
|
-
continue;
|
|
318
|
-
}
|
|
319
|
-
if (t && (t.type === "globstar" || t.star === !0)) {
|
|
320
|
-
t.type = "star", t.star = !0, t.value += e, t.output = h, u.backtrack = !0, u.globstar = !0, R(e);
|
|
321
|
-
continue;
|
|
322
|
-
}
|
|
323
|
-
let r = I();
|
|
324
|
-
if (n.noextglob !== !0 && /^\([^?]/.test(r)) {
|
|
325
|
-
z("star", e);
|
|
326
|
-
continue;
|
|
327
|
-
}
|
|
328
|
-
if (t.type === "star") {
|
|
329
|
-
if (n.noglobstar === !0) {
|
|
330
|
-
R(e);
|
|
331
|
-
continue;
|
|
332
|
-
}
|
|
333
|
-
const o = t.prev, a = o.prev, i = o.type === "slash" || o.type === "bos", b = a && (a.type === "star" || a.type === "globstar");
|
|
334
|
-
if (n.bash === !0 && (!i || r[0] && r[0] !== "/")) {
|
|
335
|
-
s({ type: "star", value: e, output: "" });
|
|
336
|
-
continue;
|
|
337
|
-
}
|
|
338
|
-
const f = u.braces > 0 && (o.type === "comma" || o.type === "brace"), tt = $.length && (o.type === "pipe" || o.type === "paren");
|
|
339
|
-
if (!i && o.type !== "paren" && !f && !tt) {
|
|
340
|
-
s({ type: "star", value: e, output: "" });
|
|
341
|
-
continue;
|
|
342
|
-
}
|
|
343
|
-
for (; r.slice(0, 3) === "/**"; ) {
|
|
344
|
-
const J = p[u.index + 4];
|
|
345
|
-
if (J && J !== "/")
|
|
346
|
-
break;
|
|
347
|
-
r = r.slice(3), R("/**", 3);
|
|
348
|
-
}
|
|
349
|
-
if (o.type === "bos" && P()) {
|
|
350
|
-
t.type = "globstar", t.value += e, t.output = v(n), u.output = t.output, u.globstar = !0, R(e);
|
|
351
|
-
continue;
|
|
352
|
-
}
|
|
353
|
-
if (o.type === "slash" && o.prev.type !== "bos" && !b && P()) {
|
|
354
|
-
u.output = u.output.slice(0, -(o.output + t.output).length), o.output = `(?:${o.output}`, t.type = "globstar", t.output = v(n) + (n.strictSlashes ? ")" : "|$)"), t.value += e, u.globstar = !0, u.output += o.output + t.output, R(e);
|
|
355
|
-
continue;
|
|
356
|
-
}
|
|
357
|
-
if (o.type === "slash" && o.prev.type !== "bos" && r[0] === "/") {
|
|
358
|
-
const J = r[1] !== void 0 ? "|$" : "";
|
|
359
|
-
u.output = u.output.slice(0, -(o.output + t.output).length), o.output = `(?:${o.output}`, t.type = "globstar", t.output = `${v(n)}${A}|${A}${J})`, t.value += e, u.output += o.output + t.output, u.globstar = !0, R(e + O()), s({ type: "slash", value: "/", output: "" });
|
|
360
|
-
continue;
|
|
361
|
-
}
|
|
362
|
-
if (o.type === "bos" && r[0] === "/") {
|
|
363
|
-
t.type = "globstar", t.value += e, t.output = `(?:^|${A}|${v(n)}${A})`, u.output = t.output, u.globstar = !0, R(e + O()), s({ type: "slash", value: "/", output: "" });
|
|
364
|
-
continue;
|
|
365
|
-
}
|
|
366
|
-
u.output = u.output.slice(0, -t.output.length), t.type = "globstar", t.output = v(n), t.value += e, u.output += t.output, u.globstar = !0, R(e);
|
|
367
|
-
continue;
|
|
368
|
-
}
|
|
369
|
-
const c = { type: "star", value: e, output: h };
|
|
370
|
-
if (n.bash === !0) {
|
|
371
|
-
c.output = ".*?", (t.type === "bos" || t.type === "slash") && (c.output = _ + c.output), s(c);
|
|
372
|
-
continue;
|
|
373
|
-
}
|
|
374
|
-
if (t && (t.type === "bracket" || t.type === "paren") && n.regex === !0) {
|
|
375
|
-
c.output = e, s(c);
|
|
376
|
-
continue;
|
|
377
|
-
}
|
|
378
|
-
(u.index === u.start || t.type === "slash" || t.type === "dot") && (t.type === "dot" ? (u.output += j, t.output += j) : n.dot === !0 ? (u.output += K, t.output += K) : (u.output += _, t.output += _), g() !== "*" && (u.output += H, t.output += H)), s(c);
|
|
379
|
-
}
|
|
380
|
-
for (; u.brackets > 0; ) {
|
|
381
|
-
if (n.strictBrackets === !0)
|
|
382
|
-
throw new SyntaxError(D("closing", "]"));
|
|
383
|
-
u.output = m.escapeLast(u.output, "["), C("brackets");
|
|
384
|
-
}
|
|
385
|
-
for (; u.parens > 0; ) {
|
|
386
|
-
if (n.strictBrackets === !0)
|
|
387
|
-
throw new SyntaxError(D("closing", ")"));
|
|
388
|
-
u.output = m.escapeLast(u.output, "("), C("parens");
|
|
389
|
-
}
|
|
390
|
-
for (; u.braces > 0; ) {
|
|
391
|
-
if (n.strictBrackets === !0)
|
|
392
|
-
throw new SyntaxError(D("closing", "}"));
|
|
393
|
-
u.output = m.escapeLast(u.output, "{"), C("braces");
|
|
394
|
-
}
|
|
395
|
-
if (n.strictSlashes !== !0 && (t.type === "star" || t.type === "bracket") && s({ type: "maybe_slash", value: "", output: `${A}?` }), u.backtrack === !0) {
|
|
396
|
-
u.output = "";
|
|
397
|
-
for (const r of u.tokens)
|
|
398
|
-
u.output += r.output != null ? r.output : r.value, r.suffix && (u.output += r.suffix);
|
|
399
|
-
}
|
|
400
|
-
return u;
|
|
401
|
-
};
|
|
402
|
-
ut.fastpaths = (p, d) => {
|
|
403
|
-
const n = { ...d }, N = typeof n.maxLength == "number" ? Math.min(Y, n.maxLength) : Y, E = p.length;
|
|
404
|
-
if (E > N)
|
|
405
|
-
throw new SyntaxError(`Input length: ${E}, exceeds maximum allowed length: ${N}`);
|
|
406
|
-
p = et[p] || p;
|
|
407
|
-
const {
|
|
408
|
-
DOT_LITERAL: y,
|
|
409
|
-
SLASH_LITERAL: x,
|
|
410
|
-
ONE_CHAR: S,
|
|
411
|
-
DOTS_SLASH: G,
|
|
412
|
-
NO_DOT: B,
|
|
413
|
-
NO_DOTS: k,
|
|
414
|
-
NO_DOTS_SLASH: X,
|
|
415
|
-
STAR: A,
|
|
416
|
-
START_ANCHOR: H
|
|
417
|
-
} = W.globChars(n.windows), w = n.dot ? k : B, q = n.dot ? X : B, j = n.capture ? "" : "?:", K = { negated: !1, prefix: "" };
|
|
418
|
-
let l = n.bash === !0 ? ".*?" : A;
|
|
419
|
-
n.capture && (l = `(${l})`);
|
|
420
|
-
const T = (_) => _.noglobstar === !0 ? l : `(${j}(?:(?!${H}${_.dot ? G : y}).)*?)`, Q = (_) => {
|
|
421
|
-
switch (_) {
|
|
422
|
-
case "*":
|
|
423
|
-
return `${w}${S}${l}`;
|
|
424
|
-
case ".*":
|
|
425
|
-
return `${y}${S}${l}`;
|
|
426
|
-
case "*.*":
|
|
427
|
-
return `${w}${l}${y}${S}${l}`;
|
|
428
|
-
case "*/*":
|
|
429
|
-
return `${w}${l}${x}${S}${q}${l}`;
|
|
430
|
-
case "**":
|
|
431
|
-
return w + T(n);
|
|
432
|
-
case "**/*":
|
|
433
|
-
return `(?:${w}${T(n)}${x})?${q}${S}${l}`;
|
|
434
|
-
case "**/*.*":
|
|
435
|
-
return `(?:${w}${T(n)}${x})?${q}${l}${y}${S}${l}`;
|
|
436
|
-
case "**/.*":
|
|
437
|
-
return `(?:${w}${T(n)}${x})?${y}${S}${l}`;
|
|
438
|
-
default: {
|
|
439
|
-
const M = /^(.*?)\.(\w+)$/.exec(_);
|
|
440
|
-
if (!M)
|
|
441
|
-
return;
|
|
442
|
-
const h = Q(M[1]);
|
|
443
|
-
return h ? h + y + M[2] : void 0;
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
|
-
}, Z = m.removePrefix(p, K);
|
|
447
|
-
let v = Q(Z);
|
|
448
|
-
return v && n.strictSlashes !== !0 && (v += `${x}?`), v;
|
|
449
|
-
};
|
|
450
|
-
var bt = ut;
|
|
451
|
-
export {
|
|
452
|
-
bt as p
|
|
453
|
-
};
|
|
454
|
-
//# sourceMappingURL=parse.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sources":["../../../../node_modules/picomatch-browser/lib/parse.js"],"sourcesContent":["'use strict';\n\nconst constants = require('./constants');\nconst utils = require('./utils');\n\n/**\n * Constants\n */\n\nconst {\n MAX_LENGTH,\n POSIX_REGEX_SOURCE,\n REGEX_NON_SPECIAL_CHARS,\n REGEX_SPECIAL_CHARS_BACKREF,\n REPLACEMENTS\n} = constants;\n\n/**\n * Helpers\n */\n\nconst expandRange = (args, options) => {\n if (typeof options.expandRange === 'function') {\n return options.expandRange(...args, options);\n }\n\n args.sort();\n const value = `[${args.join('-')}]`;\n\n try {\n /* eslint-disable-next-line no-new */\n new RegExp(value);\n } catch (ex) {\n return args.map(v => utils.escapeRegex(v)).join('..');\n }\n\n return value;\n};\n\n/**\n * Create the message for a syntax error\n */\n\nconst syntaxError = (type, char) => {\n return `Missing ${type}: \"${char}\" - use \"\\\\\\\\${char}\" to match literal characters`;\n};\n\n/**\n * Parse the given input string.\n * @param {String} input\n * @param {Object} options\n * @return {Object}\n */\n\nconst parse = (input, options) => {\n if (typeof input !== 'string') {\n throw new TypeError('Expected a string');\n }\n\n input = REPLACEMENTS[input] || input;\n\n const opts = { ...options };\n const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;\n\n let len = input.length;\n if (len > max) {\n throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);\n }\n\n const bos = { type: 'bos', value: '', output: opts.prepend || '' };\n const tokens = [bos];\n\n const capture = opts.capture ? '' : '?:';\n\n // create constants based on platform, for windows or posix\n const PLATFORM_CHARS = constants.globChars(opts.windows);\n const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS);\n\n const {\n DOT_LITERAL,\n PLUS_LITERAL,\n SLASH_LITERAL,\n ONE_CHAR,\n DOTS_SLASH,\n NO_DOT,\n NO_DOT_SLASH,\n NO_DOTS_SLASH,\n QMARK,\n QMARK_NO_DOT,\n STAR,\n START_ANCHOR\n } = PLATFORM_CHARS;\n\n const globstar = (opts) => {\n return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;\n };\n\n const nodot = opts.dot ? '' : NO_DOT;\n const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;\n let star = opts.bash === true ? globstar(opts) : STAR;\n\n if (opts.capture) {\n star = `(${star})`;\n }\n\n // minimatch options support\n if (typeof opts.noext === 'boolean') {\n opts.noextglob = opts.noext;\n }\n\n const state = {\n input,\n index: -1,\n start: 0,\n dot: opts.dot === true,\n consumed: '',\n output: '',\n prefix: '',\n backtrack: false,\n negated: false,\n brackets: 0,\n braces: 0,\n parens: 0,\n quotes: 0,\n globstar: false,\n tokens\n };\n\n input = utils.removePrefix(input, state);\n len = input.length;\n\n const extglobs = [];\n const braces = [];\n const stack = [];\n let prev = bos;\n let value;\n\n /**\n * Tokenizing helpers\n */\n\n const eos = () => state.index === len - 1;\n const peek = state.peek = (n = 1) => input[state.index + n];\n const advance = state.advance = () => input[++state.index];\n const remaining = () => input.slice(state.index + 1);\n const consume = (value = '', num = 0) => {\n state.consumed += value;\n state.index += num;\n };\n const append = token => {\n state.output += token.output != null ? token.output : token.value;\n consume(token.value);\n };\n\n const negate = () => {\n let count = 1;\n\n while (peek() === '!' && (peek(2) !== '(' || peek(3) === '?')) {\n advance();\n state.start++;\n count++;\n }\n\n if (count % 2 === 0) {\n return false;\n }\n\n state.negated = true;\n state.start++;\n return true;\n };\n\n const increment = type => {\n state[type]++;\n stack.push(type);\n };\n\n const decrement = type => {\n state[type]--;\n stack.pop();\n };\n\n /**\n * Push tokens onto the tokens array. This helper speeds up\n * tokenizing by 1) helping us avoid backtracking as much as possible,\n * and 2) helping us avoid creating extra tokens when consecutive\n * characters are plain text. This improves performance and simplifies\n * lookbehinds.\n */\n\n const push = tok => {\n if (prev.type === 'globstar') {\n const isBrace = state.braces > 0 && (tok.type === 'comma' || tok.type === 'brace');\n const isExtglob = tok.extglob === true || (extglobs.length && (tok.type === 'pipe' || tok.type === 'paren'));\n\n if (tok.type !== 'slash' && tok.type !== 'paren' && !isBrace && !isExtglob) {\n state.output = state.output.slice(0, -prev.output.length);\n prev.type = 'star';\n prev.value = '*';\n prev.output = star;\n state.output += prev.output;\n }\n }\n\n if (extglobs.length && tok.type !== 'paren' && !EXTGLOB_CHARS[tok.value]) {\n extglobs[extglobs.length - 1].inner += tok.value;\n }\n\n if (tok.value || tok.output) append(tok);\n if (prev && prev.type === 'text' && tok.type === 'text') {\n prev.value += tok.value;\n prev.output = (prev.output || '') + tok.value;\n return;\n }\n\n tok.prev = prev;\n tokens.push(tok);\n prev = tok;\n };\n\n const extglobOpen = (type, value) => {\n const token = { ...EXTGLOB_CHARS[value], conditions: 1, inner: '' };\n\n token.prev = prev;\n token.parens = state.parens;\n token.output = state.output;\n const output = (opts.capture ? '(' : '') + token.open;\n\n increment('parens');\n push({ type, value, output: state.output ? '' : ONE_CHAR });\n push({ type: 'paren', extglob: true, value: advance(), output });\n extglobs.push(token);\n };\n\n const extglobClose = token => {\n let output = token.close + (opts.capture ? ')' : '');\n\n if (token.type === 'negate') {\n let extglobStar = star;\n\n if (token.inner && token.inner.length > 1 && token.inner.includes('/')) {\n extglobStar = globstar(opts);\n }\n\n if (extglobStar !== star || eos() || /^\\)+$/.test(remaining())) {\n output = token.close = `)$))${extglobStar}`;\n }\n\n if (token.prev.type === 'bos' && eos()) {\n state.negatedExtglob = true;\n }\n }\n\n push({ type: 'paren', extglob: true, value, output });\n decrement('parens');\n };\n\n /**\n * Fast paths\n */\n\n if (opts.fastpaths !== false && !/(^[*!]|[/()[\\]{}\"])/.test(input)) {\n let backslashes = false;\n\n let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => {\n if (first === '\\\\') {\n backslashes = true;\n return m;\n }\n\n if (first === '?') {\n if (esc) {\n return esc + first + (rest ? QMARK.repeat(rest.length) : '');\n }\n if (index === 0) {\n return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : '');\n }\n return QMARK.repeat(chars.length);\n }\n\n if (first === '.') {\n return DOT_LITERAL.repeat(chars.length);\n }\n\n if (first === '*') {\n if (esc) {\n return esc + first + (rest ? star : '');\n }\n return star;\n }\n return esc ? m : `\\\\${m}`;\n });\n\n if (backslashes === true) {\n if (opts.unescape === true) {\n output = output.replace(/\\\\/g, '');\n } else {\n output = output.replace(/\\\\+/g, m => {\n return m.length % 2 === 0 ? '\\\\\\\\' : (m ? '\\\\' : '');\n });\n }\n }\n\n if (output === input && opts.contains === true) {\n state.output = input;\n return state;\n }\n\n state.output = utils.wrapOutput(output, state, options);\n return state;\n }\n\n /**\n * Tokenize input until we reach end-of-string\n */\n\n while (!eos()) {\n value = advance();\n\n if (value === '\\u0000') {\n continue;\n }\n\n /**\n * Escaped characters\n */\n\n if (value === '\\\\') {\n const next = peek();\n\n if (next === '/' && opts.bash !== true) {\n continue;\n }\n\n if (next === '.' || next === ';') {\n continue;\n }\n\n if (!next) {\n value += '\\\\';\n push({ type: 'text', value });\n continue;\n }\n\n // collapse slashes to reduce potential for exploits\n const match = /^\\\\+/.exec(remaining());\n let slashes = 0;\n\n if (match && match[0].length > 2) {\n slashes = match[0].length;\n state.index += slashes;\n if (slashes % 2 !== 0) {\n value += '\\\\';\n }\n }\n\n if (opts.unescape === true) {\n value = advance() || '';\n } else {\n value += advance() || '';\n }\n\n if (state.brackets === 0) {\n push({ type: 'text', value });\n continue;\n }\n }\n\n /**\n * If we're inside a regex character class, continue\n * until we reach the closing bracket.\n */\n\n if (state.brackets > 0 && (value !== ']' || prev.value === '[' || prev.value === '[^')) {\n if (opts.posix !== false && value === ':') {\n const inner = prev.value.slice(1);\n if (inner.includes('[')) {\n prev.posix = true;\n\n if (inner.includes(':')) {\n const idx = prev.value.lastIndexOf('[');\n const pre = prev.value.slice(0, idx);\n const rest = prev.value.slice(idx + 2);\n const posix = POSIX_REGEX_SOURCE[rest];\n if (posix) {\n prev.value = pre + posix;\n state.backtrack = true;\n advance();\n\n if (!bos.output && tokens.indexOf(prev) === 1) {\n bos.output = ONE_CHAR;\n }\n continue;\n }\n }\n }\n }\n\n if ((value === '[' && peek() !== ':') || (value === '-' && peek() === ']')) {\n value = `\\\\${value}`;\n }\n\n if (value === ']' && (prev.value === '[' || prev.value === '[^')) {\n value = `\\\\${value}`;\n }\n\n if (opts.posix === true && value === '!' && prev.value === '[') {\n value = '^';\n }\n\n prev.value += value;\n append({ value });\n continue;\n }\n\n /**\n * If we're inside a quoted string, continue\n * until we reach the closing double quote.\n */\n\n if (state.quotes === 1 && value !== '\"') {\n value = utils.escapeRegex(value);\n prev.value += value;\n append({ value });\n continue;\n }\n\n /**\n * Double quotes\n */\n\n if (value === '\"') {\n state.quotes = state.quotes === 1 ? 0 : 1;\n if (opts.keepQuotes === true) {\n push({ type: 'text', value });\n }\n continue;\n }\n\n /**\n * Parentheses\n */\n\n if (value === '(') {\n increment('parens');\n push({ type: 'paren', value });\n continue;\n }\n\n if (value === ')') {\n if (state.parens === 0 && opts.strictBrackets === true) {\n throw new SyntaxError(syntaxError('opening', '('));\n }\n\n const extglob = extglobs[extglobs.length - 1];\n if (extglob && state.parens === extglob.parens + 1) {\n extglobClose(extglobs.pop());\n continue;\n }\n\n push({ type: 'paren', value, output: state.parens ? ')' : '\\\\)' });\n decrement('parens');\n continue;\n }\n\n /**\n * Square brackets\n */\n\n if (value === '[') {\n if (opts.nobracket === true || !remaining().includes(']')) {\n if (opts.nobracket !== true && opts.strictBrackets === true) {\n throw new SyntaxError(syntaxError('closing', ']'));\n }\n\n value = `\\\\${value}`;\n } else {\n increment('brackets');\n }\n\n push({ type: 'bracket', value });\n continue;\n }\n\n if (value === ']') {\n if (opts.nobracket === true || (prev && prev.type === 'bracket' && prev.value.length === 1)) {\n push({ type: 'text', value, output: `\\\\${value}` });\n continue;\n }\n\n if (state.brackets === 0) {\n if (opts.strictBrackets === true) {\n throw new SyntaxError(syntaxError('opening', '['));\n }\n\n push({ type: 'text', value, output: `\\\\${value}` });\n continue;\n }\n\n decrement('brackets');\n\n const prevValue = prev.value.slice(1);\n if (prev.posix !== true && prevValue[0] === '^' && !prevValue.includes('/')) {\n value = `/${value}`;\n }\n\n prev.value += value;\n append({ value });\n\n // when literal brackets are explicitly disabled\n // assume we should match with a regex character class\n if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) {\n continue;\n }\n\n const escaped = utils.escapeRegex(prev.value);\n state.output = state.output.slice(0, -prev.value.length);\n\n // when literal brackets are explicitly enabled\n // assume we should escape the brackets to match literal characters\n if (opts.literalBrackets === true) {\n state.output += escaped;\n prev.value = escaped;\n continue;\n }\n\n // when the user specifies nothing, try to match both\n prev.value = `(${capture}${escaped}|${prev.value})`;\n state.output += prev.value;\n continue;\n }\n\n /**\n * Braces\n */\n\n if (value === '{' && opts.nobrace !== true) {\n increment('braces');\n\n const open = {\n type: 'brace',\n value,\n output: '(',\n outputIndex: state.output.length,\n tokensIndex: state.tokens.length\n };\n\n braces.push(open);\n push(open);\n continue;\n }\n\n if (value === '}') {\n const brace = braces[braces.length - 1];\n\n if (opts.nobrace === true || !brace) {\n push({ type: 'text', value, output: value });\n continue;\n }\n\n let output = ')';\n\n if (brace.dots === true) {\n const arr = tokens.slice();\n const range = [];\n\n for (let i = arr.length - 1; i >= 0; i--) {\n tokens.pop();\n if (arr[i].type === 'brace') {\n break;\n }\n if (arr[i].type !== 'dots') {\n range.unshift(arr[i].value);\n }\n }\n\n output = expandRange(range, opts);\n state.backtrack = true;\n }\n\n if (brace.comma !== true && brace.dots !== true) {\n const out = state.output.slice(0, brace.outputIndex);\n const toks = state.tokens.slice(brace.tokensIndex);\n brace.value = brace.output = '\\\\{';\n value = output = '\\\\}';\n state.output = out;\n for (const t of toks) {\n state.output += (t.output || t.value);\n }\n }\n\n push({ type: 'brace', value, output });\n decrement('braces');\n braces.pop();\n continue;\n }\n\n /**\n * Pipes\n */\n\n if (value === '|') {\n if (extglobs.length > 0) {\n extglobs[extglobs.length - 1].conditions++;\n }\n push({ type: 'text', value });\n continue;\n }\n\n /**\n * Commas\n */\n\n if (value === ',') {\n let output = value;\n\n const brace = braces[braces.length - 1];\n if (brace && stack[stack.length - 1] === 'braces') {\n brace.comma = true;\n output = '|';\n }\n\n push({ type: 'comma', value, output });\n continue;\n }\n\n /**\n * Slashes\n */\n\n if (value === '/') {\n // if the beginning of the glob is \"./\", advance the start\n // to the current index, and don't add the \"./\" characters\n // to the state. This greatly simplifies lookbehinds when\n // checking for BOS characters like \"!\" and \".\" (not \"./\")\n if (prev.type === 'dot' && state.index === state.start + 1) {\n state.start = state.index + 1;\n state.consumed = '';\n state.output = '';\n tokens.pop();\n prev = bos; // reset \"prev\" to the first token\n continue;\n }\n\n push({ type: 'slash', value, output: SLASH_LITERAL });\n continue;\n }\n\n /**\n * Dots\n */\n\n if (value === '.') {\n if (state.braces > 0 && prev.type === 'dot') {\n if (prev.value === '.') prev.output = DOT_LITERAL;\n const brace = braces[braces.length - 1];\n prev.type = 'dots';\n prev.output += value;\n prev.value += value;\n brace.dots = true;\n continue;\n }\n\n if ((state.braces + state.parens) === 0 && prev.type !== 'bos' && prev.type !== 'slash') {\n push({ type: 'text', value, output: DOT_LITERAL });\n continue;\n }\n\n push({ type: 'dot', value, output: DOT_LITERAL });\n continue;\n }\n\n /**\n * Question marks\n */\n\n if (value === '?') {\n const isGroup = prev && prev.value === '(';\n if (!isGroup && opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {\n extglobOpen('qmark', value);\n continue;\n }\n\n if (prev && prev.type === 'paren') {\n const next = peek();\n let output = value;\n\n if (next === '<' && !utils.supportsLookbehinds()) {\n throw new Error('Node.js v10 or higher is required for regex lookbehinds');\n }\n\n if ((prev.value === '(' && !/[!=<:]/.test(next)) || (next === '<' && !/<([!=]|\\w+>)/.test(remaining()))) {\n output = `\\\\${value}`;\n }\n\n push({ type: 'text', value, output });\n continue;\n }\n\n if (opts.dot !== true && (prev.type === 'slash' || prev.type === 'bos')) {\n push({ type: 'qmark', value, output: QMARK_NO_DOT });\n continue;\n }\n\n push({ type: 'qmark', value, output: QMARK });\n continue;\n }\n\n /**\n * Exclamation\n */\n\n if (value === '!') {\n if (opts.noextglob !== true && peek() === '(') {\n if (peek(2) !== '?' || !/[!=<:]/.test(peek(3))) {\n extglobOpen('negate', value);\n continue;\n }\n }\n\n if (opts.nonegate !== true && state.index === 0) {\n negate();\n continue;\n }\n }\n\n /**\n * Plus\n */\n\n if (value === '+') {\n if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {\n extglobOpen('plus', value);\n continue;\n }\n\n if ((prev && prev.value === '(') || opts.regex === false) {\n push({ type: 'plus', value, output: PLUS_LITERAL });\n continue;\n }\n\n if ((prev && (prev.type === 'bracket' || prev.type === 'paren' || prev.type === 'brace')) || state.parens > 0) {\n push({ type: 'plus', value });\n continue;\n }\n\n push({ type: 'plus', value: PLUS_LITERAL });\n continue;\n }\n\n /**\n * Plain text\n */\n\n if (value === '@') {\n if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {\n push({ type: 'at', extglob: true, value, output: '' });\n continue;\n }\n\n push({ type: 'text', value });\n continue;\n }\n\n /**\n * Plain text\n */\n\n if (value !== '*') {\n if (value === '$' || value === '^') {\n value = `\\\\${value}`;\n }\n\n const match = REGEX_NON_SPECIAL_CHARS.exec(remaining());\n if (match) {\n value += match[0];\n state.index += match[0].length;\n }\n\n push({ type: 'text', value });\n continue;\n }\n\n /**\n * Stars\n */\n\n if (prev && (prev.type === 'globstar' || prev.star === true)) {\n prev.type = 'star';\n prev.star = true;\n prev.value += value;\n prev.output = star;\n state.backtrack = true;\n state.globstar = true;\n consume(value);\n continue;\n }\n\n let rest = remaining();\n if (opts.noextglob !== true && /^\\([^?]/.test(rest)) {\n extglobOpen('star', value);\n continue;\n }\n\n if (prev.type === 'star') {\n if (opts.noglobstar === true) {\n consume(value);\n continue;\n }\n\n const prior = prev.prev;\n const before = prior.prev;\n const isStart = prior.type === 'slash' || prior.type === 'bos';\n const afterStar = before && (before.type === 'star' || before.type === 'globstar');\n\n if (opts.bash === true && (!isStart || (rest[0] && rest[0] !== '/'))) {\n push({ type: 'star', value, output: '' });\n continue;\n }\n\n const isBrace = state.braces > 0 && (prior.type === 'comma' || prior.type === 'brace');\n const isExtglob = extglobs.length && (prior.type === 'pipe' || prior.type === 'paren');\n if (!isStart && prior.type !== 'paren' && !isBrace && !isExtglob) {\n push({ type: 'star', value, output: '' });\n continue;\n }\n\n // strip consecutive `/**/`\n while (rest.slice(0, 3) === '/**') {\n const after = input[state.index + 4];\n if (after && after !== '/') {\n break;\n }\n rest = rest.slice(3);\n consume('/**', 3);\n }\n\n if (prior.type === 'bos' && eos()) {\n prev.type = 'globstar';\n prev.value += value;\n prev.output = globstar(opts);\n state.output = prev.output;\n state.globstar = true;\n consume(value);\n continue;\n }\n\n if (prior.type === 'slash' && prior.prev.type !== 'bos' && !afterStar && eos()) {\n state.output = state.output.slice(0, -(prior.output + prev.output).length);\n prior.output = `(?:${prior.output}`;\n\n prev.type = 'globstar';\n prev.output = globstar(opts) + (opts.strictSlashes ? ')' : '|$)');\n prev.value += value;\n state.globstar = true;\n state.output += prior.output + prev.output;\n consume(value);\n continue;\n }\n\n if (prior.type === 'slash' && prior.prev.type !== 'bos' && rest[0] === '/') {\n const end = rest[1] !== void 0 ? '|$' : '';\n\n state.output = state.output.slice(0, -(prior.output + prev.output).length);\n prior.output = `(?:${prior.output}`;\n\n prev.type = 'globstar';\n prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;\n prev.value += value;\n\n state.output += prior.output + prev.output;\n state.globstar = true;\n\n consume(value + advance());\n\n push({ type: 'slash', value: '/', output: '' });\n continue;\n }\n\n if (prior.type === 'bos' && rest[0] === '/') {\n prev.type = 'globstar';\n prev.value += value;\n prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`;\n state.output = prev.output;\n state.globstar = true;\n consume(value + advance());\n push({ type: 'slash', value: '/', output: '' });\n continue;\n }\n\n // remove single star from output\n state.output = state.output.slice(0, -prev.output.length);\n\n // reset previous token to globstar\n prev.type = 'globstar';\n prev.output = globstar(opts);\n prev.value += value;\n\n // reset output with globstar\n state.output += prev.output;\n state.globstar = true;\n consume(value);\n continue;\n }\n\n const token = { type: 'star', value, output: star };\n\n if (opts.bash === true) {\n token.output = '.*?';\n if (prev.type === 'bos' || prev.type === 'slash') {\n token.output = nodot + token.output;\n }\n push(token);\n continue;\n }\n\n if (prev && (prev.type === 'bracket' || prev.type === 'paren') && opts.regex === true) {\n token.output = value;\n push(token);\n continue;\n }\n\n if (state.index === state.start || prev.type === 'slash' || prev.type === 'dot') {\n if (prev.type === 'dot') {\n state.output += NO_DOT_SLASH;\n prev.output += NO_DOT_SLASH;\n\n } else if (opts.dot === true) {\n state.output += NO_DOTS_SLASH;\n prev.output += NO_DOTS_SLASH;\n\n } else {\n state.output += nodot;\n prev.output += nodot;\n }\n\n if (peek() !== '*') {\n state.output += ONE_CHAR;\n prev.output += ONE_CHAR;\n }\n }\n\n push(token);\n }\n\n while (state.brackets > 0) {\n if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ']'));\n state.output = utils.escapeLast(state.output, '[');\n decrement('brackets');\n }\n\n while (state.parens > 0) {\n if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ')'));\n state.output = utils.escapeLast(state.output, '(');\n decrement('parens');\n }\n\n while (state.braces > 0) {\n if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', '}'));\n state.output = utils.escapeLast(state.output, '{');\n decrement('braces');\n }\n\n if (opts.strictSlashes !== true && (prev.type === 'star' || prev.type === 'bracket')) {\n push({ type: 'maybe_slash', value: '', output: `${SLASH_LITERAL}?` });\n }\n\n // rebuild the output if we had to backtrack at any point\n if (state.backtrack === true) {\n state.output = '';\n\n for (const token of state.tokens) {\n state.output += token.output != null ? token.output : token.value;\n\n if (token.suffix) {\n state.output += token.suffix;\n }\n }\n }\n\n return state;\n};\n\n/**\n * Fast paths for creating regular expressions for common glob patterns.\n * This can significantly speed up processing and has very little downside\n * impact when none of the fast paths match.\n */\n\nparse.fastpaths = (input, options) => {\n const opts = { ...options };\n const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;\n const len = input.length;\n if (len > max) {\n throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);\n }\n\n input = REPLACEMENTS[input] || input;\n\n // create constants based on platform, for windows or posix\n const {\n DOT_LITERAL,\n SLASH_LITERAL,\n ONE_CHAR,\n DOTS_SLASH,\n NO_DOT,\n NO_DOTS,\n NO_DOTS_SLASH,\n STAR,\n START_ANCHOR\n } = constants.globChars(opts.windows);\n\n const nodot = opts.dot ? NO_DOTS : NO_DOT;\n const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT;\n const capture = opts.capture ? '' : '?:';\n const state = { negated: false, prefix: '' };\n let star = opts.bash === true ? '.*?' : STAR;\n\n if (opts.capture) {\n star = `(${star})`;\n }\n\n const globstar = (opts) => {\n if (opts.noglobstar === true) return star;\n return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;\n };\n\n const create = str => {\n switch (str) {\n case '*':\n return `${nodot}${ONE_CHAR}${star}`;\n\n case '.*':\n return `${DOT_LITERAL}${ONE_CHAR}${star}`;\n\n case '*.*':\n return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;\n\n case '*/*':\n return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;\n\n case '**':\n return nodot + globstar(opts);\n\n case '**/*':\n return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;\n\n case '**/*.*':\n return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;\n\n case '**/.*':\n return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;\n\n default: {\n const match = /^(.*?)\\.(\\w+)$/.exec(str);\n if (!match) return;\n\n const source = create(match[1]);\n if (!source) return;\n\n return source + DOT_LITERAL + match[2];\n }\n }\n };\n\n const output = utils.removePrefix(input, state);\n let source = create(output);\n\n if (source && opts.strictSlashes !== true) {\n source += `${SLASH_LITERAL}?`;\n }\n\n return source;\n};\n\nmodule.exports = parse;\n"],"names":["constants","require$$0","utils","require$$1","MAX_LENGTH","POSIX_REGEX_SOURCE","REGEX_NON_SPECIAL_CHARS","REGEX_SPECIAL_CHARS_BACKREF","REPLACEMENTS","expandRange","args","options","value","v","syntaxError","type","char","parse","input","opts","max","len","bos","tokens","capture","PLATFORM_CHARS","EXTGLOB_CHARS","DOT_LITERAL","PLUS_LITERAL","SLASH_LITERAL","ONE_CHAR","DOTS_SLASH","NO_DOT","NO_DOT_SLASH","NO_DOTS_SLASH","QMARK","QMARK_NO_DOT","STAR","START_ANCHOR","globstar","nodot","qmarkNoDot","star","state","extglobs","braces","stack","prev","eos","peek","n","advance","remaining","consume","num","append","token","negate","count","increment","decrement","push","tok","isBrace","isExtglob","extglobOpen","output","extglobClose","extglobStar","backslashes","m","esc","chars","first","rest","index","next","match","slashes","inner","idx","pre","posix","extglob","prevValue","escaped","open","brace","arr","range","i","out","toks","t","prior","before","isStart","afterStar","after","end","NO_DOTS","slashDot","create","str","source","parse_1"],"mappings":";;;AAEA,MAAMA,IAAYC,IACZC,IAAQC,IAMR;AAAA,EACJ,YAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,6BAAAC;AAAA,EACA,cAAAC;AACF,IAAIR,GAMES,KAAc,CAACC,GAAMC,MAAY;AACrC,MAAI,OAAOA,EAAQ,eAAgB;AACjC,WAAOA,EAAQ,YAAY,GAAGD,GAAMC,CAAO;AAG7C,EAAAD,EAAK,KAAI;AACT,QAAME,IAAQ,IAAIF,EAAK,KAAK,GAAG,CAAC;AAEhC,MAAI;AAEF,QAAI,OAAOE,CAAK;AAAA,EACjB,QAAY;AACX,WAAOF,EAAK,IAAI,CAAAG,MAAKX,EAAM,YAAYW,CAAC,CAAC,EAAE,KAAK,IAAI;AAAA,EACrD;AAED,SAAOD;AACT,GAMME,IAAc,CAACC,GAAMC,MAClB,WAAWD,CAAI,MAAMC,CAAI,gBAAgBA,CAAI,iCAUhDC,KAAQ,CAACC,GAAOP,MAAY;AAChC,MAAI,OAAOO,KAAU;AACnB,UAAM,IAAI,UAAU,mBAAmB;AAGzC,EAAAA,IAAQV,GAAaU,CAAK,KAAKA;AAE/B,QAAMC,IAAO,EAAE,GAAGR,KACZS,IAAM,OAAOD,EAAK,aAAc,WAAW,KAAK,IAAIf,GAAYe,EAAK,SAAS,IAAIf;AAExF,MAAIiB,IAAMH,EAAM;AAChB,MAAIG,IAAMD;AACR,UAAM,IAAI,YAAY,iBAAiBC,CAAG,qCAAqCD,CAAG,EAAE;AAGtF,QAAME,IAAM,EAAE,MAAM,OAAO,OAAO,IAAI,QAAQH,EAAK,WAAW,MACxDI,IAAS,CAACD,CAAG,GAEbE,IAAUL,EAAK,UAAU,KAAK,MAG9BM,IAAiBzB,EAAU,UAAUmB,EAAK,OAAO,GACjDO,IAAgB1B,EAAU,aAAayB,CAAc,GAErD;AAAA,IACJ,aAAAE;AAAA,IACA,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,QAAAC;AAAA,IACA,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,OAAAC;AAAA,IACA,cAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAAC;AAAA,EACD,IAAGb,GAEEc,IAAW,CAACpB,MACT,IAAIK,CAAO,SAASc,CAAY,GAAGnB,EAAK,MAAMY,IAAaJ,CAAW,UAGzEa,IAAQrB,EAAK,MAAM,KAAKa,GACxBS,IAAatB,EAAK,MAAMgB,IAAQC;AACtC,MAAIM,IAAOvB,EAAK,SAAS,KAAOoB,EAASpB,CAAI,IAAIkB;AAEjD,EAAIlB,EAAK,YACPuB,IAAO,IAAIA,CAAI,MAIb,OAAOvB,EAAK,SAAU,cACxBA,EAAK,YAAYA,EAAK;AAGxB,QAAMwB,IAAQ;AAAA,IACZ,OAAAzB;AAAA,IACA,OAAO;AAAA,IACP,OAAO;AAAA,IACP,KAAKC,EAAK,QAAQ;AAAA,IAClB,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,SAAS;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,QAAAI;AAAA,EACJ;AAEE,EAAAL,IAAQhB,EAAM,aAAagB,GAAOyB,CAAK,GACvCtB,IAAMH,EAAM;AAEZ,QAAM0B,IAAW,CAAA,GACXC,IAAS,CAAA,GACTC,IAAQ,CAAA;AACd,MAAIC,IAAOzB,GACPV;AAMJ,QAAMoC,IAAM,MAAML,EAAM,UAAUtB,IAAM,GAClC4B,IAAON,EAAM,OAAO,CAACO,IAAI,MAAMhC,EAAMyB,EAAM,QAAQO,CAAC,GACpDC,IAAUR,EAAM,UAAU,MAAMzB,EAAM,EAAEyB,EAAM,KAAK,GACnDS,IAAY,MAAMlC,EAAM,MAAMyB,EAAM,QAAQ,CAAC,GAC7CU,IAAU,CAACzC,IAAQ,IAAI0C,IAAM,MAAM;AACvC,IAAAX,EAAM,YAAY/B,GAClB+B,EAAM,SAASW;AAAA,EACnB,GACQC,IAAS,CAAAC,MAAS;AACtB,IAAAb,EAAM,UAAUa,EAAM,UAAU,OAAOA,EAAM,SAASA,EAAM,OAC5DH,EAAQG,EAAM,KAAK;AAAA,EACvB,GAEQC,KAAS,MAAM;AACnB,QAAIC,IAAQ;AAEZ,WAAOT,EAAM,MAAK,QAAQA,EAAK,CAAC,MAAM,OAAOA,EAAK,CAAC,MAAM;AACvD,MAAAE,KACAR,EAAM,SACNe;AAGF,WAAIA,IAAQ,MAAM,IACT,MAGTf,EAAM,UAAU,IAChBA,EAAM,SACC;AAAA,EACX,GAEQgB,IAAY,CAAA5C,MAAQ;AACxB,IAAA4B,EAAM5B,CAAI,KACV+B,EAAM,KAAK/B,CAAI;AAAA,EACnB,GAEQ6C,IAAY,CAAA7C,MAAQ;AACxB,IAAA4B,EAAM5B,CAAI,KACV+B,EAAM,IAAG;AAAA,EACb,GAUQe,IAAO,CAAAC,MAAO;AAClB,QAAIf,EAAK,SAAS,YAAY;AAC5B,YAAMgB,IAAUpB,EAAM,SAAS,MAAMmB,EAAI,SAAS,WAAWA,EAAI,SAAS,UACpEE,IAAYF,EAAI,YAAY,MAASlB,EAAS,WAAWkB,EAAI,SAAS,UAAUA,EAAI,SAAS;AAEnG,MAAIA,EAAI,SAAS,WAAWA,EAAI,SAAS,WAAW,CAACC,KAAW,CAACC,MAC/DrB,EAAM,SAASA,EAAM,OAAO,MAAM,GAAG,CAACI,EAAK,OAAO,MAAM,GACxDA,EAAK,OAAO,QACZA,EAAK,QAAQ,KACbA,EAAK,SAASL,GACdC,EAAM,UAAUI,EAAK;AAAA,IAExB;AAOD,QALIH,EAAS,UAAUkB,EAAI,SAAS,WAAW,CAACpC,EAAcoC,EAAI,KAAK,MACrElB,EAASA,EAAS,SAAS,CAAC,EAAE,SAASkB,EAAI,SAGzCA,EAAI,SAASA,EAAI,WAAQP,EAAOO,CAAG,GACnCf,KAAQA,EAAK,SAAS,UAAUe,EAAI,SAAS,QAAQ;AACvD,MAAAf,EAAK,SAASe,EAAI,OAClBf,EAAK,UAAUA,EAAK,UAAU,MAAMe,EAAI;AACxC;AAAA,IACD;AAED,IAAAA,EAAI,OAAOf,GACXxB,EAAO,KAAKuC,CAAG,GACff,IAAOe;AAAA,EACX,GAEQG,IAAc,CAAClD,GAAMH,MAAU;AACnC,UAAM4C,IAAQ,EAAE,GAAG9B,EAAcd,CAAK,GAAG,YAAY,GAAG,OAAO;AAE/D,IAAA4C,EAAM,OAAOT,GACbS,EAAM,SAASb,EAAM,QACrBa,EAAM,SAASb,EAAM;AACrB,UAAMuB,KAAU/C,EAAK,UAAU,MAAM,MAAMqC,EAAM;AAEjD,IAAAG,EAAU,QAAQ,GAClBE,EAAK,EAAE,MAAA9C,GAAM,OAAAH,GAAO,QAAQ+B,EAAM,SAAS,KAAKb,EAAQ,CAAE,GAC1D+B,EAAK,EAAE,MAAM,SAAS,SAAS,IAAM,OAAOV,EAAO,GAAI,QAAAe,EAAM,CAAE,GAC/DtB,EAAS,KAAKY,CAAK;AAAA,EACvB,GAEQW,KAAe,CAAAX,MAAS;AAC5B,QAAIU,IAASV,EAAM,SAASrC,EAAK,UAAU,MAAM;AAEjD,QAAIqC,EAAM,SAAS,UAAU;AAC3B,UAAIY,IAAc1B;AAElB,MAAIc,EAAM,SAASA,EAAM,MAAM,SAAS,KAAKA,EAAM,MAAM,SAAS,GAAG,MACnEY,IAAc7B,EAASpB,CAAI,KAGzBiD,MAAgB1B,KAAQM,EAAG,KAAM,QAAQ,KAAKI,EAAS,CAAE,OAC3Dc,IAASV,EAAM,QAAQ,OAAOY,CAAW,KAGvCZ,EAAM,KAAK,SAAS,SAASR,EAAG,MAClCL,EAAM,iBAAiB;AAAA,IAE1B;AAED,IAAAkB,EAAK,EAAE,MAAM,SAAS,SAAS,IAAM,OAAAjD,GAAO,QAAAsD,EAAM,CAAE,GACpDN,EAAU,QAAQ;AAAA,EACtB;AAME,MAAIzC,EAAK,cAAc,MAAS,CAAC,sBAAsB,KAAKD,CAAK,GAAG;AAClE,QAAImD,IAAc,IAEdH,IAAShD,EAAM,QAAQX,IAA6B,CAAC+D,GAAGC,GAAKC,GAAOC,GAAOC,GAAMC,OAC/EF,MAAU,QACZJ,IAAc,IACPC,KAGLG,MAAU,MACRF,IACKA,IAAME,KAASC,IAAOvC,EAAM,OAAOuC,EAAK,MAAM,IAAI,MAEvDC,OAAU,IACLlC,KAAciC,IAAOvC,EAAM,OAAOuC,EAAK,MAAM,IAAI,MAEnDvC,EAAM,OAAOqC,EAAM,MAAM,IAG9BC,MAAU,MACL9C,EAAY,OAAO6C,EAAM,MAAM,IAGpCC,MAAU,MACRF,IACKA,IAAME,KAASC,IAAOhC,IAAO,MAE/BA,IAEF6B,IAAMD,IAAI,KAAKA,CAAC,EACxB;AAYD,WAVID,MAAgB,OACdlD,EAAK,aAAa,KACpB+C,IAASA,EAAO,QAAQ,OAAO,EAAE,IAEjCA,IAASA,EAAO,QAAQ,QAAQ,CAAAI,MACvBA,EAAE,SAAS,MAAM,IAAI,SAAUA,IAAI,OAAO,EAClD,IAIDJ,MAAWhD,KAASC,EAAK,aAAa,MACxCwB,EAAM,SAASzB,GACRyB,MAGTA,EAAM,SAASzC,EAAM,WAAWgE,GAAQvB,GAAOhC,CAAO,GAC/CgC;AAAA,EACR;AAMD,SAAO,CAACK,EAAG,KAAI;AAGb,QAFApC,IAAQuC,EAAO,GAEXvC,MAAU;AACZ;AAOF,QAAIA,MAAU,MAAM;AAClB,YAAMgE,IAAO3B;AAMb,UAJI2B,MAAS,OAAOzD,EAAK,SAAS,MAI9ByD,MAAS,OAAOA,MAAS;AAC3B;AAGF,UAAI,CAACA,GAAM;AACT,QAAAhE,KAAS,MACTiD,EAAK,EAAE,MAAM,QAAQ,OAAAjD,EAAO,CAAA;AAC5B;AAAA,MACD;AAGD,YAAMiE,IAAQ,OAAO,KAAKzB,EAAW,CAAA;AACrC,UAAI0B,IAAU;AAgBd,UAdID,KAASA,EAAM,CAAC,EAAE,SAAS,MAC7BC,IAAUD,EAAM,CAAC,EAAE,QACnBlC,EAAM,SAASmC,GACXA,IAAU,MAAM,MAClBlE,KAAS,QAITO,EAAK,aAAa,KACpBP,IAAQuC,EAAS,KAAI,KAErBvC,KAASuC,EAAS,KAAI,IAGpBR,EAAM,aAAa,GAAG;AACxB,QAAAkB,EAAK,EAAE,MAAM,QAAQ,OAAAjD,EAAO,CAAA;AAC5B;AAAA,MACD;AAAA,IACF;AAOD,QAAI+B,EAAM,WAAW,MAAM/B,MAAU,OAAOmC,EAAK,UAAU,OAAOA,EAAK,UAAU,OAAO;AACtF,UAAI5B,EAAK,UAAU,MAASP,MAAU,KAAK;AACzC,cAAMmE,IAAQhC,EAAK,MAAM,MAAM,CAAC;AAChC,YAAIgC,EAAM,SAAS,GAAG,MACpBhC,EAAK,QAAQ,IAETgC,EAAM,SAAS,GAAG,IAAG;AACvB,gBAAMC,IAAMjC,EAAK,MAAM,YAAY,GAAG,GAChCkC,IAAMlC,EAAK,MAAM,MAAM,GAAGiC,CAAG,GAC7BN,IAAO3B,EAAK,MAAM,MAAMiC,IAAM,CAAC,GAC/BE,IAAQ7E,GAAmBqE,CAAI;AACrC,cAAIQ,GAAO;AACT,YAAAnC,EAAK,QAAQkC,IAAMC,GACnBvC,EAAM,YAAY,IAClBQ,KAEI,CAAC7B,EAAI,UAAUC,EAAO,QAAQwB,CAAI,MAAM,MAC1CzB,EAAI,SAASQ;AAEf;AAAA,UACD;AAAA,QACF;AAAA,MAEJ;AAED,OAAKlB,MAAU,OAAOqC,QAAW,OAASrC,MAAU,OAAOqC,QAAW,SACpErC,IAAQ,KAAKA,CAAK,KAGhBA,MAAU,QAAQmC,EAAK,UAAU,OAAOA,EAAK,UAAU,UACzDnC,IAAQ,KAAKA,CAAK,KAGhBO,EAAK,UAAU,MAAQP,MAAU,OAAOmC,EAAK,UAAU,QACzDnC,IAAQ,MAGVmC,EAAK,SAASnC,GACd2C,EAAO,EAAE,OAAA3C,EAAK,CAAE;AAChB;AAAA,IACD;AAOD,QAAI+B,EAAM,WAAW,KAAK/B,MAAU,KAAK;AACvC,MAAAA,IAAQV,EAAM,YAAYU,CAAK,GAC/BmC,EAAK,SAASnC,GACd2C,EAAO,EAAE,OAAA3C,EAAK,CAAE;AAChB;AAAA,IACD;AAMD,QAAIA,MAAU,KAAK;AACjB,MAAA+B,EAAM,SAASA,EAAM,WAAW,IAAI,IAAI,GACpCxB,EAAK,eAAe,MACtB0C,EAAK,EAAE,MAAM,QAAQ,OAAAjD,EAAO,CAAA;AAE9B;AAAA,IACD;AAMD,QAAIA,MAAU,KAAK;AACjB,MAAA+C,EAAU,QAAQ,GAClBE,EAAK,EAAE,MAAM,SAAS,OAAAjD,EAAO,CAAA;AAC7B;AAAA,IACD;AAED,QAAIA,MAAU,KAAK;AACjB,UAAI+B,EAAM,WAAW,KAAKxB,EAAK,mBAAmB;AAChD,cAAM,IAAI,YAAYL,EAAY,WAAW,GAAG,CAAC;AAGnD,YAAMqE,IAAUvC,EAASA,EAAS,SAAS,CAAC;AAC5C,UAAIuC,KAAWxC,EAAM,WAAWwC,EAAQ,SAAS,GAAG;AAClD,QAAAhB,GAAavB,EAAS,IAAG,CAAE;AAC3B;AAAA,MACD;AAED,MAAAiB,EAAK,EAAE,MAAM,SAAS,OAAAjD,GAAO,QAAQ+B,EAAM,SAAS,MAAM,MAAK,CAAE,GACjEiB,EAAU,QAAQ;AAClB;AAAA,IACD;AAMD,QAAIhD,MAAU,KAAK;AACjB,UAAIO,EAAK,cAAc,MAAQ,CAACiC,IAAY,SAAS,GAAG,GAAG;AACzD,YAAIjC,EAAK,cAAc,MAAQA,EAAK,mBAAmB;AACrD,gBAAM,IAAI,YAAYL,EAAY,WAAW,GAAG,CAAC;AAGnD,QAAAF,IAAQ,KAAKA,CAAK;AAAA,MAC1B;AACQ,QAAA+C,EAAU,UAAU;AAGtB,MAAAE,EAAK,EAAE,MAAM,WAAW,OAAAjD,EAAO,CAAA;AAC/B;AAAA,IACD;AAED,QAAIA,MAAU,KAAK;AACjB,UAAIO,EAAK,cAAc,MAAS4B,KAAQA,EAAK,SAAS,aAAaA,EAAK,MAAM,WAAW,GAAI;AAC3F,QAAAc,EAAK,EAAE,MAAM,QAAQ,OAAAjD,GAAO,QAAQ,KAAKA,CAAK,GAAE,CAAE;AAClD;AAAA,MACD;AAED,UAAI+B,EAAM,aAAa,GAAG;AACxB,YAAIxB,EAAK,mBAAmB;AAC1B,gBAAM,IAAI,YAAYL,EAAY,WAAW,GAAG,CAAC;AAGnD,QAAA+C,EAAK,EAAE,MAAM,QAAQ,OAAAjD,GAAO,QAAQ,KAAKA,CAAK,GAAE,CAAE;AAClD;AAAA,MACD;AAED,MAAAgD,EAAU,UAAU;AAEpB,YAAMwB,IAAYrC,EAAK,MAAM,MAAM,CAAC;AAUpC,UATIA,EAAK,UAAU,MAAQqC,EAAU,CAAC,MAAM,OAAO,CAACA,EAAU,SAAS,GAAG,MACxExE,IAAQ,IAAIA,CAAK,KAGnBmC,EAAK,SAASnC,GACd2C,EAAO,EAAE,OAAA3C,EAAK,CAAE,GAIZO,EAAK,oBAAoB,MAASjB,EAAM,cAAckF,CAAS;AACjE;AAGF,YAAMC,IAAUnF,EAAM,YAAY6C,EAAK,KAAK;AAK5C,UAJAJ,EAAM,SAASA,EAAM,OAAO,MAAM,GAAG,CAACI,EAAK,MAAM,MAAM,GAInD5B,EAAK,oBAAoB,IAAM;AACjC,QAAAwB,EAAM,UAAU0C,GAChBtC,EAAK,QAAQsC;AACb;AAAA,MACD;AAGD,MAAAtC,EAAK,QAAQ,IAAIvB,CAAO,GAAG6D,CAAO,IAAItC,EAAK,KAAK,KAChDJ,EAAM,UAAUI,EAAK;AACrB;AAAA,IACD;AAMD,QAAInC,MAAU,OAAOO,EAAK,YAAY,IAAM;AAC1C,MAAAwC,EAAU,QAAQ;AAElB,YAAM2B,IAAO;AAAA,QACX,MAAM;AAAA,QACN,OAAA1E;AAAA,QACA,QAAQ;AAAA,QACR,aAAa+B,EAAM,OAAO;AAAA,QAC1B,aAAaA,EAAM,OAAO;AAAA,MAClC;AAEM,MAAAE,EAAO,KAAKyC,CAAI,GAChBzB,EAAKyB,CAAI;AACT;AAAA,IACD;AAED,QAAI1E,MAAU,KAAK;AACjB,YAAM2E,IAAQ1C,EAAOA,EAAO,SAAS,CAAC;AAEtC,UAAI1B,EAAK,YAAY,MAAQ,CAACoE,GAAO;AACnC,QAAA1B,EAAK,EAAE,MAAM,QAAQ,OAAAjD,GAAO,QAAQA,EAAK,CAAE;AAC3C;AAAA,MACD;AAED,UAAIsD,IAAS;AAEb,UAAIqB,EAAM,SAAS,IAAM;AACvB,cAAMC,IAAMjE,EAAO,SACbkE,IAAQ,CAAA;AAEd,iBAASC,IAAIF,EAAI,SAAS,GAAGE,KAAK,MAChCnE,EAAO,IAAG,GACNiE,EAAIE,CAAC,EAAE,SAAS,UAFeA;AAKnC,UAAIF,EAAIE,CAAC,EAAE,SAAS,UAClBD,EAAM,QAAQD,EAAIE,CAAC,EAAE,KAAK;AAI9B,QAAAxB,IAASzD,GAAYgF,GAAOtE,CAAI,GAChCwB,EAAM,YAAY;AAAA,MACnB;AAED,UAAI4C,EAAM,UAAU,MAAQA,EAAM,SAAS,IAAM;AAC/C,cAAMI,IAAMhD,EAAM,OAAO,MAAM,GAAG4C,EAAM,WAAW,GAC7CK,IAAOjD,EAAM,OAAO,MAAM4C,EAAM,WAAW;AACjD,QAAAA,EAAM,QAAQA,EAAM,SAAS,OAC7B3E,IAAQsD,IAAS,OACjBvB,EAAM,SAASgD;AACf,mBAAWE,KAAKD;AACd,UAAAjD,EAAM,UAAWkD,EAAE,UAAUA,EAAE;AAAA,MAElC;AAED,MAAAhC,EAAK,EAAE,MAAM,SAAS,OAAAjD,GAAO,QAAAsD,EAAQ,CAAA,GACrCN,EAAU,QAAQ,GAClBf,EAAO,IAAG;AACV;AAAA,IACD;AAMD,QAAIjC,MAAU,KAAK;AACjB,MAAIgC,EAAS,SAAS,KACpBA,EAASA,EAAS,SAAS,CAAC,EAAE,cAEhCiB,EAAK,EAAE,MAAM,QAAQ,OAAAjD,EAAO,CAAA;AAC5B;AAAA,IACD;AAMD,QAAIA,MAAU,KAAK;AACjB,UAAIsD,IAAStD;AAEb,YAAM2E,IAAQ1C,EAAOA,EAAO,SAAS,CAAC;AACtC,MAAI0C,KAASzC,EAAMA,EAAM,SAAS,CAAC,MAAM,aACvCyC,EAAM,QAAQ,IACdrB,IAAS,MAGXL,EAAK,EAAE,MAAM,SAAS,OAAAjD,GAAO,QAAAsD,EAAQ,CAAA;AACrC;AAAA,IACD;AAMD,QAAItD,MAAU,KAAK;AAKjB,UAAImC,EAAK,SAAS,SAASJ,EAAM,UAAUA,EAAM,QAAQ,GAAG;AAC1D,QAAAA,EAAM,QAAQA,EAAM,QAAQ,GAC5BA,EAAM,WAAW,IACjBA,EAAM,SAAS,IACfpB,EAAO,IAAG,GACVwB,IAAOzB;AACP;AAAA,MACD;AAED,MAAAuC,EAAK,EAAE,MAAM,SAAS,OAAAjD,GAAO,QAAQiB,EAAa,CAAE;AACpD;AAAA,IACD;AAMD,QAAIjB,MAAU,KAAK;AACjB,UAAI+B,EAAM,SAAS,KAAKI,EAAK,SAAS,OAAO;AAC3C,QAAIA,EAAK,UAAU,QAAKA,EAAK,SAASpB;AACtC,cAAM4D,IAAQ1C,EAAOA,EAAO,SAAS,CAAC;AACtC,QAAAE,EAAK,OAAO,QACZA,EAAK,UAAUnC,GACfmC,EAAK,SAASnC,GACd2E,EAAM,OAAO;AACb;AAAA,MACD;AAED,UAAK5C,EAAM,SAASA,EAAM,WAAY,KAAKI,EAAK,SAAS,SAASA,EAAK,SAAS,SAAS;AACvF,QAAAc,EAAK,EAAE,MAAM,QAAQ,OAAAjD,GAAO,QAAQe,EAAW,CAAE;AACjD;AAAA,MACD;AAED,MAAAkC,EAAK,EAAE,MAAM,OAAO,OAAAjD,GAAO,QAAQe,EAAW,CAAE;AAChD;AAAA,IACD;AAMD,QAAIf,MAAU,KAAK;AAEjB,UAAI,EADYmC,KAAQA,EAAK,UAAU,QACvB5B,EAAK,cAAc,MAAQ8B,EAAM,MAAK,OAAOA,EAAK,CAAC,MAAM,KAAK;AAC5E,QAAAgB,EAAY,SAASrD,CAAK;AAC1B;AAAA,MACD;AAED,UAAImC,KAAQA,EAAK,SAAS,SAAS;AACjC,cAAM6B,IAAO3B;AACb,YAAIiB,IAAStD;AAEb,YAAIgE,MAAS,OAAO,CAAC1E,EAAM,oBAAmB;AAC5C,gBAAM,IAAI,MAAM,yDAAyD;AAG3E,SAAK6C,EAAK,UAAU,OAAO,CAAC,SAAS,KAAK6B,CAAI,KAAOA,MAAS,OAAO,CAAC,eAAe,KAAKxB,EAAW,CAAA,OACnGc,IAAS,KAAKtD,CAAK,KAGrBiD,EAAK,EAAE,MAAM,QAAQ,OAAAjD,GAAO,QAAAsD,EAAQ,CAAA;AACpC;AAAA,MACD;AAED,UAAI/C,EAAK,QAAQ,OAAS4B,EAAK,SAAS,WAAWA,EAAK,SAAS,QAAQ;AACvE,QAAAc,EAAK,EAAE,MAAM,SAAS,OAAAjD,GAAO,QAAQwB,EAAY,CAAE;AACnD;AAAA,MACD;AAED,MAAAyB,EAAK,EAAE,MAAM,SAAS,OAAAjD,GAAO,QAAQuB,EAAK,CAAE;AAC5C;AAAA,IACD;AAMD,QAAIvB,MAAU,KAAK;AACjB,UAAIO,EAAK,cAAc,MAAQ8B,EAAI,MAAO,QACpCA,EAAK,CAAC,MAAM,OAAO,CAAC,SAAS,KAAKA,EAAK,CAAC,CAAC,IAAG;AAC9C,QAAAgB,EAAY,UAAUrD,CAAK;AAC3B;AAAA,MACD;AAGH,UAAIO,EAAK,aAAa,MAAQwB,EAAM,UAAU,GAAG;AAC/C,QAAAc;AACA;AAAA,MACD;AAAA,IACF;AAMD,QAAI7C,MAAU,KAAK;AACjB,UAAIO,EAAK,cAAc,MAAQ8B,EAAI,MAAO,OAAOA,EAAK,CAAC,MAAM,KAAK;AAChE,QAAAgB,EAAY,QAAQrD,CAAK;AACzB;AAAA,MACD;AAED,UAAKmC,KAAQA,EAAK,UAAU,OAAQ5B,EAAK,UAAU,IAAO;AACxD,QAAA0C,EAAK,EAAE,MAAM,QAAQ,OAAAjD,GAAO,QAAQgB,EAAY,CAAE;AAClD;AAAA,MACD;AAED,UAAKmB,MAASA,EAAK,SAAS,aAAaA,EAAK,SAAS,WAAWA,EAAK,SAAS,YAAaJ,EAAM,SAAS,GAAG;AAC7G,QAAAkB,EAAK,EAAE,MAAM,QAAQ,OAAAjD,EAAO,CAAA;AAC5B;AAAA,MACD;AAED,MAAAiD,EAAK,EAAE,MAAM,QAAQ,OAAOjC,EAAc,CAAA;AAC1C;AAAA,IACD;AAMD,QAAIhB,MAAU,KAAK;AACjB,UAAIO,EAAK,cAAc,MAAQ8B,EAAI,MAAO,OAAOA,EAAK,CAAC,MAAM,KAAK;AAChE,QAAAY,EAAK,EAAE,MAAM,MAAM,SAAS,IAAM,OAAAjD,GAAO,QAAQ,GAAE,CAAE;AACrD;AAAA,MACD;AAED,MAAAiD,EAAK,EAAE,MAAM,QAAQ,OAAAjD,EAAO,CAAA;AAC5B;AAAA,IACD;AAMD,QAAIA,MAAU,KAAK;AACjB,OAAIA,MAAU,OAAOA,MAAU,SAC7BA,IAAQ,KAAKA,CAAK;AAGpB,YAAMiE,IAAQvE,GAAwB,KAAK8C,EAAW,CAAA;AACtD,MAAIyB,MACFjE,KAASiE,EAAM,CAAC,GAChBlC,EAAM,SAASkC,EAAM,CAAC,EAAE,SAG1BhB,EAAK,EAAE,MAAM,QAAQ,OAAAjD,EAAO,CAAA;AAC5B;AAAA,IACD;AAMD,QAAImC,MAASA,EAAK,SAAS,cAAcA,EAAK,SAAS,KAAO;AAC5D,MAAAA,EAAK,OAAO,QACZA,EAAK,OAAO,IACZA,EAAK,SAASnC,GACdmC,EAAK,SAASL,GACdC,EAAM,YAAY,IAClBA,EAAM,WAAW,IACjBU,EAAQzC,CAAK;AACb;AAAA,IACD;AAED,QAAI8D,IAAOtB;AACX,QAAIjC,EAAK,cAAc,MAAQ,UAAU,KAAKuD,CAAI,GAAG;AACnD,MAAAT,EAAY,QAAQrD,CAAK;AACzB;AAAA,IACD;AAED,QAAImC,EAAK,SAAS,QAAQ;AACxB,UAAI5B,EAAK,eAAe,IAAM;AAC5B,QAAAkC,EAAQzC,CAAK;AACb;AAAA,MACD;AAED,YAAMkF,IAAQ/C,EAAK,MACbgD,IAASD,EAAM,MACfE,IAAUF,EAAM,SAAS,WAAWA,EAAM,SAAS,OACnDG,IAAYF,MAAWA,EAAO,SAAS,UAAUA,EAAO,SAAS;AAEvE,UAAI5E,EAAK,SAAS,OAAS,CAAC6E,KAAYtB,EAAK,CAAC,KAAKA,EAAK,CAAC,MAAM,MAAO;AACpE,QAAAb,EAAK,EAAE,MAAM,QAAQ,OAAAjD,GAAO,QAAQ,GAAE,CAAE;AACxC;AAAA,MACD;AAED,YAAMmD,IAAUpB,EAAM,SAAS,MAAMmD,EAAM,SAAS,WAAWA,EAAM,SAAS,UACxE9B,KAAYpB,EAAS,WAAWkD,EAAM,SAAS,UAAUA,EAAM,SAAS;AAC9E,UAAI,CAACE,KAAWF,EAAM,SAAS,WAAW,CAAC/B,KAAW,CAACC,IAAW;AAChE,QAAAH,EAAK,EAAE,MAAM,QAAQ,OAAAjD,GAAO,QAAQ,GAAE,CAAE;AACxC;AAAA,MACD;AAGD,aAAO8D,EAAK,MAAM,GAAG,CAAC,MAAM,SAAO;AACjC,cAAMwB,IAAQhF,EAAMyB,EAAM,QAAQ,CAAC;AACnC,YAAIuD,KAASA,MAAU;AACrB;AAEF,QAAAxB,IAAOA,EAAK,MAAM,CAAC,GACnBrB,EAAQ,OAAO,CAAC;AAAA,MACjB;AAED,UAAIyC,EAAM,SAAS,SAAS9C,EAAG,GAAI;AACjC,QAAAD,EAAK,OAAO,YACZA,EAAK,SAASnC,GACdmC,EAAK,SAASR,EAASpB,CAAI,GAC3BwB,EAAM,SAASI,EAAK,QACpBJ,EAAM,WAAW,IACjBU,EAAQzC,CAAK;AACb;AAAA,MACD;AAED,UAAIkF,EAAM,SAAS,WAAWA,EAAM,KAAK,SAAS,SAAS,CAACG,KAAajD,KAAO;AAC9E,QAAAL,EAAM,SAASA,EAAM,OAAO,MAAM,GAAG,EAAEmD,EAAM,SAAS/C,EAAK,QAAQ,MAAM,GACzE+C,EAAM,SAAS,MAAMA,EAAM,MAAM,IAEjC/C,EAAK,OAAO,YACZA,EAAK,SAASR,EAASpB,CAAI,KAAKA,EAAK,gBAAgB,MAAM,QAC3D4B,EAAK,SAASnC,GACd+B,EAAM,WAAW,IACjBA,EAAM,UAAUmD,EAAM,SAAS/C,EAAK,QACpCM,EAAQzC,CAAK;AACb;AAAA,MACD;AAED,UAAIkF,EAAM,SAAS,WAAWA,EAAM,KAAK,SAAS,SAASpB,EAAK,CAAC,MAAM,KAAK;AAC1E,cAAMyB,IAAMzB,EAAK,CAAC,MAAM,SAAS,OAAO;AAExC,QAAA/B,EAAM,SAASA,EAAM,OAAO,MAAM,GAAG,EAAEmD,EAAM,SAAS/C,EAAK,QAAQ,MAAM,GACzE+C,EAAM,SAAS,MAAMA,EAAM,MAAM,IAEjC/C,EAAK,OAAO,YACZA,EAAK,SAAS,GAAGR,EAASpB,CAAI,CAAC,GAAGU,CAAa,IAAIA,CAAa,GAAGsE,CAAG,KACtEpD,EAAK,SAASnC,GAEd+B,EAAM,UAAUmD,EAAM,SAAS/C,EAAK,QACpCJ,EAAM,WAAW,IAEjBU,EAAQzC,IAAQuC,EAAO,CAAE,GAEzBU,EAAK,EAAE,MAAM,SAAS,OAAO,KAAK,QAAQ,GAAE,CAAE;AAC9C;AAAA,MACD;AAED,UAAIiC,EAAM,SAAS,SAASpB,EAAK,CAAC,MAAM,KAAK;AAC3C,QAAA3B,EAAK,OAAO,YACZA,EAAK,SAASnC,GACdmC,EAAK,SAAS,QAAQlB,CAAa,IAAIU,EAASpB,CAAI,CAAC,GAAGU,CAAa,KACrEc,EAAM,SAASI,EAAK,QACpBJ,EAAM,WAAW,IACjBU,EAAQzC,IAAQuC,EAAO,CAAE,GACzBU,EAAK,EAAE,MAAM,SAAS,OAAO,KAAK,QAAQ,GAAE,CAAE;AAC9C;AAAA,MACD;AAGD,MAAAlB,EAAM,SAASA,EAAM,OAAO,MAAM,GAAG,CAACI,EAAK,OAAO,MAAM,GAGxDA,EAAK,OAAO,YACZA,EAAK,SAASR,EAASpB,CAAI,GAC3B4B,EAAK,SAASnC,GAGd+B,EAAM,UAAUI,EAAK,QACrBJ,EAAM,WAAW,IACjBU,EAAQzC,CAAK;AACb;AAAA,IACD;AAED,UAAM4C,IAAQ,EAAE,MAAM,QAAQ,OAAA5C,GAAO,QAAQ8B;AAE7C,QAAIvB,EAAK,SAAS,IAAM;AACtB,MAAAqC,EAAM,SAAS,QACXT,EAAK,SAAS,SAASA,EAAK,SAAS,aACvCS,EAAM,SAAShB,IAAQgB,EAAM,SAE/BK,EAAKL,CAAK;AACV;AAAA,IACD;AAED,QAAIT,MAASA,EAAK,SAAS,aAAaA,EAAK,SAAS,YAAY5B,EAAK,UAAU,IAAM;AACrF,MAAAqC,EAAM,SAAS5C,GACfiD,EAAKL,CAAK;AACV;AAAA,IACD;AAED,KAAIb,EAAM,UAAUA,EAAM,SAASI,EAAK,SAAS,WAAWA,EAAK,SAAS,WACpEA,EAAK,SAAS,SAChBJ,EAAM,UAAUV,GAChBc,EAAK,UAAUd,KAENd,EAAK,QAAQ,MACtBwB,EAAM,UAAUT,GAChBa,EAAK,UAAUb,MAGfS,EAAM,UAAUH,GAChBO,EAAK,UAAUP,IAGbS,EAAM,MAAK,QACbN,EAAM,UAAUb,GAChBiB,EAAK,UAAUjB,KAInB+B,EAAKL,CAAK;AAAA,EACX;AAED,SAAOb,EAAM,WAAW,KAAG;AACzB,QAAIxB,EAAK,mBAAmB;AAAM,YAAM,IAAI,YAAYL,EAAY,WAAW,GAAG,CAAC;AACnF,IAAA6B,EAAM,SAASzC,EAAM,WAAWyC,EAAM,QAAQ,GAAG,GACjDiB,EAAU,UAAU;AAAA,EACrB;AAED,SAAOjB,EAAM,SAAS,KAAG;AACvB,QAAIxB,EAAK,mBAAmB;AAAM,YAAM,IAAI,YAAYL,EAAY,WAAW,GAAG,CAAC;AACnF,IAAA6B,EAAM,SAASzC,EAAM,WAAWyC,EAAM,QAAQ,GAAG,GACjDiB,EAAU,QAAQ;AAAA,EACnB;AAED,SAAOjB,EAAM,SAAS,KAAG;AACvB,QAAIxB,EAAK,mBAAmB;AAAM,YAAM,IAAI,YAAYL,EAAY,WAAW,GAAG,CAAC;AACnF,IAAA6B,EAAM,SAASzC,EAAM,WAAWyC,EAAM,QAAQ,GAAG,GACjDiB,EAAU,QAAQ;AAAA,EACnB;AAOD,MALIzC,EAAK,kBAAkB,OAAS4B,EAAK,SAAS,UAAUA,EAAK,SAAS,cACxEc,EAAK,EAAE,MAAM,eAAe,OAAO,IAAI,QAAQ,GAAGhC,CAAa,IAAK,CAAA,GAIlEc,EAAM,cAAc,IAAM;AAC5B,IAAAA,EAAM,SAAS;AAEf,eAAWa,KAASb,EAAM;AACxB,MAAAA,EAAM,UAAUa,EAAM,UAAU,OAAOA,EAAM,SAASA,EAAM,OAExDA,EAAM,WACRb,EAAM,UAAUa,EAAM;AAAA,EAG3B;AAED,SAAOb;AACT;AAQA1B,GAAM,YAAY,CAACC,GAAOP,MAAY;AACpC,QAAMQ,IAAO,EAAE,GAAGR,KACZS,IAAM,OAAOD,EAAK,aAAc,WAAW,KAAK,IAAIf,GAAYe,EAAK,SAAS,IAAIf,GAClFiB,IAAMH,EAAM;AAClB,MAAIG,IAAMD;AACR,UAAM,IAAI,YAAY,iBAAiBC,CAAG,qCAAqCD,CAAG,EAAE;AAGtF,EAAAF,IAAQV,GAAaU,CAAK,KAAKA;AAG/B,QAAM;AAAA,IACJ,aAAAS;AAAA,IACA,eAAAE;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,QAAAC;AAAA,IACA,SAAAoE;AAAA,IACA,eAAAlE;AAAA,IACA,MAAAG;AAAA,IACA,cAAAC;AAAA,EACD,IAAGtC,EAAU,UAAUmB,EAAK,OAAO,GAE9BqB,IAAQrB,EAAK,MAAMiF,IAAUpE,GAC7BqE,IAAWlF,EAAK,MAAMe,IAAgBF,GACtCR,IAAUL,EAAK,UAAU,KAAK,MAC9BwB,IAAQ,EAAE,SAAS,IAAO,QAAQ,GAAE;AAC1C,MAAID,IAAOvB,EAAK,SAAS,KAAO,QAAQkB;AAExC,EAAIlB,EAAK,YACPuB,IAAO,IAAIA,CAAI;AAGjB,QAAMH,IAAW,CAACpB,MACZA,EAAK,eAAe,KAAauB,IAC9B,IAAIlB,CAAO,SAASc,CAAY,GAAGnB,EAAK,MAAMY,IAAaJ,CAAW,UAGzE2E,IAAS,CAAAC,MAAO;AACpB,YAAQA,GAAG;AAAA,MACT,KAAK;AACH,eAAO,GAAG/D,CAAK,GAAGV,CAAQ,GAAGY,CAAI;AAAA,MAEnC,KAAK;AACH,eAAO,GAAGf,CAAW,GAAGG,CAAQ,GAAGY,CAAI;AAAA,MAEzC,KAAK;AACH,eAAO,GAAGF,CAAK,GAAGE,CAAI,GAAGf,CAAW,GAAGG,CAAQ,GAAGY,CAAI;AAAA,MAExD,KAAK;AACH,eAAO,GAAGF,CAAK,GAAGE,CAAI,GAAGb,CAAa,GAAGC,CAAQ,GAAGuE,CAAQ,GAAG3D,CAAI;AAAA,MAErE,KAAK;AACH,eAAOF,IAAQD,EAASpB,CAAI;AAAA,MAE9B,KAAK;AACH,eAAO,MAAMqB,CAAK,GAAGD,EAASpB,CAAI,CAAC,GAAGU,CAAa,KAAKwE,CAAQ,GAAGvE,CAAQ,GAAGY,CAAI;AAAA,MAEpF,KAAK;AACH,eAAO,MAAMF,CAAK,GAAGD,EAASpB,CAAI,CAAC,GAAGU,CAAa,KAAKwE,CAAQ,GAAG3D,CAAI,GAAGf,CAAW,GAAGG,CAAQ,GAAGY,CAAI;AAAA,MAEzG,KAAK;AACH,eAAO,MAAMF,CAAK,GAAGD,EAASpB,CAAI,CAAC,GAAGU,CAAa,KAAKF,CAAW,GAAGG,CAAQ,GAAGY,CAAI;AAAA,MAEvF,SAAS;AACP,cAAMmC,IAAQ,iBAAiB,KAAK0B,CAAG;AACvC,YAAI,CAAC1B;AAAO;AAEZ,cAAM2B,IAASF,EAAOzB,EAAM,CAAC,CAAC;AAC9B,eAAK2B,IAEEA,IAAS7E,IAAckD,EAAM,CAAC,IAFxB;AAAA,MAGd;AAAA,IACF;AAAA,EACL,GAEQX,IAAShE,EAAM,aAAagB,GAAOyB,CAAK;AAC9C,MAAI6D,IAASF,EAAOpC,CAAM;AAE1B,SAAIsC,KAAUrF,EAAK,kBAAkB,OACnCqF,KAAU,GAAG3E,CAAa,MAGrB2E;AACT;AAEA,IAAAC,KAAiBxF;","x_google_ignoreList":[0]}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { s as g } from "./scan.js";
|
|
2
|
-
import { p as d } from "./parse.js";
|
|
3
|
-
import "./utils.js";
|
|
4
|
-
import { c as w } from "./constants.js";
|
|
5
|
-
import { __exports as $ } from "../../../_virtual/utils.js";
|
|
6
|
-
const E = g, x = d, M = $, A = w, _ = (e) => e && typeof e == "object" && !Array.isArray(e), r = (e, t, s = !1) => {
|
|
7
|
-
if (Array.isArray(e)) {
|
|
8
|
-
const l = e.map((h) => r(h, t, s));
|
|
9
|
-
return (h) => {
|
|
10
|
-
for (const y of l) {
|
|
11
|
-
const p = y(h);
|
|
12
|
-
if (p)
|
|
13
|
-
return p;
|
|
14
|
-
}
|
|
15
|
-
return !1;
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
const o = _(e) && e.tokens && e.input;
|
|
19
|
-
if (e === "" || typeof e != "string" && !o)
|
|
20
|
-
throw new TypeError("Expected pattern to be a non-empty string");
|
|
21
|
-
const n = t || {}, c = n.windows, f = o ? r.compileRe(e, t) : r.makeRe(e, t, !1, !0), a = f.state;
|
|
22
|
-
delete f.state;
|
|
23
|
-
let i = () => !1;
|
|
24
|
-
if (n.ignore) {
|
|
25
|
-
const l = { ...t, ignore: null, onMatch: null, onResult: null };
|
|
26
|
-
i = r(n.ignore, l, s);
|
|
27
|
-
}
|
|
28
|
-
const R = (l, m = !1) => {
|
|
29
|
-
const { isMatch: h, match: y, output: p } = r.test(l, f, t, { glob: e, posix: c }), u = { glob: e, state: a, regex: f, posix: c, input: l, output: p, match: y, isMatch: h };
|
|
30
|
-
return typeof n.onResult == "function" && n.onResult(u), h === !1 ? (u.isMatch = !1, m ? u : !1) : i(l) ? (typeof n.onIgnore == "function" && n.onIgnore(u), u.isMatch = !1, m ? u : !1) : (typeof n.onMatch == "function" && n.onMatch(u), m ? u : !0);
|
|
31
|
-
};
|
|
32
|
-
return s && (R.state = a), R;
|
|
33
|
-
};
|
|
34
|
-
r.test = (e, t, s, { glob: o, posix: n } = {}) => {
|
|
35
|
-
if (typeof e != "string")
|
|
36
|
-
throw new TypeError("Expected input to be a string");
|
|
37
|
-
if (e === "")
|
|
38
|
-
return { isMatch: !1, output: "" };
|
|
39
|
-
const c = s || {}, f = c.format || (n ? M.toPosixSlashes : null);
|
|
40
|
-
let a = e === o, i = a && f ? f(e) : e;
|
|
41
|
-
return a === !1 && (i = f ? f(e) : e, a = i === o), (a === !1 || c.capture === !0) && (c.matchBase === !0 || c.basename === !0 ? a = r.matchBase(e, t, s, n) : a = t.exec(i)), { isMatch: !!a, match: a, output: i };
|
|
42
|
-
};
|
|
43
|
-
r.matchBase = (e, t, s) => (t instanceof RegExp ? t : r.makeRe(t, s)).test(M.basename(e));
|
|
44
|
-
r.isMatch = (e, t, s) => r(t, s)(e);
|
|
45
|
-
r.parse = (e, t) => Array.isArray(e) ? e.map((s) => r.parse(s, t)) : x(e, { ...t, fastpaths: !1 });
|
|
46
|
-
r.scan = (e, t) => E(e, t);
|
|
47
|
-
r.compileRe = (e, t, s = !1, o = !1) => {
|
|
48
|
-
if (s === !0)
|
|
49
|
-
return e.output;
|
|
50
|
-
const n = t || {}, c = n.contains ? "" : "^", f = n.contains ? "" : "$";
|
|
51
|
-
let a = `${c}(?:${e.output})${f}`;
|
|
52
|
-
e && e.negated === !0 && (a = `^(?!${a}).*$`);
|
|
53
|
-
const i = r.toRegex(a, t);
|
|
54
|
-
return o === !0 && (i.state = e), i;
|
|
55
|
-
};
|
|
56
|
-
r.makeRe = (e, t, s = !1, o = !1) => {
|
|
57
|
-
if (!e || typeof e != "string")
|
|
58
|
-
throw new TypeError("Expected a non-empty string");
|
|
59
|
-
const n = t || {};
|
|
60
|
-
let c = { negated: !1, fastpaths: !0 }, f = "", a;
|
|
61
|
-
return e.startsWith("./") && (e = e.slice(2), f = c.prefix = "./"), n.fastpaths !== !1 && (e[0] === "." || e[0] === "*") && (a = x.fastpaths(e, t)), a === void 0 ? (c = x(e, t), c.prefix = f + (c.prefix || "")) : c.output = a, r.compileRe(c, t, s, o);
|
|
62
|
-
};
|
|
63
|
-
r.toRegex = (e, t) => {
|
|
64
|
-
try {
|
|
65
|
-
const s = t || {};
|
|
66
|
-
return new RegExp(e, s.flags || (s.nocase ? "i" : ""));
|
|
67
|
-
} catch (s) {
|
|
68
|
-
if (t && t.debug === !0)
|
|
69
|
-
throw s;
|
|
70
|
-
return /$^/;
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
r.constants = A;
|
|
74
|
-
var W = r;
|
|
75
|
-
export {
|
|
76
|
-
W as p
|
|
77
|
-
};
|
|
78
|
-
//# sourceMappingURL=picomatch.js.map
|