@devkong/cli 0.0.38 → 0.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/assets/python-install.bat +1 -3
  2. package/assets/python-install.sh +1 -3
  3. package/index.js +1055 -659
  4. package/package.json +2 -2
  5. package/packages/kong-cli/src/common/kongJson.d.ts +3 -9
  6. package/packages/kong-cli/src/services/managementClient.d.ts +4 -4
  7. package/packages/kong-cli/src/services/publicClient.d.ts +2 -2
  8. package/packages/kong-spec/src/index.d.ts +1 -1
  9. package/packages/kong-ts/src/index.d.ts +2 -1
  10. package/packages/kong-ts/src/lib/color.d.ts +1 -0
  11. package/packages/kong-ts/src/lib/jsonSchema.d.ts +3 -0
  12. package/packages/kong-ts-contract/src/index.d.ts +5 -11
  13. package/packages/kong-ts-contract/src/lib/appAlias.d.ts +3 -14
  14. package/packages/kong-ts-contract/src/lib/appAliasDetails.d.ts +6 -6
  15. package/packages/kong-ts-contract/src/lib/appAliasUse.d.ts +2 -2
  16. package/packages/kong-ts-contract/src/lib/appAliasUseDetails.d.ts +7 -5
  17. package/packages/kong-ts-contract/src/lib/appBroadcastData.d.ts +1 -1
  18. package/packages/kong-ts-contract/src/lib/appCheckpoint.d.ts +2 -1
  19. package/packages/kong-ts-contract/src/lib/{appTaskStartRequest.d.ts → appComponentStartRequest.d.ts} +1 -1
  20. package/packages/kong-ts-contract/src/lib/appExtension.d.ts +3 -3
  21. package/packages/kong-ts-contract/src/lib/appExtensionAlias.d.ts +17 -6
  22. package/packages/kong-ts-contract/src/lib/appProcessAlias.d.ts +19 -5
  23. package/packages/kong-ts-contract/src/lib/appTrigger.d.ts +5 -0
  24. package/packages/kong-ts-contract/src/lib/sdkKongJson.d.ts +9 -0
  25. package/packages/kong-ts-contract/src/lib/sdkSnapshotSettings.d.ts +16 -0
  26. package/packages/kong-ts-contract/src/lib/appExtensionAliasDetails.d.ts +0 -8
  27. package/packages/kong-ts-contract/src/lib/appExtensionAliasUse.d.ts +0 -3
  28. package/packages/kong-ts-contract/src/lib/appExtensionAliasUseDetails.d.ts +0 -8
  29. package/packages/kong-ts-contract/src/lib/appExtensionSnapshot.d.ts +0 -2
  30. package/packages/kong-ts-contract/src/lib/appExtensionSnapshotDetails.d.ts +0 -2
  31. package/packages/kong-ts-contract/src/lib/appProcessAliasDetails.d.ts +0 -7
  32. package/packages/kong-ts-contract/src/lib/appProcessAliasUse.d.ts +0 -3
  33. package/packages/kong-ts-contract/src/lib/appProcessAliasUseDetails.d.ts +0 -3
  34. package/packages/kong-ts-contract/src/lib/sdkAlias.d.ts +0 -16
  35. package/packages/kong-ts-contract/src/lib/sdkExtensionAlias.d.ts +0 -7
package/index.js CHANGED
@@ -1822,9 +1822,9 @@ Expecting one of '${allowedValues.join("', '")}'`);
1822
1822
  if (typeof fn === "function") {
1823
1823
  option.default(defaultValue).argParser(fn);
1824
1824
  } else if (fn instanceof RegExp) {
1825
- const regex5 = fn;
1825
+ const regex4 = fn;
1826
1826
  fn = (val, def) => {
1827
- const m = regex5.exec(val);
1827
+ const m = regex4.exec(val);
1828
1828
  return m ? m[0] : def;
1829
1829
  };
1830
1830
  option.default(defaultValue).argParser(fn);
@@ -2659,7 +2659,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
2659
2659
  return arg.length > 1 && arg[0] === "-";
2660
2660
  }
2661
2661
  const negativeNumberArg = (arg) => {
2662
- if (!/^-\d*\.?\d+(e[+-]?\d+)?$/.test(arg)) return false;
2662
+ if (!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(arg)) return false;
2663
2663
  return !this._getCommandAndAncestors().some(
2664
2664
  (cmd) => cmd.options.map((opt) => opt.short).some((short2) => /^-\d$/.test(short2))
2665
2665
  );
@@ -3464,7 +3464,7 @@ var require_package = __commonJS({
3464
3464
  "node_modules/dotenv/package.json"(exports2, module2) {
3465
3465
  module2.exports = {
3466
3466
  name: "dotenv",
3467
- version: "16.6.1",
3467
+ version: "17.2.3",
3468
3468
  description: "Loads environment variables from .env file",
3469
3469
  main: "lib/main.js",
3470
3470
  types: "lib/main.d.ts",
@@ -3486,8 +3486,8 @@ var require_package = __commonJS({
3486
3486
  "dts-check": "tsc --project tests/types/tsconfig.json",
3487
3487
  lint: "standard",
3488
3488
  pretest: "npm run lint && npm run dts-check",
3489
- test: "tap run --allow-empty-coverage --disable-coverage --timeout=60000",
3490
- "test:coverage": "tap run --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov",
3489
+ test: "tap run tests/**/*.js --allow-empty-coverage --disable-coverage --timeout=60000",
3490
+ "test:coverage": "tap run tests/**/*.js --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov",
3491
3491
  prerelease: "npm test",
3492
3492
  release: "standard-version"
3493
3493
  },
@@ -3536,6 +3536,39 @@ var require_main = __commonJS({
3536
3536
  var crypto2 = require("crypto");
3537
3537
  var packageJson = require_package();
3538
3538
  var version = packageJson.version;
3539
+ var TIPS = [
3540
+ "\u{1F510} encrypt with Dotenvx: https://dotenvx.com",
3541
+ "\u{1F510} prevent committing .env to code: https://dotenvx.com/precommit",
3542
+ "\u{1F510} prevent building .env in docker: https://dotenvx.com/prebuild",
3543
+ "\u{1F4E1} add observability to secrets: https://dotenvx.com/ops",
3544
+ "\u{1F465} sync secrets across teammates & machines: https://dotenvx.com/ops",
3545
+ "\u{1F5C2}\uFE0F backup and recover secrets: https://dotenvx.com/ops",
3546
+ "\u2705 audit secrets and track compliance: https://dotenvx.com/ops",
3547
+ "\u{1F504} add secrets lifecycle management: https://dotenvx.com/ops",
3548
+ "\u{1F511} add access controls to secrets: https://dotenvx.com/ops",
3549
+ "\u{1F6E0}\uFE0F run anywhere with `dotenvx run -- yourcommand`",
3550
+ "\u2699\uFE0F specify custom .env file path with { path: '/custom/path/.env' }",
3551
+ "\u2699\uFE0F enable debug logging with { debug: true }",
3552
+ "\u2699\uFE0F override existing env vars with { override: true }",
3553
+ "\u2699\uFE0F suppress all logs with { quiet: true }",
3554
+ "\u2699\uFE0F write to custom object with { processEnv: myObject }",
3555
+ "\u2699\uFE0F load multiple .env files with { path: ['.env.local', '.env'] }"
3556
+ ];
3557
+ function _getRandomTip() {
3558
+ return TIPS[Math.floor(Math.random() * TIPS.length)];
3559
+ }
3560
+ function parseBoolean(value) {
3561
+ if (typeof value === "string") {
3562
+ return !["false", "0", "no", "off", ""].includes(value.toLowerCase());
3563
+ }
3564
+ return Boolean(value);
3565
+ }
3566
+ function supportsAnsi() {
3567
+ return process.stdout.isTTY;
3568
+ }
3569
+ function dim2(text) {
3570
+ return supportsAnsi() ? `\x1B[2m${text}\x1B[0m` : text;
3571
+ }
3539
3572
  var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;
3540
3573
  function parse(src) {
3541
3574
  const obj = {};
@@ -3584,7 +3617,7 @@ var require_main = __commonJS({
3584
3617
  return DotenvModule.parse(decrypted);
3585
3618
  }
3586
3619
  function _warn(message2) {
3587
- console.log(`[dotenv@${version}][WARN] ${message2}`);
3620
+ console.error(`[dotenv@${version}][WARN] ${message2}`);
3588
3621
  }
3589
3622
  function _debug(message2) {
3590
3623
  console.log(`[dotenv@${version}][DEBUG] ${message2}`);
@@ -3658,8 +3691,8 @@ var require_main = __commonJS({
3658
3691
  return envPath[0] === "~" ? path7.join(os2.homedir(), envPath.slice(1)) : envPath;
3659
3692
  }
3660
3693
  function _configVault(options) {
3661
- const debug = Boolean(options && options.debug);
3662
- const quiet = options && "quiet" in options ? options.quiet : true;
3694
+ const debug = parseBoolean(process.env.DOTENV_CONFIG_DEBUG || options && options.debug);
3695
+ const quiet = parseBoolean(process.env.DOTENV_CONFIG_QUIET || options && options.quiet);
3663
3696
  if (debug || !quiet) {
3664
3697
  _log("Loading env from encrypted .env.vault");
3665
3698
  }
@@ -3674,8 +3707,12 @@ var require_main = __commonJS({
3674
3707
  function configDotenv(options) {
3675
3708
  const dotenvPath = path7.resolve(process.cwd(), ".env");
3676
3709
  let encoding = "utf8";
3677
- const debug = Boolean(options && options.debug);
3678
- const quiet = options && "quiet" in options ? options.quiet : true;
3710
+ let processEnv = process.env;
3711
+ if (options && options.processEnv != null) {
3712
+ processEnv = options.processEnv;
3713
+ }
3714
+ let debug = parseBoolean(processEnv.DOTENV_CONFIG_DEBUG || options && options.debug);
3715
+ let quiet = parseBoolean(processEnv.DOTENV_CONFIG_QUIET || options && options.quiet);
3679
3716
  if (options && options.encoding) {
3680
3717
  encoding = options.encoding;
3681
3718
  } else {
@@ -3707,13 +3744,11 @@ var require_main = __commonJS({
3707
3744
  lastError = e;
3708
3745
  }
3709
3746
  }
3710
- let processEnv = process.env;
3711
- if (options && options.processEnv != null) {
3712
- processEnv = options.processEnv;
3713
- }
3714
- DotenvModule.populate(processEnv, parsedAll, options);
3747
+ const populated = DotenvModule.populate(processEnv, parsedAll, options);
3748
+ debug = parseBoolean(processEnv.DOTENV_CONFIG_DEBUG || debug);
3749
+ quiet = parseBoolean(processEnv.DOTENV_CONFIG_QUIET || quiet);
3715
3750
  if (debug || !quiet) {
3716
- const keysCount = Object.keys(parsedAll).length;
3751
+ const keysCount = Object.keys(populated).length;
3717
3752
  const shortPaths = [];
3718
3753
  for (const filePath of optionPaths) {
3719
3754
  try {
@@ -3726,7 +3761,7 @@ var require_main = __commonJS({
3726
3761
  lastError = e;
3727
3762
  }
3728
3763
  }
3729
- _log(`injecting env (${keysCount}) from ${shortPaths.join(",")}`);
3764
+ _log(`injecting env (${keysCount}) from ${shortPaths.join(",")} ${dim2(`-- tip: ${_getRandomTip()}`)}`);
3730
3765
  }
3731
3766
  if (lastError) {
3732
3767
  return { parsed: parsedAll, error: lastError };
@@ -3775,6 +3810,7 @@ var require_main = __commonJS({
3775
3810
  function populate(processEnv, parsed, options = {}) {
3776
3811
  const debug = Boolean(options && options.debug);
3777
3812
  const override = Boolean(options && options.override);
3813
+ const populated = {};
3778
3814
  if (typeof parsed !== "object") {
3779
3815
  const err = new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");
3780
3816
  err.code = "OBJECT_REQUIRED";
@@ -3784,6 +3820,7 @@ var require_main = __commonJS({
3784
3820
  if (Object.prototype.hasOwnProperty.call(processEnv, key)) {
3785
3821
  if (override === true) {
3786
3822
  processEnv[key] = parsed[key];
3823
+ populated[key] = parsed[key];
3787
3824
  }
3788
3825
  if (debug) {
3789
3826
  if (override === true) {
@@ -3794,8 +3831,10 @@ var require_main = __commonJS({
3794
3831
  }
3795
3832
  } else {
3796
3833
  processEnv[key] = parsed[key];
3834
+ populated[key] = parsed[key];
3797
3835
  }
3798
3836
  }
3837
+ return populated;
3799
3838
  }
3800
3839
  var DotenvModule = {
3801
3840
  configDotenv,
@@ -3826,11 +3865,11 @@ var require_main2 = __commonJS({
3826
3865
  }
3827
3866
  function expandValue(value, processEnv, runningParsed) {
3828
3867
  const env2 = { ...runningParsed, ...processEnv };
3829
- const regex5 = /(?<!\\)\${([^{}]+)}|(?<!\\)\$([A-Za-z_][A-Za-z0-9_]*)/g;
3868
+ const regex4 = /(?<!\\)\${([^{}]+)}|(?<!\\)\$([A-Za-z_][A-Za-z0-9_]*)/g;
3830
3869
  let result = value;
3831
3870
  let match2;
3832
3871
  const seen = /* @__PURE__ */ new Set();
3833
- while ((match2 = regex5.exec(result)) !== null) {
3872
+ while ((match2 = regex4.exec(result)) !== null) {
3834
3873
  seen.add(result);
3835
3874
  const [template2, bracedExpression, unbracedExpression] = match2;
3836
3875
  const expression = bracedExpression || unbracedExpression;
@@ -3860,7 +3899,7 @@ var require_main2 = __commonJS({
3860
3899
  if (result === runningParsed[key]) {
3861
3900
  break;
3862
3901
  }
3863
- regex5.lastIndex = 0;
3902
+ regex4.lastIndex = 0;
3864
3903
  }
3865
3904
  return result;
3866
3905
  }
@@ -4279,8 +4318,8 @@ var require_ansi_regex = __commonJS({
4279
4318
  var require_strip_ansi = __commonJS({
4280
4319
  "node_modules/strip-ansi/index.js"(exports2, module2) {
4281
4320
  "use strict";
4282
- var ansiRegex5 = require_ansi_regex();
4283
- module2.exports = (string) => typeof string === "string" ? string.replace(ansiRegex5(), "") : string;
4321
+ var ansiRegex4 = require_ansi_regex();
4322
+ module2.exports = (string) => typeof string === "string" ? string.replace(ansiRegex4(), "") : string;
4284
4323
  }
4285
4324
  });
4286
4325
 
@@ -4331,18 +4370,18 @@ var require_emoji_regex = __commonJS({
4331
4370
  var require_string_width = __commonJS({
4332
4371
  "node_modules/wrap-ansi/node_modules/string-width/index.js"(exports2, module2) {
4333
4372
  "use strict";
4334
- var stripAnsi5 = require_strip_ansi();
4373
+ var stripAnsi4 = require_strip_ansi();
4335
4374
  var isFullwidthCodePoint2 = require_is_fullwidth_code_point();
4336
- var emojiRegex2 = require_emoji_regex();
4337
- var stringWidth3 = (string) => {
4375
+ var emojiRegex3 = require_emoji_regex();
4376
+ var stringWidth4 = (string) => {
4338
4377
  if (typeof string !== "string" || string.length === 0) {
4339
4378
  return 0;
4340
4379
  }
4341
- string = stripAnsi5(string);
4380
+ string = stripAnsi4(string);
4342
4381
  if (string.length === 0) {
4343
4382
  return 0;
4344
4383
  }
4345
- string = string.replace(emojiRegex2(), " ");
4384
+ string = string.replace(emojiRegex3(), " ");
4346
4385
  let width = 0;
4347
4386
  for (let i = 0; i < string.length; i++) {
4348
4387
  const code = string.codePointAt(i);
@@ -4359,8 +4398,8 @@ var require_string_width = __commonJS({
4359
4398
  }
4360
4399
  return width;
4361
4400
  };
4362
- module2.exports = stringWidth3;
4363
- module2.exports.default = stringWidth3;
4401
+ module2.exports = stringWidth4;
4402
+ module2.exports.default = stringWidth4;
4364
4403
  }
4365
4404
  });
4366
4405
 
@@ -5469,8 +5508,8 @@ var require_ansi_styles = __commonJS({
5469
5508
  var require_wrap_ansi = __commonJS({
5470
5509
  "node_modules/wrap-ansi/index.js"(exports2, module2) {
5471
5510
  "use strict";
5472
- var stringWidth3 = require_string_width();
5473
- var stripAnsi5 = require_strip_ansi();
5511
+ var stringWidth4 = require_string_width();
5512
+ var stripAnsi4 = require_strip_ansi();
5474
5513
  var ansiStyles4 = require_ansi_styles();
5475
5514
  var ESCAPES4 = /* @__PURE__ */ new Set([
5476
5515
  "\x1B",
@@ -5478,13 +5517,13 @@ var require_wrap_ansi = __commonJS({
5478
5517
  ]);
5479
5518
  var END_CODE3 = 39;
5480
5519
  var wrapAnsi4 = (code) => `${ESCAPES4.values().next().value}[${code}m`;
5481
- var wordLengths3 = (string) => string.split(" ").map((character) => stringWidth3(character));
5520
+ var wordLengths3 = (string) => string.split(" ").map((character) => stringWidth4(character));
5482
5521
  var wrapWord3 = (rows, word, columns) => {
5483
5522
  const characters = [...word];
5484
5523
  let isInsideEscape = false;
5485
- let visible = stringWidth3(stripAnsi5(rows[rows.length - 1]));
5524
+ let visible = stringWidth4(stripAnsi4(rows[rows.length - 1]));
5486
5525
  for (const [index, character] of characters.entries()) {
5487
- const characterLength = stringWidth3(character);
5526
+ const characterLength = stringWidth4(character);
5488
5527
  if (visible + characterLength <= columns) {
5489
5528
  rows[rows.length - 1] += character;
5490
5529
  } else {
@@ -5514,7 +5553,7 @@ var require_wrap_ansi = __commonJS({
5514
5553
  const words2 = str.split(" ");
5515
5554
  let last = words2.length;
5516
5555
  while (last > 0) {
5517
- if (stringWidth3(words2[last - 1]) > 0) {
5556
+ if (stringWidth4(words2[last - 1]) > 0) {
5518
5557
  break;
5519
5558
  }
5520
5559
  last--;
@@ -5537,7 +5576,7 @@ var require_wrap_ansi = __commonJS({
5537
5576
  if (options.trim !== false) {
5538
5577
  rows[rows.length - 1] = rows[rows.length - 1].trimLeft();
5539
5578
  }
5540
- let rowLength = stringWidth3(rows[rows.length - 1]);
5579
+ let rowLength = stringWidth4(rows[rows.length - 1]);
5541
5580
  if (index !== 0) {
5542
5581
  if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {
5543
5582
  rows.push("");
@@ -11305,15 +11344,25 @@ var require_lib4 = __commonJS({
11305
11344
  }
11306
11345
  if (err) {
11307
11346
  reject(err);
11308
- } else {
11347
+ } else if (buffer) {
11309
11348
  resolve2((0, exports2.detect)(buffer));
11349
+ } else {
11350
+ reject(new Error("No error and no buffer received"));
11310
11351
  }
11311
11352
  };
11312
- if (opts && opts.sampleSize) {
11353
+ const sampleSize = (opts === null || opts === void 0 ? void 0 : opts.sampleSize) || 0;
11354
+ if (sampleSize > 0) {
11313
11355
  fd = fs5.openSync(filepath, "r");
11314
- const sample = Buffer.allocUnsafe(opts.sampleSize);
11315
- fs5.read(fd, sample, 0, opts.sampleSize, opts.offset, (err) => {
11316
- handler(err, sample);
11356
+ let sample = Buffer.allocUnsafe(sampleSize);
11357
+ fs5.read(fd, sample, 0, sampleSize, opts.offset, (err, bytesRead) => {
11358
+ if (err) {
11359
+ handler(err, null);
11360
+ } else {
11361
+ if (bytesRead < sampleSize) {
11362
+ sample = sample.subarray(0, bytesRead);
11363
+ }
11364
+ handler(null, sample);
11365
+ }
11317
11366
  });
11318
11367
  return;
11319
11368
  }
@@ -11324,8 +11373,11 @@ var require_lib4 = __commonJS({
11324
11373
  const fs5 = (0, node_1.default)();
11325
11374
  if (opts && opts.sampleSize) {
11326
11375
  const fd = fs5.openSync(filepath, "r");
11327
- const sample = Buffer.allocUnsafe(opts.sampleSize);
11328
- fs5.readSync(fd, sample, 0, opts.sampleSize, opts.offset);
11376
+ let sample = Buffer.allocUnsafe(opts.sampleSize);
11377
+ const bytesRead = fs5.readSync(fd, sample, 0, opts.sampleSize, opts.offset);
11378
+ if (bytesRead < opts.sampleSize) {
11379
+ sample = sample.subarray(0, bytesRead);
11380
+ }
11329
11381
  fs5.closeSync(fd);
11330
11382
  return (0, exports2.detect)(sample);
11331
11383
  }
@@ -34587,7 +34639,7 @@ var require_form_data = __commonJS({
34587
34639
  var CombinedStream = require_combined_stream();
34588
34640
  var util3 = require("util");
34589
34641
  var path7 = require("path");
34590
- var http2 = require("http");
34642
+ var http3 = require("http");
34591
34643
  var https2 = require("https");
34592
34644
  var parseUrl = require("url").parse;
34593
34645
  var fs5 = require("fs");
@@ -34859,7 +34911,7 @@ var require_form_data = __commonJS({
34859
34911
  if (options.protocol === "https:") {
34860
34912
  request = https2.request(options);
34861
34913
  } else {
34862
- request = http2.request(options);
34914
+ request = http3.request(options);
34863
34915
  }
34864
34916
  this.getLength(function(err, length) {
34865
34917
  if (err && err !== "Unknown stream") {
@@ -35757,7 +35809,7 @@ var require_follow_redirects = __commonJS({
35757
35809
  "node_modules/follow-redirects/index.js"(exports2, module2) {
35758
35810
  var url2 = require("url");
35759
35811
  var URL2 = url2.URL;
35760
- var http2 = require("http");
35812
+ var http3 = require("http");
35761
35813
  var https2 = require("https");
35762
35814
  var Writable2 = require("stream").Writable;
35763
35815
  var assert = require("assert");
@@ -36187,10 +36239,10 @@ var require_follow_redirects = __commonJS({
36187
36239
  spread3.path = spread3.search ? spread3.pathname + spread3.search : spread3.pathname;
36188
36240
  return spread3;
36189
36241
  }
36190
- function removeMatchingHeaders(regex5, headers2) {
36242
+ function removeMatchingHeaders(regex4, headers2) {
36191
36243
  var lastValue;
36192
36244
  for (var header in headers2) {
36193
- if (regex5.test(header)) {
36245
+ if (regex4.test(header)) {
36194
36246
  lastValue = headers2[header];
36195
36247
  delete headers2[header];
36196
36248
  }
@@ -36243,7 +36295,7 @@ var require_follow_redirects = __commonJS({
36243
36295
  function isURL(value) {
36244
36296
  return URL2 && value instanceof URL2;
36245
36297
  }
36246
- module2.exports = wrap({ http: http2, https: https2 });
36298
+ module2.exports = wrap({ http: http3, https: https2 });
36247
36299
  module2.exports.wrap = wrap;
36248
36300
  }
36249
36301
  });
@@ -38839,9 +38891,9 @@ var require_cli_spinners = __commonJS({
38839
38891
  }
38840
38892
  });
38841
38893
 
38842
- // node_modules/create-nx-workspace/node_modules/is-unicode-supported/index.js
38894
+ // node_modules/is-unicode-supported/index.js
38843
38895
  var require_is_unicode_supported = __commonJS({
38844
- "node_modules/create-nx-workspace/node_modules/is-unicode-supported/index.js"(exports2, module2) {
38896
+ "node_modules/is-unicode-supported/index.js"(exports2, module2) {
38845
38897
  "use strict";
38846
38898
  module2.exports = () => {
38847
38899
  if (process.platform !== "win32") {
@@ -38853,9 +38905,9 @@ var require_is_unicode_supported = __commonJS({
38853
38905
  }
38854
38906
  });
38855
38907
 
38856
- // node_modules/create-nx-workspace/node_modules/log-symbols/index.js
38908
+ // node_modules/log-symbols/index.js
38857
38909
  var require_log_symbols = __commonJS({
38858
- "node_modules/create-nx-workspace/node_modules/log-symbols/index.js"(exports2, module2) {
38910
+ "node_modules/log-symbols/index.js"(exports2, module2) {
38859
38911
  "use strict";
38860
38912
  var chalk = require_source();
38861
38913
  var isUnicodeSupported3 = require_is_unicode_supported();
@@ -40312,9 +40364,9 @@ var require_stream_duplex = __commonJS({
40312
40364
  }
40313
40365
  });
40314
40366
 
40315
- // node_modules/string_decoder/node_modules/safe-buffer/index.js
40367
+ // node_modules/safe-buffer/index.js
40316
40368
  var require_safe_buffer = __commonJS({
40317
- "node_modules/string_decoder/node_modules/safe-buffer/index.js"(exports2, module2) {
40369
+ "node_modules/safe-buffer/index.js"(exports2, module2) {
40318
40370
  var buffer = require("buffer");
40319
40371
  var Buffer2 = buffer.Buffer;
40320
40372
  function copyProps(src, dst) {
@@ -40331,6 +40383,7 @@ var require_safe_buffer = __commonJS({
40331
40383
  function SafeBuffer(arg, encodingOrOffset, length) {
40332
40384
  return Buffer2(arg, encodingOrOffset, length);
40333
40385
  }
40386
+ SafeBuffer.prototype = Object.create(Buffer2.prototype);
40334
40387
  copyProps(Buffer2, SafeBuffer);
40335
40388
  SafeBuffer.from = function(arg, encodingOrOffset, length) {
40336
40389
  if (typeof arg === "number") {
@@ -42340,7 +42393,7 @@ var require_ora = __commonJS({
42340
42393
  var cliCursor2 = require_cli_cursor();
42341
42394
  var cliSpinners = require_cli_spinners();
42342
42395
  var logSymbols = require_log_symbols();
42343
- var stripAnsi5 = require_strip_ansi();
42396
+ var stripAnsi4 = require_strip_ansi();
42344
42397
  var wcwidth = require_wcwidth();
42345
42398
  var isInteractive = require_is_interactive();
42346
42399
  var { BufferListStream } = require_bl();
@@ -42507,7 +42560,7 @@ var require_ora = __commonJS({
42507
42560
  const columns = this.stream.columns || 80;
42508
42561
  const fullPrefixText = this.getFullPrefixText(this.prefixText, "-");
42509
42562
  this.lineCount = 0;
42510
- for (const line of stripAnsi5(fullPrefixText + "--" + this[TEXT]).split("\n")) {
42563
+ for (const line of stripAnsi4(fullPrefixText + "--" + this[TEXT]).split("\n")) {
42511
42564
  this.lineCount += Math.max(1, Math.ceil(wcwidth(line) / columns));
42512
42565
  }
42513
42566
  }
@@ -42718,7 +42771,9 @@ var require_child_process_utils = __commonJS({
42718
42771
  shell: true,
42719
42772
  windowsHide: false
42720
42773
  });
42721
- childProcess.on("exit", (code) => {
42774
+ childProcess.on("exit", (code, signal) => {
42775
+ if (code === null)
42776
+ code = signalToCode(signal);
42722
42777
  if (code !== 0) {
42723
42778
  rej({ code });
42724
42779
  } else {
@@ -42746,6 +42801,18 @@ ${stderr}`);
42746
42801
  });
42747
42802
  });
42748
42803
  }
42804
+ function signalToCode(signal) {
42805
+ switch (signal) {
42806
+ case "SIGHUP":
42807
+ return 128 + 1;
42808
+ case "SIGINT":
42809
+ return 128 + 2;
42810
+ case "SIGTERM":
42811
+ return 128 + 15;
42812
+ default:
42813
+ return 128;
42814
+ }
42815
+ }
42749
42816
  }
42750
42817
  });
42751
42818
 
@@ -43291,33 +43358,31 @@ var require_tmp = __commonJS({
43291
43358
  }
43292
43359
  function tmpName(options, callback) {
43293
43360
  const args = _parseArguments(options, callback), opts = args[0], cb = args[1];
43294
- try {
43295
- _assertAndSanitizeOptions(opts);
43296
- } catch (err) {
43297
- return cb(err);
43298
- }
43299
- let tries = opts.tries;
43300
- (function _getUniqueName() {
43301
- try {
43302
- const name = _generateTmpName(opts);
43303
- fs5.stat(name, function(err) {
43304
- if (!err) {
43305
- if (tries-- > 0) return _getUniqueName();
43306
- return cb(new Error("Could not get a unique tmp filename, max tries reached " + name));
43307
- }
43308
- cb(null, name);
43309
- });
43310
- } catch (err) {
43311
- cb(err);
43312
- }
43313
- })();
43361
+ _assertAndSanitizeOptions(opts, function(err, sanitizedOptions) {
43362
+ if (err) return cb(err);
43363
+ let tries = sanitizedOptions.tries;
43364
+ (function _getUniqueName() {
43365
+ try {
43366
+ const name = _generateTmpName(sanitizedOptions);
43367
+ fs5.stat(name, function(err2) {
43368
+ if (!err2) {
43369
+ if (tries-- > 0) return _getUniqueName();
43370
+ return cb(new Error("Could not get a unique tmp filename, max tries reached " + name));
43371
+ }
43372
+ cb(null, name);
43373
+ });
43374
+ } catch (err2) {
43375
+ cb(err2);
43376
+ }
43377
+ })();
43378
+ });
43314
43379
  }
43315
43380
  function tmpNameSync(options) {
43316
43381
  const args = _parseArguments(options), opts = args[0];
43317
- _assertAndSanitizeOptions(opts);
43318
- let tries = opts.tries;
43382
+ const sanitizedOptions = _assertAndSanitizeOptionsSync(opts);
43383
+ let tries = sanitizedOptions.tries;
43319
43384
  do {
43320
- const name = _generateTmpName(opts);
43385
+ const name = _generateTmpName(sanitizedOptions);
43321
43386
  try {
43322
43387
  fs5.statSync(name);
43323
43388
  } catch (e) {
@@ -43347,7 +43412,7 @@ var require_tmp = __commonJS({
43347
43412
  const args = _parseArguments(options), opts = args[0];
43348
43413
  const discardOrDetachDescriptor = opts.discardDescriptor || opts.detachDescriptor;
43349
43414
  const name = tmpNameSync(opts);
43350
- var fd = fs5.openSync(name, CREATE_FLAGS, opts.mode || FILE_MODE);
43415
+ let fd = fs5.openSync(name, CREATE_FLAGS, opts.mode || FILE_MODE);
43351
43416
  if (opts.discardDescriptor) {
43352
43417
  fs5.closeSync(fd);
43353
43418
  fd = void 0;
@@ -43454,14 +43519,11 @@ var require_tmp = __commonJS({
43454
43519
  } catch (e) {
43455
43520
  rnd = crypto2.pseudoRandomBytes(howMany);
43456
43521
  }
43457
- for (var i = 0; i < howMany; i++) {
43522
+ for (let i = 0; i < howMany; i++) {
43458
43523
  value.push(RANDOM_CHARS[rnd[i] % RANDOM_CHARS.length]);
43459
43524
  }
43460
43525
  return value.join("");
43461
43526
  }
43462
- function _isBlank(s) {
43463
- return s === null || _isUndefined(s) || !s.trim();
43464
- }
43465
43527
  function _isUndefined(obj) {
43466
43528
  return typeof obj === "undefined";
43467
43529
  }
@@ -43478,12 +43540,37 @@ var require_tmp = __commonJS({
43478
43540
  }
43479
43541
  return [actualOptions, callback];
43480
43542
  }
43543
+ function _resolvePath(name, tmpDir, cb) {
43544
+ const pathToResolve = path7.isAbsolute(name) ? name : path7.join(tmpDir, name);
43545
+ fs5.stat(pathToResolve, function(err) {
43546
+ if (err) {
43547
+ fs5.realpath(path7.dirname(pathToResolve), function(err2, parentDir) {
43548
+ if (err2) return cb(err2);
43549
+ cb(null, path7.join(parentDir, path7.basename(pathToResolve)));
43550
+ });
43551
+ } else {
43552
+ fs5.realpath(pathToResolve, cb);
43553
+ }
43554
+ });
43555
+ }
43556
+ function _resolvePathSync(name, tmpDir) {
43557
+ const pathToResolve = path7.isAbsolute(name) ? name : path7.join(tmpDir, name);
43558
+ try {
43559
+ fs5.statSync(pathToResolve);
43560
+ return fs5.realpathSync(pathToResolve);
43561
+ } catch (_err) {
43562
+ const parentDir = fs5.realpathSync(path7.dirname(pathToResolve));
43563
+ return path7.join(parentDir, path7.basename(pathToResolve));
43564
+ }
43565
+ }
43481
43566
  function _generateTmpName(opts) {
43482
43567
  const tmpDir = opts.tmpdir;
43483
- if (!_isUndefined(opts.name))
43568
+ if (!_isUndefined(opts.name)) {
43484
43569
  return path7.join(tmpDir, opts.dir, opts.name);
43485
- if (!_isUndefined(opts.template))
43570
+ }
43571
+ if (!_isUndefined(opts.template)) {
43486
43572
  return path7.join(tmpDir, opts.dir, opts.template).replace(TEMPLATE_PATTERN, _randomChars(6));
43573
+ }
43487
43574
  const name = [
43488
43575
  opts.prefix ? opts.prefix : "tmp",
43489
43576
  "-",
@@ -43494,54 +43581,75 @@ var require_tmp = __commonJS({
43494
43581
  ].join("");
43495
43582
  return path7.join(tmpDir, opts.dir, name);
43496
43583
  }
43497
- function _assertAndSanitizeOptions(options) {
43498
- options.tmpdir = _getTmpDir(options);
43499
- const tmpDir = options.tmpdir;
43500
- if (!_isUndefined(options.name))
43501
- _assertIsRelative(options.name, "name", tmpDir);
43502
- if (!_isUndefined(options.dir))
43503
- _assertIsRelative(options.dir, "dir", tmpDir);
43504
- if (!_isUndefined(options.template)) {
43505
- _assertIsRelative(options.template, "template", tmpDir);
43506
- if (!options.template.match(TEMPLATE_PATTERN))
43507
- throw new Error(`Invalid template, found "${options.template}".`);
43508
- }
43509
- if (!_isUndefined(options.tries) && isNaN(options.tries) || options.tries < 0)
43584
+ function _assertOptionsBase(options) {
43585
+ if (!_isUndefined(options.name)) {
43586
+ const name = options.name;
43587
+ if (path7.isAbsolute(name)) throw new Error(`name option must not contain an absolute path, found "${name}".`);
43588
+ const basename = path7.basename(name);
43589
+ if (basename === ".." || basename === "." || basename !== name)
43590
+ throw new Error(`name option must not contain a path, found "${name}".`);
43591
+ }
43592
+ if (!_isUndefined(options.template) && !options.template.match(TEMPLATE_PATTERN)) {
43593
+ throw new Error(`Invalid template, found "${options.template}".`);
43594
+ }
43595
+ if (!_isUndefined(options.tries) && isNaN(options.tries) || options.tries < 0) {
43510
43596
  throw new Error(`Invalid tries, found "${options.tries}".`);
43597
+ }
43511
43598
  options.tries = _isUndefined(options.name) ? options.tries || DEFAULT_TRIES : 1;
43512
43599
  options.keep = !!options.keep;
43513
43600
  options.detachDescriptor = !!options.detachDescriptor;
43514
43601
  options.discardDescriptor = !!options.discardDescriptor;
43515
43602
  options.unsafeCleanup = !!options.unsafeCleanup;
43516
- options.dir = _isUndefined(options.dir) ? "" : path7.relative(tmpDir, _resolvePath(options.dir, tmpDir));
43517
- options.template = _isUndefined(options.template) ? void 0 : path7.relative(tmpDir, _resolvePath(options.template, tmpDir));
43518
- options.template = _isBlank(options.template) ? void 0 : path7.relative(options.dir, options.template);
43519
- options.name = _isUndefined(options.name) ? void 0 : options.name;
43520
43603
  options.prefix = _isUndefined(options.prefix) ? "" : options.prefix;
43521
43604
  options.postfix = _isUndefined(options.postfix) ? "" : options.postfix;
43522
43605
  }
43523
- function _resolvePath(name, tmpDir) {
43524
- if (name.startsWith(tmpDir)) {
43525
- return path7.resolve(name);
43526
- } else {
43527
- return path7.resolve(path7.join(tmpDir, name));
43606
+ function _getRelativePath(option, name, tmpDir, cb) {
43607
+ if (_isUndefined(name)) return cb(null);
43608
+ _resolvePath(name, tmpDir, function(err, resolvedPath) {
43609
+ if (err) return cb(err);
43610
+ const relativePath = path7.relative(tmpDir, resolvedPath);
43611
+ if (!resolvedPath.startsWith(tmpDir)) {
43612
+ return cb(new Error(`${option} option must be relative to "${tmpDir}", found "${relativePath}".`));
43613
+ }
43614
+ cb(null, relativePath);
43615
+ });
43616
+ }
43617
+ function _getRelativePathSync(option, name, tmpDir) {
43618
+ if (_isUndefined(name)) return;
43619
+ const resolvedPath = _resolvePathSync(name, tmpDir);
43620
+ const relativePath = path7.relative(tmpDir, resolvedPath);
43621
+ if (!resolvedPath.startsWith(tmpDir)) {
43622
+ throw new Error(`${option} option must be relative to "${tmpDir}", found "${relativePath}".`);
43528
43623
  }
43624
+ return relativePath;
43529
43625
  }
43530
- function _assertIsRelative(name, option, tmpDir) {
43531
- if (option === "name") {
43532
- if (path7.isAbsolute(name))
43533
- throw new Error(`${option} option must not contain an absolute path, found "${name}".`);
43534
- let basename = path7.basename(name);
43535
- if (basename === ".." || basename === "." || basename !== name)
43536
- throw new Error(`${option} option must not contain a path, found "${name}".`);
43537
- } else {
43538
- if (path7.isAbsolute(name) && !name.startsWith(tmpDir)) {
43539
- throw new Error(`${option} option must be relative to "${tmpDir}", found "${name}".`);
43626
+ function _assertAndSanitizeOptions(options, cb) {
43627
+ _getTmpDir(options, function(err, tmpDir) {
43628
+ if (err) return cb(err);
43629
+ options.tmpdir = tmpDir;
43630
+ try {
43631
+ _assertOptionsBase(options, tmpDir);
43632
+ } catch (err2) {
43633
+ return cb(err2);
43540
43634
  }
43541
- let resolvedPath = _resolvePath(name, tmpDir);
43542
- if (!resolvedPath.startsWith(tmpDir))
43543
- throw new Error(`${option} option must be relative to "${tmpDir}", found "${resolvedPath}".`);
43544
- }
43635
+ _getRelativePath("dir", options.dir, tmpDir, function(err2, dir2) {
43636
+ if (err2) return cb(err2);
43637
+ options.dir = _isUndefined(dir2) ? "" : dir2;
43638
+ _getRelativePath("template", options.template, tmpDir, function(err3, template2) {
43639
+ if (err3) return cb(err3);
43640
+ options.template = template2;
43641
+ cb(null, options);
43642
+ });
43643
+ });
43644
+ });
43645
+ }
43646
+ function _assertAndSanitizeOptionsSync(options) {
43647
+ const tmpDir = options.tmpdir = _getTmpDirSync(options);
43648
+ _assertOptionsBase(options, tmpDir);
43649
+ const dir2 = _getRelativePathSync("dir", options.dir, tmpDir);
43650
+ options.dir = _isUndefined(dir2) ? "" : dir2;
43651
+ options.template = _getRelativePathSync("template", options.template, tmpDir);
43652
+ return options;
43545
43653
  }
43546
43654
  function _isEBADF(error) {
43547
43655
  return _isExpectedError(error, -EBADF, "EBADF");
@@ -43555,15 +43663,18 @@ var require_tmp = __commonJS({
43555
43663
  function setGracefulCleanup() {
43556
43664
  _gracefulCleanup = true;
43557
43665
  }
43558
- function _getTmpDir(options) {
43559
- return path7.resolve(options && options.tmpdir || os2.tmpdir());
43666
+ function _getTmpDir(options, cb) {
43667
+ return fs5.realpath(options && options.tmpdir || os2.tmpdir(), cb);
43668
+ }
43669
+ function _getTmpDirSync(options) {
43670
+ return fs5.realpathSync(options && options.tmpdir || os2.tmpdir());
43560
43671
  }
43561
43672
  process.addListener(EXIT, _garbageCollector);
43562
43673
  Object.defineProperty(module2.exports, "tmpdir", {
43563
43674
  enumerable: true,
43564
43675
  configurable: false,
43565
43676
  get: function() {
43566
- return _getTmpDir();
43677
+ return _getTmpDirSync();
43567
43678
  }
43568
43679
  });
43569
43680
  module2.exports.dir = dir;
@@ -43581,7 +43692,7 @@ var require_package2 = __commonJS({
43581
43692
  "node_modules/create-nx-workspace/package.json"(exports2, module2) {
43582
43693
  module2.exports = {
43583
43694
  name: "create-nx-workspace",
43584
- version: "21.6.4",
43695
+ version: "22.0.3",
43585
43696
  private: false,
43586
43697
  description: "Smart Repos \xB7 Fast Builds",
43587
43698
  repository: {
@@ -43838,9 +43949,9 @@ var require_ansi_colors = __commonJS({
43838
43949
  const ansi = (style2) => {
43839
43950
  let open = style2.open = `\x1B[${style2.codes[0]}m`;
43840
43951
  let close = style2.close = `\x1B[${style2.codes[1]}m`;
43841
- let regex5 = style2.regex = new RegExp(`\\u001b\\[${style2.codes[1]}m`, "g");
43952
+ let regex4 = style2.regex = new RegExp(`\\u001b\\[${style2.codes[1]}m`, "g");
43842
43953
  style2.wrap = (input, newline) => {
43843
- if (input.includes(close)) input = input.replace(regex5, close + open);
43954
+ if (input.includes(close)) input = input.replace(regex4, close + open);
43844
43955
  let output = open + input + close;
43845
43956
  return newline ? output.replace(/\r*\n/g, `${close}$&${open}`) : output;
43846
43957
  };
@@ -44062,8 +44173,8 @@ var require_utils2 = __commonJS({
44062
44173
  width -= spaces.length;
44063
44174
  let source = `.{1,${width}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`;
44064
44175
  let output = str.trim();
44065
- let regex5 = new RegExp(source, "g");
44066
- let lines = output.match(regex5) || [];
44176
+ let regex4 = new RegExp(source, "g");
44177
+ let lines = output.match(regex4) || [];
44067
44178
  lines = lines.map((line) => line.replace(/\n$/, ""));
44068
44179
  if (options.padEnd) lines = lines.map((line) => line.padEnd(width, " "));
44069
44180
  if (options.padStart) lines = lines.map((line) => line.padStart(width, " "));
@@ -51798,92 +51909,62 @@ var require_data = __commonJS({
51798
51909
  }
51799
51910
  });
51800
51911
 
51801
- // node_modules/fast-uri/lib/scopedChars.js
51802
- var require_scopedChars = __commonJS({
51803
- "node_modules/fast-uri/lib/scopedChars.js"(exports2, module2) {
51804
- "use strict";
51805
- var HEX = {
51806
- 0: 0,
51807
- 1: 1,
51808
- 2: 2,
51809
- 3: 3,
51810
- 4: 4,
51811
- 5: 5,
51812
- 6: 6,
51813
- 7: 7,
51814
- 8: 8,
51815
- 9: 9,
51816
- a: 10,
51817
- A: 10,
51818
- b: 11,
51819
- B: 11,
51820
- c: 12,
51821
- C: 12,
51822
- d: 13,
51823
- D: 13,
51824
- e: 14,
51825
- E: 14,
51826
- f: 15,
51827
- F: 15
51828
- };
51829
- module2.exports = {
51830
- HEX
51831
- };
51832
- }
51833
- });
51834
-
51835
51912
  // node_modules/fast-uri/lib/utils.js
51836
51913
  var require_utils3 = __commonJS({
51837
51914
  "node_modules/fast-uri/lib/utils.js"(exports2, module2) {
51838
51915
  "use strict";
51839
- var { HEX } = require_scopedChars();
51840
- var IPV4_REG = /^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u;
51841
- function normalizeIPv4(host) {
51842
- if (findToken(host, ".") < 3) {
51843
- return { host, isIPV4: false };
51844
- }
51845
- const matches = host.match(IPV4_REG) || [];
51846
- const [address] = matches;
51847
- if (address) {
51848
- return { host: stripLeadingZeros(address, "."), isIPV4: true };
51849
- } else {
51850
- return { host, isIPV4: false };
51851
- }
51852
- }
51853
- function stringArrayToHexStripped(input, keepZero = false) {
51916
+ var isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
51917
+ var isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);
51918
+ function stringArrayToHexStripped(input) {
51854
51919
  let acc = "";
51855
- let strip = true;
51856
- for (const c of input) {
51857
- if (HEX[c] === void 0) return void 0;
51858
- if (c !== "0" && strip === true) strip = false;
51859
- if (!strip) acc += c;
51920
+ let code = 0;
51921
+ let i = 0;
51922
+ for (i = 0; i < input.length; i++) {
51923
+ code = input[i].charCodeAt(0);
51924
+ if (code === 48) {
51925
+ continue;
51926
+ }
51927
+ if (!(code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {
51928
+ return "";
51929
+ }
51930
+ acc += input[i];
51931
+ break;
51932
+ }
51933
+ for (i += 1; i < input.length; i++) {
51934
+ code = input[i].charCodeAt(0);
51935
+ if (!(code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {
51936
+ return "";
51937
+ }
51938
+ acc += input[i];
51860
51939
  }
51861
- if (keepZero && acc.length === 0) acc = "0";
51862
51940
  return acc;
51863
51941
  }
51942
+ var nonSimpleDomain = RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);
51943
+ function consumeIsZone(buffer) {
51944
+ buffer.length = 0;
51945
+ return true;
51946
+ }
51947
+ function consumeHextets(buffer, address, output) {
51948
+ if (buffer.length) {
51949
+ const hex = stringArrayToHexStripped(buffer);
51950
+ if (hex !== "") {
51951
+ address.push(hex);
51952
+ } else {
51953
+ output.error = true;
51954
+ return false;
51955
+ }
51956
+ buffer.length = 0;
51957
+ }
51958
+ return true;
51959
+ }
51864
51960
  function getIPV6(input) {
51865
51961
  let tokenCount = 0;
51866
51962
  const output = { error: false, address: "", zone: "" };
51867
51963
  const address = [];
51868
51964
  const buffer = [];
51869
- let isZone = false;
51870
51965
  let endipv6Encountered = false;
51871
51966
  let endIpv6 = false;
51872
- function consume() {
51873
- if (buffer.length) {
51874
- if (isZone === false) {
51875
- const hex = stringArrayToHexStripped(buffer);
51876
- if (hex !== void 0) {
51877
- address.push(hex);
51878
- } else {
51879
- output.error = true;
51880
- return false;
51881
- }
51882
- }
51883
- buffer.length = 0;
51884
- }
51885
- return true;
51886
- }
51967
+ let consume = consumeHextets;
51887
51968
  for (let i = 0; i < input.length; i++) {
51888
51969
  const cursor = input[i];
51889
51970
  if (cursor === "[" || cursor === "]") {
@@ -51893,31 +51974,30 @@ var require_utils3 = __commonJS({
51893
51974
  if (endipv6Encountered === true) {
51894
51975
  endIpv6 = true;
51895
51976
  }
51896
- if (!consume()) {
51977
+ if (!consume(buffer, address, output)) {
51897
51978
  break;
51898
51979
  }
51899
- tokenCount++;
51900
- address.push(":");
51901
- if (tokenCount > 7) {
51980
+ if (++tokenCount > 7) {
51902
51981
  output.error = true;
51903
51982
  break;
51904
51983
  }
51905
- if (i - 1 >= 0 && input[i - 1] === ":") {
51984
+ if (i > 0 && input[i - 1] === ":") {
51906
51985
  endipv6Encountered = true;
51907
51986
  }
51987
+ address.push(":");
51908
51988
  continue;
51909
51989
  } else if (cursor === "%") {
51910
- if (!consume()) {
51990
+ if (!consume(buffer, address, output)) {
51911
51991
  break;
51912
51992
  }
51913
- isZone = true;
51993
+ consume = consumeIsZone;
51914
51994
  } else {
51915
51995
  buffer.push(cursor);
51916
51996
  continue;
51917
51997
  }
51918
51998
  }
51919
51999
  if (buffer.length) {
51920
- if (isZone) {
52000
+ if (consume === consumeIsZone) {
51921
52001
  output.zone = buffer.join("");
51922
52002
  } else if (endIpv6) {
51923
52003
  address.push(buffer.join(""));
@@ -51940,33 +52020,11 @@ var require_utils3 = __commonJS({
51940
52020
  newHost += "%" + ipv6.zone;
51941
52021
  escapedHost += "%25" + ipv6.zone;
51942
52022
  }
51943
- return { host: newHost, escapedHost, isIPV6: true };
52023
+ return { host: newHost, isIPV6: true, escapedHost };
51944
52024
  } else {
51945
52025
  return { host, isIPV6: false };
51946
52026
  }
51947
52027
  }
51948
- function stripLeadingZeros(str, token) {
51949
- let out = "";
51950
- let skip = true;
51951
- const l = str.length;
51952
- for (let i = 0; i < l; i++) {
51953
- const c = str[i];
51954
- if (c === "0" && skip) {
51955
- if (i + 1 <= l && str[i + 1] === token || i + 1 === l) {
51956
- out += c;
51957
- skip = false;
51958
- }
51959
- } else {
51960
- if (c === token) {
51961
- skip = true;
51962
- } else {
51963
- skip = false;
51964
- }
51965
- out += c;
51966
- }
51967
- }
51968
- return out;
51969
- }
51970
52028
  function findToken(str, token) {
51971
52029
  let ind = 0;
51972
52030
  for (let i = 0; i < str.length; i++) {
@@ -51974,89 +52032,134 @@ var require_utils3 = __commonJS({
51974
52032
  }
51975
52033
  return ind;
51976
52034
  }
51977
- var RDS1 = /^\.\.?\//u;
51978
- var RDS2 = /^\/\.(?:\/|$)/u;
51979
- var RDS3 = /^\/\.\.(?:\/|$)/u;
51980
- var RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/u;
51981
- function removeDotSegments(input) {
52035
+ function removeDotSegments(path7) {
52036
+ let input = path7;
51982
52037
  const output = [];
51983
- while (input.length) {
51984
- if (input.match(RDS1)) {
51985
- input = input.replace(RDS1, "");
51986
- } else if (input.match(RDS2)) {
51987
- input = input.replace(RDS2, "/");
51988
- } else if (input.match(RDS3)) {
51989
- input = input.replace(RDS3, "/");
51990
- output.pop();
51991
- } else if (input === "." || input === "..") {
51992
- input = "";
51993
- } else {
51994
- const im = input.match(RDS5);
51995
- if (im) {
51996
- const s = im[0];
51997
- input = input.slice(s.length);
51998
- output.push(s);
52038
+ let nextSlash = -1;
52039
+ let len = 0;
52040
+ while (len = input.length) {
52041
+ if (len === 1) {
52042
+ if (input === ".") {
52043
+ break;
52044
+ } else if (input === "/") {
52045
+ output.push("/");
52046
+ break;
51999
52047
  } else {
52000
- throw new Error("Unexpected dot segment condition");
52048
+ output.push(input);
52049
+ break;
52050
+ }
52051
+ } else if (len === 2) {
52052
+ if (input[0] === ".") {
52053
+ if (input[1] === ".") {
52054
+ break;
52055
+ } else if (input[1] === "/") {
52056
+ input = input.slice(2);
52057
+ continue;
52058
+ }
52059
+ } else if (input[0] === "/") {
52060
+ if (input[1] === "." || input[1] === "/") {
52061
+ output.push("/");
52062
+ break;
52063
+ }
52064
+ }
52065
+ } else if (len === 3) {
52066
+ if (input === "/..") {
52067
+ if (output.length !== 0) {
52068
+ output.pop();
52069
+ }
52070
+ output.push("/");
52071
+ break;
52001
52072
  }
52002
52073
  }
52074
+ if (input[0] === ".") {
52075
+ if (input[1] === ".") {
52076
+ if (input[2] === "/") {
52077
+ input = input.slice(3);
52078
+ continue;
52079
+ }
52080
+ } else if (input[1] === "/") {
52081
+ input = input.slice(2);
52082
+ continue;
52083
+ }
52084
+ } else if (input[0] === "/") {
52085
+ if (input[1] === ".") {
52086
+ if (input[2] === "/") {
52087
+ input = input.slice(2);
52088
+ continue;
52089
+ } else if (input[2] === ".") {
52090
+ if (input[3] === "/") {
52091
+ input = input.slice(3);
52092
+ if (output.length !== 0) {
52093
+ output.pop();
52094
+ }
52095
+ continue;
52096
+ }
52097
+ }
52098
+ }
52099
+ }
52100
+ if ((nextSlash = input.indexOf("/", 1)) === -1) {
52101
+ output.push(input);
52102
+ break;
52103
+ } else {
52104
+ output.push(input.slice(0, nextSlash));
52105
+ input = input.slice(nextSlash);
52106
+ }
52003
52107
  }
52004
52108
  return output.join("");
52005
52109
  }
52006
- function normalizeComponentEncoding(components, esc) {
52110
+ function normalizeComponentEncoding(component, esc) {
52007
52111
  const func = esc !== true ? escape : unescape;
52008
- if (components.scheme !== void 0) {
52009
- components.scheme = func(components.scheme);
52112
+ if (component.scheme !== void 0) {
52113
+ component.scheme = func(component.scheme);
52010
52114
  }
52011
- if (components.userinfo !== void 0) {
52012
- components.userinfo = func(components.userinfo);
52115
+ if (component.userinfo !== void 0) {
52116
+ component.userinfo = func(component.userinfo);
52013
52117
  }
52014
- if (components.host !== void 0) {
52015
- components.host = func(components.host);
52118
+ if (component.host !== void 0) {
52119
+ component.host = func(component.host);
52016
52120
  }
52017
- if (components.path !== void 0) {
52018
- components.path = func(components.path);
52121
+ if (component.path !== void 0) {
52122
+ component.path = func(component.path);
52019
52123
  }
52020
- if (components.query !== void 0) {
52021
- components.query = func(components.query);
52124
+ if (component.query !== void 0) {
52125
+ component.query = func(component.query);
52022
52126
  }
52023
- if (components.fragment !== void 0) {
52024
- components.fragment = func(components.fragment);
52127
+ if (component.fragment !== void 0) {
52128
+ component.fragment = func(component.fragment);
52025
52129
  }
52026
- return components;
52130
+ return component;
52027
52131
  }
52028
- function recomposeAuthority(components) {
52132
+ function recomposeAuthority(component) {
52029
52133
  const uriTokens = [];
52030
- if (components.userinfo !== void 0) {
52031
- uriTokens.push(components.userinfo);
52134
+ if (component.userinfo !== void 0) {
52135
+ uriTokens.push(component.userinfo);
52032
52136
  uriTokens.push("@");
52033
52137
  }
52034
- if (components.host !== void 0) {
52035
- let host = unescape(components.host);
52036
- const ipV4res = normalizeIPv4(host);
52037
- if (ipV4res.isIPV4) {
52038
- host = ipV4res.host;
52039
- } else {
52040
- const ipV6res = normalizeIPv6(ipV4res.host);
52138
+ if (component.host !== void 0) {
52139
+ let host = unescape(component.host);
52140
+ if (!isIPv4(host)) {
52141
+ const ipV6res = normalizeIPv6(host);
52041
52142
  if (ipV6res.isIPV6 === true) {
52042
52143
  host = `[${ipV6res.escapedHost}]`;
52043
52144
  } else {
52044
- host = components.host;
52145
+ host = component.host;
52045
52146
  }
52046
52147
  }
52047
52148
  uriTokens.push(host);
52048
52149
  }
52049
- if (typeof components.port === "number" || typeof components.port === "string") {
52150
+ if (typeof component.port === "number" || typeof component.port === "string") {
52050
52151
  uriTokens.push(":");
52051
- uriTokens.push(String(components.port));
52152
+ uriTokens.push(String(component.port));
52052
52153
  }
52053
52154
  return uriTokens.length ? uriTokens.join("") : void 0;
52054
52155
  }
52055
52156
  module2.exports = {
52157
+ nonSimpleDomain,
52056
52158
  recomposeAuthority,
52057
52159
  normalizeComponentEncoding,
52058
52160
  removeDotSegments,
52059
- normalizeIPv4,
52161
+ isIPv4,
52162
+ isUUID,
52060
52163
  normalizeIPv6,
52061
52164
  stringArrayToHexStripped
52062
52165
  };
@@ -52067,145 +52170,209 @@ var require_utils3 = __commonJS({
52067
52170
  var require_schemes = __commonJS({
52068
52171
  "node_modules/fast-uri/lib/schemes.js"(exports2, module2) {
52069
52172
  "use strict";
52070
- var UUID_REG = /^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu;
52173
+ var { isUUID } = require_utils3();
52071
52174
  var URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;
52072
- function isSecure(wsComponents) {
52073
- return typeof wsComponents.secure === "boolean" ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === "wss";
52175
+ var supportedSchemeNames = (
52176
+ /** @type {const} */
52177
+ [
52178
+ "http",
52179
+ "https",
52180
+ "ws",
52181
+ "wss",
52182
+ "urn",
52183
+ "urn:uuid"
52184
+ ]
52185
+ );
52186
+ function isValidSchemeName(name) {
52187
+ return supportedSchemeNames.indexOf(
52188
+ /** @type {*} */
52189
+ name
52190
+ ) !== -1;
52191
+ }
52192
+ function wsIsSecure(wsComponent) {
52193
+ if (wsComponent.secure === true) {
52194
+ return true;
52195
+ } else if (wsComponent.secure === false) {
52196
+ return false;
52197
+ } else if (wsComponent.scheme) {
52198
+ return wsComponent.scheme.length === 3 && (wsComponent.scheme[0] === "w" || wsComponent.scheme[0] === "W") && (wsComponent.scheme[1] === "s" || wsComponent.scheme[1] === "S") && (wsComponent.scheme[2] === "s" || wsComponent.scheme[2] === "S");
52199
+ } else {
52200
+ return false;
52201
+ }
52074
52202
  }
52075
- function httpParse(components) {
52076
- if (!components.host) {
52077
- components.error = components.error || "HTTP URIs must have a host.";
52203
+ function httpParse(component) {
52204
+ if (!component.host) {
52205
+ component.error = component.error || "HTTP URIs must have a host.";
52078
52206
  }
52079
- return components;
52207
+ return component;
52080
52208
  }
52081
- function httpSerialize(components) {
52082
- const secure = String(components.scheme).toLowerCase() === "https";
52083
- if (components.port === (secure ? 443 : 80) || components.port === "") {
52084
- components.port = void 0;
52209
+ function httpSerialize(component) {
52210
+ const secure = String(component.scheme).toLowerCase() === "https";
52211
+ if (component.port === (secure ? 443 : 80) || component.port === "") {
52212
+ component.port = void 0;
52085
52213
  }
52086
- if (!components.path) {
52087
- components.path = "/";
52214
+ if (!component.path) {
52215
+ component.path = "/";
52088
52216
  }
52089
- return components;
52217
+ return component;
52090
52218
  }
52091
- function wsParse(wsComponents) {
52092
- wsComponents.secure = isSecure(wsComponents);
52093
- wsComponents.resourceName = (wsComponents.path || "/") + (wsComponents.query ? "?" + wsComponents.query : "");
52094
- wsComponents.path = void 0;
52095
- wsComponents.query = void 0;
52096
- return wsComponents;
52219
+ function wsParse(wsComponent) {
52220
+ wsComponent.secure = wsIsSecure(wsComponent);
52221
+ wsComponent.resourceName = (wsComponent.path || "/") + (wsComponent.query ? "?" + wsComponent.query : "");
52222
+ wsComponent.path = void 0;
52223
+ wsComponent.query = void 0;
52224
+ return wsComponent;
52097
52225
  }
52098
- function wsSerialize(wsComponents) {
52099
- if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === "") {
52100
- wsComponents.port = void 0;
52226
+ function wsSerialize(wsComponent) {
52227
+ if (wsComponent.port === (wsIsSecure(wsComponent) ? 443 : 80) || wsComponent.port === "") {
52228
+ wsComponent.port = void 0;
52101
52229
  }
52102
- if (typeof wsComponents.secure === "boolean") {
52103
- wsComponents.scheme = wsComponents.secure ? "wss" : "ws";
52104
- wsComponents.secure = void 0;
52230
+ if (typeof wsComponent.secure === "boolean") {
52231
+ wsComponent.scheme = wsComponent.secure ? "wss" : "ws";
52232
+ wsComponent.secure = void 0;
52105
52233
  }
52106
- if (wsComponents.resourceName) {
52107
- const [path7, query] = wsComponents.resourceName.split("?");
52108
- wsComponents.path = path7 && path7 !== "/" ? path7 : void 0;
52109
- wsComponents.query = query;
52110
- wsComponents.resourceName = void 0;
52234
+ if (wsComponent.resourceName) {
52235
+ const [path7, query] = wsComponent.resourceName.split("?");
52236
+ wsComponent.path = path7 && path7 !== "/" ? path7 : void 0;
52237
+ wsComponent.query = query;
52238
+ wsComponent.resourceName = void 0;
52111
52239
  }
52112
- wsComponents.fragment = void 0;
52113
- return wsComponents;
52240
+ wsComponent.fragment = void 0;
52241
+ return wsComponent;
52114
52242
  }
52115
- function urnParse(urnComponents, options) {
52116
- if (!urnComponents.path) {
52117
- urnComponents.error = "URN can not be parsed";
52118
- return urnComponents;
52243
+ function urnParse(urnComponent, options) {
52244
+ if (!urnComponent.path) {
52245
+ urnComponent.error = "URN can not be parsed";
52246
+ return urnComponent;
52119
52247
  }
52120
- const matches = urnComponents.path.match(URN_REG);
52248
+ const matches = urnComponent.path.match(URN_REG);
52121
52249
  if (matches) {
52122
- const scheme = options.scheme || urnComponents.scheme || "urn";
52123
- urnComponents.nid = matches[1].toLowerCase();
52124
- urnComponents.nss = matches[2];
52125
- const urnScheme = `${scheme}:${options.nid || urnComponents.nid}`;
52126
- const schemeHandler = SCHEMES[urnScheme];
52127
- urnComponents.path = void 0;
52250
+ const scheme = options.scheme || urnComponent.scheme || "urn";
52251
+ urnComponent.nid = matches[1].toLowerCase();
52252
+ urnComponent.nss = matches[2];
52253
+ const urnScheme = `${scheme}:${options.nid || urnComponent.nid}`;
52254
+ const schemeHandler = getSchemeHandler(urnScheme);
52255
+ urnComponent.path = void 0;
52128
52256
  if (schemeHandler) {
52129
- urnComponents = schemeHandler.parse(urnComponents, options);
52257
+ urnComponent = schemeHandler.parse(urnComponent, options);
52130
52258
  }
52131
52259
  } else {
52132
- urnComponents.error = urnComponents.error || "URN can not be parsed.";
52260
+ urnComponent.error = urnComponent.error || "URN can not be parsed.";
52133
52261
  }
52134
- return urnComponents;
52262
+ return urnComponent;
52135
52263
  }
52136
- function urnSerialize(urnComponents, options) {
52137
- const scheme = options.scheme || urnComponents.scheme || "urn";
52138
- const nid = urnComponents.nid.toLowerCase();
52264
+ function urnSerialize(urnComponent, options) {
52265
+ if (urnComponent.nid === void 0) {
52266
+ throw new Error("URN without nid cannot be serialized");
52267
+ }
52268
+ const scheme = options.scheme || urnComponent.scheme || "urn";
52269
+ const nid = urnComponent.nid.toLowerCase();
52139
52270
  const urnScheme = `${scheme}:${options.nid || nid}`;
52140
- const schemeHandler = SCHEMES[urnScheme];
52271
+ const schemeHandler = getSchemeHandler(urnScheme);
52141
52272
  if (schemeHandler) {
52142
- urnComponents = schemeHandler.serialize(urnComponents, options);
52273
+ urnComponent = schemeHandler.serialize(urnComponent, options);
52143
52274
  }
52144
- const uriComponents = urnComponents;
52145
- const nss = urnComponents.nss;
52146
- uriComponents.path = `${nid || options.nid}:${nss}`;
52275
+ const uriComponent = urnComponent;
52276
+ const nss = urnComponent.nss;
52277
+ uriComponent.path = `${nid || options.nid}:${nss}`;
52147
52278
  options.skipEscape = true;
52148
- return uriComponents;
52149
- }
52150
- function urnuuidParse(urnComponents, options) {
52151
- const uuidComponents = urnComponents;
52152
- uuidComponents.uuid = uuidComponents.nss;
52153
- uuidComponents.nss = void 0;
52154
- if (!options.tolerant && (!uuidComponents.uuid || !UUID_REG.test(uuidComponents.uuid))) {
52155
- uuidComponents.error = uuidComponents.error || "UUID is not valid.";
52156
- }
52157
- return uuidComponents;
52158
- }
52159
- function urnuuidSerialize(uuidComponents) {
52160
- const urnComponents = uuidComponents;
52161
- urnComponents.nss = (uuidComponents.uuid || "").toLowerCase();
52162
- return urnComponents;
52163
- }
52164
- var http2 = {
52165
- scheme: "http",
52166
- domainHost: true,
52167
- parse: httpParse,
52168
- serialize: httpSerialize
52169
- };
52170
- var https2 = {
52171
- scheme: "https",
52172
- domainHost: http2.domainHost,
52173
- parse: httpParse,
52174
- serialize: httpSerialize
52175
- };
52176
- var ws = {
52177
- scheme: "ws",
52178
- domainHost: true,
52179
- parse: wsParse,
52180
- serialize: wsSerialize
52181
- };
52182
- var wss = {
52183
- scheme: "wss",
52184
- domainHost: ws.domainHost,
52185
- parse: ws.parse,
52186
- serialize: ws.serialize
52187
- };
52188
- var urn = {
52189
- scheme: "urn",
52190
- parse: urnParse,
52191
- serialize: urnSerialize,
52192
- skipNormalize: true
52193
- };
52194
- var urnuuid = {
52195
- scheme: "urn:uuid",
52196
- parse: urnuuidParse,
52197
- serialize: urnuuidSerialize,
52198
- skipNormalize: true
52199
- };
52200
- var SCHEMES = {
52201
- http: http2,
52202
- https: https2,
52203
- ws,
52204
- wss,
52205
- urn,
52206
- "urn:uuid": urnuuid
52207
- };
52208
- module2.exports = SCHEMES;
52279
+ return uriComponent;
52280
+ }
52281
+ function urnuuidParse(urnComponent, options) {
52282
+ const uuidComponent = urnComponent;
52283
+ uuidComponent.uuid = uuidComponent.nss;
52284
+ uuidComponent.nss = void 0;
52285
+ if (!options.tolerant && (!uuidComponent.uuid || !isUUID(uuidComponent.uuid))) {
52286
+ uuidComponent.error = uuidComponent.error || "UUID is not valid.";
52287
+ }
52288
+ return uuidComponent;
52289
+ }
52290
+ function urnuuidSerialize(uuidComponent) {
52291
+ const urnComponent = uuidComponent;
52292
+ urnComponent.nss = (uuidComponent.uuid || "").toLowerCase();
52293
+ return urnComponent;
52294
+ }
52295
+ var http3 = (
52296
+ /** @type {SchemeHandler} */
52297
+ {
52298
+ scheme: "http",
52299
+ domainHost: true,
52300
+ parse: httpParse,
52301
+ serialize: httpSerialize
52302
+ }
52303
+ );
52304
+ var https2 = (
52305
+ /** @type {SchemeHandler} */
52306
+ {
52307
+ scheme: "https",
52308
+ domainHost: http3.domainHost,
52309
+ parse: httpParse,
52310
+ serialize: httpSerialize
52311
+ }
52312
+ );
52313
+ var ws = (
52314
+ /** @type {SchemeHandler} */
52315
+ {
52316
+ scheme: "ws",
52317
+ domainHost: true,
52318
+ parse: wsParse,
52319
+ serialize: wsSerialize
52320
+ }
52321
+ );
52322
+ var wss = (
52323
+ /** @type {SchemeHandler} */
52324
+ {
52325
+ scheme: "wss",
52326
+ domainHost: ws.domainHost,
52327
+ parse: ws.parse,
52328
+ serialize: ws.serialize
52329
+ }
52330
+ );
52331
+ var urn = (
52332
+ /** @type {SchemeHandler} */
52333
+ {
52334
+ scheme: "urn",
52335
+ parse: urnParse,
52336
+ serialize: urnSerialize,
52337
+ skipNormalize: true
52338
+ }
52339
+ );
52340
+ var urnuuid = (
52341
+ /** @type {SchemeHandler} */
52342
+ {
52343
+ scheme: "urn:uuid",
52344
+ parse: urnuuidParse,
52345
+ serialize: urnuuidSerialize,
52346
+ skipNormalize: true
52347
+ }
52348
+ );
52349
+ var SCHEMES = (
52350
+ /** @type {Record<SchemeName, SchemeHandler>} */
52351
+ {
52352
+ http: http3,
52353
+ https: https2,
52354
+ ws,
52355
+ wss,
52356
+ urn,
52357
+ "urn:uuid": urnuuid
52358
+ }
52359
+ );
52360
+ Object.setPrototypeOf(SCHEMES, null);
52361
+ function getSchemeHandler(scheme) {
52362
+ return scheme && (SCHEMES[
52363
+ /** @type {SchemeName} */
52364
+ scheme
52365
+ ] || SCHEMES[
52366
+ /** @type {SchemeName} */
52367
+ scheme.toLowerCase()
52368
+ ]) || void 0;
52369
+ }
52370
+ module2.exports = {
52371
+ wsIsSecure,
52372
+ SCHEMES,
52373
+ isValidSchemeName,
52374
+ getSchemeHandler
52375
+ };
52209
52376
  }
52210
52377
  });
52211
52378
 
@@ -52213,22 +52380,25 @@ var require_schemes = __commonJS({
52213
52380
  var require_fast_uri = __commonJS({
52214
52381
  "node_modules/fast-uri/index.js"(exports2, module2) {
52215
52382
  "use strict";
52216
- var { normalizeIPv6, normalizeIPv4, removeDotSegments, recomposeAuthority, normalizeComponentEncoding } = require_utils3();
52217
- var SCHEMES = require_schemes();
52383
+ var { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizeComponentEncoding, isIPv4, nonSimpleDomain } = require_utils3();
52384
+ var { SCHEMES, getSchemeHandler } = require_schemes();
52218
52385
  function normalize(uri, options) {
52219
52386
  if (typeof uri === "string") {
52220
- uri = serialize(parse(uri, options), options);
52387
+ uri = /** @type {T} */
52388
+ serialize(parse(uri, options), options);
52221
52389
  } else if (typeof uri === "object") {
52222
- uri = parse(serialize(uri, options), options);
52390
+ uri = /** @type {T} */
52391
+ parse(serialize(uri, options), options);
52223
52392
  }
52224
52393
  return uri;
52225
52394
  }
52226
52395
  function resolve2(baseURI, relativeURI, options) {
52227
- const schemelessOptions = Object.assign({ scheme: "null" }, options);
52228
- const resolved = resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true);
52229
- return serialize(resolved, { ...schemelessOptions, skipEscape: true });
52396
+ const schemelessOptions = options ? Object.assign({ scheme: "null" }, options) : { scheme: "null" };
52397
+ const resolved = resolveComponent(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true);
52398
+ schemelessOptions.skipEscape = true;
52399
+ return serialize(resolved, schemelessOptions);
52230
52400
  }
52231
- function resolveComponents(base, relative, options, skipNormalization) {
52401
+ function resolveComponent(base, relative, options, skipNormalization) {
52232
52402
  const target = {};
52233
52403
  if (!skipNormalization) {
52234
52404
  base = parse(serialize(base, options), options);
@@ -52258,7 +52428,7 @@ var require_fast_uri = __commonJS({
52258
52428
  target.query = base.query;
52259
52429
  }
52260
52430
  } else {
52261
- if (relative.path.charAt(0) === "/") {
52431
+ if (relative.path[0] === "/") {
52262
52432
  target.path = removeDotSegments(relative.path);
52263
52433
  } else {
52264
52434
  if ((base.userinfo !== void 0 || base.host !== void 0 || base.port !== void 0) && !base.path) {
@@ -52297,7 +52467,7 @@ var require_fast_uri = __commonJS({
52297
52467
  return uriA.toLowerCase() === uriB.toLowerCase();
52298
52468
  }
52299
52469
  function serialize(cmpts, opts) {
52300
- const components = {
52470
+ const component = {
52301
52471
  host: cmpts.host,
52302
52472
  scheme: cmpts.scheme,
52303
52473
  userinfo: cmpts.userinfo,
@@ -52315,60 +52485,49 @@ var require_fast_uri = __commonJS({
52315
52485
  };
52316
52486
  const options = Object.assign({}, opts);
52317
52487
  const uriTokens = [];
52318
- const schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()];
52319
- if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options);
52320
- if (components.path !== void 0) {
52488
+ const schemeHandler = getSchemeHandler(options.scheme || component.scheme);
52489
+ if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(component, options);
52490
+ if (component.path !== void 0) {
52321
52491
  if (!options.skipEscape) {
52322
- components.path = escape(components.path);
52323
- if (components.scheme !== void 0) {
52324
- components.path = components.path.split("%3A").join(":");
52492
+ component.path = escape(component.path);
52493
+ if (component.scheme !== void 0) {
52494
+ component.path = component.path.split("%3A").join(":");
52325
52495
  }
52326
52496
  } else {
52327
- components.path = unescape(components.path);
52497
+ component.path = unescape(component.path);
52328
52498
  }
52329
52499
  }
52330
- if (options.reference !== "suffix" && components.scheme) {
52331
- uriTokens.push(components.scheme, ":");
52500
+ if (options.reference !== "suffix" && component.scheme) {
52501
+ uriTokens.push(component.scheme, ":");
52332
52502
  }
52333
- const authority = recomposeAuthority(components);
52503
+ const authority = recomposeAuthority(component);
52334
52504
  if (authority !== void 0) {
52335
52505
  if (options.reference !== "suffix") {
52336
52506
  uriTokens.push("//");
52337
52507
  }
52338
52508
  uriTokens.push(authority);
52339
- if (components.path && components.path.charAt(0) !== "/") {
52509
+ if (component.path && component.path[0] !== "/") {
52340
52510
  uriTokens.push("/");
52341
52511
  }
52342
52512
  }
52343
- if (components.path !== void 0) {
52344
- let s = components.path;
52513
+ if (component.path !== void 0) {
52514
+ let s = component.path;
52345
52515
  if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {
52346
52516
  s = removeDotSegments(s);
52347
52517
  }
52348
- if (authority === void 0) {
52349
- s = s.replace(/^\/\//u, "/%2F");
52518
+ if (authority === void 0 && s[0] === "/" && s[1] === "/") {
52519
+ s = "/%2F" + s.slice(2);
52350
52520
  }
52351
52521
  uriTokens.push(s);
52352
52522
  }
52353
- if (components.query !== void 0) {
52354
- uriTokens.push("?", components.query);
52523
+ if (component.query !== void 0) {
52524
+ uriTokens.push("?", component.query);
52355
52525
  }
52356
- if (components.fragment !== void 0) {
52357
- uriTokens.push("#", components.fragment);
52526
+ if (component.fragment !== void 0) {
52527
+ uriTokens.push("#", component.fragment);
52358
52528
  }
52359
52529
  return uriTokens.join("");
52360
52530
  }
52361
- var hexLookUp = Array.from({ length: 127 }, (_v, k) => /[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(k)));
52362
- function nonSimpleDomain(value) {
52363
- let code = 0;
52364
- for (let i = 0, len = value.length; i < len; ++i) {
52365
- code = value.charCodeAt(i);
52366
- if (code > 126 || hexLookUp[code]) {
52367
- return true;
52368
- }
52369
- }
52370
- return false;
52371
- }
52372
52531
  var URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;
52373
52532
  function parse(uri, opts) {
52374
52533
  const options = Object.assign({}, opts);
@@ -52381,9 +52540,14 @@ var require_fast_uri = __commonJS({
52381
52540
  query: void 0,
52382
52541
  fragment: void 0
52383
52542
  };
52384
- const gotEncoding = uri.indexOf("%") !== -1;
52385
52543
  let isIP = false;
52386
- if (options.reference === "suffix") uri = (options.scheme ? options.scheme + ":" : "") + "//" + uri;
52544
+ if (options.reference === "suffix") {
52545
+ if (options.scheme) {
52546
+ uri = options.scheme + ":" + uri;
52547
+ } else {
52548
+ uri = "//" + uri;
52549
+ }
52550
+ }
52387
52551
  const matches = uri.match(URI_PARSE);
52388
52552
  if (matches) {
52389
52553
  parsed.scheme = matches[1];
@@ -52397,13 +52561,12 @@ var require_fast_uri = __commonJS({
52397
52561
  parsed.port = matches[5];
52398
52562
  }
52399
52563
  if (parsed.host) {
52400
- const ipv4result = normalizeIPv4(parsed.host);
52401
- if (ipv4result.isIPV4 === false) {
52402
- const ipv6result = normalizeIPv6(ipv4result.host);
52564
+ const ipv4result = isIPv4(parsed.host);
52565
+ if (ipv4result === false) {
52566
+ const ipv6result = normalizeIPv6(parsed.host);
52403
52567
  parsed.host = ipv6result.host.toLowerCase();
52404
52568
  isIP = ipv6result.isIPV6;
52405
52569
  } else {
52406
- parsed.host = ipv4result.host;
52407
52570
  isIP = true;
52408
52571
  }
52409
52572
  }
@@ -52419,7 +52582,7 @@ var require_fast_uri = __commonJS({
52419
52582
  if (options.reference && options.reference !== "suffix" && options.reference !== parsed.reference) {
52420
52583
  parsed.error = parsed.error || "URI is not a " + options.reference + " reference.";
52421
52584
  }
52422
- const schemeHandler = SCHEMES[(options.scheme || parsed.scheme || "").toLowerCase()];
52585
+ const schemeHandler = getSchemeHandler(options.scheme || parsed.scheme);
52423
52586
  if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {
52424
52587
  if (parsed.host && (options.domainHost || schemeHandler && schemeHandler.domainHost) && isIP === false && nonSimpleDomain(parsed.host)) {
52425
52588
  try {
@@ -52430,11 +52593,13 @@ var require_fast_uri = __commonJS({
52430
52593
  }
52431
52594
  }
52432
52595
  if (!schemeHandler || schemeHandler && !schemeHandler.skipNormalize) {
52433
- if (gotEncoding && parsed.scheme !== void 0) {
52434
- parsed.scheme = unescape(parsed.scheme);
52435
- }
52436
- if (gotEncoding && parsed.host !== void 0) {
52437
- parsed.host = unescape(parsed.host);
52596
+ if (uri.indexOf("%") !== -1) {
52597
+ if (parsed.scheme !== void 0) {
52598
+ parsed.scheme = unescape(parsed.scheme);
52599
+ }
52600
+ if (parsed.host !== void 0) {
52601
+ parsed.host = unescape(parsed.host);
52602
+ }
52438
52603
  }
52439
52604
  if (parsed.path) {
52440
52605
  parsed.path = escape(unescape(parsed.path));
@@ -52455,7 +52620,7 @@ var require_fast_uri = __commonJS({
52455
52620
  SCHEMES,
52456
52621
  normalize,
52457
52622
  resolve: resolve2,
52458
- resolveComponents,
52623
+ resolveComponent,
52459
52624
  equal,
52460
52625
  serialize,
52461
52626
  parse
@@ -52891,10 +53056,10 @@ var require_core = __commonJS({
52891
53056
  }
52892
53057
  return metaSchema;
52893
53058
  }
52894
- _removeAllSchemas(schemas, regex5) {
53059
+ _removeAllSchemas(schemas, regex4) {
52895
53060
  for (const keyRef in schemas) {
52896
53061
  const sch = schemas[keyRef];
52897
- if (!regex5 || regex5.test(keyRef)) {
53062
+ if (!regex4 || regex4.test(keyRef)) {
52898
53063
  if (typeof sch == "string") {
52899
53064
  delete schemas[keyRef];
52900
53065
  } else if (sch && !sch.meta) {
@@ -55494,9 +55659,11 @@ var init_environment = __esm({
55494
55659
  // node_modules/log-update/node_modules/ansi-escapes/base.js
55495
55660
  var base_exports = {};
55496
55661
  __export(base_exports, {
55662
+ ConEmu: () => ConEmu,
55497
55663
  beep: () => beep,
55498
55664
  clearScreen: () => clearScreen,
55499
55665
  clearTerminal: () => clearTerminal,
55666
+ clearViewport: () => clearViewport,
55500
55667
  cursorBackward: () => cursorBackward,
55501
55668
  cursorDown: () => cursorDown2,
55502
55669
  cursorForward: () => cursorForward,
@@ -55524,9 +55691,10 @@ __export(base_exports, {
55524
55691
  image: () => image,
55525
55692
  link: () => link,
55526
55693
  scrollDown: () => scrollDown,
55527
- scrollUp: () => scrollUp
55694
+ scrollUp: () => scrollUp,
55695
+ setCwd: () => setCwd
55528
55696
  });
55529
- var import_node_process2, ESC2, OSC, BEL, SEP, isTerminalApp, isWindows3, cwdFunction, cursorTo2, cursorMove, cursorUp2, cursorDown2, cursorForward, cursorBackward, cursorLeft2, cursorSavePosition, cursorRestorePosition, cursorGetPosition, cursorNextLine, cursorPrevLine, cursorHide2, cursorShow2, eraseLines2, eraseEndLine, eraseStartLine, eraseLine2, eraseDown, eraseUp, eraseScreen, scrollUp, scrollDown, clearScreen, clearTerminal, enterAlternativeScreen, exitAlternativeScreen, beep, link, image, iTerm;
55697
+ var import_node_process2, ESC2, OSC, BEL, SEP, isTerminalApp, isWindows3, cwdFunction, cursorTo2, cursorMove, cursorUp2, cursorDown2, cursorForward, cursorBackward, cursorLeft2, cursorSavePosition, cursorRestorePosition, cursorGetPosition, cursorNextLine, cursorPrevLine, cursorHide2, cursorShow2, eraseLines2, eraseEndLine, eraseStartLine, eraseLine2, eraseDown, eraseUp, eraseScreen, scrollUp, scrollDown, clearScreen, clearViewport, clearTerminal, enterAlternativeScreen, exitAlternativeScreen, beep, link, image, iTerm, ConEmu, setCwd;
55530
55698
  var init_base = __esm({
55531
55699
  "node_modules/log-update/node_modules/ansi-escapes/base.js"() {
55532
55700
  import_node_process2 = __toESM(require("node:process"), 1);
@@ -55597,6 +55765,7 @@ var init_base = __esm({
55597
55765
  scrollUp = ESC2 + "S";
55598
55766
  scrollDown = ESC2 + "T";
55599
55767
  clearScreen = "\x1Bc";
55768
+ clearViewport = `${eraseScreen}${ESC2}H`;
55600
55769
  clearTerminal = isWindows3 ? `${eraseScreen}${ESC2}0f` : `${eraseScreen}${ESC2}3J${ESC2}H`;
55601
55770
  enterAlternativeScreen = ESC2 + "?1049h";
55602
55771
  exitAlternativeScreen = ESC2 + "?1049l";
@@ -55626,7 +55795,8 @@ var init_base = __esm({
55626
55795
  if (options.preserveAspectRatio === false) {
55627
55796
  returnValue += ";preserveAspectRatio=0";
55628
55797
  }
55629
- return returnValue + ":" + Buffer.from(data).toString("base64") + BEL;
55798
+ const imageBuffer = Buffer.from(data);
55799
+ return returnValue + `;size=${imageBuffer.byteLength}:` + imageBuffer.toString("base64") + BEL;
55630
55800
  };
55631
55801
  iTerm = {
55632
55802
  setCwd: (cwd = cwdFunction()) => `${OSC}50;CurrentDir=${cwd}${BEL}`,
@@ -55647,6 +55817,10 @@ var init_base = __esm({
55647
55817
  return returnValue + BEL;
55648
55818
  }
55649
55819
  };
55820
+ ConEmu = {
55821
+ setCwd: (cwd = cwdFunction()) => `${OSC}9;9;${cwd}${BEL}`
55822
+ };
55823
+ setCwd = (cwd = cwdFunction()) => iTerm.setCwd(cwd) + ConEmu.setCwd(cwd);
55650
55824
  }
55651
55825
  });
55652
55826
 
@@ -56069,7 +56243,7 @@ var init_cli_cursor = __esm({
56069
56243
  }
56070
56244
  });
56071
56245
 
56072
- // node_modules/string-width/node_modules/ansi-regex/index.js
56246
+ // node_modules/log-update/node_modules/ansi-regex/index.js
56073
56247
  function ansiRegex({ onlyFirst = false } = {}) {
56074
56248
  const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
56075
56249
  const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
@@ -56078,11 +56252,11 @@ function ansiRegex({ onlyFirst = false } = {}) {
56078
56252
  return new RegExp(pattern, onlyFirst ? void 0 : "g");
56079
56253
  }
56080
56254
  var init_ansi_regex = __esm({
56081
- "node_modules/string-width/node_modules/ansi-regex/index.js"() {
56255
+ "node_modules/log-update/node_modules/ansi-regex/index.js"() {
56082
56256
  }
56083
56257
  });
56084
56258
 
56085
- // node_modules/string-width/node_modules/strip-ansi/index.js
56259
+ // node_modules/log-update/node_modules/strip-ansi/index.js
56086
56260
  function stripAnsi(string) {
56087
56261
  if (typeof string !== "string") {
56088
56262
  throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
@@ -56091,7 +56265,7 @@ function stripAnsi(string) {
56091
56265
  }
56092
56266
  var regex;
56093
56267
  var init_strip_ansi = __esm({
56094
- "node_modules/string-width/node_modules/strip-ansi/index.js"() {
56268
+ "node_modules/log-update/node_modules/strip-ansi/index.js"() {
56095
56269
  init_ansi_regex();
56096
56270
  regex = ansiRegex();
56097
56271
  }
@@ -56132,16 +56306,16 @@ var init_get_east_asian_width = __esm({
56132
56306
  }
56133
56307
  });
56134
56308
 
56135
- // node_modules/string-width/node_modules/emoji-regex/index.js
56309
+ // node_modules/log-update/node_modules/emoji-regex/index.js
56136
56310
  var require_emoji_regex2 = __commonJS({
56137
- "node_modules/string-width/node_modules/emoji-regex/index.js"(exports2, module2) {
56311
+ "node_modules/log-update/node_modules/emoji-regex/index.js"(exports2, module2) {
56138
56312
  module2.exports = () => {
56139
- return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
56313
+ return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
56140
56314
  };
56141
56315
  }
56142
56316
  });
56143
56317
 
56144
- // node_modules/string-width/index.js
56318
+ // node_modules/log-update/node_modules/string-width/index.js
56145
56319
  function stringWidth(string, options = {}) {
56146
56320
  if (typeof string !== "string" || string.length === 0) {
56147
56321
  return 0;
@@ -56188,7 +56362,7 @@ function stringWidth(string, options = {}) {
56188
56362
  }
56189
56363
  var import_emoji_regex, segmenter, defaultIgnorableCodePointRegex;
56190
56364
  var init_string_width = __esm({
56191
- "node_modules/string-width/index.js"() {
56365
+ "node_modules/log-update/node_modules/string-width/index.js"() {
56192
56366
  init_strip_ansi();
56193
56367
  init_get_east_asian_width();
56194
56368
  import_emoji_regex = __toESM(require_emoji_regex2(), 1);
@@ -56197,34 +56371,6 @@ var init_string_width = __esm({
56197
56371
  }
56198
56372
  });
56199
56373
 
56200
- // node_modules/log-update/node_modules/ansi-regex/index.js
56201
- function ansiRegex2({ onlyFirst = false } = {}) {
56202
- const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
56203
- const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
56204
- const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
56205
- const pattern = `${osc}|${csi}`;
56206
- return new RegExp(pattern, onlyFirst ? void 0 : "g");
56207
- }
56208
- var init_ansi_regex2 = __esm({
56209
- "node_modules/log-update/node_modules/ansi-regex/index.js"() {
56210
- }
56211
- });
56212
-
56213
- // node_modules/log-update/node_modules/strip-ansi/index.js
56214
- function stripAnsi2(string) {
56215
- if (typeof string !== "string") {
56216
- throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
56217
- }
56218
- return string.replace(regex2, "");
56219
- }
56220
- var regex2;
56221
- var init_strip_ansi2 = __esm({
56222
- "node_modules/log-update/node_modules/strip-ansi/index.js"() {
56223
- init_ansi_regex2();
56224
- regex2 = ansiRegex2();
56225
- }
56226
- });
56227
-
56228
56374
  // node_modules/log-update/node_modules/ansi-styles/index.js
56229
56375
  function assembleStyles() {
56230
56376
  const codes = /* @__PURE__ */ new Map();
@@ -56256,7 +56402,7 @@ function assembleStyles() {
56256
56402
  styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
56257
56403
  Object.defineProperties(styles, {
56258
56404
  rgbToAnsi256: {
56259
- value: (red2, green2, blue2) => {
56405
+ value(red2, green2, blue2) {
56260
56406
  if (red2 === green2 && green2 === blue2) {
56261
56407
  if (red2 < 8) {
56262
56408
  return 16;
@@ -56271,7 +56417,7 @@ function assembleStyles() {
56271
56417
  enumerable: false
56272
56418
  },
56273
56419
  hexToRgb: {
56274
- value: (hex) => {
56420
+ value(hex) {
56275
56421
  const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
56276
56422
  if (!matches) {
56277
56423
  return [0, 0, 0];
@@ -56296,7 +56442,7 @@ function assembleStyles() {
56296
56442
  enumerable: false
56297
56443
  },
56298
56444
  ansi256ToAnsi: {
56299
- value: (code) => {
56445
+ value(code) {
56300
56446
  if (code < 8) {
56301
56447
  return 30 + code;
56302
56448
  }
@@ -56424,7 +56570,7 @@ var ESCAPES, END_CODE, ANSI_ESCAPE_BELL, ANSI_CSI, ANSI_OSC, ANSI_SGR_TERMINATOR
56424
56570
  var init_wrap_ansi = __esm({
56425
56571
  "node_modules/log-update/node_modules/wrap-ansi/index.js"() {
56426
56572
  init_string_width();
56427
- init_strip_ansi2();
56573
+ init_strip_ansi();
56428
56574
  init_ansi_styles();
56429
56575
  ESCAPES = /* @__PURE__ */ new Set([
56430
56576
  "\x1B",
@@ -56443,7 +56589,7 @@ var init_wrap_ansi = __esm({
56443
56589
  const characters = [...word];
56444
56590
  let isInsideEscape = false;
56445
56591
  let isInsideLinkEscape = false;
56446
- let visible = stringWidth(stripAnsi2(rows.at(-1)));
56592
+ let visible = stringWidth(stripAnsi(rows.at(-1)));
56447
56593
  for (const [index, character] of characters.entries()) {
56448
56594
  const characterLength = stringWidth(character);
56449
56595
  if (visible + characterLength <= columns) {
@@ -56972,14 +57118,14 @@ var init_log_update = __esm({
56972
57118
  init_cli_cursor();
56973
57119
  init_wrap_ansi();
56974
57120
  init_slice_ansi();
56975
- init_strip_ansi2();
57121
+ init_strip_ansi();
56976
57122
  defaultTerminalHeight = 24;
56977
57123
  getWidth = ({ columns = 80 }) => columns;
56978
57124
  fitToTerminalHeight = (stream4, text) => {
56979
57125
  const terminalHeight = stream4.rows ?? defaultTerminalHeight;
56980
57126
  const lines = text.split("\n");
56981
57127
  const toRemove = Math.max(0, lines.length - terminalHeight);
56982
- return toRemove ? sliceAnsi(text, stripAnsi2(lines.slice(0, toRemove).join("\n")).length + 1) : text;
57128
+ return toRemove ? sliceAnsi(text, stripAnsi(lines.slice(0, toRemove).join("\n")).length + 1) : text;
56983
57129
  };
56984
57130
  logUpdate = createLogUpdate(import_node_process5.default.stdout);
56985
57131
  log_update_default = logUpdate;
@@ -56988,30 +57134,30 @@ var init_log_update = __esm({
56988
57134
  });
56989
57135
 
56990
57136
  // node_modules/cli-truncate/node_modules/ansi-regex/index.js
56991
- function ansiRegex3({ onlyFirst = false } = {}) {
57137
+ function ansiRegex2({ onlyFirst = false } = {}) {
56992
57138
  const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
56993
57139
  const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
56994
57140
  const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
56995
57141
  const pattern = `${osc}|${csi}`;
56996
57142
  return new RegExp(pattern, onlyFirst ? void 0 : "g");
56997
57143
  }
56998
- var init_ansi_regex3 = __esm({
57144
+ var init_ansi_regex2 = __esm({
56999
57145
  "node_modules/cli-truncate/node_modules/ansi-regex/index.js"() {
57000
57146
  }
57001
57147
  });
57002
57148
 
57003
57149
  // node_modules/cli-truncate/node_modules/strip-ansi/index.js
57004
- function stripAnsi3(string) {
57150
+ function stripAnsi2(string) {
57005
57151
  if (typeof string !== "string") {
57006
57152
  throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
57007
57153
  }
57008
- return string.replace(regex3, "");
57154
+ return string.replace(regex2, "");
57009
57155
  }
57010
- var regex3;
57011
- var init_strip_ansi3 = __esm({
57156
+ var regex2;
57157
+ var init_strip_ansi2 = __esm({
57012
57158
  "node_modules/cli-truncate/node_modules/strip-ansi/index.js"() {
57013
- init_ansi_regex3();
57014
- regex3 = ansiRegex3();
57159
+ init_ansi_regex2();
57160
+ regex2 = ansiRegex2();
57015
57161
  }
57016
57162
  });
57017
57163
 
@@ -57043,7 +57189,7 @@ function stringWidth2(input, options = {}) {
57043
57189
  } = options;
57044
57190
  let string = input;
57045
57191
  if (!countAnsiEscapeCodes) {
57046
- string = stripAnsi3(string);
57192
+ string = stripAnsi2(string);
57047
57193
  }
57048
57194
  if (string.length === 0) {
57049
57195
  return 0;
@@ -57067,7 +57213,7 @@ function stringWidth2(input, options = {}) {
57067
57213
  var segmenter2, zeroWidthClusterRegex, leadingNonPrintingRegex, rgiEmojiRegex;
57068
57214
  var init_string_width2 = __esm({
57069
57215
  "node_modules/cli-truncate/node_modules/string-width/index.js"() {
57070
- init_strip_ansi3();
57216
+ init_strip_ansi2();
57071
57217
  init_get_east_asian_width();
57072
57218
  segmenter2 = new Intl.Segmenter();
57073
57219
  zeroWidthClusterRegex = /^(?:\p{Default_Ignorable_Code_Point}|\p{Control}|\p{Mark}|\p{Surrogate})+$/v;
@@ -57110,13 +57256,13 @@ function cliTruncate(text, columns, options = {}) {
57110
57256
  if (columns < 1) {
57111
57257
  return "";
57112
57258
  }
57113
- if (columns === 1) {
57114
- return truncationCharacter;
57115
- }
57116
57259
  const length = stringWidth2(text);
57117
57260
  if (length <= columns) {
57118
57261
  return text;
57119
57262
  }
57263
+ if (columns === 1) {
57264
+ return truncationCharacter;
57265
+ }
57120
57266
  const ANSI = {
57121
57267
  ESC: 27,
57122
57268
  LEFT_BRACKET: 91,
@@ -57213,30 +57359,95 @@ var init_cli_truncate = __esm({
57213
57359
  });
57214
57360
 
57215
57361
  // node_modules/listr2/node_modules/ansi-regex/index.js
57216
- function ansiRegex4({ onlyFirst = false } = {}) {
57362
+ function ansiRegex3({ onlyFirst = false } = {}) {
57217
57363
  const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
57218
57364
  const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
57219
57365
  const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
57220
57366
  const pattern = `${osc}|${csi}`;
57221
57367
  return new RegExp(pattern, onlyFirst ? void 0 : "g");
57222
57368
  }
57223
- var init_ansi_regex4 = __esm({
57369
+ var init_ansi_regex3 = __esm({
57224
57370
  "node_modules/listr2/node_modules/ansi-regex/index.js"() {
57225
57371
  }
57226
57372
  });
57227
57373
 
57228
57374
  // node_modules/listr2/node_modules/strip-ansi/index.js
57229
- function stripAnsi4(string) {
57375
+ function stripAnsi3(string) {
57230
57376
  if (typeof string !== "string") {
57231
57377
  throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
57232
57378
  }
57233
- return string.replace(regex4, "");
57379
+ return string.replace(regex3, "");
57234
57380
  }
57235
- var regex4;
57236
- var init_strip_ansi4 = __esm({
57381
+ var regex3;
57382
+ var init_strip_ansi3 = __esm({
57237
57383
  "node_modules/listr2/node_modules/strip-ansi/index.js"() {
57238
- init_ansi_regex4();
57239
- regex4 = ansiRegex4();
57384
+ init_ansi_regex3();
57385
+ regex3 = ansiRegex3();
57386
+ }
57387
+ });
57388
+
57389
+ // node_modules/listr2/node_modules/emoji-regex/index.js
57390
+ var require_emoji_regex3 = __commonJS({
57391
+ "node_modules/listr2/node_modules/emoji-regex/index.js"(exports2, module2) {
57392
+ module2.exports = () => {
57393
+ return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
57394
+ };
57395
+ }
57396
+ });
57397
+
57398
+ // node_modules/listr2/node_modules/string-width/index.js
57399
+ function stringWidth3(string, options = {}) {
57400
+ if (typeof string !== "string" || string.length === 0) {
57401
+ return 0;
57402
+ }
57403
+ const {
57404
+ ambiguousIsNarrow = true,
57405
+ countAnsiEscapeCodes = false
57406
+ } = options;
57407
+ if (!countAnsiEscapeCodes) {
57408
+ string = stripAnsi3(string);
57409
+ }
57410
+ if (string.length === 0) {
57411
+ return 0;
57412
+ }
57413
+ let width = 0;
57414
+ const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
57415
+ for (const { segment: character } of segmenter3.segment(string)) {
57416
+ const codePoint = character.codePointAt(0);
57417
+ if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
57418
+ continue;
57419
+ }
57420
+ if (codePoint >= 8203 && codePoint <= 8207 || codePoint === 65279) {
57421
+ continue;
57422
+ }
57423
+ if (codePoint >= 768 && codePoint <= 879 || codePoint >= 6832 && codePoint <= 6911 || codePoint >= 7616 && codePoint <= 7679 || codePoint >= 8400 && codePoint <= 8447 || codePoint >= 65056 && codePoint <= 65071) {
57424
+ continue;
57425
+ }
57426
+ if (codePoint >= 55296 && codePoint <= 57343) {
57427
+ continue;
57428
+ }
57429
+ if (codePoint >= 65024 && codePoint <= 65039) {
57430
+ continue;
57431
+ }
57432
+ if (defaultIgnorableCodePointRegex2.test(character)) {
57433
+ continue;
57434
+ }
57435
+ if ((0, import_emoji_regex2.default)().test(character)) {
57436
+ width += 2;
57437
+ continue;
57438
+ }
57439
+ width += eastAsianWidth(codePoint, eastAsianWidthOptions);
57440
+ }
57441
+ return width;
57442
+ }
57443
+ var import_emoji_regex2, segmenter3, defaultIgnorableCodePointRegex2;
57444
+ var init_string_width3 = __esm({
57445
+ "node_modules/listr2/node_modules/string-width/index.js"() {
57446
+ init_strip_ansi3();
57447
+ init_get_east_asian_width();
57448
+ import_emoji_regex2 = __toESM(require_emoji_regex3(), 1);
57449
+ segmenter3 = new Intl.Segmenter();
57450
+ defaultIgnorableCodePointRegex2 = /^\p{Default_Ignorable_Code_Point}$/u;
57240
57451
  }
57241
57452
  });
57242
57453
 
@@ -57271,7 +57482,7 @@ function assembleStyles3() {
57271
57482
  styles3.bgColor.ansi16m = wrapAnsi16m3(ANSI_BACKGROUND_OFFSET3);
57272
57483
  Object.defineProperties(styles3, {
57273
57484
  rgbToAnsi256: {
57274
- value: (red2, green2, blue2) => {
57485
+ value(red2, green2, blue2) {
57275
57486
  if (red2 === green2 && green2 === blue2) {
57276
57487
  if (red2 < 8) {
57277
57488
  return 16;
@@ -57286,7 +57497,7 @@ function assembleStyles3() {
57286
57497
  enumerable: false
57287
57498
  },
57288
57499
  hexToRgb: {
57289
- value: (hex) => {
57500
+ value(hex) {
57290
57501
  const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
57291
57502
  if (!matches) {
57292
57503
  return [0, 0, 0];
@@ -57311,7 +57522,7 @@ function assembleStyles3() {
57311
57522
  enumerable: false
57312
57523
  },
57313
57524
  ansi256ToAnsi: {
57314
- value: (code) => {
57525
+ value(code) {
57315
57526
  if (code < 8) {
57316
57527
  return 30 + code;
57317
57528
  }
@@ -57442,8 +57653,8 @@ function wrapAnsi3(string, columns, options) {
57442
57653
  var ESCAPES3, END_CODE2, ANSI_ESCAPE_BELL2, ANSI_CSI2, ANSI_OSC2, ANSI_SGR_TERMINATOR2, ANSI_ESCAPE_LINK2, wrapAnsiCode2, wrapAnsiHyperlink2, wordLengths2, wrapWord2, stringVisibleTrimSpacesRight2, exec2;
57443
57654
  var init_wrap_ansi2 = __esm({
57444
57655
  "node_modules/listr2/node_modules/wrap-ansi/index.js"() {
57445
- init_string_width();
57446
- init_strip_ansi4();
57656
+ init_string_width3();
57657
+ init_strip_ansi3();
57447
57658
  init_ansi_styles3();
57448
57659
  ESCAPES3 = /* @__PURE__ */ new Set([
57449
57660
  "\x1B",
@@ -57457,14 +57668,14 @@ var init_wrap_ansi2 = __esm({
57457
57668
  ANSI_ESCAPE_LINK2 = `${ANSI_OSC2}8;;`;
57458
57669
  wrapAnsiCode2 = (code) => `${ESCAPES3.values().next().value}${ANSI_CSI2}${code}${ANSI_SGR_TERMINATOR2}`;
57459
57670
  wrapAnsiHyperlink2 = (url2) => `${ESCAPES3.values().next().value}${ANSI_ESCAPE_LINK2}${url2}${ANSI_ESCAPE_BELL2}`;
57460
- wordLengths2 = (string) => string.split(" ").map((character) => stringWidth(character));
57671
+ wordLengths2 = (string) => string.split(" ").map((character) => stringWidth3(character));
57461
57672
  wrapWord2 = (rows, word, columns) => {
57462
57673
  const characters = [...word];
57463
57674
  let isInsideEscape = false;
57464
57675
  let isInsideLinkEscape = false;
57465
- let visible = stringWidth(stripAnsi4(rows.at(-1)));
57676
+ let visible = stringWidth3(stripAnsi3(rows.at(-1)));
57466
57677
  for (const [index, character] of characters.entries()) {
57467
- const characterLength = stringWidth(character);
57678
+ const characterLength = stringWidth3(character);
57468
57679
  if (visible + characterLength <= columns) {
57469
57680
  rows[rows.length - 1] += character;
57470
57681
  } else {
@@ -57501,7 +57712,7 @@ var init_wrap_ansi2 = __esm({
57501
57712
  const words2 = string.split(" ");
57502
57713
  let last = words2.length;
57503
57714
  while (last > 0) {
57504
- if (stringWidth(words2[last - 1]) > 0) {
57715
+ if (stringWidth3(words2[last - 1]) > 0) {
57505
57716
  break;
57506
57717
  }
57507
57718
  last--;
@@ -57524,7 +57735,7 @@ var init_wrap_ansi2 = __esm({
57524
57735
  if (options.trim !== false) {
57525
57736
  rows[rows.length - 1] = rows.at(-1).trimStart();
57526
57737
  }
57527
- let rowLength = stringWidth(rows.at(-1));
57738
+ let rowLength = stringWidth3(rows.at(-1));
57528
57739
  if (index !== 0) {
57529
57740
  if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {
57530
57741
  rows.push("");
@@ -58948,7 +59159,7 @@ function isEmpty(value) {
58948
59159
  }, { "../util/url": 18, fs: 21, ono: 64 }], 16: [function(require2, module3, exports3) {
58949
59160
  (function(process9, Buffer2) {
58950
59161
  "use strict";
58951
- var http2 = require2("http"), https2 = require2("https"), ono = require2("ono"), url2 = require2("../util/url");
59162
+ var http3 = require2("http"), https2 = require2("https"), ono = require2("ono"), url2 = require2("../util/url");
58952
59163
  function download(t, o, e) {
58953
59164
  return new Promise(function(r, n) {
58954
59165
  t = url2.parse(t), (e = e || []).push(t.href), get(t, o).then(function(s) {
@@ -58966,7 +59177,7 @@ function isEmpty(value) {
58966
59177
  }
58967
59178
  function get(t, o) {
58968
59179
  return new Promise(function(e, r) {
58969
- var n = ("https:" === t.protocol ? https2 : http2).get({ hostname: t.hostname, port: t.port, path: t.path, auth: t.auth, protocol: t.protocol, headers: o.headers || {}, withCredentials: o.withCredentials });
59180
+ var n = ("https:" === t.protocol ? https2 : http3).get({ hostname: t.hostname, port: t.port, path: t.path, auth: t.auth, protocol: t.protocol, headers: o.headers || {}, withCredentials: o.withCredentials });
58970
59181
  "function" == typeof n.setTimeout && n.setTimeout(o.timeout), n.on("timeout", function() {
58971
59182
  n.abort();
58972
59183
  }), n.on("error", r), n.once("response", function(t2) {
@@ -60094,16 +60305,16 @@ function isEmpty(value) {
60094
60305
  }
60095
60306
  module3.exports = format4;
60096
60307
  }, {}], 29: [function(require2, module3, exports3) {
60097
- var http2 = require2("http"), url2 = require2("url"), https2 = module3.exports;
60098
- for (var key in http2) http2.hasOwnProperty(key) && (https2[key] = http2[key]);
60308
+ var http3 = require2("http"), url2 = require2("url"), https2 = module3.exports;
60309
+ for (var key in http3) http3.hasOwnProperty(key) && (https2[key] = http3[key]);
60099
60310
  function validateParams(t) {
60100
60311
  if ("string" == typeof t && (t = url2.parse(t)), t.protocol || (t.protocol = "https:"), "https:" !== t.protocol) throw new Error('Protocol "' + t.protocol + '" not supported. Expected "https:"');
60101
60312
  return t;
60102
60313
  }
60103
60314
  https2.request = function(t, r) {
60104
- return t = validateParams(t), http2.request.call(this, t, r);
60315
+ return t = validateParams(t), http3.request.call(this, t, r);
60105
60316
  }, https2.get = function(t, r) {
60106
- return t = validateParams(t), http2.get.call(this, t, r);
60317
+ return t = validateParams(t), http3.get.call(this, t, r);
60107
60318
  };
60108
60319
  }, { http: 80, url: 87 }], 30: [function(require2, module3, exports3) {
60109
60320
  exports3.read = function(a, o, t, r, h) {
@@ -62026,18 +62237,18 @@ function isEmpty(value) {
62026
62237
  };
62027
62238
  }, { buffer: 23 }], 80: [function(require2, module3, exports3) {
62028
62239
  (function(global4) {
62029
- var ClientRequest = require2("./lib/request"), response = require2("./lib/response"), extend2 = require2("xtend"), statusCodes = require2("builtin-status-codes"), url2 = require2("url"), http2 = exports3;
62030
- http2.request = function(e, t) {
62240
+ var ClientRequest = require2("./lib/request"), response = require2("./lib/response"), extend2 = require2("xtend"), statusCodes = require2("builtin-status-codes"), url2 = require2("url"), http3 = exports3;
62241
+ http3.request = function(e, t) {
62031
62242
  e = "string" == typeof e ? url2.parse(e) : extend2(e);
62032
62243
  var r = -1 === global4.location.protocol.search(/^https?:$/) ? "http:" : "", s = e.protocol || r, n = e.hostname || e.host, o = e.port, p = e.path || "/";
62033
62244
  n && -1 !== n.indexOf(":") && (n = "[" + n + "]"), e.url = (n ? s + "//" + n : "") + (o ? ":" + o : "") + p, e.method = (e.method || "GET").toUpperCase(), e.headers = e.headers || {};
62034
62245
  var u = new ClientRequest(e);
62035
62246
  return t && u.on("response", t), u;
62036
- }, http2.get = function(e, t) {
62037
- var r = http2.request(e, t);
62247
+ }, http3.get = function(e, t) {
62248
+ var r = http3.request(e, t);
62038
62249
  return r.end(), r;
62039
- }, http2.ClientRequest = ClientRequest, http2.IncomingMessage = response.IncomingMessage, http2.Agent = function() {
62040
- }, http2.Agent.defaultMaxSockets = 4, http2.globalAgent = new http2.Agent(), http2.STATUS_CODES = statusCodes, http2.METHODS = ["CHECKOUT", "CONNECT", "COPY", "DELETE", "GET", "HEAD", "LOCK", "M-SEARCH", "MERGE", "MKACTIVITY", "MKCOL", "MOVE", "NOTIFY", "OPTIONS", "PATCH", "POST", "PROPFIND", "PROPPATCH", "PURGE", "PUT", "REPORT", "SEARCH", "SUBSCRIBE", "TRACE", "UNLOCK", "UNSUBSCRIBE"];
62250
+ }, http3.ClientRequest = ClientRequest, http3.IncomingMessage = response.IncomingMessage, http3.Agent = function() {
62251
+ }, http3.Agent.defaultMaxSockets = 4, http3.globalAgent = new http3.Agent(), http3.STATUS_CODES = statusCodes, http3.METHODS = ["CHECKOUT", "CONNECT", "COPY", "DELETE", "GET", "HEAD", "LOCK", "M-SEARCH", "MERGE", "MKACTIVITY", "MKCOL", "MOVE", "NOTIFY", "OPTIONS", "PATCH", "POST", "PROPFIND", "PROPPATCH", "PURGE", "PUT", "REPORT", "SEARCH", "SUBSCRIBE", "TRACE", "UNLOCK", "UNSUBSCRIBE"];
62041
62252
  }).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {});
62042
62253
  }, { "./lib/request": 82, "./lib/response": 83, "builtin-status-codes": 24, url: 87, xtend: 90 }], 81: [function(require2, module3, exports3) {
62043
62254
  (function(global4) {
@@ -72557,7 +72768,10 @@ var specialFallbackSymbols = {
72557
72768
  oneNinth: "1/9",
72558
72769
  oneTenth: "1/10"
72559
72770
  };
72560
- var mainSymbols = { ...common, ...specialMainSymbols };
72771
+ var mainSymbols = {
72772
+ ...common,
72773
+ ...specialMainSymbols
72774
+ };
72561
72775
  var fallbackSymbols = {
72562
72776
  ...common,
72563
72777
  ...specialFallbackSymbols
@@ -72571,7 +72785,6 @@ var replacements = Object.entries(specialMainSymbols);
72571
72785
  var defaultTheme = {
72572
72786
  prefix: {
72573
72787
  idle: import_yoctocolors_cjs.default.blue("?"),
72574
- // TODO: use figure
72575
72788
  done: import_yoctocolors_cjs.default.green(esm_default.tick)
72576
72789
  },
72577
72790
  spinner: {
@@ -73628,7 +73841,7 @@ var editorTheme = {
73628
73841
  validationFailureMode: "keep"
73629
73842
  };
73630
73843
  var esm_default3 = createPrompt((config, done) => {
73631
- const { waitForUseInput = true, file: { postfix = config.postfix ?? ".txt", ...fileProps } = {}, validate: validate4 = () => true } = config;
73844
+ const { waitForUserInput = true, file: { postfix = config.postfix ?? ".txt", ...fileProps } = {}, validate: validate4 = () => true } = config;
73632
73845
  const theme = makeTheme(editorTheme, config.theme);
73633
73846
  const [status, setStatus] = useState("idle");
73634
73847
  const [value = "", setValue] = useState(config.default);
@@ -73665,7 +73878,7 @@ var esm_default3 = createPrompt((config, done) => {
73665
73878
  });
73666
73879
  }
73667
73880
  useEffect((rl) => {
73668
- if (!waitForUseInput) {
73881
+ if (!waitForUserInput) {
73669
73882
  startEditor(rl);
73670
73883
  }
73671
73884
  }, []);
@@ -73743,13 +73956,26 @@ var inputTheme = {
73743
73956
  validationFailureMode: "keep"
73744
73957
  };
73745
73958
  var esm_default5 = createPrompt((config, done) => {
73746
- const { required, validate: validate4 = () => true, prefill = "tab" } = config;
73959
+ const { prefill = "tab" } = config;
73747
73960
  const theme = makeTheme(inputTheme, config.theme);
73748
73961
  const [status, setStatus] = useState("idle");
73749
73962
  const [defaultValue = "", setDefaultValue] = useState(config.default);
73750
73963
  const [errorMsg, setError] = useState();
73751
73964
  const [value, setValue] = useState("");
73752
73965
  const prefix = usePrefix({ status, theme });
73966
+ async function validate4(value2) {
73967
+ const { required, pattern, patternError = "Invalid input" } = config;
73968
+ if (required && !value2) {
73969
+ return "You must provide a value";
73970
+ }
73971
+ if (pattern && !pattern.test(value2)) {
73972
+ return patternError;
73973
+ }
73974
+ if (typeof config.validate === "function") {
73975
+ return await config.validate(value2) || "You must provide a valid value";
73976
+ }
73977
+ return true;
73978
+ }
73753
73979
  useKeypress(async (key, rl) => {
73754
73980
  if (status !== "idle") {
73755
73981
  return;
@@ -73757,7 +73983,7 @@ var esm_default5 = createPrompt((config, done) => {
73757
73983
  if (isEnterKey(key)) {
73758
73984
  const answer = value || defaultValue;
73759
73985
  setStatus("loading");
73760
- const isValid2 = required && !answer ? "You must provide a value" : await validate4(answer);
73986
+ const isValid2 = await validate4(answer);
73761
73987
  if (isValid2 === true) {
73762
73988
  setValue(answer);
73763
73989
  setStatus("done");
@@ -73768,7 +73994,7 @@ var esm_default5 = createPrompt((config, done) => {
73768
73994
  } else {
73769
73995
  rl.write(value);
73770
73996
  }
73771
- setError(isValid2 || "You must provide a valid value");
73997
+ setError(isValid2);
73772
73998
  setStatus("idle");
73773
73999
  }
73774
74000
  } else if (isBackspaceKey(key) && !value) {
@@ -75434,7 +75660,7 @@ var InterceptorManager = class {
75434
75660
  *
75435
75661
  * @param {Number} id The ID that was returned by `use`
75436
75662
  *
75437
- * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
75663
+ * @returns {void}
75438
75664
  */
75439
75665
  eject(id) {
75440
75666
  if (this.handlers[id]) {
@@ -76056,12 +76282,13 @@ function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {
76056
76282
  var import_proxy_from_env = __toESM(require_proxy_from_env(), 1);
76057
76283
  var import_http = __toESM(require("http"), 1);
76058
76284
  var import_https = __toESM(require("https"), 1);
76285
+ var import_http2 = __toESM(require("http2"), 1);
76059
76286
  var import_util2 = __toESM(require("util"), 1);
76060
76287
  var import_follow_redirects = __toESM(require_follow_redirects(), 1);
76061
76288
  var import_zlib = __toESM(require("zlib"), 1);
76062
76289
 
76063
76290
  // node_modules/axios/lib/env/data.js
76064
- var VERSION = "1.12.2";
76291
+ var VERSION = "1.13.2";
76065
76292
 
76066
76293
  // node_modules/axios/lib/helpers/parseProtocol.js
76067
76294
  function parseProtocol(url2) {
@@ -76530,6 +76757,76 @@ var flushOnFinish = (stream4, [throttled, flush]) => {
76530
76757
  stream4.on("end", flush).on("error", flush);
76531
76758
  return throttled;
76532
76759
  };
76760
+ var Http2Sessions = class {
76761
+ constructor() {
76762
+ this.sessions = /* @__PURE__ */ Object.create(null);
76763
+ }
76764
+ getSession(authority, options) {
76765
+ options = Object.assign({
76766
+ sessionTimeout: 1e3
76767
+ }, options);
76768
+ let authoritySessions = this.sessions[authority];
76769
+ if (authoritySessions) {
76770
+ let len = authoritySessions.length;
76771
+ for (let i = 0; i < len; i++) {
76772
+ const [sessionHandle, sessionOptions] = authoritySessions[i];
76773
+ if (!sessionHandle.destroyed && !sessionHandle.closed && import_util2.default.isDeepStrictEqual(sessionOptions, options)) {
76774
+ return sessionHandle;
76775
+ }
76776
+ }
76777
+ }
76778
+ const session = import_http2.default.connect(authority, options);
76779
+ let removed;
76780
+ const removeSession = () => {
76781
+ if (removed) {
76782
+ return;
76783
+ }
76784
+ removed = true;
76785
+ let entries = authoritySessions, len = entries.length, i = len;
76786
+ while (i--) {
76787
+ if (entries[i][0] === session) {
76788
+ if (len === 1) {
76789
+ delete this.sessions[authority];
76790
+ } else {
76791
+ entries.splice(i, 1);
76792
+ }
76793
+ return;
76794
+ }
76795
+ }
76796
+ };
76797
+ const originalRequestFn = session.request;
76798
+ const { sessionTimeout } = options;
76799
+ if (sessionTimeout != null) {
76800
+ let timer;
76801
+ let streamsCount = 0;
76802
+ session.request = function() {
76803
+ const stream4 = originalRequestFn.apply(this, arguments);
76804
+ streamsCount++;
76805
+ if (timer) {
76806
+ clearTimeout(timer);
76807
+ timer = null;
76808
+ }
76809
+ stream4.once("close", () => {
76810
+ if (!--streamsCount) {
76811
+ timer = setTimeout(() => {
76812
+ timer = null;
76813
+ removeSession();
76814
+ }, sessionTimeout);
76815
+ }
76816
+ });
76817
+ return stream4;
76818
+ };
76819
+ }
76820
+ session.once("close", removeSession);
76821
+ let entry = [
76822
+ session,
76823
+ options
76824
+ ];
76825
+ authoritySessions ? authoritySessions.push(entry) : authoritySessions = this.sessions[authority] = [entry];
76826
+ return session;
76827
+ }
76828
+ };
76829
+ var http2Sessions = new Http2Sessions();
76533
76830
  function dispatchBeforeRedirect(options, responseDetails) {
76534
76831
  if (options.beforeRedirects.proxy) {
76535
76832
  options.beforeRedirects.proxy(options);
@@ -76602,14 +76899,54 @@ var resolveFamily = ({ address, family }) => {
76602
76899
  };
76603
76900
  };
76604
76901
  var buildAddressEntry = (address, family) => resolveFamily(utils_default2.isObject(address) ? address : { address, family });
76902
+ var http2Transport = {
76903
+ request(options, cb) {
76904
+ const authority = options.protocol + "//" + options.hostname + ":" + (options.port || 80);
76905
+ const { http2Options, headers: headers2 } = options;
76906
+ const session = http2Sessions.getSession(authority, http2Options);
76907
+ const {
76908
+ HTTP2_HEADER_SCHEME,
76909
+ HTTP2_HEADER_METHOD,
76910
+ HTTP2_HEADER_PATH,
76911
+ HTTP2_HEADER_STATUS
76912
+ } = import_http2.default.constants;
76913
+ const http2Headers = {
76914
+ [HTTP2_HEADER_SCHEME]: options.protocol.replace(":", ""),
76915
+ [HTTP2_HEADER_METHOD]: options.method,
76916
+ [HTTP2_HEADER_PATH]: options.path
76917
+ };
76918
+ utils_default2.forEach(headers2, (header, name) => {
76919
+ name.charAt(0) !== ":" && (http2Headers[name] = header);
76920
+ });
76921
+ const req = session.request(http2Headers);
76922
+ req.once("response", (responseHeaders) => {
76923
+ const response = req;
76924
+ responseHeaders = Object.assign({}, responseHeaders);
76925
+ const status = responseHeaders[HTTP2_HEADER_STATUS];
76926
+ delete responseHeaders[HTTP2_HEADER_STATUS];
76927
+ response.headers = responseHeaders;
76928
+ response.statusCode = +status;
76929
+ cb(response);
76930
+ });
76931
+ return req;
76932
+ }
76933
+ };
76605
76934
  var http_default = isHttpAdapterSupported && function httpAdapter(config) {
76606
76935
  return wrapAsync(async function dispatchHttpRequest(resolve2, reject, onDone) {
76607
- let { data, lookup, family } = config;
76936
+ let { data, lookup, family, httpVersion = 1, http2Options } = config;
76608
76937
  const { responseType, responseEncoding } = config;
76609
76938
  const method = config.method.toUpperCase();
76610
76939
  let isDone;
76611
76940
  let rejected = false;
76612
76941
  let req;
76942
+ httpVersion = +httpVersion;
76943
+ if (Number.isNaN(httpVersion)) {
76944
+ throw TypeError(`Invalid protocol version: '${config.httpVersion}' is not a number`);
76945
+ }
76946
+ if (httpVersion !== 1 && httpVersion !== 2) {
76947
+ throw TypeError(`Unsupported protocol version '${httpVersion}'`);
76948
+ }
76949
+ const isHttp2 = httpVersion === 2;
76613
76950
  if (lookup) {
76614
76951
  const _lookup = callbackify_default(lookup, (value) => utils_default2.isArray(value) ? value : [value]);
76615
76952
  lookup = (hostname, opt, cb) => {
@@ -76622,7 +76959,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) {
76622
76959
  });
76623
76960
  };
76624
76961
  }
76625
- const emitter = new import_events.EventEmitter();
76962
+ const abortEmitter = new import_events.EventEmitter();
76963
+ function abort(reason) {
76964
+ try {
76965
+ abortEmitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config, req) : reason);
76966
+ } catch (err) {
76967
+ console.warn("emit error", err);
76968
+ }
76969
+ }
76970
+ abortEmitter.once("abort", reject);
76626
76971
  const onFinished = () => {
76627
76972
  if (config.cancelToken) {
76628
76973
  config.cancelToken.unsubscribe(abort);
@@ -76630,25 +76975,31 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) {
76630
76975
  if (config.signal) {
76631
76976
  config.signal.removeEventListener("abort", abort);
76632
76977
  }
76633
- emitter.removeAllListeners();
76978
+ abortEmitter.removeAllListeners();
76634
76979
  };
76635
- onDone((value, isRejected) => {
76636
- isDone = true;
76637
- if (isRejected) {
76638
- rejected = true;
76639
- onFinished();
76640
- }
76641
- });
76642
- function abort(reason) {
76643
- emitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config, req) : reason);
76644
- }
76645
- emitter.once("abort", reject);
76646
76980
  if (config.cancelToken || config.signal) {
76647
76981
  config.cancelToken && config.cancelToken.subscribe(abort);
76648
76982
  if (config.signal) {
76649
76983
  config.signal.aborted ? abort() : config.signal.addEventListener("abort", abort);
76650
76984
  }
76651
76985
  }
76986
+ onDone((response, isRejected) => {
76987
+ isDone = true;
76988
+ if (isRejected) {
76989
+ rejected = true;
76990
+ onFinished();
76991
+ return;
76992
+ }
76993
+ const { data: data2 } = response;
76994
+ if (data2 instanceof import_stream4.default.Readable || data2 instanceof import_stream4.default.Duplex) {
76995
+ const offListeners = import_stream4.default.finished(data2, () => {
76996
+ offListeners();
76997
+ onFinished();
76998
+ });
76999
+ } else {
77000
+ onFinished();
77001
+ }
77002
+ });
76652
77003
  const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);
76653
77004
  const parsed = new URL(fullPath, platform_default.hasBrowserEnv ? platform_default.origin : void 0);
76654
77005
  const protocol = parsed.protocol || supportedProtocols[0];
@@ -76814,7 +77165,8 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) {
76814
77165
  protocol,
76815
77166
  family,
76816
77167
  beforeRedirect: dispatchBeforeRedirect,
76817
- beforeRedirects: {}
77168
+ beforeRedirects: {},
77169
+ http2Options
76818
77170
  };
76819
77171
  !utils_default2.isUndefined(lookup) && (options.lookup = lookup);
76820
77172
  if (config.socketPath) {
@@ -76827,18 +77179,22 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) {
76827
77179
  let transport;
76828
77180
  const isHttpsRequest = isHttps.test(options.protocol);
76829
77181
  options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;
76830
- if (config.transport) {
76831
- transport = config.transport;
76832
- } else if (config.maxRedirects === 0) {
76833
- transport = isHttpsRequest ? import_https.default : import_http.default;
77182
+ if (isHttp2) {
77183
+ transport = http2Transport;
76834
77184
  } else {
76835
- if (config.maxRedirects) {
76836
- options.maxRedirects = config.maxRedirects;
76837
- }
76838
- if (config.beforeRedirect) {
76839
- options.beforeRedirects.config = config.beforeRedirect;
77185
+ if (config.transport) {
77186
+ transport = config.transport;
77187
+ } else if (config.maxRedirects === 0) {
77188
+ transport = isHttpsRequest ? import_https.default : import_http.default;
77189
+ } else {
77190
+ if (config.maxRedirects) {
77191
+ options.maxRedirects = config.maxRedirects;
77192
+ }
77193
+ if (config.beforeRedirect) {
77194
+ options.beforeRedirects.config = config.beforeRedirect;
77195
+ }
77196
+ transport = isHttpsRequest ? httpsFollow : httpFollow;
76840
77197
  }
76841
- transport = isHttpsRequest ? httpsFollow : httpFollow;
76842
77198
  }
76843
77199
  if (config.maxBodyLength > -1) {
76844
77200
  options.maxBodyLength = config.maxBodyLength;
@@ -76851,7 +77207,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) {
76851
77207
  req = transport.request(options, function handleResponse(res) {
76852
77208
  if (req.destroyed) return;
76853
77209
  const streams = [res];
76854
- const responseLength = +res.headers["content-length"];
77210
+ const responseLength = utils_default2.toFiniteNumber(res.headers["content-length"]);
76855
77211
  if (onDownloadProgress || maxDownloadRate) {
76856
77212
  const transformStream = new AxiosTransformStream_default({
76857
77213
  maxRate: utils_default2.toFiniteNumber(maxDownloadRate)
@@ -76893,10 +77249,6 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) {
76893
77249
  }
76894
77250
  }
76895
77251
  responseStream = streams.length > 1 ? import_stream4.default.pipeline(streams, utils_default2.noop) : streams[0];
76896
- const offListeners = import_stream4.default.finished(responseStream, () => {
76897
- offListeners();
76898
- onFinished();
76899
- });
76900
77252
  const response = {
76901
77253
  status: res.statusCode,
76902
77254
  statusText: res.statusMessage,
@@ -76916,7 +77268,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) {
76916
77268
  if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {
76917
77269
  rejected = true;
76918
77270
  responseStream.destroy();
76919
- reject(new AxiosError_default(
77271
+ abort(new AxiosError_default(
76920
77272
  "maxContentLength size of " + config.maxContentLength + " exceeded",
76921
77273
  AxiosError_default.ERR_BAD_RESPONSE,
76922
77274
  config,
@@ -76957,16 +77309,19 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) {
76957
77309
  settle(resolve2, reject, response);
76958
77310
  });
76959
77311
  }
76960
- emitter.once("abort", (err) => {
77312
+ abortEmitter.once("abort", (err) => {
76961
77313
  if (!responseStream.destroyed) {
76962
77314
  responseStream.emit("error", err);
76963
77315
  responseStream.destroy();
76964
77316
  }
76965
77317
  });
76966
77318
  });
76967
- emitter.once("abort", (err) => {
76968
- reject(err);
76969
- req.destroy(err);
77319
+ abortEmitter.once("abort", (err) => {
77320
+ if (req.close) {
77321
+ req.close();
77322
+ } else {
77323
+ req.destroy(err);
77324
+ }
76970
77325
  });
76971
77326
  req.on("error", function handleRequestError(err) {
76972
77327
  reject(AxiosError_default.from(err, null, config, req));
@@ -76977,7 +77332,7 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) {
76977
77332
  if (config.timeout) {
76978
77333
  const timeout = parseInt(config.timeout, 10);
76979
77334
  if (Number.isNaN(timeout)) {
76980
- reject(new AxiosError_default(
77335
+ abort(new AxiosError_default(
76981
77336
  "error trying to parse `config.timeout` to int",
76982
77337
  AxiosError_default.ERR_BAD_OPTION_VALUE,
76983
77338
  config,
@@ -76992,14 +77347,15 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) {
76992
77347
  if (config.timeoutErrorMessage) {
76993
77348
  timeoutErrorMessage = config.timeoutErrorMessage;
76994
77349
  }
76995
- reject(new AxiosError_default(
77350
+ abort(new AxiosError_default(
76996
77351
  timeoutErrorMessage,
76997
77352
  transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED,
76998
77353
  config,
76999
77354
  req
77000
77355
  ));
77001
- abort();
77002
77356
  });
77357
+ } else {
77358
+ req.setTimeout(0);
77003
77359
  }
77004
77360
  if (utils_default2.isStream(data)) {
77005
77361
  let ended = false;
@@ -77018,7 +77374,8 @@ var http_default = isHttpAdapterSupported && function httpAdapter(config) {
77018
77374
  });
77019
77375
  data.pipe(req);
77020
77376
  } else {
77021
- req.end(data);
77377
+ data && req.write(data);
77378
+ req.end();
77022
77379
  }
77023
77380
  });
77024
77381
  };
@@ -77036,20 +77393,33 @@ var isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? /* @__PUR
77036
77393
  var cookies_default = platform_default.hasStandardBrowserEnv ? (
77037
77394
  // Standard browser envs support document.cookie
77038
77395
  {
77039
- write(name, value, expires, path7, domain, secure) {
77040
- const cookie = [name + "=" + encodeURIComponent(value)];
77041
- utils_default2.isNumber(expires) && cookie.push("expires=" + new Date(expires).toGMTString());
77042
- utils_default2.isString(path7) && cookie.push("path=" + path7);
77043
- utils_default2.isString(domain) && cookie.push("domain=" + domain);
77044
- secure === true && cookie.push("secure");
77396
+ write(name, value, expires, path7, domain, secure, sameSite) {
77397
+ if (typeof document === "undefined") return;
77398
+ const cookie = [`${name}=${encodeURIComponent(value)}`];
77399
+ if (utils_default2.isNumber(expires)) {
77400
+ cookie.push(`expires=${new Date(expires).toUTCString()}`);
77401
+ }
77402
+ if (utils_default2.isString(path7)) {
77403
+ cookie.push(`path=${path7}`);
77404
+ }
77405
+ if (utils_default2.isString(domain)) {
77406
+ cookie.push(`domain=${domain}`);
77407
+ }
77408
+ if (secure === true) {
77409
+ cookie.push("secure");
77410
+ }
77411
+ if (utils_default2.isString(sameSite)) {
77412
+ cookie.push(`SameSite=${sameSite}`);
77413
+ }
77045
77414
  document.cookie = cookie.join("; ");
77046
77415
  },
77047
77416
  read(name) {
77048
- const match2 = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)"));
77049
- return match2 ? decodeURIComponent(match2[3]) : null;
77417
+ if (typeof document === "undefined") return null;
77418
+ const match2 = document.cookie.match(new RegExp("(?:^|; )" + name + "=([^;]*)"));
77419
+ return match2 ? decodeURIComponent(match2[1]) : null;
77050
77420
  },
77051
77421
  remove(name) {
77052
- this.write(name, "", Date.now() - 864e5);
77422
+ this.write(name, "", Date.now() - 864e5, "/");
77053
77423
  }
77054
77424
  }
77055
77425
  ) : (
@@ -77616,7 +77986,7 @@ var factory = (env2) => {
77616
77986
  };
77617
77987
  var seedCache = /* @__PURE__ */ new Map();
77618
77988
  var getFetch = (config) => {
77619
- let env2 = config ? config.env : {};
77989
+ let env2 = config && config.env || {};
77620
77990
  const { fetch: fetch2, Request, Response } = env2;
77621
77991
  const seeds = [
77622
77992
  Request,
@@ -77653,40 +78023,49 @@ utils_default2.forEach(knownAdapters, (fn, value) => {
77653
78023
  });
77654
78024
  var renderReason = (reason) => `- ${reason}`;
77655
78025
  var isResolvedHandle = (adapter2) => utils_default2.isFunction(adapter2) || adapter2 === null || adapter2 === false;
77656
- var adapters_default = {
77657
- getAdapter: (adapters, config) => {
77658
- adapters = utils_default2.isArray(adapters) ? adapters : [adapters];
77659
- const { length } = adapters;
77660
- let nameOrAdapter;
77661
- let adapter2;
77662
- const rejectedReasons = {};
77663
- for (let i = 0; i < length; i++) {
77664
- nameOrAdapter = adapters[i];
77665
- let id;
77666
- adapter2 = nameOrAdapter;
77667
- if (!isResolvedHandle(nameOrAdapter)) {
77668
- adapter2 = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];
77669
- if (adapter2 === void 0) {
77670
- throw new AxiosError_default(`Unknown adapter '${id}'`);
77671
- }
77672
- }
77673
- if (adapter2 && (utils_default2.isFunction(adapter2) || (adapter2 = adapter2.get(config)))) {
77674
- break;
77675
- }
77676
- rejectedReasons[id || "#" + i] = adapter2;
77677
- }
77678
- if (!adapter2) {
77679
- const reasons = Object.entries(rejectedReasons).map(
77680
- ([id, state]) => `adapter ${id} ` + (state === false ? "is not supported by the environment" : "is not available in the build")
77681
- );
77682
- let s = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified";
77683
- throw new AxiosError_default(
77684
- `There is no suitable adapter to dispatch the request ` + s,
77685
- "ERR_NOT_SUPPORT"
77686
- );
78026
+ function getAdapter(adapters, config) {
78027
+ adapters = utils_default2.isArray(adapters) ? adapters : [adapters];
78028
+ const { length } = adapters;
78029
+ let nameOrAdapter;
78030
+ let adapter2;
78031
+ const rejectedReasons = {};
78032
+ for (let i = 0; i < length; i++) {
78033
+ nameOrAdapter = adapters[i];
78034
+ let id;
78035
+ adapter2 = nameOrAdapter;
78036
+ if (!isResolvedHandle(nameOrAdapter)) {
78037
+ adapter2 = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];
78038
+ if (adapter2 === void 0) {
78039
+ throw new AxiosError_default(`Unknown adapter '${id}'`);
78040
+ }
78041
+ }
78042
+ if (adapter2 && (utils_default2.isFunction(adapter2) || (adapter2 = adapter2.get(config)))) {
78043
+ break;
77687
78044
  }
77688
- return adapter2;
77689
- },
78045
+ rejectedReasons[id || "#" + i] = adapter2;
78046
+ }
78047
+ if (!adapter2) {
78048
+ const reasons = Object.entries(rejectedReasons).map(
78049
+ ([id, state]) => `adapter ${id} ` + (state === false ? "is not supported by the environment" : "is not available in the build")
78050
+ );
78051
+ let s = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified";
78052
+ throw new AxiosError_default(
78053
+ `There is no suitable adapter to dispatch the request ` + s,
78054
+ "ERR_NOT_SUPPORT"
78055
+ );
78056
+ }
78057
+ return adapter2;
78058
+ }
78059
+ var adapters_default = {
78060
+ /**
78061
+ * Resolve an adapter from a list of adapter names or functions.
78062
+ * @type {Function}
78063
+ */
78064
+ getAdapter,
78065
+ /**
78066
+ * Exposes all known adapters
78067
+ * @type {Object<string, Function|Object>}
78068
+ */
77690
78069
  adapters: knownAdapters
77691
78070
  };
77692
78071
 
@@ -78145,7 +78524,13 @@ var HttpStatusCode = {
78145
78524
  InsufficientStorage: 507,
78146
78525
  LoopDetected: 508,
78147
78526
  NotExtended: 510,
78148
- NetworkAuthenticationRequired: 511
78527
+ NetworkAuthenticationRequired: 511,
78528
+ WebServerIsDown: 521,
78529
+ ConnectionTimedOut: 522,
78530
+ OriginIsUnreachable: 523,
78531
+ TimeoutOccurred: 524,
78532
+ SslHandshakeFailed: 525,
78533
+ InvalidSslCertificate: 526
78149
78534
  };
78150
78535
  Object.entries(HttpStatusCode).forEach(([key, value]) => {
78151
78536
  HttpStatusCode[value] = key;
@@ -78201,7 +78586,7 @@ var {
78201
78586
  AxiosHeaders: AxiosHeaders2,
78202
78587
  HttpStatusCode: HttpStatusCode2,
78203
78588
  formToJSON,
78204
- getAdapter,
78589
+ getAdapter: getAdapter2,
78205
78590
  mergeConfig: mergeConfig2
78206
78591
  } = axios_default;
78207
78592
 
@@ -78934,10 +79319,10 @@ var Sqids = class {
78934
79319
 
78935
79320
  // packages/kong-cli/src/common/utils.ts
78936
79321
  function commandToArray(inputCommand) {
78937
- const regex5 = /[^\s"]+|"([^"]*)"/g;
79322
+ const regex4 = /[^\s"]+|"([^"]*)"/g;
78938
79323
  const result = [];
78939
79324
  let match2;
78940
- while ((match2 = regex5.exec(inputCommand)) !== null) {
79325
+ while ((match2 = regex4.exec(inputCommand)) !== null) {
78941
79326
  if (match2[1]) {
78942
79327
  result.push(match2[1]);
78943
79328
  } else {
@@ -79164,13 +79549,12 @@ var KONG_JSON_SCHEMA = {
79164
79549
  type: "string",
79165
79550
  enum: ["python", "kotlin"]
79166
79551
  },
79167
- alias: {
79552
+ category: {
79553
+ type: "string"
79554
+ },
79555
+ settings: {
79168
79556
  type: "object",
79169
79557
  properties: {
79170
- env: {
79171
- type: "object",
79172
- additionalProperties: true
79173
- },
79174
79558
  input: {
79175
79559
  type: "object",
79176
79560
  properties: {
@@ -79260,7 +79644,7 @@ var KONG_JSON_SCHEMA = {
79260
79644
  }
79261
79645
  },
79262
79646
  additionalProperties: false,
79263
- required: ["id", "name", "sdk"]
79647
+ required: ["id", "name", "sdk", "category"]
79264
79648
  };
79265
79649
 
79266
79650
  // packages/kong-cli/src/common/kongJson.ts
@@ -79273,6 +79657,11 @@ function validateKongJson(kongJson) {
79273
79657
  "The `id` field should not be empty. Please provide a valid identifier in kong.json."
79274
79658
  );
79275
79659
  }
79660
+ if (isEmpty(kongJson.category)) {
79661
+ throw new AppError(
79662
+ "The `category` field should not be empty. Please provide a category value in kong.json."
79663
+ );
79664
+ }
79276
79665
  if (!/^[a-z][a-z0-9]{11}$/.test(kongJson.id)) {
79277
79666
  throw new AppError(
79278
79667
  "The id must be exactly 12 characters long and consist of alphanumeric characters (lowercase letters and digits). It must start with a letter. Ensure the ID does not exceed 12 characters. Please provide a valid identifier in kong.json"
@@ -79323,7 +79712,8 @@ var GenerateCommand = class {
79323
79712
  id,
79324
79713
  sdk,
79325
79714
  name: extensionName,
79326
- alias: {}
79715
+ category: "unknown",
79716
+ settings: {}
79327
79717
  });
79328
79718
  await (0, import_create_nx_workspace.createWorkspace)(`@devkong/cli-nx@${presetVersion}`, {
79329
79719
  name: extensionName,
@@ -81198,8 +81588,8 @@ var Listr = class {
81198
81588
  if (!this.renderer) this.renderer = new this.rendererClass(this.tasks, this.rendererClassOptions, this.events);
81199
81589
  await this.renderer.render();
81200
81590
  this.ctx = this.options?.ctx ?? context ?? {};
81201
- await Promise.all(this.tasks.map((task) => task.check(this.ctx)));
81202
81591
  try {
81592
+ await Promise.all(this.tasks.map((task) => task.check(this.ctx)));
81203
81593
  await Promise.all(this.tasks.map((task) => this.concurrency.add(() => this.runTask(task))));
81204
81594
  this.renderer.end();
81205
81595
  this.removeSignalHandler();
@@ -81657,9 +82047,6 @@ var PublishVersionCommand = class {
81657
82047
  title: "Save publish details",
81658
82048
  task: async (ctx, task) => {
81659
82049
  const jsonSchemas = JSON.parse(ctx.contractText);
81660
- if ("alias" in kongJson) {
81661
- delete kongJson["alias"];
81662
- }
81663
82050
  const snapshot = {
81664
82051
  extensionId: kongJson.id,
81665
82052
  extensionName: kongJson.name,
@@ -81697,7 +82084,7 @@ var PublishVersionCommand = class {
81697
82084
  return `${engine} ${escapePathSpaces(mainPyPath)} --schema`;
81698
82085
  }
81699
82086
  getKotlinBuildCmdTask() {
81700
- return `${this.wslPrefix} ./gradlew build -Dquarkus.package.main-class=io.kong.sdkkotlin.QuarkusApp`;
82087
+ return `${this.wslPrefix} ./gradlew build -Dquarkus.package.main-class=io.kong.sdkkotlin.JsonSchemaGeneratingQuarkusApp`;
81701
82088
  }
81702
82089
  getKotlinSchemaCmdTask() {
81703
82090
  return `${this.wslPrefix} java -Dquarkus-profile=local -jar build/quarkus-app/quarkus-run.jar --schema`;
@@ -81757,18 +82144,24 @@ var SetAliasCommand = class {
81757
82144
  const aliasUse = {
81758
82145
  snapshot: ctx.snapshot,
81759
82146
  balance: 100,
81760
- inputFilter: ctx.kongJson.alias?.input?.filter,
81761
- outputFilter: ctx.kongJson.alias?.output?.filter,
81762
- env: ctx.kongJson.alias?.env
82147
+ inputFilter: void 0,
82148
+ outputFilter: void 0
81763
82149
  };
81764
82150
  const alias = {
81765
82151
  name: aliasName,
81766
82152
  basedOnName: ctx.kongJson.name,
81767
82153
  basedOnId: ctx.kongJson.id,
82154
+ basedOnCategory: ctx.kongJson.category,
82155
+ status: "idle",
82156
+ statusDetails: null,
82157
+ triggerName: "queue",
82158
+ triggerSettings: {
82159
+ targetKey: `/extensions/${ctx.kongJson.id}/aliases/${aliasName}`
82160
+ },
81768
82161
  use: [aliasUse],
81769
- inputSchema: ctx.kongJson.alias?.input?.schema,
81770
- outputSchema: ctx.kongJson.alias?.output?.schema,
81771
- invoke: ctx.kongJson.alias?.invoke,
82162
+ inputSchema: {},
82163
+ outputSchema: {},
82164
+ invoke: void 0,
81772
82165
  created: now,
81773
82166
  createdBy: "",
81774
82167
  updated: now,
@@ -81896,6 +82289,9 @@ mime-types/index.js:
81896
82289
  * MIT Licensed
81897
82290
  *)
81898
82291
 
82292
+ safe-buffer/index.js:
82293
+ (*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)
82294
+
81899
82295
  tmp/lib/tmp.js:
81900
82296
  (*!
81901
82297
  * Tmp