@wavemaker/app-ng-runtime 11.15.5-rc.259 → 11.15.6-1.647697

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 (60) hide show
  1. package/build-task/bundles/index.umd.js +1 -1
  2. package/build-task/esm2022/data/form/form-field/form-field.build.mjs +2 -2
  3. package/build-task/fesm2022/index.mjs +1 -1
  4. package/build-task/fesm2022/index.mjs.map +1 -1
  5. package/components/base/bundles/index.umd.js +4 -4
  6. package/components/base/esm2022/utils/widget-utils.mjs +5 -5
  7. package/components/base/fesm2022/index.mjs +5 -5
  8. package/components/base/fesm2022/index.mjs.map +1 -1
  9. package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +0 -2
  10. package/components/containers/accordion/bundles/index.umd.js +0 -5
  11. package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +1 -6
  12. package/components/containers/accordion/fesm2022/index.mjs +1 -6
  13. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  14. package/components/data/form/bundles/index.umd.js +2 -4
  15. package/components/data/form/esm2022/form-field/form-field.directive.mjs +3 -5
  16. package/components/data/form/fesm2022/index.mjs +2 -4
  17. package/components/data/form/fesm2022/index.mjs.map +1 -1
  18. package/components/data/pagination/bundles/index.umd.js +2 -2
  19. package/components/data/pagination/esm2022/pagination.component.mjs +3 -3
  20. package/components/data/pagination/fesm2022/index.mjs +2 -2
  21. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  22. package/components/data/table/bundles/index.umd.js +1 -8
  23. package/components/data/table/esm2022/table.component.mjs +2 -9
  24. package/components/data/table/fesm2022/index.mjs +1 -8
  25. package/components/data/table/fesm2022/index.mjs.map +1 -1
  26. package/components/dialogs/login-dialog/bundles/index.umd.js +1 -1
  27. package/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +2 -2
  28. package/components/dialogs/login-dialog/fesm2022/index.mjs +1 -1
  29. package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
  30. package/components/input/calendar/fesm2022/index.mjs +1 -1
  31. package/components/input/chips/fesm2022/index.mjs +1 -1
  32. package/components/input/dataset-aware-form/fesm2022/index.mjs +1 -1
  33. package/components/input/epoch/base-date-time/bundles/index.umd.js +1 -2
  34. package/components/input/epoch/base-date-time/esm2022/base-date-time.component.mjs +2 -3
  35. package/components/input/epoch/base-date-time/fesm2022/index.mjs +1 -2
  36. package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -1
  37. package/components/navigation/menu/fesm2022/index.mjs +1 -1
  38. package/core/bundles/index.umd.js +4 -0
  39. package/core/esm2022/utils/utils.mjs +5 -1
  40. package/core/fesm2022/index.mjs +4 -0
  41. package/core/fesm2022/index.mjs.map +1 -1
  42. package/npm-shrinkwrap.json +2 -2
  43. package/package-lock.json +2 -2
  44. package/package.json +1 -1
  45. package/runtime/base/bundles/index.umd.js +1 -1
  46. package/runtime/base/esm2022/services/app.manager.service.mjs +2 -2
  47. package/runtime/base/fesm2022/index.mjs +1 -1
  48. package/runtime/base/fesm2022/index.mjs.map +1 -1
  49. package/runtime/dynamic/fesm2022/index.mjs +2 -2
  50. package/scripts/datatable/datatable.js +1 -8
  51. package/transpiler/bundles/index.umd.js +2 -2
  52. package/transpiler/esm2022/build.mjs +3 -3
  53. package/transpiler/fesm2022/index.mjs +2 -2
  54. package/transpiler/fesm2022/index.mjs.map +1 -1
  55. package/variables/bundles/index.umd.js +10 -10
  56. package/variables/esm2022/constants/variables.constants.mjs +6 -6
  57. package/variables/esm2022/factory/variable-manager.factory.mjs +5 -5
  58. package/variables/esm2022/service/variables.service.mjs +2 -2
  59. package/variables/fesm2022/index.mjs +10 -10
  60. package/variables/fesm2022/index.mjs.map +1 -1
@@ -8,10 +8,10 @@ import { WebSocketVariableManager } from '../manager/variable/web-socket-variabl
8
8
  const managerMap = new Map(), typeToManagerMap = {
9
9
  'Variable': BaseVariableManager,
10
10
  'Action': BaseActionManager,
11
- 'wm.NavigationAction': NavigationActionManager,
12
- 'wm.NotificationAction': NotificationActionManager,
13
- 'wm.LoginAction': LoginActionManager,
14
- 'wm.LogoutAction': LogoutActionManager,
11
+ 'wm.NavigationVariable': NavigationActionManager,
12
+ 'wm.NotificationVariable': NotificationActionManager,
13
+ 'wm.LoginVariable': LoginActionManager,
14
+ 'wm.LogoutVariable': LogoutActionManager,
15
15
  'wm.WebSocketVariable': WebSocketVariableManager
16
16
  };
17
17
  export class VariableManagerFactory {
@@ -21,4 +21,4 @@ export class VariableManagerFactory {
21
21
  managerMap.set(type, new typeToManagerMap[type]()).get(type);
22
22
  }
23
23
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGUtbWFuYWdlci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFyaWFibGVzL3NyYy9mYWN0b3J5L3ZhcmlhYmxlLW1hbmFnZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNwRixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUV6RixNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBRSxFQUN4QixnQkFBZ0IsR0FBRztJQUNmLFVBQVUsRUFBRSxtQkFBbUI7SUFDL0IsUUFBUSxFQUFFLGlCQUFpQjtJQUMzQixxQkFBcUIsRUFBRSx1QkFBdUI7SUFDOUMsdUJBQXVCLEVBQUUseUJBQXlCO0lBQ2xELGdCQUFnQixFQUFFLGtCQUFrQjtJQUNwQyxpQkFBaUIsRUFBRSxtQkFBbUI7SUFDdEMsc0JBQXNCLEVBQUUsd0JBQXdCO0NBQ25ELENBQUM7QUFFTixNQUFNLE9BQU8sc0JBQXNCO0lBRS9CLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSTtRQUNYLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN0QixVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOYXZpZ2F0aW9uQWN0aW9uTWFuYWdlcn0gZnJvbSAnLi4vbWFuYWdlci9hY3Rpb24vbmF2aWdhdGlvbi1hY3Rpb24ubWFuYWdlcic7XG5pbXBvcnQge05vdGlmaWNhdGlvbkFjdGlvbk1hbmFnZXJ9IGZyb20gJy4uL21hbmFnZXIvYWN0aW9uL25vdGlmaWNhdGlvbi1hY3Rpb24ubWFuYWdlcic7XG5pbXBvcnQge0Jhc2VWYXJpYWJsZU1hbmFnZXJ9IGZyb20gJy4uL21hbmFnZXIvdmFyaWFibGUvYmFzZS12YXJpYWJsZS5tYW5hZ2VyJztcbmltcG9ydCB7QmFzZUFjdGlvbk1hbmFnZXJ9IGZyb20gJy4uL21hbmFnZXIvYWN0aW9uL2Jhc2UtYWN0aW9uLm1hbmFnZXInO1xuaW1wb3J0IHtMb2dpbkFjdGlvbk1hbmFnZXJ9IGZyb20gJy4uL21hbmFnZXIvYWN0aW9uL2xvZ2luLWFjdGlvbi5tYW5hZ2VyJztcbmltcG9ydCB7TG9nb3V0QWN0aW9uTWFuYWdlcn0gZnJvbSAnLi4vbWFuYWdlci9hY3Rpb24vbG9nb3V0LWFjdGlvbi5tYW5hZ2VyJztcbmltcG9ydCB7V2ViU29ja2V0VmFyaWFibGVNYW5hZ2VyfSBmcm9tICcuLi9tYW5hZ2VyL3ZhcmlhYmxlL3dlYi1zb2NrZXQtdmFyaWFibGUubWFuYWdlcic7XG5cbmNvbnN0IG1hbmFnZXJNYXAgPSBuZXcgTWFwKCksXG4gICAgdHlwZVRvTWFuYWdlck1hcCA9IHtcbiAgICAgICAgJ1ZhcmlhYmxlJzogQmFzZVZhcmlhYmxlTWFuYWdlcixcbiAgICAgICAgJ0FjdGlvbic6IEJhc2VBY3Rpb25NYW5hZ2VyLFxuICAgICAgICAnd20uTmF2aWdhdGlvbkFjdGlvbic6IE5hdmlnYXRpb25BY3Rpb25NYW5hZ2VyLFxuICAgICAgICAnd20uTm90aWZpY2F0aW9uQWN0aW9uJzogTm90aWZpY2F0aW9uQWN0aW9uTWFuYWdlcixcbiAgICAgICAgJ3dtLkxvZ2luQWN0aW9uJzogTG9naW5BY3Rpb25NYW5hZ2VyLFxuICAgICAgICAnd20uTG9nb3V0QWN0aW9uJzogTG9nb3V0QWN0aW9uTWFuYWdlcixcbiAgICAgICAgJ3dtLldlYlNvY2tldFZhcmlhYmxlJzogV2ViU29ja2V0VmFyaWFibGVNYW5hZ2VyXG4gICAgfTtcblxuZXhwb3J0IGNsYXNzIFZhcmlhYmxlTWFuYWdlckZhY3Rvcnkge1xuXG4gICAgc3RhdGljIGdldCh0eXBlKSB7XG4gICAgICAgIHJldHVybiBtYW5hZ2VyTWFwLmhhcyh0eXBlKSA/XG4gICAgICAgICAgICBtYW5hZ2VyTWFwLmdldCh0eXBlKSA6XG4gICAgICAgICAgICBtYW5hZ2VyTWFwLnNldCh0eXBlLCBuZXcgdHlwZVRvTWFuYWdlck1hcFt0eXBlXSgpKS5nZXQodHlwZSk7XG4gICAgfVxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGUtbWFuYWdlci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFyaWFibGVzL3NyYy9mYWN0b3J5L3ZhcmlhYmxlLW1hbmFnZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUUzRixNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBRSxFQUN4QixnQkFBZ0IsR0FBRztJQUNmLFVBQVUsRUFBRSxtQkFBbUI7SUFDL0IsUUFBUSxFQUFFLGlCQUFpQjtJQUMzQix1QkFBdUIsRUFBRSx1QkFBdUI7SUFDaEQseUJBQXlCLEVBQUUseUJBQXlCO0lBQ3BELGtCQUFrQixFQUFFLGtCQUFrQjtJQUN0QyxtQkFBbUIsRUFBRSxtQkFBbUI7SUFDeEMsc0JBQXNCLEVBQUUsd0JBQXdCO0NBQ25ELENBQUM7QUFFTixNQUFNLE9BQU8sc0JBQXNCO0lBRS9CLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSTtRQUNYLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN0QixVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2aWdhdGlvbkFjdGlvbk1hbmFnZXIgfSBmcm9tICcuLi9tYW5hZ2VyL2FjdGlvbi9uYXZpZ2F0aW9uLWFjdGlvbi5tYW5hZ2VyJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkFjdGlvbk1hbmFnZXIgfSBmcm9tICcuLi9tYW5hZ2VyL2FjdGlvbi9ub3RpZmljYXRpb24tYWN0aW9uLm1hbmFnZXInO1xuaW1wb3J0IHsgQmFzZVZhcmlhYmxlTWFuYWdlciB9IGZyb20gJy4uL21hbmFnZXIvdmFyaWFibGUvYmFzZS12YXJpYWJsZS5tYW5hZ2VyJztcbmltcG9ydCB7IEJhc2VBY3Rpb25NYW5hZ2VyIH0gZnJvbSAnLi4vbWFuYWdlci9hY3Rpb24vYmFzZS1hY3Rpb24ubWFuYWdlcic7XG5pbXBvcnQgeyBMb2dpbkFjdGlvbk1hbmFnZXIgfSBmcm9tICcuLi9tYW5hZ2VyL2FjdGlvbi9sb2dpbi1hY3Rpb24ubWFuYWdlcic7XG5pbXBvcnQgeyBMb2dvdXRBY3Rpb25NYW5hZ2VyIH0gZnJvbSAnLi4vbWFuYWdlci9hY3Rpb24vbG9nb3V0LWFjdGlvbi5tYW5hZ2VyJztcbmltcG9ydCB7IFdlYlNvY2tldFZhcmlhYmxlTWFuYWdlciB9IGZyb20gJy4uL21hbmFnZXIvdmFyaWFibGUvd2ViLXNvY2tldC12YXJpYWJsZS5tYW5hZ2VyJztcblxuY29uc3QgbWFuYWdlck1hcCA9IG5ldyBNYXAoKSxcbiAgICB0eXBlVG9NYW5hZ2VyTWFwID0ge1xuICAgICAgICAnVmFyaWFibGUnOiBCYXNlVmFyaWFibGVNYW5hZ2VyLFxuICAgICAgICAnQWN0aW9uJzogQmFzZUFjdGlvbk1hbmFnZXIsXG4gICAgICAgICd3bS5OYXZpZ2F0aW9uVmFyaWFibGUnOiBOYXZpZ2F0aW9uQWN0aW9uTWFuYWdlcixcbiAgICAgICAgJ3dtLk5vdGlmaWNhdGlvblZhcmlhYmxlJzogTm90aWZpY2F0aW9uQWN0aW9uTWFuYWdlcixcbiAgICAgICAgJ3dtLkxvZ2luVmFyaWFibGUnOiBMb2dpbkFjdGlvbk1hbmFnZXIsXG4gICAgICAgICd3bS5Mb2dvdXRWYXJpYWJsZSc6IExvZ291dEFjdGlvbk1hbmFnZXIsXG4gICAgICAgICd3bS5XZWJTb2NrZXRWYXJpYWJsZSc6IFdlYlNvY2tldFZhcmlhYmxlTWFuYWdlclxuICAgIH07XG5cbmV4cG9ydCBjbGFzcyBWYXJpYWJsZU1hbmFnZXJGYWN0b3J5IHtcblxuICAgIHN0YXRpYyBnZXQodHlwZSkge1xuICAgICAgICByZXR1cm4gbWFuYWdlck1hcC5oYXModHlwZSkgP1xuICAgICAgICAgICAgbWFuYWdlck1hcC5nZXQodHlwZSkgOlxuICAgICAgICAgICAgbWFuYWdlck1hcC5zZXQodHlwZSwgbmV3IHR5cGVUb01hbmFnZXJNYXBbdHlwZV0oKSkuZ2V0KHR5cGUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -161,7 +161,7 @@ export class VariablesService {
161
161
  varInstance.simulateFileDownload = simulateFileDownload;
162
162
  }
163
163
  }
164
- if (this.isVariableSeperated(variablesJson, variableName) || variablesJson[variableName].category === 'wm.TimerAction') {
164
+ if (this.isVariableSeperated(variablesJson, variableName) || variablesJson[variableName].category === 'wm.TimerVariable') {
165
165
  for (const e in VARIABLE_CONSTANTS.EVENT) {
166
166
  if (varInstance[VARIABLE_CONSTANTS.EVENT[e]]) {
167
167
  varInstance[VARIABLE_CONSTANTS.EVENT[e]] = $parseEvent(varInstance[VARIABLE_CONSTANTS.EVENT[e]]);
@@ -197,4 +197,4 @@ export class VariablesService {
197
197
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: VariablesService, decorators: [{
198
198
  type: Injectable
199
199
  }], ctorParameters: () => [{ type: i1.AbstractHttpService }, { type: i2.MetadataService }, { type: i1.AbstractNavigationService }, { type: i3.Router }, { type: i1.AbstractToasterService }, { type: i4.OAuthService }, { type: i5.SecurityService }, { type: i1.AbstractDialogService }] });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy92YXJpYWJsZXMvc3JjL3NlcnZpY2UvdmFyaWFibGVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUNILE1BQU0sRUFDTixXQUFXLEVBQ1gscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUUsZUFBZSxFQUNwRSxNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0SSxPQUFPLEVBQUMsYUFBYSxFQUFFLG9CQUFvQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUU1RCxPQUFPLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7O0FBRWhFLE1BQU0sT0FBTyxTQUFTO0lBQ2xCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTTtRQUNoQixPQUFRLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoRSxDQUFDO0NBQ0o7QUFJRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLFlBQ1ksV0FBZ0MsRUFDaEMsZUFBZ0MsRUFDaEMsaUJBQTRDLEVBQzVDLGFBQXFCLEVBQ3JCLGNBQXNDLEVBQ3RDLFlBQTBCLEVBQzFCLGVBQWdDLEVBQ2hDLGFBQW9DO1FBUHBDLGdCQUFXLEdBQVgsV0FBVyxDQUFxQjtRQUNoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEyQjtRQUM1QyxrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUNyQixtQkFBYyxHQUFkLGNBQWMsQ0FBd0I7UUFDdEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQUU1QyxvRkFBb0Y7UUFDcEYsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsYUFBYSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDaEQsYUFBYSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNELGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzVDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hELGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzVDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2xELGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2xELGVBQWUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLFVBQVU7UUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbkMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUM5QixRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtCQUFrQixDQUFDLFVBQVU7UUFDekIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUNkLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ2xCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QixNQUFNLENBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUM7YUFDN0QsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQ3RDLENBQUM7SUFDVixDQUFDO0lBRUQsY0FBYyxDQUFDLENBQU0sRUFBRSxLQUFVLEVBQUUsUUFBUTtRQUN2QyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQzVCLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQzFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNoRCxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ0osSUFBSSxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDeEMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNuSyxDQUFDLEdBQUcsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztZQUN6RyxDQUFDO2lCQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQy9CLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzNELElBQUksT0FBTyxJQUFJLElBQUksS0FBSyxhQUFhLEVBQUUsQ0FBQztvQkFDcEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO3dCQUN0QyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUMzQyxDQUFDO29CQUNELEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0RixDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPO1lBQ0gsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNO1lBQ2QsS0FBSyxFQUFFLENBQUM7U0FDWCxDQUFDO0lBQ04sQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFhLEVBQUUsT0FBWSxFQUFFLFVBQW1CLEVBQUUsVUFBbUI7UUFDaEYsVUFBVSxHQUFHLFVBQVUsSUFBSSxhQUFhLENBQUM7UUFDekMsVUFBVSxHQUFHLFVBQVUsSUFBSSxhQUFhLENBQUM7UUFFekMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDMUIsUUFBUSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU87UUFDWCxDQUFDO1FBQ0QsT0FBTyxDQUFDLE9BQU8sQ0FBRSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RCLDJJQUEySTtZQUMzSSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEtBQUssYUFBYSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssYUFBYSxFQUFFLENBQUM7Z0JBQ3ZFLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1lBQzVCLENBQUM7WUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsYUFBYSxFQUFFLFlBQVk7UUFDM0MsT0FBTyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxLQUFLLGFBQWEsSUFBSSxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxLQUFLLG9CQUFvQjtZQUMxSCxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxLQUFLLGlCQUFpQixJQUFJLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLEtBQUssaUJBQWlCLENBQUE7SUFDaEksQ0FBQztJQUVELG1CQUFtQixDQUFDLFFBQVE7UUFDeEIsSUFBSSxRQUFRLENBQUMsUUFBUSxLQUFLLGlCQUFpQixFQUFFLENBQUM7WUFDMUMsT0FBTyxRQUFRLENBQUMsU0FBUyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUUsQ0FBQzthQUFNLElBQUksUUFBUSxDQUFDLFFBQVEsS0FBSyxrQkFBa0IsRUFBRSxDQUFDO1lBQ2xELE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxhQUFhLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILFFBQVEsQ0FBQyxJQUFZLEVBQUUsYUFBa0IsRUFBRSxLQUFVO1FBQ2pELE1BQU0saUJBQWlCLEdBQUc7WUFDdEIsU0FBUyxFQUFFLEVBQUU7WUFDYixPQUFPLEVBQUUsRUFBRTtZQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1NBQ3BDLENBQUM7UUFDRixJQUFJLFdBQVcsQ0FBQztRQUVoQixLQUFLLE1BQU0sWUFBWSxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztZQUN2QixXQUFXLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekUsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDO2dCQUN4RCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUM5RixXQUFXLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQzNDLFdBQVcsQ0FBQyxhQUFhLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDNUMsd0dBQXdHO2dCQUN4RyxNQUFNLHNCQUFzQixHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNqRywyREFBMkQ7Z0JBQzNELElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztvQkFDbkMsV0FBVyxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztnQkFDekMsQ0FBQztnQkFDRCxXQUFXLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7Z0JBQzdELElBQUksV0FBVyxDQUFDLFFBQVEsS0FBSyxpQkFBaUIsSUFBSSxXQUFXLENBQUMsU0FBUyxLQUFLLE1BQU0sRUFBRSxDQUFDO29CQUNqRix3QkFBd0IsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDL0YsQ0FBQztnQkFDRCxJQUFJLFdBQVcsQ0FBQyxRQUFRLEtBQUssaUJBQWlCLElBQUksV0FBVyxDQUFDLFFBQVEsS0FBSyxvQkFBb0IsRUFBRSxDQUFDO29CQUM5RixXQUFXLENBQUMsb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7Z0JBQzVELENBQUM7WUFFTCxDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxJQUFJLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztnQkFDckgsS0FBSyxNQUFNLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDdkMsSUFBSSxXQUFXLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDM0MsV0FBVyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDckcsQ0FBQztnQkFDTCxDQUFDO1lBQ0wsQ0FBQztZQUdBLDhDQUE4QztZQUM5QyxJQUFJLFdBQVcsWUFBWSxVQUFVLEVBQUUsQ0FBQztnQkFDcEMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLFdBQVcsQ0FBQztZQUMxRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osaUJBQWlCLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxHQUFHLFdBQVcsQ0FBQztZQUM1RCxDQUFDO1FBQ0wsQ0FBQztRQUVELGlHQUFpRztRQUNqRyxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ2hDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBRUQsT0FBTyxpQkFBaUIsQ0FBQztJQUM3QixDQUFDO0lBRUQsT0FBTztJQUNQLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsR0FBRztRQUN4QixhQUFhLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLGVBQWUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQzsrR0E1TFEsZ0JBQWdCO21IQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1xuICAgICR3YXRjaCxcbiAgICAkcGFyc2VFdmVudCxcbiAgICBBYnN0cmFjdERpYWxvZ1NlcnZpY2UsXG4gICAgQWJzdHJhY3RIdHRwU2VydmljZSxcbiAgICBBYnN0cmFjdE5hdmlnYXRpb25TZXJ2aWNlLFxuICAgIEFic3RyYWN0VG9hc3RlclNlcnZpY2UsIHByb2Nlc3NGaWx0ZXJFeHBCaW5kTm9kZSwgJGludm9rZVdhdGNoZXJzLCBnZXRDbG9uZWRPYmplY3Rcbn0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnQHdtL29BdXRoJztcbmltcG9ydCB7IFNlY3VyaXR5U2VydmljZSB9IGZyb20gJ0B3bS9zZWN1cml0eSc7XG5cbmltcG9ydCB7IFZhcmlhYmxlRmFjdG9yeSB9IGZyb20gJy4uL2ZhY3RvcnkvdmFyaWFibGUuZmFjdG9yeSc7XG5pbXBvcnQgeyB3bVNldERlcGVuZGVuY3ksIEJhc2VBY3Rpb24sIGdldFRhcmdldCwgc2V0VmFsdWVUb05vZGUsIGdldFRhcmdldE5vZGVLZXksIGludGVybmFsQm91bmROb2RlTWFwIH0gZnJvbSAnQHdhdmVtYWtlci92YXJpYWJsZXMnO1xuaW1wb3J0IHtzZXREZXBlbmRlbmN5LCBzaW11bGF0ZUZpbGVEb3dubG9hZH0gZnJvbSAnLi4vdXRpbC92YXJpYWJsZS92YXJpYWJsZXMudXRpbHMnO1xuaW1wb3J0IHsgTWV0YWRhdGFTZXJ2aWNlIH0gZnJvbSAnLi9tZXRhZGF0YS1zZXJ2aWNlL21ldGFkYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgVkFSSUFCTEVfQ09OU1RBTlRTIH0gZnJvbSAnLi4vY29uc3RhbnRzL3ZhcmlhYmxlcy5jb25zdGFudHMnO1xuaW1wb3J0IHthcHBNYW5hZ2VyfSBmcm9tICcuLi91dGlsL3ZhcmlhYmxlL3ZhcmlhYmxlcy51dGlscyc7XG5pbXBvcnQgeyBEYXRlRm9ybWF0dGVyIH0gZnJvbSAnQHdhdmVtYWtlci92YXJpYWJsZXMnO1xuaW1wb3J0IHtpc0FycmF5LCBpc0Z1bmN0aW9uLCBpc1VuZGVmaW5lZCwgc2V0fSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmV4cG9ydCBjbGFzcyBGb3JtYXR0ZXIgaW1wbGVtZW50cyBEYXRlRm9ybWF0dGVyIHtcbiAgICBmb3JtYXQodmFsdWUsIGZvcm1hdCkge1xuICAgICAgICByZXR1cm4gIGFwcE1hbmFnZXIuZ2V0UGlwZSgnZGF0ZScpLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0KTtcbiAgICB9XG59XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFZhcmlhYmxlc1NlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cFNlcnZpY2U6IEFic3RyYWN0SHR0cFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbWV0YWRhdGFTZXJ2aWNlOiBNZXRhZGF0YVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbmF2aWdhdGlvblNlcnZpY2U6IEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGVyU2VydmljZTogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBBYnN0cmFjdFRvYXN0ZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG9BdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlY3VyaXR5U2VydmljZTogU2VjdXJpdHlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IEFic3RyYWN0RGlhbG9nU2VydmljZVxuICAgICkge1xuICAgICAgICAvLyBzZXQgZXh0ZXJuYWwgZGVwZW5kZW5jaWVzLCB0byBiZSB1c2VkIGFjcm9zcyB2YXJpYWJsZSBjbGFzc2VzLCBtYW5hZ2VycyBhbmQgdXRpbHNcbiAgICAgICAgc2V0RGVwZW5kZW5jeSgnaHR0cCcsIHRoaXMuaHR0cFNlcnZpY2UpO1xuICAgICAgICBzZXREZXBlbmRlbmN5KCdtZXRhZGF0YScsIHRoaXMubWV0YWRhdGFTZXJ2aWNlKTtcbiAgICAgICAgc2V0RGVwZW5kZW5jeSgnbmF2aWdhdGlvblNlcnZpY2UnLCB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgICAgICAgc2V0RGVwZW5kZW5jeSgncm91dGVyJywgdGhpcy5yb3V0ZXJTZXJ2aWNlKTtcbiAgICAgICAgc2V0RGVwZW5kZW5jeSgndG9hc3RlcicsIHRoaXMudG9hc3RlclNlcnZpY2UpO1xuICAgICAgICBzZXREZXBlbmRlbmN5KCdvQXV0aCcsIHRoaXMub0F1dGhTZXJ2aWNlKTtcbiAgICAgICAgc2V0RGVwZW5kZW5jeSgnc2VjdXJpdHknLCB0aGlzLnNlY3VyaXR5U2VydmljZSk7XG4gICAgICAgIHNldERlcGVuZGVuY3koJ2RpYWxvZycsIHRoaXMuZGlhbG9nU2VydmljZSk7XG4gICAgICAgIHdtU2V0RGVwZW5kZW5jeSgnb0F1dGgnLCB0aGlzLm9BdXRoU2VydmljZSk7XG4gICAgICAgIHdtU2V0RGVwZW5kZW5jeSgnc2VjdXJpdHknLCB0aGlzLnNlY3VyaXR5U2VydmljZSk7XG4gICAgICAgIHdtU2V0RGVwZW5kZW5jeSgnbWV0YWRhdGEnLCB0aGlzLm1ldGFkYXRhU2VydmljZSk7XG4gICAgICAgIHdtU2V0RGVwZW5kZW5jeSgnaHR0cCcsIHRoaXMuaHR0cFNlcnZpY2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGxvb3AgdGhyb3VnaCBhIGNvbGxlY3Rpb24gb2YgdmFyaWFibGVzL2FjdGlvbnNcbiAgICAgKiB0cmlnZ2VyIGNhbmNlbCBvbiBlYWNoIChvZiBleGlzdHMpXG4gICAgICogQHBhcmFtIGNvbGxlY3Rpb25cbiAgICAgKi9cbiAgICBidWxrQ2FuY2VsKGNvbGxlY3Rpb24pIHtcbiAgICAgICAgT2JqZWN0LmtleXMoY29sbGVjdGlvbikuZm9yRWFjaChuYW1lID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlID0gY29sbGVjdGlvbltuYW1lXTtcbiAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKHZhcmlhYmxlLmNhbmNlbCkpIHtcbiAgICAgICAgICAgICAgICB2YXJpYWJsZS5jYW5jZWwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbG9vcHMgb3ZlciB0aGUgdmFyaWFibGUvYWN0aW9ucyBjb2xsZWN0aW9uIGFuZCB0cmlnZ2VyIGludm9rZSBvbiBpdCBpZiBzdGFydFVwZGF0ZSBvbiBpdCBpcyB0cnVlXG4gICAgICogQHBhcmFtIGNvbGxlY3Rpb25cbiAgICAgKi9cbiAgICB0cmlnZ2VyU3RhcnRVcGRhdGUoY29sbGVjdGlvbikge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhjb2xsZWN0aW9uKVxuICAgICAgICAgICAgICAgIC5tYXAobmFtZSA9PiBjb2xsZWN0aW9uW25hbWVdKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoIHZhcmlhYmxlID0+IHZhcmlhYmxlPy5zdGFydFVwZGF0ZSAmJiB2YXJpYWJsZS5pbnZva2UpXG4gICAgICAgICAgICAgICAgLm1hcCh2YXJpYWJsZSA9PiB2YXJpYWJsZS5pbnZva2UoKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvY2Vzc0JpbmRFeHAoZDogYW55LCBzY29wZTogYW55LCB2YXJpYWJsZSkge1xuICAgICAgICBjb25zdCByb290ID0gZ2V0VGFyZ2V0KHZhcmlhYmxlKSxcbiAgICAgICAgICAgIHRhcmdldE5vZGVLZXkgPSBnZXRUYXJnZXROb2RlS2V5KGQudGFyZ2V0KSxcbiAgICAgICAgICAgIHJ1bk1vZGUgPSB0cnVlO1xuICAgICAgICBsZXQgdiA9IGlzQXJyYXkoZC52YWx1ZSkgPyBkLnZhbHVlWzBdIDogZC52YWx1ZTtcbiAgICAgICAgaWYgKHYpIHtcbiAgICAgICAgICAgIGlmICh2LnN0YXJ0c1dpdGggJiYgdi5zdGFydHNXaXRoKCdiaW5kOicpKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgd2F0Y2hFeHByZXNzaW9uID0gJHdhdGNoKHYucmVwbGFjZSgnYmluZDonLCAnJyksIHNjb3BlLCB7fSwgdmFyaWFibGUuaW52b2tlT25QYXJhbUNoYW5nZS5iaW5kKHZhcmlhYmxlLCBkKSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGQsICgpID0+IHZhcmlhYmxlLmlzTXV0ZWQpO1xuICAgICAgICAgICAgICAgIHYgPSBzY29wZS5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lciA/IHNjb3BlLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKHdhdGNoRXhwcmVzc2lvbikgOiB3YXRjaEV4cHJlc3Npb247XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFpc1VuZGVmaW5lZChkLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHNldFZhbHVlVG9Ob2RlKGQudGFyZ2V0LCBkLCByb290LCB2YXJpYWJsZSwgZC52YWx1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKHJ1bk1vZGUgJiYgcm9vdCAhPT0gdGFyZ2V0Tm9kZUtleSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWludGVybmFsQm91bmROb2RlTWFwLmhhcyh2YXJpYWJsZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGludGVybmFsQm91bmROb2RlTWFwLnNldCh2YXJpYWJsZSwge30pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNldChpbnRlcm5hbEJvdW5kTm9kZU1hcC5nZXQodmFyaWFibGUpLCBbdmFyaWFibGUubmFtZSwgcm9vdCwgZC50YXJnZXRdLCBkLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IGQudGFyZ2V0LFxuICAgICAgICAgICAgdmFsdWU6IHZcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcm9jZXNzQmluZGluZyh2YXJpYWJsZTogYW55LCBjb250ZXh0OiBhbnksIGJpbmRTb3VyY2U/OiBzdHJpbmcsIGJpbmRUYXJnZXQ/OiBzdHJpbmcpIHtcbiAgICAgICAgYmluZFNvdXJjZSA9IGJpbmRTb3VyY2UgfHwgJ2RhdGFCaW5kaW5nJztcbiAgICAgICAgYmluZFRhcmdldCA9IGJpbmRUYXJnZXQgfHwgJ2RhdGFCaW5kaW5nJztcblxuICAgICAgICBjb25zdCBiaW5kTWFwID0gdmFyaWFibGVbYmluZFNvdXJjZV07XG4gICAgICAgIHZhcmlhYmxlW2JpbmRTb3VyY2VdID0ge307XG4gICAgICAgIHZhcmlhYmxlWydfYmluZCcgKyBiaW5kU291cmNlXSA9IGJpbmRNYXA7XG4gICAgICAgIGlmICghYmluZE1hcCB8fCAhaXNBcnJheShiaW5kTWFwKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGJpbmRNYXAuZm9yRWFjaCggKG5vZGUpID0+IHtcbiAgICAgICAgICAgIC8qIGZvciBzdGF0aWMgdmFyaWFibGUgY2hhbmdlIHRoZSBiaW5kaW5nIHdpdGggdGFyZ2V0ICdkYXRhQmluZGluZycgdG8gJ2RhdGFTZXQnLCBhcyB0aGUgcmVzdWx0cyBoYXZlIHRvIHJlZmxlY3QgZGlyZWN0bHkgaW4gdGhlIGRhdGFTZXQgKi9cbiAgICAgICAgICAgIGlmICh2YXJpYWJsZS5jYXRlZ29yeSA9PT0gJ3dtLlZhcmlhYmxlJyAmJiBub2RlLnRhcmdldCA9PT0gJ2RhdGFCaW5kaW5nJykge1xuICAgICAgICAgICAgICAgIG5vZGUudGFyZ2V0ID0gJ2RhdGFTZXQnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5wcm9jZXNzQmluZEV4cChub2RlLCBjb250ZXh0LCB2YXJpYWJsZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGlzVmFyaWFibGVTZXBlcmF0ZWQodmFyaWFibGVzSnNvbiwgdmFyaWFibGVOYW1lKSB7XG4gICAgICAgIHJldHVybiB2YXJpYWJsZXNKc29uW3ZhcmlhYmxlTmFtZV0uY2F0ZWdvcnkgPT09ICd3bS5WYXJpYWJsZScgfHwgdmFyaWFibGVzSnNvblt2YXJpYWJsZU5hbWVdLmNhdGVnb3J5ID09PSAnd20uU2VydmljZVZhcmlhYmxlJyB8fFxuICAgICAgICAgICAgdmFyaWFibGVzSnNvblt2YXJpYWJsZU5hbWVdLmNhdGVnb3J5ID09PSAnd20uTGl2ZVZhcmlhYmxlJyB8fCB2YXJpYWJsZXNKc29uW3ZhcmlhYmxlTmFtZV0uY2F0ZWdvcnkgPT09ICd3bS5DcnVkVmFyaWFibGUnXG4gICAgfVxuXG4gICAgZ2V0QmluZFNvdXJjZVRhcmdldCh2YXJpYWJsZSkge1xuICAgICAgICBpZiAodmFyaWFibGUuY2F0ZWdvcnkgPT09ICd3bS5MaXZlVmFyaWFibGUnKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFyaWFibGUub3BlcmF0aW9uID09PSAncmVhZCcgPyAnZmlsdGVyRmllbGRzJyA6ICdpbnB1dEZpZWxkcyc7XG4gICAgICAgIH0gZWxzZSBpZiAodmFyaWFibGUuY2F0ZWdvcnkgPT09ICd3bS5Nb2RlbFZhcmlhYmxlJykge1xuICAgICAgICAgICAgcmV0dXJuICdkYXRhU2V0JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnZGF0YUJpbmRpbmcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGFrZXMgdGhlIHJhdyB2YXJpYWJsZXMgYW5kIGFjdGlvbnMganNvbiBhcyBpbnB1dFxuICAgICAqIEluaXRpYWxpemUgdGhlIHZhcmlhYmxlIGFuZCBhY3Rpb24gaW5zdGFuY2VzIHRocm91Z2ggdGhlIGZhY3RvcnlcbiAgICAgKiBjb2xsZWN0IHRoZSB2YXJpYWJsZXMgYW5kIGFjdGlvbnMgaW4gc2VwYXJhdGUgbWFwcyBhbmQgcmV0dXJuIHRoZSBjb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHBhZ2VcbiAgICAgKiBAcGFyYW0gdmFyaWFibGVzSnNvblxuICAgICAqIEBwYXJhbSBzY29wZVxuICAgICAqIEByZXR1cm5zIHtWYXJpYWJsZXMgLCBBY3Rpb25zfVxuICAgICAqL1xuICAgIHJlZ2lzdGVyKHBhZ2U6IHN0cmluZywgdmFyaWFibGVzSnNvbjogYW55LCBzY29wZTogYW55KSB7XG4gICAgICAgIGNvbnN0IHZhcmlhYmxlSW5zdGFuY2VzID0ge1xuICAgICAgICAgICAgVmFyaWFibGVzOiB7fSxcbiAgICAgICAgICAgIEFjdGlvbnM6IHt9LFxuICAgICAgICAgICAgY2FsbGJhY2s6IHRoaXMudHJpZ2dlclN0YXJ0VXBkYXRlXG4gICAgICAgIH07XG4gICAgICAgIGxldCB2YXJJbnN0YW5jZTtcblxuICAgICAgICBmb3IgKGNvbnN0IHZhcmlhYmxlTmFtZSBpbiB2YXJpYWJsZXNKc29uKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXM6IGFueSA9IHt9O1xuICAgICAgICAgICAgdmFySW5zdGFuY2UgPSBWYXJpYWJsZUZhY3RvcnkuY3JlYXRlKHZhcmlhYmxlc0pzb25bdmFyaWFibGVOYW1lXSwgc2NvcGUpO1xuICAgICAgICAgICAgdmFySW5zdGFuY2UuaW5pdCgpO1xuICAgICAgICAgICBpZiAodGhpcy5pc1ZhcmlhYmxlU2VwZXJhdGVkKHZhcmlhYmxlc0pzb24sIHZhcmlhYmxlTmFtZSkpIHtcbiAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0JpbmRpbmcodmFySW5zdGFuY2UsIHNjb3BlLCAnZGF0YUJpbmRpbmcnLCB0aGlzLmdldEJpbmRTb3VyY2VUYXJnZXQodmFySW5zdGFuY2UpKTtcbiAgICAgICAgICAgICAgIHZhckluc3RhbmNlLmh0dHBTZXJ2aWNlID0gdGhpcy5odHRwU2VydmljZTtcbiAgICAgICAgICAgICAgIHZhckluc3RhbmNlLmRhdGVGb3JtYXR0ZXIgPSBuZXcgRm9ybWF0dGVyKCk7XG4gICAgICAgICAgICAgICAvLyBNRU1PUlkgTEVBSyBGSVg6IFN0b3JlIHN1YnNjcmlwdGlvbiB1bnN1YnNjcmliZSBmdW5jdGlvbiAoY2xlYW51cCBoYW5kbGVkIGJ5IHJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKVxuICAgICAgICAgICAgICAgY29uc3QgYWZ0ZXJJbnZva2VVbnN1YnNjcmliZSA9IHZhckluc3RhbmNlLnN1YnNjcmliZSgnYWZ0ZXJJbnZva2UnLCAoKSA9PiAkaW52b2tlV2F0Y2hlcnModHJ1ZSkpO1xuICAgICAgICAgICAgICAgLy8gU3RvcmUgb24gdmFyaWFibGUgZm9yIHBvdGVudGlhbCBtYW51YWwgY2xlYW51cCBpZiBuZWVkZWRcbiAgICAgICAgICAgICAgIGlmICghdmFySW5zdGFuY2UuX2V2ZW50U3Vic2NyaXB0aW9ucykge1xuICAgICAgICAgICAgICAgICAgIHZhckluc3RhbmNlLl9ldmVudFN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIHZhckluc3RhbmNlLl9ldmVudFN1YnNjcmlwdGlvbnMucHVzaChhZnRlckludm9rZVVuc3Vic2NyaWJlKTtcbiAgICAgICAgICAgICAgIGlmICh2YXJJbnN0YW5jZS5jYXRlZ29yeSA9PT0gJ3dtLkxpdmVWYXJpYWJsZScgJiYgdmFySW5zdGFuY2Uub3BlcmF0aW9uID09PSAncmVhZCcpIHtcbiAgICAgICAgICAgICAgICAgICBwcm9jZXNzRmlsdGVyRXhwQmluZE5vZGUodmFySW5zdGFuY2UuX2NvbnRleHQsIHZhckluc3RhbmNlLmZpbHRlckV4cHJlc3Npb25zLCB2YXJJbnN0YW5jZSk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBpZiAodmFySW5zdGFuY2UuY2F0ZWdvcnkgPT09ICd3bS5DcnVkVmFyaWFibGUnIHx8IHZhckluc3RhbmNlLmNhdGVnb3J5ID09PSAnd20uU2VydmljZVZhcmlhYmxlJykge1xuICAgICAgICAgICAgICAgICAgIHZhckluc3RhbmNlLnNpbXVsYXRlRmlsZURvd25sb2FkID0gc2ltdWxhdGVGaWxlRG93bmxvYWQ7XG4gICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgfVxuXG4gICAgICAgICAgIGlmICh0aGlzLmlzVmFyaWFibGVTZXBlcmF0ZWQodmFyaWFibGVzSnNvbiwgdmFyaWFibGVOYW1lKSB8fCB2YXJpYWJsZXNKc29uW3ZhcmlhYmxlTmFtZV0uY2F0ZWdvcnkgPT09ICd3bS5UaW1lckFjdGlvbicpIHtcbiAgICAgICAgICAgICAgIGZvciAoY29uc3QgZSBpbiBWQVJJQUJMRV9DT05TVEFOVFMuRVZFTlQpIHtcbiAgICAgICAgICAgICAgICAgICBpZiAodmFySW5zdGFuY2VbVkFSSUFCTEVfQ09OU1RBTlRTLkVWRU5UW2VdXSkge1xuICAgICAgICAgICAgICAgICAgICAgICB2YXJJbnN0YW5jZVtWQVJJQUJMRV9DT05TVEFOVFMuRVZFTlRbZV1dID0gJHBhcnNlRXZlbnQodmFySW5zdGFuY2VbVkFSSUFCTEVfQ09OU1RBTlRTLkVWRU5UW2VdXSk7XG4gICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLy8gaWYgYWN0aW9uIHR5cGUsIHB1dCBpdCBpbiBBY3Rpb25zIG5hbWVzcGFjZVxuICAgICAgICAgICAgaWYgKHZhckluc3RhbmNlIGluc3RhbmNlb2YgQmFzZUFjdGlvbikge1xuICAgICAgICAgICAgICAgIHZhcmlhYmxlSW5zdGFuY2VzLkFjdGlvbnNbdmFyaWFibGVOYW1lXSA9IHZhckluc3RhbmNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXJpYWJsZUluc3RhbmNlcy5WYXJpYWJsZXNbdmFyaWFibGVOYW1lXSA9IHZhckluc3RhbmNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaWYgdGhlIGNvbnRleHQgaGFzIG9uRGVzdHJveSBsaXN0ZW5lciwgc3Vic2NyaWJlIHRoZSBldmVudCBhbmQgdHJpZ2dlciBjYW5jZWwgb24gYWxsIHZhcmliYWxlc1xuICAgICAgICBpZiAoc2NvcGUucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHNjb3BlLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1bGtDYW5jZWwodmFyaWFibGVJbnN0YW5jZXMuVmFyaWFibGVzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1bGtDYW5jZWwodmFyaWFibGVJbnN0YW5jZXMuQWN0aW9ucyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YXJpYWJsZUluc3RhbmNlcztcbiAgICB9XG5cbiAgICBkZXN0cm95KCkge1xuICAgIH1cblxuICAgIHJlZ2lzdGVyRGVwZW5kZW5jeShuYW1lLCByZWYpIHtcbiAgICAgICAgc2V0RGVwZW5kZW5jeShuYW1lLCByZWYpO1xuICAgICAgICB3bVNldERlcGVuZGVuY3kobmFtZSwgcmVmKTtcbiAgICB9XG59XG4iXX0=
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy92YXJpYWJsZXMvc3JjL3NlcnZpY2UvdmFyaWFibGVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUNILE1BQU0sRUFDTixXQUFXLEVBQ1gscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUUsZUFBZSxFQUNwRSxNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0SSxPQUFPLEVBQUMsYUFBYSxFQUFFLG9CQUFvQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUU1RCxPQUFPLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7O0FBRWhFLE1BQU0sT0FBTyxTQUFTO0lBQ2xCLE1BQU0sQ0FBQyxLQUFLLEVBQUUs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QUUsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQzsrR0E1TFEsZ0JBQWdCO21IQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1xuICAgICR3YXRjaCxcbiAgICAkcGFyc2VFdmVudCxcbiAgICBBYnN0cmFjdERpYWxvZ1NlcnZpY2UsXG4gICAgQWJzdHJhY3RIdHRwU2VydmljZSxcbiAgICBBYnN0cmFjdE5hdmlnYXRpb25TZXJ2aWNlLFxuICAgIEFic3RyYWN0VG9hc3RlclNlcnZpY2UsIHByb2Nlc3NGaWx0ZXJFeHBCaW5kTm9kZSwgJGludm9rZVdhdGNoZXJzLCBnZXRDbG9uZWRPYmplY3Rcbn0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnQHdtL29BdXRoJztcbmltcG9ydCB7IFNlY3VyaXR5U2VydmljZSB9IGZyb20gJ0B3bS9zZWN1cml0eSc7XG5cbmltcG9ydCB7IFZhcmlhYmxlRmFjdG9yeSB9IGZyb20gJy4uL2ZhY3RvcnkvdmFyaWFibGUuZmFjdG9yeSc7XG5pbXBvcnQgeyB3bVNldERlcGVuZGVuY3ksIEJhc2VBY3Rpb24sIGdldFRhcmdldCwgc2V0VmFsdWVUb05vZGUsIGdldFRhcmdldE5vZGVLZXksIGludGVybmFsQm91bmROb2RlTWFwIH0gZnJvbSAnQHdhdmVtYWtlci92YXJpYWJsZXMnO1xuaW1wb3J0IHtzZXREZXBlbmRlbmN5LCBzaW11bGF0ZUZpbGVEb3dubG9hZH0gZnJvbSAnLi4vdXRpbC92YXJpYWJsZS92YXJpYWJsZXMudXRpbHMnO1xuaW1wb3J0IHsgTWV0YWRhdGFTZXJ2aWNlIH0gZnJvbSAnLi9tZXRhZGF0YS1zZXJ2aWNlL21ldGFkYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgVkFSSUFCTEVfQ09OU1RBTlRTIH0gZnJvbSAnLi4vY29uc3RhbnRzL3ZhcmlhYmxlcy5jb25zdGFudHMnO1xuaW1wb3J0IHthcHBNYW5hZ2VyfSBmcm9tICcuLi91dGlsL3ZhcmlhYmxlL3ZhcmlhYmxlcy51dGlscyc7XG5pbXBvcnQgeyBEYXRlRm9ybWF0dGVyIH0gZnJvbSAnQHdhdmVtYWtlci92YXJpYWJsZXMnO1xuaW1wb3J0IHtpc0FycmF5LCBpc0Z1bmN0aW9uLCBpc1VuZGVmaW5lZCwgc2V0fSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmV4cG9ydCBjbGFzcyBGb3JtYXR0ZXIgaW1wbGVtZW50cyBEYXRlRm9ybWF0dGVyIHtcbiAgICBmb3JtYXQodmFsdWUsIGZvcm1hdCkge1xuICAgICAgICByZXR1cm4gIGFwcE1hbmFnZXIuZ2V0UGlwZSgnZGF0ZScpLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0KTtcbiAgICB9XG59XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFZhcmlhYmxlc1NlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cFNlcnZpY2U6IEFic3RyYWN0SHR0cFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbWV0YWRhdGFTZXJ2aWNlOiBNZXRhZGF0YVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbmF2aWdhdGlvblNlcnZpY2U6IEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGVyU2VydmljZTogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBBYnN0cmFjdFRvYXN0ZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG9BdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlY3VyaXR5U2VydmljZTogU2VjdXJpdHlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IEFic3RyYWN0RGlhbG9nU2VydmljZVxuICAgICkge1xuICAgICAgICAvLyBzZXQgZXh0ZXJuYWwgZGVwZW5kZW5jaWVzLCB0byBiZSB1c2VkIGFjcm9zcyB2YXJpYWJsZSBjbGFzc2VzLCBtYW5hZ2VycyBhbmQgdXRpbHNcbiAgICAgICAgc2V0RGVwZW5kZW5jeSgnaHR0cCcsIHRoaXMuaHR0cFNlcnZpY2UpO1xuICAgICAgICBzZXREZXBlbmRlbmN5KCdtZXRhZGF0YScsIHRoaXMubWV0YWRhdGFTZXJ2aWNlKTtcbiAgICAgICAgc2V0RGVwZW5kZW5jeSgnbmF2aWdhdGlvblNlcnZpY2UnLCB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgICAgICAgc2V0RGVwZW5kZW5jeSgncm91dGVyJywgdGhpcy5yb3V0ZXJTZXJ2aWNlKTtcbiAgICAgICAgc2V0RGVwZW5kZW5jeSgndG9hc3RlcicsIHRoaXMudG9hc3RlclNlcnZpY2UpO1xuICAgICAgICBzZXREZXBlbmRlbmN5KCdvQXV0aCcsIHRoaXMub0F1dGhTZXJ2aWNlKTtcbiAgICAgICAgc2V0RGVwZW5kZW5jeSgnc2VjdXJpdHknLCB0aGlzLnNlY3VyaXR5U2VydmljZSk7XG4gICAgICAgIHNldERlcGVuZGVuY3koJ2RpYWxvZycsIHRoaXMuZGlhbG9nU2VydmljZSk7XG4gICAgICAgIHdtU2V0RGVwZW5kZW5jeSgnb0F1dGgnLCB0aGlzLm9BdXRoU2VydmljZSk7XG4gICAgICAgIHdtU2V0RGVwZW5kZW5jeSgnc2VjdXJpdHknLCB0aGlzLnNlY3VyaXR5U2VydmljZSk7XG4gICAgICAgIHdtU2V0RGVwZW5kZW5jeSgnbWV0YWRhdGEnLCB0aGlzLm1ldGFkYXRhU2VydmljZSk7XG4gICAgICAgIHdtU2V0RGVwZW5kZW5jeSgnaHR0cCcsIHRoaXMuaHR0cFNlcnZpY2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGxvb3AgdGhyb3VnaCBhIGNvbGxlY3Rpb24gb2YgdmFyaWFibGVzL2FjdGlvbnNcbiAgICAgKiB0cmlnZ2VyIGNhbmNlbCBvbiBlYWNoIChvZiBleGlzdHMpXG4gICAgICogQHBhcmFtIGNvbGxlY3Rpb25cbiAgICAgKi9cbiAgICBidWxrQ2FuY2VsKGNvbGxlY3Rpb24pIHtcbiAgICAgICAgT2JqZWN0LmtleXMoY29sbGVjdGlvbikuZm9yRWFjaChuYW1lID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlID0gY29sbGVjdGlvbltuYW1lXTtcbiAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKHZhcmlhYmxlLmNhbmNlbCkpIHtcbiAgICAgICAgICAgICAgICB2YXJpYWJsZS5jYW5jZWwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbG9vcHMgb3ZlciB0aGUgdmFyaWFibGUvYWN0aW9ucyBjb2xsZWN0aW9uIGFuZCB0cmlnZ2VyIGludm9rZSBvbiBpdCBpZiBzdGFydFVwZGF0ZSBvbiBpdCBpcyB0cnVlXG4gICAgICogQHBhcmFtIGNvbGxlY3Rpb25cbiAgICAgKi9cbiAgICB0cmlnZ2VyU3RhcnRVcGRhdGUoY29sbGVjdGlvbikge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhjb2xsZWN0aW9uKVxuICAgICAgICAgICAgICAgIC5tYXAobmFtZSA9PiBjb2xsZWN0aW9uW25hbWVdKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoIHZhcmlhYmxlID0+IHZhcmlhYmxlPy5zdGFydFVwZGF0ZSAmJiB2YXJpYWJsZS5pbnZva2UpXG4gICAgICAgICAgICAgICAgLm1hcCh2YXJpYWJsZSA9PiB2YXJpYWJsZS5pbnZva2UoKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvY2Vzc0JpbmRFeHAoZDogYW55LCBzY29wZTogYW55LCB2YXJpYWJsZSkge1xuICAgICAgICBjb25zdCByb290ID0gZ2V0VGFyZ2V0KHZhcmlhYmxlKSxcbiAgICAgICAgICAgIHRhcmdldE5vZGVLZXkgPSBnZXRUYXJnZXROb2RlS2V5KGQudGFyZ2V0KSxcbiAgICAgICAgICAgIHJ1bk1vZGUgPSB0cnVlO1xuICAgICAgICBsZXQgdiA9IGlzQXJyYXkoZC52YWx1ZSkgPyBkLnZhbHVlWzBdIDogZC52YWx1ZTtcbiAgICAgICAgaWYgKHYpIHtcbiAgICAgICAgICAgIGlmICh2LnN0YXJ0c1dpdGggJiYgdi5zdGFydHNXaXRoKCdiaW5kOicpKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgd2F0Y2hFeHByZXNzaW9uID0gJHdhdGNoKHYucmVwbGFjZSgnYmluZDonLCAnJyksIHNjb3BlLCB7fSwgdmFyaWFibGUuaW52b2tlT25QYXJhbUNoYW5nZS5iaW5kKHZhcmlhYmxlLCBkKSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGQsICgpID0+IHZhcmlhYmxlLmlzTXV0ZWQpO1xuICAgICAgICAgICAgICAgIHYgPSBzY29wZS5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lciA/IHNjb3BlLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKHdhdGNoRXhwcmVzc2lvbikgOiB3YXRjaEV4cHJlc3Npb247XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFpc1VuZGVmaW5lZChkLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHNldFZhbHVlVG9Ob2RlKGQudGFyZ2V0LCBkLCByb290LCB2YXJpYWJsZSwgZC52YWx1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKHJ1bk1vZGUgJiYgcm9vdCAhPT0gdGFyZ2V0Tm9kZUtleSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWludGVybmFsQm91bmROb2RlTWFwLmhhcyh2YXJpYWJsZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGludGVybmFsQm91bmROb2RlTWFwLnNldCh2YXJpYWJsZSwge30pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNldChpbnRlcm5hbEJvdW5kTm9kZU1hcC5nZXQodmFyaWFibGUpLCBbdmFyaWFibGUubmFtZSwgcm9vdCwgZC50YXJnZXRdLCBkLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IGQudGFyZ2V0LFxuICAgICAgICAgICAgdmFsdWU6IHZcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcm9jZXNzQmluZGluZyh2YXJpYWJsZTogYW55LCBjb250ZXh0OiBhbnksIGJpbmRTb3VyY2U/OiBzdHJpbmcsIGJpbmRUYXJnZXQ/OiBzdHJpbmcpIHtcbiAgICAgICAgYmluZFNvdXJjZSA9IGJpbmRTb3VyY2UgfHwgJ2RhdGFCaW5kaW5nJztcbiAgICAgICAgYmluZFRhcmdldCA9IGJpbmRUYXJnZXQgfHwgJ2RhdGFCaW5kaW5nJztcblxuICAgICAgICBjb25zdCBiaW5kTWFwID0gdmFyaWFibGVbYmluZFNvdXJjZV07XG4gICAgICAgIHZhcmlhYmxlW2JpbmRTb3VyY2VdID0ge307XG4gICAgICAgIHZhcmlhYmxlWydfYmluZCcgKyBiaW5kU291cmNlXSA9IGJpbmRNYXA7XG4gICAgICAgIGlmICghYmluZE1hcCB8fCAhaXNBcnJheShiaW5kTWFwKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGJpbmRNYXAuZm9yRWFjaCggKG5vZGUpID0+IHtcbiAgICAgICAgICAgIC8qIGZvciBzdGF0aWMgdmFyaWFibGUgY2hhbmdlIHRoZSBiaW5kaW5nIHdpdGggdGFyZ2V0ICdkYXRhQmluZGluZycgdG8gJ2RhdGFTZXQnLCBhcyB0aGUgcmVzdWx0cyBoYXZlIHRvIHJlZmxlY3QgZGlyZWN0bHkgaW4gdGhlIGRhdGFTZXQgKi9cbiAgICAgICAgICAgIGlmICh2YXJpYWJsZS5jYXRlZ29yeSA9PT0gJ3dtLlZhcmlhYmxlJyAmJiBub2RlLnRhcmdldCA9PT0gJ2RhdGFCaW5kaW5nJykge1xuICAgICAgICAgICAgICAgIG5vZGUudGFyZ2V0ID0gJ2RhdGFTZXQnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5wcm9jZXNzQmluZEV4cChub2RlLCBjb250ZXh0LCB2YXJpYWJsZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGlzVmFyaWFibGVTZXBlcmF0ZWQodmFyaWFibGVzSnNvbiwgdmFyaWFibGVOYW1lKSB7XG4gICAgICAgIHJldHVybiB2YXJpYWJsZXNKc29uW3ZhcmlhYmxlTmFtZV0uY2F0ZWdvcnkgPT09ICd3bS5WYXJpYWJsZScgfHwgdmFyaWFibGVzSnNvblt2YXJpYWJsZU5hbWVdLmNhdGVnb3J5ID09PSAnd20uU2VydmljZVZhcmlhYmxlJyB8fFxuICAgICAgICAgICAgdmFyaWFibGVzSnNvblt2YXJpYWJsZU5hbWVdLmNhdGVnb3J5ID09PSAnd20uTGl2ZVZhcmlhYmxlJyB8fCB2YXJpYWJsZXNKc29uW3ZhcmlhYmxlTmFtZV0uY2F0ZWdvcnkgPT09ICd3bS5DcnVkVmFyaWFibGUnXG4gICAgfVxuXG4gICAgZ2V0QmluZFNvdXJjZVRhcmdldCh2YXJpYWJsZSkge1xuICAgICAgICBpZiAodmFyaWFibGUuY2F0ZWdvcnkgPT09ICd3bS5MaXZlVmFyaWFibGUnKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFyaWFibGUub3BlcmF0aW9uID09PSAncmVhZCcgPyAnZmlsdGVyRmllbGRzJyA6ICdpbnB1dEZpZWxkcyc7XG4gICAgICAgIH0gZWxzZSBpZiAodmFyaWFibGUuY2F0ZWdvcnkgPT09ICd3bS5Nb2RlbFZhcmlhYmxlJykge1xuICAgICAgICAgICAgcmV0dXJuICdkYXRhU2V0JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnZGF0YUJpbmRpbmcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGFrZXMgdGhlIHJhdyB2YXJpYWJsZXMgYW5kIGFjdGlvbnMganNvbiBhcyBpbnB1dFxuICAgICAqIEluaXRpYWxpemUgdGhlIHZhcmlhYmxlIGFuZCBhY3Rpb24gaW5zdGFuY2VzIHRocm91Z2ggdGhlIGZhY3RvcnlcbiAgICAgKiBjb2xsZWN0IHRoZSB2YXJpYWJsZXMgYW5kIGFjdGlvbnMgaW4gc2VwYXJhdGUgbWFwcyBhbmQgcmV0dXJuIHRoZSBjb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHBhZ2VcbiAgICAgKiBAcGFyYW0gdmFyaWFibGVzSnNvblxuICAgICAqIEBwYXJhbSBzY29wZVxuICAgICAqIEByZXR1cm5zIHtWYXJpYWJsZXMgLCBBY3Rpb25zfVxuICAgICAqL1xuICAgIHJlZ2lzdGVyKHBhZ2U6IHN0cmluZywgdmFyaWFibGVzSnNvbjogYW55LCBzY29wZTogYW55KSB7XG4gICAgICAgIGNvbnN0IHZhcmlhYmxlSW5zdGFuY2VzID0ge1xuICAgICAgICAgICAgVmFyaWFibGVzOiB7fSxcbiAgICAgICAgICAgIEFjdGlvbnM6IHt9LFxuICAgICAgICAgICAgY2FsbGJhY2s6IHRoaXMudHJpZ2dlclN0YXJ0VXBkYXRlXG4gICAgICAgIH07XG4gICAgICAgIGxldCB2YXJJbnN0YW5jZTtcblxuICAgICAgICBmb3IgKGNvbnN0IHZhcmlhYmxlTmFtZSBpbiB2YXJpYWJsZXNKc29uKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXM6IGFueSA9IHt9O1xuICAgICAgICAgICAgdmFySW5zdGFuY2UgPSBWYXJpYWJsZUZhY3RvcnkuY3JlYXRlKHZhcmlhYmxlc0pzb25bdmFyaWFibGVOYW1lXSwgc2NvcGUpO1xuICAgICAgICAgICAgdmFySW5zdGFuY2UuaW5pdCgpO1xuICAgICAgICAgICBpZiAodGhpcy5pc1ZhcmlhYmxlU2VwZXJhdGVkKHZhcmlhYmxlc0pzb24sIHZhcmlhYmxlTmFtZSkpIHtcbiAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0JpbmRpbmcodmFySW5zdGFuY2UsIHNjb3BlLCAnZGF0YUJpbmRpbmcnLCB0aGlzLmdldEJpbmRTb3VyY2VUYXJnZXQodmFySW5zdGFuY2UpKTtcbiAgICAgICAgICAgICAgIHZhckluc3RhbmNlLmh0dHBTZXJ2aWNlID0gdGhpcy5odHRwU2VydmljZTtcbiAgICAgICAgICAgICAgIHZhckluc3RhbmNlLmRhdGVGb3JtYXR0ZXIgPSBuZXcgRm9ybWF0dGVyKCk7XG4gICAgICAgICAgICAgICAvLyBNRU1PUlkgTEVBSyBGSVg6IFN0b3JlIHN1YnNjcmlwdGlvbiB1bnN1YnNjcmliZSBmdW5jdGlvbiAoY2xlYW51cCBoYW5kbGVkIGJ5IHJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKVxuICAgICAgICAgICAgICAgY29uc3QgYWZ0ZXJJbnZva2VVbnN1YnNjcmliZSA9IHZhckluc3RhbmNlLnN1YnNjcmliZSgnYWZ0ZXJJbnZva2UnLCAoKSA9PiAkaW52b2tlV2F0Y2hlcnModHJ1ZSkpO1xuICAgICAgICAgICAgICAgLy8gU3RvcmUgb24gdmFyaWFibGUgZm9yIHBvdGVudGlhbCBtYW51YWwgY2xlYW51cCBpZiBuZWVkZWRcbiAgICAgICAgICAgICAgIGlmICghdmFySW5zdGFuY2UuX2V2ZW50U3Vic2NyaXB0aW9ucykge1xuICAgICAgICAgICAgICAgICAgIHZhckluc3RhbmNlLl9ldmVudFN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIHZhckluc3RhbmNlLl9ldmVudFN1YnNjcmlwdGlvbnMucHVzaChhZnRlckludm9rZVVuc3Vic2NyaWJlKTtcbiAgICAgICAgICAgICAgIGlmICh2YXJJbnN0YW5jZS5jYXRlZ29yeSA9PT0gJ3dtLkxpdmVWYXJpYWJsZScgJiYgdmFySW5zdGFuY2Uub3BlcmF0aW9uID09PSAncmVhZCcpIHtcbiAgICAgICAgICAgICAgICAgICBwcm9jZXNzRmlsdGVyRXhwQmluZE5vZGUodmFySW5zdGFuY2UuX2NvbnRleHQsIHZhckluc3RhbmNlLmZpbHRlckV4cHJlc3Npb25zLCB2YXJJbnN0YW5jZSk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBpZiAodmFySW5zdGFuY2UuY2F0ZWdvcnkgPT09ICd3bS5DcnVkVmFyaWFibGUnIHx8IHZhckluc3RhbmNlLmNhdGVnb3J5ID09PSAnd20uU2VydmljZVZhcmlhYmxlJykge1xuICAgICAgICAgICAgICAgICAgIHZhckluc3RhbmNlLnNpbXVsYXRlRmlsZURvd25sb2FkID0gc2ltdWxhdGVGaWxlRG93bmxvYWQ7XG4gICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgfVxuXG4gICAgICAgICAgIGlmICh0aGlzLmlzVmFyaWFibGVTZXBlcmF0ZWQodmFyaWFibGVzSnNvbiwgdmFyaWFibGVOYW1lKSB8fCB2YXJpYWJsZXNKc29uW3ZhcmlhYmxlTmFtZV0uY2F0ZWdvcnkgPT09ICd3bS5UaW1lclZhcmlhYmxlJykge1xuICAgICAgICAgICAgICAgZm9yIChjb25zdCBlIGluIFZBUklBQkxFX0NPTlNUQU5UUy5FVkVOVCkge1xuICAgICAgICAgICAgICAgICAgIGlmICh2YXJJbnN0YW5jZVtWQVJJQUJMRV9DT05TVEFOVFMuRVZFTlRbZV1dKSB7XG4gICAgICAgICAgICAgICAgICAgICAgIHZhckluc3RhbmNlW1ZBUklBQkxFX0NPTlNUQU5UUy5FVkVOVFtlXV0gPSAkcGFyc2VFdmVudCh2YXJJbnN0YW5jZVtWQVJJQUJMRV9DT05TVEFOVFMuRVZFTlRbZV1dKTtcbiAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAvLyBpZiBhY3Rpb24gdHlwZSwgcHV0IGl0IGluIEFjdGlvbnMgbmFtZXNwYWNlXG4gICAgICAgICAgICBpZiAodmFySW5zdGFuY2UgaW5zdGFuY2VvZiBCYXNlQWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgdmFyaWFibGVJbnN0YW5jZXMuQWN0aW9uc1t2YXJpYWJsZU5hbWVdID0gdmFySW5zdGFuY2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhcmlhYmxlSW5zdGFuY2VzLlZhcmlhYmxlc1t2YXJpYWJsZU5hbWVdID0gdmFySW5zdGFuY2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpZiB0aGUgY29udGV4dCBoYXMgb25EZXN0cm95IGxpc3RlbmVyLCBzdWJzY3JpYmUgdGhlIGV2ZW50IGFuZCB0cmlnZ2VyIGNhbmNlbCBvbiBhbGwgdmFyaWJhbGVzXG4gICAgICAgIGlmIChzY29wZS5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcikge1xuICAgICAgICAgICAgc2NvcGUucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYnVsa0NhbmNlbCh2YXJpYWJsZUluc3RhbmNlcy5WYXJpYWJsZXMpO1xuICAgICAgICAgICAgICAgIHRoaXMuYnVsa0NhbmNlbCh2YXJpYWJsZUluc3RhbmNlcy5BY3Rpb25zKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhcmlhYmxlSW5zdGFuY2VzO1xuICAgIH1cblxuICAgIGRlc3Ryb3koKSB7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJEZXBlbmRlbmN5KG5hbWUsIHJlZikge1xuICAgICAgICBzZXREZXBlbmRlbmN5KG5hbWUsIHJlZik7XG4gICAgICAgIHdtU2V0RGVwZW5kZW5jeShuYW1lLCByZWYpO1xuICAgIH1cbn1cbiJdfQ==
@@ -25,11 +25,11 @@ const VARIABLE_CONSTANTS = {
25
25
  CRUD: 'wm.CrudVariable',
26
26
  SERVICE: 'wm.ServiceVariable',
27
27
  WEBSOCKET: 'wm.WebSocketVariable',
28
- NAVIGATION: 'wm.NavigationAction',
29
- NOTIFICATION: 'wm.NotificationAction',
30
- TIMER: 'wm.TimerAction',
31
- LOGIN: 'wm.LoginAction',
32
- LOGOUT: 'wm.LogoutAction',
28
+ NAVIGATION: 'wm.NavigationVariable',
29
+ NOTIFICATION: 'wm.NotificationVariable',
30
+ TIMER: 'wm.TimerVariable',
31
+ LOGIN: 'wm.LoginVariable',
32
+ LOGOUT: 'wm.LogoutVariable',
33
33
  },
34
34
  EVENTS: ['onBefore',
35
35
  'onBeforeUpdate',
@@ -2754,10 +2754,10 @@ class WebSocketVariableManager extends BaseVariableManager {
2754
2754
  const managerMap = new Map(), typeToManagerMap = {
2755
2755
  'Variable': BaseVariableManager,
2756
2756
  'Action': BaseActionManager,
2757
- 'wm.NavigationAction': NavigationActionManager,
2758
- 'wm.NotificationAction': NotificationActionManager,
2759
- 'wm.LoginAction': LoginActionManager,
2760
- 'wm.LogoutAction': LogoutActionManager,
2757
+ 'wm.NavigationVariable': NavigationActionManager,
2758
+ 'wm.NotificationVariable': NotificationActionManager,
2759
+ 'wm.LoginVariable': LoginActionManager,
2760
+ 'wm.LogoutVariable': LogoutActionManager,
2761
2761
  'wm.WebSocketVariable': WebSocketVariableManager
2762
2762
  };
2763
2763
  class VariableManagerFactory {
@@ -3191,7 +3191,7 @@ class VariablesService {
3191
3191
  varInstance.simulateFileDownload = simulateFileDownload;
3192
3192
  }
3193
3193
  }
3194
- if (this.isVariableSeperated(variablesJson, variableName) || variablesJson[variableName].category === 'wm.TimerAction') {
3194
+ if (this.isVariableSeperated(variablesJson, variableName) || variablesJson[variableName].category === 'wm.TimerVariable') {
3195
3195
  for (const e in VARIABLE_CONSTANTS.EVENT) {
3196
3196
  if (varInstance[VARIABLE_CONSTANTS.EVENT[e]]) {
3197
3197
  varInstance[VARIABLE_CONSTANTS.EVENT[e]] = $parseEvent(varInstance[VARIABLE_CONSTANTS.EVENT[e]]);