@acorex/platform 18.0.6 → 18.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/auth/lib/auth.strategy.d.ts +1 -1
  2. package/auth/lib/session.service.d.ts +0 -1
  3. package/common/lib/data/data-provider.types.d.ts +1 -1
  4. package/common/lib/schema/entity/entity.class.d.ts +1 -0
  5. package/common/lib/schema/widgets/lookup/lookup-widget-column.component.d.ts +1 -1
  6. package/common/lib/schema/widgets/lookup/lookup-widget-edit.component.d.ts +3 -1
  7. package/common/lib/schema/widgets/phone/phone-widget-edit.component.d.ts +3 -1
  8. package/esm2022/auth/lib/auth.guard.mjs +4 -4
  9. package/esm2022/auth/lib/auth.strategy.mjs +1 -1
  10. package/esm2022/auth/lib/session.service.mjs +14 -15
  11. package/esm2022/common/lib/data/data-provider.types.mjs +1 -1
  12. package/esm2022/common/lib/schema/entity/entity.class.mjs +1 -1
  13. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-edit.component.mjs +2 -2
  14. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-view.component.mjs +2 -2
  15. package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +1 -1
  16. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.mjs +2 -2
  17. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +2 -2
  18. package/esm2022/common/lib/schema/widgets/email/email-widget-edit.component.mjs +2 -2
  19. package/esm2022/common/lib/schema/widgets/file/file-widget-filter.component.mjs +2 -2
  20. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-filter.component.mjs +2 -2
  21. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-column.component.mjs +3 -3
  22. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-edit.component.mjs +23 -19
  23. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +2 -2
  24. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-edit.component.mjs +1 -1
  25. package/esm2022/common/lib/schema/widgets/phone/phone-widget-edit.component.mjs +8 -4
  26. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.mjs +2 -2
  27. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +56 -61
  28. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +4 -2
  29. package/esm2022/layout/entity/lib/entity.module.mjs +16 -19
  30. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +62 -55
  31. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +83 -61
  32. package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +10 -8
  33. package/esm2022/layouts/lib/admin/admin.module.mjs +9 -2
  34. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +6 -3
  35. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +7 -5
  36. package/esm2022/layouts/lib/admin/entity-layout/entity-import-view/entity-import-view.component.mjs +91 -0
  37. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +4 -3
  38. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +4 -3
  39. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +4 -3
  40. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +1 -1
  41. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +4 -3
  42. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +18 -6
  43. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.mjs +9 -5
  44. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +6 -3
  45. package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +5 -3
  46. package/esm2022/layouts/lib/admin/entity-layout/workflows/import-entity.workflow.mjs +77 -0
  47. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +8 -5
  48. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +29 -13
  49. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +17 -13
  50. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.mjs +13 -9
  51. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +8 -5
  52. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +8 -5
  53. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +2 -2
  54. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.mjs +2 -2
  55. package/esm2022/widgets/lib/editors/link-widget/index.mjs +8 -0
  56. package/esm2022/widgets/lib/editors/link-widget/link-widget-column.component.mjs +19 -0
  57. package/esm2022/widgets/lib/editors/link-widget/link-widget-designer.component.mjs +19 -0
  58. package/esm2022/widgets/lib/editors/link-widget/link-widget-edit.component.mjs +391 -0
  59. package/esm2022/widgets/lib/editors/link-widget/link-widget-filter.component.mjs +20 -0
  60. package/esm2022/widgets/lib/editors/link-widget/link-widget-print.component.mjs +19 -0
  61. package/esm2022/widgets/lib/editors/link-widget/link-widget-view.component.mjs +120 -0
  62. package/esm2022/widgets/lib/editors/link-widget/link-widget.config.mjs +24 -0
  63. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.mjs +10 -7
  64. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.mjs +5 -3
  65. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-edit.component.mjs +2 -2
  66. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +13 -3
  67. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +3 -3
  68. package/esm2022/widgets/lib/widgets.module.mjs +4 -1
  69. package/fesm2022/acorex-platform-auth.mjs +14 -15
  70. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  71. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-B8txzrTw.mjs → acorex-platform-common-avatar-widget-edit.component-BtnVjoMi.mjs} +2 -2
  72. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-B8txzrTw.mjs.map → acorex-platform-common-avatar-widget-edit.component-BtnVjoMi.mjs.map} +1 -1
  73. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-B3Ubyw3X.mjs → acorex-platform-common-avatar-widget-view.component-0-hGLYLK.mjs} +2 -2
  74. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-B3Ubyw3X.mjs.map → acorex-platform-common-avatar-widget-view.component-0-hGLYLK.mjs.map} +1 -1
  75. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-CcJ5Vj4q.mjs → acorex-platform-common-boolean-widget-filter.component-CMkjO_x1.mjs} +2 -2
  76. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-CcJ5Vj4q.mjs.map → acorex-platform-common-boolean-widget-filter.component-CMkjO_x1.mjs.map} +1 -1
  77. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-DRsoJMVG.mjs → acorex-platform-common-dateTime-widget-edit.component-DdqtbOY1.mjs} +2 -2
  78. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-DRsoJMVG.mjs.map → acorex-platform-common-dateTime-widget-edit.component-DdqtbOY1.mjs.map} +1 -1
  79. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-uB7iwji0.mjs → acorex-platform-common-dateTime-widget-filter.component-BjtIJkeC.mjs} +2 -2
  80. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-uB7iwji0.mjs.map → acorex-platform-common-dateTime-widget-filter.component-BjtIJkeC.mjs.map} +1 -1
  81. package/fesm2022/{acorex-platform-common-email-widget-edit.component-CY-Nu0xD.mjs → acorex-platform-common-email-widget-edit.component-CLl0gmdM.mjs} +2 -2
  82. package/fesm2022/{acorex-platform-common-email-widget-edit.component-CY-Nu0xD.mjs.map → acorex-platform-common-email-widget-edit.component-CLl0gmdM.mjs.map} +1 -1
  83. package/fesm2022/{acorex-platform-common-file-widget-filter.component-qL-PznYm.mjs → acorex-platform-common-file-widget-filter.component-DqYmxdx_.mjs} +2 -2
  84. package/fesm2022/{acorex-platform-common-file-widget-filter.component-qL-PznYm.mjs.map → acorex-platform-common-file-widget-filter.component-DqYmxdx_.mjs.map} +1 -1
  85. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Bvy3nmy6.mjs → acorex-platform-common-gallery-widget-filter.component-Btrq4HP9.mjs} +2 -2
  86. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Bvy3nmy6.mjs.map → acorex-platform-common-gallery-widget-filter.component-Btrq4HP9.mjs.map} +1 -1
  87. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-Cl-vO5XW.mjs → acorex-platform-common-lookup-widget-column.component-CtvP7V_w.mjs} +3 -3
  88. package/fesm2022/acorex-platform-common-lookup-widget-column.component-CtvP7V_w.mjs.map +1 -0
  89. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-CpzTuRyJ.mjs → acorex-platform-common-lookup-widget-edit.component-JjtWsg2g.mjs} +23 -19
  90. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-JjtWsg2g.mjs.map +1 -0
  91. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-i8oRoMWh.mjs → acorex-platform-common-lookup-widget-filter.component-B4C5JB_p.mjs} +2 -2
  92. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-i8oRoMWh.mjs.map → acorex-platform-common-lookup-widget-filter.component-B4C5JB_p.mjs.map} +1 -1
  93. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-WHM8ANuQ.mjs → acorex-platform-common-messenger-widget-edit.component-BjqtP0ls.mjs} +2 -2
  94. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-WHM8ANuQ.mjs.map → acorex-platform-common-messenger-widget-edit.component-BjqtP0ls.mjs.map} +1 -1
  95. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-BdxXFoxc.mjs → acorex-platform-common-phone-widget-edit.component-Dj_tdhZw.mjs} +8 -4
  96. package/fesm2022/acorex-platform-common-phone-widget-edit.component-Dj_tdhZw.mjs.map +1 -0
  97. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-NDAFZhfE.mjs → acorex-platform-common-selection-list-widget-filter.component-hbxBcirf.mjs} +2 -2
  98. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-NDAFZhfE.mjs.map → acorex-platform-common-selection-list-widget-filter.component-hbxBcirf.mjs.map} +1 -1
  99. package/fesm2022/acorex-platform-common.mjs +15 -15
  100. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  101. package/fesm2022/acorex-platform-layout-entity.mjs +309 -289
  102. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  103. package/fesm2022/acorex-platform-layouts-entity-create-view.component-DgPPnU8S.mjs +110 -0
  104. package/fesm2022/acorex-platform-layouts-entity-create-view.component-DgPPnU8S.mjs.map +1 -0
  105. package/fesm2022/acorex-platform-layouts-entity-import-view.component-V50y5Jjs.mjs +93 -0
  106. package/fesm2022/acorex-platform-layouts-entity-import-view.component-V50y5Jjs.mjs.map +1 -0
  107. package/fesm2022/{acorex-platform-layouts-entity-modify-view.component-C-dS2HFl.mjs → acorex-platform-layouts-entity-modify-view.component-Bwz4yVpK.mjs} +6 -3
  108. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-Bwz4yVpK.mjs.map +1 -0
  109. package/fesm2022/acorex-platform-layouts.mjs +130 -35
  110. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  111. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-qOxuoK6c.mjs +99 -0
  112. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-qOxuoK6c.mjs.map +1 -0
  113. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DHmUvWx8.mjs → acorex-platform-themes-default-entity-master-modify-view.component-BJcpG94Q.mjs} +9 -6
  114. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BJcpG94Q.mjs.map +1 -0
  115. package/fesm2022/acorex-platform-themes-default.mjs +50 -31
  116. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  117. package/fesm2022/acorex-platform-widgets.mjs +628 -14
  118. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  119. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +7 -6
  120. package/layout/entity/lib/entity-master-single.viewmodel.d.ts +1 -0
  121. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +5 -4
  122. package/layout/entity/lib/workflows/create-entity.workflow.d.ts +1 -0
  123. package/layouts/lib/admin/entity-layout/entity-import-view/entity-import-view.component.d.ts +27 -0
  124. package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +2 -0
  125. package/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.d.ts +2 -1
  126. package/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.d.ts +1 -0
  127. package/layouts/lib/admin/entity-layout/workflows/import-entity.workflow.d.ts +27 -0
  128. package/package.json +4 -1
  129. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +3 -0
  130. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.d.ts +1 -1
  131. package/widgets/lib/editors/link-widget/index.d.ts +7 -0
  132. package/widgets/lib/editors/link-widget/link-widget-column.component.d.ts +6 -0
  133. package/widgets/lib/editors/link-widget/link-widget-designer.component.d.ts +6 -0
  134. package/widgets/lib/editors/link-widget/link-widget-edit.component.d.ts +45 -0
  135. package/widgets/lib/editors/link-widget/link-widget-filter.component.d.ts +6 -0
  136. package/widgets/lib/editors/link-widget/link-widget-print.component.d.ts +6 -0
  137. package/widgets/lib/editors/link-widget/link-widget-view.component.d.ts +13 -0
  138. package/widgets/lib/editors/link-widget/link-widget.config.d.ts +2 -0
  139. package/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.d.ts +4 -1
  140. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.d.ts +2 -0
  141. package/fesm2022/acorex-platform-common-lookup-widget-column.component-Cl-vO5XW.mjs.map +0 -1
  142. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-CpzTuRyJ.mjs.map +0 -1
  143. package/fesm2022/acorex-platform-common-phone-widget-edit.component-BdxXFoxc.mjs.map +0 -1
  144. package/fesm2022/acorex-platform-layouts-entity-create-view.component-Bxkv579D.mjs +0 -107
  145. package/fesm2022/acorex-platform-layouts-entity-create-view.component-Bxkv579D.mjs.map +0 -1
  146. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-C-dS2HFl.mjs.map +0 -1
  147. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CTlj-QBs.mjs +0 -96
  148. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CTlj-QBs.mjs.map +0 -1
  149. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DHmUvWx8.mjs.map +0 -1
@@ -4,11 +4,12 @@ import { AXFormModule } from '@acorex/components/form';
4
4
  import { AXSelectBoxModule } from '@acorex/components/select-box';
5
5
  import { AXTextBoxModule } from '@acorex/components/text-box';
6
6
  import { AXPlatform } from '@acorex/core/platform';
7
+ import { AXTranslationService } from '@acorex/core/translation';
7
8
  import { MockDataService } from '@acorex/platform/mocks';
8
- import { AXPWidgetEditBase } from '../../widget/widget-base';
9
9
  import { CommonModule } from '@angular/common';
10
10
  import { ChangeDetectionStrategy, Component, effect, inject, signal } from '@angular/core';
11
11
  import { FormsModule } from '@angular/forms';
12
+ import { AXPWidgetEditBase } from '../../widget/widget-base';
12
13
  import * as i0 from "@angular/core";
13
14
  import * as i1 from "@angular/common";
14
15
  import * as i2 from "@acorex/components/button";
@@ -23,7 +24,10 @@ export class AXPPhoneWidgetEditComponent extends AXPWidgetEditBase {
23
24
  this.mockerService = inject(MockDataService);
24
25
  this.platform = inject(AXPlatform);
25
26
  this.convertedValue = signal([]);
26
- this.phoneLabels = ['Mobile', 'Home', 'Work', 'Other'];
27
+ this.translateService = inject(AXTranslationService);
28
+ //protected phoneLabels: string[] = ['Mobile', 'Home', 'Work', 'Other'];
29
+ this.keys = ['widget.phone.mobile', 'widget.phone.home', 'widget.phone.work', 'widget.phone.other'];
30
+ this.phoneLabels = this.keys.map((i) => this.translateService.translateSync(i));
27
31
  this.changeValueEffect = effect(() => {
28
32
  if (this.multiple) {
29
33
  if (this.hasLabel)
@@ -161,7 +165,7 @@ export class AXPPhoneWidgetEditComponent extends AXPWidgetEditBase {
161
165
  </ax-prefix>
162
166
  </ax-button>
163
167
  </div>
164
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i4.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i6.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i7.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
168
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i4.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i6.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i7.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
165
169
  }
166
170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPPhoneWidgetEditComponent, decorators: [{
167
171
  type: Component,
@@ -242,4 +246,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
242
246
  inputs: ['multiple', 'hasLabel'],
243
247
  }]
244
248
  }] });
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtd2lkZ2V0LWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9zY2hlbWEvd2lkZ2V0cy9waG9uZS9waG9uZS13aWRnZXQtZWRpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBa0IsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUE4RTdDLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxpQkFBc0I7SUE1RXZFOztRQTZFWSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4QyxhQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBSTlCLG1CQUFjLEdBQW9FLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU3RixnQkFBVyxHQUFhLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFOUQsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUN0QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxJQUFJLENBQUMsUUFBUTtvQkFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzs7b0JBQ2xHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlELENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLElBQUksQ0FBQyxRQUFRO29CQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOztvQkFDckcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakUsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0tBMkRKO0lBekRXLGlCQUFpQixDQUFDLENBQXNCLEVBQUUsRUFBVTtRQUM1RCxJQUFJLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RyxDQUFDO0lBQ0gsQ0FBQztJQUNTLGlCQUFpQixDQUFDLENBQXNCLEVBQUUsRUFBVTtRQUM1RCxJQUFJLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RyxDQUFDO0lBQ0gsQ0FBQztJQUVTLGFBQWE7UUFDckIsMkRBQTJEO1FBQzNELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEksQ0FBQztJ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V0FBVyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxZQUFZLENBQUM7b0JBQ3pILE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhTZWxlY3RCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0LWJveCc7XG5pbXBvcnQgeyBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1ib3gnO1xuaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBNb2NrRGF0YVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL21vY2tzJztcbmltcG9ydCB7IEFYUFdpZGdldEVkaXRCYXNlIH0gZnJvbSAnLi4vLi4vd2lkZ2V0L3dpZGdldC1iYXNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBXcml0YWJsZVNpZ25hbCwgZWZmZWN0LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0xMiBheC1nYXAtNFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpcGxlXCI+XG4gICAgICAgIEBmb3IoaXRlbSBvZiBjb252ZXJ0ZWRWYWx1ZSgpO3RyYWNrICRpbmRleCkge1xuICAgICAgICA8YXgtdGV4dC1ib3hcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0udmFsdWVcIlxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVQaG9uZUNoYW5nZSgkZXZlbnQsIGl0ZW0uaWQpXCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgY2xhc3M9XCJheC1jb2wtc3RhcnQtMSBheC1jb2wtZW5kLTEzIGxnOmF4LWNvbC1lbmQtOFwiXG4gICAgICAgICAgW2NsYXNzLmxnOiFheC1jb2wtZW5kLTEyXT1cIiFoYXNMYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICBAZm9yKHZsIG9mIHZhbGlkYXRpb25zO3RyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxheC12YWxpZGF0aW9uLXJ1bGUgW3J1bGVdPVwidmwucnVsZVwiIFtvcHRpb25zXT1cInZsLm9wdGlvbnNcIj48L2F4LXZhbGlkYXRpb24tcnVsZT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvYXgtdGV4dC1ib3g+XG4gICAgICAgIEBpZihoYXNMYWJlbCl7XG4gICAgICAgIDxheC1zZWxlY3QtYm94XG4gICAgICAgICAgW2RhdGFTb3VyY2VdPVwicGhvbmVMYWJlbHNcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZUxhYmVsQ2hhbmdlKCRldmVudCwgaXRlbS5pZClcIlxuICAgICAgICAgIGNsYXNzPVwiYXgtY29sLXN0YXJ0LTEgYXgtY29sLWVuZC0xMSBsZzpheC1jb2wtc3RhcnQtOCBsZzpheC1jb2wtZW5kLTEyXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICAgIH1cbiAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgIGxvb2s9XCJ0d290b25lXCJcbiAgICAgICAgICBjb2xvcj1cImRhbmdlclwiXG4gICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlUmVtb3ZlSXRlbShpdGVtKVwiXG4gICAgICAgICAgY2xhc3M9XCJheC1jb2wtc3RhcnQtMTEgYXgtY29sLWVuZC0xMyBsZzpheC1jb2wtc3RhcnQtMTIgbGc6YXgtY29sLWVuZC0xMyBheC1qdXN0aWZ5LXNlbGYtZW5kXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1yZWd1bGFyIGZhLXhtYXJrXCI+PC9heC1pY29uPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW11bHRpcGxlXCI+XG4gICAgICAgIDxheC10ZXh0LWJveFxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udmVydGVkVmFsdWUoKVswXS52YWx1ZVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZVBob25lQ2hhbmdlKCRldmVudCwgY29udmVydGVkVmFsdWUoKVswXS5pZClcIlxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBjbGFzcz1cImF4LWNvbC1zdGFydC0xIGF4LWNvbC1lbmQtMTMgbGc6YXgtY29sLWVuZC04XCJcbiAgICAgICAgICBbY2xhc3MubGc6IWF4LWNvbC1lbmQtMTNdPVwiIWhhc0xhYmVsXCJcbiAgICAgICAgPlxuICAgICAgICAgIEBmb3Iodmwgb2YgdmFsaWRhdGlvbnM7dHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGF4LXZhbGlkYXRpb24tcnVsZSBbcnVsZV09XCJ2bC5ydWxlXCIgW29wdGlvbnNdPVwidmwub3B0aW9uc1wiPjwvYXgtdmFsaWRhdGlvbi1ydWxlPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9heC10ZXh0LWJveD5cbiAgICAgICAgQGlmKGhhc0xhYmVsKXtcbiAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICBbZGF0YVNvdXJjZV09XCJwaG9uZUxhYmVsc1wiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjb252ZXJ0ZWRWYWx1ZSgpWzBdLmxhYmVsXCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlTGFiZWxDaGFuZ2UoJGV2ZW50LCBjb252ZXJ0ZWRWYWx1ZSgpWzBdLmlkKVwiXG4gICAgICAgICAgY2xhc3M9XCJheC1jb2wtc3RhcnQtMSBheC1jb2wtZW5kLTExIGxnOmF4LWNvbC1zdGFydC04IGxnOmF4LWNvbC1lbmQtMTNcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgfVxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxheC1idXR0b25cbiAgICAgICAgKm5nSWY9XCJtdWx0aXBsZVwiXG4gICAgICAgIFt0ZXh0XT1cImNvbnZlcnRlZFZhbHVlKCkubGVuZ3RoID09IDAgPyAnQWRkIE5ldycgOiAnQWRkIEFub3RoZXInXCJcbiAgICAgICAgbG9vaz1cInR3b3RvbmVcIlxuICAgICAgICAob25DbGljayk9XCJoYW5kbGVBZGRJdGVtKClcIlxuICAgICAgICBjbGFzcz1cImF4LWNvbC1zdGFydC04IGxnOmF4LWNvbC1zdGFydC0xMCAyeGw6YXgtY29sLXN0YXJ0LTEwIGF4LWNvbC1lbmQtMTNcIlxuICAgICAgPlxuICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtYWRkXCI+PC9heC1pY29uPlxuICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBBWFRleHRCb3hNb2R1bGUsIEFYRGVjb3JhdG9yTW9kdWxlLCBBWFNlbGVjdEJveE1vZHVsZSwgQVhGb3JtTW9kdWxlXSxcbiAgaW5wdXRzOiBbJ211bHRpcGxlJywgJ2hhc0xhYmVsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFBob25lV2lkZ2V0RWRpdENvbXBvbmVudCBleHRlbmRzIEFYUFdpZGdldEVkaXRCYXNlPGFueT4ge1xuICBwcm90ZWN0ZWQgbW9ja2VyU2VydmljZSA9IGluamVjdChNb2NrRGF0YVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcGxhdGZvcm0gPSBpbmplY3QoQVhQbGF0Zm9ybSk7XG5cbiAgcHJvdGVjdGVkIG11bHRpcGxlITogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGhhc0xhYmVsITogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGNvbnZlcnRlZFZhbHVlOiBXcml0YWJsZVNpZ25hbDx7IHZhbHVlOiBzdHJpbmc7IGxhYmVsPzogc3RyaW5nOyBpZDogc3RyaW5nIH1bXT4gPSBzaWduYWwoW10pO1xuXG4gIHByb3RlY3RlZCBwaG9uZUxhYmVsczogc3RyaW5nW10gPSBbJ01vYmlsZScsICdIb21lJywgJ1dvcmsnLCAnT3RoZXInXTtcblxuICBwcml2YXRlIGNoYW5nZVZhbHVlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgaWYgKHRoaXMuaGFzTGFiZWwpIHRoaXMudmFsdWUgPSB0aGlzLmNvbnZlcnRlZFZhbHVlKCkubWFwKChpKSA9PiAoeyB2YWx1ZTogaS52YWx1ZSwgbGFiZWw6IGkubGFiZWwgfSkpO1xuICAgICAgZWxzZSB0aGlzLnZhbHVlID0gdGhpcy5jb252ZXJ0ZWRWYWx1ZSgpLm1hcCgoaSkgPT4gaS52YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmhhc0xhYmVsKSB0aGlzLnZhbHVlID0gdGhpcy5jb252ZXJ0ZWRWYWx1ZSgpLm1hcCgoaSkgPT4gKHsgdmFsdWU6IGkudmFsdWUsIGxhYmVsOiBpLmxhYmVsIH0pKVswXTtcbiAgICAgIGVsc2UgdGhpcy52YWx1ZSA9IHRoaXMuY29udmVydGVkVmFsdWUoKS5tYXAoKGkpID0+IGkudmFsdWUpWzBdO1xuICAgIH1cbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVBob25lQ2hhbmdlKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQsIGlkOiBzdHJpbmcpIHtcbiAgICBpZiAoZS5pc1VzZXJJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy5jb252ZXJ0ZWRWYWx1ZS51cGRhdGUoKHByZXYpID0+IHByZXYubWFwKChpKSA9PiAoaS5pZCA9PT0gaWQgPyB7IC4uLmksIHZhbHVlOiBlLnZhbHVlIH0gOiBpKSkpO1xuICAgIH1cbiAgfVxuICBwcm90ZWN0ZWQgaGFuZGxlTGFiZWxDaGFuZ2UoZTogQVhWYWx1ZUNoYW5nZWRFdmVudCwgaWQ6IHN0cmluZykge1xuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uKSB7XG4gICAgICB0aGlzLmNvbnZlcnRlZFZhbHVlLnVwZGF0ZSgocHJldikgPT4gcHJldi5tYXAoKGkpID0+IChpLmlkID09PSBpZCA/IHsgLi4uaSwgbGFiZWw6IGUudmFsdWUgfSA6IGkpKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUFkZEl0ZW0oKSB7XG4gICAgLy8gdGhpcy52YWx1ZS5wdXNoKHsgbGFiZWw6ICdQcmltYXJ5JywgdmFsdWU6IHVuZGVmaW5lZCB9KTtcbiAgICB0aGlzLmNvbnZlcnRlZFZhbHVlLnVwZGF0ZSgocHJldikgPT4gWy4uLnByZXYsIHsgbGFiZWw6IHRoaXMuaGFzTGFiZWwgPyAnUHJpbWFyeScgOiAnJywgdmFsdWU6ICcnLCBpZDogdGhpcy5tb2NrZXJTZXJ2aWNlLnVpZCgpIH1dKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVSZW1vdmVJdGVtKGl0ZW06IGFueSkge1xuICAgIHRoaXMuY29udmVydGVkVmFsdWUudXBkYXRlKChwcmV2KSA9PiBwcmV2LmZpbHRlcigoYykgPT4gYyAhPSBpdGVtKSk7XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gSW5pdGlhbGl6ZSB3aXRoIGFuIGVtcHR5IGFycmF5IGlmIHRoZXJlJ3Mgbm8gdmFsdWUgb3IgaXQncyBlbXB0eVxuICAgIGlmICghdGhpcy52YWx1ZSB8fCB0aGlzLnZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5pbml0aWFsaXplRW1wdHlWYWx1ZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFByb2Nlc3MgdGhlIGlucHV0IGJhc2VkIG9uIGBtdWx0aXBsZWAgYW5kIGBoYXNMYWJlbGBcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgdGhpcy5oYW5kbGVNdWx0aXBsZVZhbHVlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGFuZGxlU2luZ2xlVmFsdWUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVFbXB0eVZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMuY29udmVydGVkVmFsdWUuc2V0KFt7IHZhbHVlOiAnJywgbGFiZWw6ICcnLCBpZDogdGhpcy5tb2NrZXJTZXJ2aWNlLnVpZCgpIH1dKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTXVsdGlwbGVWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudmFsdWUubWFwKChpdGVtOiBhbnkpID0+ICh7XG4gICAgICB2YWx1ZTogdGhpcy5oYXNMYWJlbCA/IGl0ZW0udmFsdWUgOiBpdGVtLFxuICAgICAgbGFiZWw6IHRoaXMuaGFzTGFiZWwgPyBpdGVtLmxhYmVsIDogbnVsbCxcbiAgICAgIGlkOiB0aGlzLm1vY2tlclNlcnZpY2UudWlkKCksXG4gICAgfSkpO1xuICAgIHRoaXMuY29udmVydGVkVmFsdWUuc2V0KG5ld1ZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU2luZ2xlVmFsdWUoKTogdm9pZCB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSBbXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiB0aGlzLmhhc0xhYmVsID8gdGhpcy52YWx1ZS52YWx1ZSA6IHRoaXMudmFsdWUsXG4gICAgICAgIGxhYmVsOiB0aGlzLmhhc0xhYmVsID8gdGhpcy52YWx1ZS5sYWJlbCA6IG51bGwsXG4gICAgICAgIGlkOiB0aGlzLm1vY2tlclNlcnZpY2UudWlkKCksXG4gICAgICB9LFxuICAgIF07XG4gICAgdGhpcy5jb252ZXJ0ZWRWYWx1ZS5zZXQobmV3VmFsdWUpO1xuICB9XG59XG4iXX0=
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtd2lkZ2V0LWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9zY2hlbWEvd2lkZ2V0cy9waG9uZS9waG9uZS13aWRnZXQtZWRpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBa0IsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7QUE4RTdELE1BQU0sT0FBTywyQkFBNEIsU0FBUSxpQkFBc0I7SUE1RXZFOztRQTZFWSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4QyxhQUFRLEdBQUcsTUFBTSxDQUFDLFVB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LHlpQkFBRSxZQUFZOzsyRkFHN0csMkJBQTJCO2tCQTVFdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFFVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxZQUFZLENBQUM7b0JBQ3pILE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhTZWxlY3RCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0LWJveCc7XG5pbXBvcnQgeyBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1ib3gnO1xuaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBNb2NrRGF0YVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL21vY2tzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBXcml0YWJsZVNpZ25hbCwgZWZmZWN0LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWFBXaWRnZXRFZGl0QmFzZSB9IGZyb20gJy4uLy4uL3dpZGdldC93aWRnZXQtYmFzZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0xMiBheC1nYXAtNFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpcGxlXCI+XG4gICAgICAgIEBmb3IoaXRlbSBvZiBjb252ZXJ0ZWRWYWx1ZSgpO3RyYWNrICRpbmRleCkge1xuICAgICAgICA8YXgtdGV4dC1ib3hcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0udmFsdWVcIlxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVQaG9uZUNoYW5nZSgkZXZlbnQsIGl0ZW0uaWQpXCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgY2xhc3M9XCJheC1jb2wtc3RhcnQtMSBheC1jb2wtZW5kLTEzIGxnOmF4LWNvbC1lbmQtOFwiXG4gICAgICAgICAgW2NsYXNzLmxnOiFheC1jb2wtZW5kLTEyXT1cIiFoYXNMYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICBAZm9yKHZsIG9mIHZhbGlkYXRpb25zO3RyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxheC12YWxpZGF0aW9uLXJ1bGUgW3J1bGVdPVwidmwucnVsZVwiIFtvcHRpb25zXT1cInZsLm9wdGlvbnNcIj48L2F4LXZhbGlkYXRpb24tcnVsZT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvYXgtdGV4dC1ib3g+XG4gICAgICAgIEBpZihoYXNMYWJlbCl7XG4gICAgICAgIDxheC1zZWxlY3QtYm94XG4gICAgICAgICAgW2RhdGFTb3VyY2VdPVwicGhvbmVMYWJlbHNcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZUxhYmVsQ2hhbmdlKCRldmVudCwgaXRlbS5pZClcIlxuICAgICAgICAgIGNsYXNzPVwiYXgtY29sLXN0YXJ0LTEgYXgtY29sLWVuZC0xMSBsZzpheC1jb2wtc3RhcnQtOCBsZzpheC1jb2wtZW5kLTEyXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICAgIH1cbiAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgIGxvb2s9XCJ0d290b25lXCJcbiAgICAgICAgICBjb2xvcj1cImRhbmdlclwiXG4gICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlUmVtb3ZlSXRlbShpdGVtKVwiXG4gICAgICAgICAgY2xhc3M9XCJheC1jb2wtc3RhcnQtMTEgYXgtY29sLWVuZC0xMyBsZzpheC1jb2wtc3RhcnQtMTIgbGc6YXgtY29sLWVuZC0xMyBheC1qdXN0aWZ5LXNlbGYtZW5kXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1yZWd1bGFyIGZhLXhtYXJrXCI+PC9heC1pY29uPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW11bHRpcGxlXCI+XG4gICAgICAgIDxheC10ZXh0LWJveFxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udmVydGVkVmFsdWUoKVswXS52YWx1ZVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZVBob25lQ2hhbmdlKCRldmVudCwgY29udmVydGVkVmFsdWUoKVswXS5pZClcIlxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBjbGFzcz1cImF4LWNvbC1zdGFydC0xIGF4LWNvbC1lbmQtMTMgbGc6YXgtY29sLWVuZC04XCJcbiAgICAgICAgICBbY2xhc3MubGc6IWF4LWNvbC1lbmQtMTNdPVwiIWhhc0xhYmVsXCJcbiAgICAgICAgPlxuICAgICAgICAgIEBmb3Iodmwgb2YgdmFsaWRhdGlvbnM7dHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGF4LXZhbGlkYXRpb24tcnVsZSBbcnVsZV09XCJ2bC5ydWxlXCIgW29wdGlvbnNdPVwidmwub3B0aW9uc1wiPjwvYXgtdmFsaWRhdGlvbi1ydWxlPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9heC10ZXh0LWJveD5cbiAgICAgICAgQGlmKGhhc0xhYmVsKXtcbiAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICBbZGF0YVNvdXJjZV09XCJwaG9uZUxhYmVsc1wiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjb252ZXJ0ZWRWYWx1ZSgpWzBdLmxhYmVsXCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlTGFiZWxDaGFuZ2UoJGV2ZW50LCBjb252ZXJ0ZWRWYWx1ZSgpWzBdLmlkKVwiXG4gICAgICAgICAgY2xhc3M9XCJheC1jb2wtc3RhcnQtMSBheC1jb2wtZW5kLTExIGxnOmF4LWNvbC1zdGFydC04IGxnOmF4LWNvbC1lbmQtMTNcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgfVxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxheC1idXR0b25cbiAgICAgICAgKm5nSWY9XCJtdWx0aXBsZVwiXG4gICAgICAgIFt0ZXh0XT1cImNvbnZlcnRlZFZhbHVlKCkubGVuZ3RoID09IDAgPyAnQWRkIE5ldycgOiAnQWRkIEFub3RoZXInXCJcbiAgICAgICAgbG9vaz1cInR3b3RvbmVcIlxuICAgICAgICAob25DbGljayk9XCJoYW5kbGVBZGRJdGVtKClcIlxuICAgICAgICBjbGFzcz1cImF4LWNvbC1zdGFydC04IGxnOmF4LWNvbC1zdGFydC0xMCAyeGw6YXgtY29sLXN0YXJ0LTEwIGF4LWNvbC1lbmQtMTNcIlxuICAgICAgPlxuICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtYWRkXCI+PC9heC1pY29uPlxuICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBBWFRleHRCb3hNb2R1bGUsIEFYRGVjb3JhdG9yTW9kdWxlLCBBWFNlbGVjdEJveE1vZHVsZSwgQVhGb3JtTW9kdWxlXSxcbiAgaW5wdXRzOiBbJ211bHRpcGxlJywgJ2hhc0xhYmVsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFBob25lV2lkZ2V0RWRpdENvbXBvbmVudCBleHRlbmRzIEFYUFdpZGdldEVkaXRCYXNlPGFueT4ge1xuICBwcm90ZWN0ZWQgbW9ja2VyU2VydmljZSA9IGluamVjdChNb2NrRGF0YVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcGxhdGZvcm0gPSBpbmplY3QoQVhQbGF0Zm9ybSk7XG5cbiAgcHJvdGVjdGVkIG11bHRpcGxlITogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGhhc0xhYmVsITogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGNvbnZlcnRlZFZhbHVlOiBXcml0YWJsZVNpZ25hbDx7IHZhbHVlOiBzdHJpbmc7IGxhYmVsPzogc3RyaW5nOyBpZDogc3RyaW5nIH1bXT4gPSBzaWduYWwoW10pO1xuICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gIC8vcHJvdGVjdGVkIHBob25lTGFiZWxzOiBzdHJpbmdbXSA9IFsnTW9iaWxlJywgJ0hvbWUnLCAnV29yaycsICdPdGhlciddO1xuICBwcml2YXRlIGtleXMgPSBbJ3dpZGdldC5waG9uZS5tb2JpbGUnLCAnd2lkZ2V0LnBob25lLmhvbWUnLCAnd2lkZ2V0LnBob25lLndvcmsnLCAnd2lkZ2V0LnBob25lLm90aGVyJ107XG4gIHByb3RlY3RlZCBwaG9uZUxhYmVsczogc3RyaW5nW10gPSB0aGlzLmtleXMubWFwKChpKSA9PiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlU3luYyhpKSk7XG5cbiAgcHJpdmF0ZSBjaGFuZ2VWYWx1ZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGlmICh0aGlzLmhhc0xhYmVsKSB0aGlzLnZhbHVlID0gdGhpcy5jb252ZXJ0ZWRWYWx1ZSgpLm1hcCgoaSkgPT4gKHsgdmFsdWU6IGkudmFsdWUsIGxhYmVsOiBpLmxhYmVsIH0pKTtcbiAgICAgIGVsc2UgdGhpcy52YWx1ZSA9IHRoaXMuY29udmVydGVkVmFsdWUoKS5tYXAoKGkpID0+IGkudmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5oYXNMYWJlbCkgdGhpcy52YWx1ZSA9IHRoaXMuY29udmVydGVkVmFsdWUoKS5tYXAoKGkpID0+ICh7IHZhbHVlOiBpLnZhbHVlLCBsYWJlbDogaS5sYWJlbCB9KSlbMF07XG4gICAgICBlbHNlIHRoaXMudmFsdWUgPSB0aGlzLmNvbnZlcnRlZFZhbHVlKCkubWFwKChpKSA9PiBpLnZhbHVlKVswXTtcbiAgICB9XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBoYW5kbGVQaG9uZUNoYW5nZShlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50LCBpZDogc3RyaW5nKSB7XG4gICAgaWYgKGUuaXNVc2VySW50ZXJhY3Rpb24pIHtcbiAgICAgIHRoaXMuY29udmVydGVkVmFsdWUudXBkYXRlKChwcmV2KSA9PiBwcmV2Lm1hcCgoaSkgPT4gKGkuaWQgPT09IGlkID8geyAuLi5pLCB2YWx1ZTogZS52YWx1ZSB9IDogaSkpKTtcbiAgICB9XG4gIH1cbiAgcHJvdGVjdGVkIGhhbmRsZUxhYmVsQ2hhbmdlKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQsIGlkOiBzdHJpbmcpIHtcbiAgICBpZiAoZS5pc1VzZXJJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy5jb252ZXJ0ZWRWYWx1ZS51cGRhdGUoKHByZXYpID0+IHByZXYubWFwKChpKSA9PiAoaS5pZCA9PT0gaWQgPyB7IC4uLmksIGxhYmVsOiBlLnZhbHVlIH0gOiBpKSkpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVBZGRJdGVtKCkge1xuICAgIC8vIHRoaXMudmFsdWUucHVzaCh7IGxhYmVsOiAnUHJpbWFyeScsIHZhbHVlOiB1bmRlZmluZWQgfSk7XG4gICAgdGhpcy5jb252ZXJ0ZWRWYWx1ZS51cGRhdGUoKHByZXYpID0+IFsuLi5wcmV2LCB7IGxhYmVsOiB0aGlzLmhhc0xhYmVsID8gJ1ByaW1hcnknIDogJycsIHZhbHVlOiAnJywgaWQ6IHRoaXMubW9ja2VyU2VydmljZS51aWQoKSB9XSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlUmVtb3ZlSXRlbShpdGVtOiBhbnkpIHtcbiAgICB0aGlzLmNvbnZlcnRlZFZhbHVlLnVwZGF0ZSgocHJldikgPT4gcHJldi5maWx0ZXIoKGMpID0+IGMgIT0gaXRlbSkpO1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEluaXRpYWxpemUgd2l0aCBhbiBlbXB0eSBhcnJheSBpZiB0aGVyZSdzIG5vIHZhbHVlIG9yIGl0J3MgZW1wdHlcbiAgICBpZiAoIXRoaXMudmFsdWUgfHwgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUVtcHR5VmFsdWUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBQcm9jZXNzIHRoZSBpbnB1dCBiYXNlZCBvbiBgbXVsdGlwbGVgIGFuZCBgaGFzTGFiZWxgXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuaGFuZGxlTXVsdGlwbGVWYWx1ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhhbmRsZVNpbmdsZVZhbHVlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRW1wdHlWYWx1ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnZlcnRlZFZhbHVlLnNldChbeyB2YWx1ZTogJycsIGxhYmVsOiAnJywgaWQ6IHRoaXMubW9ja2VyU2VydmljZS51aWQoKSB9XSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU11bHRpcGxlVmFsdWUoKTogdm9pZCB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnZhbHVlLm1hcCgoaXRlbTogYW55KSA9PiAoe1xuICAgICAgdmFsdWU6IHRoaXMuaGFzTGFiZWwgPyBpdGVtLnZhbHVlIDogaXRlbSxcbiAgICAgIGxhYmVsOiB0aGlzLmhhc0xhYmVsID8gaXRlbS5sYWJlbCA6IG51bGwsXG4gICAgICBpZDogdGhpcy5tb2NrZXJTZXJ2aWNlLnVpZCgpLFxuICAgIH0pKTtcbiAgICB0aGlzLmNvbnZlcnRlZFZhbHVlLnNldChuZXdWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNpbmdsZVZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gW1xuICAgICAge1xuICAgICAgICB2YWx1ZTogdGhpcy5oYXNMYWJlbCA/IHRoaXMudmFsdWUudmFsdWUgOiB0aGlzLnZhbHVlLFxuICAgICAgICBsYWJlbDogdGhpcy5oYXNMYWJlbCA/IHRoaXMudmFsdWUubGFiZWwgOiBudWxsLFxuICAgICAgICBpZDogdGhpcy5tb2NrZXJTZXJ2aWNlLnVpZCgpLFxuICAgICAgfSxcbiAgICBdO1xuICAgIHRoaXMuY29udmVydGVkVmFsdWUuc2V0KG5ld1ZhbHVlKTtcbiAgfVxufVxuIl19
@@ -16,7 +16,7 @@ export class AXPSelectionListWidgetFilterComponent extends AXPWidgetFilterBase {
16
16
  [multiple]="true"
17
17
  [(ngModel)]="value"
18
18
  ></ax-select-box>
19
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i1.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i1.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
20
  }
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPSelectionListWidgetFilterComponent, decorators: [{
22
22
  type: Component,
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
38
38
  outputs: ['valueChange', 'operatorChange', 'direction'],
39
39
  }]
40
40
  }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWxpc3Qtd2lkZ2V0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3NjaGVtYS93aWRnZXRzL3NlbGVjdGlvbi1saXN0L3NlbGVjdGlvbi1saXN0LXdpZGdldC1maWx0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBa0I3QyxNQUFNLE9BQU8scUNBQXNDLFNBQVEsbUJBQW1COzhHQUFqRSxxQ0FBcUM7a0dBQXJDLHFDQUFxQyxnUkFoQnRDOzs7Ozs7Ozs7R0FTVCwyREFHUyxpQkFBaUIseWhCQUFFLFdBQVc7OzJGQUk3QixxQ0FBcUM7a0JBakJqRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7Ozs7Ozs7O0dBU1Q7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLENBQUM7b0JBQ3pDLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDO29CQUM1QyxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDO2lCQUN4RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYU2VsZWN0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlbGVjdC1ib3gnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0RmlsdGVyQmFzZSB9IGZyb20gJy4uLy4uL3dpZGdldC93aWRnZXQtYmFzZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYFxuICAgIDxheC1zZWxlY3QtYm94XG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NlbGVjdC4uLidcIlxuICAgICAgW3ZhbHVlRmllbGRdPVwidmFsdWVGaWVsZFwiXG4gICAgICBbdGV4dEZpZWxkXT1cInRleHRGaWVsZFwiXG4gICAgICBbZGF0YVNvdXJjZV09XCJpdGVtc1wiXG4gICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICA+PC9heC1zZWxlY3QtYm94PlxuICBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0FYU2VsZWN0Qm94TW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGlucHV0czogWydpdGVtcycsICd2YWx1ZUZpZWxkJywgJ3RleHRGaWVsZCddLFxuICBvdXRwdXRzOiBbJ3ZhbHVlQ2hhbmdlJywgJ29wZXJhdG9yQ2hhbmdlJywgJ2RpcmVjdGlvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBTZWxlY3Rpb25MaXN0V2lkZ2V0RmlsdGVyQ29tcG9uZW50IGV4dGVuZHMgQVhQV2lkZ2V0RmlsdGVyQmFzZSB7XG4gIHByb3RlY3RlZCBpdGVtcyE6IGFueVtdO1xuICBwcm90ZWN0ZWQgdmFsdWVGaWVsZCE6IHN0cmluZztcbiAgcHJvdGVjdGVkIHRleHRGaWVsZCE6IHN0cmluZztcbn1cbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWxpc3Qtd2lkZ2V0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3NjaGVtYS93aWRnZXRzL3NlbGVjdGlvbi1saXN0L3NlbGVjdGlvbi1saXN0LXdpZGdldC1maWx0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBa0I3QyxNQUFNLE9BQU8scUNBQXNDLFNBQVEsbUJBQW1COzhHQUFqRSxxQ0FBcUM7a0dBQXJDLHFDQUFxQyxnUkFoQnRDOzs7Ozs7Ozs7R0FTVCwyREFHUyxpQkFBaUIseWlCQUFFLFdBQVc7OzJGQUk3QixxQ0FBcUM7a0JBakJqRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7Ozs7Ozs7O0dBU1Q7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLENBQUM7b0JBQ3pDLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDO29CQUM1QyxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDO2lCQUN4RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYU2VsZWN0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlbGVjdC1ib3gnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0RmlsdGVyQmFzZSB9IGZyb20gJy4uLy4uL3dpZGdldC93aWRnZXQtYmFzZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYFxuICAgIDxheC1zZWxlY3QtYm94XG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NlbGVjdC4uLidcIlxuICAgICAgW3ZhbHVlRmllbGRdPVwidmFsdWVGaWVsZFwiXG4gICAgICBbdGV4dEZpZWxkXT1cInRleHRGaWVsZFwiXG4gICAgICBbZGF0YVNvdXJjZV09XCJpdGVtc1wiXG4gICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICA+PC9heC1zZWxlY3QtYm94PlxuICBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0FYU2VsZWN0Qm94TW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGlucHV0czogWydpdGVtcycsICd2YWx1ZUZpZWxkJywgJ3RleHRGaWVsZCddLFxuICBvdXRwdXRzOiBbJ3ZhbHVlQ2hhbmdlJywgJ29wZXJhdG9yQ2hhbmdlJywgJ2RpcmVjdGlvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBTZWxlY3Rpb25MaXN0V2lkZ2V0RmlsdGVyQ29tcG9uZW50IGV4dGVuZHMgQVhQV2lkZ2V0RmlsdGVyQmFzZSB7XG4gIHByb3RlY3RlZCBpdGVtcyE6IGFueVtdO1xuICBwcm90ZWN0ZWQgdmFsdWVGaWVsZCE6IHN0cmluZztcbiAgcHJvdGVjdGVkIHRleHRGaWVsZCE6IHN0cmluZztcbn1cbiJdfQ==
@@ -1,14 +1,15 @@
1
- import { cloneDeep } from "lodash-es";
2
- import { Injectable, Injector, computed, inject, signal } from "@angular/core";
3
- import { AXPEntityDefinitionRegistryService } from "./entity-registery.service";
4
- import { AXPEntityCommandTriggerViewModel, AXPEntityListViewColumnViewModel } from "./entity.viewmodel";
5
- import { AXFormatService } from "@acorex/core/format";
6
- import { AXPSessionService } from "@acorex/platform/auth";
7
- import { AXDataSource } from "@acorex/components/common";
8
- import { AXPWorkflowService, ofType } from "@acorex/platform/workflow";
9
- import { AXPEntityCommandScope, AXPLayoutService } from "@acorex/platform/common";
10
- import { AXPEntityDeletedEvent } from "./workflows/delete-entity.workflow";
11
- import { Subject, takeUntil } from "rxjs";
1
+ import { AXDataSource } from '@acorex/components/common';
2
+ import { AXFormatService } from '@acorex/core/format';
3
+ import { AXPSessionService } from '@acorex/platform/auth';
4
+ import { AXPEntityCommandScope, AXPLayoutService } from '@acorex/platform/common';
5
+ import { AXPWorkflowService, ofType } from '@acorex/platform/workflow';
6
+ import { Injectable, Injector, computed, inject, signal } from '@angular/core';
7
+ import { cloneDeep } from 'lodash-es';
8
+ import { Subject, takeUntil } from 'rxjs';
9
+ import { AXPEntityDefinitionRegistryService } from './entity-registery.service';
10
+ import { AXPEntityCommandTriggerViewModel, AXPEntityListViewColumnViewModel } from './entity.viewmodel';
11
+ import { AXPEntityDeletedEvent } from './workflows/delete-entity.workflow';
12
+ import { AXTranslationService } from '@acorex/core/translation';
12
13
  import * as i0 from "@angular/core";
13
14
  export class AXPEntityMasterListViewQueryViewModel {
14
15
  constructor(entity, section, view) {
@@ -32,6 +33,7 @@ export class AXPEntityMasterListViewModel {
32
33
  this.session = this.injector.get(AXPSessionService);
33
34
  this.workflow = this.injector.get(AXPWorkflowService);
34
35
  this.destroyed = new Subject();
36
+ this.translateService = this.injector.get(AXTranslationService);
35
37
  this.events$ = new Subject();
36
38
  this.dataSource = new AXDataSource({
37
39
  byKey: (key) => {
@@ -43,7 +45,7 @@ export class AXPEntityMasterListViewModel {
43
45
  return func(e);
44
46
  },
45
47
  pageSize: 10,
46
- key: 'id'
48
+ key: 'id',
47
49
  });
48
50
  this.selectedItems = signal([]);
49
51
  this.hasSelectedItems = computed(() => {
@@ -59,7 +61,7 @@ export class AXPEntityMasterListViewModel {
59
61
  });
60
62
  //****************** Inline filter ******************//
61
63
  this.inlineFiltersPlaceholders = computed(() => {
62
- return this.entityDef.properties.filter(p => p.options?.filter?.inline?.enabled).map(c => c.title);
64
+ return this.entityDef.properties.filter((p) => p.options?.filter?.inline?.enabled).map((c) => c.title);
63
65
  });
64
66
  this.hasInlineFilters = computed(() => {
65
67
  return this.inlineFiltersPlaceholders().length > 0;
@@ -68,50 +70,46 @@ export class AXPEntityMasterListViewModel {
68
70
  this.beardcrumbs = computed(() => {
69
71
  return [
70
72
  {
71
- title: "Home",
72
- icon: "fa-solid fa-home ax-text-xs ax-me-2",
73
- url: [`/${this.session.application?.name}`]
73
+ title: this.translateService.translateSync('entity.home'),
74
+ icon: 'fa-solid fa-home ax-text-xs ax-me-2',
75
+ url: [`/${this.session.application?.name}`],
74
76
  },
75
77
  {
76
78
  title: this.title(),
77
- url: [`/${this.session.application?.name}`, 'm', `${this.entityDef.module}`, 'e', `${this.entityDef.name}`, 'list']
78
- }
79
+ url: [`/${this.session.application?.name}`, 'm', `${this.entityDef.module}`, 'e', `${this.entityDef.name}`, 'list'],
80
+ },
79
81
  ];
80
82
  });
81
83
  //****************** Actions ******************//
82
84
  this.allActions = computed(() => {
83
85
  const list = this.entityDef.interfaces?.master?.list?.actions ?? [];
84
- return list
85
- .map((tr) => new AXPEntityCommandTriggerViewModel(this.entityDef, tr)) ?? [];
86
+ return list.map((tr) => new AXPEntityCommandTriggerViewModel(this.entityDef, tr)) ?? [];
86
87
  });
87
88
  this.primaryActions = computed(() => {
88
- return this.allActions()
89
- .filter(a => (a.priority == 'primary') &&
89
+ return this.allActions().filter((a) => a.priority == 'primary' &&
90
90
  ((a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||
91
91
  (a.scope == AXPEntityCommandScope.TypeLevel && !this.hasSelectedItems())));
92
92
  });
93
93
  this.secondaryActions = computed(() => {
94
- return this.allActions()
95
- .filter(a => (a.priority == 'secondary') &&
94
+ return this.allActions().filter((a) => a.priority == 'secondary' &&
96
95
  ((a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||
97
96
  (a.scope == AXPEntityCommandScope.TypeLevel && !this.hasSelectedItems())));
98
97
  });
99
98
  this.rowActions = computed(() => {
100
- return this.allActions()
101
- .filter(a => (a.scope == AXPEntityCommandScope.Individual));
99
+ return this.allActions().filter((a) => a.scope == AXPEntityCommandScope.Individual);
102
100
  });
103
101
  //****************** Filter ******************//
104
102
  this.inlineFilters = {
105
103
  field: null,
106
104
  logic: 'or',
107
105
  operator: null,
108
- filters: []
106
+ filters: [],
109
107
  };
110
108
  this.advanceFilters = {
111
109
  field: null,
112
110
  logic: 'and',
113
111
  operator: null,
114
- filters: []
112
+ filters: [],
115
113
  };
116
114
  //****************** Columns ******************//
117
115
  this.allAvailableColumns = () => {
@@ -120,28 +118,28 @@ export class AXPEntityMasterListViewModel {
120
118
  const visiblePropNames = new Set(visibleProperties.map(({ name }) => name));
121
119
  return columns
122
120
  .filter(({ name }) => visiblePropNames.has(name))
123
- .map(column => {
121
+ .map((column) => {
124
122
  const property = visibleProperties.find(({ name }) => name === column.name);
125
123
  return new AXPEntityListViewColumnViewModel(property, column);
126
124
  });
127
125
  };
128
126
  this.visibleColumnCount = () => {
129
- return this.columns().filter(c => c.visible == true).length;
127
+ return this.columns().filter((c) => c.visible == true).length;
130
128
  };
131
129
  this.columns = signal([]);
132
130
  //****************** Sort ******************//
133
131
  this.sortableFields = () => {
134
- const props = this.entityDef.properties.filter(c => c.options?.sort?.enabled);
135
- return props.map(e => {
132
+ const props = this.entityDef.properties.filter((c) => c.options?.sort?.enabled);
133
+ return props.map((e) => {
136
134
  return {
137
135
  name: e.name,
138
136
  title: e.title,
139
- dir: 'asc'
137
+ dir: 'asc',
140
138
  };
141
139
  });
142
140
  };
143
141
  this.sortableFieldsCount = () => {
144
- return this.entityDef.properties.filter(c => c.options?.sort?.enabled).length ?? 0;
142
+ return this.entityDef.properties.filter((c) => c.options?.sort?.enabled).length ?? 0;
145
143
  };
146
144
  this.canSort = () => {
147
145
  return this.sortableFieldsCount() > 0;
@@ -155,7 +153,7 @@ export class AXPEntityMasterListViewModel {
155
153
  this.sortedFields = signal([]);
156
154
  this.views = computed(() => {
157
155
  const views = this.entityDef.interfaces?.master?.list?.views ?? [];
158
- return views.map(v => {
156
+ return views.map((v) => {
159
157
  return new AXPEntityMasterListViewQueryViewModel(this.entityDef, this, v);
160
158
  });
161
159
  });
@@ -164,10 +162,10 @@ export class AXPEntityMasterListViewModel {
164
162
  .pipe(ofType(AXPEntityDeletedEvent))
165
163
  .pipe(takeUntil(this.destroyed))
166
164
  .subscribe((event) => {
167
- debugger;
165
+ // debugger
168
166
  if (event.payload.entity == this.entityDef.source) {
169
167
  this.selectedItems.set([]);
170
- this.events$.next({ action: "refresh" });
168
+ this.events$.next({ action: 'refresh' });
171
169
  }
172
170
  });
173
171
  }
@@ -175,16 +173,16 @@ export class AXPEntityMasterListViewModel {
175
173
  this.selectedItems.set([]);
176
174
  }
177
175
  applyInlineFilter(value) {
178
- const props = this.entityDef.properties.filter(c => c.options?.filter?.inline?.enabled);
176
+ const props = this.entityDef.properties.filter((c) => c.options?.filter?.inline?.enabled);
179
177
  this.inlineFilters.filters = [];
180
178
  if (value) {
181
- props.forEach(p => {
179
+ props.forEach((p) => {
182
180
  this.inlineFilters.filters?.push({
183
181
  field: p.name,
184
182
  operator: {
185
- type: 'contains'
183
+ type: 'contains',
186
184
  },
187
- value
185
+ value,
188
186
  });
189
187
  });
190
188
  }
@@ -193,12 +191,12 @@ export class AXPEntityMasterListViewModel {
193
191
  applyFilterAndSort() {
194
192
  this.dataSource.clearFilter();
195
193
  //
196
- this.dataSource.sort(...this.sortedFields().map(s => ({ dir: s.dir, field: s.name })));
194
+ this.dataSource.sort(...this.sortedFields().map((s) => ({ dir: s.dir, field: s.name })));
197
195
  //
198
- this.advanceFilters.filters = this.view().conditions.map(f => ({
196
+ this.advanceFilters.filters = this.view().conditions.map((f) => ({
199
197
  field: f.name,
200
198
  operator: f.operator,
201
- value: f.value
199
+ value: f.value,
202
200
  }));
203
201
  //
204
202
  const inline = this.inlineFilters.filters?.length ?? 0;
@@ -214,7 +212,7 @@ export class AXPEntityMasterListViewModel {
214
212
  field: null,
215
213
  logic: 'and',
216
214
  operator: null,
217
- filters: [this.inlineFilters, this.advanceFilters]
215
+ filters: [this.inlineFilters, this.advanceFilters],
218
216
  });
219
217
  }
220
218
  //
@@ -228,12 +226,11 @@ export class AXPEntityMasterListViewModel {
228
226
  }
229
227
  applyViewColumns() {
230
228
  const cols = this.view().columns;
231
- const cloned = this.allAvailableColumns()
232
- .map(c => {
233
- const column = this.entityDef.columns?.find(cc => cc.name == c.name);
234
- const prop = this.entityDef.properties.find(p => p.name == c.name);
229
+ const cloned = this.allAvailableColumns().map((c) => {
230
+ const column = this.entityDef.columns?.find((cc) => cc.name == c.name);
231
+ const prop = this.entityDef.properties.find((p) => p.name == c.name);
235
232
  const col = new AXPEntityListViewColumnViewModel(prop, column);
236
- col.visible = !cols.some(c => c == col.name) && col.visible != false;
233
+ col.visible = !cols.some((c) => c == col.name) && col.visible != false;
237
234
  return col;
238
235
  });
239
236
  this.columns.set(cloned);
@@ -245,26 +242,26 @@ export class AXPEntityMasterListViewModel {
245
242
  this.applyFilterAndSort();
246
243
  }
247
244
  addSort() {
248
- const prop = this.sortableFields().find(c => !this.sortedFields().some(s => s.name == c.name));
245
+ const prop = this.sortableFields().find((c) => !this.sortedFields().some((s) => s.name == c.name));
249
246
  if (prop) {
250
247
  this.sortedFields.set([...this.sortedFields(), ...[prop]]);
251
248
  }
252
249
  }
253
250
  removeSort(name) {
254
- this.sortedFields.set(this.sortedFields().filter(c => c.name != name));
251
+ this.sortedFields.set(this.sortedFields().filter((c) => c.name != name));
255
252
  }
256
253
  applyViewSorts() {
257
- const fileds = this.view().sorts.map(c => ({
254
+ const fileds = this.view().sorts.map((c) => ({
258
255
  name: c.name,
259
256
  title: c.name,
260
- dir: c.dir ?? 'asc'
257
+ dir: c.dir ?? 'asc',
261
258
  }));
262
259
  this.sortedFields.set(fileds);
263
260
  }
264
261
  //****************** Views ******************//
265
262
  setView(viewName = null) {
266
263
  if (viewName != this.view().name) {
267
- this.view.set(this.views().find(c => c.name == viewName) ?? this.views()[0]);
264
+ this.view.set(this.views().find((c) => c.name == viewName) ?? this.views()[0]);
268
265
  this.applyViewSorts();
269
266
  this.applyViewColumns();
270
267
  this.applyFilterAndSort();
@@ -272,14 +269,12 @@ export class AXPEntityMasterListViewModel {
272
269
  }
273
270
  //****************** Commands ******************//
274
271
  async executeCommand(commandName, data = null) {
275
- const action = this.allActions().find(c => c.name == commandName &&
276
- ((this.selectedItems().length ?
277
- c.scope == AXPEntityCommandScope.Selected :
278
- c.scope == AXPEntityCommandScope.Individual) ||
272
+ const action = this.allActions().find((c) => c.name == commandName &&
273
+ ((this.selectedItems().length ? c.scope == AXPEntityCommandScope.Selected : c.scope == AXPEntityCommandScope.Individual) ||
279
274
  c.scope == AXPEntityCommandScope.TypeLevel));
280
275
  await this.workflow.execute(commandName, {
281
276
  entity: this.entityDef.source,
282
- data: action?.scope == AXPEntityCommandScope.Selected ? this.selectedItems() : data
277
+ data: action?.scope == AXPEntityCommandScope.Selected ? this.selectedItems() : data,
283
278
  });
284
279
  }
285
280
  //
@@ -314,4 +309,4 @@ export const AXPEntityListViewModelResolver = (route, state, service = inject(AX
314
309
  //
315
310
  return service.create(moduleName, entityName);
316
311
  };
317
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW1hc3Rlci1saXN0LnZpZXdtb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2VudGl0eS9zcmMvbGliL2VudGl0eS1tYXN0ZXItbGlzdC52aWV3bW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQWMsVUFBVSxFQUFFLFFBQVEsRUFBVyxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBb0QsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUEwQyxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQWUxQyxNQUFNLE9BQU8scUNBQXFDO0lBRTlDLFlBQW9CLE1BQWlCLEVBQVUsT0FBcUMsRUFBVSxJQUFrQjtRQUE1RixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBOEI7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFj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QUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IERlc3Ryb3lSZWYsIEluamVjdGFibGUsIEluamVjdG9yLCBWaWV3UmVmLCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSB9IGZyb20gXCIuL2VudGl0eS1yZWdpc3Rlcnkuc2VydmljZVwiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUmVzb2x2ZUZuLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgQVhQRW50aXR5Q29tbWFuZFRyaWdnZXJWaWV3TW9kZWwsIEFYUEVudGl0eUxpc3RWaWV3Q29sdW1uVmlld01vZGVsIH0gZnJvbSBcIi4vZW50aXR5LnZpZXdtb2RlbFwiO1xuaW1wb3J0IHsgQVhGb3JtYXRTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvY29yZS9mb3JtYXRcIjtcbmltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vYXV0aFwiO1xuaW1wb3J0IHsgQVhEYXRhU291cmNlLCBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24sIEFYRGF0YVNvdXJjZVNvcnRPcHRpb24gfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL2NvbW1vblwiO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlLCBvZlR5cGUgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvd1wiO1xuaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBRdWVyeVZpZXcsIEFYUEJlYXJkQ3J1bWIsIEFYUEVudGl0eUNvbW1hbmRTY29wZSwgQVhQTGF5b3V0U2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuaW1wb3J0IHsgQVhQRW50aXR5RGVsZXRlZEV2ZW50IH0gZnJvbSBcIi4vd29ya2Zsb3dzL2RlbGV0ZS1lbnRpdHkud29ya2Zsb3dcIjtcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIjtcbmltcG9ydCB7IEFYVW5zdWJzY3JpYmVyIH0gZnJvbSBcIkBhY29yZXgvY29yZS91dGlsc1wiO1xuXG5cblxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3U29ydFByb3BWaWV3TW9kZWwge1xuXG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGlyOiBzdHJpbmc7XG59XG5cblxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3UXVlcnlWaWV3TW9kZWwge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbnRpdHk6IEFYUEVudGl0eSwgcHJpdmF0ZSBzZWN0aW9uOiBBWFBFbnRpdHlNYXN0ZXJMaXN0Vmlld01vZGVsLCBwcml2YXRlIHZpZXc6IEFYUFF1ZXJ5Vmlldykge1xuXG4gICAgfVxuXG4gICAgbmFtZSA9IHRoaXMudmlldy5uYW1lO1xuICAgIHRpdGxlID0gdGhpcy52aWV3LnRpdGxlO1xuICAgIHNvcnRzID0gdGhpcy52aWV3LnNvcnRzO1xuICAgIGNvbHVtbnMgPSB0aGlzLnZpZXcuY29sdW1ucztcbiAgICBjb25kaXRpb25zID0gdGhpcy52aWV3LmNvbmRpdGlvbnM7XG5cbn1cblxuXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5TWFzdGVyTGlzdFZpZXdNb2RlbCB7XG5cblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZW50aXR5RGVmID0gY2xvbmVEZWVwKHRoaXMuY29uZmlnKSE7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfdmlld0RlZiA9IGNsb25lRGVlcCh0aGlzLmVudGl0eURlZi5pbnRlcmZhY2VzPy5tYXN0ZXI/Lmxpc3QpIVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybWF0U2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYRm9ybWF0U2VydmljZSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb24gPSB0aGlzLmluamVjdG9yLmdldChBWFBTZXNzaW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB3b3JrZmxvdyA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYUFdvcmtmbG93U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHVibGljIGV2ZW50cyQ6IFN1YmplY3Q8eyBhY3Rpb246IHN0cmluZyB9PiA9IG5ldyBTdWJqZWN0KCk7XG5cblxuXG4gICAgZGF0YVNvdXJjZSA9IG5ldyBBWERhdGFTb3VyY2Uoe1xuICAgICAgICBieUtleTogKGtleSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZnVuYyA9IHRoaXMuZW50aXR5RGVmLnF1ZXJpZXMuYnlLZXkuZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgICAgICAgIHJldHVybiBmdW5jKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGxvYWQ6IChlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmdW5jID0gdGhpcy5lbnRpdHlEZWYucXVlcmllcy5saXN0Py5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmMoZSk7XG4gICAgICAgIH0sXG4gICAgICAgIHBhZ2VTaXplOiAxMCxcbiAgICAgICAga2V5OiAnaWQnXG5cbiAgICB9KVxuXG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgY29uZmlnOiBBWFBFbnRpdHlcbiAgICApIHtcbiAgICAgICAgdGhpcy53b3JrZmxvdy5ldmVudHMkXG4gICAgICAgICAgICAucGlwZShvZlR5cGUoQVhQRW50aXR5RGVsZXRlZEV2ZW50KSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGRlYnVnZ2VyXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBldmVudC5wYXlsb2FkLmVudGl0eSA9PSB0aGlzLmVudGl0eURlZi5zb3VyY2VcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnNldChbXSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXZlbnRzJC5uZXh0KHsgYWN0aW9uOiBcInJlZnJlc2hcIiB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0ZWRJdGVtcyA9IHNpZ25hbDxhbnlbXT4oW10pO1xuXG4gICAgcHVibGljIGhhc1NlbGVjdGVkSXRlbXMgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMoKS5sZW5ndGggPiAwXG4gICAgfSk7XG5cbiAgICBwdWJsaWMgY2xlYXJTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5zZXQoW10pO1xuICAgIH1cblxuICAgIC8vKioqKioqKioqKioqKioqKioqIFRpdGxlICoqKioqKioqKioqKioqKioqKi8vXG4gICAgcHVibGljIHRpdGxlID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl92aWV3RGVmLnRpdGxlID8/IHRoaXMuZW50aXR5RGVmLmZvcm1hdHMucGx1cmFsITtcbiAgICB9KTtcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBEZXNjcmlwdGlvbiAqKioqKioqKioqKioqKioqKiovL1xuICAgIHB1YmxpYyBkZXNjcmlwdGlvbiA9IGNvbXB1dGVkPHN0cmluZyB8IG51bGw+KCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZpZXdEZWYuZGVzY3JpcHRpb24gPz8gbnVsbDtcbiAgICB9KTtcblxuICAgIC8vKioqKioqKioqKioqKioqKioqIElubGluZSBmaWx0ZXIgKioqKioqKioqKioqKioqKioqLy9cbiAgICBwdWJsaWMgaW5saW5lRmlsdGVyc1BsYWNlaG9sZGVycyA9IGNvbXB1dGVkPHN0cmluZ1tdPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudGl0eURlZi5wcm9wZXJ0aWVzLmZpbHRlcihwID0+IHAub3B0aW9ucz8uZmlsdGVyPy5pbmxpbmU/LmVuYWJsZWQpLm1hcChjID0+IGMudGl0bGUpO1xuICAgIH0pO1xuXG4gICAgcHVibGljIGhhc0lubGluZUZpbHRlcnMgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlubGluZUZpbHRlcnNQbGFjZWhvbGRlcnMoKS5sZW5ndGggPiAwO1xuICAgIH0pO1xuXG4gICAgLy8qKioqKioqKioqKioqKioqKiogQmVhcmRjcnVtYnMgKioqKioqKioqKioqKioqKioqLy9cbiAgICBwdWJsaWMgYmVhcmRjcnVtYnMgPSBjb21wdXRlZDxBWFBCZWFyZENydW1iW10+KCgpID0+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJIb21lXCIsXG4gICAgICAgICAgICAgICAgaWNvbjogXCJmYS1zb2xpZCBmYS1ob21lIGF4LXRleHQteHMgYXgtbWUtMlwiLFxuICAgICAgICAgICAgICAgIHVybDogW2AvJHt0aGlzLnNlc3Npb24uYXBwbGljYXRpb24/Lm5hbWV9YF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMudGl0bGUoKSxcbiAgICAgICAgICAgICAgICB1cmw6IFtgLyR7dGhpcy5zZXNzaW9uLmFwcGxpY2F0aW9uPy5uYW1lfWAsICdtJywgYCR7dGhpcy5lbnRpdHlEZWYubW9kdWxlfWAsICdlJywgYCR7dGhpcy5lbnRpdHlEZWYubmFtZX1gLCAnbGlzdCddXG4gICAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICB9KTtcblxuICAgIC8vKioqKioqKioqKioqKioqKioqIEFjdGlvbnMgKioqKioqKioqKioqKioqKioqLy9cbiAgICBwcml2YXRlIGFsbEFjdGlvbnMgPSBjb21wdXRlZDxBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbFtdPigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLmVudGl0eURlZi5pbnRlcmZhY2VzPy5tYXN0ZXI/Lmxpc3Q/LmFjdGlvbnMgPz8gW107XG4gICAgICAgIHJldHVybiBsaXN0XG4gICAgICAgICAgICAubWFwKCh0cikgPT4gbmV3IEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsKHRoaXMuZW50aXR5RGVmLCB0cikpID8/IFtdO1xuICAgIH0pO1xuXG4gICAgcHVibGljIHByaW1hcnlBY3Rpb25zID0gY29tcHV0ZWQ8QVhQRW50aXR5Q29tbWFuZFRyaWdnZXJWaWV3TW9kZWxbXT4oKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hbGxBY3Rpb25zKClcbiAgICAgICAgICAgIC5maWx0ZXIoYSA9PlxuICAgICAgICAgICAgICAgIChhLnByaW9yaXR5ID09ICdwcmltYXJ5JykgJiZcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgIChhLnNjb3BlID09IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCAmJiB0aGlzLmhhc1NlbGVjdGVkSXRlbXMoKSkgfHxcbiAgICAgICAgICAgICAgICAgICAgKGEuc2NvcGUgPT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLlR5cGVMZXZlbCAmJiAhdGhpcy5oYXNTZWxlY3RlZEl0ZW1zKCkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICB9KTtcblxuICAgIHB1YmxpYyBzZWNvbmRhcnlBY3Rpb25zID0gY29tcHV0ZWQ8QVhQRW50aXR5Q29tbWFuZFRyaWdnZXJWaWV3TW9kZWxbXT4oKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hbGxBY3Rpb25zKClcbiAgICAgICAgICAgIC5maWx0ZXIoYSA9PlxuICAgICAgICAgICAgICAgIChhLnByaW9yaXR5ID09ICdzZWNvbmRhcnknKSAmJlxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgKGEuc2NvcGUgPT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkICYmIHRoaXMuaGFzU2VsZWN0ZWRJdGVtcygpKSB8fFxuICAgICAgICAgICAgICAgICAgICAoYS5zY29wZSA9PSBBWFBFbnRpdHlDb21tYW5kU2NvcGUuVHlwZUxldmVsICYmICF0aGlzLmhhc1NlbGVjdGVkSXRlbXMoKSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgIH0pO1xuXG4gICAgcHVibGljIHJvd0FjdGlvbnMgPSBjb21wdXRlZDxBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbFtdPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFsbEFjdGlvbnMoKVxuICAgICAgICAgICAgLmZpbHRlcihhID0+XG4gICAgICAgICAgICAgICAgKGEuc2NvcGUgPT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwpXG4gICAgICAgICAgICApO1xuICAgIH0pO1xuXG4gICAgLy8qKioqKioqKioqKioqKioqKiogRmlsdGVyICoqKioqKioqKioqKioqKioqKi8vXG5cbiAgICBwcml2YXRlIGlubGluZUZpbHRlcnM6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiA9IHtcbiAgICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxuICAgICAgICBsb2dpYzogJ29yJyxcbiAgICAgICAgb3BlcmF0b3I6IG51bGwgYXMgYW55LFxuICAgICAgICBmaWx0ZXJzOiBbXVxuICAgIH07XG5cbiAgICBwcml2YXRlIGFkdmFuY2VGaWx0ZXJzOiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24gPSB7XG4gICAgICAgIGZpZWxkOiBudWxsIGFzIGFueSxcbiAgICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgICBvcGVyYXRvcjogbnVsbCBhcyBhbnksXG4gICAgICAgIGZpbHRlcnM6IFtdXG4gICAgfTtcblxuICAgIGFwcGx5SW5saW5lRmlsdGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcHJvcHMgPSB0aGlzLmVudGl0eURlZi5wcm9wZXJ0aWVzLmZpbHRlcihjID0+IGMub3B0aW9ucz8uZmlsdGVyPy5pbmxpbmU/LmVuYWJsZWQpO1xuICAgICAgICB0aGlzLmlubGluZUZpbHRlcnMuZmlsdGVycyA9IFtdO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHByb3BzLmZvckVhY2gocCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbmxpbmVGaWx0ZXJzLmZpbHRlcnM/LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogcC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2NvbnRhaW5zJ1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXJBbmRTb3J0KCk7XG4gICAgfVxuXG4gICAgYXBwbHlGaWx0ZXJBbmRTb3J0KCkge1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuY2xlYXJGaWx0ZXIoKTtcbiAgICAgICAgLy9cbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnQoLi4udGhpcy5zb3J0ZWRGaWVsZHMoKS5tYXAocyA9PiAoeyBkaXI6IHMuZGlyLCBmaWVsZDogcy5uYW1lIH0gYXMgQVhEYXRhU291cmNlU29ydE9wdGlvbikpKTtcbiAgICAgICAgLy9cbiAgICAgICAgdGhpcy5hZHZhbmNlRmlsdGVycy5maWx0ZXJzID0gdGhpcy52aWV3KCkuY29uZGl0aW9ucy5tYXAoZiA9PiAoe1xuICAgICAgICAgICAgZmllbGQ6IGYubmFtZSxcbiAgICAgICAgICAgIG9wZXJhdG9yOiBmLm9wZXJhdG9yLFxuICAgICAgICAgICAgdmFsdWU6IGYudmFsdWVcbiAgICAgICAgfSkpO1xuICAgICAgICAvL1xuICAgICAgICBjb25zdCBpbmxpbmUgPSB0aGlzLmlubGluZUZpbHRlcnMuZmlsdGVycz8ubGVuZ3RoID8/IDA7XG4gICAgICAgIGNvbnN0IGFkdmFuY2UgPSB0aGlzLmFkdmFuY2VGaWx0ZXJzLmZpbHRlcnM/Lmxlbmd0aCA/PyAwO1xuICAgICAgICBpZiAoaW5saW5lICYmICFhZHZhbmNlKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyKHRoaXMuaW5saW5lRmlsdGVycyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoIWlubGluZSAmJiBhZHZhbmNlKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyKHRoaXMuYWR2YW5jZUZpbHRlcnMpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlubGluZSAmJiBhZHZhbmNlKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyKHtcbiAgICAgICAgICAgICAgICBmaWVsZDogbnVsbCBhcyBhbnksXG4gICAgICAgICAgICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yOiBudWxsIGFzIGFueSxcbiAgICAgICAgICAgICAgICBmaWx0ZXJzOiBbdGhpcy5pbmxpbmVGaWx0ZXJzLCB0aGlzLmFkdmFuY2VGaWx0ZXJzXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy9cbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnJlZnJlc2goKTtcbiAgICB9XG5cbiAgICAvLyoqKioqKioqKioqKioqKioqKiBDb2x1bW5zICoqKioqKioqKioqKioqKioqKi8vXG5cbiAgICBwcml2YXRlIGFsbEF2YWlsYWJsZUNvbHVtbnMgPSAoKTogQVhQRW50aXR5TGlzdFZpZXdDb2x1bW5WaWV3TW9kZWxbXSA9PiB7XG4gICAgICAgIGNvbnN0IHsgY29sdW1ucyA9IFtdLCBwcm9wZXJ0aWVzIH0gPSB0aGlzLmVudGl0eURlZjtcbiAgICAgICAgY29uc3QgdmlzaWJsZVByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzLmZpbHRlcigoeyBzY2hlbWEgfSkgPT4gIXNjaGVtYT8uaGlkZGVuKTtcbiAgICAgICAgY29uc3QgdmlzaWJsZVByb3BOYW1lcyA9IG5ldyBTZXQodmlzaWJsZVByb3BlcnRpZXMubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSkpO1xuXG4gICAgICAgIHJldHVybiBjb2x1bW5zXG4gICAgICAgICAgICAuZmlsdGVyKCh7IG5hbWUgfSkgPT4gdmlzaWJsZVByb3BOYW1lcy5oYXMobmFtZSkpXG4gICAgICAgICAgICAubWFwKGNvbHVtbiA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJvcGVydHkgPSB2aXNpYmxlUHJvcGVydGllcy5maW5kKCh7IG5hbWUgfSkgPT4gbmFtZSA9PT0gY29sdW1uLm5hbWUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQVhQRW50aXR5TGlzdFZpZXdDb2x1bW5WaWV3TW9kZWwocHJvcGVydHkhLCBjb2x1bW4pO1xuICAgICAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHZpc2libGVDb2x1bW5Db3VudCA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sdW1ucygpLmZpbHRlcihjID0+IGMudmlzaWJsZSA9PSB0cnVlKS5sZW5ndGg7XG4gICAgfTtcblxuICAgIGNvbHVtbnMgPSBzaWduYWw8QVhQRW50aXR5TGlzdFZpZXdDb2x1bW5WaWV3TW9kZWxbXT4oW10pO1xuXG4gICAgcmVzZXRDb2x1bW5zKCkge1xuICAgICAgICB0aGlzLmFwcGx5Vmlld0NvbHVtbnMoKTtcbiAgICB9XG5cbiAgICBhcHBseUNvbHVtbnMoKSB7XG4gICAgICAgIC8vdGhpcy5jb2x1bW5zLnNldCh0aGlzLmNsb25lZENvbHVtbnMoKSlcbiAgICB9XG5cbiAgICBhcHBseVZpZXdDb2x1bW5zKCkge1xuICAgICAgICBjb25zdCBjb2xzID0gdGhpcy52aWV3KCkuY29sdW1ucztcbiAgICAgICAgY29uc3QgY2xvbmVkID0gdGhpcy5hbGxBdmFpbGFibGVDb2x1bW5zKClcbiAgICAgICAgICAgIC5tYXAoYyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sdW1uID0gdGhpcy5lbnRpdHlEZWYuY29sdW1ucz8uZmluZChjYyA9PiBjYy5uYW1lID09IGMubmFtZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJvcCA9IHRoaXMuZW50aXR5RGVmLnByb3BlcnRpZXMuZmluZChwID0+IHAubmFtZSA9PSBjLm5hbWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbCA9IG5ldyBBWFBFbnRpdHlMaXN0Vmlld0NvbHVtblZpZXdNb2RlbChwcm9wISwgY29sdW1uISk7XG4gICAgICAgICAgICAgICAgY29sLnZpc2libGUgPSAhY29scy5zb21lKGMgPT4gYyA9PSBjb2wubmFtZSkgJiYgY29sLnZpc2libGUgIT0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIHRoaXMuY29sdW1ucy5zZXQoY2xvbmVkKTtcbiAgICB9XG5cbiAgICAvLyoqKioqKioqKioqKioqKioqKiBTb3J0ICoqKioqKioqKioqKioqKioqKi8vXG5cbiAgICBzb3J0YWJsZUZpZWxkcyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgcHJvcHMgPSB0aGlzLmVudGl0eURlZi5wcm9wZXJ0aWVzLmZpbHRlcihjID0+IGMub3B0aW9ucz8uc29ydD8uZW5hYmxlZCk7XG4gICAgICAgIHJldHVybiBwcm9wcy5tYXAoZSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG5hbWU6IGUubmFtZSxcbiAgICAgICAgICAgICAgICB0aXRsZTogZS50aXRsZSxcbiAgICAgICAgICAgICAgICBkaXI6ICdhc2MnXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgIH07XG5cbiAgICBzb3J0YWJsZUZpZWxkc0NvdW50ID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnRpdHlEZWYucHJvcGVydGllcy5maWx0ZXIoYyA9PiBjLm9wdGlvbnM/LnNvcnQ/LmVuYWJsZWQpLmxlbmd0aCA/PyAwO1xuICAgIH1cblxuICAgIGNhblNvcnQgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNvcnRhYmxlRmllbGRzQ291bnQoKSA+IDBcbiAgICB9O1xuXG4gICAgY2FuQWRkTW9yZVNvcnQgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNvcnRlZENvdW50KCkgPCB0aGlzLnNvcnRhYmxlRmllbGRzQ291bnQoKTtcbiAgICB9XG5cblxuICAgIHNvcnRlZENvdW50ID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zb3J0ZWRGaWVsZHMoKS5sZW5ndGhcbiAgICB9O1xuXG4gICAgc29ydGVkRmllbGRzID0gc2lnbmFsPEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3U29ydFByb3BWaWV3TW9kZWxbXT4oW10pO1xuXG4gICAgcmVzZXRTb3J0cygpIHtcbiAgICAgICAgdGhpcy5hcHBseVZpZXdTb3J0cygpO1xuICAgIH1cblxuICAgIGFwcGx5U29ydHMoKSB7XG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXJBbmRTb3J0KCk7XG4gICAgfVxuXG4gICAgYWRkU29ydCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJvcCA9IHRoaXMuc29ydGFibGVGaWVsZHMoKS5maW5kKGMgPT4gIXRoaXMuc29ydGVkRmllbGRzKCkuc29tZShzID0+IHMubmFtZSA9PSBjLm5hbWUpKVxuICAgICAgICBpZiAocHJvcCkge1xuICAgICAgICAgICAgdGhpcy5zb3J0ZWRGaWVsZHMuc2V0KFsuLi50aGlzLnNvcnRlZEZpZWxkcygpLCAuLi5bcHJvcF1dKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZVNvcnQobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc29ydGVkRmllbGRzLnNldCh0aGlzLnNvcnRlZEZpZWxkcygpLmZpbHRlcihjID0+IGMubmFtZSAhPSBuYW1lKSk7XG4gICAgfVxuXG4gICAgYXBwbHlWaWV3U29ydHMoKSB7XG4gICAgICAgIGNvbnN0IGZpbGVkcyA9IHRoaXMudmlldygpLnNvcnRzLm1hcChjID0+ICh7XG4gICAgICAgICAgICBuYW1lOiBjLm5hbWUsXG4gICAgICAgICAgICB0aXRsZTogYy5uYW1lLFxuICAgICAgICAgICAgZGlyOiBjLmRpciA/PyAnYXNjJ1xuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuc29ydGVkRmllbGRzLnNldChmaWxlZHMpO1xuICAgIH1cblxuICAgIC8vKioqKioqKioqKioqKioqKioqIFZpZXdzICoqKioqKioqKioqKioqKioqKi8vXG5cblxuICAgIHNldFZpZXcodmlld05hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICAgICAgIGlmICh2aWV3TmFtZSAhPSB0aGlzLnZpZXcoKS5uYW1lKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXcuc2V0KHRoaXMudmlld3MoKS5maW5kKGMgPT4gYy5uYW1lID09IHZpZXdOYW1lKSA/PyB0aGlzLnZpZXdzKClbMF0pO1xuICAgICAgICAgICAgdGhpcy5hcHBseVZpZXdTb3J0cygpO1xuICAgICAgICAgICAgdGhpcy5hcHBseVZpZXdDb2x1bW5zKCk7XG4gICAgICAgICAgICB0aGlzLmFwcGx5RmlsdGVyQW5kU29ydCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdmlld3MgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZpZXdzID0gdGhpcy5lbnRpdHlEZWYuaW50ZXJmYWNlcz8ubWFzdGVyPy5saXN0Py52aWV3cyA/PyBbXTtcbiAgICAgICAgcmV0dXJuIHZpZXdzLm1hcCh2ID0+IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQVhQRW50aXR5TWFzdGVyTGlzdFZpZXdRdWVyeVZpZXdNb2RlbCh0aGlzLmVudGl0eURlZiwgdGhpcywgdik7XG4gICAgICAgIH0pXG4gICAgfSk7XG5cbiAgICB2aWV3ID0gc2lnbmFsPEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3UXVlcnlWaWV3TW9kZWw+KHRoaXMudmlld3MoKVswXSk7XG5cblxuICAgIC8vKioqKioqKioqKioqKioqKioqICBDb21tYW5kcyAqKioqKioqKioqKioqKioqKiovL1xuICAgIHB1YmxpYyBhc3luYyBleGVjdXRlQ29tbWFuZChjb21tYW5kTmFtZTogc3RyaW5nLCBkYXRhOiBhbnkgPSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuYWxsQWN0aW9ucygpLmZpbmQoYyA9PlxuICAgICAgICAgICAgYy5uYW1lID09IGNvbW1hbmROYW1lICYmXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgKHRoaXMuc2VsZWN0ZWRJdGVtcygpLmxlbmd0aCA/XG4gICAgICAgICAgICAgICAgICAgIGMuc2NvcGUgPT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkIDpcbiAgICAgICAgICAgICAgICAgICAgYy5zY29wZSA9PSBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbFxuICAgICAgICAgICAgICAgICkgfHxcbiAgICAgICAgICAgICAgICBjLnNjb3BlID09IEFYUEVudGl0eUNvbW1hbmRTY29wZS5UeXBlTGV2ZWxcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgdGhpcy53b3JrZmxvdy5leGVjdXRlKGNvbW1hbmROYW1lLCB7XG4gICAgICAgICAgICBlbnRpdHk6IHRoaXMuZW50aXR5RGVmLnNvdXJjZSxcbiAgICAgICAgICAgIGRhdGE6IGFjdGlvbj8uc2NvcGUgPT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkID8gdGhpcy5zZWxlY3RlZEl0ZW1zKCkgOiBkYXRhXG4gICAgICAgIH0pXG4gICAgfVxuICAgIC8vXG4gICAgZGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlMaXN0Vmlld01vZGVsRmFjdG9yeSB7XG4gICAgcHJpdmF0ZSBlbnRpdHlTZXJ2aWNlID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgbGF5b3V0ID0gaW5qZWN0KEFYUExheW91dFNlcnZpY2UpO1xuICAgIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gICAgcHVibGljIGFzeW5jIGNyZWF0ZShtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZyk6IFByb21pc2U8QVhQRW50aXR5TWFzdGVyTGlzdFZpZXdNb2RlbD4ge1xuICAgICAgICB0aGlzLmxheW91dC5zZXROYXZpZ2F0aW9uTG9hZGluZyh0cnVlKTtcbiAgICAgICAgY29uc3QgY29uZmlnID0gYXdhaXQgdGhpcy5lbnRpdHlTZXJ2aWNlLnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG4gICAgICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBFbnRpdHlNYXN0ZXJMaXN0Vmlld01vZGVsKHRoaXMuaW5qZWN0b3IsIGNvbmZpZyk7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgQVhQRW50aXR5TGlzdFZpZXdNb2RlbFJlc29sdmVyOiBSZXNvbHZlRm48UHJvbWlzZTxBWFBFbnRpdHlNYXN0ZXJMaXN0Vmlld01vZGVsPj4gPSAoXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gICAgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsXG4gICAgc2VydmljZTogQVhQRW50aXR5TGlzdFZpZXdNb2RlbEZhY3RvcnkgPSBpbmplY3QoQVhQRW50aXR5TGlzdFZpZXdNb2RlbEZhY3RvcnkpXG4pOiBQcm9taXNlPEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3TW9kZWw+ID0+IHtcbiAgICBjb25zdCBhcHBOYW1lID0gcm91dGUucGFyZW50Py5wYXJhbU1hcC5nZXQoJ2FwcCcpIGFzIHN0cmluZztcbiAgICBjb25zdCBtb2R1bGVOYW1lID0gcm91dGUucGFyZW50Py5wYXJhbU1hcC5nZXQoJ21vZHVsZScpIGFzIHN0cmluZztcbiAgICBjb25zdCBlbnRpdHlOYW1lID0gcm91dGUucGFyYW1NYXAuZ2V0KCdlbnRpdHknKSBhcyBzdHJpbmc7XG4gICAgLy9cbiAgICByZXR1cm4gc2VydmljZS5jcmVhdGUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG59O1xuXG5cblxuIl19
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW1hc3Rlci1saXN0LnZpZXdtb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2VudGl0eS9zcmMvbGliL2VudGl0eS1tYXN0ZXItbGlzdC52aWV3bW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBb0QsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUE0QixxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBZ0IsTUFBTSx5QkFBeUIsQ0FBQztBQUMxSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFRaEUsTUFBTSxPQUFPLHFDQUFxQztJQUNoRCxZQUFvQixNQUFpQixFQUFVLE9BQXFDLEVBQVUsSUFBa0I7UUFBNUYsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLFlBQU8sR0FBUCxPQUFPLENBQThCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBYztRQUVoSCxTQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsVUFBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLFVBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixZQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDNUIsZUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBTmlGLENBQUM7Q0FPckg7QUFFRCxNQUFNLE9BQU8sNEJBQTRCO0lBd0J2QyxZQUFvQixRQUFrQixFQUFVLE1BQWlCO1FBQTdDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBdkJoRCxjQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUUsQ0FBQztRQUNwQyxhQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUUsQ0FBQztRQUMvRCxrQkFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9DLGFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2pELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3pDLHFCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFNUQsWUFBTyxHQUFnQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRTVELGVBQVUsR0FBRyxJQUFJLFlBQVksQ0FBQztZQUM1QixLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDYixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBbUIsQ0FBQztnQkFDOUQsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNoQixDQUFDO1lBQ0QsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQW1CLENBQUM7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLENBQUM7WUFDRCxRQUFRLEVBQUUsRUFBRTtZQUNaLEdBQUcsRUFBRSxJQUFJO1NBQ1YsQ0FBQyxDQUFDO1FBZUksa0JBQWEsR0FBRyxNQUFNLENBQVEsRUFBRSxDQUFDLENBQUM7UUFFbEMscUJBQWdCLEdBQUcsUUFBUSxDQUFVLEdBQUcsRUFBRTtZQUMvQyxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBTUgsK0NBQStDO1FBQ3hDLFVBQUssR0FBRyxRQUFRLENBQVMsR0FBRyxFQUFFO1lBQ25DLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO1FBQ0gscURBQXFEO1FBQzlDLGdCQUFXLEdBQUcsUUFBUSxDQUFnQixHQUFHLEVBQUU7WUFDaEQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFFSCx1REFBdUQ7UUFDaEQsOEJBQXlCLEdBQUcsUUFBUSxDQUFXLEdBQUcsRUFBRTtZQUN6RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pHLENBQUMsQ0FBQyxDQUFDO1FBRUkscUJBQWdCLEdBQUcsUUFBUSxDQUFVLEdBQUcsRUFBRTtZQUMvQyxPQUFPLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7UUFFSCxxREFBcUQ7UUFDOUMsZ0JBQVcsR0FBRyxRQUFRLENBQWtCLEdBQUcsRUFBRTtZQUNsRCxPQUFPO2dCQUNMO29CQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztvQkFDekQsSUFBSSxFQUFFLHFDQUFxQztvQkFDM0MsR0FBRyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztpQkFDNUM7Z0JBQ0Q7b0JBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ25CLEdBQUcsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQztpQkFDcEg7YUFDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxpREFBaUQ7UUFDekMsZUFBVSxHQUFHLFFBQVEsQ0FBcUMsR0FBRyxFQUFFO1lBQ3JFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNwRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksZ0NBQWdDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxRixDQUFDLENBQUMsQ0FBQztRQUVJLG1CQUFjLEdBQUcsUUFBUSxDQUFxQyxHQUFHLEVBQUU7WUFDeEUsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUM3QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0osQ0FBQyxDQUFDLFFBQVEsSUFBSSxTQUFTO2dCQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxxQkFBcUIsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7b0JBQ3JFLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxxQkFBcUIsQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQzlFLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVJLHFCQUFnQixHQUFHLFFBQVEsQ0FBcUMsR0FBRyxFQUFFO1lBQzFFLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FDN0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNKLENBQUMsQ0FBQyxRQUFRLElBQUksV0FBVztnQkFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUkscUJBQXFCLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO29CQUNyRSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUkscUJBQXFCLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUM5RSxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSSxlQUFVLEdBQUcsUUFBUSxDQUFxQyxHQUFHLEVBQUU7WUFDcEUsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RGLENBQUMsQ0FBQyxDQUFDO1FBRUgsZ0RBQWdEO1FBRXhDLGtCQUFhLEdBQTZCO1lBQ2hELEtBQUssRUFBRSxJQUFXO1lBQ2xCLEtBQUssRUFBRSxJQUFJO1lBQ1gsUUFBUSxFQUFFLElBQVc7WUFDckIsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBRU0sbUJBQWMsR0FBNkI7WUFDakQsS0FBSyxFQUFFLElBQVc7WUFDbEIsS0FBSyxFQUFFLEtBQUs7WUFDWixRQUFRLEVBQUUsSUFBVztZQUNyQixPQUFPLEVBQUUsRUFBRTtTQUNaLENBQUM7UUFnREYsaURBQWlEO1FBRXpDLHdCQUFtQixHQUFHLEdBQXVDLEVBQUU7WUFDckUsTUFBTSxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNwRCxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM3RSxNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFFNUUsT0FBTyxPQUFPO2lCQUNYLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDaEQsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ2QsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDNUUsT0FBTyxJQUFJLGdDQUFnQyxDQUFDLFFBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNqRSxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQztRQUVGLHVCQUFrQixHQUFHLEdBQUcsRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2hFLENBQUMsQ0FBQztRQUVGLFlBQU8sR0FBRyxNQUFNLENBQXFDLEVBQUUsQ0FBQyxDQUFDO1FBc0J6RCw4Q0FBOEM7UUFFOUMsbUJBQWMsR0FBRyxHQUFHLEVBQUU7WUFDcEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNoRixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDckIsT0FBTztvQkFDTCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7b0JBQ1osS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO29CQUNkLEdBQUcsRUFBRSxLQUFLO2lCQUNYLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVGLHdCQUFtQixHQUFHLEdBQUcsRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUN2RixDQUFDLENBQUM7UUFFRixZQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ2IsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDO1FBRUYsbUJBQWMsR0FBRyxHQUFHLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDekQsQ0FBQyxDQUFDO1FBRUYsZ0JBQVcsR0FBRyxHQUFHLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3BDLENBQUMsQ0FBQztRQUVGLGlCQUFZLEdBQUcsTUFBTSxDQUE2QyxFQUFFLENBQUMsQ0FBQztRQXlDdEUsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDcEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ25FLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNyQixPQUFPLElBQUkscUNBQXFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILFNBQUksR0FBRyxNQUFNLENBQXdDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBdlFwRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87YUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQy9CLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLFdBQVc7WUFDWCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFRTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUErRUQsaUJBQWlCLENBQUMsS0FBYTtRQUM3QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDaEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO29CQUMvQixLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUk7b0JBQ2IsUUFBUSxFQUFFO3dCQUNSLElBQUksRUFBRSxVQUFVO3FCQUNqQjtvQkFDRCxLQUFLO2lCQUNOLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM5QixFQUFFO1FBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQTZCLENBQUEsQ0FBQyxDQUFDLENBQUM7UUFDbkgsRUFBRTtRQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSTtZQUNiLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUTtZQUNwQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7U0FDZixDQUFDLENBQUMsQ0FBQztRQUNKLEVBQUU7UUFDRixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDekQsSUFBSSxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0MsQ0FBQzthQUFNLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlDLENBQUM7YUFBTSxJQUFJLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztnQkFDckIsS0FBSyxFQUFFLElBQVc7Z0JBQ2xCLEtBQUssRUFBRSxLQUFLO2dCQUNaLFFBQVEsRUFBRSxJQUFXO2dCQUNyQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUM7YUFDbkQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELEVBQUU7UUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVCLENBQUM7SUF1QkQsWUFBWTtRQUNWLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxZQUFZO1FBQ1Ysd0NBQXdDO0lBQzFDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2xELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyRSxNQUFNLEdBQUcsR0FBRyxJQUFJLGdDQUFnQyxDQUFDLElBQUssRUFBRSxNQUFPLENBQUMsQ0FBQztZQUNqRSxHQUFHLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQztZQUN2RSxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQWlDRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbkcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtZQUNaLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSTtZQUNiLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLEtBQUs7U0FDcEIsQ0FBQyxDQUFDLENBQUM7UUFDSixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsK0NBQStDO0lBRS9DLE9BQU8sQ0FBQyxXQUEwQixJQUFJO1FBQ3BDLElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9FLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQVdELG1EQUFtRDtJQUM1QyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQW1CLEVBQUUsT0FBWSxJQUFJO1FBQy9ELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQ25DLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDSixDQUFDLENBQUMsSUFBSSxJQUFJLFdBQVc7WUFDckIsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUkscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLHFCQUFxQixDQUFDLFVBQVUsQ0FBQztnQkFDdEgsQ0FBQyxDQUFDLEtBQUssSUFBSSxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FDaEQsQ0FBQztRQUNGLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3ZDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU07WUFDN0IsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLElBQUkscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDcEYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELEVBQUU7SUFDRixPQUFPO1FBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7Q0FDRjtBQUdELE1BQU0sT0FBTyw2QkFBNkI7SUFEMUM7UUFFVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzNELFdBQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsQyxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBUXJDO0lBTlEsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqRSxDQUFDOzhHQVZVLDZCQUE2QjtrSEFBN0IsNkJBQTZCLGNBRGhCLE1BQU07OzJGQUNuQiw2QkFBNkI7a0JBRHpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQWNsQyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBcUQsQ0FDOUYsS0FBNkIsRUFDN0IsS0FBMEIsRUFDMUIsVUFBeUMsTUFBTSxDQUFDLDZCQUE2QixDQUFDLEVBQ3ZDLEVBQUU7SUFDekMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBVyxDQUFDO0lBQzVELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQVcsQ0FBQztJQUNsRSxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQVcsQ0FBQztJQUMxRCxFQUFFO0lBQ0YsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERhdGFTb3VyY2UsIEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiwgQVhEYXRhU291cmNlU29ydE9wdGlvbiB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2Zvcm1hdCc7XG5pbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBCZWFyZENydW1iLCBBWFBFbnRpdHksIEFYUEVudGl0eUNvbW1hbmRTY29wZSwgQVhQTGF5b3V0U2VydmljZSwgQVhQUXVlcnlWaWV3IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlLCBvZlR5cGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJlc29sdmVGbiwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi9lbnRpdHktcmVnaXN0ZXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQRW50aXR5Q29tbWFuZFRyaWdnZXJWaWV3TW9kZWwsIEFYUEVudGl0eUxpc3RWaWV3Q29sdW1uVmlld01vZGVsIH0gZnJvbSAnLi9lbnRpdHkudmlld21vZGVsJztcbmltcG9ydCB7IEFYUEVudGl0eURlbGV0ZWRFdmVudCB9IGZyb20gJy4vd29ya2Zsb3dzL2RlbGV0ZS1lbnRpdHkud29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3U29ydFByb3BWaWV3TW9kZWwge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRpcjogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5TWFzdGVyTGlzdFZpZXdRdWVyeVZpZXdNb2RlbCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZW50aXR5OiBBWFBFbnRpdHksIHByaXZhdGUgc2VjdGlvbjogQVhQRW50aXR5TWFzdGVyTGlzdFZpZXdNb2RlbCwgcHJpdmF0ZSB2aWV3OiBBWFBRdWVyeVZpZXcpIHt9XG5cbiAgbmFtZSA9IHRoaXMudmlldy5uYW1lO1xuICB0aXRsZSA9IHRoaXMudmlldy50aXRsZTtcbiAgc29ydHMgPSB0aGlzLnZpZXcuc29ydHM7XG4gIGNvbHVtbnMgPSB0aGlzLnZpZXcuY29sdW1ucztcbiAgY29uZGl0aW9ucyA9IHRoaXMudmlldy5jb25kaXRpb25zO1xufVxuXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5TWFzdGVyTGlzdFZpZXdNb2RlbCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW50aXR5RGVmID0gY2xvbmVEZWVwKHRoaXMuY29uZmlnKSE7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdEZWYgPSBjbG9uZURlZXAodGhpcy5lbnRpdHlEZWYuaW50ZXJmYWNlcz8ubWFzdGVyPy5saXN0KSE7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybWF0U2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYRm9ybWF0U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvbiA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB3b3JrZmxvdyA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYUFdvcmtmbG93U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gIHB1YmxpYyBldmVudHMkOiBTdWJqZWN0PHsgYWN0aW9uOiBzdHJpbmcgfT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIGRhdGFTb3VyY2UgPSBuZXcgQVhEYXRhU291cmNlKHtcbiAgICBieUtleTogKGtleSkgPT4ge1xuICAgICAgY29uc3QgZnVuYyA9IHRoaXMuZW50aXR5RGVmLnF1ZXJpZXMuYnlLZXkuZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgIHJldHVybiBmdW5jKCk7XG4gICAgfSxcbiAgICBsb2FkOiAoZSkgPT4ge1xuICAgICAgY29uc3QgZnVuYyA9IHRoaXMuZW50aXR5RGVmLnF1ZXJpZXMubGlzdD8uZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgIHJldHVybiBmdW5jKGUpO1xuICAgIH0sXG4gICAgcGFnZVNpemU6IDEwLFxuICAgIGtleTogJ2lkJyxcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgY29uZmlnOiBBWFBFbnRpdHkpIHtcbiAgICB0aGlzLndvcmtmbG93LmV2ZW50cyRcbiAgICAgIC5waXBlKG9mVHlwZShBWFBFbnRpdHlEZWxldGVkRXZlbnQpKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIC8vIGRlYnVnZ2VyXG4gICAgICAgIGlmIChldmVudC5wYXlsb2FkLmVudGl0eSA9PSB0aGlzLmVudGl0eURlZi5zb3VyY2UpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuc2V0KFtdKTtcbiAgICAgICAgICB0aGlzLmV2ZW50cyQubmV4dCh7IGFjdGlvbjogJ3JlZnJlc2gnIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zID0gc2lnbmFsPGFueVtdPihbXSk7XG5cbiAgcHVibGljIGhhc1NlbGVjdGVkSXRlbXMgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcygpLmxlbmd0aCA+IDA7XG4gIH0pO1xuXG4gIHB1YmxpYyBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMuc2V0KFtdKTtcbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIFRpdGxlICoqKioqKioqKioqKioqKioqKi8vXG4gIHB1YmxpYyB0aXRsZSA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLl92aWV3RGVmLnRpdGxlID8/IHRoaXMuZW50aXR5RGVmLmZvcm1hdHMucGx1cmFsITtcbiAgfSk7XG4gIC8vKioqKioqKioqKioqKioqKioqIERlc2NyaXB0aW9uICoqKioqKioqKioqKioqKioqKi8vXG4gIHB1YmxpYyBkZXNjcmlwdGlvbiA9IGNvbXB1dGVkPHN0cmluZyB8IG51bGw+KCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5fdmlld0RlZi5kZXNjcmlwdGlvbiA/PyBudWxsO1xuICB9KTtcblxuICAvLyoqKioqKioqKioqKioqKioqKiBJbmxpbmUgZmlsdGVyICoqKioqKioqKioqKioqKioqKi8vXG4gIHB1YmxpYyBpbmxpbmVGaWx0ZXJzUGxhY2Vob2xkZXJzID0gY29tcHV0ZWQ8c3RyaW5nW10+KCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdHlEZWYucHJvcGVydGllcy5maWx0ZXIoKHApID0+IHAub3B0aW9ucz8uZmlsdGVyPy5pbmxpbmU/LmVuYWJsZWQpLm1hcCgoYykgPT4gYy50aXRsZSk7XG4gIH0pO1xuXG4gIHB1YmxpYyBoYXNJbmxpbmVGaWx0ZXJzID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmlubGluZUZpbHRlcnNQbGFjZWhvbGRlcnMoKS5sZW5ndGggPiAwO1xuICB9KTtcblxuICAvLyoqKioqKioqKioqKioqKioqKiBCZWFyZGNydW1icyAqKioqKioqKioqKioqKioqKiovL1xuICBwdWJsaWMgYmVhcmRjcnVtYnMgPSBjb21wdXRlZDxBWFBCZWFyZENydW1iW10+KCgpID0+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZVN5bmMoJ2VudGl0eS5ob21lJyksXG4gICAgICAgIGljb246ICdmYS1zb2xpZCBmYS1ob21lIGF4LXRleHQteHMgYXgtbWUtMicsXG4gICAgICAgIHVybDogW2AvJHt0aGlzLnNlc3Npb24uYXBwbGljYXRpb24/Lm5hbWV9YF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0aXRsZTogdGhpcy50aXRsZSgpLFxuICAgICAgICB1cmw6IFtgLyR7dGhpcy5zZXNzaW9uLmFwcGxpY2F0aW9uPy5uYW1lfWAsICdtJywgYCR7dGhpcy5lbnRpdHlEZWYubW9kdWxlfWAsICdlJywgYCR7dGhpcy5lbnRpdHlEZWYubmFtZX1gLCAnbGlzdCddLFxuICAgICAgfSxcbiAgICBdO1xuICB9KTtcblxuICAvLyoqKioqKioqKioqKioqKioqKiBBY3Rpb25zICoqKioqKioqKioqKioqKioqKi8vXG4gIHByaXZhdGUgYWxsQWN0aW9ucyA9IGNvbXB1dGVkPEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsW10+KCgpID0+IHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5lbnRpdHlEZWYuaW50ZXJmYWNlcz8ubWFzdGVyPy5saXN0Py5hY3Rpb25zID8/IFtdO1xuICAgIHJldHVybiBsaXN0Lm1hcCgodHIpID0+IG5ldyBBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbCh0aGlzLmVudGl0eURlZiwgdHIpKSA/PyBbXTtcbiAgfSk7XG5cbiAgcHVibGljIHByaW1hcnlBY3Rpb25zID0gY29tcHV0ZWQ8QVhQRW50aXR5Q29tbWFuZFRyaWdnZXJWaWV3TW9kZWxbXT4oKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmFsbEFjdGlvbnMoKS5maWx0ZXIoXG4gICAgICAoYSkgPT5cbiAgICAgICAgYS5wcmlvcml0eSA9PSAncHJpbWFyeScgJiZcbiAgICAgICAgKChhLnNjb3BlID09IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCAmJiB0aGlzLmhhc1NlbGVjdGVkSXRlbXMoKSkgfHxcbiAgICAgICAgICAoYS5zY29wZSA9PSBBWFBFbnRpdHlDb21tYW5kU2NvcGUuVHlwZUxldmVsICYmICF0aGlzLmhhc1NlbGVjdGVkSXRlbXMoKSkpXG4gICAgKTtcbiAgfSk7XG5cbiAgcHVibGljIHNlY29uZGFyeUFjdGlvbnMgPSBjb21wdXRlZDxBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbFtdPigoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYWxsQWN0aW9ucygpLmZpbHRlcihcbiAgICAgIChhKSA9PlxuICAgICAgICBhLnByaW9yaXR5ID09ICdzZWNvbmRhcnknICYmXG4gICAgICAgICgoYS5zY29wZSA9PSBBWFBFbnRpdHlDb21tYW5kU2NvcGUuU2VsZWN0ZWQgJiYgdGhpcy5oYXNTZWxlY3RlZEl0ZW1zKCkpIHx8XG4gICAgICAgICAgKGEuc2NvcGUgPT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLlR5cGVMZXZlbCAmJiAhdGhpcy5oYXNTZWxlY3RlZEl0ZW1zKCkpKVxuICAgICk7XG4gIH0pO1xuXG4gIHB1YmxpYyByb3dBY3Rpb25zID0gY29tcHV0ZWQ8QVhQRW50aXR5Q29tbWFuZFRyaWdnZXJWaWV3TW9kZWxbXT4oKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmFsbEFjdGlvbnMoKS5maWx0ZXIoKGEpID0+IGEuc2NvcGUgPT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwpO1xuICB9KTtcblxuICAvLyoqKioqKioqKioqKioqKioqKiBGaWx0ZXIgKioqKioqKioqKioqKioqKioqLy9cblxuICBwcml2YXRlIGlubGluZUZpbHRlcnM6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiA9IHtcbiAgICBmaWVsZDogbnVsbCBhcyBhbnksXG4gICAgbG9naWM6ICdvcicsXG4gICAgb3BlcmF0b3I6IG51bGwgYXMgYW55LFxuICAgIGZpbHRlcnM6IFtdLFxuICB9O1xuXG4gIHByaXZhdGUgYWR2YW5jZUZpbHRlcnM6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiA9IHtcbiAgICBmaWVsZDogbnVsbCBhcyBhbnksXG4gICAgbG9naWM6ICdhbmQnLFxuICAgIG9wZXJhdG9yOiBudWxsIGFzIGFueSxcbiAgICBmaWx0ZXJzOiBbXSxcbiAgfTtcblxuICBhcHBseUlubGluZUZpbHRlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgY29uc3QgcHJvcHMgPSB0aGlzLmVudGl0eURlZi5wcm9wZXJ0aWVzLmZpbHRlcigoYykgPT4gYy5vcHRpb25zPy5maWx0ZXI/LmlubGluZT8uZW5hYmxlZCk7XG4gICAgdGhpcy5pbmxpbmVGaWx0ZXJzLmZpbHRlcnMgPSBbXTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHByb3BzLmZvckVhY2goKHApID0+IHtcbiAgICAgICAgdGhpcy5pbmxpbmVGaWx0ZXJzLmZpbHRlcnM/LnB1c2goe1xuICAgICAgICAgIGZpZWxkOiBwLm5hbWUsXG4gICAgICAgICAgb3BlcmF0b3I6IHtcbiAgICAgICAgICAgIHR5cGU6ICdjb250YWlucycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5hcHBseUZpbHRlckFuZFNvcnQoKTtcbiAgfVxuXG4gIGFwcGx5RmlsdGVyQW5kU29ydCgpIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UuY2xlYXJGaWx0ZXIoKTtcbiAgICAvL1xuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0KC4uLnRoaXMuc29ydGVkRmllbGRzKCkubWFwKChzKSA9PiAoeyBkaXI6IHMuZGlyLCBmaWVsZDogcy5uYW1lIH0gYXMgQVhEYXRhU291cmNlU29ydE9wdGlvbikpKTtcbiAgICAvL1xuICAgIHRoaXMuYWR2YW5jZUZpbHRlcnMuZmlsdGVycyA9IHRoaXMudmlldygpLmNvbmRpdGlvbnMubWFwKChmKSA9PiAoe1xuICAgICAgZmllbGQ6IGYubmFtZSxcbiAgICAgIG9wZXJhdG9yOiBmLm9wZXJhdG9yLFxuICAgICAgdmFsdWU6IGYudmFsdWUsXG4gICAgfSkpO1xuICAgIC8vXG4gICAgY29uc3QgaW5saW5lID0gdGhpcy5pbmxpbmVGaWx0ZXJzLmZpbHRlcnM/Lmxlbmd0aCA/PyAwO1xuICAgIGNvbnN0IGFkdmFuY2UgPSB0aGlzLmFkdmFuY2VGaWx0ZXJzLmZpbHRlcnM/Lmxlbmd0aCA/PyAwO1xuICAgIGlmIChpbmxpbmUgJiYgIWFkdmFuY2UpIHtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIodGhpcy5pbmxpbmVGaWx0ZXJzKTtcbiAgICB9IGVsc2UgaWYgKCFpbmxpbmUgJiYgYWR2YW5jZSkge1xuICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlcih0aGlzLmFkdmFuY2VGaWx0ZXJzKTtcbiAgICB9IGVsc2UgaWYgKGlubGluZSAmJiBhZHZhbmNlKSB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyKHtcbiAgICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxuICAgICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICAgIG9wZXJhdG9yOiBudWxsIGFzIGFueSxcbiAgICAgICAgZmlsdGVyczogW3RoaXMuaW5saW5lRmlsdGVycywgdGhpcy5hZHZhbmNlRmlsdGVyc10sXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy9cbiAgICB0aGlzLmRhdGFTb3VyY2UucmVmcmVzaCgpO1xuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogQ29sdW1ucyAqKioqKioqKioqKioqKioqKiovL1xuXG4gIHByaXZhdGUgYWxsQXZhaWxhYmxlQ29sdW1ucyA9ICgpOiBBWFBFbnRpdHlMaXN0Vmlld0NvbHVtblZpZXdNb2RlbFtdID0+IHtcbiAgICBjb25zdCB7IGNvbHVtbnMgPSBbXSwgcHJvcGVydGllcyB9ID0gdGhpcy5lbnRpdHlEZWY7XG4gICAgY29uc3QgdmlzaWJsZVByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzLmZpbHRlcigoeyBzY2hlbWEgfSkgPT4gIXNjaGVtYT8uaGlkZGVuKTtcbiAgICBjb25zdCB2aXNpYmxlUHJvcE5hbWVzID0gbmV3IFNldCh2aXNpYmxlUHJvcGVydGllcy5tYXAoKHsgbmFtZSB9KSA9PiBuYW1lKSk7XG5cbiAgICByZXR1cm4gY29sdW1uc1xuICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+IHZpc2libGVQcm9wTmFtZXMuaGFzKG5hbWUpKVxuICAgICAgLm1hcCgoY29sdW1uKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5ID0gdmlzaWJsZVByb3BlcnRpZXMuZmluZCgoeyBuYW1lIH0pID0+IG5hbWUgPT09IGNvbHVtbi5uYW1lKTtcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBFbnRpdHlMaXN0Vmlld0NvbHVtblZpZXdNb2RlbChwcm9wZXJ0eSEsIGNvbHVtbik7XG4gICAgICB9KTtcbiAgfTtcblxuICB2aXNpYmxlQ29sdW1uQ291bnQgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucygpLmZpbHRlcigoYykgPT4gYy52aXNpYmxlID09IHRydWUpLmxlbmd0aDtcbiAgfTtcblxuICBjb2x1bW5zID0gc2lnbmFsPEFYUEVudGl0eUxpc3RWaWV3Q29sdW1uVmlld01vZGVsW10+KFtdKTtcblxuICByZXNldENvbHVtbnMoKSB7XG4gICAgdGhpcy5hcHBseVZpZXdDb2x1bW5zKCk7XG4gIH1cblxuICBhcHBseUNvbHVtbnMoKSB7XG4gICAgLy90aGlzLmNvbHVtbnMuc2V0KHRoaXMuY2xvbmVkQ29sdW1ucygpKVxuICB9XG5cbiAgYXBwbHlWaWV3Q29sdW1ucygpIHtcbiAgICBjb25zdCBjb2xzID0gdGhpcy52aWV3KCkuY29sdW1ucztcbiAgICBjb25zdCBjbG9uZWQgPSB0aGlzLmFsbEF2YWlsYWJsZUNvbHVtbnMoKS5tYXAoKGMpID0+IHtcbiAgICAgIGNvbnN0IGNvbHVtbiA9IHRoaXMuZW50aXR5RGVmLmNvbHVtbnM/LmZpbmQoKGNjKSA9PiBjYy5uYW1lID09IGMubmFtZSk7XG4gICAgICBjb25zdCBwcm9wID0gdGhpcy5lbnRpdHlEZWYucHJvcGVydGllcy5maW5kKChwKSA9PiBwLm5hbWUgPT0gYy5uYW1lKTtcbiAgICAgIGNvbnN0IGNvbCA9IG5ldyBBWFBFbnRpdHlMaXN0Vmlld0NvbHVtblZpZXdNb2RlbChwcm9wISwgY29sdW1uISk7XG4gICAgICBjb2wudmlzaWJsZSA9ICFjb2xzLnNvbWUoKGMpID0+IGMgPT0gY29sLm5hbWUpICYmIGNvbC52aXNpYmxlICE9IGZhbHNlO1xuICAgICAgcmV0dXJuIGNvbDtcbiAgICB9KTtcbiAgICB0aGlzLmNvbHVtbnMuc2V0KGNsb25lZCk7XG4gIH1cblxuICAvLyoqKioqKioqKioqKioqKioqKiBTb3J0ICoqKioqKioqKioqKioqKioqKi8vXG5cbiAgc29ydGFibGVGaWVsZHMgPSAoKSA9PiB7XG4gICAgY29uc3QgcHJvcHMgPSB0aGlzLmVudGl0eURlZi5wcm9wZXJ0aWVzLmZpbHRlcigoYykgPT4gYy5vcHRpb25zPy5zb3J0Py5lbmFibGVkKTtcbiAgICByZXR1cm4gcHJvcHMubWFwKChlKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiBlLm5hbWUsXG4gICAgICAgIHRpdGxlOiBlLnRpdGxlLFxuICAgICAgICBkaXI6ICdhc2MnLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfTtcblxuICBzb3J0YWJsZUZpZWxkc0NvdW50ID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmVudGl0eURlZi5wcm9wZXJ0aWVzLmZpbHRlcigoYykgPT4gYy5vcHRpb25zPy5zb3J0Py5lbmFibGVkKS5sZW5ndGggPz8gMDtcbiAgfTtcblxuICBjYW5Tb3J0ID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnNvcnRhYmxlRmllbGRzQ291bnQoKSA+IDA7XG4gIH07XG5cbiAgY2FuQWRkTW9yZVNvcnQgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc29ydGVkQ291bnQoKSA8IHRoaXMuc29ydGFibGVGaWVsZHNDb3VudCgpO1xuICB9O1xuXG4gIHNvcnRlZENvdW50ID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnNvcnRlZEZpZWxkcygpLmxlbmd0aDtcbiAgfTtcblxuICBzb3J0ZWRGaWVsZHMgPSBzaWduYWw8QVhQRW50aXR5TWFzdGVyTGlzdFZpZXdTb3J0UHJvcFZpZXdNb2RlbFtdPihbXSk7XG5cbiAgcmVzZXRTb3J0cygpIHtcbiAgICB0aGlzLmFwcGx5Vmlld1NvcnRzKCk7XG4gIH1cblxuICBhcHBseVNvcnRzKCkge1xuICAgIHRoaXMuYXBwbHlGaWx0ZXJBbmRTb3J0KCk7XG4gIH1cblxuICBhZGRTb3J0KCk6IHZvaWQge1xuICAgIGNvbnN0IHByb3AgPSB0aGlzLnNvcnRhYmxlRmllbGRzKCkuZmluZCgoYykgPT4gIXRoaXMuc29ydGVkRmllbGRzKCkuc29tZSgocykgPT4gcy5uYW1lID09IGMubmFtZSkpO1xuICAgIGlmIChwcm9wKSB7XG4gICAgICB0aGlzLnNvcnRlZEZpZWxkcy5zZXQoWy4uLnRoaXMuc29ydGVkRmllbGRzKCksIC4uLltwcm9wXV0pO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVNvcnQobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zb3J0ZWRGaWVsZHMuc2V0KHRoaXMuc29ydGVkRmllbGRzKCkuZmlsdGVyKChjKSA9PiBjLm5hbWUgIT0gbmFtZSkpO1xuICB9XG5cbiAgYXBwbHlWaWV3U29ydHMoKSB7XG4gICAgY29uc3QgZmlsZWRzID0gdGhpcy52aWV3KCkuc29ydHMubWFwKChjKSA9PiAoe1xuICAgICAgbmFtZTogYy5uYW1lLFxuICAgICAgdGl0bGU6IGMubmFtZSxcbiAgICAgIGRpcjogYy5kaXIgPz8gJ2FzYycsXG4gICAgfSkpO1xuICAgIHRoaXMuc29ydGVkRmllbGRzLnNldChmaWxlZHMpO1xuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogVmlld3MgKioqKioqKioqKioqKioqKioqLy9cblxuICBzZXRWaWV3KHZpZXdOYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgIGlmICh2aWV3TmFtZSAhPSB0aGlzLnZpZXcoKS5uYW1lKSB7XG4gICAgICB0aGlzLnZpZXcuc2V0KHRoaXMudmlld3MoKS5maW5kKChjKSA9PiBjLm5hbWUgPT0gdmlld05hbWUpID8/IHRoaXMudmlld3MoKVswXSk7XG4gICAgICB0aGlzLmFwcGx5Vmlld1NvcnRzKCk7XG4gICAgICB0aGlzLmFwcGx5Vmlld0NvbHVtbnMoKTtcbiAgICAgIHRoaXMuYXBwbHlGaWx0ZXJBbmRTb3J0KCk7XG4gICAgfVxuICB9XG5cbiAgdmlld3MgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgdmlld3MgPSB0aGlzLmVudGl0eURlZi5pbnRlcmZhY2VzPy5tYXN0ZXI/Lmxpc3Q/LnZpZXdzID8/IFtdO1xuICAgIHJldHVybiB2aWV3cy5tYXAoKHYpID0+IHtcbiAgICAgIHJldHVybiBuZXcgQVhQRW50aXR5TWFzdGVyTGlzdFZpZXdRdWVyeVZpZXdNb2RlbCh0aGlzLmVudGl0eURlZiwgdGhpcywgdik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHZpZXcgPSBzaWduYWw8QVhQRW50aXR5TWFzdGVyTGlzdFZpZXdRdWVyeVZpZXdNb2RlbD4odGhpcy52aWV3cygpWzBdKTtcblxuICAvLyoqKioqKioqKioqKioqKioqKiAgQ29tbWFuZHMgKioqKioqKioqKioqKioqKioqLy9cbiAgcHVibGljIGFzeW5jIGV4ZWN1dGVDb21tYW5kKGNvbW1hbmROYW1lOiBzdHJpbmcsIGRhdGE6IGFueSA9IG51bGwpIHtcbiAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmFsbEFjdGlvbnMoKS5maW5kKFxuICAgICAgKGMpID0+XG4gICAgICAgIGMubmFtZSA9PSBjb21tYW5kTmFtZSAmJlxuICAgICAgICAoKHRoaXMuc2VsZWN0ZWRJdGVtcygpLmxlbmd0aCA/IGMuc2NvcGUgPT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkIDogYy5zY29wZSA9PSBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCkgfHxcbiAgICAgICAgICBjLnNjb3BlID09IEFYUEVudGl0eUNvbW1hbmRTY29wZS5UeXBlTGV2ZWwpXG4gICAgKTtcbiAgICBhd2FpdCB0aGlzLndvcmtmbG93LmV4ZWN1dGUoY29tbWFuZE5hbWUsIHtcbiAgICAgIGVudGl0eTogdGhpcy5lbnRpdHlEZWYuc291cmNlLFxuICAgICAgZGF0YTogYWN0aW9uPy5zY29wZSA9PSBBWFBFbnRpdHlDb21tYW5kU2NvcGUuU2VsZWN0ZWQgPyB0aGlzLnNlbGVjdGVkSXRlbXMoKSA6IGRhdGEsXG4gICAgfSk7XG4gIH1cbiAgLy9cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUxpc3RWaWV3TW9kZWxGYWN0b3J5IHtcbiAgcHJpdmF0ZSBlbnRpdHlTZXJ2aWNlID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICBwcml2YXRlIGxheW91dCA9IGluamVjdChBWFBMYXlvdXRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgcHVibGljIGFzeW5jIGNyZWF0ZShtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZyk6IFByb21pc2U8QVhQRW50aXR5TWFzdGVyTGlzdFZpZXdNb2RlbD4ge1xuICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKHRydWUpO1xuICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IHRoaXMuZW50aXR5U2VydmljZS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcbiAgICByZXR1cm4gbmV3IEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3TW9kZWwodGhpcy5pbmplY3RvciwgY29uZmlnKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQVhQRW50aXR5TGlzdFZpZXdNb2RlbFJlc29sdmVyOiBSZXNvbHZlRm48UHJvbWlzZTxBWFBFbnRpdHlNYXN0ZXJMaXN0Vmlld01vZGVsPj4gPSAoXG4gIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgc2VydmljZTogQVhQRW50aXR5TGlzdFZpZXdNb2RlbEZhY3RvcnkgPSBpbmplY3QoQVhQRW50aXR5TGlzdFZpZXdNb2RlbEZhY3RvcnkpXG4pOiBQcm9taXNlPEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3TW9kZWw+ID0+IHtcbiAgY29uc3QgYXBwTmFtZSA9IHJvdXRlLnBhcmVudD8ucGFyYW1NYXAuZ2V0KCdhcHAnKSBhcyBzdHJpbmc7XG4gIGNvbnN0IG1vZHVsZU5hbWUgPSByb3V0ZS5wYXJlbnQ/LnBhcmFtTWFwLmdldCgnbW9kdWxlJykgYXMgc3RyaW5nO1xuICBjb25zdCBlbnRpdHlOYW1lID0gcm91dGUucGFyYW1NYXAuZ2V0KCdlbnRpdHknKSBhcyBzdHJpbmc7XG4gIC8vXG4gIHJldHVybiBzZXJ2aWNlLmNyZWF0ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcbn07XG4iXX0=