@theia/core 1.22.1 → 1.23.0-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -86,9 +86,9 @@ export class SomeClass {
86
86
  - `@phosphor/signaling` (from [`@phosphor/signaling@1`](https://www.npmjs.com/package/@phosphor/signaling))
87
87
  - `@phosphor/virtualdom` (from [`@phosphor/virtualdom@1`](https://www.npmjs.com/package/@phosphor/virtualdom))
88
88
  - `@phosphor/widgets` (from [`@phosphor/widgets@1`](https://www.npmjs.com/package/@phosphor/widgets))
89
- - `@theia/application-package` (from [`@theia/application-package@1.22.1`](https://www.npmjs.com/package/@theia/application-package/v/1.22.1))
90
- - `@theia/application-package/lib/api` (from [`@theia/application-package@1.22.1`](https://www.npmjs.com/package/@theia/application-package/v/1.22.1))
91
- - `@theia/application-package/lib/environment` (from [`@theia/application-package@1.22.1`](https://www.npmjs.com/package/@theia/application-package/v/1.22.1))
89
+ - `@theia/application-package` (from [`@theia/application-package@1.23.0-next.3+0ad6d10e354`](https://www.npmjs.com/package/@theia/application-package/v/1.23.0-next.3))
90
+ - `@theia/application-package/lib/api` (from [`@theia/application-package@1.23.0-next.3+0ad6d10e354`](https://www.npmjs.com/package/@theia/application-package/v/1.23.0-next.3))
91
+ - `@theia/application-package/lib/environment` (from [`@theia/application-package@1.23.0-next.3+0ad6d10e354`](https://www.npmjs.com/package/@theia/application-package/v/1.23.0-next.3))
92
92
  - `fs-extra` (from [`fs-extra@^4.0.2`](https://www.npmjs.com/package/fs-extra))
93
93
  - `fuzzy` (from [`fuzzy@^0.1.3`](https://www.npmjs.com/package/fuzzy))
94
94
  - `inversify` (from [`inversify@^5.1.1`](https://www.npmjs.com/package/inversify))
@@ -56,13 +56,28 @@ export declare namespace Saveable {
56
56
  function getDirty(arg: any): Saveable | undefined;
57
57
  function isDirty(arg: any): boolean;
58
58
  function save(arg: any, options?: SaveOptions): Promise<void>;
59
- function apply(widget: Widget): SaveableWidget | undefined;
59
+ function confirmSaveBeforeClose(toClose: Iterable<Widget>, others: Widget[]): Promise<boolean | undefined>;
60
+ function apply(widget: Widget, getOtherSaveables?: () => Array<Widget | SaveableWidget>): SaveableWidget | undefined;
60
61
  function shouldSave(saveable: Saveable, cb: () => MaybePromise<boolean | undefined>): Promise<boolean | undefined>;
61
62
  }
62
63
  export interface SaveableWidget extends Widget {
63
- closeWithoutSaving(): Promise<void>;
64
+ /**
65
+ * @param doRevert whether the saveable should be reverted before being saved. Defaults to `true`.
66
+ */
67
+ closeWithoutSaving(doRevert?: boolean): Promise<void>;
64
68
  closeWithSaving(options?: SaveableWidget.CloseOptions): Promise<void>;
65
69
  }
70
+ export declare const close: unique symbol;
71
+ /**
72
+ * An interface describing saveable widgets that are created by the `Saveable.apply` function.
73
+ * The original `close` function is reassigned to a locally-defined `Symbol`
74
+ */
75
+ export interface PostCreationSaveableWidget extends SaveableWidget {
76
+ /**
77
+ * The original `close` function of the widget
78
+ */
79
+ [close](): void;
80
+ }
66
81
  export declare namespace SaveableWidget {
67
82
  function is(widget: Widget | undefined): widget is SaveableWidget;
68
83
  function getDirty<T extends Widget>(widgets: Iterable<T>): IterableIterator<SaveableWidget & T>;
@@ -1 +1 @@
1
- {"version":3,"file":"saveable.d.ts","sourceRoot":"","sources":["../../src/browser/saveable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"saveable.d.ts","sourceRoot":"","sources":["../../src/browser/saveable.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
16
  ********************************************************************************/
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ShouldSaveDialog = exports.setDirty = exports.SaveableWidget = exports.Saveable = void 0;
18
+ exports.ShouldSaveDialog = exports.setDirty = exports.SaveableWidget = exports.close = exports.Saveable = void 0;
19
19
  const keys_1 = require("./keyboard/keys");
20
20
  const dialogs_1 = require("./dialogs");
21
21
  const widgets_1 = require("./widgets");
@@ -64,52 +64,98 @@ var Saveable;
64
64
  }
65
65
  }
66
66
  Saveable.save = save;
67
- function apply(widget) {
68
- if (SaveableWidget.is(widget)) {
69
- return widget;
67
+ async function closeWithoutSaving(doRevert = true) {
68
+ const saveable = get(this);
69
+ if (saveable && doRevert && saveable.dirty && saveable.revert) {
70
+ await saveable.revert();
70
71
  }
71
- const saveable = Saveable.get(widget);
72
- if (!saveable) {
73
- return undefined;
74
- }
75
- setDirty(widget, saveable.dirty);
76
- saveable.onDirtyChanged(() => setDirty(widget, saveable.dirty));
77
- const closeWidget = widget.close.bind(widget);
78
- const closeWithoutSaving = async () => {
79
- if (saveable.dirty && saveable.revert) {
80
- await saveable.revert();
81
- }
82
- closeWidget();
83
- return widgets_1.waitForClosed(widget);
84
- };
72
+ this[exports.close]();
73
+ return widgets_1.waitForClosed(this);
74
+ }
75
+ function createCloseWithSaving(getOtherSaveables) {
85
76
  let closing = false;
86
- const closeWithSaving = async (options) => {
77
+ return async function (options) {
87
78
  if (closing) {
88
79
  return;
89
80
  }
81
+ const saveable = get(this);
82
+ if (!saveable) {
83
+ return;
84
+ }
90
85
  closing = true;
91
86
  try {
92
87
  const result = await shouldSave(saveable, () => {
88
+ var _a;
89
+ const notLastWithDocument = !closingWidgetWouldLoseSaveable(this, (_a = getOtherSaveables === null || getOtherSaveables === void 0 ? void 0 : getOtherSaveables()) !== null && _a !== void 0 ? _a : []);
90
+ if (notLastWithDocument) {
91
+ return this.closeWithoutSaving(false).then(() => undefined);
92
+ }
93
93
  if (options && options.shouldSave) {
94
94
  return options.shouldSave();
95
95
  }
96
- return new ShouldSaveDialog(widget).open();
96
+ return new ShouldSaveDialog(this).open();
97
97
  });
98
98
  if (typeof result === 'boolean') {
99
99
  if (result) {
100
- await Saveable.save(widget);
100
+ await Saveable.save(this);
101
101
  }
102
- await closeWithoutSaving();
102
+ await this.closeWithoutSaving();
103
103
  }
104
104
  }
105
105
  finally {
106
106
  closing = false;
107
107
  }
108
108
  };
109
- return Object.assign(widget, {
109
+ }
110
+ async function confirmSaveBeforeClose(toClose, others) {
111
+ var _a;
112
+ for (const widget of toClose) {
113
+ const saveable = Saveable.get(widget);
114
+ if (saveable === null || saveable === void 0 ? void 0 : saveable.dirty) {
115
+ if (!closingWidgetWouldLoseSaveable(widget, others)) {
116
+ continue;
117
+ }
118
+ const userWantsToSave = await new ShouldSaveDialog(widget).open();
119
+ if (userWantsToSave === undefined) { // User clicked cancel.
120
+ return undefined;
121
+ }
122
+ else if (userWantsToSave) {
123
+ await saveable.save();
124
+ }
125
+ else {
126
+ await ((_a = saveable.revert) === null || _a === void 0 ? void 0 : _a.call(saveable));
127
+ }
128
+ }
129
+ }
130
+ return true;
131
+ }
132
+ Saveable.confirmSaveBeforeClose = confirmSaveBeforeClose;
133
+ /**
134
+ * @param widget the widget that may be closed
135
+ * @param others widgets that will not be closed.
136
+ * @returns `true` if widget is saveable and no widget among the `others` refers to the same saveable. `false` otherwise.
137
+ */
138
+ function closingWidgetWouldLoseSaveable(widget, others) {
139
+ const saveable = get(widget);
140
+ return !!saveable && !others.some(otherWidget => otherWidget !== widget && get(otherWidget) === saveable);
141
+ }
142
+ function apply(widget, getOtherSaveables) {
143
+ if (SaveableWidget.is(widget)) {
144
+ return widget;
145
+ }
146
+ const saveable = Saveable.get(widget);
147
+ if (!saveable) {
148
+ return undefined;
149
+ }
150
+ const saveableWidget = widget;
151
+ setDirty(saveableWidget, saveable.dirty);
152
+ saveable.onDirtyChanged(() => setDirty(saveableWidget, saveable.dirty));
153
+ const closeWithSaving = createCloseWithSaving(getOtherSaveables);
154
+ return Object.assign(saveableWidget, {
110
155
  closeWithoutSaving,
111
156
  closeWithSaving,
112
- close: () => closeWithSaving()
157
+ close: closeWithSaving,
158
+ [exports.close]: saveableWidget.close,
113
159
  });
114
160
  }
115
161
  Saveable.apply = apply;
@@ -124,6 +170,7 @@ var Saveable;
124
170
  }
125
171
  Saveable.shouldSave = shouldSave;
126
172
  })(Saveable = exports.Saveable || (exports.Saveable = {}));
173
+ exports.close = Symbol('close');
127
174
  var SaveableWidget;
128
175
  (function (SaveableWidget) {
129
176
  function is(widget) {
@@ -1 +1 @@
1
- {"version":3,"file":"saveable.js","sourceRoot":"","sources":["../../src/browser/saveable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"saveable.js","sourceRoot":"","sources":["../../src/browser/saveable.ts"],"names":[],"mappings":"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"}
@@ -263,6 +263,11 @@ export declare class ApplicationShell extends Widget {
263
263
  * Track the given widget so it is considered in the `current` and `active` state of the shell.
264
264
  */
265
265
  protected track(widget: Widget): void;
266
+ /**
267
+ * @returns an array of Widgets, all of which are tracked by the focus tracker
268
+ * The first member of the array is the widget whose id is passed in, and the other widgets
269
+ * are its tracked parents in ascending order
270
+ */
266
271
  protected toTrackedStack(id: string): Widget[];
267
272
  /**
268
273
  * Activate a widget in the application shell. This makes the widget visible and usually
@@ -347,8 +352,18 @@ export declare class ApplicationShell extends Widget {
347
352
  * @param filter
348
353
  * If undefined, all tabs are closed; otherwise only those tabs that match the filter are closed.
349
354
  */
350
- closeTabs(tabBarOrArea: TabBar<Widget> | ApplicationShell.Area, filter?: (title: Title<Widget>, index: number) => boolean): void;
355
+ closeTabs(tabBarOrArea: TabBar<Widget> | ApplicationShell.Area, filter?: (title: Title<Widget>, index: number) => boolean): Promise<void>;
351
356
  saveTabs(tabBarOrArea: TabBar<Widget> | ApplicationShell.Area, filter?: (title: Title<Widget>, index: number) => boolean): void;
357
+ /**
358
+ * @param targets the widgets to be closed
359
+ * @return an array of all the widgets that were actually closed.
360
+ */
361
+ closeMany(targets: Widget[], options?: ApplicationShell.CloseOptions): Promise<Widget[]>;
362
+ /**
363
+ * @returns the widget that was closed, if any, `undefined` otherwise.
364
+ *
365
+ * If your use case requires closing multiple widgets, use {@link ApplicationShell#closeMany} instead. That method handles closing saveable widgets more reliably.
366
+ */
352
367
  closeWidget(id: string, options?: ApplicationShell.CloseOptions): Promise<Widget | undefined>;
353
368
  /**
354
369
  * The shell area name of the currently active tab, or undefined.
@@ -1 +1 @@
1
- {"version":3,"file":"application-shell.d.ts","sourceRoot":"","sources":["../../../src/browser/shell/application-shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application-shell.d.ts","sourceRoot":"","sources":["../../../src/browser/shell/application-shell.ts"],"names":[],"mappings":"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"}
@@ -889,7 +889,7 @@ let ApplicationShell = ApplicationShell_1 = class ApplicationShell extends widge
889
889
  }
890
890
  this.tracker.add(widget);
891
891
  this.checkActivation(widget);
892
- saveable_1.Saveable.apply(widget);
892
+ saveable_1.Saveable.apply(widget, () => this.widgets.filter((maybeSaveable) => !!saveable_1.Saveable.get(maybeSaveable)));
893
893
  if (ApplicationShell_1.TrackableWidgetProvider.is(widget)) {
894
894
  for (const toTrack of widget.getTrackableWidgets()) {
895
895
  this.track(toTrack);
@@ -899,6 +899,11 @@ let ApplicationShell = ApplicationShell_1 = class ApplicationShell extends widge
899
899
  }
900
900
  }
901
901
  }
902
+ /**
903
+ * @returns an array of Widgets, all of which are tracked by the focus tracker
904
+ * The first member of the array is the widget whose id is passed in, and the other widgets
905
+ * are its tracked parents in ascending order
906
+ */
902
907
  toTrackedStack(id) {
903
908
  const tracked = new Map(this.tracker.widgets.map(w => [w.id, w]));
904
909
  let current = tracked.get(id);
@@ -1243,26 +1248,25 @@ let ApplicationShell = ApplicationShell_1 = class ApplicationShell extends widge
1243
1248
  * @param filter
1244
1249
  * If undefined, all tabs are closed; otherwise only those tabs that match the filter are closed.
1245
1250
  */
1246
- closeTabs(tabBarOrArea, filter) {
1251
+ async closeTabs(tabBarOrArea, filter) {
1252
+ const titles = [];
1247
1253
  if (tabBarOrArea === 'main') {
1248
- this.mainAreaTabBars.forEach(tb => this.closeTabs(tb, filter));
1254
+ this.mainAreaTabBars.forEach(tabbar => titles.push(...algorithm_1.toArray(tabbar.titles)));
1249
1255
  }
1250
1256
  else if (tabBarOrArea === 'bottom') {
1251
- this.bottomAreaTabBars.forEach(tb => this.closeTabs(tb, filter));
1257
+ this.bottomAreaTabBars.forEach(tabbar => titles.push(...algorithm_1.toArray(tabbar.titles)));
1252
1258
  }
1253
1259
  else if (typeof tabBarOrArea === 'string') {
1254
- const tabBar = this.getTabBarFor(tabBarOrArea);
1255
- if (tabBar) {
1256
- this.closeTabs(tabBar, filter);
1260
+ const tabbar = this.getTabBarFor(tabBarOrArea);
1261
+ if (tabbar) {
1262
+ titles.push(...algorithm_1.toArray(tabbar.titles));
1257
1263
  }
1258
1264
  }
1259
1265
  else if (tabBarOrArea) {
1260
- const titles = algorithm_1.toArray(tabBarOrArea.titles);
1261
- for (let i = 0; i < titles.length; i++) {
1262
- if (filter === undefined || filter(titles[i], i)) {
1263
- titles[i].owner.close();
1264
- }
1265
- }
1266
+ titles.push(...algorithm_1.toArray(tabBarOrArea.titles));
1267
+ }
1268
+ if (titles.length) {
1269
+ await this.closeMany((filter ? titles.filter(filter) : titles).map(title => title.owner));
1266
1270
  }
1267
1271
  }
1268
1272
  saveTabs(tabBarOrArea, filter) {
@@ -1289,6 +1293,21 @@ let ApplicationShell = ApplicationShell_1 = class ApplicationShell extends widge
1289
1293
  }
1290
1294
  }
1291
1295
  }
1296
+ /**
1297
+ * @param targets the widgets to be closed
1298
+ * @return an array of all the widgets that were actually closed.
1299
+ */
1300
+ async closeMany(targets, options) {
1301
+ if ((options === null || options === void 0 ? void 0 : options.save) === false || await saveable_1.Saveable.confirmSaveBeforeClose(targets, this.widgets.filter(widget => !targets.includes(widget)))) {
1302
+ return (await Promise.all(targets.map(target => this.closeWidget(target.id, options)))).filter((widget) => widget !== undefined);
1303
+ }
1304
+ return [];
1305
+ }
1306
+ /**
1307
+ * @returns the widget that was closed, if any, `undefined` otherwise.
1308
+ *
1309
+ * If your use case requires closing multiple widgets, use {@link ApplicationShell#closeMany} instead. That method handles closing saveable widgets more reliably.
1310
+ */
1292
1311
  async closeWidget(id, options) {
1293
1312
  // TODO handle save for composite widgets, i.e. the preference widget has 2 editors
1294
1313
  const stack = this.toTrackedStack(id);
@@ -1296,19 +1315,10 @@ let ApplicationShell = ApplicationShell_1 = class ApplicationShell extends widge
1296
1315
  if (!current) {
1297
1316
  return undefined;
1298
1317
  }
1299
- let pendingClose;
1300
- if (saveable_1.SaveableWidget.is(current)) {
1301
- let shouldSave;
1302
- if (options && 'save' in options) {
1303
- shouldSave = () => options.save;
1304
- }
1305
- pendingClose = current.closeWithSaving({ shouldSave });
1306
- }
1307
- else {
1308
- current.close();
1309
- pendingClose = widgets_2.waitForClosed(current);
1310
- }
1311
- ;
1318
+ const saveableOptions = options && { shouldSave: () => options.save };
1319
+ const pendingClose = saveable_1.SaveableWidget.is(current)
1320
+ ? current.closeWithSaving(saveableOptions)
1321
+ : (current.close(), widgets_2.waitForClosed(current));
1312
1322
  await Promise.all([
1313
1323
  pendingClose,
1314
1324
  this.pendingUpdates
@@ -1586,8 +1596,9 @@ let ApplicationShell = ApplicationShell_1 = class ApplicationShell extends widge
1586
1596
  if (!prevBar) {
1587
1597
  return false;
1588
1598
  }
1589
- const len = prevBar.titles.length;
1590
- prevBar.currentIndex = len - 1;
1599
+ if (!prevBar.currentTitle) {
1600
+ prevBar.currentIndex = prevBar.titles.length - 1;
1601
+ }
1591
1602
  if (prevBar.currentTitle) {
1592
1603
  this.activateWidget(prevBar.currentTitle.owner.id);
1593
1604
  }
@@ -1 +1 @@
1
- {"version":3,"file":"application-shell.js","sourceRoot":"","sources":["../../../src/browser/shell/application-shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application-shell.js","sourceRoot":"","sources":["../../../src/browser/shell/application-shell.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;;;;AAElF,yCAAwE;AACxE,mDAAoE;AACpE,+CAG2B;AAG3B,yCAAqH;AACrH,wCAA4C;AAC5C,0CAAoF;AACpF,yDAA6F;AAC7F,yDAAkF;AAClF,6DAA4F;AAC5F,yCAAoH;AACpH,iDAA4E;AAC5E,8EAAgF;AAChF,uDAAgF;AAChF,gEAA2D;AAC3D,8CAA6C;AAC7C,wCAA4D;AAC5D,0DAAsD;AACtD,8EAAiF;AACjF,4DAAqD;AAErD,0DAA0D;AAC1D,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AACzD,+DAA+D;AAC/D,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AACnD,sEAAsE;AACtE,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AACrD,mDAAmD;AACnD,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,qDAAqD;AACrD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAc7C;;GAEG;AACU,QAAA,6BAA6B,GAAkC,GAAG,CAAC;AAEnE,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAC5D,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAK3E;;GAEG;AAEH,IAAa,iBAAiB,GAA9B,MAAa,iBAAiB;IAI1B,YACsD,qBAA4C,EAC5C,qBAA4C,EAC7C,oBAA0C,EACpC,0BAAsD;QAH3D,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC7C,yBAAoB,GAApB,oBAAoB,CAAsB;QACpC,+BAA0B,GAA1B,0BAA0B,CAA4B;QANxG,kBAAa,GAAa,EAAE,CAAC;IAOlC,CAAC;IAEL,YAAY;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,6BAAkB,CACjC,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,0BAA0B,EAC/B;YACI,QAAQ;YACR,qBAAqB;YACrB,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC;YACtD,gBAAgB,EAAE,IAAI;YACtB,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,IAAI;SACxB,CAAC,CAAC;QACP,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAClD,QAAQ,CAAC,eAAe,GAAG,oCAAyB,CAAC;QACrD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAC9D,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,YAAY;QACR,OAAO,mBAAS,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;IACpD,CAAC;IAES,mBAAmB,CAAC,MAA0B,EAAE,EAAE,YAAY,EAAsC;QAC1G,IAAI,YAAY,IAAI,CAAC,EAAE;YACnB,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SAClC;IACL,CAAC;CACJ,CAAA;AA1CY,iBAAiB;IAD7B,sBAAU,EAAE;IAMJ,WAAA,kBAAM,CAAC,gCAAqB,CAAC,CAAA;IAC7B,WAAA,kBAAM,CAAC,uCAAqB,CAAC,CAAA;IAC7B,WAAA,kBAAM,CAAC,sCAAoB,CAAC,CAAA;IAC5B,WAAA,kBAAM,CAAC,iDAA0B,CAAC,CAAA;+CAFsC,uCAAqB;GANzF,iBAAiB,CA0C7B;AA1CY,8CAAiB;AAwD9B;;;GAGG;AAEH,IAAa,gBAAgB,wBAA7B,MAAa,gBAAiB,SAAQ,gBAAM;IAoExC;;OAEG;IACH,YACgD,wBAAiD,EACnD,SAAwB,EACjC,uBAA+C,EACxC,oBAA0C,EACtB,uBAAwD,EACvE,UAAsD,EAAE,EACzD,eAAgC;QAE5E,KAAK,CAAC,OAA0B,CAAC,CAAC;QARU,6BAAwB,GAAxB,wBAAwB,CAAyB;QACnD,cAAS,GAAT,SAAS,CAAe;QAE1B,yBAAoB,GAApB,oBAAoB,CAAsB;QACtB,4BAAuB,GAAvB,uBAAuB,CAAiC;QAExE,oBAAe,GAAf,eAAe,CAAiB;QA3ChF;;WAEG;QACgB,qBAAgB,GAAoB;YACnD,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,8BAAS,CAAC,cAAc,CAAC,SAAS;YAC7C,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE;SACnC,CAAC;QAEe,YAAO,GAAG,IAAI,sBAAY,EAAU,CAAC;QAMnC,0BAAqB,GAAG,IAAI,eAAO,EAAU,CAAC;QACxD,mBAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;QAKxC,6BAAwB,GAAG,IAAI,eAAO,EAAU,CAAC;QAC3D,sBAAiB,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;QAK9C,mCAA8B,GAAG,IAAI,eAAO,EAAqC,CAAC;QAC5F,4BAAuB,GAAG,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC;QAE1D,oCAA+B,GAAG,IAAI,eAAO,EAAqC,CAAC;QAC7F,6BAAwB,GAAG,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC;QA4tB5D,6BAAwB,GAAG,IAAI,6BAAoB,EAAE,CAAC;QAmNxD,sBAAiB,GAAG,IAAI,CAAC;QACzB,+BAA0B,GAAG,IAAI,6BAAoB,EAAE,CAAC;QAj6BrE,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,GAAG,iBAAiB,CAAC;QAE5B,sEAAsE;QACtE,IAAI,CAAC,OAAO,GAAG;YACX,WAAW,kCACJ,kBAAgB,CAAC,eAAe,CAAC,WAAW,GAC5C,OAAO,CAAC,WAAW,IAAI,EAAE,CAC/B;YACD,SAAS,kCACF,kBAAgB,CAAC,eAAe,CAAC,SAAS,GAC1C,OAAO,CAAC,SAAS,IAAI,EAAE,CAC7B;YACD,UAAU,kCACH,kBAAgB,CAAC,eAAe,CAAC,UAAU,GAC3C,OAAO,CAAC,UAAU,IAAI,EAAE,CAC9B;SACJ,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE5C,IAAI,CAAC,gBAAgB,GAAG,uBAAuB,EAAE,CAAC;QAClD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QAEvG,IAAI,CAAC,iBAAiB,GAAG,uBAAuB,EAAE,CAAC;QACnD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QAExG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAElC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAlES,gBAAgB,CAAC,MAAc;QACrC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAIS,mBAAmB,CAAC,MAAc;QACxC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IA6DS,IAAI;QACV,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,CAAC,oBAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE;YAC5B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE;gBAClD,IAAI,UAAU,CAAC,cAAc,KAAK,0BAA0B,EAAE;oBAC1D,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;iBACnD;YACL,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAES,4BAA4B;QAClC,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QACzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACzG,MAAM,WAAW,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3E,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,GAAY,EAAE,EAAE;YAC/C,WAAW,CAAC,GAAG,CAAC,CAAC;YACjB,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3E,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,GAAY,EAAE,EAAE;YAC/C,WAAW,CAAC,GAAG,CAAC,CAAC;YACjB,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC;IACN,CAAC;IAES,oBAAoB;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACzE,MAAM,sBAAsB,GAAG,GAAG,EAAE;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACrE,YAAY,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAClC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC;QACF,sBAAsB,EAAE,CAAC;QACzB,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;IACzD,CAAC;IAES,qBAAqB,CAAC,UAAkB;QAC9C,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,CAAC;IAES,cAAc,CAAC,GAAY;QACjC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAES,aAAa,CAAC,GAAY;QAChC,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxD,QAAQ,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxD,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,WAAW,CAAC,KAAY;QACpB,QAAQ,KAAK,CAAC,IAAI,EAAE;YAChB,KAAK,aAAa;gBACd,IAAI,CAAC,WAAW,CAAC,KAAmB,CAAC,CAAC;gBACtC,MAAM;YACV,KAAK,YAAY;gBACb,IAAI,CAAC,UAAU,CAAC,KAAmB,CAAC,CAAC;gBACrC,MAAM;YACV,KAAK,QAAQ;gBACT,IAAI,CAAC,MAAM,CAAC,KAAmB,CAAC,CAAC;gBACjC,MAAM;YACV,KAAK,aAAa;gBACd,IAAI,CAAC,WAAW,CAAC,KAAmB,CAAC,CAAC;gBACtC,MAAM;SACb;IACL,CAAC;IAES,WAAW,CAAC,EAAE,QAAQ,EAAc;QAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,yCAAyC,CAAC,EAAE;gBACzE,iFAAiF;gBACjF,IAAI,CAAC,SAAS,GAAG;oBACb,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE;oBAC5B,YAAY,EAAE,KAAK;oBACnB,aAAa,EAAE,KAAK;oBACpB,cAAc,EAAE,KAAK;iBACxB,CAAC;aACL;SACJ;IACL,CAAC;IAES,UAAU,CAAC,KAAiB;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI,KAAK,EAAE;YACP,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;YAC3B,IAAI,KAAK,CAAC,YAAY,EAAE;gBACpB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACxC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;aAClC;YACD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;YACnC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;YAEvE,gEAAgE;YAChE,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC;YAClE,MAAM,OAAO,GAAG,cAAc,IAAI,OAAO,IAAI,UAAU;mBAChD,OAAO,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC;YACtE,MAAM,QAAQ,GAAG,cAAc,IAAI,OAAO,IAAI,UAAU,GAAG,WAAW;mBAC/D,OAAO,IAAI,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;YACrF,MAAM,SAAS,GAAG,cAAc,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,SAAS,GAAG,YAAY;mBACzF,OAAO,IAAI,SAAS,GAAG,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC;YACtF,2CAA2C;YAC3C,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE;gBACtF,qDAAqD;gBACrD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBAC/E,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;aAC7B;iBAAM,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,YAAY,EAAE;gBACvC,sDAAsD;gBACtD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBACjC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;aAC9B;YACD,2CAA2C;YAC3C,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE;gBACzF,sDAAsD;gBACtD,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAChC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBAChF,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;aAC9B;iBAAM,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,aAAa,EAAE;gBACzC,uDAAuD;gBACvD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;gBAClC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;aAC/B;YACD,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;gBACjE,uDAAuD;gBACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBACzE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;aAC/B;iBAAM,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,cAAc,EAAE;gBAC3C,wDAAwD;gBACxD,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;aAChC;SACJ;IACL,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACrB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;YAC/C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;YACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACjD,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACzD,2CAA2C;YAC3C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAC3D,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACjC;IACL,CAAC;IAES,MAAM,CAAC,KAAiB;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,YAAY,EAAE;gBACpB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;aAC3C;YACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;gBAC9B,kDAAkD;gBAClD,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE;oBACzC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;iBACpC;gBACD,IAAI,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE;oBAC1C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;iBACrC;gBACD,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;oBAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBAC9B;YACL,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAES,WAAW,CAAC,KAAiB;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI,KAAK,EAAE;YACP,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;YAC/B,IAAI,KAAK,CAAC,YAAY,EAAE;gBACpB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;aAC3C;YACD,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBACxC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC3B,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE;oBAC/D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;iBACpC;gBACD,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE;oBACjE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;iBACrC;gBACD,IAAI,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;oBAClD,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBAC9B;YACL,CAAC,EAAE,GAAG,CAAC,CAAC;SACX;IACL,CAAC;IAED;;OAEG;IACO,eAAe;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACjD,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACpD,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,iCAAc,CAAC;YACjC,IAAI,EAAE,mBAAmB;YACzB,QAAQ;YACR,OAAO,EAAE,CAAC;SACb,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACzB,SAAS,CAAC,EAAE,GAAG,+BAAY,CAAC;QAC5B,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5E,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QACjF,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACO,iBAAiB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACjD,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACpD,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,iCAAc,CAAC;YACjC,IAAI,EAAE,mBAAmB;YACzB,QAAQ;YACR,OAAO,EAAE,CAAC;SACb,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACzB,SAAS,CAAC,EAAE,GAAG,iCAAc,CAAC;QAC9B,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC/C,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC9B;YACD,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC1C,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE;YACnD,oFAAoF;YACpF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,IAAI,EAAE,CAAC;QACjB,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5E,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QACjF,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACO,cAAc;QACpB,MAAM,QAAQ,GAAG,IAAI,eAAK,EAAE,CAAC;QAC7B,QAAQ,CAAC,EAAE,GAAG,iBAAiB,CAAC;QAChC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IACO,eAAe,CAAC,OAAiB,EAAE,OAAkB,EAAE,OAA2B;QACxF,MAAM,SAAS,GAAG,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE;gBAC7C,kBAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/C;YACD,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACO,iBAAiB,CAAC,OAAiB,EAAE,OAAkB,EAAE,OAAuC;QACtG,IAAI,QAAQ,GAAyB,EAAE,QAAQ,EAAE,oBAAU,CAAC,eAAe,GAAG,CAAC;QAC/E,IAAI,OAAO,EAAE;YACT,QAAQ,mCAAQ,QAAQ,GAAK,OAAO,CAAE,CAAC;SAC1C;QACD,MAAM,WAAW,GAAG,IAAI,qBAAW,CAAC,QAAQ,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE;gBAC7C,oBAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;YACD,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;OAGG;IACO,YAAY;QAClB,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAC5C,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAClC,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAC1C,CAAC;QACF,MAAM,kBAAkB,GAAG,IAAI,oBAAU,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACzE,kBAAkB,CAAC,EAAE,GAAG,0BAA0B,CAAC;QAEnD,MAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAC/C,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EACvF,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACT,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAC5C,CAAC;QACF,MAAM,iBAAiB,GAAG,IAAI,oBAAU,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC3E,iBAAiB,CAAC,EAAE,GAAG,8BAA8B,CAAC;QAEtD,OAAO,IAAI,CAAC,eAAe,CACvB,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,EAClD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACT,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,CAC7C,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,aAAa;QACT,OAAO;YACH,OAAO,EAAE,qCAA6B;YACtC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;YACtC,WAAW,EAAE;gBACT,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;gBACrC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa;gBAClG,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;aACtC;YACD,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE;YAChD,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE;YAClD,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;SACvE,CAAC;IACN,CAAC;IAED;;;OAGG;IACO,kBAAkB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACvC,IAAI,MAAM,YAAY,oBAAU,IAAI,MAAM,CAAC,SAAS,EAAE;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC3D,IAAI,KAAK,IAAI,CAAC,EAAE;gBACZ,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;oBAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC9C,OAAO,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;iBAC1C;aACJ;SACJ;IACL,CAAC;IAED;;OAEG;IACO,yBAAyB;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACvC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE;YAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC;SAC/E;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,UAAuC;QACvD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC;QACrF,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;SAC5C;QACD,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;SAC7C;QACD,gEAAgE;QAChE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAC3G,IAAI,WAAW,EAAE;YACb,IAAI,WAAW,CAAC,MAAM,EAAE;gBACpB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC1D;YACD,IAAI,WAAW,CAAC,IAAI,EAAE;gBAClB,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC;aAC1D;YACD,IAAI,WAAW,CAAC,QAAQ,EAAE;gBACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC5B;iBAAM;gBACH,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC9B;YACD,IAAI,CAAC,8BAA8B,EAAE,CAAC;SACzC;QACD,yDAAyD;QACzD,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;QAC1C,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACjD;QACD,IAAI,cAAc,EAAE;YAChB,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;SACvC;IACL,CAAC;IAED;;;OAGG;IACO,kBAAkB,CAAC,IAAY;QACrC,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,KAAK,OAAO,CAAC;QACvE,MAAM,OAAO,GAAyB;YAClC,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACvE,eAAe,EAAE,IAAI,CAAC,WAAW;SACpC,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5F,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACvC,2FAA2F;YAC3F,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;QAC7F,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QACd,OAAO,OAAO,CAAC,GAAG,CAAC;YACf,IAAI,CAAC,gBAAgB,CAAC,aAAa;YACnC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa;YACzC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa;YAC1C,8DAA8D;SACjE,CAAiB,CAAC;IACvB,CAAC;IAED;;OAEG;IACO,wBAAwB,CAAC,IAA2F;QAC1H,IAAI,IAAI,EAAE;YACN,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC1B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;oBAC/B,IAAI,MAAM,EAAE;wBACR,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;qBACtB;iBACJ;aACJ;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE;gBACnC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;oBAC/B,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;iBACxC;aACJ;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE;gBAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;oBAC3B,IAAI,IAAI,CAAC,MAAM,EAAE;wBACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC3B;iBACJ;aACJ;SACJ;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,UAAoD,EAAE;QAClF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;YACxF,OAAO;SACV;QACD,IAAI,GAAG,GAAuB,OAAO,CAAC,GAAG,CAAC;QAC1C,IAAI,IAAI,GAA0B,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;QACzD,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,CAAC,EAAE;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACvC,GAAG,GAAG,MAAM,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,SAAS,CAAC;SACjF;QACD,qCAAqC;QACrC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAC3C,MAAM,UAAU,GAA0B,EAAE,CAAC;QAC7C,IAAI,kBAAgB,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACjD,MAAM,SAAS,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACtG,MAAM,OAAO,GAAG,SAAS,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;gBAClE,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrC,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,OAAO,EAAE;gBACT,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC;aAC5B;iBAAM;gBACH,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;gBACrB,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;aACpF;SACJ;aAAM;YACH,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;YACrB,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;SAClC;QACD,MAAM,gBAAgB,GAA4B,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACzE,QAAQ,IAAI,EAAE;YACV,KAAK,MAAM;gBACP,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC7C,MAAM;YACV,KAAK,KAAK;gBACN,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAChC,MAAM;YACV,KAAK,QAAQ;gBACT,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC/C,MAAM;YACV,KAAK,MAAM;gBACP,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBAC1D,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBAC3D,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SAC3D;QACD,IAAI,IAAI,KAAK,KAAK,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACtB;IACL,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAA2B;QAClC,QAAQ,IAAI,EAAE;YACV,KAAK,MAAM;gBACP,OAAO,mBAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,KAAK,KAAK;gBACN,OAAO,mBAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1C,KAAK,QAAQ;gBACT,OAAO,mBAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/C,KAAK,MAAM;gBACP,OAAO,mBAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,KAAK,OAAO;gBACR,OAAO,mBAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D;gBACI,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;SACpD;IACL,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,OAAoB;QACrC,IAAI,UAAU,GAAuB,OAAO,CAAC;QAC7C,OAAO,UAAU,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC7D,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC;SACzC;QACD,IAAI,UAAU,EAAE;YACZ,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACnD;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,iBAAiB,CAAC,UAAuB,EAAE,MAAc;QAC7D,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;YAC5B,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,MAA0B,CAAC;QAC/B,gBAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,EAAE;YAC5B,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACnD,OAAO,CAAC,MAAM,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,MAAsB,EAAE,KAAa;QAC3C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,aAAY,WAAW,EAAE;YACtC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;YAE7B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;iBACnF,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAE/C,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;gBACnB,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aACpC;SAEJ;QACD,OAAO,MAAM,CAAC,YAAY,IAAI,SAAS,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,KAAa;QACpB,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,aAAY,WAAW,EAAE;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,MAAM,YAAY,gBAAM,EAAE;gBAC1B,OAAO,MAAM,CAAC;aACjB;SACJ;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,KAAa;QAC5B,IAAI,KAAK,EAAE;YACP,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;SAC/B;IACL,CAAC;IAED;;;OAGG;IACH,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,SAAS,CAAC;IACnD,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,SAAS,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,IAA2B;QACxC,IAAI,KAAuC,CAAC;QAC5C,QAAQ,IAAI,EAAE;YACV,KAAK,MAAM;gBACP,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;gBACpC,MAAM;YACV,KAAK,QAAQ;gBACT,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;gBACtC,MAAM;YACV,KAAK,MAAM;gBACP,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC;gBAClD,MAAM;YACV,KAAK,OAAO;gBACR,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC;gBACnD,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;SACpD;QACD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,MAA4B,EAAE,IAAuC;QAC1F,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAID;;OAEG;IACK,eAAe,CAAC,MAA4B,EAAE,IAAuC;QACzF,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACpC,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,GAAkB,QAAQ,CAAC;YAChC,OAAO,CAAC,EAAE;gBACN,kDAAkD;gBAClD,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;gBACvE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;aAChB;YACD,mCAAmC;YACnC,2CAA2C;YAC3C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACvC;QACD,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,GAAkB,QAAQ,CAAC;YAChC,OAAO,CAAC,EAAE;gBACN,oCAAoC;gBACpC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,mBAAmB,CAAC;gBACzC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;aAChB;YACD,uDAAuD;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,MAAM,YAAY,2BAAgB,EAAE;gBACpC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACpD,IAAI,KAAK,IAAI,CAAC,EAAE;oBACZ,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBAC3B;aACJ;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,KAAK,YAAY,iCAAc,EAAE;gBACjC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACvC;YACD,6EAA6E;YAC7E,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,kDAAkD,EAAE;gBAChF,4GAA4G;gBAC5G,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACtC;YAED,6DAA6D;YAC7D,MAAM,cAAc,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAClD,QAAQ,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,EAAE;gBAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;gBACzC,IAAI,aAAa,EAAE;oBACf,MAAM,oBAAoB,GAAG,aAAa,CAAC,gBAAgB,CAAmC,CAAC;oBAC/F,IAAI,oBAAoB,IAAI,oBAAoB,CAAC,KAAK,KAAK,QAAQ,EAAE;wBACjE,aAAa,CAAC,YAAY,GAAG,oBAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;wBAC/F,IAAI,aAAa,CAAC,YAAY,EAAE;4BAC5B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;yBAC5D;qBACJ;yBAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAAE;wBACrD,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE;4BAC7C,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;yBAC1C;qBACJ;iBACJ;gBACD,QAAQ,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC;gBAC5C,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC,CAAC;YACF,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;SAC5G;QACD,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,OAAoB,EAAE,CAAgB;QACpD,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;QACrC,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE;YAChC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SAC7B;IACL,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,MAAc;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;YAC7C,OAAO;SACV;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7B,mBAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,EAA4C,EAAE,CAAC,CAAC,CAAC,mBAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9I,IAAI,kBAAgB,CAAC,uBAAuB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;YACrD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,mBAAmB,EAAE,EAAE;gBAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aACvB;YACD,IAAI,MAAM,CAAC,2BAA2B,EAAE;gBACpC,MAAM,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACtF;SACJ;IACL,CAAC;IAED;;;;OAIG;IACO,cAAc,CAAC,EAAU;QAC/B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAiB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAqB,CAAC,CAAC,CAAC;QACtG,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,OAAO,OAAO,EAAE;YACZ,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBACzB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACvB;YACD,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;SACzC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,cAAc,CAAC,EAAU;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YAC/C,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;YAC3B,IAAI,kBAAgB,CAAC,uBAAuB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE;gBAChF,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC9C;iBAAM;gBACH,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACjB,OAAO,GAAG,KAAK,CAAC;aACnB;SACJ;QACD,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,OAAO,CAAC,GAAG,CAAC;YACf,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,yBAAe,CAAC,OAAO,CAAC;YACxB,IAAI,CAAC,cAAc;SACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,iBAAiB,CAAC,EAAU;QACxB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE;YAClD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC5B;QACD,MAAM,UAAU,GAAG,IAAI,uBAAQ,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE;YAC9C,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE;gBAClD,UAAU,CAAC,OAAO,EAAE,CAAC;aACxB;QACL,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC;QAC3I,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YACnC,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACO,gBAAgB,CAAC,EAAU;QACjC,IAAI,MAAM,GAAG,gBAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO,MAAM,CAAC;SACjB;QACD,MAAM,GAAG,gBAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5D,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC;SACjB;QACD,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE;YACR,OAAO,MAAM,CAAC;SACjB;QACD,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,MAAM,EAAE;YACR,OAAO,MAAM,CAAC;SACjB;IACL,CAAC;IAED;;;;;;OAMG;IACK,eAAe,CAAC,MAAc;QAClC,MAAM,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAY,EAAE,EAAE;YAC3C,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAIO,eAAe,CAAC,MAAc;QAClC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,CAAC;QAE1C,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,CAAC;QAClE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,mBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAErG,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,GAAyB,SAAS,CAAC,EAAE;YAC3C,IAAI,QAAQ,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBACxE,OAAO;aACV;YACD,IAAI,CAAC,KAAK,EAAE;gBACR,KAAK,GAAG,SAAS,CAAC;aACrB;YACD,MAAM,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;YAChC,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE;gBAChC,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;aAChD;iBAAM;gBACH,OAAO,CAAC,IAAI,CAAC,wDAAwD,IAAI,CAAC,iBAAiB,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;aAClH;QACL,CAAC,CAAC;QACF,IAAI,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,mBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxG,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,EAAU;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YAC7C,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;YAC3B,IAAI,kBAAgB,CAAC,uBAAuB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE;gBAC9E,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC5C;iBAAM;gBACH,OAAO,GAAG,KAAK,CAAC;aACnB;SACJ;QACD,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,OAAO,CAAC,GAAG,CAAC;YACd,yBAAe,CAAC,OAAO,CAAC;YACxB,IAAI,CAAC,cAAc;SACtB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACO,cAAc,CAAC,EAAU;QAC/B,IAAI,MAAM,GAAG,gBAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,GAAG,gBAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5D,IAAI,MAAM,EAAE;gBACR,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC5B;SACJ;QACD,IAAI,MAAM,EAAE;YACR,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,MAAM,EAAE;gBACR,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;aACtC;YACD,OAAO,MAAM,CAAC;SACjB;QACD,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,MAAM,EAAE;YACR,OAAO,MAAM,CAAC;SACjB;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,IAA2B;QACnC,QAAQ,IAAI,EAAE;YACV,KAAK,QAAQ;gBACT,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,MAAM;YACV,KAAK,MAAM;gBACP,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAC;SAC3D;IACL,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAY,EAAE,IAA2B;QAC5C,QAAQ,IAAI,EAAE;YACV,KAAK,QAAQ;gBACT,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;oBAC3B,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC9C;qBAAM;oBACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;iBACjC;gBACD,MAAM;YACV,KAAK,MAAM;gBACP,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAC;SAC1D;IACL,CAAC;IAED;;OAEG;IACO,iBAAiB;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,WAAW,CAAC,QAAQ,EAAE;YACtB,IAAI,aAAmC,CAAC;YACxC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YAClC,IAAI,MAAM,YAAY,oBAAU,EAAE;gBAC9B,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;aAC1C;YACD,WAAW,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,aAAa,IAAI,MAAM,YAAY,oBAAU,EAAE;gBAC/C,8EAA8E;gBAC9E,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;aAC1C;YAED,IAAI,IAAwB,CAAC;YAC7B,IAAI,WAAW,CAAC,OAAO,EAAE;gBACrB,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC;gBACvC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;aAC7C;iBAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE;gBAC5C,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;aAC9C;iBAAM;gBACH,IAAI,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;aAC3C;YACD,IAAI,IAAI,EAAE;gBACN,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,8BAAS,CAAC,cAAc,CAAC,SAAS,CAAC;gBACrE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBACpC,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,KAAK,8BAAS,CAAC,cAAc,CAAC,SAAS,EAAE;wBACxE,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,8BAAS,CAAC,cAAc,CAAC,QAAQ,CAAC;qBACvE;gBACL,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,8BAAS,CAAC,cAAc,CAAC,QAAQ,CAAC;aACvE;SACJ;IACL,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,IAA2B;QACrC,QAAQ,IAAI,EAAE;YACV,KAAK,QAAQ;gBACT,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACtC,KAAK,MAAM;gBACP,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC5C,KAAK,OAAO;gBACR,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YAC7C;gBACI,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAAC;SAC5D;IACL,CAAC;IAED;;;OAGG;IACO,mBAAmB;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,WAAW,CAAC,QAAQ,EAAE;YACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC5B;QACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,KAAK,8BAAS,CAAC,cAAc,CAAC,QAAQ,EAAE;YACvE,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACvC,IAAI,IAAI,EAAE;gBACN,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC;aAC9C;SACJ;QACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,8BAAS,CAAC,cAAc,CAAC,SAAS,CAAC;QACrE,WAAW,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,wBAAc,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACO,8BAA8B;QACpC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;SACxD;aAAM;YACH,MAAM,OAAO,GAAmB;gBAC5B,IAAI,EAAE,mBAAmB;gBACzB,SAAS,EAAE,+BAAkB,CAAC,KAAK;gBACnC,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,0BAA0B;gBACnC,QAAQ,EAAE,CAAC,IAAI;aAClB,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;SAC9D;IACL,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAA2B;QAClC,QAAQ,IAAI,EAAE;YACV,KAAK,QAAQ;gBACT,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,KAAK,8BAAS,CAAC,cAAc,CAAC,QAAQ,CAAC;YACjF,KAAK,MAAM;gBACP,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,KAAK,8BAAS,CAAC,cAAc,CAAC,QAAQ,CAAC;YACvF,KAAK,OAAO;gBACR,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,KAAK,8BAAS,CAAC,cAAc,CAAC,QAAQ,CAAC;YACxF;gBACI,OAAO,IAAI,CAAC;SACnB;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CAAC,YAAoD,EAChE,MAAyD;QACzD,MAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,IAAI,YAAY,KAAK,MAAM,EAAE;YACzB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,mBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAClF;aAAM,IAAI,YAAY,KAAK,QAAQ,EAAE;YAClC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,mBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACpF;aAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAC/C,IAAI,MAAM,EAAE;gBACR,MAAM,CAAC,IAAI,CAAC,GAAG,mBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aAC1C;SACJ;aAAM,IAAI,YAAY,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,GAAG,mBAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;SAChD;QACD,IAAI,MAAM,CAAC,MAAM,EAAE;YACf,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;SAC7F;IACL,CAAC;IAED,QAAQ,CAAC,YAAoD,EACzD,MAAyD;QACzD,IAAI,YAAY,KAAK,MAAM,EAAE;YACzB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;SACjE;aAAM,IAAI,YAAY,KAAK,QAAQ,EAAE;YAClC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;SACnE;aAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAC/C,IAAI,MAAM,EAAE;gBACR,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;aACjC;SACJ;aAAM,IAAI,YAAY,EAAE;YACrB,MAAM,MAAM,GAAG,mBAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;oBAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC/B,MAAM,QAAQ,GAAG,mBAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACtC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,GAAG;iBACpB;aACJ;SACJ;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,OAAiB,EAAE,OAAuC;QACtE,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,KAAK,IAAI,MAAM,mBAAQ,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACrI,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;SACtJ;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,OAAuC;QACjE,mFAAmF;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,eAAe,GAAG,OAAO,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtE,MAAM,YAAY,GAAG,yBAAc,CAAC,EAAE,CAAC,OAAO,CAAC;YAC3C,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC;YAC1C,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,uBAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,MAAM,OAAO,CAAC,GAAG,CAAC;YACd,YAAY;YACZ,IAAI,CAAC,cAAc;SACtB,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QACd,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,aAAa,EAAE;YACf,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SACzC;IACL,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,KAA8B;QACrC,IAAI,KAAK,YAAY,gBAAM,EAAE;YACzB,IAAI,gBAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE;gBACpD,OAAO,MAAM,CAAC;aACjB;YACD,IAAI,gBAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE;gBACtD,OAAO,QAAQ,CAAC;aACnB;YACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,KAAK,EAAE;gBACxC,OAAO,MAAM,CAAC;aACjB;YACD,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,KAAK,KAAK,EAAE;gBACzC,OAAO,OAAO,CAAC;aAClB;SACJ;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,eAAe,EAAE;YACjB,OAAO,MAAM,CAAC;SACjB;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAI,iBAAiB,EAAE;YACnB,OAAO,QAAQ,CAAC;SACnB;QACD,IAAI,oBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;YACxE,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,oBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;YACzE,OAAO,OAAO,CAAC;SAClB;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,eAAe,CAAC,KAAa;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,eAAe,EAAE;YACjB,OAAO,IAAI,CAAC,SAAS,CAAC;SACzB;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAI,iBAAiB,EAAE;YACnB,OAAO,IAAI,CAAC,WAAW,CAAC;SAC3B;QACD,IAAI,oBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;YACxE,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;SAC1C;QACD,IAAI,oBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;YACzE,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;SAC3C;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACb,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,aAAa,EAAE;YACf,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;SAC3C;IACL,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,YAA4C;QACrD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YAClC,QAAQ,YAAY,EAAE;gBAClB,KAAK,MAAM;oBACP,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;gBACxC,KAAK,QAAQ;oBACT,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;gBAC1C,KAAK,MAAM;oBACP,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBACxC,KAAK,OAAO;oBACR,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBACzC;oBACI,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,YAAY,CAAC,CAAC;aAC5D;SACJ;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QACjC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,eAAe,EAAE;YACjB,OAAO,eAAe,CAAC;SAC1B;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,iBAAiB,EAAE;YACnB,OAAO,iBAAiB,CAAC;SAC5B;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACrD,IAAI,oBAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;YACjE,OAAO,eAAe,CAAC;SAC1B;QACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;QACvD,IAAI,oBAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;YAClE,OAAO,gBAAgB,CAAC;SAC3B;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,IAAI,eAAe;QACf,OAAO,mBAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,IAAI,iBAAiB;QACjB,OAAO,mBAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7H,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,UAAsC,IAAI,CAAC,aAAa;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;QAC7B,IAAI,OAAO,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACtD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB,CAAC,UAAsC,IAAI,CAAC,aAAa;QACzE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YACxC,OAAO,CAAC,CAAC,CAAC;SACb;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC;QACnC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,OAAO,CAAC,CAAC,CAAC;SACb;QACD,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,OAAO,KAAK,GAAG,CAAC,CAAC;SACpB;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,eAAe;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACnC,IAAI,OAAO,EAAE;YACT,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;YAChC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;gBACX,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChC,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;oBAC1B,IAAI,OAAO,CAAC,YAAY,EAAE;wBACtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;qBACtD;oBACD,OAAO,IAAI,CAAC;iBACf;qBAAM,IAAI,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;iBAC3C;aACJ;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,kBAAkB,CAAC,UAAsC,IAAI,CAAC,aAAa;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;YACzB,IAAI,OAAO,CAAC,YAAY,EAAE;gBACtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACtD;YACD,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,UAAsC,IAAI,CAAC,aAAa;QAC/D,IAAI,IAAI,GAAG,mBAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,GAAG,oBAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,EAAE,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,mBAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YACzC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;YAClB,EAAE,GAAG,oBAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC7C;QACD,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE;YACzB,OAAO,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACvB;aAAM,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,GAAG,CAAC,EAAE;YAClC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;SAClB;aAAM;YACH,OAAO,OAAO,CAAC;SAClB;IACL,CAAC;IAED;;OAEG;IACH,2BAA2B,CAAC,UAAsC,IAAI,CAAC,aAAa;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;QAC7B,IAAI,OAAO,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACtD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wBAAwB,CAAC,UAAsC,IAAI,CAAC,aAAa;QAC7E,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YACxC,OAAO,CAAC,CAAC,CAAC;SACb;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC;QACnC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,OAAO,CAAC,CAAC,CAAC;SACb;QACD,IAAI,KAAK,GAAG,CAAC,EAAE;YACX,OAAO,KAAK,GAAG,CAAC,CAAC;SACpB;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,mBAAmB;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACnC,IAAI,OAAO,EAAE;YACT,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;YAChC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;gBACX,IAAI,EAAE,GAAG,CAAC,EAAE;oBACR,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;oBAC1B,IAAI,OAAO,CAAC,YAAY,EAAE;wBACtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;qBACtD;oBACD,OAAO,IAAI,CAAC;iBACf;qBAAM,IAAI,EAAE,KAAK,CAAC,EAAE;oBACjB,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;iBAC/C;aACJ;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,sBAAsB,CAAC,UAAsC,IAAI,CAAC,aAAa;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACvB,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;SACpD;QACD,IAAI,OAAO,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACtD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,UAAsC,IAAI,CAAC,aAAa;QACnE,MAAM,IAAI,GAAG,mBAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,MAAM,EAAE,GAAG,oBAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,EAAE,GAAG,CAAC,EAAE;YACR,OAAO,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACvB;aAAM,IAAI,EAAE,KAAK,CAAC,EAAE;YACjB,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;SACxB;aAAM;YACH,OAAO,OAAO,CAAC;SAClB;IACL,CAAC;IAED;;OAEG;IACH,OAAO;QACH,OAAO,mBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAAqB;QAC5B,MAAM,mBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAQ,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAqB;QAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAChD,IAAI,mBAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC1B,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;aAClC;QACL,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,aAAa,CAAC,EAAU;QACpB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACvC,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE;gBAClB,OAAO,MAAM,CAAC;aACjB;SACJ;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,kBAAkB,CAAC,SAA6B,IAAI,CAAC,aAAa;QAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,CAAC;IAChD,CAAC;IAED,eAAe,CAAC,SAA6B,IAAI,CAAC,aAAa;QAC3D,MAAM,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,IAAI,YAAY,iCAAc,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE;YAC1F,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,MAAO,CAAC,EAAE,CAAC,CAAC;SACjC;IACL,CAAC;CACJ,CAAA;AAxnDG;IADC,kBAAM,CAAC,uCAAiB,CAAC;;2DAC8B;AAyExD;IADC,yBAAa,EAAE;;;;4CAef;AAvIQ,gBAAgB;IAD5B,sBAAU,EAAE;IAyEJ,WAAA,kBAAM,CAAC,gCAAwB,CAAC,CAAA;IAChC,WAAA,kBAAM,CAAC,0BAAa,CAAC,CAAA;IACrB,WAAA,kBAAM,CAAC,4CAAuB,CAAC,CAAA;IAC/B,WAAA,kBAAM,CAAC,mCAAoB,CAAC,CAAA;IAC5B,WAAA,kBAAM,CAAC,4DAA+B,CAAC,CAAA;IACvC,WAAA,kBAAM,CAAC,+BAAuB,CAAC,CAAA,EAAE,WAAA,oBAAQ,EAAE,CAAA;IAC3C,WAAA,kBAAM,CAAC,kCAAe,CAAC,CAAA;+CAL6B,0BAAa,YAEJ,mCAAoB;QACG,4DAA+B;GA5E/G,gBAAgB,CAwqD5B;AAxqDY,4CAAgB;AA0qD7B;;GAEG;AACH,WAAiB,gBAAgB;IAM7B;;;OAGG;IACH,SAAgB,UAAU,CAAC,IAAa;QACpC,OAAO,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,CAAC;IACpE,CAAC;IAFe,2BAAU,aAEzB,CAAA;IAED,8DAA8D;IAC9D,SAAgB,WAAW,CAAC,IAAU;QAClC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACpF,CAAC;IAHe,4BAAW,cAG1B,CAAA;IAeD;;OAEG;IACU,gCAAe,GAAG,MAAM,CAAC,MAAM,CAAU;QAClD,WAAW,EAAE,MAAM,CAAC,MAAM,CAAqB;YAC3C,SAAS,EAAE,GAAG;YACd,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,KAAK;SAC1B,CAAC;QACF,SAAS,EAAE,MAAM,CAAC,MAAM,CAAoB;YACxC,SAAS,EAAE,GAAG;YACd,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,KAAK;SAC1B,CAAC;QACF,UAAU,EAAE,MAAM,CAAC,MAAM,CAAoB;YACzC,SAAS,EAAE,GAAG;YACd,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,KAAK;SAC1B,CAAC;KACL,CAAC,CAAC;IAMH,8DAA8D;IAC9D,SAAgB,gBAAgB,CAAC,IAA0B;QACvD,OAAO,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,eAAe,CAAC;IAC/D,CAAC;IAFe,iCAAgB,mBAE/B,CAAA;IAyED,IAAiB,uBAAuB,CAIvC;IAJD,WAAiB,uBAAuB;QACpC,SAAgB,EAAE,CAAC,MAA0B;YACzC,OAAO,CAAC,CAAC,MAAM,IAAI,qBAAqB,IAAI,MAAM,CAAC;QACvD,CAAC;QAFe,0BAAE,KAEjB,CAAA;IACL,CAAC,EAJgB,uBAAuB,GAAvB,wCAAuB,KAAvB,wCAAuB,QAIvC;AAEL,CAAC,EA/IgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QA+IhC;AA5zDY,4CAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"widget-open-handler.d.ts","sourceRoot":"","sources":["../../src/browser/widget-open-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,GAAG,MAAM,eAAe,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,oBAAY,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAC5D;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACtD;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC;CAClD;AAED;;GAEG;AACH,8BACsB,iBAAiB,CAAC,CAAC,SAAS,UAAU,CAAE,YAAW,WAAW;IAGhF,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAG3C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,aAAoB;IACvD;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAA+B;IAG3D,SAAS,CAAC,IAAI,IAAI,IAAI;IAQtB;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC;IAEjF;;;;;;;OAOG;IACG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;cAK/C,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/E;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1C;;;;;;;OAOG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAItC;;;;OAIG;IACH,IAAI,GAAG,IAAI,CAAC,EAAE,CAEb;IAED,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS;IAKnG,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAKpF,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKhF,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM;IAEvF;;;;;OAKG;IACG,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CAKxE"}
1
+ {"version":3,"file":"widget-open-handler.d.ts","sourceRoot":"","sources":["../../src/browser/widget-open-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,GAAG,MAAM,eAAe,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,oBAAY,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAC5D;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACtD;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC;CAClD;AAED;;GAEG;AACH,8BACsB,iBAAiB,CAAC,CAAC,SAAS,UAAU,CAAE,YAAW,WAAW;IAGhF,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAG3C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,aAAoB;IACvD;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAA+B;IAG3D,SAAS,CAAC,IAAI,IAAI,IAAI;IAQtB;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC;IAEjF;;;;;;;OAOG;IACG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;cAK/C,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/E;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1C;;;;;;;OAOG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAItC;;;;OAIG;IACH,IAAI,GAAG,IAAI,CAAC,EAAE,CAEb;IAED,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS;IAKnG,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAKpF,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKhF,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM;IAEvF;;;;;OAKG;IACG,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CAGxE"}
@@ -119,8 +119,7 @@ let WidgetOpenHandler = class WidgetOpenHandler {
119
119
  * @returns a promise of all closed widgets that resolves after they have been closed.
120
120
  */
121
121
  async closeAll(options) {
122
- const closed = await Promise.all(this.all.map(widget => this.shell.closeWidget(widget.id, options)));
123
- return closed.filter(widget => !!widget);
122
+ return this.shell.closeMany(this.all, options);
124
123
  }
125
124
  };
126
125
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"widget-open-handler.js","sourceRoot":"","sources":["../../src/browser/widget-open-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,yCAA8D;AAE9D,sCAAyD;AAEzD,mCAA2C;AAE3C,qDAAiD;AAmBjD;;GAEG;AAEH,IAAsB,iBAAiB,GAAvC,MAAsB,iBAAiB;IAAvC;QAQuB,qBAAgB,GAAG,IAAI,gBAAO,EAAK,CAAC;QACvD;;WAEG;QACM,cAAS,GAAa,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;IA6G/D,CAAC;IA1Ga,IAAI;QACV,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE;YAC3D,IAAI,SAAS,KAAK,IAAI,CAAC,EAAE,EAAE;gBACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAW,CAAC,CAAC;aAC3C;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAaD;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,GAAQ,EAAE,OAA6B;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAClB,CAAC;IACS,KAAK,CAAC,MAAM,CAAC,MAAS,EAAE,OAA6B;QAC3D,MAAM,EAAE,mBACJ,IAAI,EAAE,UAAU,IACb,OAAO,CACb,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;SACtE;QACD,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU,EAAE;YACxB,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SAC9C;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SAC5C;IACL,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,GAAQ;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB,CAAC,GAAQ;QACrB,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAQ,CAAC;IACzD,CAAC;IAES,mBAAmB,CAAC,GAAQ,EAAE,OAA6B;QACjE,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAC3E,CAAC;IAES,SAAS,CAAC,GAAQ,EAAE,OAA6B;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAI,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IACnE,CAAC;IAES,iBAAiB,CAAC,GAAQ,EAAE,OAA6B;QAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAI,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAC3E,CAAC;IAID;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAuC;QAClD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACrG,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAQ,CAAC;IACpD,CAAC;CAEJ,CAAA;AAtHG;IADC,kBAAM,CAAC,wBAAgB,CAAC;8BACC,wBAAgB;gDAAC;AAG3C;IADC,kBAAM,CAAC,8BAAa,CAAC;8BACY,8BAAa;wDAAC;AAShD;IADC,yBAAa,EAAE;;;;6CAOf;AArBiB,iBAAiB;IADtC,sBAAU,EAAE;GACS,iBAAiB,CAyHtC;AAzHqB,8CAAiB"}
1
+ {"version":3,"file":"widget-open-handler.js","sourceRoot":"","sources":["../../src/browser/widget-open-handler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/core",
3
- "version": "1.22.1",
3
+ "version": "1.23.0-next.3+0ad6d10e354",
4
4
  "description": "Theia is a cloud & desktop IDE framework implemented in TypeScript.",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
@@ -17,7 +17,7 @@
17
17
  "@phosphor/virtualdom": "1",
18
18
  "@phosphor/widgets": "1",
19
19
  "@primer/octicons-react": "^9.0.0",
20
- "@theia/application-package": "1.22.1",
20
+ "@theia/application-package": "1.23.0-next.3+0ad6d10e354",
21
21
  "@types/body-parser": "^1.16.4",
22
22
  "@types/cookie": "^0.3.3",
23
23
  "@types/dompurify": "^2.2.2",
@@ -187,5 +187,5 @@
187
187
  "nyc": {
188
188
  "extends": "../../configs/nyc.json"
189
189
  },
190
- "gitHead": "49910aeaecf520a54b253db0215b28c2268bb2f3"
190
+ "gitHead": "0ad6d10e354af57b43fa7ac677c43c8a4948e494"
191
191
  }
@@ -93,51 +93,93 @@ export namespace Saveable {
93
93
  await saveable.save(options);
94
94
  }
95
95
  }
96
- export function apply(widget: Widget): SaveableWidget | undefined {
97
- if (SaveableWidget.is(widget)) {
98
- return widget;
99
- }
100
- const saveable = Saveable.get(widget);
101
- if (!saveable) {
102
- return undefined;
96
+
97
+ async function closeWithoutSaving(this: PostCreationSaveableWidget, doRevert: boolean = true): Promise<void> {
98
+ const saveable = get(this);
99
+ if (saveable && doRevert && saveable.dirty && saveable.revert) {
100
+ await saveable.revert();
103
101
  }
104
- setDirty(widget, saveable.dirty);
105
- saveable.onDirtyChanged(() => setDirty(widget, saveable.dirty));
106
- const closeWidget = widget.close.bind(widget);
107
- const closeWithoutSaving: SaveableWidget['closeWithoutSaving'] = async () => {
108
- if (saveable.dirty && saveable.revert) {
109
- await saveable.revert();
110
- }
111
- closeWidget();
112
- return waitForClosed(widget);
113
- };
102
+ this[close]();
103
+ return waitForClosed(this);
104
+ }
105
+
106
+ function createCloseWithSaving(getOtherSaveables?: () => Array<Widget | SaveableWidget>): (this: SaveableWidget, options?: SaveableWidget.CloseOptions) => Promise<void> {
114
107
  let closing = false;
115
- const closeWithSaving: SaveableWidget['closeWithSaving'] = async options => {
116
- if (closing) {
117
- return;
118
- }
108
+ return async function (this: SaveableWidget, options: SaveableWidget.CloseOptions): Promise<void> {
109
+ if (closing) { return; }
110
+ const saveable = get(this);
111
+ if (!saveable) { return; }
119
112
  closing = true;
120
113
  try {
121
114
  const result = await shouldSave(saveable, () => {
115
+ const notLastWithDocument = !closingWidgetWouldLoseSaveable(this, getOtherSaveables?.() ?? []);
116
+ if (notLastWithDocument) {
117
+ return this.closeWithoutSaving(false).then(() => undefined);
118
+ }
122
119
  if (options && options.shouldSave) {
123
120
  return options.shouldSave();
124
121
  }
125
- return new ShouldSaveDialog(widget).open();
122
+ return new ShouldSaveDialog(this).open();
126
123
  });
127
124
  if (typeof result === 'boolean') {
128
125
  if (result) {
129
- await Saveable.save(widget);
126
+ await Saveable.save(this);
130
127
  }
131
- await closeWithoutSaving();
128
+ await this.closeWithoutSaving();
132
129
  }
133
130
  } finally {
134
131
  closing = false;
135
132
  }
136
133
  };
137
- return Object.assign(widget, {
134
+ }
135
+
136
+ export async function confirmSaveBeforeClose(toClose: Iterable<Widget>, others: Widget[]): Promise<boolean | undefined> {
137
+ for (const widget of toClose) {
138
+ const saveable = Saveable.get(widget);
139
+ if (saveable?.dirty) {
140
+ if (!closingWidgetWouldLoseSaveable(widget, others)) {
141
+ continue;
142
+ }
143
+ const userWantsToSave = await new ShouldSaveDialog(widget).open();
144
+ if (userWantsToSave === undefined) { // User clicked cancel.
145
+ return undefined;
146
+ } else if (userWantsToSave) {
147
+ await saveable.save();
148
+ } else {
149
+ await saveable.revert?.();
150
+ }
151
+ }
152
+ }
153
+ return true;
154
+ }
155
+
156
+ /**
157
+ * @param widget the widget that may be closed
158
+ * @param others widgets that will not be closed.
159
+ * @returns `true` if widget is saveable and no widget among the `others` refers to the same saveable. `false` otherwise.
160
+ */
161
+ function closingWidgetWouldLoseSaveable(widget: Widget, others: Widget[]): boolean {
162
+ const saveable = get(widget);
163
+ return !!saveable && !others.some(otherWidget => otherWidget !== widget && get(otherWidget) === saveable);
164
+ }
165
+
166
+ export function apply(widget: Widget, getOtherSaveables?: () => Array<Widget | SaveableWidget>): SaveableWidget | undefined {
167
+ if (SaveableWidget.is(widget)) {
168
+ return widget;
169
+ }
170
+ const saveable = Saveable.get(widget);
171
+ if (!saveable) {
172
+ return undefined;
173
+ }
174
+ const saveableWidget = widget as SaveableWidget;
175
+ setDirty(saveableWidget, saveable.dirty);
176
+ saveable.onDirtyChanged(() => setDirty(saveableWidget, saveable.dirty));
177
+ const closeWithSaving = createCloseWithSaving(getOtherSaveables);
178
+ return Object.assign(saveableWidget, {
138
179
  closeWithoutSaving,
139
180
  closeWithSaving,
140
- close: () => closeWithSaving()
181
+ close: closeWithSaving,
182
+ [close]: saveableWidget.close,
141
183
  });
142
184
  }
143
185
  export async function shouldSave(saveable: Saveable, cb: () => MaybePromise<boolean | undefined>): Promise<boolean | undefined> {
@@ -154,9 +196,24 @@ export namespace Saveable {
154
196
  }
155
197
 
156
198
  export interface SaveableWidget extends Widget {
157
- closeWithoutSaving(): Promise<void>;
199
+ /**
200
+ * @param doRevert whether the saveable should be reverted before being saved. Defaults to `true`.
201
+ */
202
+ closeWithoutSaving(doRevert?: boolean): Promise<void>;
158
203
  closeWithSaving(options?: SaveableWidget.CloseOptions): Promise<void>;
159
204
  }
205
+
206
+ export const close = Symbol('close');
207
+ /**
208
+ * An interface describing saveable widgets that are created by the `Saveable.apply` function.
209
+ * The original `close` function is reassigned to a locally-defined `Symbol`
210
+ */
211
+ export interface PostCreationSaveableWidget extends SaveableWidget {
212
+ /**
213
+ * The original `close` function of the widget
214
+ */
215
+ [close](): void;
216
+ }
160
217
  export namespace SaveableWidget {
161
218
  export function is(widget: Widget | undefined): widget is SaveableWidget {
162
219
  return !!widget && 'closeWithoutSaving' in widget;
@@ -24,7 +24,7 @@ import { Message } from '@phosphor/messaging';
24
24
  import { IDragEvent } from '@phosphor/dragdrop';
25
25
  import { RecursivePartial, Event as CommonEvent, DisposableCollection, Disposable, environment } from '../../common';
26
26
  import { animationFrame } from '../browser';
27
- import { Saveable, SaveableWidget, SaveOptions } from '../saveable';
27
+ import { Saveable, SaveableWidget, SaveOptions, SaveableSource } from '../saveable';
28
28
  import { StatusBarImpl, StatusBarEntry, StatusBarAlignment } from '../status-bar/status-bar';
29
29
  import { TheiaDockPanel, BOTTOM_AREA_ID, MAIN_AREA_ID } from './theia-dock-panel';
30
30
  import { SidePanelHandler, SidePanel, SidePanelHandlerFactory } from './side-panel-handler';
@@ -1025,7 +1025,7 @@ export class ApplicationShell extends Widget {
1025
1025
  }
1026
1026
  this.tracker.add(widget);
1027
1027
  this.checkActivation(widget);
1028
- Saveable.apply(widget);
1028
+ Saveable.apply(widget, () => this.widgets.filter((maybeSaveable): maybeSaveable is Widget & SaveableSource => !!Saveable.get(maybeSaveable)));
1029
1029
  if (ApplicationShell.TrackableWidgetProvider.is(widget)) {
1030
1030
  for (const toTrack of widget.getTrackableWidgets()) {
1031
1031
  this.track(toTrack);
@@ -1036,6 +1036,11 @@ export class ApplicationShell extends Widget {
1036
1036
  }
1037
1037
  }
1038
1038
 
1039
+ /**
1040
+ * @returns an array of Widgets, all of which are tracked by the focus tracker
1041
+ * The first member of the array is the widget whose id is passed in, and the other widgets
1042
+ * are its tracked parents in ascending order
1043
+ */
1039
1044
  protected toTrackedStack(id: string): Widget[] {
1040
1045
  const tracked = new Map<string, Widget>(this.tracker.widgets.map(w => [w.id, w] as [string, Widget]));
1041
1046
  let current = tracked.get(id);
@@ -1392,24 +1397,23 @@ export class ApplicationShell extends Widget {
1392
1397
  * @param filter
1393
1398
  * If undefined, all tabs are closed; otherwise only those tabs that match the filter are closed.
1394
1399
  */
1395
- closeTabs(tabBarOrArea: TabBar<Widget> | ApplicationShell.Area,
1396
- filter?: (title: Title<Widget>, index: number) => boolean): void {
1400
+ async closeTabs(tabBarOrArea: TabBar<Widget> | ApplicationShell.Area,
1401
+ filter?: (title: Title<Widget>, index: number) => boolean): Promise<void> {
1402
+ const titles: Array<Title<Widget>> = [];
1397
1403
  if (tabBarOrArea === 'main') {
1398
- this.mainAreaTabBars.forEach(tb => this.closeTabs(tb, filter));
1404
+ this.mainAreaTabBars.forEach(tabbar => titles.push(...toArray(tabbar.titles)));
1399
1405
  } else if (tabBarOrArea === 'bottom') {
1400
- this.bottomAreaTabBars.forEach(tb => this.closeTabs(tb, filter));
1406
+ this.bottomAreaTabBars.forEach(tabbar => titles.push(...toArray(tabbar.titles)));
1401
1407
  } else if (typeof tabBarOrArea === 'string') {
1402
- const tabBar = this.getTabBarFor(tabBarOrArea);
1403
- if (tabBar) {
1404
- this.closeTabs(tabBar, filter);
1408
+ const tabbar = this.getTabBarFor(tabBarOrArea);
1409
+ if (tabbar) {
1410
+ titles.push(...toArray(tabbar.titles));
1405
1411
  }
1406
1412
  } else if (tabBarOrArea) {
1407
- const titles = toArray(tabBarOrArea.titles);
1408
- for (let i = 0; i < titles.length; i++) {
1409
- if (filter === undefined || filter(titles[i], i)) {
1410
- titles[i].owner.close();
1411
- }
1412
- }
1413
+ titles.push(...toArray(tabBarOrArea.titles));
1414
+ }
1415
+ if (titles.length) {
1416
+ await this.closeMany((filter ? titles.filter(filter) : titles).map(title => title.owner));
1413
1417
  }
1414
1418
  }
1415
1419
 
@@ -1436,6 +1440,22 @@ export class ApplicationShell extends Widget {
1436
1440
  }
1437
1441
  }
1438
1442
 
1443
+ /**
1444
+ * @param targets the widgets to be closed
1445
+ * @return an array of all the widgets that were actually closed.
1446
+ */
1447
+ async closeMany(targets: Widget[], options?: ApplicationShell.CloseOptions): Promise<Widget[]> {
1448
+ if (options?.save === false || await Saveable.confirmSaveBeforeClose(targets, this.widgets.filter(widget => !targets.includes(widget)))) {
1449
+ return (await Promise.all(targets.map(target => this.closeWidget(target.id, options)))).filter((widget): widget is Widget => widget !== undefined);
1450
+ }
1451
+ return [];
1452
+ }
1453
+
1454
+ /**
1455
+ * @returns the widget that was closed, if any, `undefined` otherwise.
1456
+ *
1457
+ * If your use case requires closing multiple widgets, use {@link ApplicationShell#closeMany} instead. That method handles closing saveable widgets more reliably.
1458
+ */
1439
1459
  async closeWidget(id: string, options?: ApplicationShell.CloseOptions): Promise<Widget | undefined> {
1440
1460
  // TODO handle save for composite widgets, i.e. the preference widget has 2 editors
1441
1461
  const stack = this.toTrackedStack(id);
@@ -1443,17 +1463,10 @@ export class ApplicationShell extends Widget {
1443
1463
  if (!current) {
1444
1464
  return undefined;
1445
1465
  }
1446
- let pendingClose;
1447
- if (SaveableWidget.is(current)) {
1448
- let shouldSave;
1449
- if (options && 'save' in options) {
1450
- shouldSave = () => options.save;
1451
- }
1452
- pendingClose = current.closeWithSaving({ shouldSave });
1453
- } else {
1454
- current.close();
1455
- pendingClose = waitForClosed(current);
1456
- };
1466
+ const saveableOptions = options && { shouldSave: () => options.save };
1467
+ const pendingClose = SaveableWidget.is(current)
1468
+ ? current.closeWithSaving(saveableOptions)
1469
+ : (current.close(), waitForClosed(current));
1457
1470
  await Promise.all([
1458
1471
  pendingClose,
1459
1472
  this.pendingUpdates
@@ -1744,8 +1757,9 @@ export class ApplicationShell extends Widget {
1744
1757
  if (!prevBar) {
1745
1758
  return false;
1746
1759
  }
1747
- const len = prevBar.titles.length;
1748
- prevBar.currentIndex = len - 1;
1760
+ if (!prevBar.currentTitle) {
1761
+ prevBar.currentIndex = prevBar.titles.length - 1;
1762
+ }
1749
1763
  if (prevBar.currentTitle) {
1750
1764
  this.activateWidget(prevBar.currentTitle.owner.id);
1751
1765
  }
@@ -160,8 +160,6 @@ export abstract class WidgetOpenHandler<W extends BaseWidget> implements OpenHan
160
160
  * @returns a promise of all closed widgets that resolves after they have been closed.
161
161
  */
162
162
  async closeAll(options?: ApplicationShell.CloseOptions): Promise<W[]> {
163
- const closed = await Promise.all(this.all.map(widget => this.shell.closeWidget(widget.id, options)));
164
- return closed.filter(widget => !!widget) as W[];
163
+ return this.shell.closeMany(this.all, options) as Promise<W[]>;
165
164
  }
166
-
167
165
  }