zephyr-webpack-plugin 0.0.7 → 0.0.9

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 (57) hide show
  1. package/package.json +5 -9
  2. package/src/delegate-module/zephyr-delegate.js +8 -1
  3. package/src/delegate-module/zephyr-delegate.js.map +1 -1
  4. package/src/federation-dashboard-legacy/get-dashboard-data.d.ts +1 -1
  5. package/src/federation-dashboard-legacy/get-dashboard-data.js +6 -2
  6. package/src/federation-dashboard-legacy/get-dashboard-data.js.map +1 -1
  7. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/FederationDashboardPlugin.d.ts +1 -2
  8. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/FederationDashboardPlugin.js +105 -83
  9. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/FederationDashboardPlugin.js.map +1 -1
  10. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/federation-dashboard-plugin-options.d.ts +0 -1
  11. package/src/hacks/resolve-index-html.js +3 -0
  12. package/src/hacks/resolve-index-html.js.map +1 -1
  13. package/src/index.d.ts +0 -1
  14. package/src/index.js +1 -3
  15. package/src/index.js.map +1 -1
  16. package/src/lib/actions/ze-enable-snapshot-on-edge.js +4 -13
  17. package/src/lib/actions/ze-enable-snapshot-on-edge.js.map +1 -1
  18. package/src/lib/actions/ze-upload-assets.js +5 -11
  19. package/src/lib/actions/ze-upload-assets.js.map +1 -1
  20. package/src/lib/actions/ze-upload-build-stats.d.ts +1 -1
  21. package/src/lib/actions/ze-upload-build-stats.js +20 -20
  22. package/src/lib/actions/ze-upload-build-stats.js.map +1 -1
  23. package/src/lib/actions/ze-upload-snapshot.js +12 -13
  24. package/src/lib/actions/ze-upload-snapshot.js.map +1 -1
  25. package/src/lib/dependency-resolution/replace-remotes-with-delegates.js +2 -1
  26. package/src/lib/dependency-resolution/replace-remotes-with-delegates.js.map +1 -1
  27. package/src/lib/payload-builders/ze-build-assets-map.js +4 -0
  28. package/src/lib/payload-builders/ze-build-assets-map.js.map +1 -1
  29. package/src/lib/payload-builders/ze-build-snapshot.js +1 -0
  30. package/src/lib/payload-builders/ze-build-snapshot.js.map +1 -1
  31. package/src/lib/upload/upload-envs.js +5 -4
  32. package/src/lib/upload/upload-envs.js.map +1 -1
  33. package/src/lib/upload/upload-file.js +7 -6
  34. package/src/lib/upload/upload-file.js.map +1 -1
  35. package/src/lib/upload/upload-snapshot.js +8 -5
  36. package/src/lib/upload/upload-snapshot.js.map +1 -1
  37. package/src/lib/utils/is-mf-plugin.d.ts +4 -0
  38. package/src/lib/utils/is-mf-plugin.js +11 -0
  39. package/src/lib/utils/is-mf-plugin.js.map +1 -0
  40. package/src/lib/utils/ze-log-event.js +17 -11
  41. package/src/lib/utils/ze-log-event.js.map +1 -1
  42. package/src/lib/with-zephyr.js +9 -1
  43. package/src/lib/with-zephyr.js.map +1 -1
  44. package/src/lib/ze-agent/index.js +6 -7
  45. package/src/lib/ze-agent/index.js.map +1 -1
  46. package/src/lib/ze-agent/lifecycle-events.js +3 -0
  47. package/src/lib/ze-agent/lifecycle-events.js.map +1 -1
  48. package/src/lib/ze-setup-build-id.js +15 -11
  49. package/src/lib/ze-setup-build-id.js.map +1 -1
  50. package/src/lib/ze-setup-build-steps-logging.js +4 -7
  51. package/src/lib/ze-setup-build-steps-logging.js.map +1 -1
  52. package/src/lib/ze-setup-ze-deploy.js +4 -1
  53. package/src/lib/ze-setup-ze-deploy.js.map +1 -1
  54. package/src/lib/ze-webpack-plugin.js.map +1 -1
  55. package/src/lib/utils/ze-http-request.d.ts +0 -6
  56. package/src/lib/utils/ze-http-request.js +0 -31
  57. package/src/lib/utils/ze-http-request.js.map +0 -1
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.logBuildSteps = void 0;
4
4
  const ze_log_event_1 = require("./utils/ze-log-event");
5
+ const zephyr_edge_contract_1 = require("zephyr-edge-contract");
5
6
  function logBuildSteps(pluginOptions, compiler) {
6
7
  const { pluginName, zeConfig, buildEnv } = pluginOptions;
7
8
  const logEvent = (0, ze_log_event_1.logger)(pluginOptions);
@@ -10,11 +11,7 @@ function logBuildSteps(pluginOptions, compiler) {
10
11
  if (!zeConfig.buildId)
11
12
  return cb();
12
13
  buildStartedAt = Date.now();
13
- // logEvent({
14
- // level: 'info',
15
- // action: 'build:started',
16
- // message: `${buildEnv} build started`,
17
- // });
14
+ (0, zephyr_edge_contract_1.ze_log)('build started at', buildStartedAt);
18
15
  cb();
19
16
  });
20
17
  compiler.hooks.done.tap(pluginName, () => {
@@ -29,11 +26,11 @@ function logBuildSteps(pluginOptions, compiler) {
29
26
  compiler.hooks.failed.tap(pluginName, (err) => {
30
27
  if (!zeConfig.buildId)
31
28
  return;
29
+ (0, zephyr_edge_contract_1.ze_error)('build failed', err);
32
30
  logEvent({
33
31
  level: 'error',
34
32
  action: 'build:failed',
35
- message: `${buildEnv} build failed in ${Date.now() - buildStartedAt}ms`,
36
- meta: { error: err.toString() },
33
+ message: `${buildEnv} build failed in ${Date.now() - buildStartedAt}ms \n ${err.message} \n ${err.stack}`
37
34
  });
38
35
  });
39
36
  return { buildStartedAt };
@@ -1 +1 @@
1
- {"version":3,"file":"ze-setup-build-steps-logging.js","sourceRoot":"","sources":["../../../../../packages/zephyr-webpack-plugin/src/lib/ze-setup-build-steps-logging.ts"],"names":[],"mappings":";;;AACA,uDAA8C;AAG9C,SAAgB,aAAa,CAC3B,aAAqC,EACrC,QAAkB;IAElB,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAA,qBAAM,EAAC,aAAa,CAAC,CAAC;IAEvC,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;QACrE,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO,EAAE,EAAE,CAAC;QACnC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,aAAa;QACb,mBAAmB;QACnB,6BAA6B;QAC7B,0CAA0C;QAC1C,MAAM;QACN,EAAE,EAAE,CAAC;IACP,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE;QACvC,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC9B,QAAQ,CAAC;YACP,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,GAAG,QAAQ,sBAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,IAAI;SAC1E,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;QAC5C,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC9B,QAAQ,CAAC;YACP,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,GAAG,QAAQ,oBAAoB,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,IAAI;YACvE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE;SAChC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,cAAc,EAAE,CAAC;AAC5B,CAAC;AArCD,sCAqCC"}
1
+ {"version":3,"file":"ze-setup-build-steps-logging.js","sourceRoot":"","sources":["../../../../../packages/zephyr-webpack-plugin/src/lib/ze-setup-build-steps-logging.ts"],"names":[],"mappings":";;;AACA,uDAA8C;AAE9C,+DAAwD;AAExD,SAAgB,aAAa,CAC3B,aAAqC,EACrC,QAAkB;IAElB,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAA,qBAAM,EAAC,aAAa,CAAC,CAAC;IAEvC,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;QACrE,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO,EAAE,EAAE,CAAC;QACnC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAA,6BAAM,EAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;QAC3C,EAAE,EAAE,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE;QACvC,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC9B,QAAQ,CAAC;YACP,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,GAAG,QAAQ,sBAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,IAAI;SAC1E,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;QAC5C,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC9B,IAAA,+BAAQ,EAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAC9B,QAAQ,CAAC;YACP,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,GAAG,QAAQ,oBAAoB,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,SAAS,GAAG,CAAC,OAAO,OAAO,GAAG,CAAC,KAAK,EAAE;SAC1G,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,cAAc,EAAE,CAAC;AAC5B,CAAC;AAnCD,sCAmCC"}
@@ -4,6 +4,7 @@ exports.setupZeDeploy = void 0;
4
4
  const ze_agent_1 = require("./ze-agent");
5
5
  const process = require("node:process");
6
6
  const lifecycle_events_1 = require("./ze-agent/lifecycle-events");
7
+ const zephyr_edge_contract_1 = require("zephyr-edge-contract");
7
8
  function setupZeDeploy(pluginOptions, compiler) {
8
9
  const { pluginName, zeConfig } = pluginOptions;
9
10
  compiler.hooks.thisCompilation.tap(pluginName, (compilation) => {
@@ -13,11 +14,13 @@ function setupZeDeploy(pluginOptions, compiler) {
13
14
  }, async (assets) => {
14
15
  if (!zeConfig.buildId) {
15
16
  // no id - no cloud builds ;)
17
+ (0, zephyr_edge_contract_1.ze_error)('No build id found. Skipping deployment.');
16
18
  return;
17
19
  }
18
- // get converted graph here and send it to the agent
20
+ (0, zephyr_edge_contract_1.ze_log)('Compilation done.');
19
21
  const stats = compilation.getStats();
20
22
  const stats_json = compilation.getStats().toJson();
23
+ (0, zephyr_edge_contract_1.ze_log)('Converted stats to json. Starting deployment.');
21
24
  process.nextTick((props) => (0, ze_agent_1.zephyr_agent)(props), {
22
25
  stats,
23
26
  stats_json,
@@ -1 +1 @@
1
- {"version":3,"file":"ze-setup-ze-deploy.js","sourceRoot":"","sources":["../../../../../packages/zephyr-webpack-plugin/src/lib/ze-setup-ze-deploy.ts"],"names":[],"mappings":";;;AAIA,yCAA4D;AAC5D,wCAAwC;AACxC,kEAA+D;AAE/D,SAAgB,aAAa,CAC3B,aAAqC,EACrC,QAAkB;IAElB,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;IAC/C,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,EAAE;QAC7D,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CACxC;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,2BAA2B;SAChE,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,6BAA6B;gBAC7B,OAAO;YACT,CAAC;YAED,oDAAoD;YAEpD,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;YAEnD,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAuB,EAAE,EAAE,CAAC,IAAA,uBAAY,EAAC,KAAK,CAAC,EAAE;gBACjE,KAAK;gBACL,UAAU;gBACV,MAAM;gBACN,aAAa;aACd,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;gBACvC,MAAM,IAAA,mCAAgB,GAAE,CAAC;YAC3B,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAlCD,sCAkCC"}
1
+ {"version":3,"file":"ze-setup-ze-deploy.js","sourceRoot":"","sources":["../../../../../packages/zephyr-webpack-plugin/src/lib/ze-setup-ze-deploy.ts"],"names":[],"mappings":";;;AAEA,yCAA4D;AAC5D,wCAAwC;AACxC,kEAA+D;AAC/D,+DAAwD;AAExD,SAAgB,aAAa,CAC3B,aAAqC,EACrC,QAAkB;IAElB,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;IAC/C,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,EAAE;QAC7D,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CACxC;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,2BAA2B;SAChE,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,6BAA6B;gBAC7B,IAAA,+BAAQ,EAAC,yCAAyC,CAAC,CAAC;gBACpD,OAAO;YACT,CAAC;YAGD,IAAA,6BAAM,EAAC,mBAAmB,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;YACnD,IAAA,6BAAM,EAAC,+CAA+C,CAAC,CAAC;YAExD,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAuB,EAAE,EAAE,CAAC,IAAA,uBAAY,EAAC,KAAK,CAAC,EAAE;gBACjE,KAAK;gBACL,UAAU;gBACV,MAAM;gBACN,aAAa;aACd,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;gBACvC,MAAM,IAAA,mCAAgB,GAAE,CAAC;YAC3B,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AArCD,sCAqCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ze-webpack-plugin.js","sourceRoot":"","sources":["../../../../../packages/zephyr-webpack-plugin/src/lib/ze-webpack-plugin.ts"],"names":[],"mappings":";;;AACA,8BAA8B;AAE9B,2DAAwD;AACxD,iFAA+D;AAC/D,6DAAqD;AAIrD,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAErC,MAAM,yBAAyB,GAAG;IAChC,UAAU;IACV,IAAI;IACJ,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;IAC/B,QAAQ,EAAE,EAAE;IACZ,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;CACR,CAAC;AAEF,MAAa,eAAe;IAG1B,YAAY,OAAO,GAAG,EAAE;QAFxB,aAAQ,GAAG,yBAAmD,CAAC;QAG7D,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,IAAA,qCAAiB,EAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAA,4CAAa,EAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvC,IAAA,kCAAa,EAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;CACF;AAZD,0CAYC"}
1
+ {"version":3,"file":"ze-webpack-plugin.js","sourceRoot":"","sources":["../../../../../packages/zephyr-webpack-plugin/src/lib/ze-webpack-plugin.ts"],"names":[],"mappings":";;;AACA,8BAA8B;AAE9B,2DAAwD;AACxD,iFAA+D;AAC/D,6DAAqD;AAGrD,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAErC,MAAM,yBAAyB,GAAG;IAChC,UAAU;IACV,IAAI;IACJ,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;IAC/B,QAAQ,EAAE,EAAE;IACZ,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;CACR,CAAC;AAEF,MAAa,eAAe;IAG1B,YAAY,OAAO,GAAG,EAAE;QAFxB,aAAQ,GAAG,yBAAmD,CAAC;QAG7D,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,IAAA,qCAAiB,EAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAA,4CAAa,EAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvC,IAAA,kCAAa,EAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;CACF;AAZD,0CAYC"}
@@ -1,6 +0,0 @@
1
- export interface RequestOptions {
2
- path: string;
3
- method: string;
4
- headers?: Record<string, string | number>;
5
- }
6
- export declare function request<T = unknown>(_url: string | URL, options: RequestOptions, data?: unknown): Promise<T | string>;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.request = void 0;
4
- const http = require("node:http");
5
- const https = require("node:https");
6
- async function request(_url, options, data) {
7
- const url = _url instanceof URL ? _url : new URL(_url);
8
- const _https = url.protocol !== 'https:' ? http : https;
9
- return new Promise((resolve, reject) => {
10
- const req = _https.request(url, options, (res) => {
11
- const response = [];
12
- res.on('data', (d) => response.push(d));
13
- res.on('end', () => {
14
- const _response = Buffer.concat(response)?.toString();
15
- try {
16
- resolve(JSON.parse(_response));
17
- }
18
- catch {
19
- resolve(_response);
20
- }
21
- });
22
- });
23
- req.on('error', (e) => reject(e));
24
- if (data) {
25
- req.write(data);
26
- }
27
- req.end();
28
- });
29
- }
30
- exports.request = request;
31
- //# sourceMappingURL=ze-http-request.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ze-http-request.js","sourceRoot":"","sources":["../../../../../../packages/zephyr-webpack-plugin/src/lib/utils/ze-http-request.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AAClC,oCAAoC;AAQ7B,KAAK,UAAU,OAAO,CAC3B,IAAkB,EAClB,OAAuB,EACvB,IAAc;IAEd,MAAM,GAAG,GAAG,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,GAAyB,EAAE,EAAE;YACrE,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAEhD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;gBACtD,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBACjC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3C,IAAI,IAAI,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QAED,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AA9BD,0BA8BC"}