@evitcastudio/kit 3.3.1 → 3.3.2
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/bundle/cli/cli.js +1077 -967
- package/lib/cli/app-bundler.d.ts.map +1 -1
- package/lib/cli/app-bundler.js +44 -6
- package/lib/cli/create.d.ts.map +1 -1
- package/lib/cli/create.js +7 -6
- package/lib/cli/doctor.d.ts.map +1 -1
- package/lib/cli/doctor.js +57 -30
- package/lib/cli/host.d.ts.map +1 -1
- package/lib/cli/host.js +19 -12
- package/lib/cli/init.d.ts.map +1 -1
- package/lib/cli/init.js +20 -17
- package/lib/cli/resource-builder.d.ts.map +1 -1
- package/lib/cli/resource-builder.js +11 -8
- package/lib/cli/theme.d.ts +36 -0
- package/lib/cli/theme.d.ts.map +1 -0
- package/lib/cli/theme.js +41 -0
- package/package.json +1 -1
package/lib/bundle/cli/cli.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
// @bun
|
|
3
3
|
|
|
4
4
|
/*!
|
|
5
|
-
* @evitcastudio/kit@3.3.
|
|
6
|
-
* Compiled Wed, 09 Sep 2026
|
|
5
|
+
* @evitcastudio/kit@3.3.2 git+https://github.com/EvitcaStudio/Kit.git
|
|
6
|
+
* Compiled Wed, 09 Sep 2026 21:02:08 UTC
|
|
7
7
|
* Copyright (c) 2026 Jared Bates, Evitca Studio, "doubleactii"
|
|
8
8
|
*
|
|
9
9
|
* @evitcastudio/kit is licensed under the MIT License.
|
|
@@ -1945,496 +1945,6 @@ var {
|
|
|
1945
1945
|
import { promises as fs2, existsSync as existsSync2 } from "fs";
|
|
1946
1946
|
import { join as join4, extname as extname3, basename as basename3, resolve as resolve3, relative as relative3 } from "path";
|
|
1947
1947
|
|
|
1948
|
-
// node_modules/chalk/source/vendor/ansi-styles/index.js
|
|
1949
|
-
var ANSI_BACKGROUND_OFFSET = 10;
|
|
1950
|
-
var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
|
|
1951
|
-
var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
|
|
1952
|
-
var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
|
|
1953
|
-
var styles = {
|
|
1954
|
-
modifier: {
|
|
1955
|
-
reset: [0, 0],
|
|
1956
|
-
bold: [1, 22],
|
|
1957
|
-
dim: [2, 22],
|
|
1958
|
-
italic: [3, 23],
|
|
1959
|
-
underline: [4, 24],
|
|
1960
|
-
overline: [53, 55],
|
|
1961
|
-
inverse: [7, 27],
|
|
1962
|
-
hidden: [8, 28],
|
|
1963
|
-
strikethrough: [9, 29]
|
|
1964
|
-
},
|
|
1965
|
-
color: {
|
|
1966
|
-
black: [30, 39],
|
|
1967
|
-
red: [31, 39],
|
|
1968
|
-
green: [32, 39],
|
|
1969
|
-
yellow: [33, 39],
|
|
1970
|
-
blue: [34, 39],
|
|
1971
|
-
magenta: [35, 39],
|
|
1972
|
-
cyan: [36, 39],
|
|
1973
|
-
white: [37, 39],
|
|
1974
|
-
blackBright: [90, 39],
|
|
1975
|
-
gray: [90, 39],
|
|
1976
|
-
grey: [90, 39],
|
|
1977
|
-
redBright: [91, 39],
|
|
1978
|
-
greenBright: [92, 39],
|
|
1979
|
-
yellowBright: [93, 39],
|
|
1980
|
-
blueBright: [94, 39],
|
|
1981
|
-
magentaBright: [95, 39],
|
|
1982
|
-
cyanBright: [96, 39],
|
|
1983
|
-
whiteBright: [97, 39]
|
|
1984
|
-
},
|
|
1985
|
-
bgColor: {
|
|
1986
|
-
bgBlack: [40, 49],
|
|
1987
|
-
bgRed: [41, 49],
|
|
1988
|
-
bgGreen: [42, 49],
|
|
1989
|
-
bgYellow: [43, 49],
|
|
1990
|
-
bgBlue: [44, 49],
|
|
1991
|
-
bgMagenta: [45, 49],
|
|
1992
|
-
bgCyan: [46, 49],
|
|
1993
|
-
bgWhite: [47, 49],
|
|
1994
|
-
bgBlackBright: [100, 49],
|
|
1995
|
-
bgGray: [100, 49],
|
|
1996
|
-
bgGrey: [100, 49],
|
|
1997
|
-
bgRedBright: [101, 49],
|
|
1998
|
-
bgGreenBright: [102, 49],
|
|
1999
|
-
bgYellowBright: [103, 49],
|
|
2000
|
-
bgBlueBright: [104, 49],
|
|
2001
|
-
bgMagentaBright: [105, 49],
|
|
2002
|
-
bgCyanBright: [106, 49],
|
|
2003
|
-
bgWhiteBright: [107, 49]
|
|
2004
|
-
}
|
|
2005
|
-
};
|
|
2006
|
-
var modifierNames = Object.keys(styles.modifier);
|
|
2007
|
-
var foregroundColorNames = Object.keys(styles.color);
|
|
2008
|
-
var backgroundColorNames = Object.keys(styles.bgColor);
|
|
2009
|
-
var colorNames = [...foregroundColorNames, ...backgroundColorNames];
|
|
2010
|
-
function assembleStyles() {
|
|
2011
|
-
const codes = new Map;
|
|
2012
|
-
for (const [groupName, group] of Object.entries(styles)) {
|
|
2013
|
-
for (const [styleName, style] of Object.entries(group)) {
|
|
2014
|
-
styles[styleName] = {
|
|
2015
|
-
open: `\x1B[${style[0]}m`,
|
|
2016
|
-
close: `\x1B[${style[1]}m`
|
|
2017
|
-
};
|
|
2018
|
-
group[styleName] = styles[styleName];
|
|
2019
|
-
codes.set(style[0], style[1]);
|
|
2020
|
-
}
|
|
2021
|
-
Object.defineProperty(styles, groupName, {
|
|
2022
|
-
value: group,
|
|
2023
|
-
enumerable: false
|
|
2024
|
-
});
|
|
2025
|
-
}
|
|
2026
|
-
Object.defineProperty(styles, "codes", {
|
|
2027
|
-
value: codes,
|
|
2028
|
-
enumerable: false
|
|
2029
|
-
});
|
|
2030
|
-
styles.color.close = "\x1B[39m";
|
|
2031
|
-
styles.bgColor.close = "\x1B[49m";
|
|
2032
|
-
styles.color.ansi = wrapAnsi16();
|
|
2033
|
-
styles.color.ansi256 = wrapAnsi256();
|
|
2034
|
-
styles.color.ansi16m = wrapAnsi16m();
|
|
2035
|
-
styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
|
|
2036
|
-
styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
|
|
2037
|
-
styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
|
|
2038
|
-
Object.defineProperties(styles, {
|
|
2039
|
-
rgbToAnsi256: {
|
|
2040
|
-
value(red, green, blue) {
|
|
2041
|
-
if (red === green && green === blue) {
|
|
2042
|
-
if (red < 8) {
|
|
2043
|
-
return 16;
|
|
2044
|
-
}
|
|
2045
|
-
if (red > 248) {
|
|
2046
|
-
return 231;
|
|
2047
|
-
}
|
|
2048
|
-
return Math.round((red - 8) / 247 * 24) + 232;
|
|
2049
|
-
}
|
|
2050
|
-
return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
|
|
2051
|
-
},
|
|
2052
|
-
enumerable: false
|
|
2053
|
-
},
|
|
2054
|
-
hexToRgb: {
|
|
2055
|
-
value(hex) {
|
|
2056
|
-
const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
|
|
2057
|
-
if (!matches) {
|
|
2058
|
-
return [0, 0, 0];
|
|
2059
|
-
}
|
|
2060
|
-
let [colorString] = matches;
|
|
2061
|
-
if (colorString.length === 3) {
|
|
2062
|
-
colorString = [...colorString].map((character) => character + character).join("");
|
|
2063
|
-
}
|
|
2064
|
-
const integer = Number.parseInt(colorString, 16);
|
|
2065
|
-
return [
|
|
2066
|
-
integer >> 16 & 255,
|
|
2067
|
-
integer >> 8 & 255,
|
|
2068
|
-
integer & 255
|
|
2069
|
-
];
|
|
2070
|
-
},
|
|
2071
|
-
enumerable: false
|
|
2072
|
-
},
|
|
2073
|
-
hexToAnsi256: {
|
|
2074
|
-
value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
|
|
2075
|
-
enumerable: false
|
|
2076
|
-
},
|
|
2077
|
-
ansi256ToAnsi: {
|
|
2078
|
-
value(code) {
|
|
2079
|
-
if (code < 8) {
|
|
2080
|
-
return 30 + code;
|
|
2081
|
-
}
|
|
2082
|
-
if (code < 16) {
|
|
2083
|
-
return 90 + (code - 8);
|
|
2084
|
-
}
|
|
2085
|
-
let red;
|
|
2086
|
-
let green;
|
|
2087
|
-
let blue;
|
|
2088
|
-
if (code >= 232) {
|
|
2089
|
-
red = ((code - 232) * 10 + 8) / 255;
|
|
2090
|
-
green = red;
|
|
2091
|
-
blue = red;
|
|
2092
|
-
} else {
|
|
2093
|
-
code -= 16;
|
|
2094
|
-
const remainder = code % 36;
|
|
2095
|
-
red = Math.floor(code / 36) / 5;
|
|
2096
|
-
green = Math.floor(remainder / 6) / 5;
|
|
2097
|
-
blue = remainder % 6 / 5;
|
|
2098
|
-
}
|
|
2099
|
-
const value = Math.max(red, green, blue) * 2;
|
|
2100
|
-
if (value === 0) {
|
|
2101
|
-
return 30;
|
|
2102
|
-
}
|
|
2103
|
-
let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
|
|
2104
|
-
if (value === 2) {
|
|
2105
|
-
result += 60;
|
|
2106
|
-
}
|
|
2107
|
-
return result;
|
|
2108
|
-
},
|
|
2109
|
-
enumerable: false
|
|
2110
|
-
},
|
|
2111
|
-
rgbToAnsi: {
|
|
2112
|
-
value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
|
|
2113
|
-
enumerable: false
|
|
2114
|
-
},
|
|
2115
|
-
hexToAnsi: {
|
|
2116
|
-
value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
|
|
2117
|
-
enumerable: false
|
|
2118
|
-
}
|
|
2119
|
-
});
|
|
2120
|
-
return styles;
|
|
2121
|
-
}
|
|
2122
|
-
var ansiStyles = assembleStyles();
|
|
2123
|
-
var ansi_styles_default = ansiStyles;
|
|
2124
|
-
|
|
2125
|
-
// node_modules/chalk/source/vendor/supports-color/index.js
|
|
2126
|
-
import process2 from "process";
|
|
2127
|
-
import os from "os";
|
|
2128
|
-
import tty from "tty";
|
|
2129
|
-
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
|
|
2130
|
-
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
2131
|
-
const position = argv.indexOf(prefix + flag);
|
|
2132
|
-
const terminatorPosition = argv.indexOf("--");
|
|
2133
|
-
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
|
|
2134
|
-
}
|
|
2135
|
-
var { env } = process2;
|
|
2136
|
-
var flagForceColor;
|
|
2137
|
-
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
|
|
2138
|
-
flagForceColor = 0;
|
|
2139
|
-
} else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
|
|
2140
|
-
flagForceColor = 1;
|
|
2141
|
-
}
|
|
2142
|
-
function envForceColor() {
|
|
2143
|
-
if ("FORCE_COLOR" in env) {
|
|
2144
|
-
if (env.FORCE_COLOR === "true") {
|
|
2145
|
-
return 1;
|
|
2146
|
-
}
|
|
2147
|
-
if (env.FORCE_COLOR === "false") {
|
|
2148
|
-
return 0;
|
|
2149
|
-
}
|
|
2150
|
-
return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
|
|
2151
|
-
}
|
|
2152
|
-
}
|
|
2153
|
-
function translateLevel(level) {
|
|
2154
|
-
if (level === 0) {
|
|
2155
|
-
return false;
|
|
2156
|
-
}
|
|
2157
|
-
return {
|
|
2158
|
-
level,
|
|
2159
|
-
hasBasic: true,
|
|
2160
|
-
has256: level >= 2,
|
|
2161
|
-
has16m: level >= 3
|
|
2162
|
-
};
|
|
2163
|
-
}
|
|
2164
|
-
function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
|
|
2165
|
-
const noFlagForceColor = envForceColor();
|
|
2166
|
-
if (noFlagForceColor !== undefined) {
|
|
2167
|
-
flagForceColor = noFlagForceColor;
|
|
2168
|
-
}
|
|
2169
|
-
const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
|
|
2170
|
-
if (forceColor === 0) {
|
|
2171
|
-
return 0;
|
|
2172
|
-
}
|
|
2173
|
-
if (sniffFlags) {
|
|
2174
|
-
if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
|
|
2175
|
-
return 3;
|
|
2176
|
-
}
|
|
2177
|
-
if (hasFlag("color=256")) {
|
|
2178
|
-
return 2;
|
|
2179
|
-
}
|
|
2180
|
-
}
|
|
2181
|
-
if ("TF_BUILD" in env && "AGENT_NAME" in env) {
|
|
2182
|
-
return 1;
|
|
2183
|
-
}
|
|
2184
|
-
if (haveStream && !streamIsTTY && forceColor === undefined) {
|
|
2185
|
-
return 0;
|
|
2186
|
-
}
|
|
2187
|
-
const min = forceColor || 0;
|
|
2188
|
-
if (env.TERM === "dumb") {
|
|
2189
|
-
return min;
|
|
2190
|
-
}
|
|
2191
|
-
if (process2.platform === "win32") {
|
|
2192
|
-
const osRelease = os.release().split(".");
|
|
2193
|
-
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
|
|
2194
|
-
return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
2195
|
-
}
|
|
2196
|
-
return 1;
|
|
2197
|
-
}
|
|
2198
|
-
if ("CI" in env) {
|
|
2199
|
-
if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => (key in env))) {
|
|
2200
|
-
return 3;
|
|
2201
|
-
}
|
|
2202
|
-
if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => (sign in env)) || env.CI_NAME === "codeship") {
|
|
2203
|
-
return 1;
|
|
2204
|
-
}
|
|
2205
|
-
return min;
|
|
2206
|
-
}
|
|
2207
|
-
if ("TEAMCITY_VERSION" in env) {
|
|
2208
|
-
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
|
|
2209
|
-
}
|
|
2210
|
-
if (env.COLORTERM === "truecolor") {
|
|
2211
|
-
return 3;
|
|
2212
|
-
}
|
|
2213
|
-
if (env.TERM === "xterm-kitty") {
|
|
2214
|
-
return 3;
|
|
2215
|
-
}
|
|
2216
|
-
if (env.TERM === "xterm-ghostty") {
|
|
2217
|
-
return 3;
|
|
2218
|
-
}
|
|
2219
|
-
if (env.TERM === "wezterm") {
|
|
2220
|
-
return 3;
|
|
2221
|
-
}
|
|
2222
|
-
if ("TERM_PROGRAM" in env) {
|
|
2223
|
-
const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
|
|
2224
|
-
switch (env.TERM_PROGRAM) {
|
|
2225
|
-
case "iTerm.app": {
|
|
2226
|
-
return version >= 3 ? 3 : 2;
|
|
2227
|
-
}
|
|
2228
|
-
case "Apple_Terminal": {
|
|
2229
|
-
return 2;
|
|
2230
|
-
}
|
|
2231
|
-
}
|
|
2232
|
-
}
|
|
2233
|
-
if (/-256(color)?$/i.test(env.TERM)) {
|
|
2234
|
-
return 2;
|
|
2235
|
-
}
|
|
2236
|
-
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
|
|
2237
|
-
return 1;
|
|
2238
|
-
}
|
|
2239
|
-
if ("COLORTERM" in env) {
|
|
2240
|
-
return 1;
|
|
2241
|
-
}
|
|
2242
|
-
return min;
|
|
2243
|
-
}
|
|
2244
|
-
function createSupportsColor(stream, options = {}) {
|
|
2245
|
-
const level = _supportsColor(stream, {
|
|
2246
|
-
streamIsTTY: stream && stream.isTTY,
|
|
2247
|
-
...options
|
|
2248
|
-
});
|
|
2249
|
-
return translateLevel(level);
|
|
2250
|
-
}
|
|
2251
|
-
var supportsColor = {
|
|
2252
|
-
stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
|
|
2253
|
-
stderr: createSupportsColor({ isTTY: tty.isatty(2) })
|
|
2254
|
-
};
|
|
2255
|
-
var supports_color_default = supportsColor;
|
|
2256
|
-
|
|
2257
|
-
// node_modules/chalk/source/utilities.js
|
|
2258
|
-
function stringReplaceAll(string, substring, replacer) {
|
|
2259
|
-
let index = string.indexOf(substring);
|
|
2260
|
-
if (index === -1) {
|
|
2261
|
-
return string;
|
|
2262
|
-
}
|
|
2263
|
-
const substringLength = substring.length;
|
|
2264
|
-
let endIndex = 0;
|
|
2265
|
-
let returnValue = "";
|
|
2266
|
-
do {
|
|
2267
|
-
returnValue += string.slice(endIndex, index) + substring + replacer;
|
|
2268
|
-
endIndex = index + substringLength;
|
|
2269
|
-
index = string.indexOf(substring, endIndex);
|
|
2270
|
-
} while (index !== -1);
|
|
2271
|
-
returnValue += string.slice(endIndex);
|
|
2272
|
-
return returnValue;
|
|
2273
|
-
}
|
|
2274
|
-
function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
|
|
2275
|
-
let endIndex = 0;
|
|
2276
|
-
let returnValue = "";
|
|
2277
|
-
do {
|
|
2278
|
-
const gotCR = string[index - 1] === "\r";
|
|
2279
|
-
returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? `\r
|
|
2280
|
-
` : `
|
|
2281
|
-
`) + postfix;
|
|
2282
|
-
endIndex = index + 1;
|
|
2283
|
-
index = string.indexOf(`
|
|
2284
|
-
`, endIndex);
|
|
2285
|
-
} while (index !== -1);
|
|
2286
|
-
returnValue += string.slice(endIndex);
|
|
2287
|
-
return returnValue;
|
|
2288
|
-
}
|
|
2289
|
-
|
|
2290
|
-
// node_modules/chalk/source/index.js
|
|
2291
|
-
var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
|
|
2292
|
-
var GENERATOR = Symbol("GENERATOR");
|
|
2293
|
-
var STYLER = Symbol("STYLER");
|
|
2294
|
-
var IS_EMPTY = Symbol("IS_EMPTY");
|
|
2295
|
-
var levelMapping = [
|
|
2296
|
-
"ansi",
|
|
2297
|
-
"ansi",
|
|
2298
|
-
"ansi256",
|
|
2299
|
-
"ansi16m"
|
|
2300
|
-
];
|
|
2301
|
-
var styles2 = Object.create(null);
|
|
2302
|
-
var applyOptions = (object, options = {}) => {
|
|
2303
|
-
if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
|
|
2304
|
-
throw new Error("The `level` option should be an integer from 0 to 3");
|
|
2305
|
-
}
|
|
2306
|
-
const colorLevel = stdoutColor ? stdoutColor.level : 0;
|
|
2307
|
-
object.level = options.level === undefined ? colorLevel : options.level;
|
|
2308
|
-
};
|
|
2309
|
-
var chalkFactory = (options) => {
|
|
2310
|
-
const chalk = (...strings) => strings.join(" ");
|
|
2311
|
-
applyOptions(chalk, options);
|
|
2312
|
-
Object.setPrototypeOf(chalk, createChalk.prototype);
|
|
2313
|
-
return chalk;
|
|
2314
|
-
};
|
|
2315
|
-
function createChalk(options) {
|
|
2316
|
-
return chalkFactory(options);
|
|
2317
|
-
}
|
|
2318
|
-
Object.setPrototypeOf(createChalk.prototype, Function.prototype);
|
|
2319
|
-
for (const [styleName, style] of Object.entries(ansi_styles_default)) {
|
|
2320
|
-
styles2[styleName] = {
|
|
2321
|
-
get() {
|
|
2322
|
-
const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
|
|
2323
|
-
Object.defineProperty(this, styleName, { value: builder });
|
|
2324
|
-
return builder;
|
|
2325
|
-
}
|
|
2326
|
-
};
|
|
2327
|
-
}
|
|
2328
|
-
styles2.visible = {
|
|
2329
|
-
get() {
|
|
2330
|
-
const builder = createBuilder(this, this[STYLER], true);
|
|
2331
|
-
Object.defineProperty(this, "visible", { value: builder });
|
|
2332
|
-
return builder;
|
|
2333
|
-
}
|
|
2334
|
-
};
|
|
2335
|
-
var getModelAnsi = (model, level, type, ...arguments_) => {
|
|
2336
|
-
if (model === "rgb") {
|
|
2337
|
-
if (level === "ansi16m") {
|
|
2338
|
-
return ansi_styles_default[type].ansi16m(...arguments_);
|
|
2339
|
-
}
|
|
2340
|
-
if (level === "ansi256") {
|
|
2341
|
-
return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
|
|
2342
|
-
}
|
|
2343
|
-
return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
|
|
2344
|
-
}
|
|
2345
|
-
if (model === "hex") {
|
|
2346
|
-
return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
|
|
2347
|
-
}
|
|
2348
|
-
return ansi_styles_default[type][model](...arguments_);
|
|
2349
|
-
};
|
|
2350
|
-
var usedModels = ["rgb", "hex", "ansi256"];
|
|
2351
|
-
for (const model of usedModels) {
|
|
2352
|
-
styles2[model] = {
|
|
2353
|
-
get() {
|
|
2354
|
-
const { level } = this;
|
|
2355
|
-
return function(...arguments_) {
|
|
2356
|
-
const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
|
|
2357
|
-
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
2358
|
-
};
|
|
2359
|
-
}
|
|
2360
|
-
};
|
|
2361
|
-
const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
|
|
2362
|
-
styles2[bgModel] = {
|
|
2363
|
-
get() {
|
|
2364
|
-
const { level } = this;
|
|
2365
|
-
return function(...arguments_) {
|
|
2366
|
-
const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
|
|
2367
|
-
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
2368
|
-
};
|
|
2369
|
-
}
|
|
2370
|
-
};
|
|
2371
|
-
}
|
|
2372
|
-
var proto = Object.defineProperties(() => {
|
|
2373
|
-
}, {
|
|
2374
|
-
...styles2,
|
|
2375
|
-
level: {
|
|
2376
|
-
enumerable: true,
|
|
2377
|
-
get() {
|
|
2378
|
-
return this[GENERATOR].level;
|
|
2379
|
-
},
|
|
2380
|
-
set(level) {
|
|
2381
|
-
this[GENERATOR].level = level;
|
|
2382
|
-
}
|
|
2383
|
-
}
|
|
2384
|
-
});
|
|
2385
|
-
var createStyler = (open, close, parent) => {
|
|
2386
|
-
let openAll;
|
|
2387
|
-
let closeAll;
|
|
2388
|
-
if (parent === undefined) {
|
|
2389
|
-
openAll = open;
|
|
2390
|
-
closeAll = close;
|
|
2391
|
-
} else {
|
|
2392
|
-
openAll = parent.openAll + open;
|
|
2393
|
-
closeAll = close + parent.closeAll;
|
|
2394
|
-
}
|
|
2395
|
-
return {
|
|
2396
|
-
open,
|
|
2397
|
-
close,
|
|
2398
|
-
openAll,
|
|
2399
|
-
closeAll,
|
|
2400
|
-
parent
|
|
2401
|
-
};
|
|
2402
|
-
};
|
|
2403
|
-
var createBuilder = (self, _styler, _isEmpty) => {
|
|
2404
|
-
const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
|
|
2405
|
-
Object.setPrototypeOf(builder, proto);
|
|
2406
|
-
builder[GENERATOR] = self;
|
|
2407
|
-
builder[STYLER] = _styler;
|
|
2408
|
-
builder[IS_EMPTY] = _isEmpty;
|
|
2409
|
-
return builder;
|
|
2410
|
-
};
|
|
2411
|
-
var applyStyle = (self, string) => {
|
|
2412
|
-
if (self.level <= 0 || !string) {
|
|
2413
|
-
return self[IS_EMPTY] ? "" : string;
|
|
2414
|
-
}
|
|
2415
|
-
let styler = self[STYLER];
|
|
2416
|
-
if (styler === undefined) {
|
|
2417
|
-
return string;
|
|
2418
|
-
}
|
|
2419
|
-
const { openAll, closeAll } = styler;
|
|
2420
|
-
if (string.includes("\x1B")) {
|
|
2421
|
-
while (styler !== undefined) {
|
|
2422
|
-
string = stringReplaceAll(string, styler.close, styler.open);
|
|
2423
|
-
styler = styler.parent;
|
|
2424
|
-
}
|
|
2425
|
-
}
|
|
2426
|
-
const lfIndex = string.indexOf(`
|
|
2427
|
-
`);
|
|
2428
|
-
if (lfIndex !== -1) {
|
|
2429
|
-
string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
|
|
2430
|
-
}
|
|
2431
|
-
return openAll + string + closeAll;
|
|
2432
|
-
};
|
|
2433
|
-
Object.defineProperties(createChalk.prototype, styles2);
|
|
2434
|
-
var chalk = createChalk();
|
|
2435
|
-
var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
2436
|
-
var source_default = chalk;
|
|
2437
|
-
|
|
2438
1948
|
// node_modules/chokidar/index.js
|
|
2439
1949
|
import { EventEmitter } from "events";
|
|
2440
1950
|
import { stat as statcb, Stats } from "fs";
|
|
@@ -9206,435 +8716,961 @@ Inflate$1.prototype.push = function(data, flush_mode) {
|
|
|
9206
8716
|
}
|
|
9207
8717
|
}
|
|
9208
8718
|
}
|
|
9209
|
-
if (status === Z_OK && last_avail_out === 0)
|
|
9210
|
-
continue;
|
|
9211
|
-
if (status === Z_STREAM_END) {
|
|
9212
|
-
status = inflate_1$2.inflateEnd(this.strm);
|
|
9213
|
-
this.onEnd(status);
|
|
9214
|
-
this.ended = true;
|
|
9215
|
-
return true;
|
|
9216
|
-
}
|
|
9217
|
-
if (strm.avail_in === 0)
|
|
9218
|
-
break;
|
|
8719
|
+
if (status === Z_OK && last_avail_out === 0)
|
|
8720
|
+
continue;
|
|
8721
|
+
if (status === Z_STREAM_END) {
|
|
8722
|
+
status = inflate_1$2.inflateEnd(this.strm);
|
|
8723
|
+
this.onEnd(status);
|
|
8724
|
+
this.ended = true;
|
|
8725
|
+
return true;
|
|
8726
|
+
}
|
|
8727
|
+
if (strm.avail_in === 0)
|
|
8728
|
+
break;
|
|
8729
|
+
}
|
|
8730
|
+
return true;
|
|
8731
|
+
};
|
|
8732
|
+
Inflate$1.prototype.onData = function(chunk) {
|
|
8733
|
+
this.chunks.push(chunk);
|
|
8734
|
+
};
|
|
8735
|
+
Inflate$1.prototype.onEnd = function(status) {
|
|
8736
|
+
if (status === Z_OK) {
|
|
8737
|
+
if (this.options.to === "string") {
|
|
8738
|
+
this.result = this.chunks.join("");
|
|
8739
|
+
} else {
|
|
8740
|
+
this.result = common.flattenChunks(this.chunks);
|
|
8741
|
+
}
|
|
8742
|
+
}
|
|
8743
|
+
this.chunks = [];
|
|
8744
|
+
this.err = status;
|
|
8745
|
+
this.msg = this.strm.msg;
|
|
8746
|
+
};
|
|
8747
|
+
function inflate$1(input, options) {
|
|
8748
|
+
const inflator = new Inflate$1(options);
|
|
8749
|
+
inflator.push(input);
|
|
8750
|
+
if (inflator.err)
|
|
8751
|
+
throw inflator.msg || messages[inflator.err];
|
|
8752
|
+
return inflator.result;
|
|
8753
|
+
}
|
|
8754
|
+
function inflateRaw$1(input, options) {
|
|
8755
|
+
options = options || {};
|
|
8756
|
+
options.raw = true;
|
|
8757
|
+
return inflate$1(input, options);
|
|
8758
|
+
}
|
|
8759
|
+
var Inflate_1$1 = Inflate$1;
|
|
8760
|
+
var inflate_2 = inflate$1;
|
|
8761
|
+
var inflateRaw_1$1 = inflateRaw$1;
|
|
8762
|
+
var ungzip$1 = inflate$1;
|
|
8763
|
+
var constants = constants$2;
|
|
8764
|
+
var inflate_1$1 = {
|
|
8765
|
+
Inflate: Inflate_1$1,
|
|
8766
|
+
inflate: inflate_2,
|
|
8767
|
+
inflateRaw: inflateRaw_1$1,
|
|
8768
|
+
ungzip: ungzip$1,
|
|
8769
|
+
constants
|
|
8770
|
+
};
|
|
8771
|
+
var { Deflate, deflate, deflateRaw, gzip } = deflate_1$1;
|
|
8772
|
+
var { Inflate, inflate, inflateRaw, ungzip } = inflate_1$1;
|
|
8773
|
+
var Deflate_1 = Deflate;
|
|
8774
|
+
var deflate_1 = deflate;
|
|
8775
|
+
var deflateRaw_1 = deflateRaw;
|
|
8776
|
+
var gzip_1 = gzip;
|
|
8777
|
+
var Inflate_1 = Inflate;
|
|
8778
|
+
var inflate_1 = inflate;
|
|
8779
|
+
var inflateRaw_1 = inflateRaw;
|
|
8780
|
+
var ungzip_1 = ungzip;
|
|
8781
|
+
var constants_1 = constants$2;
|
|
8782
|
+
var pako = {
|
|
8783
|
+
Deflate: Deflate_1,
|
|
8784
|
+
deflate: deflate_1,
|
|
8785
|
+
deflateRaw: deflateRaw_1,
|
|
8786
|
+
gzip: gzip_1,
|
|
8787
|
+
Inflate: Inflate_1,
|
|
8788
|
+
inflate: inflate_1,
|
|
8789
|
+
inflateRaw: inflateRaw_1,
|
|
8790
|
+
ungzip: ungzip_1,
|
|
8791
|
+
constants: constants_1
|
|
8792
|
+
};
|
|
8793
|
+
|
|
8794
|
+
class VYI {
|
|
8795
|
+
static version = "4.1.0";
|
|
8796
|
+
static logger = new Logger;
|
|
8797
|
+
icons = new Map;
|
|
8798
|
+
name = "failed-to-find-vyi-name";
|
|
8799
|
+
formatVersion = 1;
|
|
8800
|
+
constructor(pVyiData) {
|
|
8801
|
+
VYI.logger.registerType("Vyi-module", "#ff6600");
|
|
8802
|
+
if (pVyiData) {
|
|
8803
|
+
this.parse(pVyiData);
|
|
8804
|
+
}
|
|
8805
|
+
}
|
|
8806
|
+
parse(pVyiData) {
|
|
8807
|
+
if (!pVyiData)
|
|
8808
|
+
return this;
|
|
8809
|
+
try {
|
|
8810
|
+
let vyi;
|
|
8811
|
+
if (typeof pVyiData === "string") {
|
|
8812
|
+
try {
|
|
8813
|
+
vyi = JSON.parse(pVyiData);
|
|
8814
|
+
} catch (pError) {
|
|
8815
|
+
if (!pVyiData.includes(".vyr") && !pVyiData.includes(".vyi")) {
|
|
8816
|
+
vyi = pVyiData;
|
|
8817
|
+
if (!vyi) {
|
|
8818
|
+
throw new Error("Non vyi data found from binary string");
|
|
8819
|
+
}
|
|
8820
|
+
} else {
|
|
8821
|
+
try {
|
|
8822
|
+
vyi = JSON.parse(pVyiData);
|
|
8823
|
+
} catch (e) {
|
|
8824
|
+
const isNodeEnv = typeof window === "undefined";
|
|
8825
|
+
if (isNodeEnv) {
|
|
8826
|
+
vyi = this.readFileAndGetVYI(pVyiData);
|
|
8827
|
+
} else {
|
|
8828
|
+
throw new Error("Invalid string input - not valid JSON or file path");
|
|
8829
|
+
}
|
|
8830
|
+
}
|
|
8831
|
+
}
|
|
8832
|
+
}
|
|
8833
|
+
} else if (pVyiData instanceof VYI) {
|
|
8834
|
+
vyi = pVyiData.export();
|
|
8835
|
+
} else if (pVyiData instanceof Object && !Array.isArray(pVyiData) && !(pVyiData instanceof ArrayBuffer || pVyiData instanceof Uint8Array)) {
|
|
8836
|
+
vyi = pVyiData;
|
|
8837
|
+
} else if (pVyiData instanceof ArrayBuffer || pVyiData instanceof Uint8Array) {
|
|
8838
|
+
vyi = this.handleBinaryData(pVyiData);
|
|
8839
|
+
} else {
|
|
8840
|
+
throw new Error("Error processing: Invalid input type provided.");
|
|
8841
|
+
}
|
|
8842
|
+
if (!vyi || (!vyi.v || !vyi.i) && !vyi.icons) {
|
|
8843
|
+
throw new Error("Non vyi data found.");
|
|
8844
|
+
}
|
|
8845
|
+
this.processVyiData(vyi);
|
|
8846
|
+
} catch (pError) {
|
|
8847
|
+
VYI.logger.prefix("Vyi-module").error(`${pError.message}`);
|
|
8848
|
+
}
|
|
8849
|
+
return this;
|
|
8850
|
+
}
|
|
8851
|
+
readFile(pVyiData) {
|
|
8852
|
+
try {
|
|
8853
|
+
const encoder = new TextEncoder;
|
|
8854
|
+
const binaryData = encoder.encode(pVyiData);
|
|
8855
|
+
const decompressed = pako.inflate(binaryData, { to: "string" });
|
|
8856
|
+
return JSON.parse(decompressed);
|
|
8857
|
+
} catch (error) {
|
|
8858
|
+
console.error("File reading failed:", error);
|
|
8859
|
+
return null;
|
|
8860
|
+
}
|
|
8861
|
+
}
|
|
8862
|
+
readFileAndGetVYI(pURL) {
|
|
8863
|
+
const fs = () => ({});
|
|
8864
|
+
const data = fs.readFileSync(pURL);
|
|
8865
|
+
return this.handleBinaryData(data);
|
|
8866
|
+
}
|
|
8867
|
+
async fetchAndParseJSON(pURL) {
|
|
8868
|
+
try {
|
|
8869
|
+
const response = await fetch(pURL);
|
|
8870
|
+
const jsonData = await response.json();
|
|
8871
|
+
return jsonData;
|
|
8872
|
+
} catch (pError) {
|
|
8873
|
+
throw new Error(`Failed to fetch or parse JSON from URL: ${pError}`);
|
|
8874
|
+
}
|
|
8875
|
+
}
|
|
8876
|
+
handleBinaryData(pBinaryData) {
|
|
8877
|
+
const byteArray = pBinaryData instanceof ArrayBuffer ? new Uint8Array(pBinaryData) : pBinaryData;
|
|
8878
|
+
try {
|
|
8879
|
+
const decompressed = pako.inflate(byteArray, { to: "string" });
|
|
8880
|
+
if (!decompressed)
|
|
8881
|
+
return null;
|
|
8882
|
+
return JSON.parse(decompressed);
|
|
8883
|
+
} catch (pError) {
|
|
8884
|
+
try {
|
|
8885
|
+
const decodedText = new TextDecoder().decode(byteArray);
|
|
8886
|
+
if (!decodedText)
|
|
8887
|
+
return null;
|
|
8888
|
+
return JSON.parse(decodedText);
|
|
8889
|
+
} catch (pDecodeError) {
|
|
8890
|
+
console.error("Decoding failed:", pDecodeError);
|
|
8891
|
+
return null;
|
|
8892
|
+
}
|
|
8893
|
+
}
|
|
8894
|
+
}
|
|
8895
|
+
processVyiData(pVyi) {
|
|
8896
|
+
this.icons.clear();
|
|
8897
|
+
const icons = pVyi.i || pVyi.icons;
|
|
8898
|
+
this.formatVersion = pVyi.v ?? "format not found";
|
|
8899
|
+
if (Array.isArray(icons)) {
|
|
8900
|
+
icons.forEach((pIconData) => {
|
|
8901
|
+
if (!Array.isArray(pIconData) && typeof pIconData === "object") {
|
|
8902
|
+
const convertedIconData = this.convertOldIconData(pIconData);
|
|
8903
|
+
this.addIcon(convertedIconData);
|
|
8904
|
+
} else {
|
|
8905
|
+
this.addIcon(pIconData);
|
|
8906
|
+
}
|
|
8907
|
+
});
|
|
8908
|
+
} else {
|
|
8909
|
+
VYI.logger.prefix("Vyi-module").error("Invalid .vyi file! Cannot parse icons.");
|
|
8910
|
+
}
|
|
8911
|
+
}
|
|
8912
|
+
convertOldIconData(pOldData) {
|
|
8913
|
+
const frames = Array.isArray(pOldData.frames) ? pOldData.frames.map((f) => [f.data, f.delay]) : [];
|
|
8914
|
+
const states = Array.isArray(pOldData.states) ? pOldData.states.map((s) => {
|
|
8915
|
+
const stateFrames = Array.isArray(s.frames) ? s.frames.map((f) => [f.data, f.delay]) : [];
|
|
8916
|
+
return [s.name, s.data, s.delay || 100, stateFrames];
|
|
8917
|
+
}) : [];
|
|
8918
|
+
return [
|
|
8919
|
+
pOldData.name || "",
|
|
8920
|
+
pOldData.w || 32,
|
|
8921
|
+
pOldData.h || 32,
|
|
8922
|
+
pOldData.delay || 100,
|
|
8923
|
+
pOldData.data || "",
|
|
8924
|
+
frames,
|
|
8925
|
+
states
|
|
8926
|
+
];
|
|
8927
|
+
}
|
|
8928
|
+
addIcon(pIconData) {
|
|
8929
|
+
if (!pIconData) {
|
|
8930
|
+
VYI.logger.prefix("Vyi-module").error("No icon data passed!");
|
|
8931
|
+
return;
|
|
8932
|
+
}
|
|
8933
|
+
if (!(pIconData instanceof Icon) && !Array.isArray(pIconData)) {
|
|
8934
|
+
VYI.logger.prefix("Vyi-module").error("Invalid icon data type passed!");
|
|
8935
|
+
return;
|
|
8936
|
+
}
|
|
8937
|
+
const icon = pIconData instanceof Icon ? pIconData : new Icon(pIconData);
|
|
8938
|
+
this.icons.set(icon.id, icon);
|
|
8939
|
+
icon.setVyi(this);
|
|
8940
|
+
return icon;
|
|
8941
|
+
}
|
|
8942
|
+
removeIcon(pIcon) {
|
|
8943
|
+
if (!pIcon)
|
|
8944
|
+
return;
|
|
8945
|
+
if (pIcon instanceof Icon) {
|
|
8946
|
+
if (this.icons.delete(pIcon.id)) {
|
|
8947
|
+
pIcon.removeVyi();
|
|
8948
|
+
}
|
|
8949
|
+
}
|
|
8950
|
+
}
|
|
8951
|
+
removeIconByName(pName) {
|
|
8952
|
+
const icon = this.getIcon(pName);
|
|
8953
|
+
if (icon) {
|
|
8954
|
+
this.removeIcon(icon);
|
|
8955
|
+
}
|
|
8956
|
+
}
|
|
8957
|
+
removeIconById(pId) {
|
|
8958
|
+
const icon = this.getIconById(pId);
|
|
8959
|
+
if (icon) {
|
|
8960
|
+
this.removeIcon(icon);
|
|
8961
|
+
}
|
|
8962
|
+
}
|
|
8963
|
+
getIconNames() {
|
|
8964
|
+
const iconNames = this.getIcons().map((pIcon) => pIcon.name);
|
|
8965
|
+
return iconNames;
|
|
8966
|
+
}
|
|
8967
|
+
getIcon(pName) {
|
|
8968
|
+
if (typeof pName === "string") {
|
|
8969
|
+
const icons = this.getIcons();
|
|
8970
|
+
for (let i = icons.length - 1;i >= 0; i--) {
|
|
8971
|
+
const icon = icons[i];
|
|
8972
|
+
if (icon.getName() === pName) {
|
|
8973
|
+
return icon;
|
|
8974
|
+
}
|
|
8975
|
+
}
|
|
8976
|
+
} else {
|
|
8977
|
+
VYI.logger.prefix("Vyi-module").error("Invalid name type used!");
|
|
8978
|
+
}
|
|
9219
8979
|
}
|
|
9220
|
-
|
|
9221
|
-
|
|
9222
|
-
|
|
9223
|
-
|
|
9224
|
-
|
|
9225
|
-
|
|
9226
|
-
|
|
9227
|
-
|
|
9228
|
-
|
|
8980
|
+
getIconCount() {
|
|
8981
|
+
return this.icons.size;
|
|
8982
|
+
}
|
|
8983
|
+
getIconById(pId) {
|
|
8984
|
+
if (!pId)
|
|
8985
|
+
return;
|
|
8986
|
+
const icon = this.icons.get(pId) || this.getIcons().find((pIcon) => pIcon.states.has(pId))?.getStateById(pId);
|
|
8987
|
+
return icon;
|
|
8988
|
+
}
|
|
8989
|
+
getIcons() {
|
|
8990
|
+
return Array.from(this.icons.values());
|
|
8991
|
+
}
|
|
8992
|
+
rename(pName) {
|
|
8993
|
+
if (typeof pName === "string") {
|
|
8994
|
+
this.name = pName;
|
|
9229
8995
|
} else {
|
|
9230
|
-
|
|
8996
|
+
VYI.logger.prefix("Vyi-module").error("Invalid name type used!");
|
|
9231
8997
|
}
|
|
9232
8998
|
}
|
|
9233
|
-
|
|
9234
|
-
|
|
9235
|
-
|
|
9236
|
-
|
|
9237
|
-
|
|
9238
|
-
|
|
9239
|
-
|
|
9240
|
-
|
|
9241
|
-
|
|
9242
|
-
|
|
9243
|
-
|
|
9244
|
-
|
|
9245
|
-
|
|
9246
|
-
|
|
9247
|
-
|
|
8999
|
+
getName() {
|
|
9000
|
+
return this.name;
|
|
9001
|
+
}
|
|
9002
|
+
export(pCompressed) {
|
|
9003
|
+
const vyi = {
|
|
9004
|
+
v: this.formatVersion,
|
|
9005
|
+
i: this.getIcons().map((pIcon) => pIcon.export())
|
|
9006
|
+
};
|
|
9007
|
+
if (pCompressed) {
|
|
9008
|
+
const binaryData = new TextEncoder().encode(JSON.stringify(vyi));
|
|
9009
|
+
const compressed = pako.deflate(binaryData);
|
|
9010
|
+
return compressed;
|
|
9011
|
+
}
|
|
9012
|
+
return vyi;
|
|
9013
|
+
}
|
|
9248
9014
|
}
|
|
9249
|
-
var
|
|
9250
|
-
|
|
9251
|
-
|
|
9252
|
-
|
|
9253
|
-
|
|
9254
|
-
|
|
9255
|
-
|
|
9256
|
-
|
|
9257
|
-
|
|
9258
|
-
|
|
9259
|
-
|
|
9260
|
-
|
|
9261
|
-
|
|
9262
|
-
|
|
9263
|
-
|
|
9264
|
-
|
|
9265
|
-
|
|
9266
|
-
|
|
9267
|
-
|
|
9268
|
-
|
|
9269
|
-
|
|
9270
|
-
|
|
9271
|
-
|
|
9272
|
-
|
|
9273
|
-
|
|
9274
|
-
deflate: deflate_1,
|
|
9275
|
-
|
|
9276
|
-
|
|
9277
|
-
|
|
9278
|
-
inflate: inflate_1,
|
|
9279
|
-
inflateRaw: inflateRaw_1,
|
|
9280
|
-
ungzip: ungzip_1,
|
|
9281
|
-
constants: constants_1
|
|
9282
|
-
};
|
|
9015
|
+
var WORKER_CODE = `/*!
|
|
9016
|
+
* vyi@4.1.0 https://github.com/EvitcaStudio/vyi
|
|
9017
|
+
* Compiled Sun, 21 Jun 2026 10:57:24 UTC
|
|
9018
|
+
* Copyright (c) 2026 Evitca Studio, "doubleactii"
|
|
9019
|
+
*
|
|
9020
|
+
* vyi is privately licensed.
|
|
9021
|
+
*/
|
|
9022
|
+
var a0=((Q)=>typeof require!=="undefined"?require:typeof Proxy!=="undefined"?new Proxy(Q,{get:(W,J)=>(typeof require!=="undefined"?require:W)[J]}):Q)(function(Q){if(typeof require!=="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+Q+'" is not supported')});/*!
|
|
9023
|
+
* logger@1.0.0 https://github.com/EvitcaStudio/Logger
|
|
9024
|
+
* Compiled Mon, 10 Nov 2025 05:36:23 UTC
|
|
9025
|
+
* Copyright (c) 2025 Evitca Studio, "doubleactii"
|
|
9026
|
+
*
|
|
9027
|
+
* logger is privately licensed.
|
|
9028
|
+
*/class eQ{RESET;BRIGHT;DIM;UNDERSCORE;BLINK;REVERSE;HIDDEN;FG_BLACK;FG_RED;FG_GREEN;FG_YELLOW;FG_BLUE;FG_MAGENTA;FG_CYAN;FG_WHITE;FG_GRAY;BG_BLACK;BG_RED;BG_GREEN;BG_YELLOW;BG_BLUE;BG_MAGENTA;BG_CYAN;BG_WHITE;BG_GRAY;TYPE_SPACER_LENGTH;types;currentType;SPACE_CHAR;FG_COLORS;BG_COLORS;constructor(Q){this.RESET="\\x1B[0m",this.BRIGHT="\\x1B[1m",this.DIM="\\x1B[2m",this.UNDERSCORE="\\x1B[4m",this.BLINK="\\x1B[5m",this.REVERSE="\\x1B[7m",this.HIDDEN="\\x1B[8m",this.FG_BLACK="\\x1B[30m",this.FG_RED="\\x1B[31m",this.FG_GREEN="\\x1B[32m",this.FG_YELLOW="\\x1B[33m",this.FG_BLUE="\\x1B[34m",this.FG_MAGENTA="\\x1B[35m",this.FG_CYAN="\\x1B[36m",this.FG_WHITE="\\x1B[37m",this.FG_GRAY="\\x1B[90m",this.BG_BLACK="\\x1B[40m",this.BG_RED="\\x1B[41m",this.BG_GREEN="\\x1B[42m",this.BG_YELLOW="\\x1B[43m",this.BG_BLUE="\\x1B[44m",this.BG_MAGENTA="\\x1B[45m",this.BG_CYAN="\\x1B[46m",this.BG_WHITE="\\x1B[47m",this.BG_GRAY="\\x1B[100m",this.TYPE_SPACER_LENGTH=13,this.types={default:this.FG_WHITE},this.currentType="",this.SPACE_CHAR=" ",this.FG_COLORS={};for(let W=0;W<=255;W++)this.FG_COLORS[W]="\\x1B[38;5;"+W+"m";this.BG_COLORS={};for(let W=0;W<=255;W++)this.BG_COLORS[W]="\\x1B[48;5;"+W+"m";if(Array.isArray(Q))this.registerTypes(Q)}prefix(Q){if(typeof Q==="string")this.currentType=Q;return this}message(Q="log",...W){let J=this.currentType?this.currentType:"";if(J.length===0)console[Q](...W);else{let G=J.length>=this.TYPE_SPACER_LENGTH,q=this.types[J.toLowerCase()]?this.types[J.toLowerCase()]:this.types.default,z=q.includes("\\x1B");if(!z)q=\`color: \${q}\`;if(typeof globalThis.window!=="undefined")if(z)console[Q](q+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|"+this.RESET,...W);else console[Q]("%c"+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|",q,...W);else console[Q](q+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|"+this.RESET,...W)}this.currentType=""}log(...Q){this.message("log",...Q)}info(...Q){this.message("info",...Q)}error(...Q){this.message("error",...Q)}warn(...Q){this.message("warn",...Q)}assert(...Q){console.assert(...Q)}debug(...Q){this.message("debug",...Q)}count(Q){console.count(Q)}countReset(Q){console.countReset(Q)}table(Q,W){console.table(Q,W)}time(Q="default"){this.message("time",Q)}timeLog(Q="default",...W){this.message("timeLog",Q,...W)}timeEnd(Q="default"){this.message("timeEnd",Q)}trace(...Q){this.message("trace",...Q)}group(Q=""){this.message("group",Q)}groupCollapsed(Q=""){this.message("groupCollapsed",Q)}groupEnd(){console.groupEnd()}clear(){console.clear()}registerType(Q,W){if(this.types[Q.toLowerCase()])return;if(typeof Q==="string"&&typeof W==="string")this.types[Q.toLowerCase()]=W}registerTypes(Q){if(Array.isArray(Q))for(let W=0;W<Q.length;W++)this.registerType(Q[W].type,Q[W].ansi)}unregisterType(Q){let W=Q.toLowerCase();if(this.types[W])delete this.types[W]}}class n{delay=100;dataURL="";index=0;parent=null;static defaultDelay=100;constructor(Q){if(Q)this.parse(Q)}parse(Q){if(!Q)return;let W=Q[0],J=Q[1]?Q[1]:this.parent?this.parent.getDelay():null;if(this.setDataURL(W),J)this.setDelay(J)}setParent(Q){if(!Q||this.parent)return;if(Q instanceof T){if(this.parent=Q,!this.getDelay())this.setDelay(this.parent.getDelay())}}removeParent(){this.parent=null}setDelay(Q){if(typeof Q==="number")this.delay=Q;else w.logger.prefix("Vyi-module").error("Invalid delay type!");return this}getDelay(){return this.delay}getIndex(){return this.index}setDataURL(Q){if(typeof Q==="string")this.dataURL=Q.replace(/^data:image\\/[a-z]+;base64,/,"");else w.logger.prefix("Vyi-module").error("Invalid data url type!");return this}getDataURL(){return this.dataURL}getWidth(){if(!this.parent)return;return this.parent.width}getHeight(){if(!this.parent)return;return this.parent.height}getSize(){if(!this.parent)return;return{width:this.parent.width,height:this.parent.height}}getVyi(){return this?.parent?.vyi}getParent(){return this.parent}export(){let Q=[this.getDataURL()];if(this.getDelay()!==n.defaultDelay)Q[1]=this.getDelay()||n.defaultDelay;return Q}}/*!
|
|
9029
|
+
* icon-point@2.1.0 https://github.com/EvitcaStudio/IconPoint
|
|
9030
|
+
* Compiled Mon, 10 Nov 2025 09:52:21 UTC
|
|
9031
|
+
* Copyright (c) 2025 Evitca Studio, "doubleactii"
|
|
9032
|
+
*
|
|
9033
|
+
* icon-point is privately licensed.
|
|
9034
|
+
*//*!
|
|
9035
|
+
* logger@1.0.0 https://github.com/EvitcaStudio/Logger
|
|
9036
|
+
* Compiled Mon, 10 Nov 2025 05:36:23 UTC
|
|
9037
|
+
* Copyright (c) 2025 Evitca Studio, "doubleactii"
|
|
9038
|
+
*
|
|
9039
|
+
* logger is privately licensed.
|
|
9040
|
+
*/class SJ{RESET;BRIGHT;DIM;UNDERSCORE;BLINK;REVERSE;HIDDEN;FG_BLACK;FG_RED;FG_GREEN;FG_YELLOW;FG_BLUE;FG_MAGENTA;FG_CYAN;FG_WHITE;FG_GRAY;BG_BLACK;BG_RED;BG_GREEN;BG_YELLOW;BG_BLUE;BG_MAGENTA;BG_CYAN;BG_WHITE;BG_GRAY;TYPE_SPACER_LENGTH;types;currentType;SPACE_CHAR;FG_COLORS;BG_COLORS;constructor(Q){this.RESET="\\x1B[0m",this.BRIGHT="\\x1B[1m",this.DIM="\\x1B[2m",this.UNDERSCORE="\\x1B[4m",this.BLINK="\\x1B[5m",this.REVERSE="\\x1B[7m",this.HIDDEN="\\x1B[8m",this.FG_BLACK="\\x1B[30m",this.FG_RED="\\x1B[31m",this.FG_GREEN="\\x1B[32m",this.FG_YELLOW="\\x1B[33m",this.FG_BLUE="\\x1B[34m",this.FG_MAGENTA="\\x1B[35m",this.FG_CYAN="\\x1B[36m",this.FG_WHITE="\\x1B[37m",this.FG_GRAY="\\x1B[90m",this.BG_BLACK="\\x1B[40m",this.BG_RED="\\x1B[41m",this.BG_GREEN="\\x1B[42m",this.BG_YELLOW="\\x1B[43m",this.BG_BLUE="\\x1B[44m",this.BG_MAGENTA="\\x1B[45m",this.BG_CYAN="\\x1B[46m",this.BG_WHITE="\\x1B[47m",this.BG_GRAY="\\x1B[100m",this.TYPE_SPACER_LENGTH=13,this.types={default:this.FG_WHITE},this.currentType="",this.SPACE_CHAR=" ",this.FG_COLORS={};for(let W=0;W<=255;W++)this.FG_COLORS[W]="\\x1B[38;5;"+W+"m";this.BG_COLORS={};for(let W=0;W<=255;W++)this.BG_COLORS[W]="\\x1B[48;5;"+W+"m";if(Array.isArray(Q))this.registerTypes(Q)}prefix(Q){if(typeof Q==="string")this.currentType=Q;return this}message(Q="log",...W){let J=this.currentType?this.currentType:"";if(J.length===0)console[Q](...W);else{let G=J.length>=this.TYPE_SPACER_LENGTH,q=this.types[J.toLowerCase()]?this.types[J.toLowerCase()]:this.types.default,z=q.includes("\\x1B");if(!z)q=\`color: \${q}\`;if(typeof globalThis.window!=="undefined")if(z)console[Q](q+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|"+this.RESET,...W);else console[Q]("%c"+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|",q,...W);else console[Q](q+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|"+this.RESET,...W)}this.currentType=""}log(...Q){this.message("log",...Q)}info(...Q){this.message("info",...Q)}error(...Q){this.message("error",...Q)}warn(...Q){this.message("warn",...Q)}assert(...Q){console.assert(...Q)}debug(...Q){this.message("debug",...Q)}count(Q){console.count(Q)}countReset(Q){console.countReset(Q)}table(Q,W){console.table(Q,W)}time(Q="default"){this.message("time",Q)}timeLog(Q="default",...W){this.message("timeLog",Q,...W)}timeEnd(Q="default"){this.message("timeEnd",Q)}trace(...Q){this.message("trace",...Q)}group(Q=""){this.message("group",Q)}groupCollapsed(Q=""){this.message("groupCollapsed",Q)}groupEnd(){console.groupEnd()}clear(){console.clear()}registerType(Q,W){if(this.types[Q.toLowerCase()])return;if(typeof Q==="string"&&typeof W==="string")this.types[Q.toLowerCase()]=W}registerTypes(Q){if(Array.isArray(Q))for(let W=0;W<Q.length;W++)this.registerType(Q[W].type,Q[W].ansi)}unregisterType(Q){let W=Q.toLowerCase();if(this.types[W])delete this.types[W]}}class E{static defaultOffset={x:0,y:0};static defaultAnchor={x:0.5,y:0.5};static version="2.1.0";static logger=new SJ;iconPoint={x:0,y:0};originalPoint={x:0,y:0};positionalPoint;point={x:0,y:0};bounds={width:32,height:32};id;constructor(Q,W,J,j){let{width:G,height:q}=W;this.bounds.width=G,this.bounds.height=q,this.positionalPoint=Q,this.originalPoint={...J},this.id=j||"",E.logger.registerType("IconPointModule","#ff6600"),this.setPoint(J)}getPoint(Q=0,W=E.defaultOffset,J=E.defaultAnchor){let j=this.positionalPoint.x+W.x+this.bounds.width*J.x,G=this.positionalPoint.y+W.y+this.bounds.height*J.y,q=this.positionalPoint.x+W.x-1+this.iconPoint.x,z=this.positionalPoint.y+W.y-1+this.iconPoint.y,U=q-j,Y=z-G,X=U*Math.cos(Q)-Y*-Math.sin(Q),K=U*-Math.sin(Q)+Y*Math.cos(Q),P=X+j,k=K+G;return this.point.x=P,this.point.y=k,this.point}getPointFromExternalPoint(Q,W=0,J=E.defaultOffset,j=E.defaultAnchor){let G=Q.x+J.x+this.bounds.width*j.x,q=Q.y+J.y+this.bounds.height*j.y,z=Q.x+J.x-1+this.iconPoint.x,U=Q.y+J.y-1+this.iconPoint.y,Y=z-G,X=U-q,K=Y*Math.cos(W)-X*-Math.sin(W),P=Y*-Math.sin(W)+X*Math.cos(W),k=K+G,V=P+q;return this.point.x=k,this.point.y=V,this.point}setPoint(Q){let{x:W,y:J,isNormalized:j}=Q;this.iconPoint.x=j?W*this.bounds.width:W,this.iconPoint.y=j?J*this.bounds.height:J}resetPoint(){this.setPoint(this.originalPoint)}updateBounds(Q){let{width:W,height:J}=Q;this.bounds.width=W,this.bounds.height=J}transformX(Q){let W=Math.abs(Q*this.bounds.width);this.iconPoint.x=W-this.originalPoint.x}transformY(Q){let W=Math.abs(Q*this.bounds.height);this.iconPoint.y=W-this.originalPoint.y}transform(Q){this.transformX(Q.x),this.transformY(Q.y)}getId(){return this.id}export(){return{...this.bounds,...this.iconPoint,id:this.id}}}class tQ{bounds={};add(Q,W){this.bounds[Q]=W}remove(Q){delete this.bounds[Q]}update(Q,W){if(this.bounds[Q])this.bounds[Q]={...this.bounds[Q],...W}}rename(Q,W){if(this.bounds[Q])this.bounds[W]=this.bounds[Q],delete this.bounds[Q]}get(Q){return this.bounds[Q]}getAll(){return{...this.bounds}}getIdsByShape(Q){return Object.keys(this.bounds).filter((W)=>this.bounds[W].type===Q)}exportAll(){return this.getAll()}clearAll(){this.bounds={}}loadBounds(Q){this.clearAll(),Object.entries(Q).forEach(([W,J])=>{this.add(W,J)})}}class T{states=new Map;frames=new Map;width=32;height=32;dataURL="";delay=100;name="";parent=null;vyi=null;id="";static reservedIds=new Set;iconPoints=new Set;boundsManager=new tQ;static reservedIconPointIds=new Set(["center","top-left","top-right","bottom-left","bottom-right","top-middle","bottom-middle","left-middle","right-middle"]);static generateId(){let Q=()=>{return Math.floor(Math.random()*4294967295).toString(16).padStart(8,"0")},W=Q();while(this.reservedIds.has(W))W=Q();return this.reservedIds.add(W),W}constructor(Q){if(Q)this.parse(Q);this.assignId()}setParent(Q){if(!Q||this.parent)return;if(Q instanceof T)this.parent=Q}removeParent(){if(this.parent)this.parent=null,this.vyi=null}setVyi(Q){if(!Q)return;if(Q instanceof w){if(this.vyi=Q,this.getStateCount()>0)this.getStates().forEach((j)=>{j.setParent(this),j.setVyi(Q)});this.getFrames().forEach((J)=>J.setParent(this))}}removeVyi(){this.vyi=null}assignId(){this.id=T.generateId()}getId(){return this.id}getVyi(){return this.vyi}getParent(){return this.parent}getStateCount(){return this.states.size}getFrameCount(){return this.frames.size}parse(Q){if(!Q)return;let W=Q[0],J=Q[1],j=Q[2],G=Q[3],q=Q[4],z=Q[5],U=Q[6],Y=Q[7],X=Q[8];if(this.rename(W),this.setSize(J,j),this.setDelay(G),this.setDataURL(q),Array.isArray(z))z.forEach((K)=>{this.addFrame(K)});if(Array.isArray(U))U.forEach((K)=>{let P=new T(void 0),k=K[0],V=K[1],Z=K[2],M=K[3],$=K[4];if(P.rename(k),P.setSize(J,j),P.setDelay(Z),P.setDataURL(V),Array.isArray(M))M.forEach((C)=>{P.addFrame(C)});if($&&typeof $==="object")P.boundsManager.loadBounds($);this.addState(P)});if(Array.isArray(Y))Y.forEach((K)=>{let{x:P,y:k,width:V,height:Z,id:M}=K;if(T.reservedIconPointIds.has(M))return;this.addIconPoint({x:0,y:0},{width:V,height:Z},{x:P,y:k},M)});if(X&&typeof X==="object")this.boundsManager.loadBounds(X);this.resetInitialIconPoints()}resetInitialIconPoints(){let Q=this.getWidth(),W=this.getHeight();Array.from(T.reservedIconPointIds).forEach((k)=>{let V=Array.from(this.iconPoints).find((Z)=>Z.getId()===k);if(!V)return;this.iconPoints.delete(V)});let J={x:1,y:1},j=new E(J,{width:Q,height:W},{x:Math.round(Q/2),y:Math.round(W/2)},"center"),G=new E(J,{width:Q,height:W},{x:1,y:1},"top-left"),q=new E(J,{width:Q,height:W},{x:Q,y:1},"top-right"),z=new E(J,{width:Q,height:W},{x:1,y:W},"bottom-left"),U=new E(J,{width:Q,height:W},{x:Q,y:W},"bottom-right"),Y=new E(J,{width:Q,height:W},{x:Math.round(Q/2),y:1},"top-middle"),X=new E(J,{width:Q,height:W},{x:Math.round(Q/2),y:W},"bottom-middle"),K=new E(J,{width:Q,height:W},{x:1,y:Math.round(W/2)},"left-middle"),P=new E(J,{width:Q,height:W},{x:Q,y:Math.round(W/2)},"right-middle");this.iconPoints.add(j),this.iconPoints.add(G),this.iconPoints.add(q),this.iconPoints.add(z),this.iconPoints.add(U),this.iconPoints.add(Y),this.iconPoints.add(X),this.iconPoints.add(K),this.iconPoints.add(P)}addIconPoint(Q,W,J,j){if(T.reservedIconPointIds.has(j)){w.logger.prefix("Vyi-module").error(\`The id \${j} is reserved and cannot be used for additional icon points.\`);return}let G=new E(Q,W,J,j);return this.iconPoints.add(G),G}removeIconPoint(Q){for(let W of this.iconPoints)if(W.getId()===Q&&!T.reservedIconPointIds.has(Q)){this.iconPoints.delete(W);break}}getIconPointExportById(Q){for(let W of this.iconPoints)if(W.getId()===Q)return W.export();return}getIconPointsExport(){let Q=[];return this.iconPoints.forEach((W)=>Q.push(W.export())),Q}getIconPointById(Q){for(let W of this.iconPoints)if(W.getId()===Q)return W;return}getIconPoints(){let Q=[];return this.iconPoints.forEach((W)=>Q.push(W)),Q}getBoundsExport(){return this.boundsManager.exportAll()}getBoundsById(Q){return this.boundsManager.get(Q)}getIdsByShape(Q){return this.boundsManager.getIdsByShape(Q)}setBounds(Q,W){return this.boundsManager.add(Q,W),this}removeBounds(Q){return this.boundsManager.remove(Q),this}updateBounds(Q,W){return this.boundsManager.update(Q,W),this}setSize(Q,W){if(typeof Q==="number")this.width=Q;if(typeof W==="number")this.height=W;return this}getWidth(){return this.width}getHeight(){return this.height}getSize(){return{width:this.width,height:this.height}}setDataURL(Q){if(typeof Q==="string")this.dataURL=Q.replace(/^data:image\\/[a-z]+;base64,/,"");else w.logger.prefix("Vyi-module").error("Invalid data url type!");return this}getDataURL(){return this.dataURL}setDelay(Q){if(typeof Q==="number")this.delay=Q;else w.logger.prefix("Vyi-module").error("Invalid delay type!");return this}getDelay(){return this.delay}rename(Q){if(typeof Q==="string")try{this.name=decodeURIComponent(Q)}catch{this.name=Q}else w.logger.prefix("Vyi-module").error("Invalid type for pName!");return this}getName(){return this.name}setAllFrameDelays(Q){if(typeof Q==="number")this.setDelay(Q),this.getFrames().forEach((W)=>W.setDelay(Q));else w.logger.prefix("Vyi-module").error("Invalid type for pDelay!");return this}addFrame(Q){if(!Q){w.logger.prefix("Vyi-module").error("No frame data passed!");return}if(!(Q instanceof n)&&!Array.isArray(Q)){w.logger.prefix("Vyi-module").error("Invalid frame data type passed!");return}let W=Q instanceof n?Q:new n(Q);return W.setParent(this),this.frames.set(this.frames.size,W),this.indexFrames(),W}removeFrame(Q){if(!Q)return this;if(Q instanceof n){if(this.frames.delete(Q.index))Q.removeParent(),this.indexFrames()}return this}removeFrameByIndex(Q){let W=this.getFrame(Q);if(W)this.removeFrame(W);return this}indexFrames(){let Q=this.getFrames();this.frames.clear(),Q.forEach((W,J)=>{W.index=J,this.frames.set(J,W)})}reorderFrame(Q,W){if(typeof Q==="number"&&typeof W==="number"){let J=this.getFrame(W),j=Q===-1?this:this.getFrame(Q);if(j&&J){let G=j.getDataURL(),q=j.getDelay(),z=J.getDataURL(),U=J.getDelay();j.setDataURL(z),j.setDelay(U),J.setDataURL(G),J.setDelay(q)}else w.logger.prefix("Vyi-module").error("There was no frame found at pCurrentIndex, or there was no frame found at pIndex!")}else w.logger.prefix("Vyi-module").error("Invalid type used!");return this}getFrame(Q){return this.frames.get(Q)}getFrames(){return Array.from(this.frames.values())}getFramesData(){return this.getFrames().map((W)=>W.export())}addState(Q){if(!Q){w.logger.prefix("Vyi-module").error("No icon data passed!");return}if(!(Q instanceof T)&&!Array.isArray(Q)){w.logger.prefix("Vyi-module").error("Invalid icon data type passed!");return}let W=Q instanceof T?Q:new T(this.convertStateDataToIconData(Q));if(W.getWidth()!==this.getWidth()||W.getHeight()!==this.getHeight()){w.logger.prefix("Vyi-module").error("State dimensions do not match parent!");return}if(W.setParent(this),this.vyi)W.setVyi(this.vyi);return this.states.set(W.id,W),W}removeState(Q){if(Q instanceof T){if(this.states.delete(Q.id))Q.removeParent()}return this}removeStateByName(Q){let W=this.getState(Q);if(W)this.removeState(W);return this}removeStateById(Q){let W=this.getStateById(Q);if(W)this.removeState(W);return this}getState(Q){if(typeof Q==="string"){let W=this.getStates();for(let J=W.length-1;J>=0;J--){let j=W[J];if(j.getName()===Q)return j}return}else{w.logger.prefix("Vyi-module").error("Invalid name type used!");return}}getStateById(Q){if(!Q)return;return this.states.get(Q)}getStates(){return Array.from(this.states.values())}getStateNames(){return this.getStates().map((Q)=>Q.getName())}getStatesData(){return this.getStates().map((W)=>W.exportAsState())}exportAsState(){let Q=[this.getName(),this.getDataURL(),this.getDelay(),this.getFrames().map((J)=>J.export())],W=this.getBoundsExport();if(Object.keys(W).length>0)Q[4]=W;return Q}convertStateDataToIconData(Q){return[Q[0],this.getWidth(),this.getHeight(),Q[2],Q[1],Q[3]]}export(){let Q=[this.getName(),this.getWidth(),this.getHeight(),this.getDelay(),this.getDataURL(),this.getFramesData()];if(this.states.size>0)Q[6]=this.getStatesData();return Q[7]=this.getIconPointsExport(),Q[8]=this.getBoundsExport(),Q}}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function HQ(Q){let W=Q.length;while(--W>=0)Q[W]=0}var e0=0,H0=1,t0=2,s0=3,Q5=258,vJ=29,yQ=256,RQ=yQ+1+vJ,YQ=30,gJ=19,P0=2*RQ+1,WQ=15,sQ=16,J5=7,RJ=256,B0=16,C0=17,$0=18,FJ=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),pQ=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),W5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),L0=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),j5=512,r=new Array((RQ+2)*2);HQ(r);var NQ=new Array(YQ*2);HQ(NQ);var xQ=new Array(j5);HQ(xQ);var OQ=new Array(Q5-s0+1);HQ(OQ);var xJ=new Array(vJ);HQ(xJ);var lQ=new Array(YQ);HQ(lQ);function QJ(Q,W,J,j,G){this.static_tree=Q,this.extra_bits=W,this.extra_base=J,this.elems=j,this.max_length=G,this.has_stree=Q&&Q.length}var N0,v0,g0;function JJ(Q,W){this.dyn_tree=Q,this.max_code=0,this.stat_desc=W}var R0=(Q)=>{return Q<256?xQ[Q]:xQ[256+(Q>>>7)]},MQ=(Q,W)=>{Q.pending_buf[Q.pending++]=W&255,Q.pending_buf[Q.pending++]=W>>>8&255},f=(Q,W,J)=>{if(Q.bi_valid>sQ-J)Q.bi_buf|=W<<Q.bi_valid&65535,MQ(Q,Q.bi_buf),Q.bi_buf=W>>sQ-Q.bi_valid,Q.bi_valid+=J-sQ;else Q.bi_buf|=W<<Q.bi_valid&65535,Q.bi_valid+=J},p=(Q,W,J)=>{f(Q,J[W*2],J[W*2+1])},x0=(Q,W)=>{let J=0;do J|=Q&1,Q>>>=1,J<<=1;while(--W>0);return J>>>1},q5=(Q)=>{if(Q.bi_valid===16)MQ(Q,Q.bi_buf),Q.bi_buf=0,Q.bi_valid=0;else if(Q.bi_valid>=8)Q.pending_buf[Q.pending++]=Q.bi_buf&255,Q.bi_buf>>=8,Q.bi_valid-=8},G5=(Q,W)=>{let{dyn_tree:J,max_code:j}=W,G=W.stat_desc.static_tree,q=W.stat_desc.has_stree,z=W.stat_desc.extra_bits,U=W.stat_desc.extra_base,Y=W.stat_desc.max_length,X,K,P,k,V,Z,M=0;for(k=0;k<=WQ;k++)Q.bl_count[k]=0;J[Q.heap[Q.heap_max]*2+1]=0;for(X=Q.heap_max+1;X<P0;X++){if(K=Q.heap[X],k=J[J[K*2+1]*2+1]+1,k>Y)k=Y,M++;if(J[K*2+1]=k,K>j)continue;if(Q.bl_count[k]++,V=0,K>=U)V=z[K-U];if(Z=J[K*2],Q.opt_len+=Z*(k+V),q)Q.static_len+=Z*(G[K*2+1]+V)}if(M===0)return;do{k=Y-1;while(Q.bl_count[k]===0)k--;Q.bl_count[k]--,Q.bl_count[k+1]+=2,Q.bl_count[Y]--,M-=2}while(M>0);for(k=Y;k!==0;k--){K=Q.bl_count[k];while(K!==0){if(P=Q.heap[--X],P>j)continue;if(J[P*2+1]!==k)Q.opt_len+=(k-J[P*2+1])*J[P*2],J[P*2+1]=k;K--}}},O0=(Q,W,J)=>{let j=new Array(WQ+1),G=0,q,z;for(q=1;q<=WQ;q++)G=G+J[q-1]<<1,j[q]=G;for(z=0;z<=W;z++){let U=Q[z*2+1];if(U===0)continue;Q[z*2]=x0(j[U]++,U)}},X5=()=>{let Q,W,J,j,G,q=new Array(WQ+1);J=0;for(j=0;j<vJ-1;j++){xJ[j]=J;for(Q=0;Q<1<<FJ[j];Q++)OQ[J++]=j}OQ[J-1]=j,G=0;for(j=0;j<16;j++){lQ[j]=G;for(Q=0;Q<1<<pQ[j];Q++)xQ[G++]=j}G>>=7;for(;j<YQ;j++){lQ[j]=G<<7;for(Q=0;Q<1<<pQ[j]-7;Q++)xQ[256+G++]=j}for(W=0;W<=WQ;W++)q[W]=0;Q=0;while(Q<=143)r[Q*2+1]=8,Q++,q[8]++;while(Q<=255)r[Q*2+1]=9,Q++,q[9]++;while(Q<=279)r[Q*2+1]=7,Q++,q[7]++;while(Q<=287)r[Q*2+1]=8,Q++,q[8]++;O0(r,RQ+1,q);for(Q=0;Q<YQ;Q++)NQ[Q*2+1]=5,NQ[Q*2]=x0(Q,5);N0=new QJ(r,FJ,yQ+1,RQ,WQ),v0=new QJ(NQ,pQ,0,YQ,WQ),g0=new QJ(new Array(0),W5,0,gJ,J5)},M0=(Q)=>{let W;for(W=0;W<RQ;W++)Q.dyn_ltree[W*2]=0;for(W=0;W<YQ;W++)Q.dyn_dtree[W*2]=0;for(W=0;W<gJ;W++)Q.bl_tree[W*2]=0;Q.dyn_ltree[RJ*2]=1,Q.opt_len=Q.static_len=0,Q.sym_next=Q.matches=0},w0=(Q)=>{if(Q.bi_valid>8)MQ(Q,Q.bi_buf);else if(Q.bi_valid>0)Q.pending_buf[Q.pending++]=Q.bi_buf;Q.bi_buf=0,Q.bi_valid=0},TJ=(Q,W,J,j)=>{let G=W*2,q=J*2;return Q[G]<Q[q]||Q[G]===Q[q]&&j[W]<=j[J]},WJ=(Q,W,J)=>{let j=Q.heap[J],G=J<<1;while(G<=Q.heap_len){if(G<Q.heap_len&&TJ(W,Q.heap[G+1],Q.heap[G],Q.depth))G++;if(TJ(W,j,Q.heap[G],Q.depth))break;Q.heap[J]=Q.heap[G],J=G,G<<=1}Q.heap[J]=j},yJ=(Q,W,J)=>{let j,G,q=0,z,U;if(Q.sym_next!==0)do if(j=Q.pending_buf[Q.sym_buf+q++]&255,j+=(Q.pending_buf[Q.sym_buf+q++]&255)<<8,G=Q.pending_buf[Q.sym_buf+q++],j===0)p(Q,G,W);else{if(z=OQ[G],p(Q,z+yQ+1,W),U=FJ[z],U!==0)G-=xJ[z],f(Q,G,U);if(j--,z=R0(j),p(Q,z,J),U=pQ[z],U!==0)j-=lQ[z],f(Q,j,U)}while(q<Q.sym_next);p(Q,RJ,W)},ZJ=(Q,W)=>{let J=W.dyn_tree,j=W.stat_desc.static_tree,G=W.stat_desc.has_stree,q=W.stat_desc.elems,z,U,Y=-1,X;Q.heap_len=0,Q.heap_max=P0;for(z=0;z<q;z++)if(J[z*2]!==0)Q.heap[++Q.heap_len]=Y=z,Q.depth[z]=0;else J[z*2+1]=0;while(Q.heap_len<2)if(X=Q.heap[++Q.heap_len]=Y<2?++Y:0,J[X*2]=1,Q.depth[X]=0,Q.opt_len--,G)Q.static_len-=j[X*2+1];W.max_code=Y;for(z=Q.heap_len>>1;z>=1;z--)WJ(Q,J,z);X=q;do z=Q.heap[1],Q.heap[1]=Q.heap[Q.heap_len--],WJ(Q,J,1),U=Q.heap[1],Q.heap[--Q.heap_max]=z,Q.heap[--Q.heap_max]=U,J[X*2]=J[z*2]+J[U*2],Q.depth[X]=(Q.depth[z]>=Q.depth[U]?Q.depth[z]:Q.depth[U])+1,J[z*2+1]=J[U*2+1]=X,Q.heap[1]=X++,WJ(Q,J,1);while(Q.heap_len>=2);Q.heap[--Q.heap_max]=Q.heap[1],G5(Q,W),O0(J,Y,Q.bl_count)},DJ=(Q,W,J)=>{let j,G=-1,q,z=W[1],U=0,Y=7,X=4;if(z===0)Y=138,X=3;W[(J+1)*2+1]=65535;for(j=0;j<=J;j++){if(q=z,z=W[(j+1)*2+1],++U<Y&&q===z)continue;else if(U<X)Q.bl_tree[q*2]+=U;else if(q!==0){if(q!==G)Q.bl_tree[q*2]++;Q.bl_tree[B0*2]++}else if(U<=10)Q.bl_tree[C0*2]++;else Q.bl_tree[$0*2]++;if(U=0,G=q,z===0)Y=138,X=3;else if(q===z)Y=6,X=3;else Y=7,X=4}},EJ=(Q,W,J)=>{let j,G=-1,q,z=W[1],U=0,Y=7,X=4;if(z===0)Y=138,X=3;for(j=0;j<=J;j++){if(q=z,z=W[(j+1)*2+1],++U<Y&&q===z)continue;else if(U<X)do p(Q,q,Q.bl_tree);while(--U!==0);else if(q!==0){if(q!==G)p(Q,q,Q.bl_tree),U--;p(Q,B0,Q.bl_tree),f(Q,U-3,2)}else if(U<=10)p(Q,C0,Q.bl_tree),f(Q,U-3,3);else p(Q,$0,Q.bl_tree),f(Q,U-11,7);if(U=0,G=q,z===0)Y=138,X=3;else if(q===z)Y=6,X=3;else Y=7,X=4}},U5=(Q)=>{let W;DJ(Q,Q.dyn_ltree,Q.l_desc.max_code),DJ(Q,Q.dyn_dtree,Q.d_desc.max_code),ZJ(Q,Q.bl_desc);for(W=gJ-1;W>=3;W--)if(Q.bl_tree[L0[W]*2+1]!==0)break;return Q.opt_len+=3*(W+1)+5+5+4,W},z5=(Q,W,J,j)=>{let G;f(Q,W-257,5),f(Q,J-1,5),f(Q,j-4,4);for(G=0;G<j;G++)f(Q,Q.bl_tree[L0[G]*2+1],3);EJ(Q,Q.dyn_ltree,W-1),EJ(Q,Q.dyn_dtree,J-1)},K5=(Q)=>{let W=4093624447,J;for(J=0;J<=31;J++,W>>>=1)if(W&1&&Q.dyn_ltree[J*2]!==0)return 0;if(Q.dyn_ltree[18]!==0||Q.dyn_ltree[20]!==0||Q.dyn_ltree[26]!==0)return 1;for(J=32;J<yQ;J++)if(Q.dyn_ltree[J*2]!==0)return 1;return 0},IJ=!1,V5=(Q)=>{if(!IJ)X5(),IJ=!0;Q.l_desc=new JJ(Q.dyn_ltree,N0),Q.d_desc=new JJ(Q.dyn_dtree,v0),Q.bl_desc=new JJ(Q.bl_tree,g0),Q.bi_buf=0,Q.bi_valid=0,M0(Q)},A0=(Q,W,J,j)=>{if(f(Q,(e0<<1)+(j?1:0),3),w0(Q),MQ(Q,J),MQ(Q,~J),J)Q.pending_buf.set(Q.window.subarray(W,W+J),Q.pending);Q.pending+=J},k5=(Q)=>{f(Q,H0<<1,3),p(Q,RJ,r),q5(Q)},Y5=(Q,W,J,j)=>{let G,q,z=0;if(Q.level>0){if(Q.strm.data_type===2)Q.strm.data_type=K5(Q);if(ZJ(Q,Q.l_desc),ZJ(Q,Q.d_desc),z=U5(Q),G=Q.opt_len+3+7>>>3,q=Q.static_len+3+7>>>3,q<=G)G=q}else G=q=J+5;if(J+4<=G&&W!==-1)A0(Q,W,J,j);else if(Q.strategy===4||q===G)f(Q,(H0<<1)+(j?1:0),3),yJ(Q,r,NQ);else f(Q,(t0<<1)+(j?1:0),3),z5(Q,Q.l_desc.max_code+1,Q.d_desc.max_code+1,z+1),yJ(Q,Q.dyn_ltree,Q.dyn_dtree);if(M0(Q),j)w0(Q)},F5=(Q,W,J)=>{if(Q.pending_buf[Q.sym_buf+Q.sym_next++]=W,Q.pending_buf[Q.sym_buf+Q.sym_next++]=W>>8,Q.pending_buf[Q.sym_buf+Q.sym_next++]=J,W===0)Q.dyn_ltree[J*2]++;else Q.matches++,W--,Q.dyn_ltree[(OQ[J]+yQ+1)*2]++,Q.dyn_dtree[R0(W)*2]++;return Q.sym_next===Q.sym_end},Z5=V5,H5=A0,P5=Y5,B5=F5,C5=k5,$5={_tr_init:Z5,_tr_stored_block:H5,_tr_flush_block:P5,_tr_tally:B5,_tr_align:C5},L5=(Q,W,J,j)=>{let G=Q&65535|0,q=Q>>>16&65535|0,z=0;while(J!==0){z=J>2000?2000:J,J-=z;do G=G+W[j++]|0,q=q+G|0;while(--z);G%=65521,q%=65521}return G|q<<16|0},wQ=L5,N5=()=>{let Q,W=[];for(var J=0;J<256;J++){Q=J;for(var j=0;j<8;j++)Q=Q&1?3988292384^Q>>>1:Q>>>1;W[J]=Q}return W},v5=new Uint32Array(N5()),g5=(Q,W,J,j)=>{let G=v5,q=j+J;Q^=-1;for(let z=j;z<q;z++)Q=Q>>>8^G[(Q^W[z])&255];return Q^-1},D=g5,GQ={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},zQ={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:R5,_tr_stored_block:HJ,_tr_flush_block:x5,_tr_tally:t,_tr_align:O5}=$5,{Z_NO_FLUSH:s,Z_PARTIAL_FLUSH:M5,Z_FULL_FLUSH:w5,Z_FINISH:c,Z_BLOCK:bJ,Z_OK:I,Z_STREAM_END:fJ,Z_STREAM_ERROR:l,Z_DATA_ERROR:A5,Z_BUF_ERROR:jJ,Z_DEFAULT_COMPRESSION:S5,Z_FILTERED:T5,Z_HUFFMAN_ONLY:uQ,Z_RLE:y5,Z_FIXED:D5,Z_DEFAULT_STRATEGY:E5,Z_UNKNOWN:I5,Z_DEFLATED:rQ}=zQ,b5=9,f5=15,u5=8,h5=29,c5=256,PJ=c5+1+h5,m5=30,d5=19,p5=2*PJ+1,l5=15,v=3,e=258,_=e+v+1,_5=32,FQ=42,OJ=57,BJ=69,CJ=73,$J=91,LJ=103,jQ=113,$Q=666,b=1,PQ=2,XQ=3,BQ=4,i5=3,qQ=(Q,W)=>{return Q.msg=GQ[W],W},uJ=(Q)=>{return Q*2-(Q>4?9:0)},a=(Q)=>{let W=Q.length;while(--W>=0)Q[W]=0},r5=(Q)=>{let W,J,j,G=Q.w_size;W=Q.hash_size,j=W;do J=Q.head[--j],Q.head[j]=J>=G?J-G:0;while(--W);W=G,j=W;do J=Q.prev[--j],Q.prev[j]=J>=G?J-G:0;while(--W)},o5=(Q,W,J)=>(W<<Q.hash_shift^J)&Q.hash_mask,QQ=o5,u=(Q)=>{let W=Q.state,J=W.pending;if(J>Q.avail_out)J=Q.avail_out;if(J===0)return;if(Q.output.set(W.pending_buf.subarray(W.pending_out,W.pending_out+J),Q.next_out),Q.next_out+=J,W.pending_out+=J,Q.total_out+=J,Q.avail_out-=J,W.pending-=J,W.pending===0)W.pending_out=0},h=(Q,W)=>{x5(Q,Q.block_start>=0?Q.block_start:-1,Q.strstart-Q.block_start,W),Q.block_start=Q.strstart,u(Q.strm)},x=(Q,W)=>{Q.pending_buf[Q.pending++]=W},CQ=(Q,W)=>{Q.pending_buf[Q.pending++]=W>>>8&255,Q.pending_buf[Q.pending++]=W&255},NJ=(Q,W,J,j)=>{let G=Q.avail_in;if(G>j)G=j;if(G===0)return 0;if(Q.avail_in-=G,W.set(Q.input.subarray(Q.next_in,Q.next_in+G),J),Q.state.wrap===1)Q.adler=wQ(Q.adler,W,G,J);else if(Q.state.wrap===2)Q.adler=D(Q.adler,W,G,J);return Q.next_in+=G,Q.total_in+=G,G},S0=(Q,W)=>{let{max_chain_length:J,strstart:j}=Q,G,q,z=Q.prev_length,U=Q.nice_match,Y=Q.strstart>Q.w_size-_?Q.strstart-(Q.w_size-_):0,X=Q.window,K=Q.w_mask,P=Q.prev,k=Q.strstart+e,V=X[j+z-1],Z=X[j+z];if(Q.prev_length>=Q.good_match)J>>=2;if(U>Q.lookahead)U=Q.lookahead;do{if(G=W,X[G+z]!==Z||X[G+z-1]!==V||X[G]!==X[j]||X[++G]!==X[j+1])continue;j+=2,G++;do;while(X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&j<k);if(q=e-(k-j),j=k-e,q>z){if(Q.match_start=W,z=q,q>=U)break;V=X[j+z-1],Z=X[j+z]}}while((W=P[W&K])>Y&&--J!==0);if(z<=Q.lookahead)return z;return Q.lookahead},ZQ=(Q)=>{let W=Q.w_size,J,j,G;do{if(j=Q.window_size-Q.lookahead-Q.strstart,Q.strstart>=W+(W-_)){if(Q.window.set(Q.window.subarray(W,W+W-j),0),Q.match_start-=W,Q.strstart-=W,Q.block_start-=W,Q.insert>Q.strstart)Q.insert=Q.strstart;r5(Q),j+=W}if(Q.strm.avail_in===0)break;if(J=NJ(Q.strm,Q.window,Q.strstart+Q.lookahead,j),Q.lookahead+=J,Q.lookahead+Q.insert>=v){G=Q.strstart-Q.insert,Q.ins_h=Q.window[G],Q.ins_h=QQ(Q,Q.ins_h,Q.window[G+1]);while(Q.insert)if(Q.ins_h=QQ(Q,Q.ins_h,Q.window[G+v-1]),Q.prev[G&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=G,G++,Q.insert--,Q.lookahead+Q.insert<v)break}}while(Q.lookahead<_&&Q.strm.avail_in!==0)},T0=(Q,W)=>{let J=Q.pending_buf_size-5>Q.w_size?Q.w_size:Q.pending_buf_size-5,j,G,q,z=0,U=Q.strm.avail_in;do{if(j=65535,q=Q.bi_valid+42>>3,Q.strm.avail_out<q)break;if(q=Q.strm.avail_out-q,G=Q.strstart-Q.block_start,j>G+Q.strm.avail_in)j=G+Q.strm.avail_in;if(j>q)j=q;if(j<J&&(j===0&&W!==c||W===s||j!==G+Q.strm.avail_in))break;if(z=W===c&&j===G+Q.strm.avail_in?1:0,HJ(Q,0,0,z),Q.pending_buf[Q.pending-4]=j,Q.pending_buf[Q.pending-3]=j>>8,Q.pending_buf[Q.pending-2]=~j,Q.pending_buf[Q.pending-1]=~j>>8,u(Q.strm),G){if(G>j)G=j;Q.strm.output.set(Q.window.subarray(Q.block_start,Q.block_start+G),Q.strm.next_out),Q.strm.next_out+=G,Q.strm.avail_out-=G,Q.strm.total_out+=G,Q.block_start+=G,j-=G}if(j)NJ(Q.strm,Q.strm.output,Q.strm.next_out,j),Q.strm.next_out+=j,Q.strm.avail_out-=j,Q.strm.total_out+=j}while(z===0);if(U-=Q.strm.avail_in,U){if(U>=Q.w_size)Q.matches=2,Q.window.set(Q.strm.input.subarray(Q.strm.next_in-Q.w_size,Q.strm.next_in),0),Q.strstart=Q.w_size,Q.insert=Q.strstart;else{if(Q.window_size-Q.strstart<=U){if(Q.strstart-=Q.w_size,Q.window.set(Q.window.subarray(Q.w_size,Q.w_size+Q.strstart),0),Q.matches<2)Q.matches++;if(Q.insert>Q.strstart)Q.insert=Q.strstart}Q.window.set(Q.strm.input.subarray(Q.strm.next_in-U,Q.strm.next_in),Q.strstart),Q.strstart+=U,Q.insert+=U>Q.w_size-Q.insert?Q.w_size-Q.insert:U}Q.block_start=Q.strstart}if(Q.high_water<Q.strstart)Q.high_water=Q.strstart;if(z)return BQ;if(W!==s&&W!==c&&Q.strm.avail_in===0&&Q.strstart===Q.block_start)return PQ;if(q=Q.window_size-Q.strstart,Q.strm.avail_in>q&&Q.block_start>=Q.w_size){if(Q.block_start-=Q.w_size,Q.strstart-=Q.w_size,Q.window.set(Q.window.subarray(Q.w_size,Q.w_size+Q.strstart),0),Q.matches<2)Q.matches++;if(q+=Q.w_size,Q.insert>Q.strstart)Q.insert=Q.strstart}if(q>Q.strm.avail_in)q=Q.strm.avail_in;if(q)NJ(Q.strm,Q.window,Q.strstart,q),Q.strstart+=q,Q.insert+=q>Q.w_size-Q.insert?Q.w_size-Q.insert:q;if(Q.high_water<Q.strstart)Q.high_water=Q.strstart;if(q=Q.bi_valid+42>>3,q=Q.pending_buf_size-q>65535?65535:Q.pending_buf_size-q,J=q>Q.w_size?Q.w_size:q,G=Q.strstart-Q.block_start,G>=J||(G||W===c)&&W!==s&&Q.strm.avail_in===0&&G<=q)j=G>q?q:G,z=W===c&&Q.strm.avail_in===0&&j===G?1:0,HJ(Q,Q.block_start,j,z),Q.block_start+=j,u(Q.strm);return z?XQ:b},qJ=(Q,W)=>{let J,j;for(;;){if(Q.lookahead<_){if(ZQ(Q),Q.lookahead<_&&W===s)return b;if(Q.lookahead===0)break}if(J=0,Q.lookahead>=v)Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+v-1]),J=Q.prev[Q.strstart&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=Q.strstart;if(J!==0&&Q.strstart-J<=Q.w_size-_)Q.match_length=S0(Q,J);if(Q.match_length>=v)if(j=t(Q,Q.strstart-Q.match_start,Q.match_length-v),Q.lookahead-=Q.match_length,Q.match_length<=Q.max_lazy_match&&Q.lookahead>=v){Q.match_length--;do Q.strstart++,Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+v-1]),J=Q.prev[Q.strstart&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=Q.strstart;while(--Q.match_length!==0);Q.strstart++}else Q.strstart+=Q.match_length,Q.match_length=0,Q.ins_h=Q.window[Q.strstart],Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+1]);else j=t(Q,0,Q.window[Q.strstart]),Q.lookahead--,Q.strstart++;if(j){if(h(Q,!1),Q.strm.avail_out===0)return b}}if(Q.insert=Q.strstart<v-1?Q.strstart:v-1,W===c){if(h(Q,!0),Q.strm.avail_out===0)return XQ;return BQ}if(Q.sym_next){if(h(Q,!1),Q.strm.avail_out===0)return b}return PQ},VQ=(Q,W)=>{let J,j,G;for(;;){if(Q.lookahead<_){if(ZQ(Q),Q.lookahead<_&&W===s)return b;if(Q.lookahead===0)break}if(J=0,Q.lookahead>=v)Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+v-1]),J=Q.prev[Q.strstart&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=Q.strstart;if(Q.prev_length=Q.match_length,Q.prev_match=Q.match_start,Q.match_length=v-1,J!==0&&Q.prev_length<Q.max_lazy_match&&Q.strstart-J<=Q.w_size-_){if(Q.match_length=S0(Q,J),Q.match_length<=5&&(Q.strategy===T5||Q.match_length===v&&Q.strstart-Q.match_start>4096))Q.match_length=v-1}if(Q.prev_length>=v&&Q.match_length<=Q.prev_length){G=Q.strstart+Q.lookahead-v,j=t(Q,Q.strstart-1-Q.prev_match,Q.prev_length-v),Q.lookahead-=Q.prev_length-1,Q.prev_length-=2;do if(++Q.strstart<=G)Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+v-1]),J=Q.prev[Q.strstart&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=Q.strstart;while(--Q.prev_length!==0);if(Q.match_available=0,Q.match_length=v-1,Q.strstart++,j){if(h(Q,!1),Q.strm.avail_out===0)return b}}else if(Q.match_available){if(j=t(Q,0,Q.window[Q.strstart-1]),j)h(Q,!1);if(Q.strstart++,Q.lookahead--,Q.strm.avail_out===0)return b}else Q.match_available=1,Q.strstart++,Q.lookahead--}if(Q.match_available)j=t(Q,0,Q.window[Q.strstart-1]),Q.match_available=0;if(Q.insert=Q.strstart<v-1?Q.strstart:v-1,W===c){if(h(Q,!0),Q.strm.avail_out===0)return XQ;return BQ}if(Q.sym_next){if(h(Q,!1),Q.strm.avail_out===0)return b}return PQ},n5=(Q,W)=>{let J,j,G,q,z=Q.window;for(;;){if(Q.lookahead<=e){if(ZQ(Q),Q.lookahead<=e&&W===s)return b;if(Q.lookahead===0)break}if(Q.match_length=0,Q.lookahead>=v&&Q.strstart>0){if(G=Q.strstart-1,j=z[G],j===z[++G]&&j===z[++G]&&j===z[++G]){q=Q.strstart+e;do;while(j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&G<q);if(Q.match_length=e-(q-G),Q.match_length>Q.lookahead)Q.match_length=Q.lookahead}}if(Q.match_length>=v)J=t(Q,1,Q.match_length-v),Q.lookahead-=Q.match_length,Q.strstart+=Q.match_length,Q.match_length=0;else J=t(Q,0,Q.window[Q.strstart]),Q.lookahead--,Q.strstart++;if(J){if(h(Q,!1),Q.strm.avail_out===0)return b}}if(Q.insert=0,W===c){if(h(Q,!0),Q.strm.avail_out===0)return XQ;return BQ}if(Q.sym_next){if(h(Q,!1),Q.strm.avail_out===0)return b}return PQ},a5=(Q,W)=>{let J;for(;;){if(Q.lookahead===0){if(ZQ(Q),Q.lookahead===0){if(W===s)return b;break}}if(Q.match_length=0,J=t(Q,0,Q.window[Q.strstart]),Q.lookahead--,Q.strstart++,J){if(h(Q,!1),Q.strm.avail_out===0)return b}}if(Q.insert=0,W===c){if(h(Q,!0),Q.strm.avail_out===0)return XQ;return BQ}if(Q.sym_next){if(h(Q,!1),Q.strm.avail_out===0)return b}return PQ};function d(Q,W,J,j,G){this.good_length=Q,this.max_lazy=W,this.nice_length=J,this.max_chain=j,this.func=G}var LQ=[new d(0,0,0,0,T0),new d(4,4,8,4,qJ),new d(4,5,16,8,qJ),new d(4,6,32,32,qJ),new d(4,4,16,16,VQ),new d(8,16,32,32,VQ),new d(8,16,128,128,VQ),new d(8,32,128,256,VQ),new d(32,128,258,1024,VQ),new d(32,258,258,4096,VQ)],e5=(Q)=>{Q.window_size=2*Q.w_size,a(Q.head),Q.max_lazy_match=LQ[Q.level].max_lazy,Q.good_match=LQ[Q.level].good_length,Q.nice_match=LQ[Q.level].nice_length,Q.max_chain_length=LQ[Q.level].max_chain,Q.strstart=0,Q.block_start=0,Q.lookahead=0,Q.insert=0,Q.match_length=Q.prev_length=v-1,Q.match_available=0,Q.ins_h=0};function t5(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=rQ,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(p5*2),this.dyn_dtree=new Uint16Array((2*m5+1)*2),this.bl_tree=new Uint16Array((2*d5+1)*2),a(this.dyn_ltree),a(this.dyn_dtree),a(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(l5+1),this.heap=new Uint16Array(2*PJ+1),a(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*PJ+1),a(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var DQ=(Q)=>{if(!Q)return 1;let W=Q.state;if(!W||W.strm!==Q||W.status!==FQ&&W.status!==OJ&&W.status!==BJ&&W.status!==CJ&&W.status!==$J&&W.status!==LJ&&W.status!==jQ&&W.status!==$Q)return 1;return 0},y0=(Q)=>{if(DQ(Q))return qQ(Q,l);Q.total_in=Q.total_out=0,Q.data_type=I5;let W=Q.state;if(W.pending=0,W.pending_out=0,W.wrap<0)W.wrap=-W.wrap;return W.status=W.wrap===2?OJ:W.wrap?FQ:jQ,Q.adler=W.wrap===2?0:1,W.last_flush=-2,R5(W),I},D0=(Q)=>{let W=y0(Q);if(W===I)e5(Q.state);return W},s5=(Q,W)=>{if(DQ(Q)||Q.state.wrap!==2)return l;return Q.state.gzhead=W,I},E0=(Q,W,J,j,G,q)=>{if(!Q)return l;let z=1;if(W===S5)W=6;if(j<0)z=0,j=-j;else if(j>15)z=2,j-=16;if(G<1||G>b5||J!==rQ||j<8||j>15||W<0||W>9||q<0||q>D5||j===8&&z!==1)return qQ(Q,l);if(j===8)j=9;let U=new t5;return Q.state=U,U.strm=Q,U.status=FQ,U.wrap=z,U.gzhead=null,U.w_bits=j,U.w_size=1<<U.w_bits,U.w_mask=U.w_size-1,U.hash_bits=G+7,U.hash_size=1<<U.hash_bits,U.hash_mask=U.hash_size-1,U.hash_shift=~~((U.hash_bits+v-1)/v),U.window=new Uint8Array(U.w_size*2),U.head=new Uint16Array(U.hash_size),U.prev=new Uint16Array(U.w_size),U.lit_bufsize=1<<G+6,U.pending_buf_size=U.lit_bufsize*4,U.pending_buf=new Uint8Array(U.pending_buf_size),U.sym_buf=U.lit_bufsize,U.sym_end=(U.lit_bufsize-1)*3,U.level=W,U.strategy=q,U.method=J,D0(Q)},Q8=(Q,W)=>{return E0(Q,W,rQ,f5,u5,E5)},J8=(Q,W)=>{if(DQ(Q)||W>bJ||W<0)return Q?qQ(Q,l):l;let J=Q.state;if(!Q.output||Q.avail_in!==0&&!Q.input||J.status===$Q&&W!==c)return qQ(Q,Q.avail_out===0?jJ:l);let j=J.last_flush;if(J.last_flush=W,J.pending!==0){if(u(Q),Q.avail_out===0)return J.last_flush=-1,I}else if(Q.avail_in===0&&uJ(W)<=uJ(j)&&W!==c)return qQ(Q,jJ);if(J.status===$Q&&Q.avail_in!==0)return qQ(Q,jJ);if(J.status===FQ&&J.wrap===0)J.status=jQ;if(J.status===FQ){let G=rQ+(J.w_bits-8<<4)<<8,q=-1;if(J.strategy>=uQ||J.level<2)q=0;else if(J.level<6)q=1;else if(J.level===6)q=2;else q=3;if(G|=q<<6,J.strstart!==0)G|=_5;if(G+=31-G%31,CQ(J,G),J.strstart!==0)CQ(J,Q.adler>>>16),CQ(J,Q.adler&65535);if(Q.adler=1,J.status=jQ,u(Q),J.pending!==0)return J.last_flush=-1,I}if(J.status===OJ)if(Q.adler=0,x(J,31),x(J,139),x(J,8),!J.gzhead){if(x(J,0),x(J,0),x(J,0),x(J,0),x(J,0),x(J,J.level===9?2:J.strategy>=uQ||J.level<2?4:0),x(J,i5),J.status=jQ,u(Q),J.pending!==0)return J.last_flush=-1,I}else{if(x(J,(J.gzhead.text?1:0)+(J.gzhead.hcrc?2:0)+(!J.gzhead.extra?0:4)+(!J.gzhead.name?0:8)+(!J.gzhead.comment?0:16)),x(J,J.gzhead.time&255),x(J,J.gzhead.time>>8&255),x(J,J.gzhead.time>>16&255),x(J,J.gzhead.time>>24&255),x(J,J.level===9?2:J.strategy>=uQ||J.level<2?4:0),x(J,J.gzhead.os&255),J.gzhead.extra&&J.gzhead.extra.length)x(J,J.gzhead.extra.length&255),x(J,J.gzhead.extra.length>>8&255);if(J.gzhead.hcrc)Q.adler=D(Q.adler,J.pending_buf,J.pending,0);J.gzindex=0,J.status=BJ}if(J.status===BJ){if(J.gzhead.extra){let G=J.pending,q=(J.gzhead.extra.length&65535)-J.gzindex;while(J.pending+q>J.pending_buf_size){let U=J.pending_buf_size-J.pending;if(J.pending_buf.set(J.gzhead.extra.subarray(J.gzindex,J.gzindex+U),J.pending),J.pending=J.pending_buf_size,J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);if(J.gzindex+=U,u(Q),J.pending!==0)return J.last_flush=-1,I;G=0,q-=U}let z=new Uint8Array(J.gzhead.extra);if(J.pending_buf.set(z.subarray(J.gzindex,J.gzindex+q),J.pending),J.pending+=q,J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);J.gzindex=0}J.status=CJ}if(J.status===CJ){if(J.gzhead.name){let G=J.pending,q;do{if(J.pending===J.pending_buf_size){if(J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);if(u(Q),J.pending!==0)return J.last_flush=-1,I;G=0}if(J.gzindex<J.gzhead.name.length)q=J.gzhead.name.charCodeAt(J.gzindex++)&255;else q=0;x(J,q)}while(q!==0);if(J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);J.gzindex=0}J.status=$J}if(J.status===$J){if(J.gzhead.comment){let G=J.pending,q;do{if(J.pending===J.pending_buf_size){if(J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);if(u(Q),J.pending!==0)return J.last_flush=-1,I;G=0}if(J.gzindex<J.gzhead.comment.length)q=J.gzhead.comment.charCodeAt(J.gzindex++)&255;else q=0;x(J,q)}while(q!==0);if(J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G)}J.status=LJ}if(J.status===LJ){if(J.gzhead.hcrc){if(J.pending+2>J.pending_buf_size){if(u(Q),J.pending!==0)return J.last_flush=-1,I}x(J,Q.adler&255),x(J,Q.adler>>8&255),Q.adler=0}if(J.status=jQ,u(Q),J.pending!==0)return J.last_flush=-1,I}if(Q.avail_in!==0||J.lookahead!==0||W!==s&&J.status!==$Q){let G=J.level===0?T0(J,W):J.strategy===uQ?a5(J,W):J.strategy===y5?n5(J,W):LQ[J.level].func(J,W);if(G===XQ||G===BQ)J.status=$Q;if(G===b||G===XQ){if(Q.avail_out===0)J.last_flush=-1;return I}if(G===PQ){if(W===M5)O5(J);else if(W!==bJ){if(HJ(J,0,0,!1),W===w5){if(a(J.head),J.lookahead===0)J.strstart=0,J.block_start=0,J.insert=0}}if(u(Q),Q.avail_out===0)return J.last_flush=-1,I}}if(W!==c)return I;if(J.wrap<=0)return fJ;if(J.wrap===2)x(J,Q.adler&255),x(J,Q.adler>>8&255),x(J,Q.adler>>16&255),x(J,Q.adler>>24&255),x(J,Q.total_in&255),x(J,Q.total_in>>8&255),x(J,Q.total_in>>16&255),x(J,Q.total_in>>24&255);else CQ(J,Q.adler>>>16),CQ(J,Q.adler&65535);if(u(Q),J.wrap>0)J.wrap=-J.wrap;return J.pending!==0?I:fJ},W8=(Q)=>{if(DQ(Q))return l;let W=Q.state.status;return Q.state=null,W===jQ?qQ(Q,A5):I},j8=(Q,W)=>{let J=W.length;if(DQ(Q))return l;let j=Q.state,G=j.wrap;if(G===2||G===1&&j.status!==FQ||j.lookahead)return l;if(G===1)Q.adler=wQ(Q.adler,W,J,0);if(j.wrap=0,J>=j.w_size){if(G===0)a(j.head),j.strstart=0,j.block_start=0,j.insert=0;let Y=new Uint8Array(j.w_size);Y.set(W.subarray(J-j.w_size,J),0),W=Y,J=j.w_size}let{avail_in:q,next_in:z,input:U}=Q;Q.avail_in=J,Q.next_in=0,Q.input=W,ZQ(j);while(j.lookahead>=v){let Y=j.strstart,X=j.lookahead-(v-1);do j.ins_h=QQ(j,j.ins_h,j.window[Y+v-1]),j.prev[Y&j.w_mask]=j.head[j.ins_h],j.head[j.ins_h]=Y,Y++;while(--X);j.strstart=Y,j.lookahead=v-1,ZQ(j)}return j.strstart+=j.lookahead,j.block_start=j.strstart,j.insert=j.lookahead,j.lookahead=0,j.match_length=j.prev_length=v-1,j.match_available=0,Q.next_in=z,Q.input=U,Q.avail_in=q,j.wrap=G,I},q8=Q8,G8=E0,X8=D0,U8=y0,z8=s5,K8=J8,V8=W8,k8=j8,Y8="pako deflate (from Nodeca project)",vQ={deflateInit:q8,deflateInit2:G8,deflateReset:X8,deflateResetKeep:U8,deflateSetHeader:z8,deflate:K8,deflateEnd:V8,deflateSetDictionary:k8,deflateInfo:Y8},F8=(Q,W)=>{return Object.prototype.hasOwnProperty.call(Q,W)},Z8=function(Q){let W=Array.prototype.slice.call(arguments,1);while(W.length){let J=W.shift();if(!J)continue;if(typeof J!=="object")throw new TypeError(J+"must be non-object");for(let j in J)if(F8(J,j))Q[j]=J[j]}return Q},H8=(Q)=>{let W=0;for(let j=0,G=Q.length;j<G;j++)W+=Q[j].length;let J=new Uint8Array(W);for(let j=0,G=0,q=Q.length;j<q;j++){let z=Q[j];J.set(z,G),G+=z.length}return J},oQ={assign:Z8,flattenChunks:H8},I0=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(Q){I0=!1}var AQ=new Uint8Array(256);for(let Q=0;Q<256;Q++)AQ[Q]=Q>=252?6:Q>=248?5:Q>=240?4:Q>=224?3:Q>=192?2:1;AQ[254]=AQ[254]=1;var P8=(Q)=>{if(typeof TextEncoder==="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(Q);let W,J,j,G,q,z=Q.length,U=0;for(G=0;G<z;G++){if(J=Q.charCodeAt(G),(J&64512)===55296&&G+1<z){if(j=Q.charCodeAt(G+1),(j&64512)===56320)J=65536+(J-55296<<10)+(j-56320),G++}U+=J<128?1:J<2048?2:J<65536?3:4}W=new Uint8Array(U);for(q=0,G=0;q<U;G++){if(J=Q.charCodeAt(G),(J&64512)===55296&&G+1<z){if(j=Q.charCodeAt(G+1),(j&64512)===56320)J=65536+(J-55296<<10)+(j-56320),G++}if(J<128)W[q++]=J;else if(J<2048)W[q++]=192|J>>>6,W[q++]=128|J&63;else if(J<65536)W[q++]=224|J>>>12,W[q++]=128|J>>>6&63,W[q++]=128|J&63;else W[q++]=240|J>>>18,W[q++]=128|J>>>12&63,W[q++]=128|J>>>6&63,W[q++]=128|J&63}return W},B8=(Q,W)=>{if(W<65534){if(Q.subarray&&I0)return String.fromCharCode.apply(null,Q.length===W?Q:Q.subarray(0,W))}let J="";for(let j=0;j<W;j++)J+=String.fromCharCode(Q[j]);return J},C8=(Q,W)=>{let J=W||Q.length;if(typeof TextDecoder==="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(Q.subarray(0,W));let j,G,q=new Array(J*2);for(G=0,j=0;j<J;){let z=Q[j++];if(z<128){q[G++]=z;continue}let U=AQ[z];if(U>4){q[G++]=65533,j+=U-1;continue}z&=U===2?31:U===3?15:7;while(U>1&&j<J)z=z<<6|Q[j++]&63,U--;if(U>1){q[G++]=65533;continue}if(z<65536)q[G++]=z;else z-=65536,q[G++]=55296|z>>10&1023,q[G++]=56320|z&1023}return B8(q,G)},$8=(Q,W)=>{if(W=W||Q.length,W>Q.length)W=Q.length;let J=W-1;while(J>=0&&(Q[J]&192)===128)J--;if(J<0)return W;if(J===0)return W;return J+AQ[Q[J]]>W?J:W},SQ={string2buf:P8,buf2string:C8,utf8border:$8};function L8(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var b0=L8,f0=Object.prototype.toString,{Z_NO_FLUSH:N8,Z_SYNC_FLUSH:v8,Z_FULL_FLUSH:g8,Z_FINISH:R8,Z_OK:_Q,Z_STREAM_END:x8,Z_DEFAULT_COMPRESSION:O8,Z_DEFAULT_STRATEGY:M8,Z_DEFLATED:w8}=zQ;function EQ(Q){this.options=oQ.assign({level:O8,method:w8,chunkSize:16384,windowBits:15,memLevel:8,strategy:M8},Q||{});let W=this.options;if(W.raw&&W.windowBits>0)W.windowBits=-W.windowBits;else if(W.gzip&&W.windowBits>0&&W.windowBits<16)W.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new b0,this.strm.avail_out=0;let J=vQ.deflateInit2(this.strm,W.level,W.method,W.windowBits,W.memLevel,W.strategy);if(J!==_Q)throw new Error(GQ[J]);if(W.header)vQ.deflateSetHeader(this.strm,W.header);if(W.dictionary){let j;if(typeof W.dictionary==="string")j=SQ.string2buf(W.dictionary);else if(f0.call(W.dictionary)==="[object ArrayBuffer]")j=new Uint8Array(W.dictionary);else j=W.dictionary;if(J=vQ.deflateSetDictionary(this.strm,j),J!==_Q)throw new Error(GQ[J]);this._dict_set=!0}}EQ.prototype.push=function(Q,W){let J=this.strm,j=this.options.chunkSize,G,q;if(this.ended)return!1;if(W===~~W)q=W;else q=W===!0?R8:N8;if(typeof Q==="string")J.input=SQ.string2buf(Q);else if(f0.call(Q)==="[object ArrayBuffer]")J.input=new Uint8Array(Q);else J.input=Q;J.next_in=0,J.avail_in=J.input.length;for(;;){if(J.avail_out===0)J.output=new Uint8Array(j),J.next_out=0,J.avail_out=j;if((q===v8||q===g8)&&J.avail_out<=6){this.onData(J.output.subarray(0,J.next_out)),J.avail_out=0;continue}if(G=vQ.deflate(J,q),G===x8){if(J.next_out>0)this.onData(J.output.subarray(0,J.next_out));return G=vQ.deflateEnd(this.strm),this.onEnd(G),this.ended=!0,G===_Q}if(J.avail_out===0){this.onData(J.output);continue}if(q>0&&J.next_out>0){this.onData(J.output.subarray(0,J.next_out)),J.avail_out=0;continue}if(J.avail_in===0)break}return!0};EQ.prototype.onData=function(Q){this.chunks.push(Q)};EQ.prototype.onEnd=function(Q){if(Q===_Q)this.result=oQ.flattenChunks(this.chunks);this.chunks=[],this.err=Q,this.msg=this.strm.msg};function MJ(Q,W){let J=new EQ(W);if(J.push(Q,!0),J.err)throw J.msg||GQ[J.err];return J.result}function A8(Q,W){return W=W||{},W.raw=!0,MJ(Q,W)}function S8(Q,W){return W=W||{},W.gzip=!0,MJ(Q,W)}var T8=EQ,y8=MJ,D8=A8,E8=S8,I8=zQ,b8={Deflate:T8,deflate:y8,deflateRaw:D8,gzip:E8,constants:I8},hQ=16209,f8=16191,u8=function Q(W,J){let j,G,q,z,U,Y,X,K,P,k,V,Z,M,$,C,O,L,F,R,y,H,A,g,B,N=W.state;j=W.next_in,g=W.input,G=j+(W.avail_in-5),q=W.next_out,B=W.output,z=q-(J-W.avail_out),U=q+(W.avail_out-257),Y=N.dmax,X=N.wsize,K=N.whave,P=N.wnext,k=N.window,V=N.hold,Z=N.bits,M=N.lencode,$=N.distcode,C=(1<<N.lenbits)-1,O=(1<<N.distbits)-1;Q:do{if(Z<15)V+=g[j++]<<Z,Z+=8,V+=g[j++]<<Z,Z+=8;L=M[V&C];J:for(;;){if(F=L>>>24,V>>>=F,Z-=F,F=L>>>16&255,F===0)B[q++]=L&65535;else if(F&16){if(R=L&65535,F&=15,F){if(Z<F)V+=g[j++]<<Z,Z+=8;R+=V&(1<<F)-1,V>>>=F,Z-=F}if(Z<15)V+=g[j++]<<Z,Z+=8,V+=g[j++]<<Z,Z+=8;L=$[V&O];W:for(;;){if(F=L>>>24,V>>>=F,Z-=F,F=L>>>16&255,F&16){if(y=L&65535,F&=15,Z<F){if(V+=g[j++]<<Z,Z+=8,Z<F)V+=g[j++]<<Z,Z+=8}if(y+=V&(1<<F)-1,y>Y){W.msg="invalid distance too far back",N.mode=hQ;break Q}if(V>>>=F,Z-=F,F=q-z,y>F){if(F=y-F,F>K){if(N.sane){W.msg="invalid distance too far back",N.mode=hQ;break Q}}if(H=0,A=k,P===0){if(H+=X-F,F<R){R-=F;do B[q++]=k[H++];while(--F);H=q-y,A=B}}else if(P<F){if(H+=X+P-F,F-=P,F<R){R-=F;do B[q++]=k[H++];while(--F);if(H=0,P<R){F=P,R-=F;do B[q++]=k[H++];while(--F);H=q-y,A=B}}}else if(H+=P-F,F<R){R-=F;do B[q++]=k[H++];while(--F);H=q-y,A=B}while(R>2)B[q++]=A[H++],B[q++]=A[H++],B[q++]=A[H++],R-=3;if(R){if(B[q++]=A[H++],R>1)B[q++]=A[H++]}}else{H=q-y;do B[q++]=B[H++],B[q++]=B[H++],B[q++]=B[H++],R-=3;while(R>2);if(R){if(B[q++]=B[H++],R>1)B[q++]=B[H++]}}}else if((F&64)===0){L=$[(L&65535)+(V&(1<<F)-1)];continue W}else{W.msg="invalid distance code",N.mode=hQ;break Q}break}}else if((F&64)===0){L=M[(L&65535)+(V&(1<<F)-1)];continue J}else if(F&32){N.mode=f8;break Q}else{W.msg="invalid literal/length code",N.mode=hQ;break Q}break}}while(j<G&&q<U);R=Z>>3,j-=R,Z-=R<<3,V&=(1<<Z)-1,W.next_in=j,W.next_out=q,W.avail_in=j<G?5+(G-j):5-(j-G),W.avail_out=q<U?257+(U-q):257-(q-U),N.hold=V,N.bits=Z;return},kQ=15,hJ=852,cJ=592,mJ=0,GJ=1,dJ=2,h8=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),c8=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),m8=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),d8=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),p8=(Q,W,J,j,G,q,z,U)=>{let Y=U.bits,X=0,K=0,P=0,k=0,V=0,Z=0,M=0,$=0,C=0,O=0,L,F,R,y,H,A=null,g,B=new Uint16Array(kQ+1),N=new Uint16Array(kQ+1),JQ=null,AJ,bQ,fQ;for(X=0;X<=kQ;X++)B[X]=0;for(K=0;K<j;K++)B[W[J+K]]++;V=Y;for(k=kQ;k>=1;k--)if(B[k]!==0)break;if(V>k)V=k;if(k===0)return G[q++]=20971520,G[q++]=20971520,U.bits=1,0;for(P=1;P<k;P++)if(B[P]!==0)break;if(V<P)V=P;$=1;for(X=1;X<=kQ;X++)if($<<=1,$-=B[X],$<0)return-1;if($>0&&(Q===mJ||k!==1))return-1;N[1]=0;for(X=1;X<kQ;X++)N[X+1]=N[X]+B[X];for(K=0;K<j;K++)if(W[J+K]!==0)z[N[W[J+K]]++]=K;if(Q===mJ)A=JQ=z,g=20;else if(Q===GJ)A=h8,JQ=c8,g=257;else A=m8,JQ=d8,g=0;if(O=0,K=0,X=P,H=q,Z=V,M=0,R=-1,C=1<<V,y=C-1,Q===GJ&&C>hJ||Q===dJ&&C>cJ)return 1;for(;;){if(AJ=X-M,z[K]+1<g)bQ=0,fQ=z[K];else if(z[K]>=g)bQ=JQ[z[K]-g],fQ=A[z[K]-g];else bQ=96,fQ=0;L=1<<X-M,F=1<<Z,P=F;do F-=L,G[H+(O>>M)+F]=AJ<<24|bQ<<16|fQ|0;while(F!==0);L=1<<X-1;while(O&L)L>>=1;if(L!==0)O&=L-1,O+=L;else O=0;if(K++,--B[X]===0){if(X===k)break;X=W[J+z[K]]}if(X>V&&(O&y)!==R){if(M===0)M=V;H+=P,Z=X-M,$=1<<Z;while(Z+M<k){if($-=B[Z+M],$<=0)break;Z++,$<<=1}if(C+=1<<Z,Q===GJ&&C>hJ||Q===dJ&&C>cJ)return 1;R=O&y,G[R]=V<<24|Z<<16|H-q|0}}if(O!==0)G[H+O]=X-M<<24|4194304|0;return U.bits=V,0},gQ=p8,l8=0,u0=1,h0=2,{Z_FINISH:pJ,Z_BLOCK:_8,Z_TREES:cQ,Z_OK:UQ,Z_STREAM_END:i8,Z_NEED_DICT:r8,Z_STREAM_ERROR:m,Z_DATA_ERROR:c0,Z_MEM_ERROR:m0,Z_BUF_ERROR:o8,Z_DEFLATED:lJ}=zQ,nQ=16180,_J=16181,iJ=16182,rJ=16183,oJ=16184,nJ=16185,aJ=16186,eJ=16187,tJ=16188,sJ=16189,iQ=16190,i=16191,XJ=16192,Q0=16193,UJ=16194,J0=16195,W0=16196,j0=16197,q0=16198,mQ=16199,dQ=16200,G0=16201,X0=16202,U0=16203,z0=16204,K0=16205,zJ=16206,V0=16207,k0=16208,S=16209,d0=16210,p0=16211,n8=852,a8=592,e8=15,t8=e8,Y0=(Q)=>{return(Q>>>24&255)+(Q>>>8&65280)+((Q&65280)<<8)+((Q&255)<<24)};function s8(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var KQ=(Q)=>{if(!Q)return 1;let W=Q.state;if(!W||W.strm!==Q||W.mode<nQ||W.mode>p0)return 1;return 0},l0=(Q)=>{if(KQ(Q))return m;let W=Q.state;if(Q.total_in=Q.total_out=W.total=0,Q.msg="",W.wrap)Q.adler=W.wrap&1;return W.mode=nQ,W.last=0,W.havedict=0,W.flags=-1,W.dmax=32768,W.head=null,W.hold=0,W.bits=0,W.lencode=W.lendyn=new Int32Array(n8),W.distcode=W.distdyn=new Int32Array(a8),W.sane=1,W.back=-1,UQ},_0=(Q)=>{if(KQ(Q))return m;let W=Q.state;return W.wsize=0,W.whave=0,W.wnext=0,l0(Q)},i0=(Q,W)=>{let J;if(KQ(Q))return m;let j=Q.state;if(W<0)J=0,W=-W;else if(J=(W>>4)+5,W<48)W&=15;if(W&&(W<8||W>15))return m;if(j.window!==null&&j.wbits!==W)j.window=null;return j.wrap=J,j.wbits=W,_0(Q)},r0=(Q,W)=>{if(!Q)return m;let J=new s8;Q.state=J,J.strm=Q,J.window=null,J.mode=nQ;let j=i0(Q,W);if(j!==UQ)Q.state=null;return j},Q1=(Q)=>{return r0(Q,t8)},F0=!0,KJ,VJ,J1=(Q)=>{if(F0){KJ=new Int32Array(512),VJ=new Int32Array(32);let W=0;while(W<144)Q.lens[W++]=8;while(W<256)Q.lens[W++]=9;while(W<280)Q.lens[W++]=7;while(W<288)Q.lens[W++]=8;gQ(u0,Q.lens,0,288,KJ,0,Q.work,{bits:9}),W=0;while(W<32)Q.lens[W++]=5;gQ(h0,Q.lens,0,32,VJ,0,Q.work,{bits:5}),F0=!1}Q.lencode=KJ,Q.lenbits=9,Q.distcode=VJ,Q.distbits=5},o0=(Q,W,J,j)=>{let G,q=Q.state;if(q.window===null)q.wsize=1<<q.wbits,q.wnext=0,q.whave=0,q.window=new Uint8Array(q.wsize);if(j>=q.wsize)q.window.set(W.subarray(J-q.wsize,J),0),q.wnext=0,q.whave=q.wsize;else{if(G=q.wsize-q.wnext,G>j)G=j;if(q.window.set(W.subarray(J-j,J-j+G),q.wnext),j-=G,j)q.window.set(W.subarray(J-j,J),0),q.wnext=j,q.whave=q.wsize;else{if(q.wnext+=G,q.wnext===q.wsize)q.wnext=0;if(q.whave<q.wsize)q.whave+=G}}return 0},W1=(Q,W)=>{let J,j,G,q,z,U,Y,X,K,P,k,V,Z,M,$=0,C,O,L,F,R,y,H,A,g=new Uint8Array(4),B,N,JQ=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(KQ(Q)||!Q.output||!Q.input&&Q.avail_in!==0)return m;if(J=Q.state,J.mode===i)J.mode=XJ;z=Q.next_out,G=Q.output,Y=Q.avail_out,q=Q.next_in,j=Q.input,U=Q.avail_in,X=J.hold,K=J.bits,P=U,k=Y,A=UQ;Q:for(;;)switch(J.mode){case nQ:if(J.wrap===0){J.mode=XJ;break}while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.wrap&2&&X===35615){if(J.wbits===0)J.wbits=15;J.check=0,g[0]=X&255,g[1]=X>>>8&255,J.check=D(J.check,g,2,0),X=0,K=0,J.mode=_J;break}if(J.head)J.head.done=!1;if(!(J.wrap&1)||(((X&255)<<8)+(X>>8))%31){Q.msg="incorrect header check",J.mode=S;break}if((X&15)!==lJ){Q.msg="unknown compression method",J.mode=S;break}if(X>>>=4,K-=4,H=(X&15)+8,J.wbits===0)J.wbits=H;if(H>15||H>J.wbits){Q.msg="invalid window size",J.mode=S;break}J.dmax=1<<J.wbits,J.flags=0,Q.adler=J.check=1,J.mode=X&512?sJ:i,X=0,K=0;break;case _J:while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.flags=X,(J.flags&255)!==lJ){Q.msg="unknown compression method",J.mode=S;break}if(J.flags&57344){Q.msg="unknown header flags set",J.mode=S;break}if(J.head)J.head.text=X>>8&1;if(J.flags&512&&J.wrap&4)g[0]=X&255,g[1]=X>>>8&255,J.check=D(J.check,g,2,0);X=0,K=0,J.mode=iJ;case iJ:while(K<32){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.head)J.head.time=X;if(J.flags&512&&J.wrap&4)g[0]=X&255,g[1]=X>>>8&255,g[2]=X>>>16&255,g[3]=X>>>24&255,J.check=D(J.check,g,4,0);X=0,K=0,J.mode=rJ;case rJ:while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.head)J.head.xflags=X&255,J.head.os=X>>8;if(J.flags&512&&J.wrap&4)g[0]=X&255,g[1]=X>>>8&255,J.check=D(J.check,g,2,0);X=0,K=0,J.mode=oJ;case oJ:if(J.flags&1024){while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.length=X,J.head)J.head.extra_len=X;if(J.flags&512&&J.wrap&4)g[0]=X&255,g[1]=X>>>8&255,J.check=D(J.check,g,2,0);X=0,K=0}else if(J.head)J.head.extra=null;J.mode=nJ;case nJ:if(J.flags&1024){if(V=J.length,V>U)V=U;if(V){if(J.head){if(H=J.head.extra_len-J.length,!J.head.extra)J.head.extra=new Uint8Array(J.head.extra_len);J.head.extra.set(j.subarray(q,q+V),H)}if(J.flags&512&&J.wrap&4)J.check=D(J.check,j,V,q);U-=V,q+=V,J.length-=V}if(J.length)break Q}J.length=0,J.mode=aJ;case aJ:if(J.flags&2048){if(U===0)break Q;V=0;do if(H=j[q+V++],J.head&&H&&J.length<65536)J.head.name+=String.fromCharCode(H);while(H&&V<U);if(J.flags&512&&J.wrap&4)J.check=D(J.check,j,V,q);if(U-=V,q+=V,H)break Q}else if(J.head)J.head.name=null;J.length=0,J.mode=eJ;case eJ:if(J.flags&4096){if(U===0)break Q;V=0;do if(H=j[q+V++],J.head&&H&&J.length<65536)J.head.comment+=String.fromCharCode(H);while(H&&V<U);if(J.flags&512&&J.wrap&4)J.check=D(J.check,j,V,q);if(U-=V,q+=V,H)break Q}else if(J.head)J.head.comment=null;J.mode=tJ;case tJ:if(J.flags&512){while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.wrap&4&&X!==(J.check&65535)){Q.msg="header crc mismatch",J.mode=S;break}X=0,K=0}if(J.head)J.head.hcrc=J.flags>>9&1,J.head.done=!0;Q.adler=J.check=0,J.mode=i;break;case sJ:while(K<32){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}Q.adler=J.check=Y0(X),X=0,K=0,J.mode=iQ;case iQ:if(J.havedict===0)return Q.next_out=z,Q.avail_out=Y,Q.next_in=q,Q.avail_in=U,J.hold=X,J.bits=K,r8;Q.adler=J.check=1,J.mode=i;case i:if(W===_8||W===cQ)break Q;case XJ:if(J.last){X>>>=K&7,K-=K&7,J.mode=zJ;break}while(K<3){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}switch(J.last=X&1,X>>>=1,K-=1,X&3){case 0:J.mode=Q0;break;case 1:if(J1(J),J.mode=mQ,W===cQ){X>>>=2,K-=2;break Q}break;case 2:J.mode=W0;break;case 3:Q.msg="invalid block type",J.mode=S}X>>>=2,K-=2;break;case Q0:X>>>=K&7,K-=K&7;while(K<32){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if((X&65535)!==(X>>>16^65535)){Q.msg="invalid stored block lengths",J.mode=S;break}if(J.length=X&65535,X=0,K=0,J.mode=UJ,W===cQ)break Q;case UJ:J.mode=J0;case J0:if(V=J.length,V){if(V>U)V=U;if(V>Y)V=Y;if(V===0)break Q;G.set(j.subarray(q,q+V),z),U-=V,q+=V,Y-=V,z+=V,J.length-=V;break}J.mode=i;break;case W0:while(K<14){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.nlen=(X&31)+257,X>>>=5,K-=5,J.ndist=(X&31)+1,X>>>=5,K-=5,J.ncode=(X&15)+4,X>>>=4,K-=4,J.nlen>286||J.ndist>30){Q.msg="too many length or distance symbols",J.mode=S;break}J.have=0,J.mode=j0;case j0:while(J.have<J.ncode){while(K<3){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}J.lens[JQ[J.have++]]=X&7,X>>>=3,K-=3}while(J.have<19)J.lens[JQ[J.have++]]=0;if(J.lencode=J.lendyn,J.lenbits=7,B={bits:J.lenbits},A=gQ(l8,J.lens,0,19,J.lencode,0,J.work,B),J.lenbits=B.bits,A){Q.msg="invalid code lengths set",J.mode=S;break}J.have=0,J.mode=q0;case q0:while(J.have<J.nlen+J.ndist){for(;;){if($=J.lencode[X&(1<<J.lenbits)-1],C=$>>>24,O=$>>>16&255,L=$&65535,C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(L<16)X>>>=C,K-=C,J.lens[J.have++]=L;else{if(L===16){N=C+2;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(X>>>=C,K-=C,J.have===0){Q.msg="invalid bit length repeat",J.mode=S;break}H=J.lens[J.have-1],V=3+(X&3),X>>>=2,K-=2}else if(L===17){N=C+3;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}X>>>=C,K-=C,H=0,V=3+(X&7),X>>>=3,K-=3}else{N=C+7;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}X>>>=C,K-=C,H=0,V=11+(X&127),X>>>=7,K-=7}if(J.have+V>J.nlen+J.ndist){Q.msg="invalid bit length repeat",J.mode=S;break}while(V--)J.lens[J.have++]=H}}if(J.mode===S)break;if(J.lens[256]===0){Q.msg="invalid code -- missing end-of-block",J.mode=S;break}if(J.lenbits=9,B={bits:J.lenbits},A=gQ(u0,J.lens,0,J.nlen,J.lencode,0,J.work,B),J.lenbits=B.bits,A){Q.msg="invalid literal/lengths set",J.mode=S;break}if(J.distbits=6,J.distcode=J.distdyn,B={bits:J.distbits},A=gQ(h0,J.lens,J.nlen,J.ndist,J.distcode,0,J.work,B),J.distbits=B.bits,A){Q.msg="invalid distances set",J.mode=S;break}if(J.mode=mQ,W===cQ)break Q;case mQ:J.mode=dQ;case dQ:if(U>=6&&Y>=258){if(Q.next_out=z,Q.avail_out=Y,Q.next_in=q,Q.avail_in=U,J.hold=X,J.bits=K,u8(Q,k),z=Q.next_out,G=Q.output,Y=Q.avail_out,q=Q.next_in,j=Q.input,U=Q.avail_in,X=J.hold,K=J.bits,J.mode===i)J.back=-1;break}J.back=0;for(;;){if($=J.lencode[X&(1<<J.lenbits)-1],C=$>>>24,O=$>>>16&255,L=$&65535,C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(O&&(O&240)===0){F=C,R=O,y=L;for(;;){if($=J.lencode[y+((X&(1<<F+R)-1)>>F)],C=$>>>24,O=$>>>16&255,L=$&65535,F+C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}X>>>=F,K-=F,J.back+=F}if(X>>>=C,K-=C,J.back+=C,J.length=L,O===0){J.mode=K0;break}if(O&32){J.back=-1,J.mode=i;break}if(O&64){Q.msg="invalid literal/length code",J.mode=S;break}J.extra=O&15,J.mode=G0;case G0:if(J.extra){N=J.extra;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}J.length+=X&(1<<J.extra)-1,X>>>=J.extra,K-=J.extra,J.back+=J.extra}J.was=J.length,J.mode=X0;case X0:for(;;){if($=J.distcode[X&(1<<J.distbits)-1],C=$>>>24,O=$>>>16&255,L=$&65535,C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if((O&240)===0){F=C,R=O,y=L;for(;;){if($=J.distcode[y+((X&(1<<F+R)-1)>>F)],C=$>>>24,O=$>>>16&255,L=$&65535,F+C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}X>>>=F,K-=F,J.back+=F}if(X>>>=C,K-=C,J.back+=C,O&64){Q.msg="invalid distance code",J.mode=S;break}J.offset=L,J.extra=O&15,J.mode=U0;case U0:if(J.extra){N=J.extra;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}J.offset+=X&(1<<J.extra)-1,X>>>=J.extra,K-=J.extra,J.back+=J.extra}if(J.offset>J.dmax){Q.msg="invalid distance too far back",J.mode=S;break}J.mode=z0;case z0:if(Y===0)break Q;if(V=k-Y,J.offset>V){if(V=J.offset-V,V>J.whave){if(J.sane){Q.msg="invalid distance too far back",J.mode=S;break}}if(V>J.wnext)V-=J.wnext,Z=J.wsize-V;else Z=J.wnext-V;if(V>J.length)V=J.length;M=J.window}else M=G,Z=z-J.offset,V=J.length;if(V>Y)V=Y;Y-=V,J.length-=V;do G[z++]=M[Z++];while(--V);if(J.length===0)J.mode=dQ;break;case K0:if(Y===0)break Q;G[z++]=J.length,Y--,J.mode=dQ;break;case zJ:if(J.wrap){while(K<32){if(U===0)break Q;U--,X|=j[q++]<<K,K+=8}if(k-=Y,Q.total_out+=k,J.total+=k,J.wrap&4&&k)Q.adler=J.check=J.flags?D(J.check,G,k,z-k):wQ(J.check,G,k,z-k);if(k=Y,J.wrap&4&&(J.flags?X:Y0(X))!==J.check){Q.msg="incorrect data check",J.mode=S;break}X=0,K=0}J.mode=V0;case V0:if(J.wrap&&J.flags){while(K<32){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.wrap&4&&X!==(J.total&4294967295)){Q.msg="incorrect length check",J.mode=S;break}X=0,K=0}J.mode=k0;case k0:A=i8;break Q;case S:A=c0;break Q;case d0:return m0;case p0:default:return m}if(Q.next_out=z,Q.avail_out=Y,Q.next_in=q,Q.avail_in=U,J.hold=X,J.bits=K,J.wsize||k!==Q.avail_out&&J.mode<S&&(J.mode<zJ||W!==pJ)){if(o0(Q,Q.output,Q.next_out,k-Q.avail_out));}if(P-=Q.avail_in,k-=Q.avail_out,Q.total_in+=P,Q.total_out+=k,J.total+=k,J.wrap&4&&k)Q.adler=J.check=J.flags?D(J.check,G,k,Q.next_out-k):wQ(J.check,G,k,Q.next_out-k);if(Q.data_type=J.bits+(J.last?64:0)+(J.mode===i?128:0)+(J.mode===mQ||J.mode===UJ?256:0),(P===0&&k===0||W===pJ)&&A===UQ)A=o8;return A},j1=(Q)=>{if(KQ(Q))return m;let W=Q.state;if(W.window)W.window=null;return Q.state=null,UQ},q1=(Q,W)=>{if(KQ(Q))return m;let J=Q.state;if((J.wrap&2)===0)return m;return J.head=W,W.done=!1,UQ},G1=(Q,W)=>{let J=W.length,j,G,q;if(KQ(Q))return m;if(j=Q.state,j.wrap!==0&&j.mode!==iQ)return m;if(j.mode===iQ){if(G=1,G=wQ(G,W,J,0),G!==j.check)return c0}if(q=o0(Q,W,J,J),q)return j.mode=d0,m0;return j.havedict=1,UQ},X1=_0,U1=i0,z1=l0,K1=Q1,V1=r0,k1=W1,Y1=j1,F1=q1,Z1=G1,H1="pako inflate (from Nodeca project)",o={inflateReset:X1,inflateReset2:U1,inflateResetKeep:z1,inflateInit:K1,inflateInit2:V1,inflate:k1,inflateEnd:Y1,inflateGetHeader:F1,inflateSetDictionary:Z1,inflateInfo:H1};function P1(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var B1=P1,n0=Object.prototype.toString,{Z_NO_FLUSH:C1,Z_FINISH:$1,Z_OK:TQ,Z_STREAM_END:kJ,Z_NEED_DICT:YJ,Z_STREAM_ERROR:L1,Z_DATA_ERROR:Z0,Z_MEM_ERROR:N1}=zQ;function IQ(Q){this.options=oQ.assign({chunkSize:65536,windowBits:15,to:""},Q||{});let W=this.options;if(W.raw&&W.windowBits>=0&&W.windowBits<16){if(W.windowBits=-W.windowBits,W.windowBits===0)W.windowBits=-15}if(W.windowBits>=0&&W.windowBits<16&&!(Q&&Q.windowBits))W.windowBits+=32;if(W.windowBits>15&&W.windowBits<48){if((W.windowBits&15)===0)W.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new b0,this.strm.avail_out=0;let J=o.inflateInit2(this.strm,W.windowBits);if(J!==TQ)throw new Error(GQ[J]);if(this.header=new B1,o.inflateGetHeader(this.strm,this.header),W.dictionary){if(typeof W.dictionary==="string")W.dictionary=SQ.string2buf(W.dictionary);else if(n0.call(W.dictionary)==="[object ArrayBuffer]")W.dictionary=new Uint8Array(W.dictionary);if(W.raw){if(J=o.inflateSetDictionary(this.strm,W.dictionary),J!==TQ)throw new Error(GQ[J])}}}IQ.prototype.push=function(Q,W){let J=this.strm,j=this.options.chunkSize,G=this.options.dictionary,q,z,U;if(this.ended)return!1;if(W===~~W)z=W;else z=W===!0?$1:C1;if(n0.call(Q)==="[object ArrayBuffer]")J.input=new Uint8Array(Q);else J.input=Q;J.next_in=0,J.avail_in=J.input.length;for(;;){if(J.avail_out===0)J.output=new Uint8Array(j),J.next_out=0,J.avail_out=j;if(q=o.inflate(J,z),q===YJ&&G){if(q=o.inflateSetDictionary(J,G),q===TQ)q=o.inflate(J,z);else if(q===Z0)q=YJ}while(J.avail_in>0&&q===kJ&&J.state.wrap>0&&Q[J.next_in]!==0)o.inflateReset(J),q=o.inflate(J,z);switch(q){case L1:case Z0:case YJ:case N1:return this.onEnd(q),this.ended=!0,!1}if(U=J.avail_out,J.next_out){if(J.avail_out===0||q===kJ)if(this.options.to==="string"){let Y=SQ.utf8border(J.output,J.next_out),X=J.next_out-Y,K=SQ.buf2string(J.output,Y);if(J.next_out=X,J.avail_out=j-X,X)J.output.set(J.output.subarray(Y,Y+X),0);this.onData(K)}else this.onData(J.output.length===J.next_out?J.output:J.output.subarray(0,J.next_out))}if(q===TQ&&U===0)continue;if(q===kJ)return q=o.inflateEnd(this.strm),this.onEnd(q),this.ended=!0,!0;if(J.avail_in===0)break}return!0};IQ.prototype.onData=function(Q){this.chunks.push(Q)};IQ.prototype.onEnd=function(Q){if(Q===TQ)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=oQ.flattenChunks(this.chunks);this.chunks=[],this.err=Q,this.msg=this.strm.msg};function wJ(Q,W){let J=new IQ(W);if(J.push(Q),J.err)throw J.msg||GQ[J.err];return J.result}function v1(Q,W){return W=W||{},W.raw=!0,wJ(Q,W)}var g1=IQ,R1=wJ,x1=v1,O1=wJ,M1=zQ,w1={Inflate:g1,inflate:R1,inflateRaw:x1,ungzip:O1,constants:M1},{Deflate:A1,deflate:S1,deflateRaw:T1,gzip:y1}=b8,{Inflate:D1,inflate:E1,inflateRaw:I1,ungzip:b1}=w1,f1=A1,u1=S1,h1=T1,c1=y1,m1=D1,d1=E1,p1=I1,l1=b1,_1=zQ,aQ={Deflate:f1,deflate:u1,deflateRaw:h1,gzip:c1,Inflate:m1,inflate:d1,inflateRaw:p1,ungzip:l1,constants:_1};class w{static version="4.1.0";static logger=new eQ;icons=new Map;name="failed-to-find-vyi-name";formatVersion=1;constructor(Q){if(w.logger.registerType("Vyi-module","#ff6600"),Q)this.parse(Q)}parse(Q){if(!Q)return this;try{let W;if(typeof Q==="string")try{W=JSON.parse(Q)}catch(J){if(!Q.includes(".vyr")&&!Q.includes(".vyi")){if(W=Q,!W)throw new Error("Non vyi data found from binary string")}else try{W=JSON.parse(Q)}catch(j){if(typeof window==="undefined")W=this.readFileAndGetVYI(Q);else throw new Error("Invalid string input - not valid JSON or file path")}}else if(Q instanceof w)W=Q.export();else if(Q instanceof Object&&!Array.isArray(Q)&&!(Q instanceof ArrayBuffer||Q instanceof Uint8Array))W=Q;else if(Q instanceof ArrayBuffer||Q instanceof Uint8Array)W=this.handleBinaryData(Q);else throw new Error("Error processing: Invalid input type provided.");if(!W||(!W.v||!W.i)&&!W.icons)throw new Error("Non vyi data found.");this.processVyiData(W)}catch(W){w.logger.prefix("Vyi-module").error(\`\${W.message}\`)}return this}readFile(Q){try{let J=new TextEncoder().encode(Q),j=aQ.inflate(J,{to:"string"});return JSON.parse(j)}catch(W){return console.error("File reading failed:",W),null}}readFileAndGetVYI(Q){let J=(()=>({})).readFileSync(Q);return this.handleBinaryData(J)}async fetchAndParseJSON(Q){try{return await(await fetch(Q)).json()}catch(W){throw new Error(\`Failed to fetch or parse JSON from URL: \${W}\`)}}handleBinaryData(Q){let W=Q instanceof ArrayBuffer?new Uint8Array(Q):Q;try{let J=aQ.inflate(W,{to:"string"});if(!J)return null;return JSON.parse(J)}catch(J){try{let j=new TextDecoder().decode(W);if(!j)return null;return JSON.parse(j)}catch(j){return console.error("Decoding failed:",j),null}}}processVyiData(Q){this.icons.clear();let W=Q.i||Q.icons;if(this.formatVersion=Q.v??"format not found",Array.isArray(W))W.forEach((J)=>{if(!Array.isArray(J)&&typeof J==="object"){let j=this.convertOldIconData(J);this.addIcon(j)}else this.addIcon(J)});else w.logger.prefix("Vyi-module").error("Invalid .vyi file! Cannot parse icons.")}convertOldIconData(Q){let W=Array.isArray(Q.frames)?Q.frames.map((j)=>[j.data,j.delay]):[],J=Array.isArray(Q.states)?Q.states.map((j)=>{let G=Array.isArray(j.frames)?j.frames.map((q)=>[q.data,q.delay]):[];return[j.name,j.data,j.delay||100,G]}):[];return[Q.name||"",Q.w||32,Q.h||32,Q.delay||100,Q.data||"",W,J]}addIcon(Q){if(!Q){w.logger.prefix("Vyi-module").error("No icon data passed!");return}if(!(Q instanceof T)&&!Array.isArray(Q)){w.logger.prefix("Vyi-module").error("Invalid icon data type passed!");return}let W=Q instanceof T?Q:new T(Q);return this.icons.set(W.id,W),W.setVyi(this),W}removeIcon(Q){if(!Q)return;if(Q instanceof T){if(this.icons.delete(Q.id))Q.removeVyi()}}removeIconByName(Q){let W=this.getIcon(Q);if(W)this.removeIcon(W)}removeIconById(Q){let W=this.getIconById(Q);if(W)this.removeIcon(W)}getIconNames(){return this.getIcons().map((W)=>W.name)}getIcon(Q){if(typeof Q==="string"){let W=this.getIcons();for(let J=W.length-1;J>=0;J--){let j=W[J];if(j.getName()===Q)return j}}else w.logger.prefix("Vyi-module").error("Invalid name type used!")}getIconCount(){return this.icons.size}getIconById(Q){if(!Q)return;return this.icons.get(Q)||this.getIcons().find((J)=>J.states.has(Q))?.getStateById(Q)}getIcons(){return Array.from(this.icons.values())}rename(Q){if(typeof Q==="string")this.name=Q;else w.logger.prefix("Vyi-module").error("Invalid name type used!")}getName(){return this.name}export(Q){let W={v:this.formatVersion,i:this.getIcons().map((J)=>J.export())};if(Q){let J=new TextEncoder().encode(JSON.stringify(W));return aQ.deflate(J)}return W}}self.onmessage=function(Q){let{id:W,type:J,data:j}=Q.data;try{if(J==="parse"){let q=new w(j).export();self.postMessage({id:W,success:!0,data:q})}}catch(G){let q=G instanceof Error?G.message:"Unknown error";console.error("Worker error:",G),self.postMessage({id:W,success:!1,error:q})}};
|
|
9041
|
+
`;
|
|
9042
|
+
var WORKER_BLOB = new Blob([WORKER_CODE], { type: "application/javascript" });
|
|
9043
|
+
var WORKER_SCRIPT_URL = URL.createObjectURL(WORKER_BLOB);
|
|
9283
9044
|
|
|
9284
|
-
class
|
|
9285
|
-
static
|
|
9286
|
-
|
|
9287
|
-
|
|
9288
|
-
|
|
9289
|
-
|
|
9290
|
-
|
|
9291
|
-
|
|
9292
|
-
|
|
9293
|
-
|
|
9045
|
+
class WorkerPool {
|
|
9046
|
+
static instance = null;
|
|
9047
|
+
workers = [];
|
|
9048
|
+
availableWorkers = [];
|
|
9049
|
+
maxWorkers;
|
|
9050
|
+
messageId = 0;
|
|
9051
|
+
pendingMessages = new Map;
|
|
9052
|
+
waitQueue = [];
|
|
9053
|
+
constructor(maxWorkers = navigator.hardwareConcurrency || 4) {
|
|
9054
|
+
this.maxWorkers = maxWorkers;
|
|
9055
|
+
this.initializeWorkers();
|
|
9056
|
+
}
|
|
9057
|
+
static getInstance(maxWorkers) {
|
|
9058
|
+
if (!WorkerPool.instance) {
|
|
9059
|
+
WorkerPool.instance = new WorkerPool(maxWorkers);
|
|
9294
9060
|
}
|
|
9061
|
+
return WorkerPool.instance;
|
|
9295
9062
|
}
|
|
9296
|
-
|
|
9297
|
-
if (
|
|
9298
|
-
|
|
9299
|
-
|
|
9300
|
-
|
|
9301
|
-
|
|
9302
|
-
|
|
9303
|
-
|
|
9304
|
-
|
|
9305
|
-
|
|
9306
|
-
|
|
9307
|
-
|
|
9308
|
-
|
|
9309
|
-
|
|
9310
|
-
|
|
9311
|
-
|
|
9312
|
-
|
|
9313
|
-
|
|
9314
|
-
|
|
9315
|
-
|
|
9316
|
-
|
|
9317
|
-
|
|
9318
|
-
|
|
9319
|
-
|
|
9320
|
-
}
|
|
9321
|
-
}
|
|
9063
|
+
static destroy() {
|
|
9064
|
+
if (WorkerPool.instance) {
|
|
9065
|
+
WorkerPool.instance.terminate();
|
|
9066
|
+
WorkerPool.instance = null;
|
|
9067
|
+
}
|
|
9068
|
+
}
|
|
9069
|
+
initializeWorkers() {
|
|
9070
|
+
for (let i = 0;i < this.maxWorkers; i++) {
|
|
9071
|
+
const worker = this.createWorker();
|
|
9072
|
+
this.workers.push(worker);
|
|
9073
|
+
this.availableWorkers.push(worker);
|
|
9074
|
+
}
|
|
9075
|
+
}
|
|
9076
|
+
createWorker() {
|
|
9077
|
+
const worker = new Worker(WORKER_SCRIPT_URL, { type: "module" });
|
|
9078
|
+
worker.onmessage = (event) => {
|
|
9079
|
+
const { id, success, data, error } = event.data;
|
|
9080
|
+
const pending = this.pendingMessages.get(id);
|
|
9081
|
+
if (pending) {
|
|
9082
|
+
this.pendingMessages.delete(id);
|
|
9083
|
+
if (success) {
|
|
9084
|
+
pending.resolve(data);
|
|
9085
|
+
} else {
|
|
9086
|
+
pending.reject(new Error(error));
|
|
9322
9087
|
}
|
|
9323
|
-
} else if (pVyiData instanceof VYI) {
|
|
9324
|
-
vyi = pVyiData.export();
|
|
9325
|
-
} else if (pVyiData instanceof Object && !Array.isArray(pVyiData) && !(pVyiData instanceof ArrayBuffer || pVyiData instanceof Uint8Array)) {
|
|
9326
|
-
vyi = pVyiData;
|
|
9327
|
-
} else if (pVyiData instanceof ArrayBuffer || pVyiData instanceof Uint8Array) {
|
|
9328
|
-
vyi = this.handleBinaryData(pVyiData);
|
|
9329
|
-
} else {
|
|
9330
|
-
throw new Error("Error processing: Invalid input type provided.");
|
|
9331
9088
|
}
|
|
9332
|
-
|
|
9333
|
-
|
|
9089
|
+
};
|
|
9090
|
+
worker.onerror = (error) => {
|
|
9091
|
+
console.error("Worker error:", error);
|
|
9092
|
+
for (const [id, pending] of this.pendingMessages) {
|
|
9093
|
+
pending.reject(new Error(`Worker error: ${error.message}`));
|
|
9334
9094
|
}
|
|
9335
|
-
this.
|
|
9336
|
-
}
|
|
9337
|
-
|
|
9095
|
+
this.pendingMessages.clear();
|
|
9096
|
+
};
|
|
9097
|
+
return worker;
|
|
9098
|
+
}
|
|
9099
|
+
async getWorker() {
|
|
9100
|
+
if (this.availableWorkers.length > 0) {
|
|
9101
|
+
return this.availableWorkers.pop();
|
|
9102
|
+
}
|
|
9103
|
+
if (this.workers.length === 0) {
|
|
9104
|
+
throw new Error("Workers have been terminated. Create a new VyiWorker instance to continue.");
|
|
9105
|
+
}
|
|
9106
|
+
return new Promise((resolve3) => {
|
|
9107
|
+
this.waitQueue.push(resolve3);
|
|
9108
|
+
});
|
|
9109
|
+
}
|
|
9110
|
+
returnWorker(worker) {
|
|
9111
|
+
if (this.waitQueue.length > 0) {
|
|
9112
|
+
const resolve3 = this.waitQueue.shift();
|
|
9113
|
+
resolve3(worker);
|
|
9114
|
+
} else if (this.workers.includes(worker)) {
|
|
9115
|
+
this.availableWorkers.push(worker);
|
|
9338
9116
|
}
|
|
9339
|
-
return this;
|
|
9340
9117
|
}
|
|
9341
|
-
|
|
9342
|
-
|
|
9343
|
-
|
|
9344
|
-
|
|
9345
|
-
|
|
9346
|
-
|
|
9347
|
-
|
|
9348
|
-
|
|
9349
|
-
|
|
9118
|
+
async sendMessage(worker, type, data) {
|
|
9119
|
+
const id = `${this.messageId++}`;
|
|
9120
|
+
return new Promise((resolve3, reject) => {
|
|
9121
|
+
this.pendingMessages.set(id, { resolve: resolve3, reject });
|
|
9122
|
+
worker.postMessage({ id, type, data });
|
|
9123
|
+
setTimeout(() => {
|
|
9124
|
+
if (this.pendingMessages.has(id)) {
|
|
9125
|
+
this.pendingMessages.delete(id);
|
|
9126
|
+
reject(new Error("Worker message timeout"));
|
|
9127
|
+
}
|
|
9128
|
+
}, 30000);
|
|
9129
|
+
});
|
|
9130
|
+
}
|
|
9131
|
+
terminate() {
|
|
9132
|
+
for (const worker of this.workers) {
|
|
9133
|
+
worker.terminate();
|
|
9134
|
+
}
|
|
9135
|
+
this.workers = [];
|
|
9136
|
+
this.availableWorkers = [];
|
|
9137
|
+
for (const [id, pending] of this.pendingMessages) {
|
|
9138
|
+
pending.reject(new Error("Worker terminated"));
|
|
9350
9139
|
}
|
|
9140
|
+
this.pendingMessages.clear();
|
|
9351
9141
|
}
|
|
9352
|
-
|
|
9353
|
-
|
|
9354
|
-
|
|
9355
|
-
|
|
9142
|
+
}
|
|
9143
|
+
|
|
9144
|
+
// src/cli/app-bundler.ts
|
|
9145
|
+
import { promises as fs, existsSync } from "fs";
|
|
9146
|
+
import { join as join3, dirname as dirname3, extname as extname2 } from "path";
|
|
9147
|
+
|
|
9148
|
+
// node_modules/chalk/source/vendor/ansi-styles/index.js
|
|
9149
|
+
var ANSI_BACKGROUND_OFFSET = 10;
|
|
9150
|
+
var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
|
|
9151
|
+
var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
|
|
9152
|
+
var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
|
|
9153
|
+
var styles = {
|
|
9154
|
+
modifier: {
|
|
9155
|
+
reset: [0, 0],
|
|
9156
|
+
bold: [1, 22],
|
|
9157
|
+
dim: [2, 22],
|
|
9158
|
+
italic: [3, 23],
|
|
9159
|
+
underline: [4, 24],
|
|
9160
|
+
overline: [53, 55],
|
|
9161
|
+
inverse: [7, 27],
|
|
9162
|
+
hidden: [8, 28],
|
|
9163
|
+
strikethrough: [9, 29]
|
|
9164
|
+
},
|
|
9165
|
+
color: {
|
|
9166
|
+
black: [30, 39],
|
|
9167
|
+
red: [31, 39],
|
|
9168
|
+
green: [32, 39],
|
|
9169
|
+
yellow: [33, 39],
|
|
9170
|
+
blue: [34, 39],
|
|
9171
|
+
magenta: [35, 39],
|
|
9172
|
+
cyan: [36, 39],
|
|
9173
|
+
white: [37, 39],
|
|
9174
|
+
blackBright: [90, 39],
|
|
9175
|
+
gray: [90, 39],
|
|
9176
|
+
grey: [90, 39],
|
|
9177
|
+
redBright: [91, 39],
|
|
9178
|
+
greenBright: [92, 39],
|
|
9179
|
+
yellowBright: [93, 39],
|
|
9180
|
+
blueBright: [94, 39],
|
|
9181
|
+
magentaBright: [95, 39],
|
|
9182
|
+
cyanBright: [96, 39],
|
|
9183
|
+
whiteBright: [97, 39]
|
|
9184
|
+
},
|
|
9185
|
+
bgColor: {
|
|
9186
|
+
bgBlack: [40, 49],
|
|
9187
|
+
bgRed: [41, 49],
|
|
9188
|
+
bgGreen: [42, 49],
|
|
9189
|
+
bgYellow: [43, 49],
|
|
9190
|
+
bgBlue: [44, 49],
|
|
9191
|
+
bgMagenta: [45, 49],
|
|
9192
|
+
bgCyan: [46, 49],
|
|
9193
|
+
bgWhite: [47, 49],
|
|
9194
|
+
bgBlackBright: [100, 49],
|
|
9195
|
+
bgGray: [100, 49],
|
|
9196
|
+
bgGrey: [100, 49],
|
|
9197
|
+
bgRedBright: [101, 49],
|
|
9198
|
+
bgGreenBright: [102, 49],
|
|
9199
|
+
bgYellowBright: [103, 49],
|
|
9200
|
+
bgBlueBright: [104, 49],
|
|
9201
|
+
bgMagentaBright: [105, 49],
|
|
9202
|
+
bgCyanBright: [106, 49],
|
|
9203
|
+
bgWhiteBright: [107, 49]
|
|
9356
9204
|
}
|
|
9357
|
-
|
|
9358
|
-
|
|
9359
|
-
|
|
9360
|
-
|
|
9361
|
-
|
|
9362
|
-
|
|
9363
|
-
|
|
9205
|
+
};
|
|
9206
|
+
var modifierNames = Object.keys(styles.modifier);
|
|
9207
|
+
var foregroundColorNames = Object.keys(styles.color);
|
|
9208
|
+
var backgroundColorNames = Object.keys(styles.bgColor);
|
|
9209
|
+
var colorNames = [...foregroundColorNames, ...backgroundColorNames];
|
|
9210
|
+
function assembleStyles() {
|
|
9211
|
+
const codes = new Map;
|
|
9212
|
+
for (const [groupName, group] of Object.entries(styles)) {
|
|
9213
|
+
for (const [styleName, style] of Object.entries(group)) {
|
|
9214
|
+
styles[styleName] = {
|
|
9215
|
+
open: `\x1B[${style[0]}m`,
|
|
9216
|
+
close: `\x1B[${style[1]}m`
|
|
9217
|
+
};
|
|
9218
|
+
group[styleName] = styles[styleName];
|
|
9219
|
+
codes.set(style[0], style[1]);
|
|
9364
9220
|
}
|
|
9221
|
+
Object.defineProperty(styles, groupName, {
|
|
9222
|
+
value: group,
|
|
9223
|
+
enumerable: false
|
|
9224
|
+
});
|
|
9365
9225
|
}
|
|
9366
|
-
|
|
9367
|
-
|
|
9368
|
-
|
|
9369
|
-
|
|
9370
|
-
|
|
9371
|
-
|
|
9372
|
-
|
|
9373
|
-
|
|
9374
|
-
|
|
9375
|
-
|
|
9376
|
-
|
|
9377
|
-
|
|
9378
|
-
|
|
9379
|
-
|
|
9380
|
-
|
|
9381
|
-
|
|
9382
|
-
|
|
9226
|
+
Object.defineProperty(styles, "codes", {
|
|
9227
|
+
value: codes,
|
|
9228
|
+
enumerable: false
|
|
9229
|
+
});
|
|
9230
|
+
styles.color.close = "\x1B[39m";
|
|
9231
|
+
styles.bgColor.close = "\x1B[49m";
|
|
9232
|
+
styles.color.ansi = wrapAnsi16();
|
|
9233
|
+
styles.color.ansi256 = wrapAnsi256();
|
|
9234
|
+
styles.color.ansi16m = wrapAnsi16m();
|
|
9235
|
+
styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
|
|
9236
|
+
styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
|
|
9237
|
+
styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
|
|
9238
|
+
Object.defineProperties(styles, {
|
|
9239
|
+
rgbToAnsi256: {
|
|
9240
|
+
value(red, green, blue) {
|
|
9241
|
+
if (red === green && green === blue) {
|
|
9242
|
+
if (red < 8) {
|
|
9243
|
+
return 16;
|
|
9244
|
+
}
|
|
9245
|
+
if (red > 248) {
|
|
9246
|
+
return 231;
|
|
9247
|
+
}
|
|
9248
|
+
return Math.round((red - 8) / 247 * 24) + 232;
|
|
9249
|
+
}
|
|
9250
|
+
return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
|
|
9251
|
+
},
|
|
9252
|
+
enumerable: false
|
|
9253
|
+
},
|
|
9254
|
+
hexToRgb: {
|
|
9255
|
+
value(hex) {
|
|
9256
|
+
const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
|
|
9257
|
+
if (!matches) {
|
|
9258
|
+
return [0, 0, 0];
|
|
9259
|
+
}
|
|
9260
|
+
let [colorString] = matches;
|
|
9261
|
+
if (colorString.length === 3) {
|
|
9262
|
+
colorString = [...colorString].map((character) => character + character).join("");
|
|
9263
|
+
}
|
|
9264
|
+
const integer = Number.parseInt(colorString, 16);
|
|
9265
|
+
return [
|
|
9266
|
+
integer >> 16 & 255,
|
|
9267
|
+
integer >> 8 & 255,
|
|
9268
|
+
integer & 255
|
|
9269
|
+
];
|
|
9270
|
+
},
|
|
9271
|
+
enumerable: false
|
|
9272
|
+
},
|
|
9273
|
+
hexToAnsi256: {
|
|
9274
|
+
value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
|
|
9275
|
+
enumerable: false
|
|
9276
|
+
},
|
|
9277
|
+
ansi256ToAnsi: {
|
|
9278
|
+
value(code) {
|
|
9279
|
+
if (code < 8) {
|
|
9280
|
+
return 30 + code;
|
|
9281
|
+
}
|
|
9282
|
+
if (code < 16) {
|
|
9283
|
+
return 90 + (code - 8);
|
|
9284
|
+
}
|
|
9285
|
+
let red;
|
|
9286
|
+
let green;
|
|
9287
|
+
let blue;
|
|
9288
|
+
if (code >= 232) {
|
|
9289
|
+
red = ((code - 232) * 10 + 8) / 255;
|
|
9290
|
+
green = red;
|
|
9291
|
+
blue = red;
|
|
9292
|
+
} else {
|
|
9293
|
+
code -= 16;
|
|
9294
|
+
const remainder = code % 36;
|
|
9295
|
+
red = Math.floor(code / 36) / 5;
|
|
9296
|
+
green = Math.floor(remainder / 6) / 5;
|
|
9297
|
+
blue = remainder % 6 / 5;
|
|
9298
|
+
}
|
|
9299
|
+
const value = Math.max(red, green, blue) * 2;
|
|
9300
|
+
if (value === 0) {
|
|
9301
|
+
return 30;
|
|
9302
|
+
}
|
|
9303
|
+
let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
|
|
9304
|
+
if (value === 2) {
|
|
9305
|
+
result += 60;
|
|
9306
|
+
}
|
|
9307
|
+
return result;
|
|
9308
|
+
},
|
|
9309
|
+
enumerable: false
|
|
9310
|
+
},
|
|
9311
|
+
rgbToAnsi: {
|
|
9312
|
+
value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
|
|
9313
|
+
enumerable: false
|
|
9314
|
+
},
|
|
9315
|
+
hexToAnsi: {
|
|
9316
|
+
value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
|
|
9317
|
+
enumerable: false
|
|
9318
|
+
}
|
|
9319
|
+
});
|
|
9320
|
+
return styles;
|
|
9321
|
+
}
|
|
9322
|
+
var ansiStyles = assembleStyles();
|
|
9323
|
+
var ansi_styles_default = ansiStyles;
|
|
9324
|
+
|
|
9325
|
+
// node_modules/chalk/source/vendor/supports-color/index.js
|
|
9326
|
+
import process2 from "process";
|
|
9327
|
+
import os from "os";
|
|
9328
|
+
import tty from "tty";
|
|
9329
|
+
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
|
|
9330
|
+
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
9331
|
+
const position = argv.indexOf(prefix + flag);
|
|
9332
|
+
const terminatorPosition = argv.indexOf("--");
|
|
9333
|
+
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
|
|
9334
|
+
}
|
|
9335
|
+
var { env } = process2;
|
|
9336
|
+
var flagForceColor;
|
|
9337
|
+
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
|
|
9338
|
+
flagForceColor = 0;
|
|
9339
|
+
} else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
|
|
9340
|
+
flagForceColor = 1;
|
|
9341
|
+
}
|
|
9342
|
+
function envForceColor() {
|
|
9343
|
+
if ("FORCE_COLOR" in env) {
|
|
9344
|
+
if (env.FORCE_COLOR === "true") {
|
|
9345
|
+
return 1;
|
|
9383
9346
|
}
|
|
9384
|
-
|
|
9385
|
-
|
|
9386
|
-
this.icons.clear();
|
|
9387
|
-
const icons = pVyi.i || pVyi.icons;
|
|
9388
|
-
this.formatVersion = pVyi.v ?? "format not found";
|
|
9389
|
-
if (Array.isArray(icons)) {
|
|
9390
|
-
icons.forEach((pIconData) => {
|
|
9391
|
-
if (!Array.isArray(pIconData) && typeof pIconData === "object") {
|
|
9392
|
-
const convertedIconData = this.convertOldIconData(pIconData);
|
|
9393
|
-
this.addIcon(convertedIconData);
|
|
9394
|
-
} else {
|
|
9395
|
-
this.addIcon(pIconData);
|
|
9396
|
-
}
|
|
9397
|
-
});
|
|
9398
|
-
} else {
|
|
9399
|
-
VYI.logger.prefix("Vyi-module").error("Invalid .vyi file! Cannot parse icons.");
|
|
9347
|
+
if (env.FORCE_COLOR === "false") {
|
|
9348
|
+
return 0;
|
|
9400
9349
|
}
|
|
9350
|
+
return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
|
|
9401
9351
|
}
|
|
9402
|
-
|
|
9403
|
-
|
|
9404
|
-
|
|
9405
|
-
|
|
9406
|
-
return [s.name, s.data, s.delay || 100, stateFrames];
|
|
9407
|
-
}) : [];
|
|
9408
|
-
return [
|
|
9409
|
-
pOldData.name || "",
|
|
9410
|
-
pOldData.w || 32,
|
|
9411
|
-
pOldData.h || 32,
|
|
9412
|
-
pOldData.delay || 100,
|
|
9413
|
-
pOldData.data || "",
|
|
9414
|
-
frames,
|
|
9415
|
-
states
|
|
9416
|
-
];
|
|
9352
|
+
}
|
|
9353
|
+
function translateLevel(level) {
|
|
9354
|
+
if (level === 0) {
|
|
9355
|
+
return false;
|
|
9417
9356
|
}
|
|
9418
|
-
|
|
9419
|
-
|
|
9420
|
-
|
|
9421
|
-
|
|
9357
|
+
return {
|
|
9358
|
+
level,
|
|
9359
|
+
hasBasic: true,
|
|
9360
|
+
has256: level >= 2,
|
|
9361
|
+
has16m: level >= 3
|
|
9362
|
+
};
|
|
9363
|
+
}
|
|
9364
|
+
function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
|
|
9365
|
+
const noFlagForceColor = envForceColor();
|
|
9366
|
+
if (noFlagForceColor !== undefined) {
|
|
9367
|
+
flagForceColor = noFlagForceColor;
|
|
9368
|
+
}
|
|
9369
|
+
const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
|
|
9370
|
+
if (forceColor === 0) {
|
|
9371
|
+
return 0;
|
|
9372
|
+
}
|
|
9373
|
+
if (sniffFlags) {
|
|
9374
|
+
if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
|
|
9375
|
+
return 3;
|
|
9422
9376
|
}
|
|
9423
|
-
if (
|
|
9424
|
-
|
|
9425
|
-
return;
|
|
9377
|
+
if (hasFlag("color=256")) {
|
|
9378
|
+
return 2;
|
|
9426
9379
|
}
|
|
9427
|
-
const icon = pIconData instanceof Icon ? pIconData : new Icon(pIconData);
|
|
9428
|
-
this.icons.set(icon.id, icon);
|
|
9429
|
-
icon.setVyi(this);
|
|
9430
|
-
return icon;
|
|
9431
9380
|
}
|
|
9432
|
-
|
|
9433
|
-
|
|
9434
|
-
return;
|
|
9435
|
-
if (pIcon instanceof Icon) {
|
|
9436
|
-
if (this.icons.delete(pIcon.id)) {
|
|
9437
|
-
pIcon.removeVyi();
|
|
9438
|
-
}
|
|
9439
|
-
}
|
|
9381
|
+
if ("TF_BUILD" in env && "AGENT_NAME" in env) {
|
|
9382
|
+
return 1;
|
|
9440
9383
|
}
|
|
9441
|
-
|
|
9442
|
-
|
|
9443
|
-
|
|
9444
|
-
|
|
9384
|
+
if (haveStream && !streamIsTTY && forceColor === undefined) {
|
|
9385
|
+
return 0;
|
|
9386
|
+
}
|
|
9387
|
+
const min = forceColor || 0;
|
|
9388
|
+
if (env.TERM === "dumb") {
|
|
9389
|
+
return min;
|
|
9390
|
+
}
|
|
9391
|
+
if (process2.platform === "win32") {
|
|
9392
|
+
const osRelease = os.release().split(".");
|
|
9393
|
+
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
|
|
9394
|
+
return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
9445
9395
|
}
|
|
9396
|
+
return 1;
|
|
9446
9397
|
}
|
|
9447
|
-
|
|
9448
|
-
|
|
9449
|
-
|
|
9450
|
-
|
|
9398
|
+
if ("CI" in env) {
|
|
9399
|
+
if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => (key in env))) {
|
|
9400
|
+
return 3;
|
|
9401
|
+
}
|
|
9402
|
+
if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => (sign in env)) || env.CI_NAME === "codeship") {
|
|
9403
|
+
return 1;
|
|
9451
9404
|
}
|
|
9405
|
+
return min;
|
|
9452
9406
|
}
|
|
9453
|
-
|
|
9454
|
-
|
|
9455
|
-
return iconNames;
|
|
9407
|
+
if ("TEAMCITY_VERSION" in env) {
|
|
9408
|
+
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
|
|
9456
9409
|
}
|
|
9457
|
-
|
|
9458
|
-
|
|
9459
|
-
const icons = this.getIcons();
|
|
9460
|
-
for (let i = icons.length - 1;i >= 0; i--) {
|
|
9461
|
-
const icon = icons[i];
|
|
9462
|
-
if (icon.getName() === pName) {
|
|
9463
|
-
return icon;
|
|
9464
|
-
}
|
|
9465
|
-
}
|
|
9466
|
-
} else {
|
|
9467
|
-
VYI.logger.prefix("Vyi-module").error("Invalid name type used!");
|
|
9468
|
-
}
|
|
9410
|
+
if (env.COLORTERM === "truecolor") {
|
|
9411
|
+
return 3;
|
|
9469
9412
|
}
|
|
9470
|
-
|
|
9471
|
-
return
|
|
9413
|
+
if (env.TERM === "xterm-kitty") {
|
|
9414
|
+
return 3;
|
|
9472
9415
|
}
|
|
9473
|
-
|
|
9474
|
-
|
|
9475
|
-
return;
|
|
9476
|
-
const icon = this.icons.get(pId) || this.getIcons().find((pIcon) => pIcon.states.has(pId))?.getStateById(pId);
|
|
9477
|
-
return icon;
|
|
9416
|
+
if (env.TERM === "xterm-ghostty") {
|
|
9417
|
+
return 3;
|
|
9478
9418
|
}
|
|
9479
|
-
|
|
9480
|
-
return
|
|
9419
|
+
if (env.TERM === "wezterm") {
|
|
9420
|
+
return 3;
|
|
9481
9421
|
}
|
|
9482
|
-
|
|
9483
|
-
|
|
9484
|
-
|
|
9485
|
-
|
|
9486
|
-
|
|
9422
|
+
if ("TERM_PROGRAM" in env) {
|
|
9423
|
+
const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
|
|
9424
|
+
switch (env.TERM_PROGRAM) {
|
|
9425
|
+
case "iTerm.app": {
|
|
9426
|
+
return version >= 3 ? 3 : 2;
|
|
9427
|
+
}
|
|
9428
|
+
case "Apple_Terminal": {
|
|
9429
|
+
return 2;
|
|
9430
|
+
}
|
|
9487
9431
|
}
|
|
9488
9432
|
}
|
|
9489
|
-
|
|
9490
|
-
return
|
|
9433
|
+
if (/-256(color)?$/i.test(env.TERM)) {
|
|
9434
|
+
return 2;
|
|
9491
9435
|
}
|
|
9492
|
-
|
|
9493
|
-
|
|
9494
|
-
|
|
9495
|
-
|
|
9496
|
-
|
|
9497
|
-
if (pCompressed) {
|
|
9498
|
-
const binaryData = new TextEncoder().encode(JSON.stringify(vyi));
|
|
9499
|
-
const compressed = pako.deflate(binaryData);
|
|
9500
|
-
return compressed;
|
|
9501
|
-
}
|
|
9502
|
-
return vyi;
|
|
9436
|
+
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
|
|
9437
|
+
return 1;
|
|
9438
|
+
}
|
|
9439
|
+
if ("COLORTERM" in env) {
|
|
9440
|
+
return 1;
|
|
9503
9441
|
}
|
|
9442
|
+
return min;
|
|
9443
|
+
}
|
|
9444
|
+
function createSupportsColor(stream, options = {}) {
|
|
9445
|
+
const level = _supportsColor(stream, {
|
|
9446
|
+
streamIsTTY: stream && stream.isTTY,
|
|
9447
|
+
...options
|
|
9448
|
+
});
|
|
9449
|
+
return translateLevel(level);
|
|
9450
|
+
}
|
|
9451
|
+
var supportsColor = {
|
|
9452
|
+
stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
|
|
9453
|
+
stderr: createSupportsColor({ isTTY: tty.isatty(2) })
|
|
9454
|
+
};
|
|
9455
|
+
var supports_color_default = supportsColor;
|
|
9456
|
+
|
|
9457
|
+
// node_modules/chalk/source/utilities.js
|
|
9458
|
+
function stringReplaceAll(string, substring, replacer) {
|
|
9459
|
+
let index = string.indexOf(substring);
|
|
9460
|
+
if (index === -1) {
|
|
9461
|
+
return string;
|
|
9462
|
+
}
|
|
9463
|
+
const substringLength = substring.length;
|
|
9464
|
+
let endIndex = 0;
|
|
9465
|
+
let returnValue = "";
|
|
9466
|
+
do {
|
|
9467
|
+
returnValue += string.slice(endIndex, index) + substring + replacer;
|
|
9468
|
+
endIndex = index + substringLength;
|
|
9469
|
+
index = string.indexOf(substring, endIndex);
|
|
9470
|
+
} while (index !== -1);
|
|
9471
|
+
returnValue += string.slice(endIndex);
|
|
9472
|
+
return returnValue;
|
|
9473
|
+
}
|
|
9474
|
+
function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
|
|
9475
|
+
let endIndex = 0;
|
|
9476
|
+
let returnValue = "";
|
|
9477
|
+
do {
|
|
9478
|
+
const gotCR = string[index - 1] === "\r";
|
|
9479
|
+
returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? `\r
|
|
9480
|
+
` : `
|
|
9481
|
+
`) + postfix;
|
|
9482
|
+
endIndex = index + 1;
|
|
9483
|
+
index = string.indexOf(`
|
|
9484
|
+
`, endIndex);
|
|
9485
|
+
} while (index !== -1);
|
|
9486
|
+
returnValue += string.slice(endIndex);
|
|
9487
|
+
return returnValue;
|
|
9504
9488
|
}
|
|
9505
|
-
var WORKER_CODE = `/*!
|
|
9506
|
-
* vyi@4.1.0 https://github.com/EvitcaStudio/vyi
|
|
9507
|
-
* Compiled Sun, 21 Jun 2026 10:57:24 UTC
|
|
9508
|
-
* Copyright (c) 2026 Evitca Studio, "doubleactii"
|
|
9509
|
-
*
|
|
9510
|
-
* vyi is privately licensed.
|
|
9511
|
-
*/
|
|
9512
|
-
var a0=((Q)=>typeof require!=="undefined"?require:typeof Proxy!=="undefined"?new Proxy(Q,{get:(W,J)=>(typeof require!=="undefined"?require:W)[J]}):Q)(function(Q){if(typeof require!=="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+Q+'" is not supported')});/*!
|
|
9513
|
-
* logger@1.0.0 https://github.com/EvitcaStudio/Logger
|
|
9514
|
-
* Compiled Mon, 10 Nov 2025 05:36:23 UTC
|
|
9515
|
-
* Copyright (c) 2025 Evitca Studio, "doubleactii"
|
|
9516
|
-
*
|
|
9517
|
-
* logger is privately licensed.
|
|
9518
|
-
*/class eQ{RESET;BRIGHT;DIM;UNDERSCORE;BLINK;REVERSE;HIDDEN;FG_BLACK;FG_RED;FG_GREEN;FG_YELLOW;FG_BLUE;FG_MAGENTA;FG_CYAN;FG_WHITE;FG_GRAY;BG_BLACK;BG_RED;BG_GREEN;BG_YELLOW;BG_BLUE;BG_MAGENTA;BG_CYAN;BG_WHITE;BG_GRAY;TYPE_SPACER_LENGTH;types;currentType;SPACE_CHAR;FG_COLORS;BG_COLORS;constructor(Q){this.RESET="\\x1B[0m",this.BRIGHT="\\x1B[1m",this.DIM="\\x1B[2m",this.UNDERSCORE="\\x1B[4m",this.BLINK="\\x1B[5m",this.REVERSE="\\x1B[7m",this.HIDDEN="\\x1B[8m",this.FG_BLACK="\\x1B[30m",this.FG_RED="\\x1B[31m",this.FG_GREEN="\\x1B[32m",this.FG_YELLOW="\\x1B[33m",this.FG_BLUE="\\x1B[34m",this.FG_MAGENTA="\\x1B[35m",this.FG_CYAN="\\x1B[36m",this.FG_WHITE="\\x1B[37m",this.FG_GRAY="\\x1B[90m",this.BG_BLACK="\\x1B[40m",this.BG_RED="\\x1B[41m",this.BG_GREEN="\\x1B[42m",this.BG_YELLOW="\\x1B[43m",this.BG_BLUE="\\x1B[44m",this.BG_MAGENTA="\\x1B[45m",this.BG_CYAN="\\x1B[46m",this.BG_WHITE="\\x1B[47m",this.BG_GRAY="\\x1B[100m",this.TYPE_SPACER_LENGTH=13,this.types={default:this.FG_WHITE},this.currentType="",this.SPACE_CHAR=" ",this.FG_COLORS={};for(let W=0;W<=255;W++)this.FG_COLORS[W]="\\x1B[38;5;"+W+"m";this.BG_COLORS={};for(let W=0;W<=255;W++)this.BG_COLORS[W]="\\x1B[48;5;"+W+"m";if(Array.isArray(Q))this.registerTypes(Q)}prefix(Q){if(typeof Q==="string")this.currentType=Q;return this}message(Q="log",...W){let J=this.currentType?this.currentType:"";if(J.length===0)console[Q](...W);else{let G=J.length>=this.TYPE_SPACER_LENGTH,q=this.types[J.toLowerCase()]?this.types[J.toLowerCase()]:this.types.default,z=q.includes("\\x1B");if(!z)q=\`color: \${q}\`;if(typeof globalThis.window!=="undefined")if(z)console[Q](q+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|"+this.RESET,...W);else console[Q]("%c"+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|",q,...W);else console[Q](q+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|"+this.RESET,...W)}this.currentType=""}log(...Q){this.message("log",...Q)}info(...Q){this.message("info",...Q)}error(...Q){this.message("error",...Q)}warn(...Q){this.message("warn",...Q)}assert(...Q){console.assert(...Q)}debug(...Q){this.message("debug",...Q)}count(Q){console.count(Q)}countReset(Q){console.countReset(Q)}table(Q,W){console.table(Q,W)}time(Q="default"){this.message("time",Q)}timeLog(Q="default",...W){this.message("timeLog",Q,...W)}timeEnd(Q="default"){this.message("timeEnd",Q)}trace(...Q){this.message("trace",...Q)}group(Q=""){this.message("group",Q)}groupCollapsed(Q=""){this.message("groupCollapsed",Q)}groupEnd(){console.groupEnd()}clear(){console.clear()}registerType(Q,W){if(this.types[Q.toLowerCase()])return;if(typeof Q==="string"&&typeof W==="string")this.types[Q.toLowerCase()]=W}registerTypes(Q){if(Array.isArray(Q))for(let W=0;W<Q.length;W++)this.registerType(Q[W].type,Q[W].ansi)}unregisterType(Q){let W=Q.toLowerCase();if(this.types[W])delete this.types[W]}}class n{delay=100;dataURL="";index=0;parent=null;static defaultDelay=100;constructor(Q){if(Q)this.parse(Q)}parse(Q){if(!Q)return;let W=Q[0],J=Q[1]?Q[1]:this.parent?this.parent.getDelay():null;if(this.setDataURL(W),J)this.setDelay(J)}setParent(Q){if(!Q||this.parent)return;if(Q instanceof T){if(this.parent=Q,!this.getDelay())this.setDelay(this.parent.getDelay())}}removeParent(){this.parent=null}setDelay(Q){if(typeof Q==="number")this.delay=Q;else w.logger.prefix("Vyi-module").error("Invalid delay type!");return this}getDelay(){return this.delay}getIndex(){return this.index}setDataURL(Q){if(typeof Q==="string")this.dataURL=Q.replace(/^data:image\\/[a-z]+;base64,/,"");else w.logger.prefix("Vyi-module").error("Invalid data url type!");return this}getDataURL(){return this.dataURL}getWidth(){if(!this.parent)return;return this.parent.width}getHeight(){if(!this.parent)return;return this.parent.height}getSize(){if(!this.parent)return;return{width:this.parent.width,height:this.parent.height}}getVyi(){return this?.parent?.vyi}getParent(){return this.parent}export(){let Q=[this.getDataURL()];if(this.getDelay()!==n.defaultDelay)Q[1]=this.getDelay()||n.defaultDelay;return Q}}/*!
|
|
9519
|
-
* icon-point@2.1.0 https://github.com/EvitcaStudio/IconPoint
|
|
9520
|
-
* Compiled Mon, 10 Nov 2025 09:52:21 UTC
|
|
9521
|
-
* Copyright (c) 2025 Evitca Studio, "doubleactii"
|
|
9522
|
-
*
|
|
9523
|
-
* icon-point is privately licensed.
|
|
9524
|
-
*//*!
|
|
9525
|
-
* logger@1.0.0 https://github.com/EvitcaStudio/Logger
|
|
9526
|
-
* Compiled Mon, 10 Nov 2025 05:36:23 UTC
|
|
9527
|
-
* Copyright (c) 2025 Evitca Studio, "doubleactii"
|
|
9528
|
-
*
|
|
9529
|
-
* logger is privately licensed.
|
|
9530
|
-
*/class SJ{RESET;BRIGHT;DIM;UNDERSCORE;BLINK;REVERSE;HIDDEN;FG_BLACK;FG_RED;FG_GREEN;FG_YELLOW;FG_BLUE;FG_MAGENTA;FG_CYAN;FG_WHITE;FG_GRAY;BG_BLACK;BG_RED;BG_GREEN;BG_YELLOW;BG_BLUE;BG_MAGENTA;BG_CYAN;BG_WHITE;BG_GRAY;TYPE_SPACER_LENGTH;types;currentType;SPACE_CHAR;FG_COLORS;BG_COLORS;constructor(Q){this.RESET="\\x1B[0m",this.BRIGHT="\\x1B[1m",this.DIM="\\x1B[2m",this.UNDERSCORE="\\x1B[4m",this.BLINK="\\x1B[5m",this.REVERSE="\\x1B[7m",this.HIDDEN="\\x1B[8m",this.FG_BLACK="\\x1B[30m",this.FG_RED="\\x1B[31m",this.FG_GREEN="\\x1B[32m",this.FG_YELLOW="\\x1B[33m",this.FG_BLUE="\\x1B[34m",this.FG_MAGENTA="\\x1B[35m",this.FG_CYAN="\\x1B[36m",this.FG_WHITE="\\x1B[37m",this.FG_GRAY="\\x1B[90m",this.BG_BLACK="\\x1B[40m",this.BG_RED="\\x1B[41m",this.BG_GREEN="\\x1B[42m",this.BG_YELLOW="\\x1B[43m",this.BG_BLUE="\\x1B[44m",this.BG_MAGENTA="\\x1B[45m",this.BG_CYAN="\\x1B[46m",this.BG_WHITE="\\x1B[47m",this.BG_GRAY="\\x1B[100m",this.TYPE_SPACER_LENGTH=13,this.types={default:this.FG_WHITE},this.currentType="",this.SPACE_CHAR=" ",this.FG_COLORS={};for(let W=0;W<=255;W++)this.FG_COLORS[W]="\\x1B[38;5;"+W+"m";this.BG_COLORS={};for(let W=0;W<=255;W++)this.BG_COLORS[W]="\\x1B[48;5;"+W+"m";if(Array.isArray(Q))this.registerTypes(Q)}prefix(Q){if(typeof Q==="string")this.currentType=Q;return this}message(Q="log",...W){let J=this.currentType?this.currentType:"";if(J.length===0)console[Q](...W);else{let G=J.length>=this.TYPE_SPACER_LENGTH,q=this.types[J.toLowerCase()]?this.types[J.toLowerCase()]:this.types.default,z=q.includes("\\x1B");if(!z)q=\`color: \${q}\`;if(typeof globalThis.window!=="undefined")if(z)console[Q](q+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|"+this.RESET,...W);else console[Q]("%c"+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|",q,...W);else console[Q](q+J+this.SPACE_CHAR.repeat(Math.max(this.TYPE_SPACER_LENGTH-J.length,G?1:0))+"|"+this.RESET,...W)}this.currentType=""}log(...Q){this.message("log",...Q)}info(...Q){this.message("info",...Q)}error(...Q){this.message("error",...Q)}warn(...Q){this.message("warn",...Q)}assert(...Q){console.assert(...Q)}debug(...Q){this.message("debug",...Q)}count(Q){console.count(Q)}countReset(Q){console.countReset(Q)}table(Q,W){console.table(Q,W)}time(Q="default"){this.message("time",Q)}timeLog(Q="default",...W){this.message("timeLog",Q,...W)}timeEnd(Q="default"){this.message("timeEnd",Q)}trace(...Q){this.message("trace",...Q)}group(Q=""){this.message("group",Q)}groupCollapsed(Q=""){this.message("groupCollapsed",Q)}groupEnd(){console.groupEnd()}clear(){console.clear()}registerType(Q,W){if(this.types[Q.toLowerCase()])return;if(typeof Q==="string"&&typeof W==="string")this.types[Q.toLowerCase()]=W}registerTypes(Q){if(Array.isArray(Q))for(let W=0;W<Q.length;W++)this.registerType(Q[W].type,Q[W].ansi)}unregisterType(Q){let W=Q.toLowerCase();if(this.types[W])delete this.types[W]}}class E{static defaultOffset={x:0,y:0};static defaultAnchor={x:0.5,y:0.5};static version="2.1.0";static logger=new SJ;iconPoint={x:0,y:0};originalPoint={x:0,y:0};positionalPoint;point={x:0,y:0};bounds={width:32,height:32};id;constructor(Q,W,J,j){let{width:G,height:q}=W;this.bounds.width=G,this.bounds.height=q,this.positionalPoint=Q,this.originalPoint={...J},this.id=j||"",E.logger.registerType("IconPointModule","#ff6600"),this.setPoint(J)}getPoint(Q=0,W=E.defaultOffset,J=E.defaultAnchor){let j=this.positionalPoint.x+W.x+this.bounds.width*J.x,G=this.positionalPoint.y+W.y+this.bounds.height*J.y,q=this.positionalPoint.x+W.x-1+this.iconPoint.x,z=this.positionalPoint.y+W.y-1+this.iconPoint.y,U=q-j,Y=z-G,X=U*Math.cos(Q)-Y*-Math.sin(Q),K=U*-Math.sin(Q)+Y*Math.cos(Q),P=X+j,k=K+G;return this.point.x=P,this.point.y=k,this.point}getPointFromExternalPoint(Q,W=0,J=E.defaultOffset,j=E.defaultAnchor){let G=Q.x+J.x+this.bounds.width*j.x,q=Q.y+J.y+this.bounds.height*j.y,z=Q.x+J.x-1+this.iconPoint.x,U=Q.y+J.y-1+this.iconPoint.y,Y=z-G,X=U-q,K=Y*Math.cos(W)-X*-Math.sin(W),P=Y*-Math.sin(W)+X*Math.cos(W),k=K+G,V=P+q;return this.point.x=k,this.point.y=V,this.point}setPoint(Q){let{x:W,y:J,isNormalized:j}=Q;this.iconPoint.x=j?W*this.bounds.width:W,this.iconPoint.y=j?J*this.bounds.height:J}resetPoint(){this.setPoint(this.originalPoint)}updateBounds(Q){let{width:W,height:J}=Q;this.bounds.width=W,this.bounds.height=J}transformX(Q){let W=Math.abs(Q*this.bounds.width);this.iconPoint.x=W-this.originalPoint.x}transformY(Q){let W=Math.abs(Q*this.bounds.height);this.iconPoint.y=W-this.originalPoint.y}transform(Q){this.transformX(Q.x),this.transformY(Q.y)}getId(){return this.id}export(){return{...this.bounds,...this.iconPoint,id:this.id}}}class tQ{bounds={};add(Q,W){this.bounds[Q]=W}remove(Q){delete this.bounds[Q]}update(Q,W){if(this.bounds[Q])this.bounds[Q]={...this.bounds[Q],...W}}rename(Q,W){if(this.bounds[Q])this.bounds[W]=this.bounds[Q],delete this.bounds[Q]}get(Q){return this.bounds[Q]}getAll(){return{...this.bounds}}getIdsByShape(Q){return Object.keys(this.bounds).filter((W)=>this.bounds[W].type===Q)}exportAll(){return this.getAll()}clearAll(){this.bounds={}}loadBounds(Q){this.clearAll(),Object.entries(Q).forEach(([W,J])=>{this.add(W,J)})}}class T{states=new Map;frames=new Map;width=32;height=32;dataURL="";delay=100;name="";parent=null;vyi=null;id="";static reservedIds=new Set;iconPoints=new Set;boundsManager=new tQ;static reservedIconPointIds=new Set(["center","top-left","top-right","bottom-left","bottom-right","top-middle","bottom-middle","left-middle","right-middle"]);static generateId(){let Q=()=>{return Math.floor(Math.random()*4294967295).toString(16).padStart(8,"0")},W=Q();while(this.reservedIds.has(W))W=Q();return this.reservedIds.add(W),W}constructor(Q){if(Q)this.parse(Q);this.assignId()}setParent(Q){if(!Q||this.parent)return;if(Q instanceof T)this.parent=Q}removeParent(){if(this.parent)this.parent=null,this.vyi=null}setVyi(Q){if(!Q)return;if(Q instanceof w){if(this.vyi=Q,this.getStateCount()>0)this.getStates().forEach((j)=>{j.setParent(this),j.setVyi(Q)});this.getFrames().forEach((J)=>J.setParent(this))}}removeVyi(){this.vyi=null}assignId(){this.id=T.generateId()}getId(){return this.id}getVyi(){return this.vyi}getParent(){return this.parent}getStateCount(){return this.states.size}getFrameCount(){return this.frames.size}parse(Q){if(!Q)return;let W=Q[0],J=Q[1],j=Q[2],G=Q[3],q=Q[4],z=Q[5],U=Q[6],Y=Q[7],X=Q[8];if(this.rename(W),this.setSize(J,j),this.setDelay(G),this.setDataURL(q),Array.isArray(z))z.forEach((K)=>{this.addFrame(K)});if(Array.isArray(U))U.forEach((K)=>{let P=new T(void 0),k=K[0],V=K[1],Z=K[2],M=K[3],$=K[4];if(P.rename(k),P.setSize(J,j),P.setDelay(Z),P.setDataURL(V),Array.isArray(M))M.forEach((C)=>{P.addFrame(C)});if($&&typeof $==="object")P.boundsManager.loadBounds($);this.addState(P)});if(Array.isArray(Y))Y.forEach((K)=>{let{x:P,y:k,width:V,height:Z,id:M}=K;if(T.reservedIconPointIds.has(M))return;this.addIconPoint({x:0,y:0},{width:V,height:Z},{x:P,y:k},M)});if(X&&typeof X==="object")this.boundsManager.loadBounds(X);this.resetInitialIconPoints()}resetInitialIconPoints(){let Q=this.getWidth(),W=this.getHeight();Array.from(T.reservedIconPointIds).forEach((k)=>{let V=Array.from(this.iconPoints).find((Z)=>Z.getId()===k);if(!V)return;this.iconPoints.delete(V)});let J={x:1,y:1},j=new E(J,{width:Q,height:W},{x:Math.round(Q/2),y:Math.round(W/2)},"center"),G=new E(J,{width:Q,height:W},{x:1,y:1},"top-left"),q=new E(J,{width:Q,height:W},{x:Q,y:1},"top-right"),z=new E(J,{width:Q,height:W},{x:1,y:W},"bottom-left"),U=new E(J,{width:Q,height:W},{x:Q,y:W},"bottom-right"),Y=new E(J,{width:Q,height:W},{x:Math.round(Q/2),y:1},"top-middle"),X=new E(J,{width:Q,height:W},{x:Math.round(Q/2),y:W},"bottom-middle"),K=new E(J,{width:Q,height:W},{x:1,y:Math.round(W/2)},"left-middle"),P=new E(J,{width:Q,height:W},{x:Q,y:Math.round(W/2)},"right-middle");this.iconPoints.add(j),this.iconPoints.add(G),this.iconPoints.add(q),this.iconPoints.add(z),this.iconPoints.add(U),this.iconPoints.add(Y),this.iconPoints.add(X),this.iconPoints.add(K),this.iconPoints.add(P)}addIconPoint(Q,W,J,j){if(T.reservedIconPointIds.has(j)){w.logger.prefix("Vyi-module").error(\`The id \${j} is reserved and cannot be used for additional icon points.\`);return}let G=new E(Q,W,J,j);return this.iconPoints.add(G),G}removeIconPoint(Q){for(let W of this.iconPoints)if(W.getId()===Q&&!T.reservedIconPointIds.has(Q)){this.iconPoints.delete(W);break}}getIconPointExportById(Q){for(let W of this.iconPoints)if(W.getId()===Q)return W.export();return}getIconPointsExport(){let Q=[];return this.iconPoints.forEach((W)=>Q.push(W.export())),Q}getIconPointById(Q){for(let W of this.iconPoints)if(W.getId()===Q)return W;return}getIconPoints(){let Q=[];return this.iconPoints.forEach((W)=>Q.push(W)),Q}getBoundsExport(){return this.boundsManager.exportAll()}getBoundsById(Q){return this.boundsManager.get(Q)}getIdsByShape(Q){return this.boundsManager.getIdsByShape(Q)}setBounds(Q,W){return this.boundsManager.add(Q,W),this}removeBounds(Q){return this.boundsManager.remove(Q),this}updateBounds(Q,W){return this.boundsManager.update(Q,W),this}setSize(Q,W){if(typeof Q==="number")this.width=Q;if(typeof W==="number")this.height=W;return this}getWidth(){return this.width}getHeight(){return this.height}getSize(){return{width:this.width,height:this.height}}setDataURL(Q){if(typeof Q==="string")this.dataURL=Q.replace(/^data:image\\/[a-z]+;base64,/,"");else w.logger.prefix("Vyi-module").error("Invalid data url type!");return this}getDataURL(){return this.dataURL}setDelay(Q){if(typeof Q==="number")this.delay=Q;else w.logger.prefix("Vyi-module").error("Invalid delay type!");return this}getDelay(){return this.delay}rename(Q){if(typeof Q==="string")try{this.name=decodeURIComponent(Q)}catch{this.name=Q}else w.logger.prefix("Vyi-module").error("Invalid type for pName!");return this}getName(){return this.name}setAllFrameDelays(Q){if(typeof Q==="number")this.setDelay(Q),this.getFrames().forEach((W)=>W.setDelay(Q));else w.logger.prefix("Vyi-module").error("Invalid type for pDelay!");return this}addFrame(Q){if(!Q){w.logger.prefix("Vyi-module").error("No frame data passed!");return}if(!(Q instanceof n)&&!Array.isArray(Q)){w.logger.prefix("Vyi-module").error("Invalid frame data type passed!");return}let W=Q instanceof n?Q:new n(Q);return W.setParent(this),this.frames.set(this.frames.size,W),this.indexFrames(),W}removeFrame(Q){if(!Q)return this;if(Q instanceof n){if(this.frames.delete(Q.index))Q.removeParent(),this.indexFrames()}return this}removeFrameByIndex(Q){let W=this.getFrame(Q);if(W)this.removeFrame(W);return this}indexFrames(){let Q=this.getFrames();this.frames.clear(),Q.forEach((W,J)=>{W.index=J,this.frames.set(J,W)})}reorderFrame(Q,W){if(typeof Q==="number"&&typeof W==="number"){let J=this.getFrame(W),j=Q===-1?this:this.getFrame(Q);if(j&&J){let G=j.getDataURL(),q=j.getDelay(),z=J.getDataURL(),U=J.getDelay();j.setDataURL(z),j.setDelay(U),J.setDataURL(G),J.setDelay(q)}else w.logger.prefix("Vyi-module").error("There was no frame found at pCurrentIndex, or there was no frame found at pIndex!")}else w.logger.prefix("Vyi-module").error("Invalid type used!");return this}getFrame(Q){return this.frames.get(Q)}getFrames(){return Array.from(this.frames.values())}getFramesData(){return this.getFrames().map((W)=>W.export())}addState(Q){if(!Q){w.logger.prefix("Vyi-module").error("No icon data passed!");return}if(!(Q instanceof T)&&!Array.isArray(Q)){w.logger.prefix("Vyi-module").error("Invalid icon data type passed!");return}let W=Q instanceof T?Q:new T(this.convertStateDataToIconData(Q));if(W.getWidth()!==this.getWidth()||W.getHeight()!==this.getHeight()){w.logger.prefix("Vyi-module").error("State dimensions do not match parent!");return}if(W.setParent(this),this.vyi)W.setVyi(this.vyi);return this.states.set(W.id,W),W}removeState(Q){if(Q instanceof T){if(this.states.delete(Q.id))Q.removeParent()}return this}removeStateByName(Q){let W=this.getState(Q);if(W)this.removeState(W);return this}removeStateById(Q){let W=this.getStateById(Q);if(W)this.removeState(W);return this}getState(Q){if(typeof Q==="string"){let W=this.getStates();for(let J=W.length-1;J>=0;J--){let j=W[J];if(j.getName()===Q)return j}return}else{w.logger.prefix("Vyi-module").error("Invalid name type used!");return}}getStateById(Q){if(!Q)return;return this.states.get(Q)}getStates(){return Array.from(this.states.values())}getStateNames(){return this.getStates().map((Q)=>Q.getName())}getStatesData(){return this.getStates().map((W)=>W.exportAsState())}exportAsState(){let Q=[this.getName(),this.getDataURL(),this.getDelay(),this.getFrames().map((J)=>J.export())],W=this.getBoundsExport();if(Object.keys(W).length>0)Q[4]=W;return Q}convertStateDataToIconData(Q){return[Q[0],this.getWidth(),this.getHeight(),Q[2],Q[1],Q[3]]}export(){let Q=[this.getName(),this.getWidth(),this.getHeight(),this.getDelay(),this.getDataURL(),this.getFramesData()];if(this.states.size>0)Q[6]=this.getStatesData();return Q[7]=this.getIconPointsExport(),Q[8]=this.getBoundsExport(),Q}}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function HQ(Q){let W=Q.length;while(--W>=0)Q[W]=0}var e0=0,H0=1,t0=2,s0=3,Q5=258,vJ=29,yQ=256,RQ=yQ+1+vJ,YQ=30,gJ=19,P0=2*RQ+1,WQ=15,sQ=16,J5=7,RJ=256,B0=16,C0=17,$0=18,FJ=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),pQ=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),W5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),L0=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),j5=512,r=new Array((RQ+2)*2);HQ(r);var NQ=new Array(YQ*2);HQ(NQ);var xQ=new Array(j5);HQ(xQ);var OQ=new Array(Q5-s0+1);HQ(OQ);var xJ=new Array(vJ);HQ(xJ);var lQ=new Array(YQ);HQ(lQ);function QJ(Q,W,J,j,G){this.static_tree=Q,this.extra_bits=W,this.extra_base=J,this.elems=j,this.max_length=G,this.has_stree=Q&&Q.length}var N0,v0,g0;function JJ(Q,W){this.dyn_tree=Q,this.max_code=0,this.stat_desc=W}var R0=(Q)=>{return Q<256?xQ[Q]:xQ[256+(Q>>>7)]},MQ=(Q,W)=>{Q.pending_buf[Q.pending++]=W&255,Q.pending_buf[Q.pending++]=W>>>8&255},f=(Q,W,J)=>{if(Q.bi_valid>sQ-J)Q.bi_buf|=W<<Q.bi_valid&65535,MQ(Q,Q.bi_buf),Q.bi_buf=W>>sQ-Q.bi_valid,Q.bi_valid+=J-sQ;else Q.bi_buf|=W<<Q.bi_valid&65535,Q.bi_valid+=J},p=(Q,W,J)=>{f(Q,J[W*2],J[W*2+1])},x0=(Q,W)=>{let J=0;do J|=Q&1,Q>>>=1,J<<=1;while(--W>0);return J>>>1},q5=(Q)=>{if(Q.bi_valid===16)MQ(Q,Q.bi_buf),Q.bi_buf=0,Q.bi_valid=0;else if(Q.bi_valid>=8)Q.pending_buf[Q.pending++]=Q.bi_buf&255,Q.bi_buf>>=8,Q.bi_valid-=8},G5=(Q,W)=>{let{dyn_tree:J,max_code:j}=W,G=W.stat_desc.static_tree,q=W.stat_desc.has_stree,z=W.stat_desc.extra_bits,U=W.stat_desc.extra_base,Y=W.stat_desc.max_length,X,K,P,k,V,Z,M=0;for(k=0;k<=WQ;k++)Q.bl_count[k]=0;J[Q.heap[Q.heap_max]*2+1]=0;for(X=Q.heap_max+1;X<P0;X++){if(K=Q.heap[X],k=J[J[K*2+1]*2+1]+1,k>Y)k=Y,M++;if(J[K*2+1]=k,K>j)continue;if(Q.bl_count[k]++,V=0,K>=U)V=z[K-U];if(Z=J[K*2],Q.opt_len+=Z*(k+V),q)Q.static_len+=Z*(G[K*2+1]+V)}if(M===0)return;do{k=Y-1;while(Q.bl_count[k]===0)k--;Q.bl_count[k]--,Q.bl_count[k+1]+=2,Q.bl_count[Y]--,M-=2}while(M>0);for(k=Y;k!==0;k--){K=Q.bl_count[k];while(K!==0){if(P=Q.heap[--X],P>j)continue;if(J[P*2+1]!==k)Q.opt_len+=(k-J[P*2+1])*J[P*2],J[P*2+1]=k;K--}}},O0=(Q,W,J)=>{let j=new Array(WQ+1),G=0,q,z;for(q=1;q<=WQ;q++)G=G+J[q-1]<<1,j[q]=G;for(z=0;z<=W;z++){let U=Q[z*2+1];if(U===0)continue;Q[z*2]=x0(j[U]++,U)}},X5=()=>{let Q,W,J,j,G,q=new Array(WQ+1);J=0;for(j=0;j<vJ-1;j++){xJ[j]=J;for(Q=0;Q<1<<FJ[j];Q++)OQ[J++]=j}OQ[J-1]=j,G=0;for(j=0;j<16;j++){lQ[j]=G;for(Q=0;Q<1<<pQ[j];Q++)xQ[G++]=j}G>>=7;for(;j<YQ;j++){lQ[j]=G<<7;for(Q=0;Q<1<<pQ[j]-7;Q++)xQ[256+G++]=j}for(W=0;W<=WQ;W++)q[W]=0;Q=0;while(Q<=143)r[Q*2+1]=8,Q++,q[8]++;while(Q<=255)r[Q*2+1]=9,Q++,q[9]++;while(Q<=279)r[Q*2+1]=7,Q++,q[7]++;while(Q<=287)r[Q*2+1]=8,Q++,q[8]++;O0(r,RQ+1,q);for(Q=0;Q<YQ;Q++)NQ[Q*2+1]=5,NQ[Q*2]=x0(Q,5);N0=new QJ(r,FJ,yQ+1,RQ,WQ),v0=new QJ(NQ,pQ,0,YQ,WQ),g0=new QJ(new Array(0),W5,0,gJ,J5)},M0=(Q)=>{let W;for(W=0;W<RQ;W++)Q.dyn_ltree[W*2]=0;for(W=0;W<YQ;W++)Q.dyn_dtree[W*2]=0;for(W=0;W<gJ;W++)Q.bl_tree[W*2]=0;Q.dyn_ltree[RJ*2]=1,Q.opt_len=Q.static_len=0,Q.sym_next=Q.matches=0},w0=(Q)=>{if(Q.bi_valid>8)MQ(Q,Q.bi_buf);else if(Q.bi_valid>0)Q.pending_buf[Q.pending++]=Q.bi_buf;Q.bi_buf=0,Q.bi_valid=0},TJ=(Q,W,J,j)=>{let G=W*2,q=J*2;return Q[G]<Q[q]||Q[G]===Q[q]&&j[W]<=j[J]},WJ=(Q,W,J)=>{let j=Q.heap[J],G=J<<1;while(G<=Q.heap_len){if(G<Q.heap_len&&TJ(W,Q.heap[G+1],Q.heap[G],Q.depth))G++;if(TJ(W,j,Q.heap[G],Q.depth))break;Q.heap[J]=Q.heap[G],J=G,G<<=1}Q.heap[J]=j},yJ=(Q,W,J)=>{let j,G,q=0,z,U;if(Q.sym_next!==0)do if(j=Q.pending_buf[Q.sym_buf+q++]&255,j+=(Q.pending_buf[Q.sym_buf+q++]&255)<<8,G=Q.pending_buf[Q.sym_buf+q++],j===0)p(Q,G,W);else{if(z=OQ[G],p(Q,z+yQ+1,W),U=FJ[z],U!==0)G-=xJ[z],f(Q,G,U);if(j--,z=R0(j),p(Q,z,J),U=pQ[z],U!==0)j-=lQ[z],f(Q,j,U)}while(q<Q.sym_next);p(Q,RJ,W)},ZJ=(Q,W)=>{let J=W.dyn_tree,j=W.stat_desc.static_tree,G=W.stat_desc.has_stree,q=W.stat_desc.elems,z,U,Y=-1,X;Q.heap_len=0,Q.heap_max=P0;for(z=0;z<q;z++)if(J[z*2]!==0)Q.heap[++Q.heap_len]=Y=z,Q.depth[z]=0;else J[z*2+1]=0;while(Q.heap_len<2)if(X=Q.heap[++Q.heap_len]=Y<2?++Y:0,J[X*2]=1,Q.depth[X]=0,Q.opt_len--,G)Q.static_len-=j[X*2+1];W.max_code=Y;for(z=Q.heap_len>>1;z>=1;z--)WJ(Q,J,z);X=q;do z=Q.heap[1],Q.heap[1]=Q.heap[Q.heap_len--],WJ(Q,J,1),U=Q.heap[1],Q.heap[--Q.heap_max]=z,Q.heap[--Q.heap_max]=U,J[X*2]=J[z*2]+J[U*2],Q.depth[X]=(Q.depth[z]>=Q.depth[U]?Q.depth[z]:Q.depth[U])+1,J[z*2+1]=J[U*2+1]=X,Q.heap[1]=X++,WJ(Q,J,1);while(Q.heap_len>=2);Q.heap[--Q.heap_max]=Q.heap[1],G5(Q,W),O0(J,Y,Q.bl_count)},DJ=(Q,W,J)=>{let j,G=-1,q,z=W[1],U=0,Y=7,X=4;if(z===0)Y=138,X=3;W[(J+1)*2+1]=65535;for(j=0;j<=J;j++){if(q=z,z=W[(j+1)*2+1],++U<Y&&q===z)continue;else if(U<X)Q.bl_tree[q*2]+=U;else if(q!==0){if(q!==G)Q.bl_tree[q*2]++;Q.bl_tree[B0*2]++}else if(U<=10)Q.bl_tree[C0*2]++;else Q.bl_tree[$0*2]++;if(U=0,G=q,z===0)Y=138,X=3;else if(q===z)Y=6,X=3;else Y=7,X=4}},EJ=(Q,W,J)=>{let j,G=-1,q,z=W[1],U=0,Y=7,X=4;if(z===0)Y=138,X=3;for(j=0;j<=J;j++){if(q=z,z=W[(j+1)*2+1],++U<Y&&q===z)continue;else if(U<X)do p(Q,q,Q.bl_tree);while(--U!==0);else if(q!==0){if(q!==G)p(Q,q,Q.bl_tree),U--;p(Q,B0,Q.bl_tree),f(Q,U-3,2)}else if(U<=10)p(Q,C0,Q.bl_tree),f(Q,U-3,3);else p(Q,$0,Q.bl_tree),f(Q,U-11,7);if(U=0,G=q,z===0)Y=138,X=3;else if(q===z)Y=6,X=3;else Y=7,X=4}},U5=(Q)=>{let W;DJ(Q,Q.dyn_ltree,Q.l_desc.max_code),DJ(Q,Q.dyn_dtree,Q.d_desc.max_code),ZJ(Q,Q.bl_desc);for(W=gJ-1;W>=3;W--)if(Q.bl_tree[L0[W]*2+1]!==0)break;return Q.opt_len+=3*(W+1)+5+5+4,W},z5=(Q,W,J,j)=>{let G;f(Q,W-257,5),f(Q,J-1,5),f(Q,j-4,4);for(G=0;G<j;G++)f(Q,Q.bl_tree[L0[G]*2+1],3);EJ(Q,Q.dyn_ltree,W-1),EJ(Q,Q.dyn_dtree,J-1)},K5=(Q)=>{let W=4093624447,J;for(J=0;J<=31;J++,W>>>=1)if(W&1&&Q.dyn_ltree[J*2]!==0)return 0;if(Q.dyn_ltree[18]!==0||Q.dyn_ltree[20]!==0||Q.dyn_ltree[26]!==0)return 1;for(J=32;J<yQ;J++)if(Q.dyn_ltree[J*2]!==0)return 1;return 0},IJ=!1,V5=(Q)=>{if(!IJ)X5(),IJ=!0;Q.l_desc=new JJ(Q.dyn_ltree,N0),Q.d_desc=new JJ(Q.dyn_dtree,v0),Q.bl_desc=new JJ(Q.bl_tree,g0),Q.bi_buf=0,Q.bi_valid=0,M0(Q)},A0=(Q,W,J,j)=>{if(f(Q,(e0<<1)+(j?1:0),3),w0(Q),MQ(Q,J),MQ(Q,~J),J)Q.pending_buf.set(Q.window.subarray(W,W+J),Q.pending);Q.pending+=J},k5=(Q)=>{f(Q,H0<<1,3),p(Q,RJ,r),q5(Q)},Y5=(Q,W,J,j)=>{let G,q,z=0;if(Q.level>0){if(Q.strm.data_type===2)Q.strm.data_type=K5(Q);if(ZJ(Q,Q.l_desc),ZJ(Q,Q.d_desc),z=U5(Q),G=Q.opt_len+3+7>>>3,q=Q.static_len+3+7>>>3,q<=G)G=q}else G=q=J+5;if(J+4<=G&&W!==-1)A0(Q,W,J,j);else if(Q.strategy===4||q===G)f(Q,(H0<<1)+(j?1:0),3),yJ(Q,r,NQ);else f(Q,(t0<<1)+(j?1:0),3),z5(Q,Q.l_desc.max_code+1,Q.d_desc.max_code+1,z+1),yJ(Q,Q.dyn_ltree,Q.dyn_dtree);if(M0(Q),j)w0(Q)},F5=(Q,W,J)=>{if(Q.pending_buf[Q.sym_buf+Q.sym_next++]=W,Q.pending_buf[Q.sym_buf+Q.sym_next++]=W>>8,Q.pending_buf[Q.sym_buf+Q.sym_next++]=J,W===0)Q.dyn_ltree[J*2]++;else Q.matches++,W--,Q.dyn_ltree[(OQ[J]+yQ+1)*2]++,Q.dyn_dtree[R0(W)*2]++;return Q.sym_next===Q.sym_end},Z5=V5,H5=A0,P5=Y5,B5=F5,C5=k5,$5={_tr_init:Z5,_tr_stored_block:H5,_tr_flush_block:P5,_tr_tally:B5,_tr_align:C5},L5=(Q,W,J,j)=>{let G=Q&65535|0,q=Q>>>16&65535|0,z=0;while(J!==0){z=J>2000?2000:J,J-=z;do G=G+W[j++]|0,q=q+G|0;while(--z);G%=65521,q%=65521}return G|q<<16|0},wQ=L5,N5=()=>{let Q,W=[];for(var J=0;J<256;J++){Q=J;for(var j=0;j<8;j++)Q=Q&1?3988292384^Q>>>1:Q>>>1;W[J]=Q}return W},v5=new Uint32Array(N5()),g5=(Q,W,J,j)=>{let G=v5,q=j+J;Q^=-1;for(let z=j;z<q;z++)Q=Q>>>8^G[(Q^W[z])&255];return Q^-1},D=g5,GQ={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},zQ={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:R5,_tr_stored_block:HJ,_tr_flush_block:x5,_tr_tally:t,_tr_align:O5}=$5,{Z_NO_FLUSH:s,Z_PARTIAL_FLUSH:M5,Z_FULL_FLUSH:w5,Z_FINISH:c,Z_BLOCK:bJ,Z_OK:I,Z_STREAM_END:fJ,Z_STREAM_ERROR:l,Z_DATA_ERROR:A5,Z_BUF_ERROR:jJ,Z_DEFAULT_COMPRESSION:S5,Z_FILTERED:T5,Z_HUFFMAN_ONLY:uQ,Z_RLE:y5,Z_FIXED:D5,Z_DEFAULT_STRATEGY:E5,Z_UNKNOWN:I5,Z_DEFLATED:rQ}=zQ,b5=9,f5=15,u5=8,h5=29,c5=256,PJ=c5+1+h5,m5=30,d5=19,p5=2*PJ+1,l5=15,v=3,e=258,_=e+v+1,_5=32,FQ=42,OJ=57,BJ=69,CJ=73,$J=91,LJ=103,jQ=113,$Q=666,b=1,PQ=2,XQ=3,BQ=4,i5=3,qQ=(Q,W)=>{return Q.msg=GQ[W],W},uJ=(Q)=>{return Q*2-(Q>4?9:0)},a=(Q)=>{let W=Q.length;while(--W>=0)Q[W]=0},r5=(Q)=>{let W,J,j,G=Q.w_size;W=Q.hash_size,j=W;do J=Q.head[--j],Q.head[j]=J>=G?J-G:0;while(--W);W=G,j=W;do J=Q.prev[--j],Q.prev[j]=J>=G?J-G:0;while(--W)},o5=(Q,W,J)=>(W<<Q.hash_shift^J)&Q.hash_mask,QQ=o5,u=(Q)=>{let W=Q.state,J=W.pending;if(J>Q.avail_out)J=Q.avail_out;if(J===0)return;if(Q.output.set(W.pending_buf.subarray(W.pending_out,W.pending_out+J),Q.next_out),Q.next_out+=J,W.pending_out+=J,Q.total_out+=J,Q.avail_out-=J,W.pending-=J,W.pending===0)W.pending_out=0},h=(Q,W)=>{x5(Q,Q.block_start>=0?Q.block_start:-1,Q.strstart-Q.block_start,W),Q.block_start=Q.strstart,u(Q.strm)},x=(Q,W)=>{Q.pending_buf[Q.pending++]=W},CQ=(Q,W)=>{Q.pending_buf[Q.pending++]=W>>>8&255,Q.pending_buf[Q.pending++]=W&255},NJ=(Q,W,J,j)=>{let G=Q.avail_in;if(G>j)G=j;if(G===0)return 0;if(Q.avail_in-=G,W.set(Q.input.subarray(Q.next_in,Q.next_in+G),J),Q.state.wrap===1)Q.adler=wQ(Q.adler,W,G,J);else if(Q.state.wrap===2)Q.adler=D(Q.adler,W,G,J);return Q.next_in+=G,Q.total_in+=G,G},S0=(Q,W)=>{let{max_chain_length:J,strstart:j}=Q,G,q,z=Q.prev_length,U=Q.nice_match,Y=Q.strstart>Q.w_size-_?Q.strstart-(Q.w_size-_):0,X=Q.window,K=Q.w_mask,P=Q.prev,k=Q.strstart+e,V=X[j+z-1],Z=X[j+z];if(Q.prev_length>=Q.good_match)J>>=2;if(U>Q.lookahead)U=Q.lookahead;do{if(G=W,X[G+z]!==Z||X[G+z-1]!==V||X[G]!==X[j]||X[++G]!==X[j+1])continue;j+=2,G++;do;while(X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&X[++j]===X[++G]&&j<k);if(q=e-(k-j),j=k-e,q>z){if(Q.match_start=W,z=q,q>=U)break;V=X[j+z-1],Z=X[j+z]}}while((W=P[W&K])>Y&&--J!==0);if(z<=Q.lookahead)return z;return Q.lookahead},ZQ=(Q)=>{let W=Q.w_size,J,j,G;do{if(j=Q.window_size-Q.lookahead-Q.strstart,Q.strstart>=W+(W-_)){if(Q.window.set(Q.window.subarray(W,W+W-j),0),Q.match_start-=W,Q.strstart-=W,Q.block_start-=W,Q.insert>Q.strstart)Q.insert=Q.strstart;r5(Q),j+=W}if(Q.strm.avail_in===0)break;if(J=NJ(Q.strm,Q.window,Q.strstart+Q.lookahead,j),Q.lookahead+=J,Q.lookahead+Q.insert>=v){G=Q.strstart-Q.insert,Q.ins_h=Q.window[G],Q.ins_h=QQ(Q,Q.ins_h,Q.window[G+1]);while(Q.insert)if(Q.ins_h=QQ(Q,Q.ins_h,Q.window[G+v-1]),Q.prev[G&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=G,G++,Q.insert--,Q.lookahead+Q.insert<v)break}}while(Q.lookahead<_&&Q.strm.avail_in!==0)},T0=(Q,W)=>{let J=Q.pending_buf_size-5>Q.w_size?Q.w_size:Q.pending_buf_size-5,j,G,q,z=0,U=Q.strm.avail_in;do{if(j=65535,q=Q.bi_valid+42>>3,Q.strm.avail_out<q)break;if(q=Q.strm.avail_out-q,G=Q.strstart-Q.block_start,j>G+Q.strm.avail_in)j=G+Q.strm.avail_in;if(j>q)j=q;if(j<J&&(j===0&&W!==c||W===s||j!==G+Q.strm.avail_in))break;if(z=W===c&&j===G+Q.strm.avail_in?1:0,HJ(Q,0,0,z),Q.pending_buf[Q.pending-4]=j,Q.pending_buf[Q.pending-3]=j>>8,Q.pending_buf[Q.pending-2]=~j,Q.pending_buf[Q.pending-1]=~j>>8,u(Q.strm),G){if(G>j)G=j;Q.strm.output.set(Q.window.subarray(Q.block_start,Q.block_start+G),Q.strm.next_out),Q.strm.next_out+=G,Q.strm.avail_out-=G,Q.strm.total_out+=G,Q.block_start+=G,j-=G}if(j)NJ(Q.strm,Q.strm.output,Q.strm.next_out,j),Q.strm.next_out+=j,Q.strm.avail_out-=j,Q.strm.total_out+=j}while(z===0);if(U-=Q.strm.avail_in,U){if(U>=Q.w_size)Q.matches=2,Q.window.set(Q.strm.input.subarray(Q.strm.next_in-Q.w_size,Q.strm.next_in),0),Q.strstart=Q.w_size,Q.insert=Q.strstart;else{if(Q.window_size-Q.strstart<=U){if(Q.strstart-=Q.w_size,Q.window.set(Q.window.subarray(Q.w_size,Q.w_size+Q.strstart),0),Q.matches<2)Q.matches++;if(Q.insert>Q.strstart)Q.insert=Q.strstart}Q.window.set(Q.strm.input.subarray(Q.strm.next_in-U,Q.strm.next_in),Q.strstart),Q.strstart+=U,Q.insert+=U>Q.w_size-Q.insert?Q.w_size-Q.insert:U}Q.block_start=Q.strstart}if(Q.high_water<Q.strstart)Q.high_water=Q.strstart;if(z)return BQ;if(W!==s&&W!==c&&Q.strm.avail_in===0&&Q.strstart===Q.block_start)return PQ;if(q=Q.window_size-Q.strstart,Q.strm.avail_in>q&&Q.block_start>=Q.w_size){if(Q.block_start-=Q.w_size,Q.strstart-=Q.w_size,Q.window.set(Q.window.subarray(Q.w_size,Q.w_size+Q.strstart),0),Q.matches<2)Q.matches++;if(q+=Q.w_size,Q.insert>Q.strstart)Q.insert=Q.strstart}if(q>Q.strm.avail_in)q=Q.strm.avail_in;if(q)NJ(Q.strm,Q.window,Q.strstart,q),Q.strstart+=q,Q.insert+=q>Q.w_size-Q.insert?Q.w_size-Q.insert:q;if(Q.high_water<Q.strstart)Q.high_water=Q.strstart;if(q=Q.bi_valid+42>>3,q=Q.pending_buf_size-q>65535?65535:Q.pending_buf_size-q,J=q>Q.w_size?Q.w_size:q,G=Q.strstart-Q.block_start,G>=J||(G||W===c)&&W!==s&&Q.strm.avail_in===0&&G<=q)j=G>q?q:G,z=W===c&&Q.strm.avail_in===0&&j===G?1:0,HJ(Q,Q.block_start,j,z),Q.block_start+=j,u(Q.strm);return z?XQ:b},qJ=(Q,W)=>{let J,j;for(;;){if(Q.lookahead<_){if(ZQ(Q),Q.lookahead<_&&W===s)return b;if(Q.lookahead===0)break}if(J=0,Q.lookahead>=v)Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+v-1]),J=Q.prev[Q.strstart&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=Q.strstart;if(J!==0&&Q.strstart-J<=Q.w_size-_)Q.match_length=S0(Q,J);if(Q.match_length>=v)if(j=t(Q,Q.strstart-Q.match_start,Q.match_length-v),Q.lookahead-=Q.match_length,Q.match_length<=Q.max_lazy_match&&Q.lookahead>=v){Q.match_length--;do Q.strstart++,Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+v-1]),J=Q.prev[Q.strstart&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=Q.strstart;while(--Q.match_length!==0);Q.strstart++}else Q.strstart+=Q.match_length,Q.match_length=0,Q.ins_h=Q.window[Q.strstart],Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+1]);else j=t(Q,0,Q.window[Q.strstart]),Q.lookahead--,Q.strstart++;if(j){if(h(Q,!1),Q.strm.avail_out===0)return b}}if(Q.insert=Q.strstart<v-1?Q.strstart:v-1,W===c){if(h(Q,!0),Q.strm.avail_out===0)return XQ;return BQ}if(Q.sym_next){if(h(Q,!1),Q.strm.avail_out===0)return b}return PQ},VQ=(Q,W)=>{let J,j,G;for(;;){if(Q.lookahead<_){if(ZQ(Q),Q.lookahead<_&&W===s)return b;if(Q.lookahead===0)break}if(J=0,Q.lookahead>=v)Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+v-1]),J=Q.prev[Q.strstart&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=Q.strstart;if(Q.prev_length=Q.match_length,Q.prev_match=Q.match_start,Q.match_length=v-1,J!==0&&Q.prev_length<Q.max_lazy_match&&Q.strstart-J<=Q.w_size-_){if(Q.match_length=S0(Q,J),Q.match_length<=5&&(Q.strategy===T5||Q.match_length===v&&Q.strstart-Q.match_start>4096))Q.match_length=v-1}if(Q.prev_length>=v&&Q.match_length<=Q.prev_length){G=Q.strstart+Q.lookahead-v,j=t(Q,Q.strstart-1-Q.prev_match,Q.prev_length-v),Q.lookahead-=Q.prev_length-1,Q.prev_length-=2;do if(++Q.strstart<=G)Q.ins_h=QQ(Q,Q.ins_h,Q.window[Q.strstart+v-1]),J=Q.prev[Q.strstart&Q.w_mask]=Q.head[Q.ins_h],Q.head[Q.ins_h]=Q.strstart;while(--Q.prev_length!==0);if(Q.match_available=0,Q.match_length=v-1,Q.strstart++,j){if(h(Q,!1),Q.strm.avail_out===0)return b}}else if(Q.match_available){if(j=t(Q,0,Q.window[Q.strstart-1]),j)h(Q,!1);if(Q.strstart++,Q.lookahead--,Q.strm.avail_out===0)return b}else Q.match_available=1,Q.strstart++,Q.lookahead--}if(Q.match_available)j=t(Q,0,Q.window[Q.strstart-1]),Q.match_available=0;if(Q.insert=Q.strstart<v-1?Q.strstart:v-1,W===c){if(h(Q,!0),Q.strm.avail_out===0)return XQ;return BQ}if(Q.sym_next){if(h(Q,!1),Q.strm.avail_out===0)return b}return PQ},n5=(Q,W)=>{let J,j,G,q,z=Q.window;for(;;){if(Q.lookahead<=e){if(ZQ(Q),Q.lookahead<=e&&W===s)return b;if(Q.lookahead===0)break}if(Q.match_length=0,Q.lookahead>=v&&Q.strstart>0){if(G=Q.strstart-1,j=z[G],j===z[++G]&&j===z[++G]&&j===z[++G]){q=Q.strstart+e;do;while(j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&j===z[++G]&&G<q);if(Q.match_length=e-(q-G),Q.match_length>Q.lookahead)Q.match_length=Q.lookahead}}if(Q.match_length>=v)J=t(Q,1,Q.match_length-v),Q.lookahead-=Q.match_length,Q.strstart+=Q.match_length,Q.match_length=0;else J=t(Q,0,Q.window[Q.strstart]),Q.lookahead--,Q.strstart++;if(J){if(h(Q,!1),Q.strm.avail_out===0)return b}}if(Q.insert=0,W===c){if(h(Q,!0),Q.strm.avail_out===0)return XQ;return BQ}if(Q.sym_next){if(h(Q,!1),Q.strm.avail_out===0)return b}return PQ},a5=(Q,W)=>{let J;for(;;){if(Q.lookahead===0){if(ZQ(Q),Q.lookahead===0){if(W===s)return b;break}}if(Q.match_length=0,J=t(Q,0,Q.window[Q.strstart]),Q.lookahead--,Q.strstart++,J){if(h(Q,!1),Q.strm.avail_out===0)return b}}if(Q.insert=0,W===c){if(h(Q,!0),Q.strm.avail_out===0)return XQ;return BQ}if(Q.sym_next){if(h(Q,!1),Q.strm.avail_out===0)return b}return PQ};function d(Q,W,J,j,G){this.good_length=Q,this.max_lazy=W,this.nice_length=J,this.max_chain=j,this.func=G}var LQ=[new d(0,0,0,0,T0),new d(4,4,8,4,qJ),new d(4,5,16,8,qJ),new d(4,6,32,32,qJ),new d(4,4,16,16,VQ),new d(8,16,32,32,VQ),new d(8,16,128,128,VQ),new d(8,32,128,256,VQ),new d(32,128,258,1024,VQ),new d(32,258,258,4096,VQ)],e5=(Q)=>{Q.window_size=2*Q.w_size,a(Q.head),Q.max_lazy_match=LQ[Q.level].max_lazy,Q.good_match=LQ[Q.level].good_length,Q.nice_match=LQ[Q.level].nice_length,Q.max_chain_length=LQ[Q.level].max_chain,Q.strstart=0,Q.block_start=0,Q.lookahead=0,Q.insert=0,Q.match_length=Q.prev_length=v-1,Q.match_available=0,Q.ins_h=0};function t5(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=rQ,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(p5*2),this.dyn_dtree=new Uint16Array((2*m5+1)*2),this.bl_tree=new Uint16Array((2*d5+1)*2),a(this.dyn_ltree),a(this.dyn_dtree),a(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(l5+1),this.heap=new Uint16Array(2*PJ+1),a(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*PJ+1),a(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var DQ=(Q)=>{if(!Q)return 1;let W=Q.state;if(!W||W.strm!==Q||W.status!==FQ&&W.status!==OJ&&W.status!==BJ&&W.status!==CJ&&W.status!==$J&&W.status!==LJ&&W.status!==jQ&&W.status!==$Q)return 1;return 0},y0=(Q)=>{if(DQ(Q))return qQ(Q,l);Q.total_in=Q.total_out=0,Q.data_type=I5;let W=Q.state;if(W.pending=0,W.pending_out=0,W.wrap<0)W.wrap=-W.wrap;return W.status=W.wrap===2?OJ:W.wrap?FQ:jQ,Q.adler=W.wrap===2?0:1,W.last_flush=-2,R5(W),I},D0=(Q)=>{let W=y0(Q);if(W===I)e5(Q.state);return W},s5=(Q,W)=>{if(DQ(Q)||Q.state.wrap!==2)return l;return Q.state.gzhead=W,I},E0=(Q,W,J,j,G,q)=>{if(!Q)return l;let z=1;if(W===S5)W=6;if(j<0)z=0,j=-j;else if(j>15)z=2,j-=16;if(G<1||G>b5||J!==rQ||j<8||j>15||W<0||W>9||q<0||q>D5||j===8&&z!==1)return qQ(Q,l);if(j===8)j=9;let U=new t5;return Q.state=U,U.strm=Q,U.status=FQ,U.wrap=z,U.gzhead=null,U.w_bits=j,U.w_size=1<<U.w_bits,U.w_mask=U.w_size-1,U.hash_bits=G+7,U.hash_size=1<<U.hash_bits,U.hash_mask=U.hash_size-1,U.hash_shift=~~((U.hash_bits+v-1)/v),U.window=new Uint8Array(U.w_size*2),U.head=new Uint16Array(U.hash_size),U.prev=new Uint16Array(U.w_size),U.lit_bufsize=1<<G+6,U.pending_buf_size=U.lit_bufsize*4,U.pending_buf=new Uint8Array(U.pending_buf_size),U.sym_buf=U.lit_bufsize,U.sym_end=(U.lit_bufsize-1)*3,U.level=W,U.strategy=q,U.method=J,D0(Q)},Q8=(Q,W)=>{return E0(Q,W,rQ,f5,u5,E5)},J8=(Q,W)=>{if(DQ(Q)||W>bJ||W<0)return Q?qQ(Q,l):l;let J=Q.state;if(!Q.output||Q.avail_in!==0&&!Q.input||J.status===$Q&&W!==c)return qQ(Q,Q.avail_out===0?jJ:l);let j=J.last_flush;if(J.last_flush=W,J.pending!==0){if(u(Q),Q.avail_out===0)return J.last_flush=-1,I}else if(Q.avail_in===0&&uJ(W)<=uJ(j)&&W!==c)return qQ(Q,jJ);if(J.status===$Q&&Q.avail_in!==0)return qQ(Q,jJ);if(J.status===FQ&&J.wrap===0)J.status=jQ;if(J.status===FQ){let G=rQ+(J.w_bits-8<<4)<<8,q=-1;if(J.strategy>=uQ||J.level<2)q=0;else if(J.level<6)q=1;else if(J.level===6)q=2;else q=3;if(G|=q<<6,J.strstart!==0)G|=_5;if(G+=31-G%31,CQ(J,G),J.strstart!==0)CQ(J,Q.adler>>>16),CQ(J,Q.adler&65535);if(Q.adler=1,J.status=jQ,u(Q),J.pending!==0)return J.last_flush=-1,I}if(J.status===OJ)if(Q.adler=0,x(J,31),x(J,139),x(J,8),!J.gzhead){if(x(J,0),x(J,0),x(J,0),x(J,0),x(J,0),x(J,J.level===9?2:J.strategy>=uQ||J.level<2?4:0),x(J,i5),J.status=jQ,u(Q),J.pending!==0)return J.last_flush=-1,I}else{if(x(J,(J.gzhead.text?1:0)+(J.gzhead.hcrc?2:0)+(!J.gzhead.extra?0:4)+(!J.gzhead.name?0:8)+(!J.gzhead.comment?0:16)),x(J,J.gzhead.time&255),x(J,J.gzhead.time>>8&255),x(J,J.gzhead.time>>16&255),x(J,J.gzhead.time>>24&255),x(J,J.level===9?2:J.strategy>=uQ||J.level<2?4:0),x(J,J.gzhead.os&255),J.gzhead.extra&&J.gzhead.extra.length)x(J,J.gzhead.extra.length&255),x(J,J.gzhead.extra.length>>8&255);if(J.gzhead.hcrc)Q.adler=D(Q.adler,J.pending_buf,J.pending,0);J.gzindex=0,J.status=BJ}if(J.status===BJ){if(J.gzhead.extra){let G=J.pending,q=(J.gzhead.extra.length&65535)-J.gzindex;while(J.pending+q>J.pending_buf_size){let U=J.pending_buf_size-J.pending;if(J.pending_buf.set(J.gzhead.extra.subarray(J.gzindex,J.gzindex+U),J.pending),J.pending=J.pending_buf_size,J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);if(J.gzindex+=U,u(Q),J.pending!==0)return J.last_flush=-1,I;G=0,q-=U}let z=new Uint8Array(J.gzhead.extra);if(J.pending_buf.set(z.subarray(J.gzindex,J.gzindex+q),J.pending),J.pending+=q,J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);J.gzindex=0}J.status=CJ}if(J.status===CJ){if(J.gzhead.name){let G=J.pending,q;do{if(J.pending===J.pending_buf_size){if(J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);if(u(Q),J.pending!==0)return J.last_flush=-1,I;G=0}if(J.gzindex<J.gzhead.name.length)q=J.gzhead.name.charCodeAt(J.gzindex++)&255;else q=0;x(J,q)}while(q!==0);if(J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);J.gzindex=0}J.status=$J}if(J.status===$J){if(J.gzhead.comment){let G=J.pending,q;do{if(J.pending===J.pending_buf_size){if(J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G);if(u(Q),J.pending!==0)return J.last_flush=-1,I;G=0}if(J.gzindex<J.gzhead.comment.length)q=J.gzhead.comment.charCodeAt(J.gzindex++)&255;else q=0;x(J,q)}while(q!==0);if(J.gzhead.hcrc&&J.pending>G)Q.adler=D(Q.adler,J.pending_buf,J.pending-G,G)}J.status=LJ}if(J.status===LJ){if(J.gzhead.hcrc){if(J.pending+2>J.pending_buf_size){if(u(Q),J.pending!==0)return J.last_flush=-1,I}x(J,Q.adler&255),x(J,Q.adler>>8&255),Q.adler=0}if(J.status=jQ,u(Q),J.pending!==0)return J.last_flush=-1,I}if(Q.avail_in!==0||J.lookahead!==0||W!==s&&J.status!==$Q){let G=J.level===0?T0(J,W):J.strategy===uQ?a5(J,W):J.strategy===y5?n5(J,W):LQ[J.level].func(J,W);if(G===XQ||G===BQ)J.status=$Q;if(G===b||G===XQ){if(Q.avail_out===0)J.last_flush=-1;return I}if(G===PQ){if(W===M5)O5(J);else if(W!==bJ){if(HJ(J,0,0,!1),W===w5){if(a(J.head),J.lookahead===0)J.strstart=0,J.block_start=0,J.insert=0}}if(u(Q),Q.avail_out===0)return J.last_flush=-1,I}}if(W!==c)return I;if(J.wrap<=0)return fJ;if(J.wrap===2)x(J,Q.adler&255),x(J,Q.adler>>8&255),x(J,Q.adler>>16&255),x(J,Q.adler>>24&255),x(J,Q.total_in&255),x(J,Q.total_in>>8&255),x(J,Q.total_in>>16&255),x(J,Q.total_in>>24&255);else CQ(J,Q.adler>>>16),CQ(J,Q.adler&65535);if(u(Q),J.wrap>0)J.wrap=-J.wrap;return J.pending!==0?I:fJ},W8=(Q)=>{if(DQ(Q))return l;let W=Q.state.status;return Q.state=null,W===jQ?qQ(Q,A5):I},j8=(Q,W)=>{let J=W.length;if(DQ(Q))return l;let j=Q.state,G=j.wrap;if(G===2||G===1&&j.status!==FQ||j.lookahead)return l;if(G===1)Q.adler=wQ(Q.adler,W,J,0);if(j.wrap=0,J>=j.w_size){if(G===0)a(j.head),j.strstart=0,j.block_start=0,j.insert=0;let Y=new Uint8Array(j.w_size);Y.set(W.subarray(J-j.w_size,J),0),W=Y,J=j.w_size}let{avail_in:q,next_in:z,input:U}=Q;Q.avail_in=J,Q.next_in=0,Q.input=W,ZQ(j);while(j.lookahead>=v){let Y=j.strstart,X=j.lookahead-(v-1);do j.ins_h=QQ(j,j.ins_h,j.window[Y+v-1]),j.prev[Y&j.w_mask]=j.head[j.ins_h],j.head[j.ins_h]=Y,Y++;while(--X);j.strstart=Y,j.lookahead=v-1,ZQ(j)}return j.strstart+=j.lookahead,j.block_start=j.strstart,j.insert=j.lookahead,j.lookahead=0,j.match_length=j.prev_length=v-1,j.match_available=0,Q.next_in=z,Q.input=U,Q.avail_in=q,j.wrap=G,I},q8=Q8,G8=E0,X8=D0,U8=y0,z8=s5,K8=J8,V8=W8,k8=j8,Y8="pako deflate (from Nodeca project)",vQ={deflateInit:q8,deflateInit2:G8,deflateReset:X8,deflateResetKeep:U8,deflateSetHeader:z8,deflate:K8,deflateEnd:V8,deflateSetDictionary:k8,deflateInfo:Y8},F8=(Q,W)=>{return Object.prototype.hasOwnProperty.call(Q,W)},Z8=function(Q){let W=Array.prototype.slice.call(arguments,1);while(W.length){let J=W.shift();if(!J)continue;if(typeof J!=="object")throw new TypeError(J+"must be non-object");for(let j in J)if(F8(J,j))Q[j]=J[j]}return Q},H8=(Q)=>{let W=0;for(let j=0,G=Q.length;j<G;j++)W+=Q[j].length;let J=new Uint8Array(W);for(let j=0,G=0,q=Q.length;j<q;j++){let z=Q[j];J.set(z,G),G+=z.length}return J},oQ={assign:Z8,flattenChunks:H8},I0=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(Q){I0=!1}var AQ=new Uint8Array(256);for(let Q=0;Q<256;Q++)AQ[Q]=Q>=252?6:Q>=248?5:Q>=240?4:Q>=224?3:Q>=192?2:1;AQ[254]=AQ[254]=1;var P8=(Q)=>{if(typeof TextEncoder==="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(Q);let W,J,j,G,q,z=Q.length,U=0;for(G=0;G<z;G++){if(J=Q.charCodeAt(G),(J&64512)===55296&&G+1<z){if(j=Q.charCodeAt(G+1),(j&64512)===56320)J=65536+(J-55296<<10)+(j-56320),G++}U+=J<128?1:J<2048?2:J<65536?3:4}W=new Uint8Array(U);for(q=0,G=0;q<U;G++){if(J=Q.charCodeAt(G),(J&64512)===55296&&G+1<z){if(j=Q.charCodeAt(G+1),(j&64512)===56320)J=65536+(J-55296<<10)+(j-56320),G++}if(J<128)W[q++]=J;else if(J<2048)W[q++]=192|J>>>6,W[q++]=128|J&63;else if(J<65536)W[q++]=224|J>>>12,W[q++]=128|J>>>6&63,W[q++]=128|J&63;else W[q++]=240|J>>>18,W[q++]=128|J>>>12&63,W[q++]=128|J>>>6&63,W[q++]=128|J&63}return W},B8=(Q,W)=>{if(W<65534){if(Q.subarray&&I0)return String.fromCharCode.apply(null,Q.length===W?Q:Q.subarray(0,W))}let J="";for(let j=0;j<W;j++)J+=String.fromCharCode(Q[j]);return J},C8=(Q,W)=>{let J=W||Q.length;if(typeof TextDecoder==="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(Q.subarray(0,W));let j,G,q=new Array(J*2);for(G=0,j=0;j<J;){let z=Q[j++];if(z<128){q[G++]=z;continue}let U=AQ[z];if(U>4){q[G++]=65533,j+=U-1;continue}z&=U===2?31:U===3?15:7;while(U>1&&j<J)z=z<<6|Q[j++]&63,U--;if(U>1){q[G++]=65533;continue}if(z<65536)q[G++]=z;else z-=65536,q[G++]=55296|z>>10&1023,q[G++]=56320|z&1023}return B8(q,G)},$8=(Q,W)=>{if(W=W||Q.length,W>Q.length)W=Q.length;let J=W-1;while(J>=0&&(Q[J]&192)===128)J--;if(J<0)return W;if(J===0)return W;return J+AQ[Q[J]]>W?J:W},SQ={string2buf:P8,buf2string:C8,utf8border:$8};function L8(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var b0=L8,f0=Object.prototype.toString,{Z_NO_FLUSH:N8,Z_SYNC_FLUSH:v8,Z_FULL_FLUSH:g8,Z_FINISH:R8,Z_OK:_Q,Z_STREAM_END:x8,Z_DEFAULT_COMPRESSION:O8,Z_DEFAULT_STRATEGY:M8,Z_DEFLATED:w8}=zQ;function EQ(Q){this.options=oQ.assign({level:O8,method:w8,chunkSize:16384,windowBits:15,memLevel:8,strategy:M8},Q||{});let W=this.options;if(W.raw&&W.windowBits>0)W.windowBits=-W.windowBits;else if(W.gzip&&W.windowBits>0&&W.windowBits<16)W.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new b0,this.strm.avail_out=0;let J=vQ.deflateInit2(this.strm,W.level,W.method,W.windowBits,W.memLevel,W.strategy);if(J!==_Q)throw new Error(GQ[J]);if(W.header)vQ.deflateSetHeader(this.strm,W.header);if(W.dictionary){let j;if(typeof W.dictionary==="string")j=SQ.string2buf(W.dictionary);else if(f0.call(W.dictionary)==="[object ArrayBuffer]")j=new Uint8Array(W.dictionary);else j=W.dictionary;if(J=vQ.deflateSetDictionary(this.strm,j),J!==_Q)throw new Error(GQ[J]);this._dict_set=!0}}EQ.prototype.push=function(Q,W){let J=this.strm,j=this.options.chunkSize,G,q;if(this.ended)return!1;if(W===~~W)q=W;else q=W===!0?R8:N8;if(typeof Q==="string")J.input=SQ.string2buf(Q);else if(f0.call(Q)==="[object ArrayBuffer]")J.input=new Uint8Array(Q);else J.input=Q;J.next_in=0,J.avail_in=J.input.length;for(;;){if(J.avail_out===0)J.output=new Uint8Array(j),J.next_out=0,J.avail_out=j;if((q===v8||q===g8)&&J.avail_out<=6){this.onData(J.output.subarray(0,J.next_out)),J.avail_out=0;continue}if(G=vQ.deflate(J,q),G===x8){if(J.next_out>0)this.onData(J.output.subarray(0,J.next_out));return G=vQ.deflateEnd(this.strm),this.onEnd(G),this.ended=!0,G===_Q}if(J.avail_out===0){this.onData(J.output);continue}if(q>0&&J.next_out>0){this.onData(J.output.subarray(0,J.next_out)),J.avail_out=0;continue}if(J.avail_in===0)break}return!0};EQ.prototype.onData=function(Q){this.chunks.push(Q)};EQ.prototype.onEnd=function(Q){if(Q===_Q)this.result=oQ.flattenChunks(this.chunks);this.chunks=[],this.err=Q,this.msg=this.strm.msg};function MJ(Q,W){let J=new EQ(W);if(J.push(Q,!0),J.err)throw J.msg||GQ[J.err];return J.result}function A8(Q,W){return W=W||{},W.raw=!0,MJ(Q,W)}function S8(Q,W){return W=W||{},W.gzip=!0,MJ(Q,W)}var T8=EQ,y8=MJ,D8=A8,E8=S8,I8=zQ,b8={Deflate:T8,deflate:y8,deflateRaw:D8,gzip:E8,constants:I8},hQ=16209,f8=16191,u8=function Q(W,J){let j,G,q,z,U,Y,X,K,P,k,V,Z,M,$,C,O,L,F,R,y,H,A,g,B,N=W.state;j=W.next_in,g=W.input,G=j+(W.avail_in-5),q=W.next_out,B=W.output,z=q-(J-W.avail_out),U=q+(W.avail_out-257),Y=N.dmax,X=N.wsize,K=N.whave,P=N.wnext,k=N.window,V=N.hold,Z=N.bits,M=N.lencode,$=N.distcode,C=(1<<N.lenbits)-1,O=(1<<N.distbits)-1;Q:do{if(Z<15)V+=g[j++]<<Z,Z+=8,V+=g[j++]<<Z,Z+=8;L=M[V&C];J:for(;;){if(F=L>>>24,V>>>=F,Z-=F,F=L>>>16&255,F===0)B[q++]=L&65535;else if(F&16){if(R=L&65535,F&=15,F){if(Z<F)V+=g[j++]<<Z,Z+=8;R+=V&(1<<F)-1,V>>>=F,Z-=F}if(Z<15)V+=g[j++]<<Z,Z+=8,V+=g[j++]<<Z,Z+=8;L=$[V&O];W:for(;;){if(F=L>>>24,V>>>=F,Z-=F,F=L>>>16&255,F&16){if(y=L&65535,F&=15,Z<F){if(V+=g[j++]<<Z,Z+=8,Z<F)V+=g[j++]<<Z,Z+=8}if(y+=V&(1<<F)-1,y>Y){W.msg="invalid distance too far back",N.mode=hQ;break Q}if(V>>>=F,Z-=F,F=q-z,y>F){if(F=y-F,F>K){if(N.sane){W.msg="invalid distance too far back",N.mode=hQ;break Q}}if(H=0,A=k,P===0){if(H+=X-F,F<R){R-=F;do B[q++]=k[H++];while(--F);H=q-y,A=B}}else if(P<F){if(H+=X+P-F,F-=P,F<R){R-=F;do B[q++]=k[H++];while(--F);if(H=0,P<R){F=P,R-=F;do B[q++]=k[H++];while(--F);H=q-y,A=B}}}else if(H+=P-F,F<R){R-=F;do B[q++]=k[H++];while(--F);H=q-y,A=B}while(R>2)B[q++]=A[H++],B[q++]=A[H++],B[q++]=A[H++],R-=3;if(R){if(B[q++]=A[H++],R>1)B[q++]=A[H++]}}else{H=q-y;do B[q++]=B[H++],B[q++]=B[H++],B[q++]=B[H++],R-=3;while(R>2);if(R){if(B[q++]=B[H++],R>1)B[q++]=B[H++]}}}else if((F&64)===0){L=$[(L&65535)+(V&(1<<F)-1)];continue W}else{W.msg="invalid distance code",N.mode=hQ;break Q}break}}else if((F&64)===0){L=M[(L&65535)+(V&(1<<F)-1)];continue J}else if(F&32){N.mode=f8;break Q}else{W.msg="invalid literal/length code",N.mode=hQ;break Q}break}}while(j<G&&q<U);R=Z>>3,j-=R,Z-=R<<3,V&=(1<<Z)-1,W.next_in=j,W.next_out=q,W.avail_in=j<G?5+(G-j):5-(j-G),W.avail_out=q<U?257+(U-q):257-(q-U),N.hold=V,N.bits=Z;return},kQ=15,hJ=852,cJ=592,mJ=0,GJ=1,dJ=2,h8=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),c8=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),m8=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),d8=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),p8=(Q,W,J,j,G,q,z,U)=>{let Y=U.bits,X=0,K=0,P=0,k=0,V=0,Z=0,M=0,$=0,C=0,O=0,L,F,R,y,H,A=null,g,B=new Uint16Array(kQ+1),N=new Uint16Array(kQ+1),JQ=null,AJ,bQ,fQ;for(X=0;X<=kQ;X++)B[X]=0;for(K=0;K<j;K++)B[W[J+K]]++;V=Y;for(k=kQ;k>=1;k--)if(B[k]!==0)break;if(V>k)V=k;if(k===0)return G[q++]=20971520,G[q++]=20971520,U.bits=1,0;for(P=1;P<k;P++)if(B[P]!==0)break;if(V<P)V=P;$=1;for(X=1;X<=kQ;X++)if($<<=1,$-=B[X],$<0)return-1;if($>0&&(Q===mJ||k!==1))return-1;N[1]=0;for(X=1;X<kQ;X++)N[X+1]=N[X]+B[X];for(K=0;K<j;K++)if(W[J+K]!==0)z[N[W[J+K]]++]=K;if(Q===mJ)A=JQ=z,g=20;else if(Q===GJ)A=h8,JQ=c8,g=257;else A=m8,JQ=d8,g=0;if(O=0,K=0,X=P,H=q,Z=V,M=0,R=-1,C=1<<V,y=C-1,Q===GJ&&C>hJ||Q===dJ&&C>cJ)return 1;for(;;){if(AJ=X-M,z[K]+1<g)bQ=0,fQ=z[K];else if(z[K]>=g)bQ=JQ[z[K]-g],fQ=A[z[K]-g];else bQ=96,fQ=0;L=1<<X-M,F=1<<Z,P=F;do F-=L,G[H+(O>>M)+F]=AJ<<24|bQ<<16|fQ|0;while(F!==0);L=1<<X-1;while(O&L)L>>=1;if(L!==0)O&=L-1,O+=L;else O=0;if(K++,--B[X]===0){if(X===k)break;X=W[J+z[K]]}if(X>V&&(O&y)!==R){if(M===0)M=V;H+=P,Z=X-M,$=1<<Z;while(Z+M<k){if($-=B[Z+M],$<=0)break;Z++,$<<=1}if(C+=1<<Z,Q===GJ&&C>hJ||Q===dJ&&C>cJ)return 1;R=O&y,G[R]=V<<24|Z<<16|H-q|0}}if(O!==0)G[H+O]=X-M<<24|4194304|0;return U.bits=V,0},gQ=p8,l8=0,u0=1,h0=2,{Z_FINISH:pJ,Z_BLOCK:_8,Z_TREES:cQ,Z_OK:UQ,Z_STREAM_END:i8,Z_NEED_DICT:r8,Z_STREAM_ERROR:m,Z_DATA_ERROR:c0,Z_MEM_ERROR:m0,Z_BUF_ERROR:o8,Z_DEFLATED:lJ}=zQ,nQ=16180,_J=16181,iJ=16182,rJ=16183,oJ=16184,nJ=16185,aJ=16186,eJ=16187,tJ=16188,sJ=16189,iQ=16190,i=16191,XJ=16192,Q0=16193,UJ=16194,J0=16195,W0=16196,j0=16197,q0=16198,mQ=16199,dQ=16200,G0=16201,X0=16202,U0=16203,z0=16204,K0=16205,zJ=16206,V0=16207,k0=16208,S=16209,d0=16210,p0=16211,n8=852,a8=592,e8=15,t8=e8,Y0=(Q)=>{return(Q>>>24&255)+(Q>>>8&65280)+((Q&65280)<<8)+((Q&255)<<24)};function s8(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var KQ=(Q)=>{if(!Q)return 1;let W=Q.state;if(!W||W.strm!==Q||W.mode<nQ||W.mode>p0)return 1;return 0},l0=(Q)=>{if(KQ(Q))return m;let W=Q.state;if(Q.total_in=Q.total_out=W.total=0,Q.msg="",W.wrap)Q.adler=W.wrap&1;return W.mode=nQ,W.last=0,W.havedict=0,W.flags=-1,W.dmax=32768,W.head=null,W.hold=0,W.bits=0,W.lencode=W.lendyn=new Int32Array(n8),W.distcode=W.distdyn=new Int32Array(a8),W.sane=1,W.back=-1,UQ},_0=(Q)=>{if(KQ(Q))return m;let W=Q.state;return W.wsize=0,W.whave=0,W.wnext=0,l0(Q)},i0=(Q,W)=>{let J;if(KQ(Q))return m;let j=Q.state;if(W<0)J=0,W=-W;else if(J=(W>>4)+5,W<48)W&=15;if(W&&(W<8||W>15))return m;if(j.window!==null&&j.wbits!==W)j.window=null;return j.wrap=J,j.wbits=W,_0(Q)},r0=(Q,W)=>{if(!Q)return m;let J=new s8;Q.state=J,J.strm=Q,J.window=null,J.mode=nQ;let j=i0(Q,W);if(j!==UQ)Q.state=null;return j},Q1=(Q)=>{return r0(Q,t8)},F0=!0,KJ,VJ,J1=(Q)=>{if(F0){KJ=new Int32Array(512),VJ=new Int32Array(32);let W=0;while(W<144)Q.lens[W++]=8;while(W<256)Q.lens[W++]=9;while(W<280)Q.lens[W++]=7;while(W<288)Q.lens[W++]=8;gQ(u0,Q.lens,0,288,KJ,0,Q.work,{bits:9}),W=0;while(W<32)Q.lens[W++]=5;gQ(h0,Q.lens,0,32,VJ,0,Q.work,{bits:5}),F0=!1}Q.lencode=KJ,Q.lenbits=9,Q.distcode=VJ,Q.distbits=5},o0=(Q,W,J,j)=>{let G,q=Q.state;if(q.window===null)q.wsize=1<<q.wbits,q.wnext=0,q.whave=0,q.window=new Uint8Array(q.wsize);if(j>=q.wsize)q.window.set(W.subarray(J-q.wsize,J),0),q.wnext=0,q.whave=q.wsize;else{if(G=q.wsize-q.wnext,G>j)G=j;if(q.window.set(W.subarray(J-j,J-j+G),q.wnext),j-=G,j)q.window.set(W.subarray(J-j,J),0),q.wnext=j,q.whave=q.wsize;else{if(q.wnext+=G,q.wnext===q.wsize)q.wnext=0;if(q.whave<q.wsize)q.whave+=G}}return 0},W1=(Q,W)=>{let J,j,G,q,z,U,Y,X,K,P,k,V,Z,M,$=0,C,O,L,F,R,y,H,A,g=new Uint8Array(4),B,N,JQ=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(KQ(Q)||!Q.output||!Q.input&&Q.avail_in!==0)return m;if(J=Q.state,J.mode===i)J.mode=XJ;z=Q.next_out,G=Q.output,Y=Q.avail_out,q=Q.next_in,j=Q.input,U=Q.avail_in,X=J.hold,K=J.bits,P=U,k=Y,A=UQ;Q:for(;;)switch(J.mode){case nQ:if(J.wrap===0){J.mode=XJ;break}while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.wrap&2&&X===35615){if(J.wbits===0)J.wbits=15;J.check=0,g[0]=X&255,g[1]=X>>>8&255,J.check=D(J.check,g,2,0),X=0,K=0,J.mode=_J;break}if(J.head)J.head.done=!1;if(!(J.wrap&1)||(((X&255)<<8)+(X>>8))%31){Q.msg="incorrect header check",J.mode=S;break}if((X&15)!==lJ){Q.msg="unknown compression method",J.mode=S;break}if(X>>>=4,K-=4,H=(X&15)+8,J.wbits===0)J.wbits=H;if(H>15||H>J.wbits){Q.msg="invalid window size",J.mode=S;break}J.dmax=1<<J.wbits,J.flags=0,Q.adler=J.check=1,J.mode=X&512?sJ:i,X=0,K=0;break;case _J:while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.flags=X,(J.flags&255)!==lJ){Q.msg="unknown compression method",J.mode=S;break}if(J.flags&57344){Q.msg="unknown header flags set",J.mode=S;break}if(J.head)J.head.text=X>>8&1;if(J.flags&512&&J.wrap&4)g[0]=X&255,g[1]=X>>>8&255,J.check=D(J.check,g,2,0);X=0,K=0,J.mode=iJ;case iJ:while(K<32){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.head)J.head.time=X;if(J.flags&512&&J.wrap&4)g[0]=X&255,g[1]=X>>>8&255,g[2]=X>>>16&255,g[3]=X>>>24&255,J.check=D(J.check,g,4,0);X=0,K=0,J.mode=rJ;case rJ:while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.head)J.head.xflags=X&255,J.head.os=X>>8;if(J.flags&512&&J.wrap&4)g[0]=X&255,g[1]=X>>>8&255,J.check=D(J.check,g,2,0);X=0,K=0,J.mode=oJ;case oJ:if(J.flags&1024){while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.length=X,J.head)J.head.extra_len=X;if(J.flags&512&&J.wrap&4)g[0]=X&255,g[1]=X>>>8&255,J.check=D(J.check,g,2,0);X=0,K=0}else if(J.head)J.head.extra=null;J.mode=nJ;case nJ:if(J.flags&1024){if(V=J.length,V>U)V=U;if(V){if(J.head){if(H=J.head.extra_len-J.length,!J.head.extra)J.head.extra=new Uint8Array(J.head.extra_len);J.head.extra.set(j.subarray(q,q+V),H)}if(J.flags&512&&J.wrap&4)J.check=D(J.check,j,V,q);U-=V,q+=V,J.length-=V}if(J.length)break Q}J.length=0,J.mode=aJ;case aJ:if(J.flags&2048){if(U===0)break Q;V=0;do if(H=j[q+V++],J.head&&H&&J.length<65536)J.head.name+=String.fromCharCode(H);while(H&&V<U);if(J.flags&512&&J.wrap&4)J.check=D(J.check,j,V,q);if(U-=V,q+=V,H)break Q}else if(J.head)J.head.name=null;J.length=0,J.mode=eJ;case eJ:if(J.flags&4096){if(U===0)break Q;V=0;do if(H=j[q+V++],J.head&&H&&J.length<65536)J.head.comment+=String.fromCharCode(H);while(H&&V<U);if(J.flags&512&&J.wrap&4)J.check=D(J.check,j,V,q);if(U-=V,q+=V,H)break Q}else if(J.head)J.head.comment=null;J.mode=tJ;case tJ:if(J.flags&512){while(K<16){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.wrap&4&&X!==(J.check&65535)){Q.msg="header crc mismatch",J.mode=S;break}X=0,K=0}if(J.head)J.head.hcrc=J.flags>>9&1,J.head.done=!0;Q.adler=J.check=0,J.mode=i;break;case sJ:while(K<32){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}Q.adler=J.check=Y0(X),X=0,K=0,J.mode=iQ;case iQ:if(J.havedict===0)return Q.next_out=z,Q.avail_out=Y,Q.next_in=q,Q.avail_in=U,J.hold=X,J.bits=K,r8;Q.adler=J.check=1,J.mode=i;case i:if(W===_8||W===cQ)break Q;case XJ:if(J.last){X>>>=K&7,K-=K&7,J.mode=zJ;break}while(K<3){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}switch(J.last=X&1,X>>>=1,K-=1,X&3){case 0:J.mode=Q0;break;case 1:if(J1(J),J.mode=mQ,W===cQ){X>>>=2,K-=2;break Q}break;case 2:J.mode=W0;break;case 3:Q.msg="invalid block type",J.mode=S}X>>>=2,K-=2;break;case Q0:X>>>=K&7,K-=K&7;while(K<32){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if((X&65535)!==(X>>>16^65535)){Q.msg="invalid stored block lengths",J.mode=S;break}if(J.length=X&65535,X=0,K=0,J.mode=UJ,W===cQ)break Q;case UJ:J.mode=J0;case J0:if(V=J.length,V){if(V>U)V=U;if(V>Y)V=Y;if(V===0)break Q;G.set(j.subarray(q,q+V),z),U-=V,q+=V,Y-=V,z+=V,J.length-=V;break}J.mode=i;break;case W0:while(K<14){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.nlen=(X&31)+257,X>>>=5,K-=5,J.ndist=(X&31)+1,X>>>=5,K-=5,J.ncode=(X&15)+4,X>>>=4,K-=4,J.nlen>286||J.ndist>30){Q.msg="too many length or distance symbols",J.mode=S;break}J.have=0,J.mode=j0;case j0:while(J.have<J.ncode){while(K<3){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}J.lens[JQ[J.have++]]=X&7,X>>>=3,K-=3}while(J.have<19)J.lens[JQ[J.have++]]=0;if(J.lencode=J.lendyn,J.lenbits=7,B={bits:J.lenbits},A=gQ(l8,J.lens,0,19,J.lencode,0,J.work,B),J.lenbits=B.bits,A){Q.msg="invalid code lengths set",J.mode=S;break}J.have=0,J.mode=q0;case q0:while(J.have<J.nlen+J.ndist){for(;;){if($=J.lencode[X&(1<<J.lenbits)-1],C=$>>>24,O=$>>>16&255,L=$&65535,C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(L<16)X>>>=C,K-=C,J.lens[J.have++]=L;else{if(L===16){N=C+2;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(X>>>=C,K-=C,J.have===0){Q.msg="invalid bit length repeat",J.mode=S;break}H=J.lens[J.have-1],V=3+(X&3),X>>>=2,K-=2}else if(L===17){N=C+3;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}X>>>=C,K-=C,H=0,V=3+(X&7),X>>>=3,K-=3}else{N=C+7;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}X>>>=C,K-=C,H=0,V=11+(X&127),X>>>=7,K-=7}if(J.have+V>J.nlen+J.ndist){Q.msg="invalid bit length repeat",J.mode=S;break}while(V--)J.lens[J.have++]=H}}if(J.mode===S)break;if(J.lens[256]===0){Q.msg="invalid code -- missing end-of-block",J.mode=S;break}if(J.lenbits=9,B={bits:J.lenbits},A=gQ(u0,J.lens,0,J.nlen,J.lencode,0,J.work,B),J.lenbits=B.bits,A){Q.msg="invalid literal/lengths set",J.mode=S;break}if(J.distbits=6,J.distcode=J.distdyn,B={bits:J.distbits},A=gQ(h0,J.lens,J.nlen,J.ndist,J.distcode,0,J.work,B),J.distbits=B.bits,A){Q.msg="invalid distances set",J.mode=S;break}if(J.mode=mQ,W===cQ)break Q;case mQ:J.mode=dQ;case dQ:if(U>=6&&Y>=258){if(Q.next_out=z,Q.avail_out=Y,Q.next_in=q,Q.avail_in=U,J.hold=X,J.bits=K,u8(Q,k),z=Q.next_out,G=Q.output,Y=Q.avail_out,q=Q.next_in,j=Q.input,U=Q.avail_in,X=J.hold,K=J.bits,J.mode===i)J.back=-1;break}J.back=0;for(;;){if($=J.lencode[X&(1<<J.lenbits)-1],C=$>>>24,O=$>>>16&255,L=$&65535,C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(O&&(O&240)===0){F=C,R=O,y=L;for(;;){if($=J.lencode[y+((X&(1<<F+R)-1)>>F)],C=$>>>24,O=$>>>16&255,L=$&65535,F+C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}X>>>=F,K-=F,J.back+=F}if(X>>>=C,K-=C,J.back+=C,J.length=L,O===0){J.mode=K0;break}if(O&32){J.back=-1,J.mode=i;break}if(O&64){Q.msg="invalid literal/length code",J.mode=S;break}J.extra=O&15,J.mode=G0;case G0:if(J.extra){N=J.extra;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}J.length+=X&(1<<J.extra)-1,X>>>=J.extra,K-=J.extra,J.back+=J.extra}J.was=J.length,J.mode=X0;case X0:for(;;){if($=J.distcode[X&(1<<J.distbits)-1],C=$>>>24,O=$>>>16&255,L=$&65535,C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if((O&240)===0){F=C,R=O,y=L;for(;;){if($=J.distcode[y+((X&(1<<F+R)-1)>>F)],C=$>>>24,O=$>>>16&255,L=$&65535,F+C<=K)break;if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}X>>>=F,K-=F,J.back+=F}if(X>>>=C,K-=C,J.back+=C,O&64){Q.msg="invalid distance code",J.mode=S;break}J.offset=L,J.extra=O&15,J.mode=U0;case U0:if(J.extra){N=J.extra;while(K<N){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}J.offset+=X&(1<<J.extra)-1,X>>>=J.extra,K-=J.extra,J.back+=J.extra}if(J.offset>J.dmax){Q.msg="invalid distance too far back",J.mode=S;break}J.mode=z0;case z0:if(Y===0)break Q;if(V=k-Y,J.offset>V){if(V=J.offset-V,V>J.whave){if(J.sane){Q.msg="invalid distance too far back",J.mode=S;break}}if(V>J.wnext)V-=J.wnext,Z=J.wsize-V;else Z=J.wnext-V;if(V>J.length)V=J.length;M=J.window}else M=G,Z=z-J.offset,V=J.length;if(V>Y)V=Y;Y-=V,J.length-=V;do G[z++]=M[Z++];while(--V);if(J.length===0)J.mode=dQ;break;case K0:if(Y===0)break Q;G[z++]=J.length,Y--,J.mode=dQ;break;case zJ:if(J.wrap){while(K<32){if(U===0)break Q;U--,X|=j[q++]<<K,K+=8}if(k-=Y,Q.total_out+=k,J.total+=k,J.wrap&4&&k)Q.adler=J.check=J.flags?D(J.check,G,k,z-k):wQ(J.check,G,k,z-k);if(k=Y,J.wrap&4&&(J.flags?X:Y0(X))!==J.check){Q.msg="incorrect data check",J.mode=S;break}X=0,K=0}J.mode=V0;case V0:if(J.wrap&&J.flags){while(K<32){if(U===0)break Q;U--,X+=j[q++]<<K,K+=8}if(J.wrap&4&&X!==(J.total&4294967295)){Q.msg="incorrect length check",J.mode=S;break}X=0,K=0}J.mode=k0;case k0:A=i8;break Q;case S:A=c0;break Q;case d0:return m0;case p0:default:return m}if(Q.next_out=z,Q.avail_out=Y,Q.next_in=q,Q.avail_in=U,J.hold=X,J.bits=K,J.wsize||k!==Q.avail_out&&J.mode<S&&(J.mode<zJ||W!==pJ)){if(o0(Q,Q.output,Q.next_out,k-Q.avail_out));}if(P-=Q.avail_in,k-=Q.avail_out,Q.total_in+=P,Q.total_out+=k,J.total+=k,J.wrap&4&&k)Q.adler=J.check=J.flags?D(J.check,G,k,Q.next_out-k):wQ(J.check,G,k,Q.next_out-k);if(Q.data_type=J.bits+(J.last?64:0)+(J.mode===i?128:0)+(J.mode===mQ||J.mode===UJ?256:0),(P===0&&k===0||W===pJ)&&A===UQ)A=o8;return A},j1=(Q)=>{if(KQ(Q))return m;let W=Q.state;if(W.window)W.window=null;return Q.state=null,UQ},q1=(Q,W)=>{if(KQ(Q))return m;let J=Q.state;if((J.wrap&2)===0)return m;return J.head=W,W.done=!1,UQ},G1=(Q,W)=>{let J=W.length,j,G,q;if(KQ(Q))return m;if(j=Q.state,j.wrap!==0&&j.mode!==iQ)return m;if(j.mode===iQ){if(G=1,G=wQ(G,W,J,0),G!==j.check)return c0}if(q=o0(Q,W,J,J),q)return j.mode=d0,m0;return j.havedict=1,UQ},X1=_0,U1=i0,z1=l0,K1=Q1,V1=r0,k1=W1,Y1=j1,F1=q1,Z1=G1,H1="pako inflate (from Nodeca project)",o={inflateReset:X1,inflateReset2:U1,inflateResetKeep:z1,inflateInit:K1,inflateInit2:V1,inflate:k1,inflateEnd:Y1,inflateGetHeader:F1,inflateSetDictionary:Z1,inflateInfo:H1};function P1(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var B1=P1,n0=Object.prototype.toString,{Z_NO_FLUSH:C1,Z_FINISH:$1,Z_OK:TQ,Z_STREAM_END:kJ,Z_NEED_DICT:YJ,Z_STREAM_ERROR:L1,Z_DATA_ERROR:Z0,Z_MEM_ERROR:N1}=zQ;function IQ(Q){this.options=oQ.assign({chunkSize:65536,windowBits:15,to:""},Q||{});let W=this.options;if(W.raw&&W.windowBits>=0&&W.windowBits<16){if(W.windowBits=-W.windowBits,W.windowBits===0)W.windowBits=-15}if(W.windowBits>=0&&W.windowBits<16&&!(Q&&Q.windowBits))W.windowBits+=32;if(W.windowBits>15&&W.windowBits<48){if((W.windowBits&15)===0)W.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new b0,this.strm.avail_out=0;let J=o.inflateInit2(this.strm,W.windowBits);if(J!==TQ)throw new Error(GQ[J]);if(this.header=new B1,o.inflateGetHeader(this.strm,this.header),W.dictionary){if(typeof W.dictionary==="string")W.dictionary=SQ.string2buf(W.dictionary);else if(n0.call(W.dictionary)==="[object ArrayBuffer]")W.dictionary=new Uint8Array(W.dictionary);if(W.raw){if(J=o.inflateSetDictionary(this.strm,W.dictionary),J!==TQ)throw new Error(GQ[J])}}}IQ.prototype.push=function(Q,W){let J=this.strm,j=this.options.chunkSize,G=this.options.dictionary,q,z,U;if(this.ended)return!1;if(W===~~W)z=W;else z=W===!0?$1:C1;if(n0.call(Q)==="[object ArrayBuffer]")J.input=new Uint8Array(Q);else J.input=Q;J.next_in=0,J.avail_in=J.input.length;for(;;){if(J.avail_out===0)J.output=new Uint8Array(j),J.next_out=0,J.avail_out=j;if(q=o.inflate(J,z),q===YJ&&G){if(q=o.inflateSetDictionary(J,G),q===TQ)q=o.inflate(J,z);else if(q===Z0)q=YJ}while(J.avail_in>0&&q===kJ&&J.state.wrap>0&&Q[J.next_in]!==0)o.inflateReset(J),q=o.inflate(J,z);switch(q){case L1:case Z0:case YJ:case N1:return this.onEnd(q),this.ended=!0,!1}if(U=J.avail_out,J.next_out){if(J.avail_out===0||q===kJ)if(this.options.to==="string"){let Y=SQ.utf8border(J.output,J.next_out),X=J.next_out-Y,K=SQ.buf2string(J.output,Y);if(J.next_out=X,J.avail_out=j-X,X)J.output.set(J.output.subarray(Y,Y+X),0);this.onData(K)}else this.onData(J.output.length===J.next_out?J.output:J.output.subarray(0,J.next_out))}if(q===TQ&&U===0)continue;if(q===kJ)return q=o.inflateEnd(this.strm),this.onEnd(q),this.ended=!0,!0;if(J.avail_in===0)break}return!0};IQ.prototype.onData=function(Q){this.chunks.push(Q)};IQ.prototype.onEnd=function(Q){if(Q===TQ)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=oQ.flattenChunks(this.chunks);this.chunks=[],this.err=Q,this.msg=this.strm.msg};function wJ(Q,W){let J=new IQ(W);if(J.push(Q),J.err)throw J.msg||GQ[J.err];return J.result}function v1(Q,W){return W=W||{},W.raw=!0,wJ(Q,W)}var g1=IQ,R1=wJ,x1=v1,O1=wJ,M1=zQ,w1={Inflate:g1,inflate:R1,inflateRaw:x1,ungzip:O1,constants:M1},{Deflate:A1,deflate:S1,deflateRaw:T1,gzip:y1}=b8,{Inflate:D1,inflate:E1,inflateRaw:I1,ungzip:b1}=w1,f1=A1,u1=S1,h1=T1,c1=y1,m1=D1,d1=E1,p1=I1,l1=b1,_1=zQ,aQ={Deflate:f1,deflate:u1,deflateRaw:h1,gzip:c1,Inflate:m1,inflate:d1,inflateRaw:p1,ungzip:l1,constants:_1};class w{static version="4.1.0";static logger=new eQ;icons=new Map;name="failed-to-find-vyi-name";formatVersion=1;constructor(Q){if(w.logger.registerType("Vyi-module","#ff6600"),Q)this.parse(Q)}parse(Q){if(!Q)return this;try{let W;if(typeof Q==="string")try{W=JSON.parse(Q)}catch(J){if(!Q.includes(".vyr")&&!Q.includes(".vyi")){if(W=Q,!W)throw new Error("Non vyi data found from binary string")}else try{W=JSON.parse(Q)}catch(j){if(typeof window==="undefined")W=this.readFileAndGetVYI(Q);else throw new Error("Invalid string input - not valid JSON or file path")}}else if(Q instanceof w)W=Q.export();else if(Q instanceof Object&&!Array.isArray(Q)&&!(Q instanceof ArrayBuffer||Q instanceof Uint8Array))W=Q;else if(Q instanceof ArrayBuffer||Q instanceof Uint8Array)W=this.handleBinaryData(Q);else throw new Error("Error processing: Invalid input type provided.");if(!W||(!W.v||!W.i)&&!W.icons)throw new Error("Non vyi data found.");this.processVyiData(W)}catch(W){w.logger.prefix("Vyi-module").error(\`\${W.message}\`)}return this}readFile(Q){try{let J=new TextEncoder().encode(Q),j=aQ.inflate(J,{to:"string"});return JSON.parse(j)}catch(W){return console.error("File reading failed:",W),null}}readFileAndGetVYI(Q){let J=(()=>({})).readFileSync(Q);return this.handleBinaryData(J)}async fetchAndParseJSON(Q){try{return await(await fetch(Q)).json()}catch(W){throw new Error(\`Failed to fetch or parse JSON from URL: \${W}\`)}}handleBinaryData(Q){let W=Q instanceof ArrayBuffer?new Uint8Array(Q):Q;try{let J=aQ.inflate(W,{to:"string"});if(!J)return null;return JSON.parse(J)}catch(J){try{let j=new TextDecoder().decode(W);if(!j)return null;return JSON.parse(j)}catch(j){return console.error("Decoding failed:",j),null}}}processVyiData(Q){this.icons.clear();let W=Q.i||Q.icons;if(this.formatVersion=Q.v??"format not found",Array.isArray(W))W.forEach((J)=>{if(!Array.isArray(J)&&typeof J==="object"){let j=this.convertOldIconData(J);this.addIcon(j)}else this.addIcon(J)});else w.logger.prefix("Vyi-module").error("Invalid .vyi file! Cannot parse icons.")}convertOldIconData(Q){let W=Array.isArray(Q.frames)?Q.frames.map((j)=>[j.data,j.delay]):[],J=Array.isArray(Q.states)?Q.states.map((j)=>{let G=Array.isArray(j.frames)?j.frames.map((q)=>[q.data,q.delay]):[];return[j.name,j.data,j.delay||100,G]}):[];return[Q.name||"",Q.w||32,Q.h||32,Q.delay||100,Q.data||"",W,J]}addIcon(Q){if(!Q){w.logger.prefix("Vyi-module").error("No icon data passed!");return}if(!(Q instanceof T)&&!Array.isArray(Q)){w.logger.prefix("Vyi-module").error("Invalid icon data type passed!");return}let W=Q instanceof T?Q:new T(Q);return this.icons.set(W.id,W),W.setVyi(this),W}removeIcon(Q){if(!Q)return;if(Q instanceof T){if(this.icons.delete(Q.id))Q.removeVyi()}}removeIconByName(Q){let W=this.getIcon(Q);if(W)this.removeIcon(W)}removeIconById(Q){let W=this.getIconById(Q);if(W)this.removeIcon(W)}getIconNames(){return this.getIcons().map((W)=>W.name)}getIcon(Q){if(typeof Q==="string"){let W=this.getIcons();for(let J=W.length-1;J>=0;J--){let j=W[J];if(j.getName()===Q)return j}}else w.logger.prefix("Vyi-module").error("Invalid name type used!")}getIconCount(){return this.icons.size}getIconById(Q){if(!Q)return;return this.icons.get(Q)||this.getIcons().find((J)=>J.states.has(Q))?.getStateById(Q)}getIcons(){return Array.from(this.icons.values())}rename(Q){if(typeof Q==="string")this.name=Q;else w.logger.prefix("Vyi-module").error("Invalid name type used!")}getName(){return this.name}export(Q){let W={v:this.formatVersion,i:this.getIcons().map((J)=>J.export())};if(Q){let J=new TextEncoder().encode(JSON.stringify(W));return aQ.deflate(J)}return W}}self.onmessage=function(Q){let{id:W,type:J,data:j}=Q.data;try{if(J==="parse"){let q=new w(j).export();self.postMessage({id:W,success:!0,data:q})}}catch(G){let q=G instanceof Error?G.message:"Unknown error";console.error("Worker error:",G),self.postMessage({id:W,success:!1,error:q})}};
|
|
9531
|
-
`;
|
|
9532
|
-
var WORKER_BLOB = new Blob([WORKER_CODE], { type: "application/javascript" });
|
|
9533
|
-
var WORKER_SCRIPT_URL = URL.createObjectURL(WORKER_BLOB);
|
|
9534
9489
|
|
|
9535
|
-
|
|
9536
|
-
|
|
9537
|
-
|
|
9538
|
-
|
|
9539
|
-
|
|
9540
|
-
|
|
9541
|
-
|
|
9542
|
-
|
|
9543
|
-
|
|
9544
|
-
|
|
9545
|
-
|
|
9490
|
+
// node_modules/chalk/source/index.js
|
|
9491
|
+
var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
|
|
9492
|
+
var GENERATOR = Symbol("GENERATOR");
|
|
9493
|
+
var STYLER = Symbol("STYLER");
|
|
9494
|
+
var IS_EMPTY = Symbol("IS_EMPTY");
|
|
9495
|
+
var levelMapping = [
|
|
9496
|
+
"ansi",
|
|
9497
|
+
"ansi",
|
|
9498
|
+
"ansi256",
|
|
9499
|
+
"ansi16m"
|
|
9500
|
+
];
|
|
9501
|
+
var styles2 = Object.create(null);
|
|
9502
|
+
var applyOptions = (object, options = {}) => {
|
|
9503
|
+
if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
|
|
9504
|
+
throw new Error("The `level` option should be an integer from 0 to 3");
|
|
9546
9505
|
}
|
|
9547
|
-
|
|
9548
|
-
|
|
9549
|
-
|
|
9506
|
+
const colorLevel = stdoutColor ? stdoutColor.level : 0;
|
|
9507
|
+
object.level = options.level === undefined ? colorLevel : options.level;
|
|
9508
|
+
};
|
|
9509
|
+
var chalkFactory = (options) => {
|
|
9510
|
+
const chalk = (...strings2) => strings2.join(" ");
|
|
9511
|
+
applyOptions(chalk, options);
|
|
9512
|
+
Object.setPrototypeOf(chalk, createChalk.prototype);
|
|
9513
|
+
return chalk;
|
|
9514
|
+
};
|
|
9515
|
+
function createChalk(options) {
|
|
9516
|
+
return chalkFactory(options);
|
|
9517
|
+
}
|
|
9518
|
+
Object.setPrototypeOf(createChalk.prototype, Function.prototype);
|
|
9519
|
+
for (const [styleName, style] of Object.entries(ansi_styles_default)) {
|
|
9520
|
+
styles2[styleName] = {
|
|
9521
|
+
get() {
|
|
9522
|
+
const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
|
|
9523
|
+
Object.defineProperty(this, styleName, { value: builder });
|
|
9524
|
+
return builder;
|
|
9550
9525
|
}
|
|
9551
|
-
|
|
9526
|
+
};
|
|
9527
|
+
}
|
|
9528
|
+
styles2.visible = {
|
|
9529
|
+
get() {
|
|
9530
|
+
const builder = createBuilder(this, this[STYLER], true);
|
|
9531
|
+
Object.defineProperty(this, "visible", { value: builder });
|
|
9532
|
+
return builder;
|
|
9552
9533
|
}
|
|
9553
|
-
|
|
9554
|
-
|
|
9555
|
-
|
|
9556
|
-
|
|
9534
|
+
};
|
|
9535
|
+
var getModelAnsi = (model, level, type, ...arguments_) => {
|
|
9536
|
+
if (model === "rgb") {
|
|
9537
|
+
if (level === "ansi16m") {
|
|
9538
|
+
return ansi_styles_default[type].ansi16m(...arguments_);
|
|
9557
9539
|
}
|
|
9558
|
-
|
|
9559
|
-
|
|
9560
|
-
for (let i = 0;i < this.maxWorkers; i++) {
|
|
9561
|
-
const worker = this.createWorker();
|
|
9562
|
-
this.workers.push(worker);
|
|
9563
|
-
this.availableWorkers.push(worker);
|
|
9540
|
+
if (level === "ansi256") {
|
|
9541
|
+
return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
|
|
9564
9542
|
}
|
|
9543
|
+
return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
|
|
9565
9544
|
}
|
|
9566
|
-
|
|
9567
|
-
|
|
9568
|
-
worker.onmessage = (event) => {
|
|
9569
|
-
const { id, success, data, error } = event.data;
|
|
9570
|
-
const pending = this.pendingMessages.get(id);
|
|
9571
|
-
if (pending) {
|
|
9572
|
-
this.pendingMessages.delete(id);
|
|
9573
|
-
if (success) {
|
|
9574
|
-
pending.resolve(data);
|
|
9575
|
-
} else {
|
|
9576
|
-
pending.reject(new Error(error));
|
|
9577
|
-
}
|
|
9578
|
-
}
|
|
9579
|
-
};
|
|
9580
|
-
worker.onerror = (error) => {
|
|
9581
|
-
console.error("Worker error:", error);
|
|
9582
|
-
for (const [id, pending] of this.pendingMessages) {
|
|
9583
|
-
pending.reject(new Error(`Worker error: ${error.message}`));
|
|
9584
|
-
}
|
|
9585
|
-
this.pendingMessages.clear();
|
|
9586
|
-
};
|
|
9587
|
-
return worker;
|
|
9545
|
+
if (model === "hex") {
|
|
9546
|
+
return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
|
|
9588
9547
|
}
|
|
9589
|
-
|
|
9590
|
-
|
|
9591
|
-
|
|
9548
|
+
return ansi_styles_default[type][model](...arguments_);
|
|
9549
|
+
};
|
|
9550
|
+
var usedModels = ["rgb", "hex", "ansi256"];
|
|
9551
|
+
for (const model of usedModels) {
|
|
9552
|
+
styles2[model] = {
|
|
9553
|
+
get() {
|
|
9554
|
+
const { level } = this;
|
|
9555
|
+
return function(...arguments_) {
|
|
9556
|
+
const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
|
|
9557
|
+
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
9558
|
+
};
|
|
9592
9559
|
}
|
|
9593
|
-
|
|
9594
|
-
|
|
9560
|
+
};
|
|
9561
|
+
const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
|
|
9562
|
+
styles2[bgModel] = {
|
|
9563
|
+
get() {
|
|
9564
|
+
const { level } = this;
|
|
9565
|
+
return function(...arguments_) {
|
|
9566
|
+
const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
|
|
9567
|
+
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
9568
|
+
};
|
|
9595
9569
|
}
|
|
9596
|
-
|
|
9597
|
-
|
|
9598
|
-
|
|
9599
|
-
|
|
9600
|
-
|
|
9601
|
-
|
|
9602
|
-
|
|
9603
|
-
|
|
9604
|
-
|
|
9605
|
-
|
|
9570
|
+
};
|
|
9571
|
+
}
|
|
9572
|
+
var proto = Object.defineProperties(() => {
|
|
9573
|
+
}, {
|
|
9574
|
+
...styles2,
|
|
9575
|
+
level: {
|
|
9576
|
+
enumerable: true,
|
|
9577
|
+
get() {
|
|
9578
|
+
return this[GENERATOR].level;
|
|
9579
|
+
},
|
|
9580
|
+
set(level) {
|
|
9581
|
+
this[GENERATOR].level = level;
|
|
9606
9582
|
}
|
|
9607
9583
|
}
|
|
9608
|
-
|
|
9609
|
-
|
|
9610
|
-
|
|
9611
|
-
|
|
9612
|
-
|
|
9613
|
-
|
|
9614
|
-
|
|
9615
|
-
|
|
9616
|
-
|
|
9617
|
-
|
|
9618
|
-
}, 30000);
|
|
9619
|
-
});
|
|
9584
|
+
});
|
|
9585
|
+
var createStyler = (open2, close, parent) => {
|
|
9586
|
+
let openAll;
|
|
9587
|
+
let closeAll;
|
|
9588
|
+
if (parent === undefined) {
|
|
9589
|
+
openAll = open2;
|
|
9590
|
+
closeAll = close;
|
|
9591
|
+
} else {
|
|
9592
|
+
openAll = parent.openAll + open2;
|
|
9593
|
+
closeAll = close + parent.closeAll;
|
|
9620
9594
|
}
|
|
9621
|
-
|
|
9622
|
-
|
|
9623
|
-
|
|
9624
|
-
|
|
9625
|
-
|
|
9626
|
-
|
|
9627
|
-
|
|
9628
|
-
|
|
9595
|
+
return {
|
|
9596
|
+
open: open2,
|
|
9597
|
+
close,
|
|
9598
|
+
openAll,
|
|
9599
|
+
closeAll,
|
|
9600
|
+
parent
|
|
9601
|
+
};
|
|
9602
|
+
};
|
|
9603
|
+
var createBuilder = (self, _styler, _isEmpty) => {
|
|
9604
|
+
const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
|
|
9605
|
+
Object.setPrototypeOf(builder, proto);
|
|
9606
|
+
builder[GENERATOR] = self;
|
|
9607
|
+
builder[STYLER] = _styler;
|
|
9608
|
+
builder[IS_EMPTY] = _isEmpty;
|
|
9609
|
+
return builder;
|
|
9610
|
+
};
|
|
9611
|
+
var applyStyle = (self, string) => {
|
|
9612
|
+
if (self.level <= 0 || !string) {
|
|
9613
|
+
return self[IS_EMPTY] ? "" : string;
|
|
9614
|
+
}
|
|
9615
|
+
let styler = self[STYLER];
|
|
9616
|
+
if (styler === undefined) {
|
|
9617
|
+
return string;
|
|
9618
|
+
}
|
|
9619
|
+
const { openAll, closeAll } = styler;
|
|
9620
|
+
if (string.includes("\x1B")) {
|
|
9621
|
+
while (styler !== undefined) {
|
|
9622
|
+
string = stringReplaceAll(string, styler.close, styler.open);
|
|
9623
|
+
styler = styler.parent;
|
|
9629
9624
|
}
|
|
9630
|
-
this.pendingMessages.clear();
|
|
9631
9625
|
}
|
|
9632
|
-
|
|
9626
|
+
const lfIndex = string.indexOf(`
|
|
9627
|
+
`);
|
|
9628
|
+
if (lfIndex !== -1) {
|
|
9629
|
+
string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
|
|
9630
|
+
}
|
|
9631
|
+
return openAll + string + closeAll;
|
|
9632
|
+
};
|
|
9633
|
+
Object.defineProperties(createChalk.prototype, styles2);
|
|
9634
|
+
var chalk = createChalk();
|
|
9635
|
+
var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
9636
|
+
var source_default = chalk;
|
|
9633
9637
|
|
|
9634
9638
|
// src/cli/app-bundler.ts
|
|
9635
|
-
import { promises as fs, existsSync } from "fs";
|
|
9636
|
-
import { join as join3, dirname as dirname3, extname as extname2 } from "path";
|
|
9637
9639
|
var Bun2 = globalThis.Bun;
|
|
9640
|
+
|
|
9641
|
+
// src/cli/theme.ts
|
|
9642
|
+
var theme = {
|
|
9643
|
+
brand: source_default.hex("#10B981"),
|
|
9644
|
+
brandBold: source_default.bold.hex("#10B981"),
|
|
9645
|
+
brandLight: source_default.hex("#34D399"),
|
|
9646
|
+
brandMuted: source_default.hex("#059669"),
|
|
9647
|
+
accent: source_default.bold.hex("#2DD4BF"),
|
|
9648
|
+
success: source_default.bold.hex("#10B981"),
|
|
9649
|
+
successIcon: source_default.bold.hex("#34D399"),
|
|
9650
|
+
warning: source_default.bold.hex("#FBBF24"),
|
|
9651
|
+
warningMuted: source_default.hex("#FCD34D"),
|
|
9652
|
+
error: source_default.bold.hex("#F43F5E"),
|
|
9653
|
+
errorText: source_default.hex("#FB7185"),
|
|
9654
|
+
info: source_default.hex("#38BDF8"),
|
|
9655
|
+
infoBold: source_default.bold.hex("#38BDF8"),
|
|
9656
|
+
alert: source_default.bold.hex("#FBBF24"),
|
|
9657
|
+
title: source_default.bold.white,
|
|
9658
|
+
text: source_default.hex("#F1F5F9"),
|
|
9659
|
+
secondary: source_default.hex("#94A3B8"),
|
|
9660
|
+
muted: source_default.hex("#64748B"),
|
|
9661
|
+
highlight: source_default.bold.hex("#F8FAFC"),
|
|
9662
|
+
url: source_default.bold.hex("#38BDF8").underline,
|
|
9663
|
+
bracket: source_default.hex("#64748B"),
|
|
9664
|
+
divider: source_default.hex("#334155"),
|
|
9665
|
+
bullet: source_default.hex("#10B981")("\u203A"),
|
|
9666
|
+
stepNumber: source_default.bold.hex("#10B981"),
|
|
9667
|
+
white: source_default.white,
|
|
9668
|
+
whiteBold: source_default.white.bold,
|
|
9669
|
+
dim: source_default.hex("#94A3B8"),
|
|
9670
|
+
gray: source_default.hex("#94A3B8")
|
|
9671
|
+
};
|
|
9672
|
+
|
|
9673
|
+
// src/cli/app-bundler.ts
|
|
9638
9674
|
function detectArchitecture(pSrcDir) {
|
|
9639
9675
|
const hasClientEntry = existsSync(join3(pSrcDir, "client", "index.ts"));
|
|
9640
9676
|
const hasServerEntry = existsSync(join3(pSrcDir, "server", "index.ts"));
|
|
@@ -9727,6 +9763,7 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9727
9763
|
const startStamp = Date.now();
|
|
9728
9764
|
const clientResult = await Bun2.build({
|
|
9729
9765
|
entrypoints: [join3(srcDir, "index.ts")],
|
|
9766
|
+
root: pProjectRoot,
|
|
9730
9767
|
naming: {
|
|
9731
9768
|
entry: "index.[ext]",
|
|
9732
9769
|
chunk: "[name]-[hash].[ext]",
|
|
@@ -9740,7 +9777,21 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9740
9777
|
identifiers: shouldObfuscate,
|
|
9741
9778
|
syntax: true,
|
|
9742
9779
|
whitespace: true
|
|
9743
|
-
} : false
|
|
9780
|
+
} : false,
|
|
9781
|
+
plugins: [
|
|
9782
|
+
{
|
|
9783
|
+
name: "kit-project-resolver",
|
|
9784
|
+
setup(build) {
|
|
9785
|
+
build.onResolve({ filter: /^resource\.json$/ }, () => {
|
|
9786
|
+
const resourcePath = join3(pProjectRoot, "resource.json");
|
|
9787
|
+
if (existsSync(resourcePath)) {
|
|
9788
|
+
return { path: resourcePath };
|
|
9789
|
+
}
|
|
9790
|
+
return;
|
|
9791
|
+
});
|
|
9792
|
+
}
|
|
9793
|
+
}
|
|
9794
|
+
]
|
|
9744
9795
|
});
|
|
9745
9796
|
if (!clientResult.success) {
|
|
9746
9797
|
console.error(clientResult.logs);
|
|
@@ -9757,7 +9808,7 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9757
9808
|
}
|
|
9758
9809
|
const elapsed = Date.now() - startStamp;
|
|
9759
9810
|
if (isVerbose) {
|
|
9760
|
-
console.log(
|
|
9811
|
+
console.log(theme.info(`[Kit CLI] Singleplayer Client Build took: ${elapsed}ms`));
|
|
9761
9812
|
}
|
|
9762
9813
|
return { architecture: "single", clientBuildTime: elapsed, success: true };
|
|
9763
9814
|
}
|
|
@@ -9770,6 +9821,7 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9770
9821
|
const clientStart = Date.now();
|
|
9771
9822
|
const clientResult = await Bun2.build({
|
|
9772
9823
|
entrypoints: [clientEntry],
|
|
9824
|
+
root: pProjectRoot,
|
|
9773
9825
|
naming: {
|
|
9774
9826
|
entry: "index.[ext]",
|
|
9775
9827
|
chunk: "[name]-[hash].[ext]",
|
|
@@ -9783,7 +9835,21 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9783
9835
|
identifiers: shouldObfuscate,
|
|
9784
9836
|
syntax: true,
|
|
9785
9837
|
whitespace: true
|
|
9786
|
-
} : false
|
|
9838
|
+
} : false,
|
|
9839
|
+
plugins: [
|
|
9840
|
+
{
|
|
9841
|
+
name: "kit-project-resolver",
|
|
9842
|
+
setup(build) {
|
|
9843
|
+
build.onResolve({ filter: /^resource\.json$/ }, () => {
|
|
9844
|
+
const resourcePath = join3(pProjectRoot, "resource.json");
|
|
9845
|
+
if (existsSync(resourcePath)) {
|
|
9846
|
+
return { path: resourcePath };
|
|
9847
|
+
}
|
|
9848
|
+
return;
|
|
9849
|
+
});
|
|
9850
|
+
}
|
|
9851
|
+
}
|
|
9852
|
+
]
|
|
9787
9853
|
});
|
|
9788
9854
|
if (!clientResult.success) {
|
|
9789
9855
|
console.error(clientResult.logs);
|
|
@@ -9801,6 +9867,7 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9801
9867
|
const serverStart = Date.now();
|
|
9802
9868
|
const serverResult = await Bun2.build({
|
|
9803
9869
|
entrypoints: [serverEntry],
|
|
9870
|
+
root: pProjectRoot,
|
|
9804
9871
|
naming: {
|
|
9805
9872
|
entry: "server.[ext]",
|
|
9806
9873
|
chunk: "[name]-[hash].[ext]",
|
|
@@ -9832,10 +9899,10 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9832
9899
|
}
|
|
9833
9900
|
if (isVerbose) {
|
|
9834
9901
|
if (clientElapsed) {
|
|
9835
|
-
console.log(
|
|
9902
|
+
console.log(theme.info(`[Kit CLI] Multiplayer Client Build took: ${clientElapsed}ms`));
|
|
9836
9903
|
}
|
|
9837
9904
|
if (serverElapsed) {
|
|
9838
|
-
console.log(
|
|
9905
|
+
console.log(theme.info(`[Kit CLI] Multiplayer Server Build took: ${serverElapsed}ms`));
|
|
9839
9906
|
}
|
|
9840
9907
|
}
|
|
9841
9908
|
return {
|
|
@@ -9847,16 +9914,21 @@ async function bundleApp(pProjectRoot, pOutDir, pOptions = {}) {
|
|
|
9847
9914
|
}
|
|
9848
9915
|
return { architecture: "none", success: true };
|
|
9849
9916
|
} catch (pError) {
|
|
9850
|
-
console.error(
|
|
9917
|
+
console.error(theme.error(`[Kit CLI Build Error] ${pError}`));
|
|
9918
|
+
if (pError?.logs) {
|
|
9919
|
+
console.error(pError.logs);
|
|
9920
|
+
} else if (pError?.errors) {
|
|
9921
|
+
console.error(pError.errors);
|
|
9922
|
+
}
|
|
9851
9923
|
return { architecture, success: false };
|
|
9852
9924
|
}
|
|
9853
9925
|
}
|
|
9854
9926
|
|
|
9855
9927
|
// src/cli/resource-builder.ts
|
|
9856
9928
|
var log = console.log;
|
|
9857
|
-
var info =
|
|
9858
|
-
var error =
|
|
9859
|
-
var alert =
|
|
9929
|
+
var info = theme.info;
|
|
9930
|
+
var error = theme.error;
|
|
9931
|
+
var alert = theme.alert;
|
|
9860
9932
|
var RESOURCE_TYPES = ["interface", "icon", "map", "sound", "macros"];
|
|
9861
9933
|
var VALID_EXTENSIONS = ["vyint", "vyi", "vym", "vymac", "mp3", "aac", "wav", "m4a", "ogg", "flac"];
|
|
9862
9934
|
var resourceJSON = initializeResourceJSON();
|
|
@@ -10145,10 +10217,12 @@ async function clearResourceTypeDirectories(pBaseDirectory) {
|
|
|
10145
10217
|
try {
|
|
10146
10218
|
const directoryExists = await fs2.stat(pBaseDirectory).then((stat4) => stat4.isDirectory()).catch(() => false);
|
|
10147
10219
|
if (directoryExists) {
|
|
10148
|
-
await fs2.rm(pBaseDirectory, { recursive: true });
|
|
10220
|
+
await fs2.rm(pBaseDirectory, { recursive: true, force: true });
|
|
10149
10221
|
}
|
|
10150
10222
|
} catch (pError) {
|
|
10151
|
-
|
|
10223
|
+
if (pError?.code !== "ENOENT") {
|
|
10224
|
+
log(`${error(`[Error]`)} clearing resource directory: ${pError}`);
|
|
10225
|
+
}
|
|
10152
10226
|
}
|
|
10153
10227
|
}
|
|
10154
10228
|
async function copyFile(pSource, pDestinationDir, pNewName) {
|
|
@@ -10206,9 +10280,9 @@ async function runWatch() {
|
|
|
10206
10280
|
if (shouldBundleApp && existsSync2(srcDir) && srcDir !== resourceInDirectory) {
|
|
10207
10281
|
pathsToWatch.push(srcDir);
|
|
10208
10282
|
}
|
|
10209
|
-
const displayPaths = pathsToWatch.map((p) =>
|
|
10210
|
-
console.log(
|
|
10211
|
-
Watching for changes in: ${displayPaths}`)
|
|
10283
|
+
const displayPaths = pathsToWatch.map((p) => theme.highlight(relative3(projectRootDirectory, p) || p)).join(", ");
|
|
10284
|
+
console.log(`
|
|
10285
|
+
${theme.brandBold("Watching for changes in:")} ${displayPaths}`);
|
|
10212
10286
|
let debounceTimer = null;
|
|
10213
10287
|
let isRebuilding = false;
|
|
10214
10288
|
let queuedChange = null;
|
|
@@ -10222,8 +10296,8 @@ Watching for changes in: ${displayPaths}`));
|
|
|
10222
10296
|
}
|
|
10223
10297
|
isRebuilding = true;
|
|
10224
10298
|
try {
|
|
10225
|
-
console.log(
|
|
10226
|
-
File changed: ${pFilename}
|
|
10299
|
+
console.log(`
|
|
10300
|
+
${theme.accent("\u203A")} ${theme.title("File changed:")} ${theme.highlight(pFilename)} ${theme.secondary("(rebuilding...)")}`);
|
|
10227
10301
|
await runBuild();
|
|
10228
10302
|
} finally {
|
|
10229
10303
|
isRebuilding = false;
|
|
@@ -11410,7 +11484,7 @@ import os2 from "os";
|
|
|
11410
11484
|
// package.json
|
|
11411
11485
|
var package_default = {
|
|
11412
11486
|
name: "@evitcastudio/kit",
|
|
11413
|
-
version: "3.3.
|
|
11487
|
+
version: "3.3.2",
|
|
11414
11488
|
author: "doubleactii 56242467+doubleactii@users.noreply.github.com (https://evitcastudio.com)",
|
|
11415
11489
|
main: "./lib/index.js",
|
|
11416
11490
|
types: "./lib/index.d.ts",
|
|
@@ -11497,6 +11571,8 @@ function getGitUser() {
|
|
|
11497
11571
|
}
|
|
11498
11572
|
}
|
|
11499
11573
|
function checkBun() {
|
|
11574
|
+
if (typeof Bun !== "undefined")
|
|
11575
|
+
return true;
|
|
11500
11576
|
const result = spawnSync("bun", ["--version"], { stdio: "ignore", shell: true });
|
|
11501
11577
|
return !result.error && result.status === 0;
|
|
11502
11578
|
}
|
|
@@ -11540,16 +11616,16 @@ function copyTemplate(pSrc, pDest, pProjectName, pVersion, pAuthor) {
|
|
|
11540
11616
|
}
|
|
11541
11617
|
}
|
|
11542
11618
|
async function processInit(pOptions) {
|
|
11543
|
-
Wt2(
|
|
11619
|
+
Wt2(theme.brand(`Kit CLI v${package_default.version}`));
|
|
11544
11620
|
if (!checkBun()) {
|
|
11545
11621
|
Vt2(`Kit requires the Bun runtime to build and run projects.
|
|
11546
|
-
You can download it manually at ${
|
|
11622
|
+
You can download it manually at ${theme.brand("https://bun.sh/")}`, "Bun Not Found");
|
|
11547
11623
|
const install = await Rt({
|
|
11548
11624
|
message: "Would you like to install Bun automatically now?",
|
|
11549
11625
|
initialValue: true
|
|
11550
11626
|
});
|
|
11551
11627
|
if (Ct(install) || !install) {
|
|
11552
|
-
Nt(`Please install Bun manually to use Kit: ${
|
|
11628
|
+
Nt(`Please install Bun manually to use Kit: ${theme.brand("https://bun.sh/")}
|
|
11553
11629
|
Note: Kit projects cannot build or run without Bun.`);
|
|
11554
11630
|
process.exit(1);
|
|
11555
11631
|
}
|
|
@@ -11558,7 +11634,7 @@ Note: Kit projects cannot build or run without Bun.`);
|
|
|
11558
11634
|
const success = installBun();
|
|
11559
11635
|
if (!success) {
|
|
11560
11636
|
sInstall.stop(source_default.red("Automatic installation failed."));
|
|
11561
|
-
Vt2(`Please install Bun manually: ${
|
|
11637
|
+
Vt2(`Please install Bun manually: ${theme.brand("https://bun.sh/")}`, "Manual Installation Required");
|
|
11562
11638
|
process.exit(1);
|
|
11563
11639
|
}
|
|
11564
11640
|
sInstall.stop();
|
|
@@ -11617,7 +11693,7 @@ Note: Kit projects cannot build or run without Bun.`);
|
|
|
11617
11693
|
if (fs3.existsSync(projectDir)) {
|
|
11618
11694
|
if (isInteractive) {
|
|
11619
11695
|
const overwrite = await Rt({
|
|
11620
|
-
message: `Directory ${
|
|
11696
|
+
message: `Directory ${theme.brand(projectName)} already exists. Overwrite?`,
|
|
11621
11697
|
initialValue: false
|
|
11622
11698
|
});
|
|
11623
11699
|
if (Ct(overwrite) || !overwrite) {
|
|
@@ -11631,7 +11707,7 @@ Error: Destination directory '${projectName}' already exists. Use --force (-f) t
|
|
|
11631
11707
|
}
|
|
11632
11708
|
}
|
|
11633
11709
|
const s = be();
|
|
11634
|
-
s.start(`Scaffolding ${
|
|
11710
|
+
s.start(`Scaffolding ${theme.brand(projectName)}...`);
|
|
11635
11711
|
try {
|
|
11636
11712
|
const projectPath = path.join(process.cwd(), projectName);
|
|
11637
11713
|
if (fs3.existsSync(projectPath)) {
|
|
@@ -11668,24 +11744,24 @@ Error: Destination directory '${projectName}' already exists. Use --force (-f) t
|
|
|
11668
11744
|
installSpinner.start("Installing project dependencies with Bun...");
|
|
11669
11745
|
const installResult = spawnSync("bun", ["install"], { cwd: projectPath, stdio: "ignore", shell: true });
|
|
11670
11746
|
if (installResult.status === 0) {
|
|
11671
|
-
installSpinner.stop(
|
|
11747
|
+
installSpinner.stop(theme.success("Dependencies installed successfully!"));
|
|
11672
11748
|
} else {
|
|
11673
|
-
installSpinner.stop(
|
|
11749
|
+
installSpinner.stop(theme.warning("Dependency installation finished with warnings."));
|
|
11674
11750
|
}
|
|
11675
11751
|
}
|
|
11676
|
-
console.log(`${
|
|
11677
|
-
console.log(`${
|
|
11678
|
-
console.log(`${
|
|
11752
|
+
console.log(`${theme.brand("\u2502")}`);
|
|
11753
|
+
console.log(`${theme.brand("\u2502")} ${theme.title("Next steps:")}`);
|
|
11754
|
+
console.log(`${theme.brand("\u2502")} ${theme.stepNumber("1.")} cd ${theme.brandBold(projectName)}`);
|
|
11679
11755
|
if (!shouldInstall) {
|
|
11680
|
-
console.log(`${
|
|
11681
|
-
console.log(`${
|
|
11756
|
+
console.log(`${theme.brand("\u2502")} ${theme.stepNumber("2.")} bun install`);
|
|
11757
|
+
console.log(`${theme.brand("\u2502")} ${theme.stepNumber("3.")} bun run build`);
|
|
11682
11758
|
} else {
|
|
11683
|
-
console.log(`${
|
|
11759
|
+
console.log(`${theme.brand("\u2502")} ${theme.stepNumber("2.")} bun run build`);
|
|
11684
11760
|
}
|
|
11685
|
-
console.log(`${
|
|
11686
|
-
Gt(
|
|
11761
|
+
console.log(`${theme.brand("\u2502")}`);
|
|
11762
|
+
Gt(theme.brandBold("Happy coding!"));
|
|
11687
11763
|
} catch (pError) {
|
|
11688
|
-
s.stop(
|
|
11764
|
+
s.stop(theme.error("Scaffolding failed."));
|
|
11689
11765
|
if (projectName) {
|
|
11690
11766
|
const projectPath = path.join(process.cwd(), projectName);
|
|
11691
11767
|
if (fs3.existsSync(projectPath)) {
|
|
@@ -11699,29 +11775,38 @@ Error: Destination directory '${projectName}' already exists. Use --force (-f) t
|
|
|
11699
11775
|
|
|
11700
11776
|
// src/cli/doctor.ts
|
|
11701
11777
|
import { spawnSync as spawnSync2 } from "child_process";
|
|
11702
|
-
import { existsSync as existsSync3, readFileSync } from "fs";
|
|
11778
|
+
import { existsSync as existsSync3, readdirSync, readFileSync } from "fs";
|
|
11703
11779
|
import { join as join5 } from "path";
|
|
11704
11780
|
async function processDoctor(pOptions = {}) {
|
|
11705
11781
|
const isVerbose2 = Boolean(pOptions.verbose);
|
|
11706
11782
|
const results = [];
|
|
11707
11783
|
console.log(`
|
|
11708
|
-
${
|
|
11784
|
+
${theme.brandBold("Kit Doctor")} ${source_default.dim("-")} Environment & Project Health Check
|
|
11709
11785
|
`);
|
|
11710
|
-
|
|
11711
|
-
if (!bunCheck.error && bunCheck.status === 0) {
|
|
11786
|
+
if (typeof Bun !== "undefined") {
|
|
11712
11787
|
results.push({
|
|
11713
11788
|
category: "Runtime",
|
|
11714
11789
|
title: "Bun Runtime",
|
|
11715
11790
|
passed: true,
|
|
11716
|
-
details: `
|
|
11791
|
+
details: `v${Bun.version}`
|
|
11717
11792
|
});
|
|
11718
11793
|
} else {
|
|
11719
|
-
|
|
11720
|
-
|
|
11721
|
-
|
|
11722
|
-
|
|
11723
|
-
|
|
11724
|
-
|
|
11794
|
+
const bunCheck = spawnSync2("bun", ["--version"], { encoding: "utf8", shell: true });
|
|
11795
|
+
if (!bunCheck.error && bunCheck.status === 0) {
|
|
11796
|
+
results.push({
|
|
11797
|
+
category: "Runtime",
|
|
11798
|
+
title: "Bun Runtime",
|
|
11799
|
+
passed: true,
|
|
11800
|
+
details: `v${bunCheck.stdout.trim()}`
|
|
11801
|
+
});
|
|
11802
|
+
} else {
|
|
11803
|
+
results.push({
|
|
11804
|
+
category: "Runtime",
|
|
11805
|
+
title: "Bun Runtime",
|
|
11806
|
+
passed: false,
|
|
11807
|
+
details: "Bun is not installed or not in PATH. Download at https://bun.sh/"
|
|
11808
|
+
});
|
|
11809
|
+
}
|
|
11725
11810
|
}
|
|
11726
11811
|
const gitCheck = spawnSync2("git", ["--version"], { encoding: "utf8", shell: true });
|
|
11727
11812
|
if (!gitCheck.error && gitCheck.status === 0) {
|
|
@@ -11746,28 +11831,44 @@ async function processDoctor(pOptions = {}) {
|
|
|
11746
11831
|
try {
|
|
11747
11832
|
const rawPkg = readFileSync(pkgPath, "utf8");
|
|
11748
11833
|
const pkg = JSON.parse(rawPkg);
|
|
11749
|
-
const
|
|
11834
|
+
const isKitCoreRepo = pkg.name === "@evitcastudio/kit";
|
|
11835
|
+
const kitVersionSpec = pkg.dependencies?.["@evitcastudio/kit"] || pkg.devDependencies?.["@evitcastudio/kit"];
|
|
11836
|
+
const hasKitDependency = Boolean(kitVersionSpec || isKitCoreRepo);
|
|
11750
11837
|
results.push({
|
|
11751
11838
|
category: "Project",
|
|
11752
11839
|
title: "package.json configuration",
|
|
11753
11840
|
passed: true,
|
|
11754
|
-
details:
|
|
11841
|
+
details: `${pkg.name || "unnamed"}${pkg.version ? ` v${pkg.version}` : ""}`
|
|
11755
11842
|
});
|
|
11843
|
+
let kitDependencyDetails = "Missing @evitcastudio/kit dependency in package.json";
|
|
11844
|
+
if (isKitCoreRepo) {
|
|
11845
|
+
kitDependencyDetails = "Core Framework Repository";
|
|
11846
|
+
} else if (kitVersionSpec) {
|
|
11847
|
+
kitDependencyDetails = `@evitcastudio/kit: ${kitVersionSpec}`;
|
|
11848
|
+
}
|
|
11756
11849
|
results.push({
|
|
11757
11850
|
category: "Project",
|
|
11758
11851
|
title: "Kit framework dependency",
|
|
11759
11852
|
passed: hasKitDependency,
|
|
11760
|
-
details:
|
|
11853
|
+
details: kitDependencyDetails
|
|
11761
11854
|
});
|
|
11762
|
-
const isKitCoreRepo = pkg.name === "@evitcastudio/kit";
|
|
11763
11855
|
if (!isKitCoreRepo) {
|
|
11764
11856
|
const resourcesDir = join5(cwd, "src", "resources");
|
|
11765
11857
|
const hasResources = existsSync3(resourcesDir);
|
|
11858
|
+
let assetDetails = "src/resources directory not found";
|
|
11859
|
+
if (hasResources) {
|
|
11860
|
+
try {
|
|
11861
|
+
const items = readdirSync(resourcesDir, { recursive: true });
|
|
11862
|
+
assetDetails = `Ready (${items.length} asset${items.length === 1 ? "" : "s"})`;
|
|
11863
|
+
} catch {
|
|
11864
|
+
assetDetails = "Asset directory present";
|
|
11865
|
+
}
|
|
11866
|
+
}
|
|
11766
11867
|
results.push({
|
|
11767
11868
|
category: "Project",
|
|
11768
11869
|
title: "Asset Directory (src/resources)",
|
|
11769
11870
|
passed: hasResources,
|
|
11770
|
-
details:
|
|
11871
|
+
details: assetDetails
|
|
11771
11872
|
});
|
|
11772
11873
|
}
|
|
11773
11874
|
const hasClientEntry = existsSync3(join5(cwd, "src", "client", "index.ts"));
|
|
@@ -11811,11 +11912,11 @@ async function processDoctor(pOptions = {}) {
|
|
|
11811
11912
|
const buildPipelinePassed = hasBuildScript || hasKitBuildScript;
|
|
11812
11913
|
let buildDetails = "No build pipeline configured";
|
|
11813
11914
|
if (hasKitBuildScript && hasBuildScript) {
|
|
11814
|
-
buildDetails =
|
|
11915
|
+
buildDetails = 'Native CLI build ("kit build") + bun-build.ts';
|
|
11815
11916
|
} else if (hasKitBuildScript) {
|
|
11816
|
-
buildDetails =
|
|
11917
|
+
buildDetails = 'Native CLI build ("kit build")';
|
|
11817
11918
|
} else if (hasBuildScript) {
|
|
11818
|
-
buildDetails = "Legacy bun-build.ts
|
|
11919
|
+
buildDetails = "Legacy build script (bun-build.ts)";
|
|
11819
11920
|
}
|
|
11820
11921
|
results.push({
|
|
11821
11922
|
category: "Project",
|
|
@@ -11833,11 +11934,12 @@ async function processDoctor(pOptions = {}) {
|
|
|
11833
11934
|
}
|
|
11834
11935
|
let allPassed = true;
|
|
11835
11936
|
for (const res of results) {
|
|
11836
|
-
const icon = res.passed ?
|
|
11837
|
-
const
|
|
11838
|
-
|
|
11839
|
-
|
|
11840
|
-
|
|
11937
|
+
const icon = res.passed ? theme.successIcon("\u2713") : theme.error("\u2717");
|
|
11938
|
+
const categoryBadge = `${theme.bracket("[")}${theme.brandBold(res.category)}${theme.bracket("]")}`;
|
|
11939
|
+
const titleText = res.passed ? theme.title(res.title) : theme.error(res.title);
|
|
11940
|
+
console.log(` ${icon} ${categoryBadge} ${titleText}`);
|
|
11941
|
+
if (res.details) {
|
|
11942
|
+
console.log(` ${theme.secondary(res.details)}`);
|
|
11841
11943
|
}
|
|
11842
11944
|
if (!res.passed) {
|
|
11843
11945
|
allPassed = false;
|
|
@@ -11846,10 +11948,10 @@ async function processDoctor(pOptions = {}) {
|
|
|
11846
11948
|
console.log(`
|
|
11847
11949
|
`);
|
|
11848
11950
|
if (allPassed) {
|
|
11849
|
-
console.log(` ${
|
|
11951
|
+
console.log(` ${theme.successIcon("\u2714")} ${theme.brandBold("All doctor diagnostics passed!")}
|
|
11850
11952
|
`);
|
|
11851
11953
|
} else {
|
|
11852
|
-
console.log(` ${
|
|
11954
|
+
console.log(` ${theme.warning("\u25B2 Some issues were detected. Check the items above.")}
|
|
11853
11955
|
`);
|
|
11854
11956
|
}
|
|
11855
11957
|
return allPassed;
|
|
@@ -11888,13 +11990,13 @@ export class ${pClassName} extends KitPlugin {
|
|
|
11888
11990
|
async function processCreate(pOptions) {
|
|
11889
11991
|
const { type, name, verbose } = pOptions;
|
|
11890
11992
|
if (!type || !name) {
|
|
11891
|
-
console.error(
|
|
11993
|
+
console.error(theme.error(`
|
|
11892
11994
|
Error: Both type and name are required. Usage: kit create <type> <name>`));
|
|
11893
11995
|
process.exit(1);
|
|
11894
11996
|
}
|
|
11895
11997
|
const normalizedType = type.toLowerCase();
|
|
11896
11998
|
if (normalizedType !== "plugin") {
|
|
11897
|
-
console.error(
|
|
11999
|
+
console.error(theme.error(`
|
|
11898
12000
|
Error: Unknown create type '${type}'. Supported types: 'plugin'`));
|
|
11899
12001
|
process.exit(1);
|
|
11900
12002
|
}
|
|
@@ -11906,21 +12008,21 @@ Error: Unknown create type '${type}'. Supported types: 'plugin'`));
|
|
|
11906
12008
|
await fs4.mkdir(pluginsDir, { recursive: true });
|
|
11907
12009
|
const fileExists = await fs4.stat(targetPath).then(() => true).catch(() => false);
|
|
11908
12010
|
if (fileExists) {
|
|
11909
|
-
console.error(
|
|
12011
|
+
console.error(theme.error(`
|
|
11910
12012
|
Error: File already exists at ${targetPath}`));
|
|
11911
12013
|
process.exit(1);
|
|
11912
12014
|
}
|
|
11913
12015
|
const sourceCode = generatePluginSource(className, className);
|
|
11914
12016
|
await fs4.writeFile(targetPath, sourceCode, "utf8");
|
|
11915
12017
|
console.log(`
|
|
11916
|
-
${
|
|
12018
|
+
${theme.successIcon("\u2713")} Created plugin ${theme.brandBold(className)} at ${theme.secondary(targetPath)}
|
|
11917
12019
|
`);
|
|
11918
12020
|
if (verbose) {
|
|
11919
|
-
console.log(
|
|
12021
|
+
console.log(theme.secondary(sourceCode));
|
|
11920
12022
|
}
|
|
11921
12023
|
} catch (pError) {
|
|
11922
12024
|
const message = pError instanceof Error ? pError.message : String(pError);
|
|
11923
|
-
console.error(
|
|
12025
|
+
console.error(theme.error(`
|
|
11924
12026
|
Error creating plugin: ${message}`));
|
|
11925
12027
|
process.exit(1);
|
|
11926
12028
|
}
|
|
@@ -11952,7 +12054,7 @@ async function processHost(pOptions = {}) {
|
|
|
11952
12054
|
const architecture = detectArchitecture(join7(cwd, "src"));
|
|
11953
12055
|
if (!existsSync4(distDir)) {
|
|
11954
12056
|
const message = `Target directory "${distDir}" does not exist. Run "kit build" or use "kit host -b" first.`;
|
|
11955
|
-
console.error(
|
|
12057
|
+
console.error(theme.error(`
|
|
11956
12058
|
[Kit Host] ${message}
|
|
11957
12059
|
`));
|
|
11958
12060
|
return { success: false, message };
|
|
@@ -11961,14 +12063,14 @@ async function processHost(pOptions = {}) {
|
|
|
11961
12063
|
const serverJsPath = join7(distDir, "server.js");
|
|
11962
12064
|
if (!existsSync4(serverJsPath)) {
|
|
11963
12065
|
const message = `Cannot host multiplayer project: "${serverJsPath}" was not found. Please compile the server first using "kit build".`;
|
|
11964
|
-
console.error(
|
|
12066
|
+
console.error(theme.error(`
|
|
11965
12067
|
[Kit Host] ${message}
|
|
11966
12068
|
`));
|
|
11967
12069
|
return { success: false, message };
|
|
11968
12070
|
}
|
|
11969
|
-
console.log(
|
|
11970
|
-
|
|
11971
|
-
`)
|
|
12071
|
+
console.log(`
|
|
12072
|
+
${theme.brandBold("Kit Multiplayer Server")} ${theme.muted("\u2500")} ${theme.secondary(distDir)}
|
|
12073
|
+
`);
|
|
11972
12074
|
let serverSettingsPort = port;
|
|
11973
12075
|
const settingsPath = join7(distDir, "settings.json");
|
|
11974
12076
|
if (existsSync4(settingsPath)) {
|
|
@@ -11985,7 +12087,15 @@ Starting Multiplayer Server from ${source_default.bold(distDir)}...
|
|
|
11985
12087
|
stderr: "inherit",
|
|
11986
12088
|
stdin: "inherit"
|
|
11987
12089
|
});
|
|
11988
|
-
console.log(
|
|
12090
|
+
console.log(` ${theme.successIcon("\u2713")} ${theme.title("Multiplayer server process spawned")} ${theme.secondary(`(configured port: ${serverSettingsPort})`)}`);
|
|
12091
|
+
console.log(` ${theme.title("Local:")} ${theme.url(`http://localhost:${serverSettingsPort}`)}`);
|
|
12092
|
+
const lanIp2 = getNetworkAddress();
|
|
12093
|
+
if (lanIp2 !== "localhost") {
|
|
12094
|
+
console.log(` ${theme.title("Network:")} ${theme.url(`http://${lanIp2}:${serverSettingsPort}`)}`);
|
|
12095
|
+
}
|
|
12096
|
+
console.log(theme.muted(`
|
|
12097
|
+
Press Ctrl+C to stop the server
|
|
12098
|
+
`));
|
|
11989
12099
|
process.on("SIGINT", () => {
|
|
11990
12100
|
proc.kill();
|
|
11991
12101
|
process.exit(0);
|
|
@@ -12000,7 +12110,7 @@ Starting Multiplayer Server from ${source_default.bold(distDir)}...
|
|
|
12000
12110
|
const indexPath = join7(distDir, "index.html");
|
|
12001
12111
|
if (!existsSync4(indexPath)) {
|
|
12002
12112
|
const message = `Missing entrypoint: "${indexPath}" was not found in dist. Run "kit build" or use "kit host -b" to compile.`;
|
|
12003
|
-
console.error(
|
|
12113
|
+
console.error(theme.error(`
|
|
12004
12114
|
[Kit Host] ${message}
|
|
12005
12115
|
`));
|
|
12006
12116
|
return { success: false, message };
|
|
@@ -12014,26 +12124,26 @@ Starting Multiplayer Server from ${source_default.bold(distDir)}...
|
|
|
12014
12124
|
const file = Bun.file(join7(distDir, target));
|
|
12015
12125
|
if (!await file.exists()) {
|
|
12016
12126
|
if (pOptions.verbose) {
|
|
12017
|
-
console.warn(
|
|
12127
|
+
console.warn(theme.warning(`[Kit Host] 404 Not Found: ${target}`));
|
|
12018
12128
|
}
|
|
12019
12129
|
return new Response("Not Found", { status: 404 });
|
|
12020
12130
|
}
|
|
12021
12131
|
return new Response(file);
|
|
12022
12132
|
}
|
|
12023
12133
|
});
|
|
12024
|
-
console.log(
|
|
12025
|
-
Kit Game Host Server
|
|
12026
|
-
`)
|
|
12027
|
-
console.log(` ${
|
|
12134
|
+
console.log(`
|
|
12135
|
+
${theme.brandBold("Kit Game Host Server")}
|
|
12136
|
+
`);
|
|
12137
|
+
console.log(` ${theme.title("Local:")} ${theme.url(`http://localhost:${server.port}`)}`);
|
|
12028
12138
|
if (lanIp !== "localhost") {
|
|
12029
|
-
console.log(` ${
|
|
12139
|
+
console.log(` ${theme.title("Network:")} ${theme.url(`http://${lanIp}:${server.port}`)}`);
|
|
12030
12140
|
}
|
|
12031
|
-
console.log(
|
|
12032
|
-
Serving files from: ${distDir}`));
|
|
12033
|
-
console.log(
|
|
12141
|
+
console.log(theme.secondary(`
|
|
12142
|
+
Serving files from: ${distDir}`));
|
|
12143
|
+
console.log(theme.muted(` Press Ctrl+C to stop the server
|
|
12034
12144
|
`));
|
|
12035
12145
|
process.on("SIGINT", () => {
|
|
12036
|
-
console.log(
|
|
12146
|
+
console.log(theme.warning(`
|
|
12037
12147
|
Shutting down host server...`));
|
|
12038
12148
|
server.stop();
|
|
12039
12149
|
process.exit(0);
|
|
@@ -12077,20 +12187,20 @@ var formatHelp = (pCmd) => {
|
|
|
12077
12187
|
const isRoot = pCmd === program2;
|
|
12078
12188
|
const desc = pCmd.description() || package_default["cli-description"];
|
|
12079
12189
|
let output = `
|
|
12080
|
-
${
|
|
12190
|
+
${theme.brandBold("Kit CLI")} ${theme.muted("\u2500")} ${theme.title(desc)}
|
|
12081
12191
|
`;
|
|
12082
|
-
output += ` ${
|
|
12192
|
+
output += ` ${theme.secondary("Version")} ${theme.brandBold(`v${package_default.version}`)}
|
|
12083
12193
|
|
|
12084
12194
|
`;
|
|
12085
|
-
const usage = pCmd.usage() || (isRoot ? `${
|
|
12086
|
-
output += ` ${
|
|
12195
|
+
const usage = pCmd.usage() || (isRoot ? `${theme.secondary("<command>")} ${theme.muted("[options]")}` : `${theme.muted("[options]")}`);
|
|
12196
|
+
output += ` ${theme.title("Usage:")} ${theme.brandBold("kit")} ${!isRoot ? theme.brand(pCmd.name() + " ") : ""}${usage}
|
|
12087
12197
|
|
|
12088
12198
|
`;
|
|
12089
12199
|
if (isRoot) {
|
|
12090
|
-
output += ` ${
|
|
12200
|
+
output += ` ${theme.title("Commands:")}
|
|
12091
12201
|
`;
|
|
12092
12202
|
pCmd.commands.filter((cmd) => cmd.name() !== "help").forEach((cmd) => {
|
|
12093
|
-
output += ` ${
|
|
12203
|
+
output += ` ${theme.brandBold(cmd.name().padEnd(14))} ${theme.secondary(cmd.description())}
|
|
12094
12204
|
`;
|
|
12095
12205
|
});
|
|
12096
12206
|
output += `
|
|
@@ -12104,10 +12214,10 @@ var formatHelp = (pCmd) => {
|
|
|
12104
12214
|
return true;
|
|
12105
12215
|
});
|
|
12106
12216
|
if (options.length > 0) {
|
|
12107
|
-
output += ` ${
|
|
12217
|
+
output += ` ${theme.title(isRoot ? "Options:" : "Command Options:")}
|
|
12108
12218
|
`;
|
|
12109
12219
|
options.forEach((opt) => {
|
|
12110
|
-
output += ` ${
|
|
12220
|
+
output += ` ${theme.warningMuted(opt.flags.padEnd(24))} ${theme.secondary(opt.description)}
|
|
12111
12221
|
`;
|
|
12112
12222
|
});
|
|
12113
12223
|
output += `
|
|
@@ -12120,10 +12230,10 @@ var formatHelp = (pCmd) => {
|
|
|
12120
12230
|
return true;
|
|
12121
12231
|
});
|
|
12122
12232
|
if (globalOptions.length > 0) {
|
|
12123
|
-
output += ` ${
|
|
12233
|
+
output += ` ${theme.title("Global Options:")}
|
|
12124
12234
|
`;
|
|
12125
12235
|
globalOptions.forEach((opt) => {
|
|
12126
|
-
output += ` ${
|
|
12236
|
+
output += ` ${theme.warningMuted(opt.flags.padEnd(24))} ${theme.secondary(opt.description)}
|
|
12127
12237
|
`;
|
|
12128
12238
|
});
|
|
12129
12239
|
output += `
|
|
@@ -12132,43 +12242,43 @@ var formatHelp = (pCmd) => {
|
|
|
12132
12242
|
}
|
|
12133
12243
|
const name = pCmd.name();
|
|
12134
12244
|
if (isRoot || name === "init" || name === "build" || name === "create" || name === "doctor") {
|
|
12135
|
-
output += ` ${
|
|
12245
|
+
output += ` ${theme.title("Examples:")}
|
|
12136
12246
|
`;
|
|
12137
12247
|
if (isRoot || name === "init") {
|
|
12138
|
-
output += ` ${
|
|
12248
|
+
output += ` ${theme.brand("kit init")}
|
|
12139
12249
|
`;
|
|
12140
|
-
output += ` ${
|
|
12250
|
+
output += ` ${theme.brand("kit init my-game --single --install")}
|
|
12141
12251
|
`;
|
|
12142
12252
|
}
|
|
12143
12253
|
if (isRoot || name === "build") {
|
|
12144
|
-
output += ` ${
|
|
12254
|
+
output += ` ${theme.brand("kit build --in ./src/resources --out ./dist")}
|
|
12145
12255
|
`;
|
|
12146
|
-
output += ` ${
|
|
12256
|
+
output += ` ${theme.brand("kit build --in ./src/resources --out ./dist --watch")}
|
|
12147
12257
|
`;
|
|
12148
12258
|
}
|
|
12149
12259
|
if (isRoot || name === "create") {
|
|
12150
|
-
output += ` ${
|
|
12260
|
+
output += ` ${theme.brand("kit create plugin Inventory")}
|
|
12151
12261
|
`;
|
|
12152
12262
|
}
|
|
12153
12263
|
if (isRoot || name === "doctor") {
|
|
12154
|
-
output += ` ${
|
|
12264
|
+
output += ` ${theme.brand("kit doctor")}
|
|
12155
12265
|
`;
|
|
12156
12266
|
}
|
|
12157
12267
|
if (isRoot || name === "host") {
|
|
12158
|
-
output += ` ${
|
|
12268
|
+
output += ` ${theme.brand("kit host")}
|
|
12159
12269
|
`;
|
|
12160
|
-
output += ` ${
|
|
12270
|
+
output += ` ${theme.brand("kit host -p 8080 -b")}
|
|
12161
12271
|
`;
|
|
12162
12272
|
}
|
|
12163
12273
|
if (isRoot) {
|
|
12164
|
-
output += ` ${
|
|
12274
|
+
output += ` ${theme.brand("kit build --help")}
|
|
12165
12275
|
`;
|
|
12166
12276
|
}
|
|
12167
12277
|
output += `
|
|
12168
12278
|
`;
|
|
12169
12279
|
}
|
|
12170
12280
|
if (isRoot) {
|
|
12171
|
-
output += ` ${
|
|
12281
|
+
output += ` ${theme.accent("Tip:")} ${theme.secondary("Use ")}${theme.brandBold("kit <command> --help")}${theme.secondary(" to view detailed options for any command.")}
|
|
12172
12282
|
`;
|
|
12173
12283
|
}
|
|
12174
12284
|
return output;
|