@mediusinc/mng-commons 2.5.0 → 2.6.0-rc.0

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 (76) hide show
  1. package/assets/i18n/en.json +4 -1
  2. package/assets/i18n/sl.json +4 -1
  3. package/esm2020/lib/components/action/action.component.mjs +8 -1
  4. package/esm2020/lib/components/action/editor/action-editor.component.mjs +196 -115
  5. package/esm2020/lib/components/action/models/action-execution.model.mjs +99 -10
  6. package/esm2020/lib/components/action/route/action-route.component.mjs +53 -35
  7. package/esm2020/lib/components/form/editor/form-editor.component.mjs +15 -6
  8. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +4 -1
  9. package/esm2020/lib/components/form/formly/fields/formly-field-custom/formly-custom-field-base.model.mjs +69 -0
  10. package/esm2020/lib/components/form/formly/fields/formly-field-custom/formly-field-custom.component.mjs +54 -0
  11. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +4 -1
  12. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +4 -1
  13. package/esm2020/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +4 -1
  14. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +5 -2
  15. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +4 -1
  16. package/esm2020/lib/components/form/formly/fields/index.mjs +3 -1
  17. package/esm2020/lib/components/form/formly/formly.config.mjs +11 -1
  18. package/esm2020/lib/components/form/formly/models/formly-field.model.mjs +1 -1
  19. package/esm2020/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +21 -3
  20. package/esm2020/lib/components/layout/menu-item.component.mjs +9 -11
  21. package/esm2020/lib/components/layout/version.component.mjs +3 -3
  22. package/esm2020/lib/components/tableview/table/models/index.mjs +2 -0
  23. package/esm2020/lib/components/tableview/table/table.component.mjs +67 -9
  24. package/esm2020/lib/descriptors/action/action.descriptor.mjs +13 -1
  25. package/esm2020/lib/descriptors/editor/field.descriptor.mjs +77 -3
  26. package/esm2020/lib/descriptors/table/column.descriptor.mjs +25 -1
  27. package/esm2020/lib/descriptors/table/table.descriptor.mjs +13 -1
  28. package/esm2020/lib/descriptors/types/table.type.mjs +4 -1
  29. package/esm2020/lib/mng-commons.module.mjs +7 -4
  30. package/esm2020/lib/models/config.model.mjs +1 -1
  31. package/esm2020/lib/models/view-container.model.mjs +1 -1
  32. package/esm2020/lib/services/action-executor.service.mjs +313 -190
  33. package/esm2020/lib/services/commons.service.mjs +8 -1
  34. package/esm2020/lib/services/index.mjs +3 -1
  35. package/esm2020/lib/services/internal/commons-init.service.mjs +5 -9
  36. package/esm2020/lib/services/navigation.service.mjs +6 -3
  37. package/esm2020/lib/services/view-container.component.service.mjs +10 -1
  38. package/esm2020/lib/utils/action-data-provider.util.mjs +14 -1
  39. package/esm2020/lib/utils/editor-formly.util.mjs +23 -3
  40. package/fesm2015/mediusinc-mng-commons.mjs +2541 -1807
  41. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  42. package/fesm2020/mediusinc-mng-commons.mjs +2167 -1451
  43. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  44. package/lib/components/action/action.component.d.ts +1 -2
  45. package/lib/components/action/editor/action-editor.component.d.ts +19 -6
  46. package/lib/components/action/models/action-execution.model.d.ts +35 -6
  47. package/lib/components/action/route/action-route.component.d.ts +7 -4
  48. package/lib/components/form/editor/form-editor.component.d.ts +2 -1
  49. package/lib/components/form/formly/fields/formly-field-custom/formly-custom-field-base.model.d.ts +27 -0
  50. package/lib/components/form/formly/fields/formly-field-custom/formly-field-custom.component.d.ts +11 -0
  51. package/lib/components/form/formly/fields/index.d.ts +2 -0
  52. package/lib/components/form/formly/models/formly-field.model.d.ts +1 -0
  53. package/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.d.ts +5 -0
  54. package/lib/components/layout/menu-item.component.d.ts +1 -2
  55. package/lib/components/layout/version.component.d.ts +1 -1
  56. package/lib/components/tableview/table/models/index.d.ts +6 -0
  57. package/lib/components/tableview/table/table.component.d.ts +16 -1
  58. package/lib/descriptors/action/action.descriptor.d.ts +5 -0
  59. package/lib/descriptors/editor/field.descriptor.d.ts +28 -1
  60. package/lib/descriptors/table/column.descriptor.d.ts +8 -0
  61. package/lib/descriptors/table/table.descriptor.d.ts +2 -0
  62. package/lib/descriptors/types/table.type.d.ts +3 -0
  63. package/lib/mng-commons.module.d.ts +15 -14
  64. package/lib/models/config.model.d.ts +4 -0
  65. package/lib/models/view-container.model.d.ts +6 -0
  66. package/lib/services/action-executor.service.d.ts +69 -35
  67. package/lib/services/commons.service.d.ts +2 -0
  68. package/lib/services/index.d.ts +2 -0
  69. package/lib/services/internal/commons-init.service.d.ts +1 -3
  70. package/lib/services/navigation.service.d.ts +3 -2
  71. package/lib/services/view-container.component.service.d.ts +7 -2
  72. package/lib/utils/action-data-provider.util.d.ts +8 -0
  73. package/package.json +2 -2
  74. package/scss/mng-commons-light.scss +3 -0
  75. package/scss/mng-overrides/_theme_multiselect.scss +20 -0
  76. package/scss/mng-overrides/_theme_styles.scss +1 -0
@@ -1,4 +1,5 @@
1
1
  import { MngFormlyFieldActionComponent, MngFormlyFieldAutocompleteComponent, MngFormlyFieldDropdownComponent, MngFormlyFieldFieldsetComponent, MngFormlyFieldInputComponent, MngFormlyFieldLabelComponent, MngFormlyFieldLookupDialogComponent, MngFormlyFieldTableDialogFormComponent, MngFormlyFieldTableDialogMultiselectComponent, MngFormlyFieldTabsComponent } from './fields';
2
+ import { MngFormlyFieldCustomComponent } from './fields/formly-field-custom/formly-field-custom.component';
2
3
  import { MngFormlyFieldNoLabelWrapperComponent, MngFormlyFieldWrapperComponent } from './wrappers';
3
4
  export const formlyWrappersConfig = [
4
5
  { name: 'field', component: MngFormlyFieldWrapperComponent },
@@ -147,6 +148,15 @@ export const formlyTypesConfig = [
147
148
  name: 'fieldset',
148
149
  component: MngFormlyFieldFieldsetComponent,
149
150
  wrappers: []
151
+ },
152
+ {
153
+ name: 'formly-group',
154
+ wrappers: ['field-no-label']
155
+ },
156
+ {
157
+ name: 'custom',
158
+ component: MngFormlyFieldCustomComponent,
159
+ wrappers: []
150
160
  }
151
161
  ];
152
162
  export function getRequiredValidationMessage(translate) {
@@ -237,4 +247,4 @@ export const getFormlyValidationMessages = (translate, datePipe) => {
237
247
  { name: 'maxDate', message: getMaxDateValidationMessage(translate, datePipe) }
238
248
  ];
239
249
  };
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm1seS9mb3JtbHkuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IsbUNBQW1DLEVBQ25DLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IsNEJBQTRCLEVBQzVCLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsc0NBQXNDLEVBQ3RDLDZDQUE2QyxFQUM3QywyQkFBMkIsRUFDOUIsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUFDLHFDQUFxQyxFQUFFLDhCQUE4QixFQUFDLE1BQU0sWUFBWSxDQUFDO0FBRWpHLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFvQjtJQUNqRCxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLDhCQUE4QixFQUFDO0lBQzFELEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxxQ0FBcUMsRUFBQztDQUM3RSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQTBCO0lBQ3BEO1FBQ0ksSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsNEJBQTRCO1FBQ3ZDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQztLQUN0QjtJQUNEO1FBQ0ksSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsNEJBQTRCO1FBQ3ZDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQztLQUN0QjtJQUNELEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFDO0lBQ2xDO1FBQ0ksSUFBSSxFQUFFLFFBQVE7UUFDZCxPQUFPLEVBQUUsT0FBTztRQUNoQixjQUFjLEVBQUU7WUFDWixLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLFFBQVE7YUFDakI7U0FDSjtLQUNKO0lBQ0Q7UUFD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QUFDLENBQUMsQ0FBQztJQUNySCxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLFNBQTJCO0lBQy9ELE9BQU8sQ0FBQyxLQUFVLEVBQUUsS0FBMkIsRUFBRSxFQUFFO1FBQy9DLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQztRQUNoRCxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsRUFBRSxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQztJQUNuRyxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLFNBQTJCO0lBQy9ELE9BQU8sQ0FBQyxLQUFVLEVBQUUsS0FBMkIsRUFBRSxFQUFFO1FBQy9DLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQztRQUNoRCxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsRUFBRSxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQztJQUNuRyxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLCtCQUErQixDQUFDLFNBQTJCO0lBQ3ZFLE9BQU8sQ0FBQyxLQUFVLEVBQUUsS0FBMkIsRUFBRSxFQUFFO1FBQy9DLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQztRQUNoRCxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxD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QUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsRUFBQztRQUMxRCxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLCtCQUErQixDQUFDLFNBQVMsQ0FBQyxFQUFDO1FBQ3RFLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUseUJBQXlCLENBQUMsU0FBUyxDQUFDLEVBQUM7UUFDOUQsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSwyQkFBMkIsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLEVBQUM7UUFDNUUsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSwyQkFBMkIsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLEVBQUM7S0FDL0UsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0ZVBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7V3JhcHBlck9wdGlvbn0gZnJvbSAnQG5neC1mb3JtbHkvY29yZS9saWIvbW9kZWxzL2NvbmZpZyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtGaWVsZElucHV0RGVzY3JpcHRvcn0gZnJvbSAnLi4vLi4vLi4vZGVzY3JpcHRvcnMvZWRpdG9yJztcbmltcG9ydCB7XG4gICAgTW5nRm9ybWx5RmllbGRBY3Rpb25Db21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGRBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGREcm9wZG93bkNvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZEZpZWxkc2V0Q29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkSW5wdXRDb21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGRMYWJlbENvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZExvb2t1cERpYWxvZ0NvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZFRhYmxlRGlhbG9nRm9ybUNvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZFRhYmxlRGlhbG9nTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGRUYWJzQ29tcG9uZW50XG59IGZyb20gJy4vZmllbGRzJztcbmltcG9ydCB7TW5nRm9ybWx5RmllbGRDb25maWcsIE1uZ0Zvcm1seVR5cGVDb25maWd9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7TW5nRm9ybWx5RmllbGROb0xhYmVsV3JhcHBlckNvbXBvbmVudCwgTW5nRm9ybWx5RmllbGRXcmFwcGVyQ29tcG9uZW50fSBmcm9tICcuL3dyYXBwZXJzJztcblxuZXhwb3J0IGNvbnN0IGZvcm1seVdyYXBwZXJzQ29uZmlnOiBXcmFwcGVyT3B0aW9uW10gPSBbXG4gICAge25hbWU6ICdmaWVsZCcsIGNvbXBvbmVudDogTW5nRm9ybWx5RmllbGRXcmFwcGVyQ29tcG9uZW50fSxcbiAgICB7bmFtZTogJ2ZpZWxkLW5vLWxhYmVsJywgY29tcG9uZW50OiBNbmdGb3JtbHlGaWVsZE5vTGFiZWxXcmFwcGVyQ29tcG9uZW50fVxuXTtcblxuZXhwb3J0IGNvbnN0IGZvcm1seVR5cGVzQ29uZmlnOiBNbmdGb3JtbHlUeXBlQ29uZmlnW10gPSBbXG4gICAge1xuICAgICAgICBuYW1lOiAnbGFiZWwnLFxuICAgICAgICBjb21wb25lbnQ6IE1uZ0Zvcm1seUZpZWxkTGFiZWxDb21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkJ11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2lucHV0JyxcbiAgICAgICAgY29tcG9uZW50OiBNbmdGb3JtbHlGaWVsZElucHV0Q29tcG9uZW50LFxuICAgICAgICB3cmFwcGVyczogWydmaWVsZCddXG4gICAgfSxcbiAgICB7bmFtZTogJ3N0cmluZycsIGV4dGVuZHM6ICdpbnB1dCd9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ251bWJlcicsXG4gICAgICAgIGV4dGVuZHM6ICdpbnB1dCcsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2N1cnJlbmN5JyxcbiAgICAgICAgZXh0ZW5kczogJ2lucHV0JyxcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ251bWJlcidcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnaW50ZWdlcicsXG4gICAgICAgIGV4dGVuZHM6ICdpbnB1dCcsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ3RleHRhcmVhJyxcbiAgICAgICAgZXh0ZW5kczogJ2lucHV0JyxcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHRhcmVhJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdzd2l0Y2gnLFxuICAgICAgICBjb21wb25lbnQ6IE1uZ0Zvcm1seUZpZWxkSW5wdXRDb21wb25lbnQsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdzd2l0Y2gnXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ3JhZGlvJyxcbiAgICAgICAgZXh0ZW5kczogJ2lucHV0JyxcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ3JhZGlvJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdkYXRlcGlja2VyJyxcbiAgICAgICAgZXh0ZW5kczogJ2lucHV0JyxcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2RhdGVwaWNrZXInXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ21hc2snLFxuICAgICAgICBleHRlbmRzOiAnaW5wdXQnLFxuICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnbWFzaydcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnZmlsZScsXG4gICAgICAgIGV4dGVuZHM6ICdpbnB1dCcsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdmaWxlJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdpbWFnZVVybCcsXG4gICAgICAgIGNvbXBvbmVudDogTW5nRm9ybWx5RmllbGRJbnB1dENvbXBvbmVudCxcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2ltYWdlVXJsJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB3cmFwcGVyczogWydmaWVsZCddXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdkcm9wZG93bicsXG4gICAgICAgIGNvbXBvbmVudDogTW5nRm9ybWx5RmllbGREcm9wZG93bkNvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFsnZmllbGQnXVxuICAgIH0sXG4gICAge25hbWU6ICdlbnVtJywgZXh0ZW5kczogJ2Ryb3Bkb3duJ30sXG4gICAge1xuICAgICAgICBuYW1lOiAnYXV0b2NvbXBsZXRlJyxcbiAgICAgICAgY29tcG9uZW50OiBNbmdGb3JtbHlGaWVsZEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFsnZmllbGQnXVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnYWN0aW9uJyxcbiAgICAgICAgY29tcG9uZW50OiBNbmdGb3JtbHlGaWVsZEFjdGlvbkNvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFsnZmllbGQtbm8tbGFiZWwnXVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnZGlhbG9nJyxcbiAgICAgICAgY29tcG9uZW50OiBNbmdGb3JtbHlGaWVsZExvb2t1cERpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFsnZmllbGQnXVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAndGFibGUtZGlhbG9nLW11bHRpc2VsZWN0JyxcbiAgICAgICAgY29tcG9uZW50OiBNbmdGb3JtbHlGaWVsZFRhYmxlRGlhbG9nTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkLW5vLWxhYmVsJ11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ3RhYmxlLWRpYWxvZy1mb3JtJyxcbiAgICAgICAgY29tcG9uZW50OiBNbmdGb3JtbHlGaWVsZFRhYmxlRGlhbG9nRm9ybUNvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFsnZmllbGQtbm8tbGFiZWwnXVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAndGFicycsXG4gICAgICAgIGNvbXBvbmVudDogTW5nRm9ybWx5RmllbGRUYWJzQ29tcG9uZW50LFxuICAgICAgICB3cmFwcGVyczogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2ZpZWxkc2V0JyxcbiAgICAgICAgY29tcG9uZW50OiBNbmdGb3JtbHlGaWVsZEZpZWxkc2V0Q29tcG9uZW50LFxuICAgICAgICB3cmFwcGVyczogW11cbiAgICB9XG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVxdWlyZWRWYWxpZGF0aW9uTWVzc2FnZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpOiAoZXJyb3I6IGFueSwgZmllbGQ6IE1uZ0Zvcm1seUZpZWxkQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiAoZXJyb3I6IGFueSwgZmllbGQ6IE1uZ0Zvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkTGFiZWwgPSBmaWVsZC5wcm9wcy5sYWJlbCB8fCAnZmllbGQnO1xuICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSB0cmFuc2xhdGUuaW5zdGFudChmaWVsZExhYmVsKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudmFsaWRhdGlvbi5yZXF1aXJlZCcsIHtmaWVsZDogZmllbGROYW1lfSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1pbkxlbmd0aFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRMYWJlbCA9IGZpZWxkLnByb3BzLmxhYmVsID8/ICdmaWVsZCc7XG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHRyYW5zbGF0ZS5pbnN0YW50KGZpZWxkTGFiZWwpO1xuICAgICAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ21uZ0VkaXRvci52YWxpZGF0aW9uLm1pbkxlbmd0aCcsIHtmaWVsZDogZmllbGROYW1lLCBtaW5MZW5ndGg6IGZpZWxkLnByb3BzLm1pbkxlbmd0aH0pO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXhMZW5ndGhWYWxpZGF0aW9uTWVzc2FnZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpOiAoZXJyb3I6IGFueSwgZmllbGQ6IE1uZ0Zvcm1seUZpZWxkQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoZXJyb3I6IGFueSwgZmllbGQ6IE1uZ0Zvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkTGFiZWwgPSBmaWVsZC5wcm9wcy5sYWJlbCB8fCAnZmllbGQnO1xuICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSB0cmFuc2xhdGUuaW5zdGFudChmaWVsZExhYmVsKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudmFsaWRhdGlvbi5tYXhMZW5ndGgnLCB7ZmllbGQ6IGZpZWxkTmFtZSwgbWF4TGVuZ3RoOiBmaWVsZC5wcm9wcy5tYXhMZW5ndGh9KTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWluVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKTogKGVycm9yOiBhbnksIGZpZWxkOiBNbmdGb3JtbHlGaWVsZENvbmZpZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gKGVycm9yOiBhbnksIGZpZWxkOiBNbmdGb3JtbHlGaWVsZENvbmZpZykgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZExhYmVsID0gZmllbGQucHJvcHMubGFiZWwgPz8gJ2ZpZWxkJztcbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gdHJhbnNsYXRlLmluc3RhbnQoZmllbGRMYWJlbCk7XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnbW5nRWRpdG9yLnZhbGlkYXRpb24ubWluJywge2ZpZWxkOiBmaWVsZE5hbWUsIG1pbjogZmllbGQucHJvcHMubWlufSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1heFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRMYWJlbCA9IGZpZWxkLnByb3BzLmxhYmVsIHx8ICdmaWVsZCc7XG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHRyYW5zbGF0ZS5pbnN0YW50KGZpZWxkTGFiZWwpO1xuICAgICAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ21uZ0VkaXRvci52YWxpZGF0aW9uLm1heCcsIHtmaWVsZDogZmllbGROYW1lLCBtYXg6IGZpZWxkLnByb3BzLm1heH0pO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZXh0UGF0dGVyblZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRMYWJlbCA9IGZpZWxkLnByb3BzLmxhYmVsID8/ICdmaWVsZCc7XG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHRyYW5zbGF0ZS5pbnN0YW50KGZpZWxkTGFiZWwpO1xuICAgICAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ21uZ0VkaXRvci52YWxpZGF0aW9uLnBhdHRlcm4nLCB7ZmllbGQ6IGZpZWxkTmFtZSwgcGF0dGVybjogZmllbGQucHJvcHMucGF0dGVybn0pO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbWFpbFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRMYWJlbCA9IGZpZWxkLnByb3BzLmxhYmVsIHx8ICdmaWVsZCc7XG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHRyYW5zbGF0ZS5pbnN0YW50KGZpZWxkTGFiZWwpO1xuICAgICAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ21uZ0VkaXRvci52YWxpZGF0aW9uLmVtYWlsJywge2ZpZWxkOiBmaWVsZE5hbWV9KTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWluRGF0ZVZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgZGF0ZVBpcGU6IERhdGVQaXBlKTogKGVycm9yOiBhbnksIGZpZWxkOiBNbmdGb3JtbHlGaWVsZENvbmZpZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gKGVycm9yOiBhbnksIGZpZWxkOiBNbmdGb3JtbHlGaWVsZENvbmZpZykgPT4ge1xuICAgICAgICBjb25zdCBpbnB1dERlc2NyaXB0b3IgPSBmaWVsZC5wcm9wcy5kZXNjcmlwdG9yIGFzIEZpZWxkSW5wdXREZXNjcmlwdG9yPGFueT47XG4gICAgICAgIGNvbnN0IG1pbkRhdGUgPSBpbnB1dERlc2NyaXB0b3IuZGF0ZVBpY2tlck1pbjtcblxuICAgICAgICBpZiAoIW1pbkRhdGUpIHJldHVybiAnJztcbiAgICAgICAgbGV0IGRhdGVTdHJpbmcgPSBkYXRlUGlwZS50cmFuc2Zvcm0obWluRGF0ZSwgJ2RkLiBNTS4geXl5eScpID8/ICcnO1xuXG4gICAgICAgIGlmIChpbnB1dERlc2NyaXB0b3IuZGF0ZVBpY2tlclNob3dUaW1lKSB7XG4gICAgICAgICAgICBkYXRlU3RyaW5nICs9IGRhdGVQaXBlLnRyYW5zZm9ybShtaW5EYXRlLCAnIEhIOm1tOnNzJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ21uZ0VkaXRvci52YWxpZGF0aW9uLm1pbkRhdGUnLCB7bWluOiBkYXRlU3RyaW5nfSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1heERhdGVWYWxpZGF0aW9uTWVzc2FnZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGRhdGVQaXBlOiBEYXRlUGlwZSk6IChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXREZXNjcmlwdG9yID0gZmllbGQucHJvcHMuZGVzY3JpcHRvciBhcyBGaWVsZElucHV0RGVzY3JpcHRvcjxhbnk+O1xuICAgICAgICBjb25zdCBtYXhEYXRlID0gaW5wdXREZXNjcmlwdG9yLmRhdGVQaWNrZXJNYXg7XG5cbiAgICAgICAgaWYgKCFtYXhEYXRlKSByZXR1cm4gJyc7XG4gICAgICAgIGxldCBkYXRlU3RyaW5nID0gZGF0ZVBpcGUudHJhbnNmb3JtKG1heERhdGUsICdkZC4gTU0uIHl5eXknKSA/PyAnJztcblxuICAgICAgICBpZiAoaW5wdXREZXNjcmlwdG9yLmRhdGVQaWNrZXJTaG93VGltZSkge1xuICAgICAgICAgICAgZGF0ZVN0cmluZyArPSBkYXRlUGlwZS50cmFuc2Zvcm0obWF4RGF0ZSwgJyBISDptbTpzcycpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudmFsaWRhdGlvbi5tYXhEYXRlJywge21heDogZGF0ZVN0cmluZ30pO1xuICAgIH07XG59XG5cbmV4cG9ydCBjb25zdCBnZXRGb3JtbHlWYWxpZGF0aW9uTWVzc2FnZXMgPSAodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBkYXRlUGlwZTogRGF0ZVBpcGUpOiBhbnlbXSA9PiB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAge25hbWU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6IGdldFJlcXVpcmVkVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAnbWluTGVuZ3RoJywgbWVzc2FnZTogZ2V0TWluTGVuZ3RoVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAnbWF4TGVuZ3RoJywgbWVzc2FnZTogZ2V0TWF4TGVuZ3RoVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAnbWluJywgbWVzc2FnZTogZ2V0TWluVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAnbWF4JywgbWVzc2FnZTogZ2V0TWF4VmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAncGF0dGVybicsIG1lc3NhZ2U6IGdldFRleHRQYXR0ZXJuVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAnZW1haWwnLCBtZXNzYWdlOiBnZXRFbWFpbFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZSl9LFxuICAgICAgICB7bmFtZTogJ21pbkRhdGUnLCBtZXNzYWdlOiBnZXRNaW5EYXRlVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlLCBkYXRlUGlwZSl9LFxuICAgICAgICB7bmFtZTogJ21heERhdGUnLCBtZXNzYWdlOiBnZXRNYXhEYXRlVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlLCBkYXRlUGlwZSl9XG4gICAgXTtcbn07XG4iXX0=
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm1seS9mb3JtbHkuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IsbUNBQW1DLEVBQ25DLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IsNEJBQTRCLEVBQzVCLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsc0NBQXNDLEVBQ3RDLDZDQUE2QyxFQUM3QywyQkFBMkIsRUFDOUIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFFekcsT0FBTyxFQUFDLHFDQUFxQyxFQUFFLDhCQUE4QixFQUFDLE1BQU0sWUFBWSxDQUFDO0FBRWpHLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFvQjtJQUNqRCxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLDhCQUE4QixFQUFDO0lBQzFELEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxxQ0FBcUMsRUFBQztDQUM3RSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQTBCO0lBQ3BEO1FBQ0ksSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsNEJBQTRCO1FBQ3ZDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQztLQUN0QjtJQUNEO1FBQ0ksSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsNEJBQTRCO1FBQ3ZDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQztLQUN0QjtJQUNELEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFDO0lBQ2xDO1FBQ0ksSUFBSSxFQUFFLFFBQVE7UUFDZCxPQUFPLEVBQUUsT0FBTztRQUNoQixjQUFjLEVBQUU7WUFDWixLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLFFBQVE7YUFDakI7U0FDSjtLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsVUFBVTtRQUNoQixPQUFPLEVBQUUsT0FBTztRQUNoQixjQUFjLEVBQUU7WUFDWixLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLFFBQVE7YUFDakI7U0FDSjtLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGNBQWMsRUFBRTtZQUNaLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsUUFBUTthQUNqQjtTQUNKO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGNBQWMsRUFBRTtZQUNaLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsVUFBVTthQUNuQjtTQUNKO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxRQUFRO1FBQ2QsU0FBUyxFQUFFLDRCQUE0QjtRQUN2QyxjQUFjLEVBQUU7WUFDWixLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLFFBQVE7YUFDakI7U0FDSjtLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsT0FBTztRQUNiLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGNBQWMsRUFBRTtZQUNaLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsT0FBTzthQUNoQjtTQUNKO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxZQUFZO1FBQ2xCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGNBQWMsRUFBRTtZQUNaLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsWUFBWTthQUNyQjtTQUNKO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFLE9BQU87UUFDaEIsY0FBYyxFQUFFO1lBQ1osS0FBSyxFQUFFO2dCQUNILElBQUksRUFBRSxNQUFNO2FBQ2Y7U0FDSjtLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsTUFBTTtRQUNaLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGNBQWMsRUFBRTtZQUNaLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsTUFBTTthQUNmO1NBQ0o7S0FDSjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFVBQVU7UUFDaEIsU0FBUyxFQUFFLDRCQUE0QjtRQUN2QyxjQUFjLEVBQUU7WUFDWixLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLFVBQVU7YUFDbkI7U0FDSjtRQUNELFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQztLQUN0QjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFVBQVU7UUFDaEIsU0FBUyxFQUFFLCtCQUErQjtRQUMxQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUM7S0FDdEI7SUFDRCxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBQztJQUNuQztRQUNJLElBQUksRUFBRSxjQUFjO1FBQ3BCLFNBQVMsRUFBRSxtQ0FBbUM7UUFDOUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDO0tBQ3RCO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsUUFBUTtRQUNkLFNBQVMsRUFBRSw2QkFBNkI7UUFDeEMsUUFBUSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7S0FDL0I7SUFDRDtRQUNJLElBQUksRUFBRSxRQUFRO1FBQ2QsU0FBUyxFQUFFLG1DQUFtQztRQUM5QyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUM7S0FDdEI7SUFDRDtRQUNJLElBQUksRUFBRSwwQkFBMEI7UUFDaEMsU0FBUyxFQUFFLDZDQUE2QztRQUN4RCxRQUFRLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztLQUMvQjtJQUNEO1FBQ0ksSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixTQUFTLEVBQUUsc0NBQXNDO1FBQ2pELFFBQVEsRUFBRSxDQUFDLGdCQUFnQixDQUFDO0tBQy9CO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsTUFBTTtRQUNaLFNBQVMsRUFBRSwyQkFBMkI7UUFDdEMsUUFBUSxFQUFFLEVBQUU7S0FDZjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFVBQVU7UUFDaEIsU0FBUyxFQUFFLCtCQUErQjtRQUMxQyxRQUFRLEVBQUUsRUFBRTtLQUNmO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsY0FBYztRQUNwQixRQUFRLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztLQUMvQjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFFBQVE7UUFDZCxTQUFTLEVBQUUsNkJBQTZCO1FBQ3hDLFFBQVEsRUFBRSxFQUFFO0tBQ2Y7Q0FDSixDQUFDO0FBRUYsTUFBTSxVQUFVLDRCQUE0QixDQUFDLFNBQTJCO0lBQ3BFLE9BQU8sQ0FBQyxLQUFVLEVBQUUsS0FBMkIsRUFBRSxFQUFFO1FBQy9DLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQztRQUNoRCxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQywrQkFBK0IsRUFBRSxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsNkJBQTZCLENBQUMsU0FBMkI7SUFDckUsT0FBTyxDQUFDLEtBQVUsRUFBRSxLQUEyQixFQUFFLEVBQUU7UUFDL0MsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDO1FBQ2hELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxFQUFFLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDO0lBQ3JILENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsNkJBQTZCLENBQUMsU0FBMkI7SUFDckUsT0FBTyxDQUFDLEtBQVUsRUFBRSxLQUEyQixFQUFFLEVBQUU7UUFDL0MsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDO1FBQ2hELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxFQUFFLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDO0lBQ3JILENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsU0FBMkI7SUFDL0QsT0FBTyxDQUFDLEtBQVUsRUFBRSxLQUEyQixFQUFFLEVBQUU7UUFDL0MsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDO1FBQ2hELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLDBCQUEwQixFQUFFLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsU0FBMkI7SUFDL0QsT0FBTyxDQUFDLEtBQVUsRUFBRSxLQUEyQixFQUFFLEVBQUU7UUFDL0MsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDO1FBQ2hELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLDBCQUEwQixFQUFFLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsK0JBQStCLENBQUMsU0FBMkI7SUFDdkUsT0FBTyxDQUFDLEtBQVUsRUFBRSxLQUEyQixFQUFFLEVBQUU7UUFDL0MsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDO1FBQ2hELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLDhCQUE4QixFQUFFLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO0lBQy9HLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCLENBQUMsU0FBMkI7SUFDakUsT0FBTyxDQUFDLEtBQVUsRUFBRSxLQUEyQixFQUFFLEVBQUU7UUFDL0MsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDO1FBQ2hELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLDRCQUE0QixFQUFFLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkIsQ0FBQyxTQUEyQixFQUFFLFFBQWtCO0lBQ3ZGLE9BQU8sQ0FBQyxLQUFVLEVBQUUsS0FBMkIsRUFBRSxFQUFFO1FBQy9DLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBdUMsQ0FBQztRQUM1RSxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsYUFBYSxDQUFDO1FBRTlDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDeEIsSUFBSSxVQUFVLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRW5FLElBQUksZUFBZSxDQUFDLGtCQUFrQixFQUFFO1lBQ3BDLFVBQVUsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztTQUMxRDtRQUVELE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsRUFBRSxFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsU0FBMkIsRUFBRSxRQUFrQjtJQUN2RixPQUFPLENBQUMsS0FBVSxFQUFFLEtBQTJCLEVBQUUsRUFBRTtRQUMvQyxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQXVDLENBQUM7UUFDNUUsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLGFBQWEsQ0FBQztRQUU5QyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLElBQUksVUFBVSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVuRSxJQUFJLGVBQWUsQ0FBQyxrQkFBa0IsRUFBRTtZQUNwQyxVQUFVLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDMUQ7UUFFRCxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsOEJBQThCLEVBQUUsRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxTQUEyQixFQUFFLFFBQWtCLEVBQVMsRUFBRTtJQUNsRyxPQUFPO1FBQ0gsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsQ0FBQyxTQUFTLENBQUMsRUFBQztRQUNwRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLDZCQUE2QixDQUFDLFNBQVMsQ0FBQyxFQUFDO1FBQ3RFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsNkJBQTZCLENBQUMsU0FBUyxDQUFDLEVBQUM7UUFDdEUsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsRUFBQztRQUMxRCxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxFQUFDO1FBQzFELEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsK0JBQStCLENBQUMsU0FBUyxDQUFDLEVBQUM7UUFDdEUsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsRUFBQztRQUM5RCxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLDJCQUEyQixDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBQztRQUM1RSxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLDJCQUEyQixDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBQztLQUMvRSxDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHtXcmFwcGVyT3B0aW9ufSBmcm9tICdAbmd4LWZvcm1seS9jb3JlL2xpYi9tb2RlbHMvY29uZmlnJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge0ZpZWxkSW5wdXREZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi9kZXNjcmlwdG9ycy9lZGl0b3InO1xuaW1wb3J0IHtcbiAgICBNbmdGb3JtbHlGaWVsZEFjdGlvbkNvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZERyb3Bkb3duQ29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkRmllbGRzZXRDb21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGRJbnB1dENvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZExhYmVsQ29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkTG9va3VwRGlhbG9nQ29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkVGFibGVEaWFsb2dGb3JtQ29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkVGFibGVEaWFsb2dNdWx0aXNlbGVjdENvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZFRhYnNDb21wb25lbnRcbn0gZnJvbSAnLi9maWVsZHMnO1xuaW1wb3J0IHtNbmdGb3JtbHlGaWVsZEN1c3RvbUNvbXBvbmVudH0gZnJvbSAnLi9maWVsZHMvZm9ybWx5LWZpZWxkLWN1c3RvbS9mb3JtbHktZmllbGQtY3VzdG9tLmNvbXBvbmVudCc7XG5pbXBvcnQge01uZ0Zvcm1seUZpZWxkQ29uZmlnLCBNbmdGb3JtbHlUeXBlQ29uZmlnfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQge01uZ0Zvcm1seUZpZWxkTm9MYWJlbFdyYXBwZXJDb21wb25lbnQsIE1uZ0Zvcm1seUZpZWxkV3JhcHBlckNvbXBvbmVudH0gZnJvbSAnLi93cmFwcGVycyc7XG5cbmV4cG9ydCBjb25zdCBmb3JtbHlXcmFwcGVyc0NvbmZpZzogV3JhcHBlck9wdGlvbltdID0gW1xuICAgIHtuYW1lOiAnZmllbGQnLCBjb21wb25lbnQ6IE1uZ0Zvcm1seUZpZWxkV3JhcHBlckNvbXBvbmVudH0sXG4gICAge25hbWU6ICdmaWVsZC1uby1sYWJlbCcsIGNvbXBvbmVudDogTW5nRm9ybWx5RmllbGROb0xhYmVsV3JhcHBlckNvbXBvbmVudH1cbl07XG5cbmV4cG9ydCBjb25zdCBmb3JtbHlUeXBlc0NvbmZpZzogTW5nRm9ybWx5VHlwZUNvbmZpZ1tdID0gW1xuICAgIHtcbiAgICAgICAgbmFtZTogJ2xhYmVsJyxcbiAgICAgICAgY29tcG9uZW50OiBNbmdGb3JtbHlGaWVsZExhYmVsQ29tcG9uZW50LFxuICAgICAgICB3cmFwcGVyczogWydmaWVsZCddXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdpbnB1dCcsXG4gICAgICAgIGNvbXBvbmVudDogTW5nRm9ybWx5RmllbGRJbnB1dENvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFsnZmllbGQnXVxuICAgIH0sXG4gICAge25hbWU6ICdzdHJpbmcnLCBleHRlbmRzOiAnaW5wdXQnfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdudW1iZXInLFxuICAgICAgICBleHRlbmRzOiAnaW5wdXQnLFxuICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdjdXJyZW5jeScsXG4gICAgICAgIGV4dGVuZHM6ICdpbnB1dCcsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2ludGVnZXInLFxuICAgICAgICBleHRlbmRzOiAnaW5wdXQnLFxuICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICd0ZXh0YXJlYScsXG4gICAgICAgIGV4dGVuZHM6ICdpbnB1dCcsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0YXJlYSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnc3dpdGNoJyxcbiAgICAgICAgY29tcG9uZW50OiBNbmdGb3JtbHlGaWVsZElucHV0Q29tcG9uZW50LFxuICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3dpdGNoJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdyYWRpbycsXG4gICAgICAgIGV4dGVuZHM6ICdpbnB1dCcsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdyYWRpbydcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnZGF0ZXBpY2tlcicsXG4gICAgICAgIGV4dGVuZHM6ICdpbnB1dCcsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdkYXRlcGlja2VyJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdtYXNrJyxcbiAgICAgICAgZXh0ZW5kczogJ2lucHV0JyxcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ21hc2snXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2ZpbGUnLFxuICAgICAgICBleHRlbmRzOiAnaW5wdXQnLFxuICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnZmlsZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnaW1hZ2VVcmwnLFxuICAgICAgICBjb21wb25lbnQ6IE1uZ0Zvcm1seUZpZWxkSW5wdXRDb21wb25lbnQsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdpbWFnZVVybCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgd3JhcHBlcnM6IFsnZmllbGQnXVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnZHJvcGRvd24nLFxuICAgICAgICBjb21wb25lbnQ6IE1uZ0Zvcm1seUZpZWxkRHJvcGRvd25Db21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkJ11cbiAgICB9LFxuICAgIHtuYW1lOiAnZW51bScsIGV4dGVuZHM6ICdkcm9wZG93bid9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2F1dG9jb21wbGV0ZScsXG4gICAgICAgIGNvbXBvbmVudDogTW5nRm9ybWx5RmllbGRBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkJ11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2FjdGlvbicsXG4gICAgICAgIGNvbXBvbmVudDogTW5nRm9ybWx5RmllbGRBY3Rpb25Db21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkLW5vLWxhYmVsJ11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2RpYWxvZycsXG4gICAgICAgIGNvbXBvbmVudDogTW5nRm9ybWx5RmllbGRMb29rdXBEaWFsb2dDb21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkJ11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ3RhYmxlLWRpYWxvZy1tdWx0aXNlbGVjdCcsXG4gICAgICAgIGNvbXBvbmVudDogTW5nRm9ybWx5RmllbGRUYWJsZURpYWxvZ011bHRpc2VsZWN0Q29tcG9uZW50LFxuICAgICAgICB3cmFwcGVyczogWydmaWVsZC1uby1sYWJlbCddXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICd0YWJsZS1kaWFsb2ctZm9ybScsXG4gICAgICAgIGNvbXBvbmVudDogTW5nRm9ybWx5RmllbGRUYWJsZURpYWxvZ0Zvcm1Db21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkLW5vLWxhYmVsJ11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ3RhYnMnLFxuICAgICAgICBjb21wb25lbnQ6IE1uZ0Zvcm1seUZpZWxkVGFic0NvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdmaWVsZHNldCcsXG4gICAgICAgIGNvbXBvbmVudDogTW5nRm9ybWx5RmllbGRGaWVsZHNldENvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdmb3JtbHktZ3JvdXAnLFxuICAgICAgICB3cmFwcGVyczogWydmaWVsZC1uby1sYWJlbCddXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdjdXN0b20nLFxuICAgICAgICBjb21wb25lbnQ6IE1uZ0Zvcm1seUZpZWxkQ3VzdG9tQ29tcG9uZW50LFxuICAgICAgICB3cmFwcGVyczogW11cbiAgICB9XG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVxdWlyZWRWYWxpZGF0aW9uTWVzc2FnZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpOiAoZXJyb3I6IGFueSwgZmllbGQ6IE1uZ0Zvcm1seUZpZWxkQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiAoZXJyb3I6IGFueSwgZmllbGQ6IE1uZ0Zvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkTGFiZWwgPSBmaWVsZC5wcm9wcy5sYWJlbCB8fCAnZmllbGQnO1xuICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSB0cmFuc2xhdGUuaW5zdGFudChmaWVsZExhYmVsKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudmFsaWRhdGlvbi5yZXF1aXJlZCcsIHtmaWVsZDogZmllbGROYW1lfSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1pbkxlbmd0aFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRMYWJlbCA9IGZpZWxkLnByb3BzLmxhYmVsID8/ICdmaWVsZCc7XG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHRyYW5zbGF0ZS5pbnN0YW50KGZpZWxkTGFiZWwpO1xuICAgICAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ21uZ0VkaXRvci52YWxpZGF0aW9uLm1pbkxlbmd0aCcsIHtmaWVsZDogZmllbGROYW1lLCBtaW5MZW5ndGg6IGZpZWxkLnByb3BzLm1pbkxlbmd0aH0pO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXhMZW5ndGhWYWxpZGF0aW9uTWVzc2FnZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpOiAoZXJyb3I6IGFueSwgZmllbGQ6IE1uZ0Zvcm1seUZpZWxkQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoZXJyb3I6IGFueSwgZmllbGQ6IE1uZ0Zvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkTGFiZWwgPSBmaWVsZC5wcm9wcy5sYWJlbCB8fCAnZmllbGQnO1xuICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSB0cmFuc2xhdGUuaW5zdGFudChmaWVsZExhYmVsKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudmFsaWRhdGlvbi5tYXhMZW5ndGgnLCB7ZmllbGQ6IGZpZWxkTmFtZSwgbWF4TGVuZ3RoOiBmaWVsZC5wcm9wcy5tYXhMZW5ndGh9KTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWluVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKTogKGVycm9yOiBhbnksIGZpZWxkOiBNbmdGb3JtbHlGaWVsZENvbmZpZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gKGVycm9yOiBhbnksIGZpZWxkOiBNbmdGb3JtbHlGaWVsZENvbmZpZykgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZExhYmVsID0gZmllbGQucHJvcHMubGFiZWwgPz8gJ2ZpZWxkJztcbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gdHJhbnNsYXRlLmluc3RhbnQoZmllbGRMYWJlbCk7XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnbW5nRWRpdG9yLnZhbGlkYXRpb24ubWluJywge2ZpZWxkOiBmaWVsZE5hbWUsIG1pbjogZmllbGQucHJvcHMubWlufSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1heFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRMYWJlbCA9IGZpZWxkLnByb3BzLmxhYmVsIHx8ICdmaWVsZCc7XG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHRyYW5zbGF0ZS5pbnN0YW50KGZpZWxkTGFiZWwpO1xuICAgICAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ21uZ0VkaXRvci52YWxpZGF0aW9uLm1heCcsIHtmaWVsZDogZmllbGROYW1lLCBtYXg6IGZpZWxkLnByb3BzLm1heH0pO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZXh0UGF0dGVyblZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRMYWJlbCA9IGZpZWxkLnByb3BzLmxhYmVsID8/ICdmaWVsZCc7XG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHRyYW5zbGF0ZS5pbnN0YW50KGZpZWxkTGFiZWwpO1xuICAgICAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ21uZ0VkaXRvci52YWxpZGF0aW9uLnBhdHRlcm4nLCB7ZmllbGQ6IGZpZWxkTmFtZSwgcGF0dGVybjogZmllbGQucHJvcHMucGF0dGVybn0pO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbWFpbFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRMYWJlbCA9IGZpZWxkLnByb3BzLmxhYmVsIHx8ICdmaWVsZCc7XG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHRyYW5zbGF0ZS5pbnN0YW50KGZpZWxkTGFiZWwpO1xuICAgICAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ21uZ0VkaXRvci52YWxpZGF0aW9uLmVtYWlsJywge2ZpZWxkOiBmaWVsZE5hbWV9KTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWluRGF0ZVZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgZGF0ZVBpcGU6IERhdGVQaXBlKTogKGVycm9yOiBhbnksIGZpZWxkOiBNbmdGb3JtbHlGaWVsZENvbmZpZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gKGVycm9yOiBhbnksIGZpZWxkOiBNbmdGb3JtbHlGaWVsZENvbmZpZykgPT4ge1xuICAgICAgICBjb25zdCBpbnB1dERlc2NyaXB0b3IgPSBmaWVsZC5wcm9wcy5kZXNjcmlwdG9yIGFzIEZpZWxkSW5wdXREZXNjcmlwdG9yPGFueT47XG4gICAgICAgIGNvbnN0IG1pbkRhdGUgPSBpbnB1dERlc2NyaXB0b3IuZGF0ZVBpY2tlck1pbjtcblxuICAgICAgICBpZiAoIW1pbkRhdGUpIHJldHVybiAnJztcbiAgICAgICAgbGV0IGRhdGVTdHJpbmcgPSBkYXRlUGlwZS50cmFuc2Zvcm0obWluRGF0ZSwgJ2RkLiBNTS4geXl5eScpID8/ICcnO1xuXG4gICAgICAgIGlmIChpbnB1dERlc2NyaXB0b3IuZGF0ZVBpY2tlclNob3dUaW1lKSB7XG4gICAgICAgICAgICBkYXRlU3RyaW5nICs9IGRhdGVQaXBlLnRyYW5zZm9ybShtaW5EYXRlLCAnIEhIOm1tOnNzJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ21uZ0VkaXRvci52YWxpZGF0aW9uLm1pbkRhdGUnLCB7bWluOiBkYXRlU3RyaW5nfSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1heERhdGVWYWxpZGF0aW9uTWVzc2FnZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGRhdGVQaXBlOiBEYXRlUGlwZSk6IChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXREZXNjcmlwdG9yID0gZmllbGQucHJvcHMuZGVzY3JpcHRvciBhcyBGaWVsZElucHV0RGVzY3JpcHRvcjxhbnk+O1xuICAgICAgICBjb25zdCBtYXhEYXRlID0gaW5wdXREZXNjcmlwdG9yLmRhdGVQaWNrZXJNYXg7XG5cbiAgICAgICAgaWYgKCFtYXhEYXRlKSByZXR1cm4gJyc7XG4gICAgICAgIGxldCBkYXRlU3RyaW5nID0gZGF0ZVBpcGUudHJhbnNmb3JtKG1heERhdGUsICdkZC4gTU0uIHl5eXknKSA/PyAnJztcblxuICAgICAgICBpZiAoaW5wdXREZXNjcmlwdG9yLmRhdGVQaWNrZXJTaG93VGltZSkge1xuICAgICAgICAgICAgZGF0ZVN0cmluZyArPSBkYXRlUGlwZS50cmFuc2Zvcm0obWF4RGF0ZSwgJyBISDptbTpzcycpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudmFsaWRhdGlvbi5tYXhEYXRlJywge21heDogZGF0ZVN0cmluZ30pO1xuICAgIH07XG59XG5cbmV4cG9ydCBjb25zdCBnZXRGb3JtbHlWYWxpZGF0aW9uTWVzc2FnZXMgPSAodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBkYXRlUGlwZTogRGF0ZVBpcGUpOiBhbnlbXSA9PiB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAge25hbWU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6IGdldFJlcXVpcmVkVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAnbWluTGVuZ3RoJywgbWVzc2FnZTogZ2V0TWluTGVuZ3RoVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAnbWF4TGVuZ3RoJywgbWVzc2FnZTogZ2V0TWF4TGVuZ3RoVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAnbWluJywgbWVzc2FnZTogZ2V0TWluVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAnbWF4JywgbWVzc2FnZTogZ2V0TWF4VmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAncGF0dGVybicsIG1lc3NhZ2U6IGdldFRleHRQYXR0ZXJuVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAnZW1haWwnLCBtZXNzYWdlOiBnZXRFbWFpbFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZSl9LFxuICAgICAgICB7bmFtZTogJ21pbkRhdGUnLCBtZXNzYWdlOiBnZXRNaW5EYXRlVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlLCBkYXRlUGlwZSl9LFxuICAgICAgICB7bmFtZTogJ21heERhdGUnLCBtZXNzYWdlOiBnZXRNYXhEYXRlVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlLCBkYXRlUGlwZSl9XG4gICAgXTtcbn07XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWZpZWxkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L21vZGVscy9mb3JtbHktZmllbGQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmllbGRUeXBlLCBGb3JtbHlGaWVsZENvbmZpZywgRm9ybWx5RmllbGRQcm9wc30gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5cbmltcG9ydCB7QUZpZWxkRGVzY3JpcHRvciwgQUZpZWxkR3JvdXBEZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi8uLi9kZXNjcmlwdG9ycy9lZGl0b3InO1xuaW1wb3J0IHtJRm9ybUVkaXRvckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuZXhwb3J0IHR5cGUgTW5nRm9ybWx5RmllbGRQcm9wcyA9IEZvcm1seUZpZWxkUHJvcHMgJiBNbmdGb3JtbHlGaWVsZEFkZGl0aW9uYWxQcm9wczx1bmtub3duLCB1bmtub3duPjtcblxuZXhwb3J0IGludGVyZmFjZSBNbmdGb3JtbHlGaWVsZENvbmZpZzxQcm9wcyA9IE1uZ0Zvcm1seUZpZWxkUHJvcHM+IGV4dGVuZHMgRm9ybWx5RmllbGRDb25maWc8UHJvcHM+IHtcbiAgICBwcm9wczogUHJvcHM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW5nRm9ybWx5RmllbGRBZGRpdGlvbmFsUHJvcHM8VCwgRVQ+IHtcbiAgICBkZXNjcmlwdG9yPzogQUZpZWxkRGVzY3JpcHRvcjxULCBFVD4gfCBBRmllbGRHcm91cERlc2NyaXB0b3I8RVQ+O1xuICAgIGZvcm1FZGl0b3JDb21wb25lbnQ/OiBJRm9ybUVkaXRvckNvbXBvbmVudDxFVD47XG4gICAgZmllbGRDb21wb25lbnQ/OiBGaWVsZFR5cGU8TW5nRm9ybWx5RmllbGRDb25maWc+O1xuICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICBoaWRlPzogYm9vbGVhbjtcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgW2FkZGl0aW9uYWxQcm9wZXJ0aWVzOiBzdHJpbmddOiBhbnk7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWZpZWxkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L21vZGVscy9mb3JtbHktZmllbGQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmllbGRUeXBlLCBGb3JtbHlGaWVsZENvbmZpZywgRm9ybWx5RmllbGRQcm9wc30gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5cbmltcG9ydCB7QUZpZWxkRGVzY3JpcHRvciwgQUZpZWxkR3JvdXBEZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi8uLi9kZXNjcmlwdG9ycy9lZGl0b3InO1xuaW1wb3J0IHtJRm9ybUVkaXRvckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuZXhwb3J0IHR5cGUgTW5nRm9ybWx5RmllbGRQcm9wcyA9IEZvcm1seUZpZWxkUHJvcHMgJiBNbmdGb3JtbHlGaWVsZEFkZGl0aW9uYWxQcm9wczx1bmtub3duLCB1bmtub3duPjtcblxuZXhwb3J0IGludGVyZmFjZSBNbmdGb3JtbHlGaWVsZENvbmZpZzxQcm9wcyA9IE1uZ0Zvcm1seUZpZWxkUHJvcHM+IGV4dGVuZHMgRm9ybWx5RmllbGRDb25maWc8UHJvcHM+IHtcbiAgICBwcm9wczogUHJvcHM7XG59XG5cbmV4cG9ydCB0eXBlIE1uZ0Zvcm1seUhvb2tGbiA9IChmaWVsZDogTW5nRm9ybWx5RmllbGRDb25maWcpID0+IHZvaWQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW5nRm9ybWx5RmllbGRBZGRpdGlvbmFsUHJvcHM8VCwgRVQ+IHtcbiAgICBkZXNjcmlwdG9yPzogQUZpZWxkRGVzY3JpcHRvcjxULCBFVD4gfCBBRmllbGRHcm91cERlc2NyaXB0b3I8RVQ+O1xuICAgIGZvcm1FZGl0b3JDb21wb25lbnQ/OiBJRm9ybUVkaXRvckNvbXBvbmVudDxFVD47XG4gICAgZmllbGRDb21wb25lbnQ/OiBGaWVsZFR5cGU8TW5nRm9ybWx5RmllbGRDb25maWc+O1xuICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICBoaWRlPzogYm9vbGVhbjtcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgW2FkZGl0aW9uYWxQcm9wZXJ0aWVzOiBzdHJpbmddOiBhbnk7XG59XG4iXX0=
@@ -6,11 +6,29 @@ import * as i0 from "@angular/core";
6
6
  import * as i1 from "@ngx-formly/core";
7
7
  import * as i2 from "@ngx-translate/core";
8
8
  export class MngFormlyFieldNoLabelWrapperComponent extends FieldWrapper {
9
+ shouldShowError() {
10
+ if (this.field.type !== 'formly-group' || (this.field.validators && Object.keys(this.field.validators).length > 0)) {
11
+ return true;
12
+ }
13
+ return false;
14
+ }
15
+ sanitizeErrorsForGroups(field) {
16
+ if (field.type === 'formly-group' && field.formControl?.errors && field.validators) {
17
+ const errors = {};
18
+ for (const key of Object.keys(field.formControl.errors)) {
19
+ if (Object.prototype.hasOwnProperty.call(field.validators, key)) {
20
+ errors[key] = field.validators[key];
21
+ }
22
+ }
23
+ return { ...field, formControl: { ...field.formControl, errors } };
24
+ }
25
+ return field;
26
+ }
9
27
  }
10
28
  MngFormlyFieldNoLabelWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: MngFormlyFieldNoLabelWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
11
- MngFormlyFieldNoLabelWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: MngFormlyFieldNoLabelWrapperComponent, isStandalone: true, selector: "mng-formly-field-no-label-wrapper", usesInheritance: true, ngImport: i0, template: "<div [class]=\"props['descriptor']?.['fieldClassName'] ?? 'field table'\">\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"props['descriptor']?.['helpText']\" class=\"block\">{{ props['descriptor']?.['helpText'] | translate }}</small>\n <small *ngIf=\"showError\" class=\"block p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i1.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
+ MngFormlyFieldNoLabelWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: MngFormlyFieldNoLabelWrapperComponent, isStandalone: true, selector: "mng-formly-field-no-label-wrapper", usesInheritance: true, ngImport: i0, template: "<div [class]=\"props['descriptor']?.['fieldClassName'] ?? 'field table'\">\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"props['descriptor']?.['helpText']\" class=\"block\">{{ props['descriptor']?.['helpText'] | translate }}</small>\n <small *ngIf=\"showError && shouldShowError()\" class=\"block p-error\">\n <formly-validation-message [field]=\"sanitizeErrorsForGroups(field)\"></formly-validation-message>\n </small>\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i1.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: MngFormlyFieldNoLabelWrapperComponent, decorators: [{
13
31
  type: Component,
14
- args: [{ standalone: true, selector: 'mng-formly-field-no-label-wrapper', imports: [FormlyModule, NgIf, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"props['descriptor']?.['fieldClassName'] ?? 'field table'\">\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"props['descriptor']?.['helpText']\" class=\"block\">{{ props['descriptor']?.['helpText'] | translate }}</small>\n <small *ngIf=\"showError\" class=\"block p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n" }]
32
+ args: [{ standalone: true, selector: 'mng-formly-field-no-label-wrapper', imports: [FormlyModule, NgIf, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"props['descriptor']?.['fieldClassName'] ?? 'field table'\">\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"props['descriptor']?.['helpText']\" class=\"block\">{{ props['descriptor']?.['helpText'] | translate }}</small>\n <small *ngIf=\"showError && shouldShowError()\" class=\"block p-error\">\n <formly-validation-message [field]=\"sanitizeErrorsForGroups(field)\"></formly-validation-message>\n </small>\n</div>\n" }]
15
33
  }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWZpZWxkLW5vLWxhYmVsLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L3dyYXBwZXJzL2Zvcm1seS1maWVsZC1uby1sYWJlbC13cmFwcGVyL2Zvcm1seS1maWVsZC1uby1sYWJlbC13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm1seS93cmFwcGVycy9mb3JtbHktZmllbGQtbm8tbGFiZWwtd3JhcHBlci9mb3JtbHktZmllbGQtbm8tbGFiZWwtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUMsWUFBWSxFQUFFLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQVNwRCxNQUFNLE9BQU8scUNBQXNDLFNBQVEsWUFBWTs7a0lBQTFELHFDQUFxQztzSEFBckMscUNBQXFDLG9IQ2JsRCx1YUFPQSwyQ0RHYyxZQUFZLG1KQUFFLElBQUksNEZBQUUsZUFBZTsyRkFHcEMscUNBQXFDO2tCQVBqRCxTQUFTO2lDQUNNLElBQUksWUFDTixtQ0FBbUMsV0FFcEMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQyxtQkFDN0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7RmllbGRXcmFwcGVyLCBGb3JtbHlNb2R1bGV9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLWZvcm1seS1maWVsZC1uby1sYWJlbC13cmFwcGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybWx5LWZpZWxkLW5vLWxhYmVsLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtGb3JtbHlNb2R1bGUsIE5nSWYsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTW5nRm9ybWx5RmllbGROb0xhYmVsV3JhcHBlckNvbXBvbmVudCBleHRlbmRzIEZpZWxkV3JhcHBlciB7fVxuIiwiPGRpdiBbY2xhc3NdPVwicHJvcHNbJ2Rlc2NyaXB0b3InXT8uWydmaWVsZENsYXNzTmFtZSddID8/ICdmaWVsZCB0YWJsZSdcIj5cbiAgICA8bmctY29udGFpbmVyICNmaWVsZENvbXBvbmVudD48L25nLWNvbnRhaW5lcj5cbiAgICA8c21hbGwgKm5nSWY9XCJwcm9wc1snZGVzY3JpcHRvciddPy5bJ2hlbHBUZXh0J11cIiBjbGFzcz1cImJsb2NrXCI+e3sgcHJvcHNbJ2Rlc2NyaXB0b3InXT8uWydoZWxwVGV4dCddIHwgdHJhbnNsYXRlIH19PC9zbWFsbD5cbiAgICA8c21hbGwgKm5nSWY9XCJzaG93RXJyb3JcIiBjbGFzcz1cImJsb2NrIHAtZXJyb3JcIj5cbiAgICAgICAgPGZvcm1seS12YWxpZGF0aW9uLW1lc3NhZ2UgW2ZpZWxkXT1cImZpZWxkXCI+PC9mb3JtbHktdmFsaWRhdGlvbi1tZXNzYWdlPlxuICAgIDwvc21hbGw+XG48L2Rpdj5cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWZpZWxkLW5vLWxhYmVsLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L3dyYXBwZXJzL2Zvcm1seS1maWVsZC1uby1sYWJlbC13cmFwcGVyL2Zvcm1seS1maWVsZC1uby1sYWJlbC13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm1seS93cmFwcGVycy9mb3JtbHktZmllbGQtbm8tbGFiZWwtd3JhcHBlci9mb3JtbHktZmllbGQtbm8tbGFiZWwtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUMsWUFBWSxFQUFFLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRTVELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQVNwRCxNQUFNLE9BQU8scUNBQXNDLFNBQVEsWUFBWTtJQUM1RCxlQUFlO1FBQ2xCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNoSCxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLEtBQXdCO1FBQ25ELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxjQUFjLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUNoRixNQUFNLE1BQU0sR0FBeUIsRUFBRSxDQUFDO1lBQ3hDLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNyRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxFQUFFO29CQUM3RCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDdkM7YUFDSjtZQUVELE9BQU8sRUFBQyxHQUFHLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBQyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFDLEVBQXNCLENBQUM7U0FDdkY7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOztrSUFyQlEscUNBQXFDO3NIQUFyQyxxQ0FBcUMsb0hDZGxELHFkQU9BLDJDREljLFlBQVksbUpBQUUsSUFBSSw0RkFBRSxlQUFlOzJGQUdwQyxxQ0FBcUM7a0JBUGpELFNBQVM7aUNBQ00sSUFBSSxZQUNOLG1DQUFtQyxXQUVwQyxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLG1CQUM3Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtGaWVsZFdyYXBwZXIsIEZvcm1seU1vZHVsZX0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQge0Zvcm1seUZpZWxkQ29uZmlnfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlL2xpYi9tb2RlbHMvZmllbGRjb25maWcnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLWZvcm1seS1maWVsZC1uby1sYWJlbC13cmFwcGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybWx5LWZpZWxkLW5vLWxhYmVsLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtGb3JtbHlNb2R1bGUsIE5nSWYsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTW5nRm9ybWx5RmllbGROb0xhYmVsV3JhcHBlckNvbXBvbmVudCBleHRlbmRzIEZpZWxkV3JhcHBlciB7XG4gICAgcHVibGljIHNob3VsZFNob3dFcnJvcigpIHtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQudHlwZSAhPT0gJ2Zvcm1seS1ncm91cCcgfHwgKHRoaXMuZmllbGQudmFsaWRhdG9ycyAmJiBPYmplY3Qua2V5cyh0aGlzLmZpZWxkLnZhbGlkYXRvcnMpLmxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHNhbml0aXplRXJyb3JzRm9yR3JvdXBzKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykge1xuICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2Zvcm1seS1ncm91cCcgJiYgZmllbGQuZm9ybUNvbnRyb2w/LmVycm9ycyAmJiBmaWVsZC52YWxpZGF0b3JzKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvcnM6IHtba2V5OiBzdHJpbmddOiBhbnl9ID0ge307XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhmaWVsZC5mb3JtQ29udHJvbC5lcnJvcnMpKSB7XG4gICAgICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChmaWVsZC52YWxpZGF0b3JzLCBrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yc1trZXldID0gZmllbGQudmFsaWRhdG9yc1trZXldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHsuLi5maWVsZCwgZm9ybUNvbnRyb2w6IHsuLi5maWVsZC5mb3JtQ29udHJvbCwgZXJyb3JzfX0gYXMgRm9ybWx5RmllbGRDb25maWc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgfVxufVxuIiwiPGRpdiBbY2xhc3NdPVwicHJvcHNbJ2Rlc2NyaXB0b3InXT8uWydmaWVsZENsYXNzTmFtZSddID8/ICdmaWVsZCB0YWJsZSdcIj5cbiAgICA8bmctY29udGFpbmVyICNmaWVsZENvbXBvbmVudD48L25nLWNvbnRhaW5lcj5cbiAgICA8c21hbGwgKm5nSWY9XCJwcm9wc1snZGVzY3JpcHRvciddPy5bJ2hlbHBUZXh0J11cIiBjbGFzcz1cImJsb2NrXCI+e3sgcHJvcHNbJ2Rlc2NyaXB0b3InXT8uWydoZWxwVGV4dCddIHwgdHJhbnNsYXRlIH19PC9zbWFsbD5cbiAgICA8c21hbGwgKm5nSWY9XCJzaG93RXJyb3IgJiYgc2hvdWxkU2hvd0Vycm9yKClcIiBjbGFzcz1cImJsb2NrIHAtZXJyb3JcIj5cbiAgICAgICAgPGZvcm1seS12YWxpZGF0aW9uLW1lc3NhZ2UgW2ZpZWxkXT1cInNhbml0aXplRXJyb3JzRm9yR3JvdXBzKGZpZWxkKVwiPjwvZm9ybWx5LXZhbGlkYXRpb24tbWVzc2FnZT5cbiAgICA8L3NtYWxsPlxuPC9kaXY+XG4iXX0=
@@ -7,18 +7,16 @@ import { RippleModule } from 'primeng/ripple';
7
7
  import { BehaviorSubject, Observable, combineLatest, distinctUntilChanged, from, of } from 'rxjs';
8
8
  import { first, map } from 'rxjs/operators';
9
9
  import { MngAuthorizationService } from '../../security';
10
- import { MngCommonsService } from '../../services';
11
- import { MngRouterService } from '../../services/router.service';
10
+ import { MngCommonsService, MngRouterService } from '../../services';
12
11
  import { RouteUtil } from '../../utils/route.util';
13
12
  import { MngMainLayoutComponentService } from './services';
14
13
  import * as i0 from "@angular/core";
15
14
  import * as i1 from "@angular/router";
16
- import * as i2 from "../../services/router.service";
15
+ import * as i2 from "../../services";
17
16
  import * as i3 from "../../security";
18
- import * as i4 from "../../services";
19
- import * as i5 from "./services";
20
- import * as i6 from "@ngx-translate/core";
21
- import * as i7 from "primeng/ripple";
17
+ import * as i4 from "./services";
18
+ import * as i5 from "@ngx-translate/core";
19
+ import * as i6 from "primeng/ripple";
22
20
  export class MngMenuItemComponent {
23
21
  constructor(injector, router, route, mngRouter, authorization, mngCommons, mainLayoutService) {
24
22
  this.injector = injector;
@@ -221,8 +219,8 @@ export class MngMenuItemComponent {
221
219
  }
222
220
  }
223
221
  }
224
- MngMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: MngMenuItemComponent, deps: [{ token: i0.Injector }, { token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.MngRouterService }, { token: i3.MngAuthorizationService }, { token: i4.MngCommonsService }, { token: i5.MngMainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
225
- MngMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: MngMenuItemComponent, isStandalone: true, selector: "[mng-menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey" }, outputs: { visibleChangeEventEmitter: "visibleChange" }, host: { properties: { "class.layout-root-menuitem": "root", "class.active-menuitem": "active", "class.py-0": "this.hostClassNoPadding", "class.hidden": "this.hostClassChildrenHidden" } }, ngImport: i0, template: "<ng-container *ngIf=\"isVisible$ | async\">\n <div *ngIf=\"root\" class=\"layout-menuitem-root-text\">\n {{ item.label! | translate }}\n </div>\n <a\n *ngIf=\"!item.routerLink || item.items\"\n [attr.href]=\"item.href\"\n (click)=\"itemClick($event)\"\n (mouseenter)=\"onMouseEnter()\"\n (keydown.enter)=\"itemClick($event)\"\n [routerLink]=\"item.routerLink\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item.className ?? ''\"\n pRipple>\n <i [ngClass]=\"item.icon ?? ''\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item.label! | translate }}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items || item.lazyChildren\"></i>\n <span class=\"menuitem-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </a>\n <a\n *ngIf=\"item.routerLink && !item.items\"\n (click)=\"itemClick($event)\"\n (mouseenter)=\"hover = true\"\n (mouseleave)=\"hover = false\"\n [routerLink]=\"item.routerLink\"\n routerLinkActive=\"active-menuitem-routerlink\"\n [routerLinkActiveOptions]=\"{paths: 'exact', matrixParams: 'ignored', queryParams: 'ignored', fragment: 'ignored'}\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item.className ?? ''\"\n pRipple>\n <i [ngClass]=\"item.icon ?? ''\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item.label! | translate }}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items || item.lazyChildren\"></i>\n <span class=\"menuitem-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </a>\n <ul\n *ngIf=\"item.items || (item.items && (mngCommons.menuModeIsStatic$ | async) && root)\"\n [@children]=\"\n (mngCommons.menuModeIsSlim$ | async) && (mainLayoutService.isMobile$ | async) === false && root\n ? active\n ? 'visible'\n : 'hidden'\n : (mngCommons.menuModeIsStatic$ | async) && root && (mainLayoutService.isMobile$ | async) === false\n ? 'visible'\n : active\n ? 'visibleAnimated'\n : 'hiddenAnimated'\n \">\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\n <li mng-menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeClassName\" (visibleChange)=\"onChildVisibleChange($event, item, i)\"></li>\n </ng-template>\n </ul>\n</ng-container>\n", dependencies: [{ kind: "component", type: MngMenuItemComponent, selector: "[mng-menuitem]", inputs: ["item", "index", "root", "parentKey"], outputs: ["visibleChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i7.Ripple, selector: "[pRipple]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }], animations: [
222
+ MngMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: MngMenuItemComponent, deps: [{ token: i0.Injector }, { token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.MngRouterService }, { token: i3.MngAuthorizationService }, { token: i2.MngCommonsService }, { token: i4.MngMainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
223
+ MngMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: MngMenuItemComponent, isStandalone: true, selector: "[mng-menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey" }, outputs: { visibleChangeEventEmitter: "visibleChange" }, host: { properties: { "class.layout-root-menuitem": "root", "class.active-menuitem": "active", "class.py-0": "this.hostClassNoPadding", "class.hidden": "this.hostClassChildrenHidden" } }, ngImport: i0, template: "<ng-container *ngIf=\"isVisible$ | async\">\n <div *ngIf=\"root\" class=\"layout-menuitem-root-text\">\n {{ item.label! | translate }}\n </div>\n <a\n *ngIf=\"!item.routerLink || item.items\"\n [attr.href]=\"item.href\"\n (click)=\"itemClick($event)\"\n (mouseenter)=\"onMouseEnter()\"\n (keydown.enter)=\"itemClick($event)\"\n [routerLink]=\"item.routerLink\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item.className ?? ''\"\n pRipple>\n <i [ngClass]=\"item.icon ?? ''\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item.label! | translate }}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items || item.lazyChildren\"></i>\n <span class=\"menuitem-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </a>\n <a\n *ngIf=\"item.routerLink && !item.items\"\n (click)=\"itemClick($event)\"\n (mouseenter)=\"hover = true\"\n (mouseleave)=\"hover = false\"\n [routerLink]=\"item.routerLink\"\n routerLinkActive=\"active-menuitem-routerlink\"\n [routerLinkActiveOptions]=\"{paths: 'exact', matrixParams: 'ignored', queryParams: 'ignored', fragment: 'ignored'}\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item.className ?? ''\"\n pRipple>\n <i [ngClass]=\"item.icon ?? ''\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item.label! | translate }}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items || item.lazyChildren\"></i>\n <span class=\"menuitem-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </a>\n <ul\n *ngIf=\"item.items || (item.items && (mngCommons.menuModeIsStatic$ | async) && root)\"\n [@children]=\"\n (mngCommons.menuModeIsSlim$ | async) && (mainLayoutService.isMobile$ | async) === false && root\n ? active\n ? 'visible'\n : 'hidden'\n : (mngCommons.menuModeIsStatic$ | async) && root && (mainLayoutService.isMobile$ | async) === false\n ? 'visible'\n : active\n ? 'visibleAnimated'\n : 'hiddenAnimated'\n \">\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\n <li mng-menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeClassName\" (visibleChange)=\"onChildVisibleChange($event, item, i)\"></li>\n </ng-template>\n </ul>\n</ng-container>\n", dependencies: [{ kind: "component", type: MngMenuItemComponent, selector: "[mng-menuitem]", inputs: ["item", "index", "root", "parentKey"], outputs: ["visibleChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i6.Ripple, selector: "[pRipple]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }], animations: [
226
224
  trigger('children', [
227
225
  state('void', style({
228
226
  height: '0px'
@@ -275,7 +273,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
275
273
  transition('void => visibleAnimated, visibleAnimated => void', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))
276
274
  ])
277
275
  ], template: "<ng-container *ngIf=\"isVisible$ | async\">\n <div *ngIf=\"root\" class=\"layout-menuitem-root-text\">\n {{ item.label! | translate }}\n </div>\n <a\n *ngIf=\"!item.routerLink || item.items\"\n [attr.href]=\"item.href\"\n (click)=\"itemClick($event)\"\n (mouseenter)=\"onMouseEnter()\"\n (keydown.enter)=\"itemClick($event)\"\n [routerLink]=\"item.routerLink\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item.className ?? ''\"\n pRipple>\n <i [ngClass]=\"item.icon ?? ''\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item.label! | translate }}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items || item.lazyChildren\"></i>\n <span class=\"menuitem-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </a>\n <a\n *ngIf=\"item.routerLink && !item.items\"\n (click)=\"itemClick($event)\"\n (mouseenter)=\"hover = true\"\n (mouseleave)=\"hover = false\"\n [routerLink]=\"item.routerLink\"\n routerLinkActive=\"active-menuitem-routerlink\"\n [routerLinkActiveOptions]=\"{paths: 'exact', matrixParams: 'ignored', queryParams: 'ignored', fragment: 'ignored'}\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item.className ?? ''\"\n pRipple>\n <i [ngClass]=\"item.icon ?? ''\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item.label! | translate }}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items || item.lazyChildren\"></i>\n <span class=\"menuitem-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </a>\n <ul\n *ngIf=\"item.items || (item.items && (mngCommons.menuModeIsStatic$ | async) && root)\"\n [@children]=\"\n (mngCommons.menuModeIsSlim$ | async) && (mainLayoutService.isMobile$ | async) === false && root\n ? active\n ? 'visible'\n : 'hidden'\n : (mngCommons.menuModeIsStatic$ | async) && root && (mainLayoutService.isMobile$ | async) === false\n ? 'visible'\n : active\n ? 'visibleAnimated'\n : 'hiddenAnimated'\n \">\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\n <li mng-menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeClassName\" (visibleChange)=\"onChildVisibleChange($event, item, i)\"></li>\n </ng-template>\n </ul>\n</ng-container>\n" }]
278
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.MngRouterService }, { type: i3.MngAuthorizationService }, { type: i4.MngCommonsService }, { type: i5.MngMainLayoutComponentService }]; }, propDecorators: { item: [{
276
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.MngRouterService }, { type: i3.MngAuthorizationService }, { type: i2.MngCommonsService }, { type: i4.MngMainLayoutComponentService }]; }, propDecorators: { item: [{
279
277
  type: Input
280
278
  }], index: [{
281
279
  type: Input
@@ -293,4 +291,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
293
291
  type: HostBinding,
294
292
  args: ['class.hidden']
295
293
  }] } });
296
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvbWVudS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUNILGNBQWMsRUFFZCxjQUFjLEVBRWQsYUFBYSxFQUNiLE1BQU0sRUFDTixVQUFVLEVBQ1YsZ0JBQWdCLEVBR25CLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsZUFBZSxFQUFFLFVBQVUsRUFBZ0IsYUFBYSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUcsT0FBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUkxQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNq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O2dDQUNGLE1BQU0sRUFBRSxHQUFHOzZCQUNkLENBQUMsQ0FDTDs0QkFDRCxLQUFLLENBQ0QsU0FBUyxFQUNULEtBQUssQ0FBQztnQ0FDRixNQUFNLEVBQUUsR0FBRztnQ0FDWCxTQUFTLEVBQUUsR0FBRzs2QkFDakIsQ0FBQyxDQUNMOzRCQUNELEtBQUssQ0FDRCxRQUFRLEVBQ1IsS0FBSyxDQUFDO2dDQUNGLE1BQU0sRUFBRSxLQUFLO2dDQUNiLFNBQVMsRUFBRSxHQUFHOzZCQUNqQixDQUFDLENBQ0w7NEJBQ0QsVUFBVSxDQUFDLG1DQUFtQyxFQUFFLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDOzRCQUNoRyxVQUFVLENBQUMsbUNBQW1DLEVBQUUsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7NEJBQ2hHLFVBQVUsQ0FBQyxrREFBa0QsRUFBRSxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQzt5QkFDbEgsQ0FBQztxQkFDTDtrU0FJUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVtQix5QkFBeUI7c0JBQWpELE1BQU07dUJBQUMsZUFBZTtnQkFFWSxrQkFBa0I7c0JBQXBELFdBQVc7dUJBQUMsWUFBWTtnQkFDWSx1QkFBdUI7c0JBQTNELFdBQVc7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7QXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0Zvck9mLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFjdGl2YXRlZFJvdXRlLFxuICAgIENhbkFjdGl2YXRlLFxuICAgIEd1YXJkc0NoZWNrRW5kLFxuICAgIElzQWN0aXZlTWF0Y2hPcHRpb25zLFxuICAgIE5hdmlnYXRpb25FbmQsXG4gICAgUm91dGVyLFxuICAgIFJvdXRlckxpbmssXG4gICAgUm91dGVyTGlua0FjdGl2ZSxcbiAgICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICAgIFVybFRyZWVcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtSaXBwbGVNb2R1bGV9IGZyb20gJ3ByaW1lbmcvcmlwcGxlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIGNvbWJpbmVMYXRlc3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmcm9tLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpcnN0LCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtNbmdNZW51SXRlbX0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7TW5nUm91dGVyRGF0YX0gZnJvbSAnLi4vLi4vcm91dGVyL21vZGVscyc7XG5pbXBvcnQge01uZ0F1dGhvcml6YXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZWN1cml0eSc7XG5pbXBvcnQge01uZ0NvbW1vbnNTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge01uZ1JvdXRlclNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JvdXRlci5zZXJ2aWNlJztcbmltcG9ydCB7Um91dGVVdGlsfSBmcm9tICcuLi8uLi91dGlscy9yb3V0ZS51dGlsJztcbmltcG9ydCB7TW5nTWFpbkxheW91dENvbXBvbmVudFNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbbW5nLW1lbnVpdGVtXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmxheW91dC1yb290LW1lbnVpdGVtXSc6ICdyb290JyxcbiAgICAgICAgJ1tjbGFzcy5hY3RpdmUtbWVudWl0ZW1dJzogJ2FjdGl2ZSdcbiAgICB9LFxuICAgIGltcG9ydHM6IFtBc3luY1BpcGUsIFRyYW5zbGF0ZU1vZHVsZSwgTmdDbGFzcywgTmdGb3JPZiwgTmdJZiwgUmlwcGxlTW9kdWxlLCBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rQWN0aXZlXSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2NoaWxkcmVuJywgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ3ZvaWQnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMHB4J1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2hpZGRlbkFuaW1hdGVkJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzBweCdcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICd2aXNpYmxlQW5pbWF0ZWQnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnKidcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICd2aXNpYmxlJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJyonLFxuICAgICAgICAgICAgICAgICAgICAnei1pbmRleCc6IDEwMFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcwcHgnLFxuICAgICAgICAgICAgICAgICAgICAnei1pbmRleCc6ICcqJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndmlzaWJsZUFuaW1hdGVkID0+IGhpZGRlbkFuaW1hdGVkJywgYW5pbWF0ZSgnNDAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJykpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignaGlkZGVuQW5pbWF0ZWQgPT4gdmlzaWJsZUFuaW1hdGVkJywgYW5pbWF0ZSgnNDAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJykpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiB2aXNpYmxlQW5pbWF0ZWQsIHZpc2libGVBbmltYXRlZCA9PiB2b2lkJywgYW5pbWF0ZSgnNDAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJykpXG4gICAgICAgIF0pXG4gICAgXVxuICAgIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1uZ01lbnVJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGl0ZW0hOiBNbmdNZW51SXRlbTtcbiAgICBASW5wdXQoKSBpbmRleCA9IDA7XG4gICAgQElucHV0KCkgcm9vdCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHBhcmVudEtleTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBAT3V0cHV0KCd2aXNpYmxlQ2hhbmdlJykgdmlzaWJsZUNoYW5nZUV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MucHktMCcpIHByaXZhdGUgaG9zdENsYXNzTm9QYWRkaW5nID0gZmFsc2U7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oaWRkZW4nKSBwcml2YXRlIGhvc3RDbGFzc0NoaWxkcmVuSGlkZGVuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMga2V5ID0gJyc7XG4gICAgcHVibGljIGFjdGl2ZSA9IGZhbHNlO1xuICAgIHB1YmxpYyBob3ZlciA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBndWFyZHNJc0FsbG93ZWRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcbiAgICBwcml2YXRlIGd1YXJkc0lzQWxsb3dlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcHJpdmF0ZSBpc1Blcm1pdHRlZFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xuICAgIHByaXZhdGUgaXNQZXJtaXR0ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIHByaXZhdGUgaXNWaXNpYmxlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QodHJ1ZSk7XG4gICAgcHVibGljIGlzVmlzaWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICBwcml2YXRlIGNoaWxkcmVuVmlzaWJpbGl0eVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPltdID0gW107XG5cbiAgICBwcml2YXRlIGl0ZW1Vcmw/OiBzdHJpbmcgfCBVcmxUcmVlO1xuICAgIHByaXZhdGUgbWVudVNvdXJjZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIG1lbnVSZXNldFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIHJvdXRlckV2ZW50c1N1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIGd1YXJkc0lzQWxsb3dlZFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIGlzUGVybWl0dGVkU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgaXNWaXNpYmxlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgaXNWaXNpYmxlQ29tYmluZWRTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBhcmVDaGlsZHJlblZpc2libGVTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSByb3V0ZUxvYWRlZENoaWxkcmVuU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBtbmdSb3V0ZXI6IE1uZ1JvdXRlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXV0aG9yaXphdGlvbjogTW5nQXV0aG9yaXphdGlvblNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBtbmdDb21tb25zOiBNbmdDb21tb25zU2VydmljZSxcbiAgICAgICAgcHVibGljIG1haW5MYXlvdXRTZXJ2aWNlOiBNbmdNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmd1YXJkc0lzQWxsb3dlZCQgPSB0aGlzLmd1YXJkc0lzQWxsb3dlZFN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICAgICAgdGhpcy5pc1Blcm1pdHRlZCQgPSB0aGlzLmlzUGVybWl0dGVkU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgICAgICB0aGlzLmlzVmlzaWJsZSQgPSB0aGlzLmlzVmlzaWJsZVN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5rZXkgPSB0aGlzLnBhcmVudEtleSA/IHRoaXMucGFyZW50S2V5ICsgJy0nICsgdGhpcy5pbmRleCA6IFN0cmluZyh0aGlzLmluZGV4KTtcbiAgICAgICAgaWYgKHRoaXMuaXRlbS5yb3V0ZXJMaW5rKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuaXRlbS5yb3V0ZXJMaW5rID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbVVybCA9IHRoaXMuaXRlbS5yb3V0ZXJMaW5rO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1VcmwgPSB0aGlzLnJvdXRlci5wYXJzZVVybCh0aGlzLml0ZW0ucm91dGVyTGluay5qb2luKCcvJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLm1uZ0NvbW1vbnMubWVudU1vZGVJc1NsaW0gJiYgdGhpcy5pdGVtLnJvdXRlckxpbmspIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQWN0aXZlU3RhdGVGcm9tUm91dGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubWVudVNvdXJjZVN1YnNjcmlwdGlvbiA9IHRoaXMubW5nQ29tbW9ucy5tZW51QWN0aXZlS2V5JC5zdWJzY3JpYmUoa2V5ID0+IHtcbiAgICAgICAgICAgIC8vIGRlYWN0aXZhdGUgY3VycmVudCBhY3RpdmUgbWVudVxuICAgICAgICAgICAgaWYgKHRoaXMuYWN0aXZlICYmIHRoaXMua2V5ICE9PSBrZXkgJiYga2V5LmluZGV4T2YodGhpcy5rZXkpICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5tZW51UmVzZXRTdWJzY3JpcHRpb24gPSB0aGlzLm1uZ0NvbW1vbnMubWVudVJlc2V0JC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXRlbS5sYXp5Q2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVMb2FkZWRDaGlsZHJlblN1YnNjcmlwdGlvbiA9IHRoaXMubW5nUm91dGVyLmdldFJvdXRlTG9hZGVkQ2hpbGRyZW4kKHRoaXMuaXRlbS5yb3V0ZXJMaW5rID8/ICcvJykuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICBuZXh0OiByb3V0ZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbWVudUl0ZW1zID0gcm91dGVzLmZpbHRlcihyID0+IEFycmF5LmlzQXJyYXkoKHIuZGF0YSBhcyBNbmdSb3V0ZXJEYXRhIHwgdW5kZWZpbmVkKT8ubWVudUl0ZW1zKSkuZmxhdE1hcChyID0+IChyLmRhdGEgYXMgTW5nUm91dGVyRGF0YSkubWVudUl0ZW1zISk7XG4gICAgICAgICAgICAgICAgICAgIG1lbnVJdGVtcyA9IFJvdXRlVXRpbC5hZGp1c3RNZW51TGF6eUNoaWxkcmVuUm91dGVyTGlua3ModGhpcy5pdGVtLCBtZW51SXRlbXMpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbS5pdGVtcyA9IG1lbnVJdGVtcztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtLmxhenlDaGlsZHJlbiA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0l0ZW1DaGlsZHJlblZpc2liaWxpdHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucm91dGVyRXZlbnRzU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShuZXh0ID0+IHtcbiAgICAgICAgICAgIGlmIChuZXh0IGluc3RhbmNlb2YgR3VhcmRzQ2hlY2tFbmQgJiYgbmV4dC5zaG91bGRBY3RpdmF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tJZk1lbnVJdGVtSXNBbGxvd2VkRnJvbUd1YXJkKG5leHQuc3RhdGUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChuZXh0IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm1uZ0NvbW1vbnMubWVudU1vZGVJc1NsaW0gJiYgIXRoaXMubWFpbkxheW91dFNlcnZpY2UuaXNNb2JpbGUoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQWN0aXZlU3RhdGVGcm9tUm91dGUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLml0ZW0ucGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHRoaXMuaXNQZXJtaXR0ZWRTdWJzY3JpcHRpb24gPSB0aGlzLmF1dGhvcml6YXRpb24uaXNQZXJtaXR0ZWQodGhpcy5pdGVtLnBlcm1pc3Npb25zKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6IGlzUGVybWl0dGVkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1Blcm1pdHRlZFN1YmplY3QubmV4dChpc1Blcm1pdHRlZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoZWNrSWZNZW51SXRlbUlzQWxsb3dlZEZyb21HdWFyZCh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdCk7XG5cbiAgICAgICAgdGhpcy5pc1Zpc2libGVDb21iaW5lZFN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW29mKHRoaXMuaXRlbS52aXNpYmxlICE9PSBmYWxzZSksIHRoaXMuaXNQZXJtaXR0ZWQkLCB0aGlzLmd1YXJkc0lzQWxsb3dlZCRdKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc1Zpc2libGUgPSByZXMuZXZlcnkociA9PiByID09PSB0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhvc3RDbGFzc05vUGFkZGluZyA9ICFpc1Zpc2libGU7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Zpc2libGVTdWJqZWN0Lm5leHQoaXNWaXNpYmxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlU3Vic2NyaXB0aW9uID0gdGhpcy5pc1Zpc2libGUkLnN1YnNjcmliZSh2ID0+IHtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZUV2ZW50RW1pdHRlci5lbWl0KHYpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnByb2Nlc3NJdGVtQ2hpbGRyZW5WaXNpYmlsaXR5KCk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWN0aXZlU3RhdGVGcm9tUm91dGUoKSB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1VcmwpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gdGhpcy5yb3V0ZXIuaXNBY3RpdmUodGhpcy5pdGVtVXJsLCA8SXNBY3RpdmVNYXRjaE9wdGlvbnM+e1xuICAgICAgICAgICAgICAgIG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnLFxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiAnaWdub3JlZCcsXG4gICAgICAgICAgICAgICAgcGF0aHM6IHRoaXMuaXRlbS5pdGVtcyA/ICdzdWJzZXQnIDogJ2V4YWN0JyxcbiAgICAgICAgICAgICAgICBmcmFnbWVudDogJ2lnbm9yZWQnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpdGVtQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIC8vIGF2b2lkIHByb2Nlc3NpbmcgZGlzYWJsZWQgaXRlbXNcbiAgICAgICAgaWYgKHRoaXMuaXRlbS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG5hdmlnYXRlIHdpdGggaG92ZXIgaW4gaG9yaXpvbnRhbCBtb2RlXG4gICAgICAgIGlmICh0aGlzLnJvb3QpIHtcbiAgICAgICAgICAgIHRoaXMubWFpbkxheW91dFNlcnZpY2UubWVudUhvdmVyQWN0aXZlID0gIXRoaXMubWFpbkxheW91dFNlcnZpY2UubWVudUhvdmVyQWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gbm90aWZ5IG90aGVyIGl0ZW1zXG4gICAgICAgIHRoaXMubW5nQ29tbW9ucy5tZW51Q2hhbmdlQWN0aXZlS2V5KHRoaXMua2V5KTtcblxuICAgICAgICAvLyB0b2dnbGUgYWN0aXZlIHN0YXRlXG4gICAgICAgIGlmICh0aGlzLml0ZW0uaXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gIXRoaXMuYWN0aXZlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gYWN0aXZhdGUgaXRlbVxuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5tYWluTGF5b3V0U2VydmljZS5pc01vYmlsZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYWluTGF5b3V0U2VydmljZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm1uZ0NvbW1vbnMubWVudU1vZGVJc092ZXJsYXkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1haW5MYXlvdXRTZXJ2aWNlLm92ZXJsYXlNZW51QWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHJlc2V0IGhvcml6b250YWwgbWVudVxuICAgICAgICAgICAgaWYgKHRoaXMubW5nQ29tbW9ucy5tZW51TW9kZUlzU2xpbSAmJiAhdGhpcy5tYWluTGF5b3V0U2VydmljZS5pc01vYmlsZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tbmdDb21tb25zLm1lbnVSZXNldCgpO1xuICAgICAgICAgICAgICAgIHRoaXMubWFpbkxheW91dFNlcnZpY2UubWVudUhvdmVyQWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1vdXNlRW50ZXIoKSB7XG4gICAgICAgIC8vIGFjdGl2YXRlIGl0ZW0gb24gaG92ZXJcbiAgICAgICAgaWYgKHRoaXMucm9vdCAmJiB0aGlzLm1haW5MYXlvdXRTZXJ2aWNlLm1lbnVIb3ZlckFjdGl2ZSAmJiB0aGlzLm1uZ0NvbW1vbnMubWVudU1vZGVJc1NsaW0gJiYgdGhpcy5tYWluTGF5b3V0U2VydmljZS5pc0Rlc2t0b3AoKSkge1xuICAgICAgICAgICAgdGhpcy5tbmdDb21tb25zLm1lbnVDaGFuZ2VBY3RpdmVLZXkodGhpcy5rZXkpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubWVudVNvdXJjZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5tZW51UmVzZXRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMucm91dGVyRXZlbnRzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmd1YXJkc0lzQWxsb3dlZFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5pc1Blcm1pdHRlZFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5pc1Zpc2libGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlQ29tYmluZWRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuYXJlQ2hpbGRyZW5WaXNpYmxlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnJvdXRlTG9hZGVkQ2hpbGRyZW5TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgb25DaGlsZFZpc2libGVDaGFuZ2UodmlzaWJsZTogYm9vbGVhbiwgaXRlbTogTW5nTWVudUl0ZW0sIGlkeDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuY2hpbGRyZW5WaXNpYmlsaXR5U3ViamVjdFtpZHhdLm5leHQodmlzaWJsZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0lmTWVudUl0ZW1Jc0FsbG93ZWRGcm9tR3VhcmQocm91dGVyU3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpIHtcbiAgICAgICAgdGhpcy5ndWFyZHNJc0FsbG93ZWRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIGlmICh0aGlzLml0ZW0uZ3VhcmRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IG9icyA9IFtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCBndWFyZCBvZiB0aGlzLml0ZW0uZ3VhcmRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9rZW5JbmplY3RlZEluc3RhbmNlID0gdGhpcy5pbmplY3Rvci5nZXQoZ3VhcmQpO1xuICAgICAgICAgICAgICAgIGlmICh0b2tlbkluamVjdGVkSW5zdGFuY2UgJiYgJ2NhbkFjdGl2YXRlJyBpbiB0b2tlbkluamVjdGVkSW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3VhcmRJbnN0YW5jZSA9IHRva2VuSW5qZWN0ZWRJbnN0YW5jZSBhcyBDYW5BY3RpdmF0ZTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2FuQWN0aXZhdGVSZXMgPSBndWFyZEluc3RhbmNlLmNhbkFjdGl2YXRlKHRoaXMucm91dGUuc25hcHNob3QsIHJvdXRlclN0YXRlKTtcblxuICAgICAgICAgICAgICAgICAgICBsZXQgY2FuQWN0aXZhdGVPYnM6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+O1xuICAgICAgICAgICAgICAgICAgICBpZiAoY2FuQWN0aXZhdGVSZXMgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYW5BY3RpdmF0ZU9icyA9IGNhbkFjdGl2YXRlUmVzO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNhbkFjdGl2YXRlUmVzIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FuQWN0aXZhdGVPYnMgPSBmcm9tKGNhbkFjdGl2YXRlUmVzKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbkFjdGl2YXRlT2JzID0gb2YoY2FuQWN0aXZhdGVSZXMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG9icy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FuQWN0aXZhdGVPYnMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChyZXMgPT4gcmVzID09PSB0cnVlKSAvLyBpZiB1cmwgdHJlZSBpcyBwcmVzZW50LCB0aGF0IG1lYW5zIHJlZGlyZWN0IGFuZCBpbXBsaWVzIG5vdCBhbGxvd2VkXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5ndWFyZHNJc0FsbG93ZWRTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KG9icylcbiAgICAgICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUobmV4dCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5leHQuZXZlcnkobiA9PiBuID09PSB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ndWFyZHNJc0FsbG93ZWRTdWJqZWN0Lm5leHQocmVzdWx0KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ3VhcmRzSXNBbGxvd2VkU3ViamVjdC5uZXh0KHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzSXRlbUNoaWxkcmVuVmlzaWJpbGl0eSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbS5pdGVtcykge1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlblZpc2liaWxpdHlTdWJqZWN0ID0gdGhpcy5pdGVtLml0ZW1zLm1hcCgoKSA9PiBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpKTtcblxuICAgICAgICAgICAgdGhpcy5hcmVDaGlsZHJlblZpc2libGVTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KHRoaXMuY2hpbGRyZW5WaXNpYmlsaXR5U3ViamVjdC5tYXAocyA9PiBzLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSkpKS5zdWJzY3JpYmUodmlzaWJsZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYW55Q2hpbGRWaXNpYmxlID0gdmlzaWJsZS5zb21lKHYgPT4gdiA9PT0gdHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5ob3N0Q2xhc3NDaGlsZHJlbkhpZGRlbiA9ICFhbnlDaGlsZFZpc2libGU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1Zpc2libGUkIHwgYXN5bmNcIj5cbiAgICA8ZGl2ICpuZ0lmPVwicm9vdFwiIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXJvb3QtdGV4dFwiPlxuICAgICAgICB7eyBpdGVtLmxhYmVsISB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvZGl2PlxuICAgIDxhXG4gICAgICAgICpuZ0lmPVwiIWl0ZW0ucm91dGVyTGluayB8fCBpdGVtLml0ZW1zXCJcbiAgICAgICAgW2F0dHIuaHJlZl09XCJpdGVtLmhyZWZcIlxuICAgICAgICAoY2xpY2spPVwiaXRlbUNsaWNrKCRldmVudClcIlxuICAgICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIml0ZW1DbGljaygkZXZlbnQpXCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZXJMaW5rXCJcbiAgICAgICAgW2F0dHIudGFyZ2V0XT1cIml0ZW0udGFyZ2V0XCJcbiAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiMFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3NOYW1lID8/ICcnXCJcbiAgICAgICAgcFJpcHBsZT5cbiAgICAgICAgPGkgW25nQ2xhc3NdPVwiaXRlbS5pY29uID8/ICcnXCIgY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0taWNvblwiPjwvaT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0tdGV4dFwiPnt7IGl0ZW0ubGFiZWwhIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWZ3IHBpLWFuZ2xlLWRvd24gbGF5b3V0LXN1Ym1lbnUtdG9nZ2xlclwiICpuZ0lmPVwiaXRlbS5pdGVtcyB8fCBpdGVtLmxhenlDaGlsZHJlblwiPjwvaT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51aXRlbS1iYWRnZVwiICpuZ0lmPVwiaXRlbS5iYWRnZVwiPnt7IGl0ZW0uYmFkZ2UgfX08L3NwYW4+XG4gICAgPC9hPlxuICAgIDxhXG4gICAgICAgICpuZ0lmPVwiaXRlbS5yb3V0ZXJMaW5rICYmICFpdGVtLml0ZW1zXCJcbiAgICAgICAgKGNsaWNrKT1cIml0ZW1DbGljaygkZXZlbnQpXCJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwiaG92ZXIgPSB0cnVlXCJcbiAgICAgICAgKG1vdXNlbGVhdmUpPVwiaG92ZXIgPSBmYWxzZVwiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmUtbWVudWl0ZW0tcm91dGVybGlua1wiXG4gICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7cGF0aHM6ICdleGFjdCcsIG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnLCBxdWVyeVBhcmFtczogJ2lnbm9yZWQnLCBmcmFnbWVudDogJ2lnbm9yZWQnfVwiXG4gICAgICAgIFthdHRyLnRhcmdldF09XCJpdGVtLnRhcmdldFwiXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cIjBcIlxuICAgICAgICBbbmdDbGFzc109XCJpdGVtLmNsYXNzTmFtZSA/PyAnJ1wiXG4gICAgICAgIHBSaXBwbGU+XG4gICAgICAgIDxpIFtuZ0NsYXNzXT1cIml0ZW0uaWNvbiA/PyAnJ1wiIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLWljb25cIj48L2k+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXRleHRcIj57eyBpdGVtLmxhYmVsISB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1hbmdsZS1kb3duIGxheW91dC1zdWJtZW51LXRvZ2dsZXJcIiAqbmdJZj1cIml0ZW0uaXRlbXMgfHwgaXRlbS5sYXp5Q2hpbGRyZW5cIj48L2k+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWVudWl0ZW0tYmFkZ2VcIiAqbmdJZj1cIml0ZW0uYmFkZ2VcIj57eyBpdGVtLmJhZGdlIH19PC9zcGFuPlxuICAgIDwvYT5cbiAgICA8dWxcbiAgICAgICAgKm5nSWY9XCJpdGVtLml0ZW1zIHx8IChpdGVtLml0ZW1zICYmIChtbmdDb21tb25zLm1lbnVNb2RlSXNTdGF0aWMkIHwgYXN5bmMpICYmIHJvb3QpXCJcbiAgICAgICAgW0BjaGlsZHJlbl09XCJcbiAgICAgICAgICAgIChtbmdDb21tb25zLm1lbnVNb2RlSXNTbGltJCB8IGFzeW5jKSAmJiAobWFpbkxheW91dFNlcnZpY2UuaXNNb2JpbGUkIHwgYXN5bmMpID09PSBmYWxzZSAmJiByb290XG4gICAgICAgICAgICAgICAgPyBhY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgPyAndmlzaWJsZSdcbiAgICAgICAgICAgICAgICAgICAgOiAnaGlkZGVuJ1xuICAgICAgICAgICAgICAgIDogKG1uZ0NvbW1vbnMubWVudU1vZGVJc1N0YXRpYyQgfCBhc3luYykgJiYgcm9vdCAmJiAobWFpbkxheW91dFNlcnZpY2UuaXNNb2JpbGUkIHwgYXN5bmMpID09PSBmYWxzZVxuICAgICAgICAgICAgICAgID8gJ3Zpc2libGUnXG4gICAgICAgICAgICAgICAgOiBhY3RpdmVcbiAgICAgICAgICAgICAgICA/ICd2aXNpYmxlQW5pbWF0ZWQnXG4gICAgICAgICAgICAgICAgOiAnaGlkZGVuQW5pbWF0ZWQnXG4gICAgICAgIFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWNoaWxkIGxldC1pPVwiaW5kZXhcIiBbbmdGb3JPZl09XCJpdGVtLml0ZW1zXCI+XG4gICAgICAgICAgICA8bGkgbW5nLW1lbnVpdGVtIFtpdGVtXT1cImNoaWxkXCIgW2luZGV4XT1cImlcIiBbcGFyZW50S2V5XT1cImtleVwiIFtjbGFzc109XCJjaGlsZC5iYWRnZUNsYXNzTmFtZVwiICh2aXNpYmxlQ2hhbmdlKT1cIm9uQ2hpbGRWaXNpYmxlQ2hhbmdlKCRldmVudCwgaXRlbSwgaSlcIj48L2xpPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdWw+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
294
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvbWVudS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUNILGNBQWMsRUFFZCxjQUFjLEVBRWQsYUFBYSxFQUNiLE1BQU0sRUFDTixVQUFVLEVBQ1YsZ0JBQWdCLEVBR25CLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsZUFBZSxFQUFFLFVBQVUsRUFBZ0IsYUFBYSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUcsT0FBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUkxQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxnQkFB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QUNMOzRCQUNELEtBQUssQ0FDRCxTQUFTLEVBQ1QsS0FBSyxDQUFDO2dDQUNGLE1BQU0sRUFBRSxHQUFHO2dDQUNYLFNBQVMsRUFBRSxHQUFHOzZCQUNqQixDQUFDLENBQ0w7NEJBQ0QsS0FBSyxDQUNELFFBQVEsRUFDUixLQUFLLENBQUM7Z0NBQ0YsTUFBTSxFQUFFLEtBQUs7Z0NBQ2IsU0FBUyxFQUFFLEdBQUc7NkJBQ2pCLENBQUMsQ0FDTDs0QkFDRCxVQUFVLENBQUMsbUNBQW1DLEVBQUUsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7NEJBQ2hHLFVBQVUsQ0FBQyxtQ0FBbUMsRUFBRSxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQzs0QkFDaEcsVUFBVSxDQUFDLGtEQUFrRCxFQUFFLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO3lCQUNsSCxDQUFDO3FCQUNMO2tTQUlRLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRW1CLHlCQUF5QjtzQkFBakQsTUFBTTt1QkFBQyxlQUFlO2dCQUVZLGtCQUFrQjtzQkFBcEQsV0FBVzt1QkFBQyxZQUFZO2dCQUNZLHVCQUF1QjtzQkFBM0QsV0FBVzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtBc3luY1BpcGUsIE5nQ2xhc3MsIE5nRm9yT2YsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWN0aXZhdGVkUm91dGUsXG4gICAgQ2FuQWN0aXZhdGUsXG4gICAgR3VhcmRzQ2hlY2tFbmQsXG4gICAgSXNBY3RpdmVNYXRjaE9wdGlvbnMsXG4gICAgTmF2aWdhdGlvbkVuZCxcbiAgICBSb3V0ZXIsXG4gICAgUm91dGVyTGluayxcbiAgICBSb3V0ZXJMaW5rQWN0aXZlLFxuICAgIFJvdXRlclN0YXRlU25hcHNob3QsXG4gICAgVXJsVHJlZVxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1JpcHBsZU1vZHVsZX0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgY29tYmluZUxhdGVzdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZyb20sIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Zmlyc3QsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge01uZ01lbnVJdGVtfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtNbmdSb3V0ZXJEYXRhfSBmcm9tICcuLi8uLi9yb3V0ZXIvbW9kZWxzJztcbmltcG9ydCB7TW5nQXV0aG9yaXphdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlY3VyaXR5JztcbmltcG9ydCB7TW5nQ29tbW9uc1NlcnZpY2UsIE1uZ1JvdXRlclNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7Um91dGVVdGlsfSBmcm9tICcuLi8uLi91dGlscy9yb3V0ZS51dGlsJztcbmltcG9ydCB7TW5nTWFpbkxheW91dENvbXBvbmVudFNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbbW5nLW1lbnVpdGVtXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmxheW91dC1yb290LW1lbnVpdGVtXSc6ICdyb290JyxcbiAgICAgICAgJ1tjbGFzcy5hY3RpdmUtbWVudWl0ZW1dJzogJ2FjdGl2ZSdcbiAgICB9LFxuICAgIGltcG9ydHM6IFtBc3luY1BpcGUsIFRyYW5zbGF0ZU1vZHVsZSwgTmdDbGFzcywgTmdGb3JPZiwgTmdJZiwgUmlwcGxlTW9kdWxlLCBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rQWN0aXZlXSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2NoaWxkcmVuJywgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ3ZvaWQnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMHB4J1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2hpZGRlbkFuaW1hdGVkJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzBweCdcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICd2aXNpYmxlQW5pbWF0ZWQnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnKidcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICd2aXNpYmxlJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJyonLFxuICAgICAgICAgICAgICAgICAgICAnei1pbmRleCc6IDEwMFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcwcHgnLFxuICAgICAgICAgICAgICAgICAgICAnei1pbmRleCc6ICcqJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndmlzaWJsZUFuaW1hdGVkID0+IGhpZGRlbkFuaW1hdGVkJywgYW5pbWF0ZSgnNDAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJykpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignaGlkZGVuQW5pbWF0ZWQgPT4gdmlzaWJsZUFuaW1hdGVkJywgYW5pbWF0ZSgnNDAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJykpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiB2aXNpYmxlQW5pbWF0ZWQsIHZpc2libGVBbmltYXRlZCA9PiB2b2lkJywgYW5pbWF0ZSgnNDAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJykpXG4gICAgICAgIF0pXG4gICAgXVxuICAgIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1uZ01lbnVJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGl0ZW0hOiBNbmdNZW51SXRlbTtcbiAgICBASW5wdXQoKSBpbmRleCA9IDA7XG4gICAgQElucHV0KCkgcm9vdCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHBhcmVudEtleTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBAT3V0cHV0KCd2aXNpYmxlQ2hhbmdlJykgdmlzaWJsZUNoYW5nZUV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MucHktMCcpIHByaXZhdGUgaG9zdENsYXNzTm9QYWRkaW5nID0gZmFsc2U7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oaWRkZW4nKSBwcml2YXRlIGhvc3RDbGFzc0NoaWxkcmVuSGlkZGVuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMga2V5ID0gJyc7XG4gICAgcHVibGljIGFjdGl2ZSA9IGZhbHNlO1xuICAgIHB1YmxpYyBob3ZlciA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBndWFyZHNJc0FsbG93ZWRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcbiAgICBwcml2YXRlIGd1YXJkc0lzQWxsb3dlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcHJpdmF0ZSBpc1Blcm1pdHRlZFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xuICAgIHByaXZhdGUgaXNQZXJtaXR0ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIHByaXZhdGUgaXNWaXNpYmxlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QodHJ1ZSk7XG4gICAgcHVibGljIGlzVmlzaWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICBwcml2YXRlIGNoaWxkcmVuVmlzaWJpbGl0eVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPltdID0gW107XG5cbiAgICBwcml2YXRlIGl0ZW1Vcmw/OiBzdHJpbmcgfCBVcmxUcmVlO1xuICAgIHByaXZhdGUgbWVudVNvdXJjZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIG1lbnVSZXNldFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIHJvdXRlckV2ZW50c1N1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIGd1YXJkc0lzQWxsb3dlZFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIGlzUGVybWl0dGVkU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgaXNWaXNpYmxlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgaXNWaXNpYmxlQ29tYmluZWRTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBhcmVDaGlsZHJlblZpc2libGVTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSByb3V0ZUxvYWRlZENoaWxkcmVuU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBtbmdSb3V0ZXI6IE1uZ1JvdXRlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXV0aG9yaXphdGlvbjogTW5nQXV0aG9yaXphdGlvblNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBtbmdDb21tb25zOiBNbmdDb21tb25zU2VydmljZSxcbiAgICAgICAgcHVibGljIG1haW5MYXlvdXRTZXJ2aWNlOiBNbmdNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmd1YXJkc0lzQWxsb3dlZCQgPSB0aGlzLmd1YXJkc0lzQWxsb3dlZFN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICAgICAgdGhpcy5pc1Blcm1pdHRlZCQgPSB0aGlzLmlzUGVybWl0dGVkU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgICAgICB0aGlzLmlzVmlzaWJsZSQgPSB0aGlzLmlzVmlzaWJsZVN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5rZXkgPSB0aGlzLnBhcmVudEtleSA/IHRoaXMucGFyZW50S2V5ICsgJy0nICsgdGhpcy5pbmRleCA6IFN0cmluZyh0aGlzLmluZGV4KTtcbiAgICAgICAgaWYgKHRoaXMuaXRlbS5yb3V0ZXJMaW5rKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuaXRlbS5yb3V0ZXJMaW5rID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbVVybCA9IHRoaXMuaXRlbS5yb3V0ZXJMaW5rO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1VcmwgPSB0aGlzLnJvdXRlci5wYXJzZVVybCh0aGlzLml0ZW0ucm91dGVyTGluay5qb2luKCcvJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLm1uZ0NvbW1vbnMubWVudU1vZGVJc1NsaW0gJiYgdGhpcy5pdGVtLnJvdXRlckxpbmspIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQWN0aXZlU3RhdGVGcm9tUm91dGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubWVudVNvdXJjZVN1YnNjcmlwdGlvbiA9IHRoaXMubW5nQ29tbW9ucy5tZW51QWN0aXZlS2V5JC5zdWJzY3JpYmUoa2V5ID0+IHtcbiAgICAgICAgICAgIC8vIGRlYWN0aXZhdGUgY3VycmVudCBhY3RpdmUgbWVudVxuICAgICAgICAgICAgaWYgKHRoaXMuYWN0aXZlICYmIHRoaXMua2V5ICE9PSBrZXkgJiYga2V5LmluZGV4T2YodGhpcy5rZXkpICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5tZW51UmVzZXRTdWJzY3JpcHRpb24gPSB0aGlzLm1uZ0NvbW1vbnMubWVudVJlc2V0JC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXRlbS5sYXp5Q2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVMb2FkZWRDaGlsZHJlblN1YnNjcmlwdGlvbiA9IHRoaXMubW5nUm91dGVyLmdldFJvdXRlTG9hZGVkQ2hpbGRyZW4kKHRoaXMuaXRlbS5yb3V0ZXJMaW5rID8/ICcvJykuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICBuZXh0OiByb3V0ZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbWVudUl0ZW1zID0gcm91dGVzLmZpbHRlcihyID0+IEFycmF5LmlzQXJyYXkoKHIuZGF0YSBhcyBNbmdSb3V0ZXJEYXRhIHwgdW5kZWZpbmVkKT8ubWVudUl0ZW1zKSkuZmxhdE1hcChyID0+IChyLmRhdGEgYXMgTW5nUm91dGVyRGF0YSkubWVudUl0ZW1zISk7XG4gICAgICAgICAgICAgICAgICAgIG1lbnVJdGVtcyA9IFJvdXRlVXRpbC5hZGp1c3RNZW51TGF6eUNoaWxkcmVuUm91dGVyTGlua3ModGhpcy5pdGVtLCBtZW51SXRlbXMpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbS5pdGVtcyA9IG1lbnVJdGVtcztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtLmxhenlDaGlsZHJlbiA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0l0ZW1DaGlsZHJlblZpc2liaWxpdHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucm91dGVyRXZlbnRzU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShuZXh0ID0+IHtcbiAgICAgICAgICAgIGlmIChuZXh0IGluc3RhbmNlb2YgR3VhcmRzQ2hlY2tFbmQgJiYgbmV4dC5zaG91bGRBY3RpdmF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tJZk1lbnVJdGVtSXNBbGxvd2VkRnJvbUd1YXJkKG5leHQuc3RhdGUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChuZXh0IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm1uZ0NvbW1vbnMubWVudU1vZGVJc1NsaW0gJiYgIXRoaXMubWFpbkxheW91dFNlcnZpY2UuaXNNb2JpbGUoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQWN0aXZlU3RhdGVGcm9tUm91dGUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLml0ZW0ucGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHRoaXMuaXNQZXJtaXR0ZWRTdWJzY3JpcHRpb24gPSB0aGlzLmF1dGhvcml6YXRpb24uaXNQZXJtaXR0ZWQodGhpcy5pdGVtLnBlcm1pc3Npb25zKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6IGlzUGVybWl0dGVkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1Blcm1pdHRlZFN1YmplY3QubmV4dChpc1Blcm1pdHRlZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoZWNrSWZNZW51SXRlbUlzQWxsb3dlZEZyb21HdWFyZCh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdCk7XG5cbiAgICAgICAgdGhpcy5pc1Zpc2libGVDb21iaW5lZFN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW29mKHRoaXMuaXRlbS52aXNpYmxlICE9PSBmYWxzZSksIHRoaXMuaXNQZXJtaXR0ZWQkLCB0aGlzLmd1YXJkc0lzQWxsb3dlZCRdKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc1Zpc2libGUgPSByZXMuZXZlcnkociA9PiByID09PSB0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhvc3RDbGFzc05vUGFkZGluZyA9ICFpc1Zpc2libGU7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Zpc2libGVTdWJqZWN0Lm5leHQoaXNWaXNpYmxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlU3Vic2NyaXB0aW9uID0gdGhpcy5pc1Zpc2libGUkLnN1YnNjcmliZSh2ID0+IHtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZUV2ZW50RW1pdHRlci5lbWl0KHYpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnByb2Nlc3NJdGVtQ2hpbGRyZW5WaXNpYmlsaXR5KCk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWN0aXZlU3RhdGVGcm9tUm91dGUoKSB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1VcmwpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gdGhpcy5yb3V0ZXIuaXNBY3RpdmUodGhpcy5pdGVtVXJsLCA8SXNBY3RpdmVNYXRjaE9wdGlvbnM+e1xuICAgICAgICAgICAgICAgIG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnLFxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiAnaWdub3JlZCcsXG4gICAgICAgICAgICAgICAgcGF0aHM6IHRoaXMuaXRlbS5pdGVtcyA/ICdzdWJzZXQnIDogJ2V4YWN0JyxcbiAgICAgICAgICAgICAgICBmcmFnbWVudDogJ2lnbm9yZWQnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpdGVtQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIC8vIGF2b2lkIHByb2Nlc3NpbmcgZGlzYWJsZWQgaXRlbXNcbiAgICAgICAgaWYgKHRoaXMuaXRlbS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG5hdmlnYXRlIHdpdGggaG92ZXIgaW4gaG9yaXpvbnRhbCBtb2RlXG4gICAgICAgIGlmICh0aGlzLnJvb3QpIHtcbiAgICAgICAgICAgIHRoaXMubWFpbkxheW91dFNlcnZpY2UubWVudUhvdmVyQWN0aXZlID0gIXRoaXMubWFpbkxheW91dFNlcnZpY2UubWVudUhvdmVyQWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gbm90aWZ5IG90aGVyIGl0ZW1zXG4gICAgICAgIHRoaXMubW5nQ29tbW9ucy5tZW51Q2hhbmdlQWN0aXZlS2V5KHRoaXMua2V5KTtcblxuICAgICAgICAvLyB0b2dnbGUgYWN0aXZlIHN0YXRlXG4gICAgICAgIGlmICh0aGlzLml0ZW0uaXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gIXRoaXMuYWN0aXZlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gYWN0aXZhdGUgaXRlbVxuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5tYWluTGF5b3V0U2VydmljZS5pc01vYmlsZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYWluTGF5b3V0U2VydmljZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm1uZ0NvbW1vbnMubWVudU1vZGVJc092ZXJsYXkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1haW5MYXlvdXRTZXJ2aWNlLm92ZXJsYXlNZW51QWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHJlc2V0IGhvcml6b250YWwgbWVudVxuICAgICAgICAgICAgaWYgKHRoaXMubW5nQ29tbW9ucy5tZW51TW9kZUlzU2xpbSAmJiAhdGhpcy5tYWluTGF5b3V0U2VydmljZS5pc01vYmlsZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tbmdDb21tb25zLm1lbnVSZXNldCgpO1xuICAgICAgICAgICAgICAgIHRoaXMubWFpbkxheW91dFNlcnZpY2UubWVudUhvdmVyQWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1vdXNlRW50ZXIoKSB7XG4gICAgICAgIC8vIGFjdGl2YXRlIGl0ZW0gb24gaG92ZXJcbiAgICAgICAgaWYgKHRoaXMucm9vdCAmJiB0aGlzLm1haW5MYXlvdXRTZXJ2aWNlLm1lbnVIb3ZlckFjdGl2ZSAmJiB0aGlzLm1uZ0NvbW1vbnMubWVudU1vZGVJc1NsaW0gJiYgdGhpcy5tYWluTGF5b3V0U2VydmljZS5pc0Rlc2t0b3AoKSkge1xuICAgICAgICAgICAgdGhpcy5tbmdDb21tb25zLm1lbnVDaGFuZ2VBY3RpdmVLZXkodGhpcy5rZXkpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubWVudVNvdXJjZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5tZW51UmVzZXRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMucm91dGVyRXZlbnRzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmd1YXJkc0lzQWxsb3dlZFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5pc1Blcm1pdHRlZFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5pc1Zpc2libGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlQ29tYmluZWRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuYXJlQ2hpbGRyZW5WaXNpYmxlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnJvdXRlTG9hZGVkQ2hpbGRyZW5TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgb25DaGlsZFZpc2libGVDaGFuZ2UodmlzaWJsZTogYm9vbGVhbiwgaXRlbTogTW5nTWVudUl0ZW0sIGlkeDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuY2hpbGRyZW5WaXNpYmlsaXR5U3ViamVjdFtpZHhdLm5leHQodmlzaWJsZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0lmTWVudUl0ZW1Jc0FsbG93ZWRGcm9tR3VhcmQocm91dGVyU3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpIHtcbiAgICAgICAgdGhpcy5ndWFyZHNJc0FsbG93ZWRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIGlmICh0aGlzLml0ZW0uZ3VhcmRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IG9icyA9IFtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCBndWFyZCBvZiB0aGlzLml0ZW0uZ3VhcmRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9rZW5JbmplY3RlZEluc3RhbmNlID0gdGhpcy5pbmplY3Rvci5nZXQoZ3VhcmQpO1xuICAgICAgICAgICAgICAgIGlmICh0b2tlbkluamVjdGVkSW5zdGFuY2UgJiYgJ2NhbkFjdGl2YXRlJyBpbiB0b2tlbkluamVjdGVkSW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3VhcmRJbnN0YW5jZSA9IHRva2VuSW5qZWN0ZWRJbnN0YW5jZSBhcyBDYW5BY3RpdmF0ZTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2FuQWN0aXZhdGVSZXMgPSBndWFyZEluc3RhbmNlLmNhbkFjdGl2YXRlKHRoaXMucm91dGUuc25hcHNob3QsIHJvdXRlclN0YXRlKTtcblxuICAgICAgICAgICAgICAgICAgICBsZXQgY2FuQWN0aXZhdGVPYnM6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+O1xuICAgICAgICAgICAgICAgICAgICBpZiAoY2FuQWN0aXZhdGVSZXMgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYW5BY3RpdmF0ZU9icyA9IGNhbkFjdGl2YXRlUmVzO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNhbkFjdGl2YXRlUmVzIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FuQWN0aXZhdGVPYnMgPSBmcm9tKGNhbkFjdGl2YXRlUmVzKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbkFjdGl2YXRlT2JzID0gb2YoY2FuQWN0aXZhdGVSZXMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG9icy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FuQWN0aXZhdGVPYnMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChyZXMgPT4gcmVzID09PSB0cnVlKSAvLyBpZiB1cmwgdHJlZSBpcyBwcmVzZW50LCB0aGF0IG1lYW5zIHJlZGlyZWN0IGFuZCBpbXBsaWVzIG5vdCBhbGxvd2VkXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5ndWFyZHNJc0FsbG93ZWRTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KG9icylcbiAgICAgICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUobmV4dCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5leHQuZXZlcnkobiA9PiBuID09PSB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ndWFyZHNJc0FsbG93ZWRTdWJqZWN0Lm5leHQocmVzdWx0KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ3VhcmRzSXNBbGxvd2VkU3ViamVjdC5uZXh0KHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzSXRlbUNoaWxkcmVuVmlzaWJpbGl0eSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbS5pdGVtcykge1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlblZpc2liaWxpdHlTdWJqZWN0ID0gdGhpcy5pdGVtLml0ZW1zLm1hcCgoKSA9PiBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpKTtcblxuICAgICAgICAgICAgdGhpcy5hcmVDaGlsZHJlblZpc2libGVTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KHRoaXMuY2hpbGRyZW5WaXNpYmlsaXR5U3ViamVjdC5tYXAocyA9PiBzLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSkpKS5zdWJzY3JpYmUodmlzaWJsZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYW55Q2hpbGRWaXNpYmxlID0gdmlzaWJsZS5zb21lKHYgPT4gdiA9PT0gdHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5ob3N0Q2xhc3NDaGlsZHJlbkhpZGRlbiA9ICFhbnlDaGlsZFZpc2libGU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1Zpc2libGUkIHwgYXN5bmNcIj5cbiAgICA8ZGl2ICpuZ0lmPVwicm9vdFwiIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXJvb3QtdGV4dFwiPlxuICAgICAgICB7eyBpdGVtLmxhYmVsISB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvZGl2PlxuICAgIDxhXG4gICAgICAgICpuZ0lmPVwiIWl0ZW0ucm91dGVyTGluayB8fCBpdGVtLml0ZW1zXCJcbiAgICAgICAgW2F0dHIuaHJlZl09XCJpdGVtLmhyZWZcIlxuICAgICAgICAoY2xpY2spPVwiaXRlbUNsaWNrKCRldmVudClcIlxuICAgICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIml0ZW1DbGljaygkZXZlbnQpXCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZXJMaW5rXCJcbiAgICAgICAgW2F0dHIudGFyZ2V0XT1cIml0ZW0udGFyZ2V0XCJcbiAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiMFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3NOYW1lID8/ICcnXCJcbiAgICAgICAgcFJpcHBsZT5cbiAgICAgICAgPGkgW25nQ2xhc3NdPVwiaXRlbS5pY29uID8/ICcnXCIgY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0taWNvblwiPjwvaT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0tdGV4dFwiPnt7IGl0ZW0ubGFiZWwhIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWZ3IHBpLWFuZ2xlLWRvd24gbGF5b3V0LXN1Ym1lbnUtdG9nZ2xlclwiICpuZ0lmPVwiaXRlbS5pdGVtcyB8fCBpdGVtLmxhenlDaGlsZHJlblwiPjwvaT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51aXRlbS1iYWRnZVwiICpuZ0lmPVwiaXRlbS5iYWRnZVwiPnt7IGl0ZW0uYmFkZ2UgfX08L3NwYW4+XG4gICAgPC9hPlxuICAgIDxhXG4gICAgICAgICpuZ0lmPVwiaXRlbS5yb3V0ZXJMaW5rICYmICFpdGVtLml0ZW1zXCJcbiAgICAgICAgKGNsaWNrKT1cIml0ZW1DbGljaygkZXZlbnQpXCJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwiaG92ZXIgPSB0cnVlXCJcbiAgICAgICAgKG1vdXNlbGVhdmUpPVwiaG92ZXIgPSBmYWxzZVwiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmUtbWVudWl0ZW0tcm91dGVybGlua1wiXG4gICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7cGF0aHM6ICdleGFjdCcsIG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnLCBxdWVyeVBhcmFtczogJ2lnbm9yZWQnLCBmcmFnbWVudDogJ2lnbm9yZWQnfVwiXG4gICAgICAgIFthdHRyLnRhcmdldF09XCJpdGVtLnRhcmdldFwiXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cIjBcIlxuICAgICAgICBbbmdDbGFzc109XCJpdGVtLmNsYXNzTmFtZSA/PyAnJ1wiXG4gICAgICAgIHBSaXBwbGU+XG4gICAgICAgIDxpIFtuZ0NsYXNzXT1cIml0ZW0uaWNvbiA/PyAnJ1wiIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLWljb25cIj48L2k+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXRleHRcIj57eyBpdGVtLmxhYmVsISB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1hbmdsZS1kb3duIGxheW91dC1zdWJtZW51LXRvZ2dsZXJcIiAqbmdJZj1cIml0ZW0uaXRlbXMgfHwgaXRlbS5sYXp5Q2hpbGRyZW5cIj48L2k+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWVudWl0ZW0tYmFkZ2VcIiAqbmdJZj1cIml0ZW0uYmFkZ2VcIj57eyBpdGVtLmJhZGdlIH19PC9zcGFuPlxuICAgIDwvYT5cbiAgICA8dWxcbiAgICAgICAgKm5nSWY9XCJpdGVtLml0ZW1zIHx8IChpdGVtLml0ZW1zICYmIChtbmdDb21tb25zLm1lbnVNb2RlSXNTdGF0aWMkIHwgYXN5bmMpICYmIHJvb3QpXCJcbiAgICAgICAgW0BjaGlsZHJlbl09XCJcbiAgICAgICAgICAgIChtbmdDb21tb25zLm1lbnVNb2RlSXNTbGltJCB8IGFzeW5jKSAmJiAobWFpbkxheW91dFNlcnZpY2UuaXNNb2JpbGUkIHwgYXN5bmMpID09PSBmYWxzZSAmJiByb290XG4gICAgICAgICAgICAgICAgPyBhY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgPyAndmlzaWJsZSdcbiAgICAgICAgICAgICAgICAgICAgOiAnaGlkZGVuJ1xuICAgICAgICAgICAgICAgIDogKG1uZ0NvbW1vbnMubWVudU1vZGVJc1N0YXRpYyQgfCBhc3luYykgJiYgcm9vdCAmJiAobWFpbkxheW91dFNlcnZpY2UuaXNNb2JpbGUkIHwgYXN5bmMpID09PSBmYWxzZVxuICAgICAgICAgICAgICAgID8gJ3Zpc2libGUnXG4gICAgICAgICAgICAgICAgOiBhY3RpdmVcbiAgICAgICAgICAgICAgICA/ICd2aXNpYmxlQW5pbWF0ZWQnXG4gICAgICAgICAgICAgICAgOiAnaGlkZGVuQW5pbWF0ZWQnXG4gICAgICAgIFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWNoaWxkIGxldC1pPVwiaW5kZXhcIiBbbmdGb3JPZl09XCJpdGVtLml0ZW1zXCI+XG4gICAgICAgICAgICA8bGkgbW5nLW1lbnVpdGVtIFtpdGVtXT1cImNoaWxkXCIgW2luZGV4XT1cImlcIiBbcGFyZW50S2V5XT1cImtleVwiIFtjbGFzc109XCJjaGlsZC5iYWRnZUNsYXNzTmFtZVwiICh2aXNpYmxlQ2hhbmdlKT1cIm9uQ2hpbGRWaXNpYmxlQ2hhbmdlKCRldmVudCwgaXRlbSwgaSlcIj48L2xpPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdWw+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -2,9 +2,9 @@ import { AsyncPipe, NgForOf, NgIf } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
3
3
  import { BehaviorSubject } from 'rxjs';
4
4
  import { JsonPathPipe } from '../../pipes';
5
- import { MngVersionService } from '../../services/version.service';
5
+ import { MngVersionService } from '../../services';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "../../services/version.service";
7
+ import * as i1 from "../../services";
8
8
  import * as i2 from "../../pipes";
9
9
  export class MngVersionComponent {
10
10
  constructor(versionService, jsonPathPipe) {
@@ -57,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
57
57
  type: Input,
58
58
  args: ['version']
59
59
  }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L3ZlcnNpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC92ZXJzaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHckMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQVNqRSxNQUFNLE9BQU8sbUJBQW1CO0lBVTVCLFlBQW9CLGNBQWlDLEVBQVUsWUFBMEI7UUFBckUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWM7UUFIakYsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QyxhQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUV1QyxDQUFDO0lBRTdGLFFBQVE7UUFDSixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUNwQzthQUFNLElBQUksT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFBRTtZQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDMUM7YUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxXQUFXLEVBQUU7WUFDaEQsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQXNCLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQXlCLENBQUMsRUFBRTtnQkFDekYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQTRCLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztnQkFFdEMsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO29CQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUM7d0JBQy9FLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTs0QkFDUixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQyxDQUFDOzRCQUNuRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDcEMsQ0FBQzt3QkFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFOzRCQUNSLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDOzRCQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDcEMsQ0FBQztxQkFDSixDQUFDLENBQUM7aUJBQ047cUJBQU07b0JBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDLENBQUM7aUJBQ2xHO2FBQ0o7aUJBQU07Z0JBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQTBCLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ3BFO1NBQ0o7SUFDTCxDQUFDOztnSEExQ1EsbUJBQW1CO29HQUFuQixtQkFBbUIsNEhDaEJoQywwYUFPQSw0Q0RTYSxtQkFBbUIsd0VBSGxCLFNBQVMsOENBQUUsT0FBTyxtSEFBRSxJQUFJOzJGQUd6QixtQkFBbUI7a0JBUC9CLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGFBQWEsV0FFZCxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLG1CQUNsQix1QkFBdUIsQ0FBQyxNQUFNO21JQUd0QixXQUFXO3NCQUFuQyxLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZSwgTmdGb3JPZiwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtWZXJzaW9uQ29uZmlnLCBWZXJzaW9uQ29uZmlnVHlwZSwgVmVyc2lvbkluZm99IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0pzb25QYXRoUGlwZX0gZnJvbSAnLi4vLi4vcGlwZXMnO1xuaW1wb3J0IHtNbmdWZXJzaW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmVyc2lvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy12ZXJzaW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdmVyc2lvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW0FzeW5jUGlwZSwgTmdGb3JPZiwgTmdJZl0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTW5nVmVyc2lvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCd2ZXJzaW9uJykgcHVibGljIGluaXRWZXJzaW9uPzogVmVyc2lvbkNvbmZpZ1R5cGU7XG5cbiAgICBwdWJsaWMgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gICAgcHVibGljIGRpc3BsYXlWZXJzaW9uPzogc3RyaW5nO1xuICAgIHB1YmxpYyB2ZXJzaW9ucz86IEFycmF5PFZlcnNpb25Db25maWc+O1xuXG4gICAgcHJpdmF0ZSBsb2FkaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIHB1YmxpYyBsb2FkaW5nJCA9IHRoaXMubG9hZGluZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZlcnNpb25TZXJ2aWNlOiBNbmdWZXJzaW9uU2VydmljZSwgcHJpdmF0ZSBqc29uUGF0aFBpcGU6IEpzb25QYXRoUGlwZSkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmluaXRWZXJzaW9uKSkge1xuICAgICAgICAgICAgdGhpcy52ZXJzaW9ucyA9IHRoaXMuaW5pdFZlcnNpb247XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuaW5pdFZlcnNpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlWZXJzaW9uID0gdGhpcy5pbml0VmVyc2lvbjtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5pbml0VmVyc2lvbiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmluaXRWZXJzaW9uWydpbmZvJyBhcyBrZXlvZiBvYmplY3RdIHx8IHRoaXMuaW5pdFZlcnNpb25bJ3VybFBhdGgnIGFzIGtleW9mIG9iamVjdF0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmluaXRWZXJzaW9uIGFzIFZlcnNpb25Db25maWc7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5TmFtZSA9IGNvbmZpZy5kaXNwbGF5TmFtZTtcblxuICAgICAgICAgICAgICAgIGlmIChjb25maWcudXJsUGF0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmVyc2lvblNlcnZpY2UubG9hZFZlcnNpb24oY29uZmlnLnVybFBhdGgsIGNvbmZpZy51cmxCYXNlQ29uZmlnS2V5KS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlWZXJzaW9uID0gdGhpcy5qc29uUGF0aFBpcGUudHJhbnNmb3JtKHJlcywgY29uZmlnLmluZm9Kc29uUGF0aCA/PyAnJCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1N1YmplY3QubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlWZXJzaW9uID0gJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5VmVyc2lvbiA9IHRoaXMuanNvblBhdGhQaXBlLnRyYW5zZm9ybShjb25maWcuaW5mbywgY29uZmlnLmluZm9Kc29uUGF0aCA/PyAnJC5yYXcnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZm8gPSB0aGlzLmluaXRWZXJzaW9uIGFzIFZlcnNpb25JbmZvO1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheVZlcnNpb24gPSB0aGlzLmpzb25QYXRoUGlwZS50cmFuc2Zvcm0oaW5mbywgJyQucmF3Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidmVyc2lvbnM7IGVsc2UgdmVyc2lvblwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHYgb2YgdmVyc2lvbnM7IGxldCBsYXN0ID0gbGFzdFwiPiA8bW5nLXZlcnNpb24gW3ZlcnNpb25dPVwidlwiPjwvbW5nLXZlcnNpb24+PGJyICpuZ0lmPVwiIWxhc3RcIiAvPiA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICN2ZXJzaW9uPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkaXNwbGF5TmFtZVwiPnt7IGRpc3BsYXlOYW1lIH19OiA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGxvYWRpbmckIHwgYXN5bmMpID09PSBmYWxzZVwiPnt7IGRpc3BsYXlWZXJzaW9uIH19PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L3ZlcnNpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC92ZXJzaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHckMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVNqRCxNQUFNLE9BQU8sbUJBQW1CO0lBVTVCLFlBQW9CLGNBQWlDLEVBQVUsWUFBMEI7UUFBckUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWM7UUFIakYsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QyxhQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUV1QyxDQUFDO0lBRTdGLFFBQVE7UUFDSixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUNwQzthQUFNLElBQUksT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFBRTtZQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDMUM7YUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxXQUFXLEVBQUU7WUFDaEQsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQXNCLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQXlCLENBQUMsRUFBRTtnQkFDekYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQTRCLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztnQkFFdEMsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO29CQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUM7d0JBQy9FLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTs0QkFDUixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQyxDQUFDOzRCQUNuRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDcEMsQ0FBQzt3QkFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFOzRCQUNSLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDOzRCQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDcEMsQ0FBQztxQkFDSixDQUFDLENBQUM7aUJBQ047cUJBQU07b0JBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDLENBQUM7aUJBQ2xHO2FBQ0o7aUJBQU07Z0JBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQTBCLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ3BFO1NBQ0o7SUFDTCxDQUFDOztnSEExQ1EsbUJBQW1CO29HQUFuQixtQkFBbUIsNEhDaEJoQywwYUFPQSw0Q0RTYSxtQkFBbUIsd0VBSGxCLFNBQVMsOENBQUUsT0FBTyxtSEFBRSxJQUFJOzJGQUd6QixtQkFBbUI7a0JBUC9CLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGFBQWEsV0FFZCxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLG1CQUNsQix1QkFBdUIsQ0FBQyxNQUFNO21JQUd0QixXQUFXO3NCQUFuQyxLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZSwgTmdGb3JPZiwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtWZXJzaW9uQ29uZmlnLCBWZXJzaW9uQ29uZmlnVHlwZSwgVmVyc2lvbkluZm99IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0pzb25QYXRoUGlwZX0gZnJvbSAnLi4vLi4vcGlwZXMnO1xuaW1wb3J0IHtNbmdWZXJzaW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLXZlcnNpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi92ZXJzaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ0Zvck9mLCBOZ0lmXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNbmdWZXJzaW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoJ3ZlcnNpb24nKSBwdWJsaWMgaW5pdFZlcnNpb24/OiBWZXJzaW9uQ29uZmlnVHlwZTtcblxuICAgIHB1YmxpYyBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgICBwdWJsaWMgZGlzcGxheVZlcnNpb24/OiBzdHJpbmc7XG4gICAgcHVibGljIHZlcnNpb25zPzogQXJyYXk8VmVyc2lvbkNvbmZpZz47XG5cbiAgICBwcml2YXRlIGxvYWRpbmdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gICAgcHVibGljIGxvYWRpbmckID0gdGhpcy5sb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmVyc2lvblNlcnZpY2U6IE1uZ1ZlcnNpb25TZXJ2aWNlLCBwcml2YXRlIGpzb25QYXRoUGlwZTogSnNvblBhdGhQaXBlKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaW5pdFZlcnNpb24pKSB7XG4gICAgICAgICAgICB0aGlzLnZlcnNpb25zID0gdGhpcy5pbml0VmVyc2lvbjtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5pbml0VmVyc2lvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVZlcnNpb24gPSB0aGlzLmluaXRWZXJzaW9uO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLmluaXRWZXJzaW9uICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKHRoaXMuaW5pdFZlcnNpb25bJ2luZm8nIGFzIGtleW9mIG9iamVjdF0gfHwgdGhpcy5pbml0VmVyc2lvblsndXJsUGF0aCcgYXMga2V5b2Ygb2JqZWN0XSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuaW5pdFZlcnNpb24gYXMgVmVyc2lvbkNvbmZpZztcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlOYW1lID0gY29uZmlnLmRpc3BsYXlOYW1lO1xuXG4gICAgICAgICAgICAgICAgaWYgKGNvbmZpZy51cmxQYXRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1N1YmplY3QubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52ZXJzaW9uU2VydmljZS5sb2FkVmVyc2lvbihjb25maWcudXJsUGF0aCwgY29uZmlnLnVybEJhc2VDb25maWdLZXkpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXh0OiByZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheVZlcnNpb24gPSB0aGlzLmpzb25QYXRoUGlwZS50cmFuc2Zvcm0ocmVzLCBjb25maWcuaW5mb0pzb25QYXRoID8/ICckJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheVZlcnNpb24gPSAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlWZXJzaW9uID0gdGhpcy5qc29uUGF0aFBpcGUudHJhbnNmb3JtKGNvbmZpZy5pbmZvLCBjb25maWcuaW5mb0pzb25QYXRoID8/ICckLnJhdycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5mbyA9IHRoaXMuaW5pdFZlcnNpb24gYXMgVmVyc2lvbkluZm87XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5VmVyc2lvbiA9IHRoaXMuanNvblBhdGhQaXBlLnRyYW5zZm9ybShpbmZvLCAnJC5yYXcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ2ZXJzaW9uczsgZWxzZSB2ZXJzaW9uXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdiBvZiB2ZXJzaW9uczsgbGV0IGxhc3QgPSBsYXN0XCI+IDxtbmctdmVyc2lvbiBbdmVyc2lvbl09XCJ2XCI+PC9tbmctdmVyc2lvbj48YnIgKm5nSWY9XCIhbGFzdFwiIC8+IDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI3ZlcnNpb24+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlOYW1lXCI+e3sgZGlzcGxheU5hbWUgfX06IDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIobG9hZGluZyQgfCBhc3luYykgPT09IGZhbHNlXCI+e3sgZGlzcGxheVZlcnNpb24gfX08L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb2x1bW5EZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi8uLi9kZXNjcmlwdG9ycy90YWJsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uV2l0aFByZWZlcmVuY2VzIHtcbiAgICBkZXNjcmlwdG9yOiBDb2x1bW5EZXNjcmlwdG9yPGFueSwgYW55PjtcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBpc1Zpc2libGU6IGJvb2xlYW47XG59XG4iXX0=