@sapphire-ion/framework 1.0.36 → 1.0.38

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.
@@ -3,6 +3,16 @@ import { HttpService } from "../../../services/web/http.service";
3
3
  import { HttpServiceAtivo } from "../../../services/web/http.ativo.service";
4
4
  import { ViewFiltros } from "../../../classes/filters/view-filtros";
5
5
  import { INT_MAX } from "../../../services/utils.service";
6
+ export var SelectInterfaces;
7
+ (function (SelectInterfaces) {
8
+ /** Interface padrão do select
9
+ * Popover quando web, Modal quando mobile
10
+ */
11
+ SelectInterfaces[SelectInterfaces["Dynamic"] = 0] = "Dynamic";
12
+ SelectInterfaces[SelectInterfaces["Popover"] = 0] = "Popover";
13
+ SelectInterfaces[SelectInterfaces["Modal"] = 1] = "Modal";
14
+ SelectInterfaces[SelectInterfaces["ActionSheet"] = 2] = "ActionSheet";
15
+ })(SelectInterfaces || (SelectInterfaces = {}));
6
16
  export class InputSelectConfiguration {
7
17
  static Create(options) {
8
18
  const config = new InputSelectConfiguration(options.bindValue, options.bindLabel, options.clearable, options.searcheable, options.loadFrom, options.multiple, options.vFiltros || null, options.disableConditional || null);
@@ -15,6 +25,9 @@ export class InputSelectConfiguration {
15
25
  if (options.useInfiniteScroll != undefined) {
16
26
  config.useInfiniteScroll = options.useInfiniteScroll;
17
27
  }
28
+ if (options.interface) {
29
+ config.interface = options.interface;
30
+ }
18
31
  return config;
19
32
  }
20
33
  ;
@@ -54,6 +67,8 @@ export class InputSelectConfiguration {
54
67
  };
55
68
  this.vFiltros = null;
56
69
  this.useInfiniteScroll = false;
70
+ /** Interface do select */
71
+ this.interface = SelectInterfaces.Dynamic;
57
72
  this.clearable = clearable;
58
73
  this.searcheable = searcheable;
59
74
  this.multiple = multiple;
@@ -202,4 +217,4 @@ export function BindLabelFactory(configuration) {
202
217
  }
203
218
  return bindLabel;
204
219
  }
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuc2VsZWN0LmNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LXNlbGVjdC9pbnB1dC5zZWxlY3QuY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxELE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBTzFELE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQWlCYjtRQUVDLE1BQU0sTUFBTSxHQUFHLElBQUksd0JBQXdCLENBQ3pDLE9BQU8sQ0FBQyxTQUFTLEVBQ2pCLE9BQU8sQ0FBQyxTQUFTLEVBQ2pCLE9BQU8sQ0FBQyxTQUFTLEVBQ2pCLE9BQU8sQ0FBQyxXQUFXLEVBQ25CLE9BQU8sQ0FBQyxRQUFRLEVBQ2hCLE9BQU8sQ0FBQyxRQUFRLEVBQ2hCLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxFQUN4QixPQUFPLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUNuQyxDQUFDO1FBQ0YsSUFBRyxPQUFPLENBQUMsV0FBVyxFQUFDLENBQUM7WUFDdEIsTUFBTSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQzNDLENBQUM7UUFDRCxJQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBQyxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7UUFDckQsQ0FBQztRQUNELElBQUcsT0FBTyxD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NEIsSUFBSSxDQUFDO0lBQzlDLElBQUcsT0FBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFFBQVEsRUFBQyxDQUFDO1FBQ2pDLElBQUksR0FBRyxHQUF5QixVQUFVLENBQUM7UUFDM0MsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQVUsRUFBRSxHQUFHLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7U0FBSSxDQUFDO1FBQ0osSUFBSSxHQUFHLEdBQXlCLFVBQVUsQ0FBQztRQUMzQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBVSxFQUFFLEdBQUcsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5pbXBvcnQgeyBIdHRwU2VydmljZSwgVmlld1JldG9ybm8gfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvd2ViL2h0dHAuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZUF0aXZvIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3dlYi9odHRwLmF0aXZvLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVmlld0ZpbHRyb3MgfSBmcm9tIFwiLi4vLi4vLi4vY2xhc3Nlcy9maWx0ZXJzL3ZpZXctZmlsdHJvc1wiO1xyXG5pbXBvcnQgeyBJTlRfTUFYIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ29tcGFyaXNvbiB9IGZyb20gXCIuLi8uLi8uLi9jbGFzc2VzL2NvbXBhcmlzb24vY29tcGFyaXNvblwiO1xyXG5pbXBvcnQgeyBJbnB1dFNlbGVjdENvbXBvbmVudCB9IGZyb20gXCIuL2lucHV0LXNlbGVjdC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUGxhY2VtZW50IH0gZnJvbSBcIkBmbG9hdGluZy11aS9kb21cIjtcclxuXHJcbmV4cG9ydCB0eXBlIERlZmF1bHRNb2RlbE9wdGlvbnMgPSB7IHZhbHVlOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcgfTtcclxuXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb257XHJcbiAgc3RhdGljIENyZWF0ZShvcHRpb25zOiB7XHJcbiAgICBiaW5kTGFiZWw6IHN0cmluZyB8ICgob2JqOiBhbnkpID0+IHN0cmluZyksXHJcbiAgICBiaW5kVmFsdWU6IHN0cmluZyB8ICgob2JqOiBhbnkpID0+IGFueSksXHJcbiAgICBjbGVhcmFibGU/OiBib29sZWFuLFxyXG4gICAgc2VhcmNoZWFibGU/OiBib29sZWFuLFxyXG4gICAgbG9hZEZyb20/OiBIdHRwU2VydmljZSB8IE9ic2VydmFibGU8Vmlld1JldG9ybm8+IHwgYW55W10sXHJcbiAgICBtdWx0aXBsZT86IGJvb2xlYW4sXHJcbiAgICB2RmlsdHJvcz86IFBhcnRpYWw8eyBcclxuICAgICAgc2VhcmNoOiBzdHJpbmcsXHJcbiAgICAgIG9yZGVyQnlQcm9wZXJ0eTogc3RyaW5nLFxyXG4gICAgICBhc2NlbmRpbmc6IGJvb2xlYW4sXHJcbiAgICAgIGZpbHRlcjogQ29tcGFyaXNvbltdXHJcbiAgICB9PixcclxuICAgIGRpc2FibGVDb25kaXRpb25hbD86ICgob2JqOiBhbnkpID0+IGJvb2xlYW4pXHJcbiAgICB1c2VJbmZpbml0ZVNjcm9sbD86IGJvb2xlYW4sXHJcbiAgICBwbGFjZWhvbGRlcj86IHN0cmluZyxcclxuICAgIG5vSXRlbnNGb3VuZFRleHQ/OiBzdHJpbmdcclxuICB9XHJcbiAgKXtcclxuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24oXHJcbiAgICAgIG9wdGlvbnMuYmluZFZhbHVlLFxyXG4gICAgICBvcHRpb25zLmJpbmRMYWJlbCxcclxuICAgICAgb3B0aW9ucy5jbGVhcmFibGUsXHJcbiAgICAgIG9wdGlvbnMuc2VhcmNoZWFibGUsXHJcbiAgICAgIG9wdGlvbnMubG9hZEZyb20sXHJcbiAgICAgIG9wdGlvbnMubXVsdGlwbGUsXHJcbiAgICAgIG9wdGlvbnMudkZpbHRyb3MgfHwgbnVsbCxcclxuICAgICAgb3B0aW9ucy5kaXNhYmxlQ29uZGl0aW9uYWwgfHwgbnVsbFxyXG4gICAgKTtcclxuICAgIGlmKG9wdGlvbnMucGxhY2Vob2xkZXIpe1xyXG4gICAgICBjb25maWcucGxhY2Vob2xkZXIgPSBvcHRpb25zLnBsYWNlaG9sZGVyO1xyXG4gICAgfVxyXG4gICAgaWYob3B0aW9ucy5ub0l0ZW5zRm91bmRUZXh0KXtcclxuICAgICAgY29uZmlnLm5vSXRlbnNGb3VuZFRleHQgPSBvcHRpb25zLm5vSXRlbnNGb3VuZFRleHQ7XHJcbiAgICB9XHJcbiAgICBpZihvcHRpb25zLnVzZUluZmluaXRlU2Nyb2xsICE9IHVuZGVmaW5lZCl7XHJcbiAgICAgIGNvbmZpZy51c2VJbmZpbml0ZVNjcm9sbCA9IG9wdGlvbnMudXNlSW5maW5pdGVTY3JvbGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29uZmlnO1xyXG4gIH07XHJcblxyXG5cclxuICBwbGFjZWhvbGRlciAgICAgOiBzdHJpbmcgPSBcIlNlbGVjaW9uZSB1bSBpdGVtLi4uXCJcclxuICBub0l0ZW5zRm91bmRUZXh0OiBzdHJpbmcgPSBcIlNlbSBpdGVtcyBlbmNvbnRyYWRvcy4uLlwiXHJcblxyXG4gIGxvYWRlcjogSW5wdXRTZWxlY3REYXRhTG9hZGVyO1xyXG4gIGxvYWRGcm9tQXJyYXkgICA6IGFueVtdO1xyXG4gIGxvYWRGcm9tU2VydmljZSA6IEh0dHBTZXJ2aWNlIHwgSHR0cFNlcnZpY2VBdGl2b1xyXG4gIGxvYWRGcm9tRnVuY3Rpb246IE9ic2VydmFibGU8YW55PlxyXG5cclxuICBwb3BvdmVyQ29uZmlndXJhdGlvbjoge1xyXG4gICAgZmxpcDogYm9vbGVhbixcclxuICAgIHBsYWNlbWVudDogUGxhY2VtZW50LFxyXG4gIH0gPSB7XHJcbiAgICBmbGlwOiB0cnVlLFxyXG4gICAgcGxhY2VtZW50OiBcImJvdHRvbVwiXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdkZpbHRyb3M6IFZpZXdGaWx0cm9zIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIHVzZUluZmluaXRlU2Nyb2xsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLyoqIFZhbG9yIHF1ZSBzZXLDoSBzZXRhZG8gbm8gZm9ybUNvbnRyb2wgKi9cclxuICAgIHB1YmxpYyBiaW5kVmFsdWU6IHN0cmluZyB8ICgob2JqOiBhbnkpID0+IGFueSkgICAgID0gXCJpZFwiICAsXHJcbiAgICAvKiogVmFsb3IgcXVlIHNlcsOhIGV4aWJpZG8gKi9cclxuICAgIHB1YmxpYyBiaW5kTGFiZWw6IHN0cmluZyB8ICgob2JqOiBhbnkpID0+IHN0cmluZykgID0gXCJub21lXCIsIFxyXG4gICAgXHJcbiAgICAvKiogSW5kaWNhIHNlIG8gc2VsZWN0IHBvZGUgc2VyIG51bG8gZSBsaW1wYXZlbCAqL1xyXG4gICAgcHVibGljIGNsZWFyYWJsZSAgOiBib29sZWFuID0gdHJ1ZSwgXHJcbiAgICAvKiogSW5kaWNhIHNlIG8gc2VsZWN0IHBvZGUgc2VyIHBlc3F1aXNhZG8gKi9cclxuICAgIHB1YmxpYyBzZWFyY2hlYWJsZTogYm9vbGVhbiA9IHRydWUsIFxyXG4gICAgXHJcbiAgICAvKiogXHJcbiAgICAgKiBTZSBMb2FkRnJvbSBpbnN0YW5jZW9mIEh0dHBTZXJ2aWNlICAgICAgLT4gT3MgZGFkb3Mgc2Vyw6NvIGNhcnJlZ2Fkb3MgZG8gTGlzdCgpXHJcbiAgICAgKiBTZSBMb2FkRnJvbSBpbnN0YW5jZW9mIE9ic2VydmFibGUgICAgICAgLT4gT3MgZGFkb3Mgc2Vyw6NvIGNhcnJlZ2Fkb3MgZGEgZnVuw6fDo28gaW5kaWNhZGFcclxuICAgICAqIFNlIExvYWRGcm9tIGluc3RhbmNlb2YgQXJyYXkgICAgICAgICAgICAtPiBPcyBkYWRvcyBzZXLDo28gbyBhcnJheVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbG9hZEZyb20/OiAgSHR0cFNlcnZpY2UgfCBPYnNlcnZhYmxlPFZpZXdSZXRvcm5vPiB8IGFueVtdLCBcclxuICAgIC8qKiBTZSA9IHRydWUgT3MgdmFsb3JlcyBubyBmb3JtIGNvbnRyb2wgc2Vyw6FvIHVtIGFycmF5IGRvcyBpdGVtcyBzZWxlY2lvbmFkb3MgKi9cclxuICAgIHB1YmxpYyBtdWx0aXBsZSA6IGJvb2xlYW4gPSBmYWxzZSxcclxuICAgIC8qKiBBcGxpY2Egb3MgZmlsdHJvcyBuYSBwZXNxdWlzYSAqL1xyXG4gICAgdkZpbHRyb3MgOiBQYXJ0aWFsPHsgXHJcbiAgICAgIC8qKiBBcGxpY2EgdW1hIHBlc3F1aXNhIGVtIHRleHRvICAqL1xyXG4gICAgICBzZWFyY2g6IHN0cmluZ1xyXG4gICAgICAvKiogUHJvcHJpZWRhZGUgZGUgb3JkZW5hw6fDo28gKi9cclxuICAgICAgb3JkZXJCeVByb3BlcnR5OiBzdHJpbmdcclxuICAgICAgLyoqIE9yaWVudGHDp8OjbyBkZSBvcmRlbmHDp8OjbyAqL1xyXG4gICAgICBhc2NlbmRpbmc6IGJvb2xlYW4sXHJcbiAgICAgIC8qKiBGaWx0cm8gICovXHJcbiAgICAgIGZpbHRlcjogQ29tcGFyaXNvbltdXHJcbiAgICB9PiB8IG51bGwgPSBudWxsLFxyXG4gICAgLyoqIERlc2F0aXZhIG9zIGl0ZW1zIHF1ZSBlc3TDo28gZGUgYWNvcmRvIGNvbSBhIGZ1bsOnw6NvICovXHJcbiAgICBwdWJsaWMgZGlzYWJsZUNvbmRpdGlvbmFsOiAoKG9iajogYW55KSA9PiBib29sZWFuKSB8IG51bGwgPSBudWxsXHJcbiAgKXtcclxuICAgIHRoaXMuY2xlYXJhYmxlICAgPSBjbGVhcmFibGU7XHJcbiAgICB0aGlzLnNlYXJjaGVhYmxlID0gc2VhcmNoZWFibGU7XHJcbiAgICB0aGlzLm11bHRpcGxlICAgID0gbXVsdGlwbGU7XHJcblxyXG4gICAgaWYodkZpbHRyb3MgIT0gbnVsbCl7XHJcbiAgICAgIGNvbnN0IHYgPSB2RmlsdHJvcztcclxuICAgICAgaWYodi5hc2NlbmRpbmcgPT0gbnVsbCB8fCB2LmFzY2VuZGluZyA9PSB1bmRlZmluZWQpeyBcclxuICAgICAgICB2LmFzY2VuZGluZyA9IHRydWU7IFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudkZpbHRyb3MgPSBuZXcgVmlld0ZpbHRyb3MoSU5UX01BWCwgdi5zZWFyY2gsIDEsIHYub3JkZXJCeVByb3BlcnR5LCB2LmFzY2VuZGluZyk7XHJcbiAgICAgIHRoaXMudkZpbHRyb3MuZmlsdGVyID0gdi5maWx0ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgaWYobG9hZEZyb20pe1xyXG4gICAgICBpZihBcnJheS5pc0FycmF5KGxvYWRGcm9tKSl7IFxyXG4gICAgICAgIHRoaXMubG9hZEZyb21BcnJheSAgICA9IGxvYWRGcm9tOyBcclxuICAgICAgfSBlbHNlXHJcbiAgICAgIGlmKGxvYWRGcm9tIGluc3RhbmNlb2YgSHR0cFNlcnZpY2UgfHwgbG9hZEZyb20gaW5zdGFuY2VvZiBIdHRwU2VydmljZUF0aXZvKXsgXHJcbiAgICAgICAgdGhpcy5sb2FkRnJvbVNlcnZpY2UgID0gbG9hZEZyb207XHJcbiAgICAgIH0gZWxzZSB7ICBcclxuICAgICAgICB0aGlzLmxvYWRGcm9tRnVuY3Rpb24gPSBsb2FkRnJvbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9hZGVyID0gbmV3IElucHV0U2VsZWN0RGF0YUxvYWRlcih0aGlzKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFNlbGVjdERhdGFMb2FkZXJ7XHJcbiAgcHJpdmF0ZSBsc3RDb21wb25lbnRzOiBJbnB1dFNlbGVjdENvbXBvbmVudFtdID0gW107XHJcbiAgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb247XHJcblxyXG4gIC8qKiBWYWxvciBxdWUgc2Vyw6Egc2V0YWRvIG5vIGZvcm1Db250cm9sICovXHJcbiAgcHVibGljIGJpbmRWYWx1ZTogKChvYmo6IGFueSkgPT4gYW55KSAgIHwgbnVsbCA9IG51bGw7XHJcbiAgLyoqIFZhbG9yIHF1ZSBzZXLDoSBleGliaWRvICovXHJcbiAgcHVibGljIGJpbmRMYWJlbDogKChvYmo6IGFueSkgPT4gc3RyaW5nKXwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbmZpZ3VyYXRpb246IElucHV0U2VsZWN0Q29uZmlndXJhdGlvbikgIHsgXHJcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uOyBcclxuICAgIHRoaXMuYmluZFZhbHVlID0gQmluZFZhbHVlRmFjdG9yeShjb25maWd1cmF0aW9uKVxyXG4gICAgdGhpcy5iaW5kTGFiZWwgPSBCaW5kTGFiZWxGYWN0b3J5KGNvbmZpZ3VyYXRpb24pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQWRkQ29tcG9uZW50KGNvbXBvbmVudDogSW5wdXRTZWxlY3RDb21wb25lbnQpOiB2b2lkIHsgXHJcbiAgICB0aGlzLmxzdENvbXBvbmVudHMucHVzaChjb21wb25lbnQpO1xyXG4gIH1cclxuXHJcbiAgLy9UT0RPIFJlbW92ZSBmdW5jdGlvblxyXG4gICBwdWJsaWMgR2V0TGFiZWwodmFsdWU6IGFueSl7XHJcbiAgICBpZighdGhpcy5pdGVtcyB8fCAhdGhpcy5iaW5kVmFsdWUgfHwgIXRoaXMuYmluZExhYmVsKXsgcmV0dXJuIFwiXCI7IH1cclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW1zLmZpbmQocCA9PiB0aGlzLmJpbmRWYWx1ZShwKSA9PSB2YWx1ZSk7XHJcbiAgICBpZighaXRlbSl7IHJldHVybiBcIlwiIDt9XHJcbiAgICByZXR1cm4gdGhpcy5iaW5kTGFiZWwoaXRlbSk7XHJcbiAgfVxyXG5cclxuICBpc0xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGVycm9yICAgOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGFzeW5jIFJlZnJlc2goaXRlbXM/OiBhbnlbXSk6IFByb21pc2U8dm9pZD57XHJcbiAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiB0aGlzLmxzdENvbXBvbmVudHMpIHtcclxuICAgICAgY29tcG9uZW50LmxvYWRpbmdGcm9tTG9hZGVyID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYoIXRoaXMuY29uZmlndXJhdGlvbi5sb2FkRnJvbVNlcnZpY2UgICYmIFxyXG4gICAgICAgIXRoaXMuY29uZmlndXJhdGlvbi5sb2FkRnJvbUZ1bmN0aW9uICYmIFxyXG4gICAgICAgKCF0aGlzLmNvbmZpZ3VyYXRpb24ubG9hZEZyb21BcnJheSB8fCAhdGhpcy5jb25maWd1cmF0aW9uLmxvYWRGcm9tQXJyYXkubGVuZ3RoKVxyXG4gICAgICApe1xyXG4gICAgICB0aGlzLml0ZW1zID0gWy4uLml0ZW1zIHx8IFtdXTtcclxuICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XHJcbiAgICAgIGZvciAoY29uc3QgY29tcG9uZW50IG9mIHRoaXMubHN0Q29tcG9uZW50cykge1xyXG4gICAgICAgIGlmKCFjb21wb25lbnQuZGVzdHJveWVkKVxyXG4gICAgICAgIGNvbXBvbmVudC5pdGVtcy5zZXQoWy4uLnRoaXMuaXRlbXNdKTsgXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgdHJ5e1xyXG4gICAgICBhd2FpdCB0aGlzLkxvYWQoKTtcclxuICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XHJcbiAgICAgIGZvciAoY29uc3QgY29tcG9uZW50IG9mIHRoaXMubHN0Q29tcG9uZW50cykge1xyXG4gICAgICAgIGlmKCFjb21wb25lbnQuZGVzdHJveWVkKVxyXG4gICAgICAgIGNvbXBvbmVudC5pdGVtcy5zZXQoWy4uLnRoaXMuaXRlbXNdKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZmluYWxseXtcclxuICAgICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgdGhpcy5sc3RDb21wb25lbnRzKSB7XHJcbiAgICAgICAgY29tcG9uZW50LmxvYWRpbmdGcm9tTG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGl0ZW1zOiBhbnlbXSA9IFtdO1xyXG4gIGFzeW5jIExvYWQoKTogUHJvbWlzZTx2b2lkPntcclxuICAgIGlmKHRoaXMuaXNMb2FkZWQpe1xyXG4gICAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiB0aGlzLmxzdENvbXBvbmVudHMpIHtcclxuICAgICAgIGlmKCFjb21wb25lbnQuZGVzdHJveWVkKVxyXG4gICAgICAgIGNvbXBvbmVudC5pdGVtcy5zZXQoWy4uLnRoaXMuaXRlbXNdKTsgXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vWyBMb2FkIGZyb20gQXJyYXkgXVxyXG4gICAgaWYodGhpcy5jb25maWd1cmF0aW9uLmxvYWRGcm9tQXJyYXkgIT0gdW5kZWZpbmVkICYmIHRoaXMuY29uZmlndXJhdGlvbi5sb2FkRnJvbUFycmF5Lmxlbmd0aCl7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSBbLi4udGhpcy5jb25maWd1cmF0aW9uLmxvYWRGcm9tQXJyYXldO1xyXG4gICAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiB0aGlzLmxzdENvbXBvbmVudHMpIHtcclxuICAgICAgIGlmKCFjb21wb25lbnQuZGVzdHJveWVkKVxyXG4gICAgICAgIGNvbXBvbmVudC5pdGVtcy5zZXQoWy4uLnRoaXMuaXRlbXNdKTsgXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vWyBMb2FkIGZyb20gYXBpIF1cclxuICAgIGxldCB2RmlsdHJvczogVmlld0ZpbHRyb3MgfCBudWxsID0gdGhpcy5jb25maWd1cmF0aW9uLnZGaWx0cm9zO1xyXG4gICAgdHJ5e1xyXG4gICAgICBsZXQgbHN0RGFkb3M6IGFueVtdID0gW107XHJcbiAgICAgIFxyXG4gICAgICBpZih0aGlzLmNvbmZpZ3VyYXRpb24ubG9hZEZyb21TZXJ2aWNlKXtcclxuICAgICAgICBsc3REYWRvcyA9IChhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmNvbmZpZ3VyYXRpb24ubG9hZEZyb21TZXJ2aWNlLkxpc3QodkZpbHRyb3MpKSkubHN0RGFkb3NcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgbHN0RGFkb3MgPSAoYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5jb25maWd1cmF0aW9uLmxvYWRGcm9tRnVuY3Rpb24pKS5sc3REYWRvcztcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5pdGVtcyA9IGxzdERhZG9zO1xyXG4gICAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiB0aGlzLmxzdENvbXBvbmVudHMpIHtcclxuICAgICAgICBpZighY29tcG9uZW50LmRlc3Ryb3llZClcclxuICAgICAgICBjb21wb25lbnQuaXRlbXMuc2V0KFsuLi50aGlzLml0ZW1zXSk7IFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmVycm9yID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZSl7IHRoaXMuZXJyb3IgPSB0cnVlOyB0aHJvdyBlOyB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gQmluZFZhbHVlRmFjdG9yeShjb25maWd1cmF0aW9uOiBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24pOiAoKG9iajogYW55KSA9PiBhbnkpIHtcclxuICBjb25zdCBjQmluZFZhbHVlID0gY29uZmlndXJhdGlvbi5iaW5kVmFsdWU7XHJcbiAgbGV0IGJpbmRWYWx1ZTogKChhcmdzOiBhbnkpID0+IGFueSkgPSBudWxsO1xyXG4gIGlmKHR5cGVvZihjQmluZFZhbHVlKSA9PSAnc3RyaW5nJyl7XHJcbiAgICBsZXQgYnZTOiBzdHJpbmcgICAgICAgICAgICAgICA9IGNCaW5kVmFsdWU7XHJcbiAgICBiaW5kVmFsdWUgPSAoKG9iajogYW55KTogYW55ID0+IHsgcmV0dXJuIG9ialtidlNdOyB9KTtcclxuICB9ZWxzZXtcclxuICAgIGxldCBidkY6ICgoYXJnczogYW55KSA9PiBhbnkpID0gY0JpbmRWYWx1ZTtcclxuICAgIGJpbmRWYWx1ZSA9ICgob2JqOiBhbnkpOiBhbnkgPT4geyByZXR1cm4gYnZGKG9iaik7IH0pO1xyXG4gIH1cclxuICByZXR1cm4gYmluZFZhbHVlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gQmluZExhYmVsRmFjdG9yeShjb25maWd1cmF0aW9uOiBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24pOiAoKG9iajogYW55KSA9PiBzdHJpbmcpIHtcclxuICBjb25zdCBjQmluZExhYmVsID0gY29uZmlndXJhdGlvbi5iaW5kTGFiZWw7XHJcbiAgbGV0IGJpbmRMYWJlbDogKChhcmdzOiBhbnkpID0+IHN0cmluZykgPSBudWxsO1xyXG4gIGlmKHR5cGVvZihjQmluZExhYmVsKSA9PSAnc3RyaW5nJyl7XHJcbiAgICBsZXQgYmxTOiBzdHJpbmcgICAgICAgICAgICAgICA9IGNCaW5kTGFiZWw7XHJcbiAgICBiaW5kTGFiZWwgPSAoKG9iajogYW55KTogc3RyaW5nID0+IHsgcmV0dXJuIG9ialtibFNdICsgJyc7IH0pO1xyXG4gIH1lbHNle1xyXG4gICAgbGV0IGJsRjogKChhcmdzOiBhbnkpID0+IGFueSkgPSBjQmluZExhYmVsO1xyXG4gICAgYmluZExhYmVsID0gKChvYmo6IGFueSk6IHN0cmluZyA9PiB7IHJldHVybiBibEYob2JqKSArICcnOyB9KTtcclxuICB9XHJcbiAgcmV0dXJuIGJpbmRMYWJlbDtcclxufSJdfQ==
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuc2VsZWN0LmNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LXNlbGVjdC9pbnB1dC5zZWxlY3QuY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxELE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBTzFELE1BQU0sQ0FBTixJQUFZLGdCQVFYO0FBUkQsV0FBWSxnQkFBZ0I7SUFDMUI7O09BRUc7SUFDSCw2REFBZSxDQUFBO0lBQ2YsNkRBQWUsQ0FBQTtJQUNmLHlEQUFlLENBQUE7SUFDZixxRUFBZSxDQUFBO0FBQ2pCLENBQUMsRUFSVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBUTNCO0FBRUQsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9Ba0JiO1FBRUMsTUFBTSxNQUFNLEdBQUcsSUFBSSx3QkFBd0IsQ0FDekMsT0FBTyxDQUFDLFNBQVMsRUFDakIsT0FBTyxDQUFDLFNBQVMsRUFDakIsT0FBTyxDQUFDLFNBQVMsRUFDakIsT0FBTyxDQUFDLFdBQVcsRUFDbkIsT0FBTyxDQUFDLFFBQVEsRUFDaEIsT0FBTyxDQUFDLFFBQVEsRUFDaEIsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQ3hCLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQ25DLENBQUM7UUFDRixJQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUMsQ0FBQztZQUN0QixNQUFN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QyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7U0FBSSxDQUFDO1FBQ0osSUFBSSxHQUFHLEdBQXlCLFVBQVUsQ0FBQztRQUMzQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBTyxFQUFFLEdBQUcsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxhQUF1QztJQUN0RSxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQzNDLElBQUksU0FBUyxHQUE0QixJQUFJLENBQUM7SUFDOUMsSUFBRyxPQUFNLENBQUMsVUFBVSxDQUFDLElBQUksUUFBUSxFQUFDLENBQUM7UUFDakMsSUFBSSxHQUFHLEdBQXlCLFVBQVUsQ0FBQztRQUMzQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBVSxFQUFFLEdBQUcsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztTQUFJLENBQUM7UUFDSixJQUFJLEdBQUcsR0FBeUIsVUFBVSxDQUFDO1FBQzNDLFNBQVMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFVLEVBQUUsR0FBRyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlLCBWaWV3UmV0b3JubyB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy93ZWIvaHR0cC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlQXRpdm8gfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvd2ViL2h0dHAuYXRpdm8uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBWaWV3RmlsdHJvcyB9IGZyb20gXCIuLi8uLi8uLi9jbGFzc2VzL2ZpbHRlcnMvdmlldy1maWx0cm9zXCI7XHJcbmltcG9ydCB7IElOVF9NQVggfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvdXRpbHMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb21wYXJpc29uIH0gZnJvbSBcIi4uLy4uLy4uL2NsYXNzZXMvY29tcGFyaXNvbi9jb21wYXJpc29uXCI7XHJcbmltcG9ydCB7IElucHV0U2VsZWN0Q29tcG9uZW50IH0gZnJvbSBcIi4vaW5wdXQtc2VsZWN0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBQbGFjZW1lbnQgfSBmcm9tIFwiQGZsb2F0aW5nLXVpL2RvbVwiO1xyXG5cclxuZXhwb3J0IHR5cGUgRGVmYXVsdE1vZGVsT3B0aW9ucyA9IHsgdmFsdWU6IHN0cmluZywgbGFiZWw6IHN0cmluZyB9O1xyXG5cclxuZXhwb3J0IGVudW0gU2VsZWN0SW50ZXJmYWNlcyAgICB7XHJcbiAgLyoqIEludGVyZmFjZSBwYWRyw6NvIGRvIHNlbGVjdCBcclxuICAgKiBQb3BvdmVyIHF1YW5kbyB3ZWIsIE1vZGFsIHF1YW5kbyBtb2JpbGVcclxuICAgKi9cclxuICBEeW5hbWljICAgICA9IDAsXHJcbiAgUG9wb3ZlciAgICAgPSAwLFxyXG4gIE1vZGFsICAgICAgID0gMSxcclxuICBBY3Rpb25TaGVldCA9IDIsXHJcbn0gXHJcblxyXG5leHBvcnQgY2xhc3MgSW5wdXRTZWxlY3RDb25maWd1cmF0aW9ue1xyXG4gIHN0YXRpYyBDcmVhdGUob3B0aW9uczoge1xyXG4gICAgYmluZExhYmVsOiBzdHJpbmcgfCAoKG9iajogYW55KSA9PiBzdHJpbmcpLFxyXG4gICAgYmluZFZhbHVlOiBzdHJpbmcgfCAoKG9iajogYW55KSA9PiBhbnkpLFxyXG4gICAgY2xlYXJhYmxlPzogYm9vbGVhbixcclxuICAgIHNlYXJjaGVhYmxlPzogYm9vbGVhbixcclxuICAgIGxvYWRGcm9tPzogSHR0cFNlcnZpY2UgfCBPYnNlcnZhYmxlPFZpZXdSZXRvcm5vPiB8IGFueVtdLFxyXG4gICAgbXVsdGlwbGU/OiBib29sZWFuLFxyXG4gICAgdkZpbHRyb3M/OiBQYXJ0aWFsPHsgXHJcbiAgICAgIHNlYXJjaDogc3RyaW5nLFxyXG4gICAgICBvcmRlckJ5UHJvcGVydHk6IHN0cmluZyxcclxuICAgICAgYXNjZW5kaW5nOiBib29sZWFuLFxyXG4gICAgICBmaWx0ZXI6IENvbXBhcmlzb25bXVxyXG4gICAgfT4sXHJcbiAgICBkaXNhYmxlQ29uZGl0aW9uYWw/OiAoKG9iajogYW55KSA9PiBib29sZWFuKVxyXG4gICAgdXNlSW5maW5pdGVTY3JvbGw/OiBib29sZWFuLFxyXG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmcsXHJcbiAgICBub0l0ZW5zRm91bmRUZXh0Pzogc3RyaW5nLFxyXG4gICAgaW50ZXJmYWNlPzogU2VsZWN0SW50ZXJmYWNlcyxcclxuICB9XHJcbiAgKXtcclxuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24oXHJcbiAgICAgIG9wdGlvbnMuYmluZFZhbHVlLFxyXG4gICAgICBvcHRpb25zLmJpbmRMYWJlbCxcclxuICAgICAgb3B0aW9ucy5jbGVhcmFibGUsXHJcbiAgICAgIG9wdGlvbnMuc2VhcmNoZWFibGUsXHJcbiAgICAgIG9wdGlvbnMubG9hZEZyb20sXHJcbiAgICAgIG9wdGlvbnMubXVsdGlwbGUsXHJcbiAgICAgIG9wdGlvbnMudkZpbHRyb3MgfHwgbnVsbCxcclxuICAgICAgb3B0aW9ucy5kaXNhYmxlQ29uZGl0aW9uYWwgfHwgbnVsbFxyXG4gICAgKTtcclxuICAgIGlmKG9wdGlvbnMucGxhY2Vob2xkZXIpe1xyXG4gICAgICBjb25maWcucGxhY2Vob2xkZXIgPSBvcHRpb25zLnBsYWNlaG9sZGVyO1xyXG4gICAgfVxyXG4gICAgaWYob3B0aW9ucy5ub0l0ZW5zRm91bmRUZXh0KXtcclxuICAgICAgY29uZmlnLm5vSXRlbnNGb3VuZFRleHQgPSBvcHRpb25zLm5vSXRlbnNGb3VuZFRleHQ7XHJcbiAgICB9XHJcbiAgICBpZihvcHRpb25zLnVzZUluZmluaXRlU2Nyb2xsICE9IHVuZGVmaW5lZCl7XHJcbiAgICAgIGNvbmZpZy51c2VJbmZpbml0ZVNjcm9sbCA9IG9wdGlvbnMudXNlSW5maW5pdGVTY3JvbGw7XHJcbiAgICB9XHJcbiAgICBpZihvcHRpb25zLmludGVyZmFjZSl7XHJcbiAgICAgIGNvbmZpZy5pbnRlcmZhY2UgPSBvcHRpb25zLmludGVyZmFjZTtcclxuICAgIH1cclxuICAgIHJldHVybiBjb25maWc7XHJcbiAgfTtcclxuXHJcblxyXG4gIHBsYWNlaG9sZGVyICAgICA6IHN0cmluZyA9IFwiU2VsZWNpb25lIHVtIGl0ZW0uLi5cIlxyXG4gIG5vSXRlbnNGb3VuZFRleHQ6IHN0cmluZyA9IFwiU2VtIGl0ZW1zIGVuY29udHJhZG9zLi4uXCJcclxuXHJcbiAgbG9hZGVyOiBJbnB1dFNlbGVjdERhdGFMb2FkZXI7XHJcbiAgbG9hZEZyb21BcnJheSAgIDogYW55W107XHJcbiAgbG9hZEZyb21TZXJ2aWNlIDogSHR0cFNlcnZpY2UgfCBIdHRwU2VydmljZUF0aXZvXHJcbiAgbG9hZEZyb21GdW5jdGlvbjogT2JzZXJ2YWJsZTxhbnk+XHJcblxyXG4gIHBvcG92ZXJDb25maWd1cmF0aW9uOiB7XHJcbiAgICBmbGlwOiBib29sZWFuLFxyXG4gICAgcGxhY2VtZW50OiBQbGFjZW1lbnQsXHJcbiAgfSA9IHtcclxuICAgIGZsaXA6IHRydWUsXHJcbiAgICBwbGFjZW1lbnQ6IFwiYm90dG9tXCJcclxuICB9XHJcblxyXG4gIHB1YmxpYyB2RmlsdHJvczogVmlld0ZpbHRyb3MgfCBudWxsID0gbnVsbDtcclxuICBwdWJsaWMgdXNlSW5maW5pdGVTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIEludGVyZmFjZSBkbyBzZWxlY3QgKi9cclxuICBwdWJsaWMgaW50ZXJmYWNlOiBTZWxlY3RJbnRlcmZhY2VzID0gU2VsZWN0SW50ZXJmYWNlcy5EeW5hbWljO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8qKiBWYWxvciBxdWUgc2Vyw6Egc2V0YWRvIG5vIGZvcm1Db250cm9sICovXHJcbiAgICBwdWJsaWMgYmluZFZhbHVlOiBzdHJpbmcgfCAoKG9iajogYW55KSA9PiBhbnkpICAgICA9IFwiaWRcIiAgLFxyXG4gICAgLyoqIFZhbG9yIHF1ZSBzZXLDoSBleGliaWRvICovXHJcbiAgICBwdWJsaWMgYmluZExhYmVsOiBzdHJpbmcgfCAoKG9iajogYW55KSA9PiBzdHJpbmcpICA9IFwibm9tZVwiLCBcclxuICAgIFxyXG4gICAgLyoqIEluZGljYSBzZSBvIHNlbGVjdCBwb2RlIHNlciBudWxvIGUgbGltcGF2ZWwgKi9cclxuICAgIHB1YmxpYyBjbGVhcmFibGUgIDogYm9vbGVhbiA9IHRydWUsIFxyXG4gICAgLyoqIEluZGljYSBzZSBvIHNlbGVjdCBwb2RlIHNlciBwZXNxdWlzYWRvICovXHJcbiAgICBwdWJsaWMgc2VhcmNoZWFibGU6IGJvb2xlYW4gPSB0cnVlLCBcclxuICAgIFxyXG4gICAgLyoqIFxyXG4gICAgICogU2UgTG9hZEZyb20gaW5zdGFuY2VvZiBIdHRwU2VydmljZSAgICAgIC0+IE9zIGRhZG9zIHNlcsOjbyBjYXJyZWdhZG9zIGRvIExpc3QoKVxyXG4gICAgICogU2UgTG9hZEZyb20gaW5zdGFuY2VvZiBPYnNlcnZhYmxlICAgICAgIC0+IE9zIGRhZG9zIHNlcsOjbyBjYXJyZWdhZG9zIGRhIGZ1bsOnw6NvIGluZGljYWRhXHJcbiAgICAgKiBTZSBMb2FkRnJvbSBpbnN0YW5jZW9mIEFycmF5ICAgICAgICAgICAgLT4gT3MgZGFkb3Mgc2Vyw6NvIG8gYXJyYXlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGxvYWRGcm9tPzogIEh0dHBTZXJ2aWNlIHwgT2JzZXJ2YWJsZTxWaWV3UmV0b3Jubz4gfCBhbnlbXSwgXHJcbiAgICAvKiogU2UgPSB0cnVlIE9zIHZhbG9yZXMgbm8gZm9ybSBjb250cm9sIHNlcsOhbyB1bSBhcnJheSBkb3MgaXRlbXMgc2VsZWNpb25hZG9zICovXHJcbiAgICBwdWJsaWMgbXVsdGlwbGUgOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICAvKiogQXBsaWNhIG9zIGZpbHRyb3MgbmEgcGVzcXVpc2EgKi9cclxuICAgIHZGaWx0cm9zIDogUGFydGlhbDx7IFxyXG4gICAgICAvKiogQXBsaWNhIHVtYSBwZXNxdWlzYSBlbSB0ZXh0byAgKi9cclxuICAgICAgc2VhcmNoOiBzdHJpbmdcclxuICAgICAgLyoqIFByb3ByaWVkYWRlIGRlIG9yZGVuYcOnw6NvICovXHJcbiAgICAgIG9yZGVyQnlQcm9wZXJ0eTogc3RyaW5nXHJcbiAgICAgIC8qKiBPcmllbnRhw6fDo28gZGUgb3JkZW5hw6fDo28gKi9cclxuICAgICAgYXNjZW5kaW5nOiBib29sZWFuLFxyXG4gICAgICAvKiogRmlsdHJvICAqL1xyXG4gICAgICBmaWx0ZXI6IENvbXBhcmlzb25bXVxyXG4gICAgfT4gfCBudWxsID0gbnVsbCxcclxuICAgIC8qKiBEZXNhdGl2YSBvcyBpdGVtcyBxdWUgZXN0w6NvIGRlIGFjb3JkbyBjb20gYSBmdW7Dp8OjbyAqL1xyXG4gICAgcHVibGljIGRpc2FibGVDb25kaXRpb25hbDogKChvYmo6IGFueSkgPT4gYm9vbGVhbikgfCBudWxsID0gbnVsbFxyXG4gICl7XHJcbiAgICB0aGlzLmNsZWFyYWJsZSAgID0gY2xlYXJhYmxlO1xyXG4gICAgdGhpcy5zZWFyY2hlYWJsZSA9IHNlYXJjaGVhYmxlO1xyXG4gICAgdGhpcy5tdWx0aXBsZSAgICA9IG11bHRpcGxlO1xyXG5cclxuICAgIGlmKHZGaWx0cm9zICE9IG51bGwpe1xyXG4gICAgICBjb25zdCB2ID0gdkZpbHRyb3M7XHJcbiAgICAgIGlmKHYuYXNjZW5kaW5nID09IG51bGwgfHwgdi5hc2NlbmRpbmcgPT0gdW5kZWZpbmVkKXsgXHJcbiAgICAgICAgdi5hc2NlbmRpbmcgPSB0cnVlOyBcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnZGaWx0cm9zID0gbmV3IFZpZXdGaWx0cm9zKElOVF9NQVgsIHYuc2VhcmNoLCAxLCB2Lm9yZGVyQnlQcm9wZXJ0eSwgdi5hc2NlbmRpbmcpO1xyXG4gICAgICB0aGlzLnZGaWx0cm9zLmZpbHRlciA9IHYuZmlsdGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKGxvYWRGcm9tKXtcclxuICAgICAgaWYoQXJyYXkuaXNBcnJheShsb2FkRnJvbSkpeyBcclxuICAgICAgICB0aGlzLmxvYWRGcm9tQXJyYXkgICAgPSBsb2FkRnJvbTsgXHJcbiAgICAgIH0gZWxzZVxyXG4gICAgICBpZihsb2FkRnJvbSBpbnN0YW5jZW9mIEh0dHBTZXJ2aWNlIHx8IGxvYWRGcm9tIGluc3RhbmNlb2YgSHR0cFNlcnZpY2VBdGl2byl7IFxyXG4gICAgICAgIHRoaXMubG9hZEZyb21TZXJ2aWNlICA9IGxvYWRGcm9tO1xyXG4gICAgICB9IGVsc2UgeyAgXHJcbiAgICAgICAgdGhpcy5sb2FkRnJvbUZ1bmN0aW9uID0gbG9hZEZyb207XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvYWRlciA9IG5ldyBJbnB1dFNlbGVjdERhdGFMb2FkZXIodGhpcyk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSW5wdXRTZWxlY3REYXRhTG9hZGVye1xyXG4gIHByaXZhdGUgbHN0Q29tcG9uZW50czogSW5wdXRTZWxlY3RDb21wb25lbnRbXSA9IFtdO1xyXG4gIHByaXZhdGUgY29uZmlndXJhdGlvbjogSW5wdXRTZWxlY3RDb25maWd1cmF0aW9uO1xyXG5cclxuICAvKiogVmFsb3IgcXVlIHNlcsOhIHNldGFkbyBubyBmb3JtQ29udHJvbCAqL1xyXG4gIHB1YmxpYyBiaW5kVmFsdWU6ICgob2JqOiBhbnkpID0+IGFueSkgICB8IG51bGwgPSBudWxsO1xyXG4gIC8qKiBWYWxvciBxdWUgc2Vyw6EgZXhpYmlkbyAqL1xyXG4gIHB1YmxpYyBiaW5kTGFiZWw6ICgob2JqOiBhbnkpID0+IHN0cmluZyl8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb25maWd1cmF0aW9uOiBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24pICB7IFxyXG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjsgXHJcbiAgICB0aGlzLmJpbmRWYWx1ZSA9IEJpbmRWYWx1ZUZhY3RvcnkoY29uZmlndXJhdGlvbilcclxuICAgIHRoaXMuYmluZExhYmVsID0gQmluZExhYmVsRmFjdG9yeShjb25maWd1cmF0aW9uKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIEFkZENvbXBvbmVudChjb21wb25lbnQ6IElucHV0U2VsZWN0Q29tcG9uZW50KTogdm9pZCB7IFxyXG4gICAgdGhpcy5sc3RDb21wb25lbnRzLnB1c2goY29tcG9uZW50KTtcclxuICB9XHJcblxyXG4gIC8vVE9ETyBSZW1vdmUgZnVuY3Rpb25cclxuICAgcHVibGljIEdldExhYmVsKHZhbHVlOiBhbnkpe1xyXG4gICAgaWYoIXRoaXMuaXRlbXMgfHwgIXRoaXMuYmluZFZhbHVlIHx8ICF0aGlzLmJpbmRMYWJlbCl7IHJldHVybiBcIlwiOyB9XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtcy5maW5kKHAgPT4gdGhpcy5iaW5kVmFsdWUocCkgPT0gdmFsdWUpO1xyXG4gICAgaWYoIWl0ZW0peyByZXR1cm4gXCJcIiA7fVxyXG4gICAgcmV0dXJuIHRoaXMuYmluZExhYmVsKGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgaXNMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBlcnJvciAgIDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBhc3luYyBSZWZyZXNoKGl0ZW1zPzogYW55W10pOiBQcm9taXNlPHZvaWQ+e1xyXG4gICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgdGhpcy5sc3RDb21wb25lbnRzKSB7XHJcbiAgICAgIGNvbXBvbmVudC5sb2FkaW5nRnJvbUxvYWRlciA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmKCF0aGlzLmNvbmZpZ3VyYXRpb24ubG9hZEZyb21TZXJ2aWNlICAmJiBcclxuICAgICAgICF0aGlzLmNvbmZpZ3VyYXRpb24ubG9hZEZyb21GdW5jdGlvbiAmJiBcclxuICAgICAgICghdGhpcy5jb25maWd1cmF0aW9uLmxvYWRGcm9tQXJyYXkgfHwgIXRoaXMuY29uZmlndXJhdGlvbi5sb2FkRnJvbUFycmF5Lmxlbmd0aClcclxuICAgICAgKXtcclxuICAgICAgdGhpcy5pdGVtcyA9IFsuLi5pdGVtcyB8fCBbXV07XHJcbiAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiB0aGlzLmxzdENvbXBvbmVudHMpIHtcclxuICAgICAgICBpZighY29tcG9uZW50LmRlc3Ryb3llZClcclxuICAgICAgICBjb21wb25lbnQuaXRlbXMuc2V0KFsuLi50aGlzLml0ZW1zXSk7IFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRyeXtcclxuICAgICAgYXdhaXQgdGhpcy5Mb2FkKCk7XHJcbiAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiB0aGlzLmxzdENvbXBvbmVudHMpIHtcclxuICAgICAgICBpZighY29tcG9uZW50LmRlc3Ryb3llZClcclxuICAgICAgICBjb21wb25lbnQuaXRlbXMuc2V0KFsuLi50aGlzLml0ZW1zXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGZpbmFsbHl7XHJcbiAgICAgIGZvciAoY29uc3QgY29tcG9uZW50IG9mIHRoaXMubHN0Q29tcG9uZW50cykge1xyXG4gICAgICAgIGNvbXBvbmVudC5sb2FkaW5nRnJvbUxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpdGVtczogYW55W10gPSBbXTtcclxuICBhc3luYyBMb2FkKCk6IFByb21pc2U8dm9pZD57XHJcbiAgICBpZih0aGlzLmlzTG9hZGVkKXtcclxuICAgICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgdGhpcy5sc3RDb21wb25lbnRzKSB7XHJcbiAgICAgICBpZighY29tcG9uZW50LmRlc3Ryb3llZClcclxuICAgICAgICBjb21wb25lbnQuaXRlbXMuc2V0KFsuLi50aGlzLml0ZW1zXSk7IFxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvL1sgTG9hZCBmcm9tIEFycmF5IF1cclxuICAgIGlmKHRoaXMuY29uZmlndXJhdGlvbi5sb2FkRnJvbUFycmF5ICE9IHVuZGVmaW5lZCAmJiB0aGlzLmNvbmZpZ3VyYXRpb24ubG9hZEZyb21BcnJheS5sZW5ndGgpe1xyXG4gICAgICB0aGlzLml0ZW1zID0gWy4uLnRoaXMuY29uZmlndXJhdGlvbi5sb2FkRnJvbUFycmF5XTtcclxuICAgICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgdGhpcy5sc3RDb21wb25lbnRzKSB7XHJcbiAgICAgICBpZighY29tcG9uZW50LmRlc3Ryb3llZClcclxuICAgICAgICBjb21wb25lbnQuaXRlbXMuc2V0KFsuLi50aGlzLml0ZW1zXSk7IFxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvL1sgTG9hZCBmcm9tIGFwaSBdXHJcbiAgICBsZXQgdkZpbHRyb3M6IFZpZXdGaWx0cm9zIHwgbnVsbCA9IHRoaXMuY29uZmlndXJhdGlvbi52RmlsdHJvcztcclxuICAgIHRyeXtcclxuICAgICAgbGV0IGxzdERhZG9zOiBhbnlbXSA9IFtdO1xyXG4gICAgICBcclxuICAgICAgaWYodGhpcy5jb25maWd1cmF0aW9uLmxvYWRGcm9tU2VydmljZSl7XHJcbiAgICAgICAgbHN0RGFkb3MgPSAoYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5jb25maWd1cmF0aW9uLmxvYWRGcm9tU2VydmljZS5MaXN0KHZGaWx0cm9zKSkpLmxzdERhZG9zXHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGxzdERhZG9zID0gKGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuY29uZmlndXJhdGlvbi5sb2FkRnJvbUZ1bmN0aW9uKSkubHN0RGFkb3M7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuaXRlbXMgPSBsc3REYWRvcztcclxuICAgICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgdGhpcy5sc3RDb21wb25lbnRzKSB7XHJcbiAgICAgICAgaWYoIWNvbXBvbmVudC5kZXN0cm95ZWQpXHJcbiAgICAgICAgY29tcG9uZW50Lml0ZW1zLnNldChbLi4udGhpcy5pdGVtc10pOyBcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5lcnJvciA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGUpeyB0aGlzLmVycm9yID0gdHJ1ZTsgdGhyb3cgZTsgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEJpbmRWYWx1ZUZhY3RvcnkoY29uZmlndXJhdGlvbjogSW5wdXRTZWxlY3RDb25maWd1cmF0aW9uKTogKChvYmo6IGFueSkgPT4gYW55KSB7XHJcbiAgY29uc3QgY0JpbmRWYWx1ZSA9IGNvbmZpZ3VyYXRpb24uYmluZFZhbHVlO1xyXG4gIGxldCBiaW5kVmFsdWU6ICgoYXJnczogYW55KSA9PiBhbnkpID0gbnVsbDtcclxuICBpZih0eXBlb2YoY0JpbmRWYWx1ZSkgPT0gJ3N0cmluZycpe1xyXG4gICAgbGV0IGJ2Uzogc3RyaW5nICAgICAgICAgICAgICAgPSBjQmluZFZhbHVlO1xyXG4gICAgYmluZFZhbHVlID0gKChvYmo6IGFueSk6IGFueSA9PiB7IHJldHVybiBvYmpbYnZTXTsgfSk7XHJcbiAgfWVsc2V7XHJcbiAgICBsZXQgYnZGOiAoKGFyZ3M6IGFueSkgPT4gYW55KSA9IGNCaW5kVmFsdWU7XHJcbiAgICBiaW5kVmFsdWUgPSAoKG9iajogYW55KTogYW55ID0+IHsgcmV0dXJuIGJ2RihvYmopOyB9KTtcclxuICB9XHJcbiAgcmV0dXJuIGJpbmRWYWx1ZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEJpbmRMYWJlbEZhY3RvcnkoY29uZmlndXJhdGlvbjogSW5wdXRTZWxlY3RDb25maWd1cmF0aW9uKTogKChvYmo6IGFueSkgPT4gc3RyaW5nKSB7XHJcbiAgY29uc3QgY0JpbmRMYWJlbCA9IGNvbmZpZ3VyYXRpb24uYmluZExhYmVsO1xyXG4gIGxldCBiaW5kTGFiZWw6ICgoYXJnczogYW55KSA9PiBzdHJpbmcpID0gbnVsbDtcclxuICBpZih0eXBlb2YoY0JpbmRMYWJlbCkgPT0gJ3N0cmluZycpe1xyXG4gICAgbGV0IGJsUzogc3RyaW5nICAgICAgICAgICAgICAgPSBjQmluZExhYmVsO1xyXG4gICAgYmluZExhYmVsID0gKChvYmo6IGFueSk6IHN0cmluZyA9PiB7IHJldHVybiBvYmpbYmxTXSArICcnOyB9KTtcclxuICB9ZWxzZXtcclxuICAgIGxldCBibEY6ICgoYXJnczogYW55KSA9PiBhbnkpID0gY0JpbmRMYWJlbDtcclxuICAgIGJpbmRMYWJlbCA9ICgob2JqOiBhbnkpOiBzdHJpbmcgPT4geyByZXR1cm4gYmxGKG9iaikgKyAnJzsgfSk7XHJcbiAgfVxyXG4gIHJldHVybiBiaW5kTGFiZWw7XHJcbn0iXX0=
@@ -1,5 +1,9 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * Corrige o focus trap em modais do Ionic, permite que o foco não fique preso dentro do modal.
5
+ * Utilizado para concertar interatividade com popovers e outros elementos que podem ser interativos fora do modal.
6
+ */
3
7
  export class ModalFocusTrapService {
4
8
  constructor() {
5
9
  this.initGlobalFocusTrapDisable();
@@ -55,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
55
59
  providedIn: 'root'
56
60
  }]
57
61
  }], ctorParameters: () => [] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZm9jdXMtdHJhcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC1mb2N1cy10cmFwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQztRQUNFLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsb0NBQW9DO1FBQ3BDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7WUFDakQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLHFEQUFxRDtRQUNyRCxNQUFNLFFBQVEsR0FBRyxJQUFJLGdCQUFnQixDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbEQsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUM3QixRQUFRLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUNuQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO3dCQUN4QyxNQUFNLE9BQU8sR0FBRyxJQUFlLENBQUM7d0JBRWhDLDBDQUEwQzt3QkFDMUMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLFdBQVcsRUFBRSxDQUFDOzRCQUNuRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ2pDLENBQUM7d0JBRUQsK0JBQStCO3dCQUMvQixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQzt3QkFDdkQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUN6RCxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILGtCQUFrQjtRQUNsQixRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7WUFDOUIsU0FBUyxFQUFFLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztRQUVILDhCQUE4QjtRQUM5QixNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUQsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFjO1FBQ3JDLG9CQUFvQjtRQUNwQixLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRTlDLGdDQUFnQztRQUNoQyxNQUFNLFlBQVksR0FBRyxLQUFZLENBQUM7UUFDbEMsSUFBSSxZQUFZLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEQsWUFBWSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQzsrR0F0RFUscUJBQXFCO21IQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vZGFsRm9jdXNUcmFwU2VydmljZSB7XHJcbiAgXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmluaXRHbG9iYWxGb2N1c1RyYXBEaXNhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRHbG9iYWxGb2N1c1RyYXBEaXNhYmxlKCkge1xyXG4gICAgLy8gV2FpdCBmb3IgdGhlIHBsYXRmb3JtIHRvIGJlIHJlYWR5XHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldHVwTW9kYWxPYnNlcnZlcigpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldHVwTW9kYWxPYnNlcnZlcigpIHtcclxuICAgIC8vIENyZWF0ZSBhIG11dGF0aW9uIG9ic2VydmVyIHRvIHdhdGNoIGZvciBuZXcgbW9kYWxzXHJcbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcclxuICAgICAgbXV0YXRpb25zLmZvckVhY2goKG11dGF0aW9uKSA9PiB7XHJcbiAgICAgICAgbXV0YXRpb24uYWRkZWROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUpIHtcclxuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IG5vZGUgYXMgRWxlbWVudDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZSBhZGRlZCBub2RlIGlzIGFuIGlvbi1tb2RhbFxyXG4gICAgICAgICAgICBpZiAoZWxlbWVudC50YWdOYW1lPy50b0xvd2VyQ2FzZSgpID09PSAnaW9uLW1vZGFsJykge1xyXG4gICAgICAgICAgICAgIHRoaXMuZGlzYWJsZUZvY3VzVHJhcChlbGVtZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIGlvbi1tb2RhbCBjaGlsZHJlblxyXG4gICAgICAgICAgICBjb25zdCBtb2RhbHMgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGw/LignaW9uLW1vZGFsJyk7XHJcbiAgICAgICAgICAgIG1vZGFscz8uZm9yRWFjaChtb2RhbCA9PiB0aGlzLmRpc2FibGVGb2N1c1RyYXAobW9kYWwpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBTdGFydCBvYnNlcnZpbmdcclxuICAgIG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwge1xyXG4gICAgICBjaGlsZExpc3Q6IHRydWUsXHJcbiAgICAgIHN1YnRyZWU6IHRydWVcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIEFsc28gaGFuZGxlIGV4aXN0aW5nIG1vZGFsc1xyXG4gICAgY29uc3QgZXhpc3RpbmdNb2RhbHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdpb24tbW9kYWwnKTtcclxuICAgIGV4aXN0aW5nTW9kYWxzLmZvckVhY2gobW9kYWwgPT4gdGhpcy5kaXNhYmxlRm9jdXNUcmFwKG1vZGFsKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRpc2FibGVGb2N1c1RyYXAobW9kYWw6IEVsZW1lbnQpIHtcclxuICAgIC8vIEFkZCB0aGUgQ1NTIGNsYXNzXHJcbiAgICBtb2RhbC5jbGFzc0xpc3QuYWRkKCdpb24tZGlzYWJsZS1mb2N1cy10cmFwJyk7XHJcbiAgICBcclxuICAgIC8vIFNldCB0aGUgcHJvcGVydHkgaWYgaXQgZXhpc3RzXHJcbiAgICBjb25zdCBtb2RhbEVsZW1lbnQgPSBtb2RhbCBhcyBhbnk7XHJcbiAgICBpZiAobW9kYWxFbGVtZW50LmRpc2FibGVGb2N1c1RyYXAgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBtb2RhbEVsZW1lbnQuZGlzYWJsZUZvY3VzVHJhcCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG59Il19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZm9jdXMtdHJhcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC1mb2N1cy10cmFwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7OztHQUdHO0FBSUgsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQztRQUNFLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsb0NBQW9DO1FBQ3BDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7WUFDakQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLHFEQUFxRDtRQUNyRCxNQUFNLFFBQVEsR0FBRyxJQUFJLGdCQUFnQixDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbEQsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUM3QixRQUFRLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUNuQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO3dCQUN4QyxNQUFNLE9BQU8sR0FBRyxJQUFlLENBQUM7d0JBRWhDLDBDQUEwQzt3QkFDMUMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLFdBQVcsRUFBRSxDQUFDOzRCQUNuRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ2pDLENBQUM7d0JBRUQsK0JBQStCO3dCQUMvQixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQzt3QkFDdkQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUN6RCxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILGtCQUFrQjtRQUNsQixRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7WUFDOUIsU0FBUyxFQUFFLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztRQUVILDhCQUE4QjtRQUM5QixNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUQsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFjO1FBQ3JDLG9CQUFvQjtRQUNwQixLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRTlDLGdDQUFnQztRQUNoQyxNQUFNLFlBQVksR0FBRyxLQUFZLENBQUM7UUFDbEMsSUFBSSxZQUFZLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEQsWUFBWSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQzsrR0F0RFUscUJBQXFCO21IQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBDb3JyaWdlIG8gZm9jdXMgdHJhcCBlbSBtb2RhaXMgZG8gSW9uaWMsIHBlcm1pdGUgcXVlIG8gZm9jbyBuw6NvIGZpcXVlIHByZXNvIGRlbnRybyBkbyBtb2RhbC5cclxuICogVXRpbGl6YWRvIHBhcmEgY29uY2VydGFyIGludGVyYXRpdmlkYWRlIGNvbSBwb3BvdmVycyBlIG91dHJvcyBlbGVtZW50b3MgcXVlIHBvZGVtIHNlciBpbnRlcmF0aXZvcyBmb3JhIGRvIG1vZGFsLlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9kYWxGb2N1c1RyYXBTZXJ2aWNlIHtcclxuICBcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuaW5pdEdsb2JhbEZvY3VzVHJhcERpc2FibGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEdsb2JhbEZvY3VzVHJhcERpc2FibGUoKSB7XHJcbiAgICAvLyBXYWl0IGZvciB0aGUgcGxhdGZvcm0gdG8gYmUgcmVhZHlcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0dXBNb2RhbE9ic2VydmVyKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBNb2RhbE9ic2VydmVyKCkge1xyXG4gICAgLy8gQ3JlYXRlIGEgbXV0YXRpb24gb2JzZXJ2ZXIgdG8gd2F0Y2ggZm9yIG5ldyBtb2RhbHNcclxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xyXG4gICAgICBtdXRhdGlvbnMuZm9yRWFjaCgobXV0YXRpb24pID0+IHtcclxuICAgICAgICBtdXRhdGlvbi5hZGRlZE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERSkge1xyXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gbm9kZSBhcyBFbGVtZW50O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGFkZGVkIG5vZGUgaXMgYW4gaW9uLW1vZGFsXHJcbiAgICAgICAgICAgIGlmIChlbGVtZW50LnRhZ05hbWU/LnRvTG93ZXJDYXNlKCkgPT09ICdpb24tbW9kYWwnKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlRm9jdXNUcmFwKGVsZW1lbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAvLyBDaGVjayBmb3IgaW9uLW1vZGFsIGNoaWxkcmVuXHJcbiAgICAgICAgICAgIGNvbnN0IG1vZGFscyA9IGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbD8uKCdpb24tbW9kYWwnKTtcclxuICAgICAgICAgICAgbW9kYWxzPy5mb3JFYWNoKG1vZGFsID0+IHRoaXMuZGlzYWJsZUZvY3VzVHJhcChtb2RhbCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIFN0YXJ0IG9ic2VydmluZ1xyXG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7XHJcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcclxuICAgICAgc3VidHJlZTogdHJ1ZVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gQWxzbyBoYW5kbGUgZXhpc3RpbmcgbW9kYWxzXHJcbiAgICBjb25zdCBleGlzdGluZ01vZGFscyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lvbi1tb2RhbCcpO1xyXG4gICAgZXhpc3RpbmdNb2RhbHMuZm9yRWFjaChtb2RhbCA9PiB0aGlzLmRpc2FibGVGb2N1c1RyYXAobW9kYWwpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGlzYWJsZUZvY3VzVHJhcChtb2RhbDogRWxlbWVudCkge1xyXG4gICAgLy8gQWRkIHRoZSBDU1MgY2xhc3NcclxuICAgIG1vZGFsLmNsYXNzTGlzdC5hZGQoJ2lvbi1kaXNhYmxlLWZvY3VzLXRyYXAnKTtcclxuICAgIFxyXG4gICAgLy8gU2V0IHRoZSBwcm9wZXJ0eSBpZiBpdCBleGlzdHNcclxuICAgIGNvbnN0IG1vZGFsRWxlbWVudCA9IG1vZGFsIGFzIGFueTtcclxuICAgIGlmIChtb2RhbEVsZW1lbnQuZGlzYWJsZUZvY3VzVHJhcCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIG1vZGFsRWxlbWVudC5kaXNhYmxlRm9jdXNUcmFwID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbn0iXX0=