valtech-components 4.0.132 → 4.0.133

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.
@@ -161,12 +161,18 @@ export class PermissionsViewComponent {
161
161
  }
162
162
  const groups = [];
163
163
  if (appPerms.length) {
164
- groups.push({ key: 'app', label: this.tt('groupApp'), perms: appPerms });
164
+ groups.push({
165
+ key: 'app',
166
+ label: this.tt('groupApp'),
167
+ scope: 'app',
168
+ perms: appPerms,
169
+ });
165
170
  }
166
171
  if (orgPerms.length) {
167
172
  groups.push({
168
173
  key: 'org',
169
174
  label: this.tt('groupOrg'),
175
+ scope: 'org',
170
176
  perms: orgPerms,
171
177
  });
172
178
  }
@@ -174,6 +180,8 @@ export class PermissionsViewComponent {
174
180
  groups.push({
175
181
  key: `other:${appId}`,
176
182
  label: `${this.tt('groupOther')}: ${this.appLabel(appId)}`,
183
+ scope: 'other',
184
+ appId,
177
185
  perms,
178
186
  });
179
187
  }
@@ -279,8 +287,8 @@ export class PermissionsViewComponent {
279
287
  </div>
280
288
  } @else {
281
289
  @for (g of role.groups; track g.key) {
282
- <div class="perm-group">
283
- <span class="perm-group__label">{{ g.label }}</span>
290
+ <div [class]="'perm-group perm-group--' + g.scope">
291
+ <span class="perm-group__badge">{{ g.label }}</span>
284
292
  <div class="perm-chips">
285
293
  @for (p of g.perms; track p) {
286
294
  <span class="perm-chip">{{ p }}</span>
@@ -340,8 +348,8 @@ export class PermissionsViewComponent {
340
348
  </div>
341
349
  } @else {
342
350
  @for (g of role.groups; track g.key) {
343
- <div class="perm-group">
344
- <span class="perm-group__label">{{ g.label }}</span>
351
+ <div [class]="'perm-group perm-group--' + g.scope">
352
+ <span class="perm-group__badge">{{ g.label }}</span>
345
353
  <div class="perm-chips">
346
354
  @for (p of g.perms; track p) {
347
355
  <span class="perm-chip">{{ p }}</span>
@@ -358,7 +366,7 @@ export class PermissionsViewComponent {
358
366
  }
359
367
  }
360
368
  </div>
361
- `, isInline: true, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.page-header{margin-bottom:24px}.spinner-row,.error-row{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0}.perm-section{margin-bottom:32px}.perm-section__header{margin-bottom:12px}.role-list{display:flex;flex-direction:column;gap:10px}.role-card{border:1.5px solid var(--ion-color-light);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.role-card__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role-card__name{font-size:.9375rem;font-weight:600;color:var(--ion-color-dark)}.role-card__desc{font-size:.8125rem;color:var(--ion-color-medium);line-height:1.4}.perm-group{display:flex;flex-direction:column;gap:6px}.perm-group__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ion-color-medium)}.perm-chips{display:flex;flex-wrap:wrap;gap:6px}.perm-chip{font-size:.75rem;padding:3px 10px;border-radius:20px;background:var(--ion-color-light);color:var(--ion-color-dark)}.perm-chip--empty{color:var(--ion-color-medium);background:transparent;padding-left:0}\n"], dependencies: [{ kind: "component", type: SkeletonLayoutComponent, selector: "val-skeleton-layout", inputs: ["props"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: PillComponent, selector: "val-pill", inputs: ["preset", "props"], outputs: ["pillClick", "pillAction"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }] }); }
369
+ `, isInline: true, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.page-header{margin-bottom:24px}.spinner-row,.error-row{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0}.perm-section{margin-bottom:32px}.perm-section__header{margin-bottom:12px}.role-list{display:flex;flex-direction:column;gap:10px}.role-card{border:1.5px solid var(--ion-color-light);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.role-card__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role-card__name{font-size:.9375rem;font-weight:600;color:var(--ion-color-dark)}.role-card__desc{font-size:.8125rem;color:var(--ion-color-medium);line-height:1.4}.perm-group{display:flex;flex-direction:column;gap:6px}.perm-group__badge{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:6px}.perm-group--app .perm-group__badge{color:var(--ion-color-primary);background:rgba(var(--ion-color-primary-rgb),.12)}.perm-group--org .perm-group__badge{color:var(--ion-color-medium-shade, var(--ion-color-medium));background:var(--ion-color-light-shade, rgba(0, 0, 0, .06))}.perm-group--other .perm-group__badge{color:var(--ion-color-tertiary);background:rgba(var(--ion-color-tertiary-rgb),.12)}.perm-chips{display:flex;flex-wrap:wrap;gap:6px}.perm-chip{font-size:.75rem;padding:3px 10px;border-radius:20px;background:var(--ion-color-light);color:var(--ion-color-dark)}.perm-group--app .perm-chip{background:rgba(var(--ion-color-primary-rgb),.08)}.perm-group--other .perm-chip{background:rgba(var(--ion-color-tertiary-rgb),.08)}.perm-chip--empty{color:var(--ion-color-medium);background:transparent;padding-left:0}\n"], dependencies: [{ kind: "component", type: SkeletonLayoutComponent, selector: "val-skeleton-layout", inputs: ["props"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: PillComponent, selector: "val-pill", inputs: ["preset", "props"], outputs: ["pillClick", "pillAction"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }] }); }
362
370
  }
363
371
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PermissionsViewComponent, decorators: [{
364
372
  type: Component,
@@ -433,8 +441,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
433
441
  </div>
434
442
  } @else {
435
443
  @for (g of role.groups; track g.key) {
436
- <div class="perm-group">
437
- <span class="perm-group__label">{{ g.label }}</span>
444
+ <div [class]="'perm-group perm-group--' + g.scope">
445
+ <span class="perm-group__badge">{{ g.label }}</span>
438
446
  <div class="perm-chips">
439
447
  @for (p of g.perms; track p) {
440
448
  <span class="perm-chip">{{ p }}</span>
@@ -494,8 +502,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
494
502
  </div>
495
503
  } @else {
496
504
  @for (g of role.groups; track g.key) {
497
- <div class="perm-group">
498
- <span class="perm-group__label">{{ g.label }}</span>
505
+ <div [class]="'perm-group perm-group--' + g.scope">
506
+ <span class="perm-group__badge">{{ g.label }}</span>
499
507
  <div class="perm-chips">
500
508
  @for (p of g.perms; track p) {
501
509
  <span class="perm-chip">{{ p }}</span>
@@ -512,10 +520,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
512
520
  }
513
521
  }
514
522
  </div>
515
- `, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.page-header{margin-bottom:24px}.spinner-row,.error-row{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0}.perm-section{margin-bottom:32px}.perm-section__header{margin-bottom:12px}.role-list{display:flex;flex-direction:column;gap:10px}.role-card{border:1.5px solid var(--ion-color-light);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.role-card__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role-card__name{font-size:.9375rem;font-weight:600;color:var(--ion-color-dark)}.role-card__desc{font-size:.8125rem;color:var(--ion-color-medium);line-height:1.4}.perm-group{display:flex;flex-direction:column;gap:6px}.perm-group__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ion-color-medium)}.perm-chips{display:flex;flex-wrap:wrap;gap:6px}.perm-chip{font-size:.75rem;padding:3px 10px;border-radius:20px;background:var(--ion-color-light);color:var(--ion-color-dark)}.perm-chip--empty{color:var(--ion-color-medium);background:transparent;padding-left:0}\n"] }]
523
+ `, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.page-header{margin-bottom:24px}.spinner-row,.error-row{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0}.perm-section{margin-bottom:32px}.perm-section__header{margin-bottom:12px}.role-list{display:flex;flex-direction:column;gap:10px}.role-card{border:1.5px solid var(--ion-color-light);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.role-card__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role-card__name{font-size:.9375rem;font-weight:600;color:var(--ion-color-dark)}.role-card__desc{font-size:.8125rem;color:var(--ion-color-medium);line-height:1.4}.perm-group{display:flex;flex-direction:column;gap:6px}.perm-group__badge{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:6px}.perm-group--app .perm-group__badge{color:var(--ion-color-primary);background:rgba(var(--ion-color-primary-rgb),.12)}.perm-group--org .perm-group__badge{color:var(--ion-color-medium-shade, var(--ion-color-medium));background:var(--ion-color-light-shade, rgba(0, 0, 0, .06))}.perm-group--other .perm-group__badge{color:var(--ion-color-tertiary);background:rgba(var(--ion-color-tertiary-rgb),.12)}.perm-chips{display:flex;flex-wrap:wrap;gap:6px}.perm-chip{font-size:.75rem;padding:3px 10px;border-radius:20px;background:var(--ion-color-light);color:var(--ion-color-dark)}.perm-group--app .perm-chip{background:rgba(var(--ion-color-primary-rgb),.08)}.perm-group--other .perm-chip{background:rgba(var(--ion-color-tertiary-rgb),.08)}.perm-chip--empty{color:var(--ion-color-medium);background:transparent;padding-left:0}\n"] }]
516
524
  }], ctorParameters: () => [], propDecorators: { config: [{
517
525
  type: Input
518
526
  }], isModal: [{
519
527
  type: Input
520
528
  }] } });
521
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3Blcm1pc3Npb25zLXZpZXcvcGVybWlzc2lvbnMtdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFdkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBa0IsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDcEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3pGLE9BQU8s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QWU7OzRGQTZPdkcsd0JBQXdCO2tCQWhQcEMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsdUJBQXVCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLFlBQ3pHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzSlQ7d0RBbUdRLE1BQU07c0JBQWQsS0FBSztnQkFNRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIElucHV0LCBPbkluaXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNrZWxldG9uTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi4vc2tlbGV0b24tbGF5b3V0L3NrZWxldG9uLWxheW91dC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaWxsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3BpbGwvcGlsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEsIENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBPcmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvb3JnL29yZy5zZXJ2aWNlJztcbmltcG9ydCB7IGNvbm5lY3RQYWdlUmVmcmVzaCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BhZ2UtcmVmcmVzaC9wYWdlLXJlZnJlc2guc2VydmljZSc7XG5pbXBvcnQge1xuICBQZXJtaXNzaW9uQ2F0YWxvZ1NlcnZpY2UsXG4gIFBlcm1pc3Npb25SZXNvdXJjZSxcbiAgUGVybWlzc2lvbkxhYmVsZXIsXG4gIGNyZWF0ZVBlcm1pc3Npb25MYWJlbGVyLFxufSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vcmcvcGVybWlzc2lvbi1jYXRhbG9nLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBQZXJtaXNzaW9uc1ZpZXdDb25maWcgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFBFUk1JU1NJT05TX1ZJRVdfSTE4TiB9IGZyb20gJy4vcGVybWlzc2lvbnMtdmlldy5pMThuJztcblxuY29uc3QgREVGQVVMVF9OQU1FU1BBQ0UgPSAnU2V0dGluZ3MuUGVybWlzc2lvbnMnO1xuXG5pbnRlcmZhY2UgUGVybUdyb3VwVmlldyB7XG4gIGtleTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBwZXJtczogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBSb2xlVmlldyB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGlzU3lzdGVtOiBib29sZWFuO1xuICBncm91cHM6IFBlcm1Hcm91cFZpZXdbXTtcbiAgaGFzUGVybXM6IGJvb2xlYW47XG59XG5cbi8qKlxuICogYHZhbC1wZXJtaXNzaW9ucy12aWV3YCDigJQgdmlzdGEgUGVybWlzb3MgZnVsbC1mZWF0dXJlIGF1dG9jb250ZW5pZGEgKG9yZ2FuaXNtKS5cbiAqIFZpc29yIFJCQUMgZGUgc29sbyBsZWN0dXJhOiBtdWVzdHJhIGxvcyByb2xlcyBkZWwgc2lzdGVtYSAoVmlzb3IvRWRpdG9yL0FkbWluICtcbiAqIHJvbGVzIGRlIHBsYXRhZm9ybWEpIHkgbG9zIHJvbGVzIHBlcnNvbmFsaXphZG9zIGRlIGxhIG9yZyBhY3RpdmEsIGNvbiBlbFxuICogY2F0w6Fsb2dvIGRlIHBlcm1pc29zIGFncnVwYWRvIHBvciBhbGNhbmNlIChhcHAgYWN0dWFsIC8gcGxhdGFmb3JtYSAvIG90cmFzIGFwcHMpLlxuICogUHJvbW92aWRhIGRlc2RlIGBzaG93Y2FzZWAgYmFqbyBlbCBwcm9jZXNvIGRlIEFEUi0wMjEuXG4gKlxuICogKipSQkFDIGludGVybm8qKiAoY29tbyBgb3JnYW5pemF0aW9uLXZpZXdgKTogbGVlIGxhIG9yZyBhY3RpdmEgdsOtYVxuICogYEF1dGhTZXJ2aWNlLnVzZXIoKS5hY3RpdmVPcmdJZGAuIExhIHZpc3RhIE5PIG11dGEgbmFkYSDigJQgZWwgY29udHJvbCBkZSBxdWnDqW5cbiAqIHB1ZWRlIHZlcmxhIGVzIHJlc3BvbnNhYmlsaWRhZCBkZWwgZ3VhcmQgZGUgcnV0YSBkZWwgY29uc3VtZXI7IG5vIGhheSBnYXRpbmdcbiAqIGZpbm8gaW50ZXJubyBuaSBzZSBleHBvbmUgY29tbyBjb25maWcuXG4gKlxuICogRGF0b3M6IGBmb3JrSm9pbmAgZGUgYE9yZ1NlcnZpY2UubGlzdE9yZ1JvbGVzKG9yZ0lkKWAgKHJvbGVzIGRlIGxhIG9yZykgK1xuICogYFBlcm1pc3Npb25DYXRhbG9nU2VydmljZS5nZXRDYXRhbG9nKG9yZ0lkKWAgKGNhdMOhbG9nbyArIGFwcElkIGFjdHVhbCkuIEVsXG4gKiBjYXTDoWxvZ28gZGVmaW5lIGVsIGFsY2FuY2UgKGBzY29wZWAvYGFwcElkYCkgZGUgY2FkYSByZWN1cnNvIHBhcmEgYWdydXBhci5cbiAqXG4gKiBOTyByZW5kZXJpemEgaW9uLWNvbnRlbnQg4oCUIHZpdmUgZGVudHJvIGRlIHZhbC1wYWdlLXdyYXBwZXIuIGBBY3RpdmF0ZWRSb3V0ZWAgc2VcbiAqIGlueWVjdGEgYHsgb3B0aW9uYWw6IHRydWUgfWAgc29sbyBwYXJhIGxlZXIgZWwgcm91dGUgZGF0YSBkZSBjb25maWcuIEF1dG8tcmVnaXN0cmFcbiAqIHN1cyBkZWZhdWx0cyBpMThuIChlcy9lbikgc2kgZWwgY29uc3VtZXIgbm8gcHJvdmV5w7MgZWwgbmFtZXNwYWNlIChkZWZhdWx0XG4gKiBgU2V0dGluZ3MuUGVybWlzc2lvbnNgKS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXBlcm1pc3Npb25zLXZpZXcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbU2tlbGV0b25MYXlvdXRDb21wb25lbnQsIERpc3BsYXlDb21wb25lbnQsIFBpbGxDb21wb25lbnQsIFRpdGxlQ29tcG9uZW50LCBUZXh0Q29tcG9uZW50LCBCdXR0b25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJwYWdlXCI+XG4gICAgICA8aGVhZGVyIGNsYXNzPVwicGFnZS1oZWFkZXJcIj5cbiAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycsIGNvbnRlbnQ6IHR0KCdwYWdlVGl0bGUnKSB9XCIgLz5cbiAgICAgICAgPHZhbC10aXRsZVxuICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICBzaXplOiAnbGFyZ2UnLFxuICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgY29udGVudDogdHQoJ3BhZ2VEZXNjcmlwdGlvbicpLFxuICAgICAgICAgIH1cIlxuICAgICAgICAvPlxuICAgICAgPC9oZWFkZXI+XG5cbiAgICAgIEBpZiAobG9hZGluZygpKSB7XG4gICAgICAgIDx2YWwtc2tlbGV0b24tbGF5b3V0IFtwcm9wc109XCJ7IHByZXNldDogJ2xpc3QnLCByb3dzOiA0IH1cIiAvPlxuICAgICAgfSBAZWxzZSBpZiAobG9hZEVycm9yKCkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLXJvd1wiPlxuICAgICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgY29udGVudDogdHQoJ2Vycm9yVGl0bGUnKSxcbiAgICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICAgIGNvbG9yOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDx2YWwtYnV0dG9uIFtwcm9wc109XCJyZXRyeUJ1dHRvblByb3BzKClcIiAoY2xpY2spPVwibG9hZCgpXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGlmIChyZXNvbHZlZENvbmZpZygpLnNob3dTeXN0ZW1Sb2xlcykge1xuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwicGVybS1zZWN0aW9uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVybS1zZWN0aW9uX19oZWFkZXJcIj5cbiAgICAgICAgICAgICAgPHZhbC10aXRsZVxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgICAgICBib2xkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgY29udGVudDogdHQoJ3N5c3RlbVJvbGVzVGl0bGUnKSxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCdzeXN0ZW1Sb2xlc0hpbnQnKSxcbiAgICAgICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb2xlLWxpc3RcIj5cbiAgICAgICAgICAgICAgQGZvciAocm9sZSBvZiBzeXN0ZW1Sb2xlcygpOyB0cmFjayByb2xlLmlkKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvbGUtY2FyZFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvbGUtY2FyZF9faGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicm9sZS1jYXJkX19uYW1lXCI+e3sgcm9sZUxhYmVsKHJvbGUubmFtZSkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDx2YWwtcGlsbFxuICAgICAgICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogdHQoJ3N5c3RlbUJhZGdlJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAnYm9sZCcsXG4gICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIEBpZiAocm9sZS5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJvbGUtY2FyZF9fZGVzY1wiPnt7IHJvbGUuZGVzY3JpcHRpb24gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAaWYgKCFyb2xlLmhhc1Blcm1zKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLWNoaXBzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwZXJtLWNoaXAgcGVybS1jaGlwLS1lbXB0eVwiPnt7IHR0KCdub1Blcm1pc3Npb25zJykgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGcgb2Ygcm9sZS5ncm91cHM7IHRyYWNrIGcua2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVybS1ncm91cF9fbGFiZWxcIj57eyBnLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcm0tY2hpcHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAocCBvZiBnLnBlcm1zOyB0cmFjayBwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwZXJtLWNoaXBcIj57eyBwIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKHJlc29sdmVkQ29uZmlnKCkuc2hvd0N1c3RvbVJvbGVzKSB7XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJwZXJtLXNlY3Rpb25cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLXNlY3Rpb25fX2hlYWRlclwiPlxuICAgICAgICAgICAgICA8dmFsLXRpdGxlXG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgICAgICAgIGJvbGQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICBjb250ZW50OiB0dCgnY3VzdG9tUm9sZXNUaXRsZScpLFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8dmFsLXRleHRcbiAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgY29udGVudDogdHQoJ2N1c3RvbVJvbGVzSGludCcpLFxuICAgICAgICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmIChjdXN0b21Sb2xlcygpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICA8dmFsLXRleHRcbiAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgY29udGVudDogdHQoJ25vQ3VzdG9tUm9sZXMnKSxcbiAgICAgICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvbGUtbGlzdFwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKHJvbGUgb2YgY3VzdG9tUm9sZXMoKTsgdHJhY2sgcm9sZS5pZCkge1xuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvbGUtY2FyZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm9sZS1jYXJkX19oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJvbGUtY2FyZF9fbmFtZVwiPnt7IHJvbGUubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAocm9sZS5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicm9sZS1jYXJkX19kZXNjXCI+e3sgcm9sZS5kZXNjcmlwdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKCFyb2xlLmhhc1Blcm1zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcm0tY2hpcHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVybS1jaGlwIHBlcm0tY2hpcC0tZW1wdHlcIj57eyB0dCgnbm9QZXJtaXNzaW9ucycpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBAZm9yIChnIG9mIHJvbGUuZ3JvdXBzOyB0cmFjayBnLmtleSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwZXJtLWdyb3VwX19sYWJlbFwiPnt7IGcubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLWNoaXBzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAocCBvZiBnLnBlcm1zOyB0cmFjayBwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBlcm0tY2hpcFwiPnt7IHAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLnBhZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XG4gICAgICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgICAgLnBhZ2UtaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgIH1cbiAgICAgIC5zcGlubmVyLXJvdyxcbiAgICAgIC5lcnJvci1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDMycHggMDtcbiAgICAgIH1cbiAgICAgIC5wZXJtLXNlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgICAgfVxuICAgICAgLnBlcm0tc2VjdGlvbl9faGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgIH1cbiAgICAgIC5yb2xlLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICB9XG4gICAgICAucm9sZS1jYXJkIHtcbiAgICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1pb24tY29sb3ItbGlnaHQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAxNHB4IDE2cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgIH1cbiAgICAgIC5yb2xlLWNhcmRfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG4gICAgICAucm9sZS1jYXJkX19uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyayk7XG4gICAgICB9XG4gICAgICAucm9sZS1jYXJkX19kZXNjIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIH1cbiAgICAgIC5wZXJtLWdyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgICB9XG4gICAgICAucGVybS1ncm91cF9fbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0pO1xuICAgICAgfVxuICAgICAgLnBlcm0tY2hpcHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgfVxuICAgICAgLnBlcm0tY2hpcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgcGFkZGluZzogM3B4IDEwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1saWdodCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyayk7XG4gICAgICB9XG4gICAgICAucGVybS1jaGlwLS1lbXB0eSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uc1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIG9yZ1NlcnZpY2UgPSBpbmplY3QoT3JnU2VydmljZSk7XG4gIHByaXZhdGUgY2F0YWxvZyA9IGluamVjdChQZXJtaXNzaW9uQ2F0YWxvZ1NlcnZpY2UpO1xuICBwcml2YXRlIGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICBwcml2YXRlIG5hdiA9IGluamVjdChOYXZpZ2F0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgLyoqXG4gICAqIENvbmZpZyB2w61hIEBJbnB1dCAob2JqZWN0LWZpcnN0KS4gU2kgbm8gc2UgcGFzYSwgc2UgY2FlIGFsIHJvdXRlIGRhdGFcbiAgICogYHBlcm1pc3Npb25zQ29uZmlnYCAocG9ibGFkbyBwb3IgYHByb3ZpZGVWYWx0ZWNoUGVybWlzc2lvbnNSb3V0ZXNgKS5cbiAgICogYHJlc29sdmVkQ29uZmlnYCBtZXJnZWEgY29uIGxvcyBkZWZhdWx0cyDigJQgYEBJbnB1dGAgZ2FuYSBzb2JyZSByb3V0ZSBkYXRhLlxuICAgKi9cbiAgQElucHV0KCkgY29uZmlnPzogUGVybWlzc2lvbnNWaWV3Q29uZmlnO1xuXG4gIC8qKlxuICAgKiBDdWFuZG8gYHRydWVgLCBsYSB2aXN0YSBlc3TDoSBlbWJlYmlkYSBlbiB1biBtb2RhbCDigJQgc3VwcmltZSBlbCBiYWNrLWhlYWRlclxuICAgKiAobG8gZ2VzdGlvbmEgZWwgbW9kYWwgcGFkcmUpLiBEZWZhdWx0IGBmYWxzZWAgKHVzbyBjb21vIHJ1dGEpLlxuICAgKi9cbiAgQElucHV0KCkgaXNNb2RhbCA9IGZhbHNlO1xuXG4gIHJlYWRvbmx5IHJlc29sdmVkQ29uZmlnID0gY29tcHV0ZWQ8UmVxdWlyZWQ8UGVybWlzc2lvbnNWaWV3Q29uZmlnPj4oKCkgPT4ge1xuICAgIGNvbnN0IGZyb21Sb3V0ZSA9ICh0aGlzLnJvdXRlPy5zbmFwc2hvdC5kYXRhWydwZXJtaXNzaW9uc0NvbmZpZyddID8/IHt9KSBhcyBQZXJtaXNzaW9uc1ZpZXdDb25maWc7XG4gICAgY29uc3QgbWVyZ2VkOiBQZXJtaXNzaW9uc1ZpZXdDb25maWcgPSB7IC4uLmZyb21Sb3V0ZSwgLi4uKHRoaXMuY29uZmlnID8/IHt9KSB9O1xuICAgIHJldHVybiB7XG4gICAgICBzaG93U3lzdGVtUm9sZXM6IG1lcmdlZC5zaG93U3lzdGVtUm9sZXMgPz8gdHJ1ZSxcbiAgICAgIHNob3dDdXN0b21Sb2xlczogbWVyZ2VkLnNob3dDdXN0b21Sb2xlcyA/PyB0cnVlLFxuICAgICAgaTE4bk5hbWVzcGFjZTogbWVyZ2VkLmkxOG5OYW1lc3BhY2UgPz8gREVGQVVMVF9OQU1FU1BBQ0UsXG4gICAgfTtcbiAgfSk7XG5cbiAgLyoqIE5hbWVzcGFjZSBpMThuIHJlc3VlbHRvIChjYXB0dXJhZG8gcGFyYSBsbGFtYWRhcyBuby1yZWFjdGl2YXMpLiAqL1xuICBwcml2YXRlIGdldCBucygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVkQ29uZmlnKCkuaTE4bk5hbWVzcGFjZTtcbiAgfVxuXG4gIHJlYWRvbmx5IGxvYWRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBsb2FkRXJyb3IgPSBzaWduYWw8dW5rbm93biB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvbGVzID0gc2lnbmFsPFJvbGVWaWV3W10+KFtdKTtcblxuICByZWFkb25seSBzeXN0ZW1Sb2xlcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMucm9sZXMoKS5maWx0ZXIociA9PiByLmlzU3lzdGVtKSk7XG4gIHJlYWRvbmx5IGN1c3RvbVJvbGVzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yb2xlcygpLmZpbHRlcihyID0+ICFyLmlzU3lzdGVtKSk7XG5cbiAgcmVhZG9ubHkgYWN0aXZlT3JnSWQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgdSA9IHRoaXMuYXV0aC51c2VyKCkgYXMge1xuICAgICAgYWN0aXZlT3JnSWQ/OiBzdHJpbmc7XG4gICAgICBhY3RpdmVPcmc/OiBzdHJpbmc7XG4gICAgfSB8IG51bGw7XG4gICAgcmV0dXJuIHU/LmFjdGl2ZU9yZ0lkID8/IHU/LmFjdGl2ZU9yZyA/PyAnJztcbiAgfSk7XG5cbiAgcmVhZG9ubHkgcmV0cnlCdXR0b25Qcm9wcyA9IGNvbXB1dGVkPFBhcnRpYWw8QnV0dG9uTWV0YWRhdGE+PigoKSA9PiAoe1xuICAgIHRleHQ6IHRoaXMudHQoJ3JldHJ5JyksXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBmaWxsOiAnb3V0bGluZScsXG4gICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgIHR5cGU6ICdidXR0b24nLFxuICAgIHN0YXRlOiB0aGlzLmxvYWRpbmcoKSA/IENvbXBvbmVudFN0YXRlcy5ESVNBQkxFRCA6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICB9KSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgbnMgPSB0aGlzLm5zO1xuICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKG5zLCBQRVJNSVNTSU9OU19WSUVXX0kxOE4pO1xuICAgIHRoaXMubG9hZCgpO1xuICAgIGNvbm5lY3RQYWdlUmVmcmVzaCgoKSA9PiB0aGlzLmxvYWQoKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNNb2RhbCkge1xuICAgICAgdGhpcy5uYXYuc2V0QmFja0hlYWRlcigncGFnZVRpdGxlJywgdGhpcy5ucywgeyB3aXRoTWVudTogdHJ1ZSB9KTtcbiAgICB9XG4gIH1cblxuICBsb2FkKCk6IHZvaWQge1xuICAgIGNvbnN0IG9yZ0lkID0gdGhpcy5hY3RpdmVPcmdJZCgpO1xuICAgIGlmICghb3JnSWQpIHJldHVybjtcbiAgICB0aGlzLmxvYWRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMubG9hZEVycm9yLnNldChudWxsKTtcbiAgICBmb3JrSm9pbih7XG4gICAgICByb2xlczogdGhpcy5vcmdTZXJ2aWNlLmxpc3RPcmdSb2xlcyhvcmdJZCksXG4gICAgICBjYXRhbG9nOiB0aGlzLmNhdGFsb2cuZ2V0Q2F0YWxvZyhvcmdJZCksXG4gICAgfSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICh7IHJvbGVzOiByYXdSb2xlcywgY2F0YWxvZyB9KSA9PiB7XG4gICAgICAgIGNvbnN0IGJ5UmVzb3VyY2UgPSBuZXcgTWFwPHN0cmluZywgUGVybWlzc2lvblJlc291cmNlPigpO1xuICAgICAgICBmb3IgKGNvbnN0IHIgb2YgY2F0YWxvZy5wZXJtaXNzaW9ucykgYnlSZXNvdXJjZS5zZXQoci5yZXNvdXJjZSwgcik7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRBcHBJZCA9IGNhdGFsb2cuYXBwSWQ7XG4gICAgICAgIC8vIExhYmVsZXIgY29uIGxhIFNTT1QgZGVsIGJhY2tlbmQgKGxhYmVscyBkZWwgY2F0w6Fsb2dvKSDigJQgcmVlbXBsYXphIGVsXG4gICAgICAgIC8vIG1hcGEgaGFyZGNvZGVhZG8gYHBlcm0qYC4gTG9jYWxlIGRlbCBtb21lbnRvIGRlIGNhcmdhIChpZ3VhbCBxdWUgYW50ZXM6XG4gICAgICAgIC8vIGxvcyBsYWJlbHMgc2UgaG9ybmVhbiBlbiBlbCBSb2xlVmlldzsgY2FtYmlvIGRlIGlkaW9tYSByZXF1aWVyZSByZWxvYWQpLlxuICAgICAgICBjb25zdCBsYWJlbGVyID0gY3JlYXRlUGVybWlzc2lvbkxhYmVsZXIoY2F0YWxvZywgdGhpcy5pMThuLmxhbmcoKSwge1xuICAgICAgICAgIGFsbExhYmVsOiB0aGlzLnR0KCdwZXJtQWxsJyksXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJvbGVzLnNldChcbiAgICAgICAgICAocmF3Um9sZXMgPz8gW10pLm1hcCgocjogYW55KSA9PlxuICAgICAgICAgICAgdGhpcy5idWlsZFJvbGVWaWV3KFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IHIuaWQsXG4gICAgICAgICAgICAgICAgbmFtZTogci5uYW1lLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiByLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zOiByLnBlcm1pc3Npb25zID8/IFtdLFxuICAgICAgICAgICAgICAgIGlzU3lzdGVtOiByLmlzU3lzdGVtID8/IGZhbHNlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBieVJlc291cmNlLFxuICAgICAgICAgICAgICBjdXJyZW50QXBwSWQsXG4gICAgICAgICAgICAgIGxhYmVsZXJcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICB0aGlzLmxvYWRFcnJvci5zZXQoZXJyKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFJvbGVWaWV3KFxuICAgIHJvbGU6IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgICAgIGlzU3lzdGVtOiBib29sZWFuO1xuICAgIH0sXG4gICAgYnlSZXNvdXJjZTogTWFwPHN0cmluZywgUGVybWlzc2lvblJlc291cmNlPixcbiAgICBjdXJyZW50QXBwSWQ6IHN0cmluZyxcbiAgICBsYWJlbGVyOiBQZXJtaXNzaW9uTGFiZWxlclxuICApOiBSb2xlVmlldyB7XG4gICAgY29uc3QgYXBwUGVybXM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3Qgb3JnUGVybXM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3Qgb3RoZXJCeUFwcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmdbXT4oKTtcblxuICAgIGZvciAoY29uc3QgcGVybSBvZiByb2xlLnBlcm1pc3Npb25zKSB7XG4gICAgICBjb25zdCBbcmVzb3VyY2VdID0gcGVybS5zcGxpdCgnOicpO1xuICAgICAgY29uc3QgZW50cnkgPSBieVJlc291cmNlLmdldChyZXNvdXJjZSk7XG4gICAgICAvLyBTaW4gZW50cmFkYSBlbiBlbCBjYXTDoWxvZ28gKGVsIGJhY2tlbmQgb21pdGUgbG9zIHJlY3Vyc29zIGludGVybmFsIHBhcmFcbiAgICAgIC8vIG5vLXBsYXRmb3JtLWFkbWlucykgbyBlbnRyYWRhIGludGVybmFsIOKGkiBOVU5DQSBzZSBtdWVzdHJhIGEgbml2ZWwgZGVcbiAgICAgIC8vIHByb2R1Y3RvLiBEZWZlbnNhIGVuIHByb2Z1bmRpZGFkIGp1bnRvIGFsIGZpbHRybyBkZWwgYmFja2VuZCAoQURSLTAyNCkuXG4gICAgICAvLyBOb3RhOiBlbCByb2wgcHVlZGUgdHJhZXIgZWwgcGVybWlzbyBhdW5xdWUgZWwgcmVjdXJzbyBlc3TDqSBmaWx0cmFkbyBkZWxcbiAgICAgIC8vIGNhdMOhbG9nbyAoZWouIGFkbWluIHRpZW5lIHRlbXBsYXRlczoqKTsgcG9yIGVzbyBzZSBkZXNjYXJ0YSBsbyBubyByZXN1ZWx0by5cbiAgICAgIGlmICghZW50cnkgfHwgZW50cnkuc2NvcGUgPT09ICdpbnRlcm5hbCcpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBsYWJlbCA9IGxhYmVsZXIocGVybSk7XG4gICAgICBpZiAoZW50cnkuc2NvcGUgPT09ICdhcHAnKSB7XG4gICAgICAgIGlmIChlbnRyeS5hcHBJZCA9PT0gY3VycmVudEFwcElkKSB7XG4gICAgICAgICAgYXBwUGVybXMucHVzaChsYWJlbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgYXBwSWQgPSBlbnRyeS5hcHBJZCA/PyAnPyc7XG4gICAgICAgICAgY29uc3QgYXJyID0gb3RoZXJCeUFwcC5nZXQoYXBwSWQpID8/IFtdO1xuICAgICAgICAgIGFyci5wdXNoKGxhYmVsKTtcbiAgICAgICAgICBvdGhlckJ5QXBwLnNldChhcHBJZCwgYXJyKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gc2NvcGUgPT09ICdvcmcnIOKGkiBnZXN0acOzbiBkZSBsYSBvcmdhbml6YWNpw7NuIGRlbCBjbGllbnRlXG4gICAgICAgIG9yZ1Blcm1zLnB1c2gobGFiZWwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGdyb3VwczogUGVybUdyb3VwVmlld1tdID0gW107XG4gICAgaWYgKGFwcFBlcm1zLmxlbmd0aCkge1xuICAgICAgZ3JvdXBzLnB1c2goeyBrZXk6ICdhcHAnLCBsYWJlbDogdGhpcy50dCgnZ3JvdXBBcHAnKSwgcGVybXM6IGFwcFBlcm1zIH0pO1xuICAgIH1cbiAgICBpZiAob3JnUGVybXMubGVuZ3RoKSB7XG4gICAgICBncm91cHMucHVzaCh7XG4gICAgICAgIGtleTogJ29yZycsXG4gICAgICAgIGxhYmVsOiB0aGlzLnR0KCdncm91cE9yZycpLFxuICAgICAgICBwZXJtczogb3JnUGVybXMsXG4gICAgICB9KTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBbYXBwSWQsIHBlcm1zXSBvZiBvdGhlckJ5QXBwKSB7XG4gICAgICBncm91cHMucHVzaCh7XG4gICAgICAgIGtleTogYG90aGVyOiR7YXBwSWR9YCxcbiAgICAgICAgbGFiZWw6IGAke3RoaXMudHQoJ2dyb3VwT3RoZXInKX06ICR7dGhpcy5hcHBMYWJlbChhcHBJZCl9YCxcbiAgICAgICAgcGVybXMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHJvbGUuaWQsXG4gICAgICBuYW1lOiByb2xlLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcm9sZS5kZXNjcmlwdGlvbixcbiAgICAgIGlzU3lzdGVtOiByb2xlLmlzU3lzdGVtLFxuICAgICAgZ3JvdXBzLFxuICAgICAgaGFzUGVybXM6IGdyb3Vwcy5sZW5ndGggPiAwLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgdHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIHRoaXMubnMpO1xuICB9XG5cbiAgYXBwTGFiZWwoYXBwSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qga2V5ID0gYGFwcF8ke2FwcElkfWA7XG4gICAgY29uc3QgbGFiZWwgPSB0aGlzLnR0KGtleSk7XG4gICAgcmV0dXJuIGxhYmVsID09PSBrZXkgPyBhcHBJZCA6IGxhYmVsO1xuICB9XG5cbiAgcm9sZUxhYmVsKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgdmlld2VyOiAncm9sZVZpZXdlcicsXG4gICAgICBlZGl0b3I6ICdyb2xlRWRpdG9yJyxcbiAgICAgIGFkbWluOiAncm9sZUFkbWluJyxcbiAgICAgIHN1cGVyX2FkbWluOiAncm9sZVN1cGVyQWRtaW4nLFxuICAgICAgYmluZ29fYWRtaW46ICdyb2xlQmluZ29BZG1pbicsXG4gICAgICBiaW5nb190ZXNvcmVybzogJ3JvbGVCaW5nb1Rlc29yZXJvJyxcbiAgICAgIGJpbmdvX3RhcXVpbGxhOiAncm9sZUJpbmdvVGFxdWlsbGEnLFxuICAgICAgYmluZ29fb3BlcmF0b3I6ICdyb2xlQmluZ29PcGVyYXRvcicsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy50dChtYXBbbmFtZV0gPz8gbmFtZSk7XG4gIH1cbn1cbiJdfQ==
529
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3Blcm1pc3Npb25zLXZpZXcvcGVybWlzc2lvbnMtdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFdkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBa0IsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDcEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3pGLE9BQU8sRUFDTCx3QkFBd0IsRUFHeEIsdUJBQXVCLEdBQ3hCLE1BQU0sa0RBQWtELENBQUM7QUFHMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRWhFLE1BQU0saUJBQWlCLEdBQUcsc0JBQXNCLENBQUM7QUFxQmpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQTJRSCxNQUFNLE9BQU8sd0JBQXdCO0lBK0JuQyxzRUFBc0U7SUFDdEUsSUFBWSxFQUFFO1FBQ1osT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUEwQkQ7UUEzRFEsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLFlBQU8sR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUMzQyxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNCLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoQyxVQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBUzNEOzs7V0FHRztRQUNNLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsbUJBQWMsR0FBRyxRQUFRLENBQWtDLEdBQUcsRUFBRTtZQUN2RSxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBMEIsQ0FBQztZQUNsRyxNQUFNLE1BQU0sR0FBMEIsRUFBRSxHQUFHLFNBQVMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQy9FLE9BQU87Z0JBQ0wsZUFBZSxFQUFFLE1BQU0sQ0FBQyxlQUFlLElBQUksSUFBSTtnQkFDL0MsZUFBZSxFQUFFLE1BQU0sQ0FBQyxlQUFlLElBQUksSUFBSTtnQkFDL0MsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLElBQUksaUJBQWlCO2FBQ3pELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQU9NLFlBQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsY0FBUyxHQUFHLE1BQU0sQ0FBaUIsSUFBSSxDQUFDLENBQUM7UUFDakMsVUFBSyxHQUFHLE1BQU0sQ0FBYSxFQUFFLENBQUMsQ0FBQztRQUV2QyxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDbkUsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFcEUsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25DLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUdoQixDQUFDO1lBQ1QsT0FBTyxDQUFDLEVBQUUsV0FBVyxJQUFJLENBQUMsRUFBRSxTQUFTLElBQUksRUFBRSxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO1FBRU0scUJBQWdCLEdBQUcsUUFBUSxDQUEwQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ25FLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQztZQUN0QixLQUFLLEVBQUUsTUFBTTtZQUNiLElBQUksRUFBRSxTQUFTO1lBQ2YsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsUUFBUTtZQUNkLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxPQUFPO1NBQzNFLENBQUMsQ0FBQyxDQUFDO1FBR0YsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSTtRQUNGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsUUFBUSxDQUFDO1lBQ1AsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUMxQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1NBQ3hDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDWCxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtnQkFDckMsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7Z0JBQ3pELEtBQUssTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLFdBQVc7b0JBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNuRSxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO2dCQUNuQyx1RUFBdUU7Z0JBQ3ZFLDBFQUEwRTtnQkFDMUUsMkVBQTJFO2dCQUMzRSxNQUFNLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDakUsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDO2lCQUM3QixDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQ1osQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FDOUIsSUFBSSxDQUFDLGFBQWEsQ0FDaEI7b0JBQ0UsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFO29CQUNSLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtvQkFDWixXQUFXLEVBQUUsQ0FBQyxDQUFDLFdBQVc7b0JBQzFCLFdBQVcsRUFBRSxDQUFDLENBQUMsV0FBVyxJQUFJLEVBQUU7b0JBQ2hDLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxJQUFJLEtBQUs7aUJBQzlCLEVBQ0QsVUFBVSxFQUNWLFlBQVksRUFDWixPQUFPLENBQ1IsQ0FDRixDQUNGLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxhQUFhLENBQ25CLElBTUMsRUFDRCxVQUEyQyxFQUMzQyxZQUFvQixFQUNwQixPQUEwQjtRQUUxQixNQUFNLFFBQVEsR0FBYSxFQUFFLENBQUM7UUFDOUIsTUFBTSxRQUFRLEdBQWEsRUFBRSxDQUFDO1FBQzlCLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUFvQixDQUFDO1FBRS9DLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkMsMEVBQTBFO1lBQzFFLHVFQUF1RTtZQUN2RSwwRUFBMEU7WUFDMUUsMEVBQTBFO1lBQzFFLDhFQUE4RTtZQUM5RSxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQ3pDLFNBQVM7WUFDWCxDQUFDO1lBQ0QsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLFlBQVksRUFBRSxDQUFDO29CQUNqQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QixDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUM7b0JBQ2pDLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUN4QyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNoQixVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDN0IsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTiwyREFBMkQ7Z0JBQzNELFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBb0IsRUFBRSxDQUFDO1FBQ25DLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ1YsR0FBRyxFQUFFLEtBQUs7Z0JBQ1YsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO2dCQUMxQixLQUFLLEVBQUUsS0FBSztnQkFDWixLQUFLLEVBQUUsUUFBUTthQUNoQixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDVixHQUFHLEVBQUUsS0FBSztnQkFDVixLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUM7Z0JBQzFCLEtBQUssRUFBRSxLQUFLO2dCQUNaLEtBQUssRUFBRSxRQUFRO2FBQ2hCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDeEMsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDVixHQUFHLEVBQUUsU0FBUyxLQUFLLEVBQUU7Z0JBQ3JCLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDMUQsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsS0FBSztnQkFDTCxLQUFLO2FBQ04sQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU87WUFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE1BQU07WUFDTixRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDO1NBQzVCLENBQUM7SUFDSixDQUFDO0lBRVMsRUFBRSxDQUFDLEdBQVc7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtRQUNwQixNQUFNLEdBQUcsR0FBRyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQzNCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsT0FBTyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN2QyxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVk7UUFDcEIsTUFBTSxHQUFHLEdBQTJCO1lBQ2xDLE1BQU0sRUFBRSxZQUFZO1lBQ3BCLE1BQU0sRUFBRSxZQUFZO1lBQ3BCLEtBQUssRUFBRSxXQUFXO1lBQ2xCLFdBQVcsRUFBRSxnQkFBZ0I7WUFDN0IsV0FBVyxFQUFFLGdCQUFnQjtZQUM3QixjQUFjLEVBQUUsbUJBQW1CO1lBQ25DLGNBQWMsRUFBRSxtQkFBbUI7WUFDbkMsY0FBYyxFQUFFLG1CQUFtQjtTQUNwQyxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDOytHQTNOVSx3QkFBd0I7bUdBQXhCLHdCQUF3QixrSUF0UXpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzSlQsd3lEQXZKUyx1QkFBdUIsbUZBQUUsZ0JBQWdCLDJFQUFFLGFBQWEsd0hBQUUsY0FBYyx5RUFBRSxhQUFhLHdFQUFFLGVBQWU7OzRGQXVRdkcsd0JBQXdCO2tCQTFRcEMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsdUJBQXVCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLFlBQ3pHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzSlQ7d0RBNkhRLE1BQU07c0JBQWQsS0FBSztnQkFNRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIElucHV0LCBPbkluaXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNrZWxldG9uTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi4vc2tlbGV0b24tbGF5b3V0L3NrZWxldG9uLWxheW91dC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaWxsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3BpbGwvcGlsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEsIENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBPcmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvb3JnL29yZy5zZXJ2aWNlJztcbmltcG9ydCB7IGNvbm5lY3RQYWdlUmVmcmVzaCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BhZ2UtcmVmcmVzaC9wYWdlLXJlZnJlc2guc2VydmljZSc7XG5pbXBvcnQge1xuICBQZXJtaXNzaW9uQ2F0YWxvZ1NlcnZpY2UsXG4gIFBlcm1pc3Npb25SZXNvdXJjZSxcbiAgUGVybWlzc2lvbkxhYmVsZXIsXG4gIGNyZWF0ZVBlcm1pc3Npb25MYWJlbGVyLFxufSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vcmcvcGVybWlzc2lvbi1jYXRhbG9nLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBQZXJtaXNzaW9uc1ZpZXdDb25maWcgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFBFUk1JU1NJT05TX1ZJRVdfSTE4TiB9IGZyb20gJy4vcGVybWlzc2lvbnMtdmlldy5pMThuJztcblxuY29uc3QgREVGQVVMVF9OQU1FU1BBQ0UgPSAnU2V0dGluZ3MuUGVybWlzc2lvbnMnO1xuXG5pbnRlcmZhY2UgUGVybUdyb3VwVmlldyB7XG4gIGtleTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICAvKiogQWxjYW5jZSBkZWwgZ3J1cG86ICdhcHAnIChhcHAgYWN0dWFsKSDCtyAnb3JnJyAoZ2VuZXJhbCkgwrcgJ290aGVyJyAob3RyYSBhcHApLiAqL1xuICBzY29wZTogJ2FwcCcgfCAnb3JnJyB8ICdvdGhlcic7XG4gIC8qKiBBcHBJZCBkZSBsYSBvdHJhIGFwcCAoc29sbyBjdWFuZG8gc2NvcGUgPT09ICdvdGhlcicpLiAqL1xuICBhcHBJZD86IHN0cmluZztcbiAgcGVybXM6IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgUm9sZVZpZXcge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBpc1N5c3RlbTogYm9vbGVhbjtcbiAgZ3JvdXBzOiBQZXJtR3JvdXBWaWV3W107XG4gIGhhc1Blcm1zOiBib29sZWFuO1xufVxuXG4vKipcbiAqIGB2YWwtcGVybWlzc2lvbnMtdmlld2Ag4oCUIHZpc3RhIFBlcm1pc29zIGZ1bGwtZmVhdHVyZSBhdXRvY29udGVuaWRhIChvcmdhbmlzbSkuXG4gKiBWaXNvciBSQkFDIGRlIHNvbG8gbGVjdHVyYTogbXVlc3RyYSBsb3Mgcm9sZXMgZGVsIHNpc3RlbWEgKFZpc29yL0VkaXRvci9BZG1pbiArXG4gKiByb2xlcyBkZSBwbGF0YWZvcm1hKSB5IGxvcyByb2xlcyBwZXJzb25hbGl6YWRvcyBkZSBsYSBvcmcgYWN0aXZhLCBjb24gZWxcbiAqIGNhdMOhbG9nbyBkZSBwZXJtaXNvcyBhZ3J1cGFkbyBwb3IgYWxjYW5jZSAoYXBwIGFjdHVhbCAvIHBsYXRhZm9ybWEgLyBvdHJhcyBhcHBzKS5cbiAqIFByb21vdmlkYSBkZXNkZSBgc2hvd2Nhc2VgIGJham8gZWwgcHJvY2VzbyBkZSBBRFItMDIxLlxuICpcbiAqICoqUkJBQyBpbnRlcm5vKiogKGNvbW8gYG9yZ2FuaXphdGlvbi12aWV3YCk6IGxlZSBsYSBvcmcgYWN0aXZhIHbDrWFcbiAqIGBBdXRoU2VydmljZS51c2VyKCkuYWN0aXZlT3JnSWRgLiBMYSB2aXN0YSBOTyBtdXRhIG5hZGEg4oCUIGVsIGNvbnRyb2wgZGUgcXVpw6luXG4gKiBwdWVkZSB2ZXJsYSBlcyByZXNwb25zYWJpbGlkYWQgZGVsIGd1YXJkIGRlIHJ1dGEgZGVsIGNvbnN1bWVyOyBubyBoYXkgZ2F0aW5nXG4gKiBmaW5vIGludGVybm8gbmkgc2UgZXhwb25lIGNvbW8gY29uZmlnLlxuICpcbiAqIERhdG9zOiBgZm9ya0pvaW5gIGRlIGBPcmdTZXJ2aWNlLmxpc3RPcmdSb2xlcyhvcmdJZClgIChyb2xlcyBkZSBsYSBvcmcpICtcbiAqIGBQZXJtaXNzaW9uQ2F0YWxvZ1NlcnZpY2UuZ2V0Q2F0YWxvZyhvcmdJZClgIChjYXTDoWxvZ28gKyBhcHBJZCBhY3R1YWwpLiBFbFxuICogY2F0w6Fsb2dvIGRlZmluZSBlbCBhbGNhbmNlIChgc2NvcGVgL2BhcHBJZGApIGRlIGNhZGEgcmVjdXJzbyBwYXJhIGFncnVwYXIuXG4gKlxuICogTk8gcmVuZGVyaXphIGlvbi1jb250ZW50IOKAlCB2aXZlIGRlbnRybyBkZSB2YWwtcGFnZS13cmFwcGVyLiBgQWN0aXZhdGVkUm91dGVgIHNlXG4gKiBpbnllY3RhIGB7IG9wdGlvbmFsOiB0cnVlIH1gIHNvbG8gcGFyYSBsZWVyIGVsIHJvdXRlIGRhdGEgZGUgY29uZmlnLiBBdXRvLXJlZ2lzdHJhXG4gKiBzdXMgZGVmYXVsdHMgaTE4biAoZXMvZW4pIHNpIGVsIGNvbnN1bWVyIG5vIHByb3ZlecOzIGVsIG5hbWVzcGFjZSAoZGVmYXVsdFxuICogYFNldHRpbmdzLlBlcm1pc3Npb25zYCkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1wZXJtaXNzaW9ucy12aWV3JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1NrZWxldG9uTGF5b3V0Q29tcG9uZW50LCBEaXNwbGF5Q29tcG9uZW50LCBQaWxsQ29tcG9uZW50LCBUaXRsZUNvbXBvbmVudCwgVGV4dENvbXBvbmVudCwgQnV0dG9uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwicGFnZVwiPlxuICAgICAgPGhlYWRlciBjbGFzcz1cInBhZ2UtaGVhZGVyXCI+XG4gICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwieyBzaXplOiAnc21hbGwnLCBjb2xvcjogJ2RhcmsnLCBjb250ZW50OiB0dCgncGFnZVRpdGxlJykgfVwiIC8+XG4gICAgICAgIDx2YWwtdGl0bGVcbiAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgc2l6ZTogJ2xhcmdlJyxcbiAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCdwYWdlRGVzY3JpcHRpb24nKSxcbiAgICAgICAgICB9XCJcbiAgICAgICAgLz5cbiAgICAgIDwvaGVhZGVyPlxuXG4gICAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgICA8dmFsLXNrZWxldG9uLWxheW91dCBbcHJvcHNdPVwieyBwcmVzZXQ6ICdsaXN0Jywgcm93czogNCB9XCIgLz5cbiAgICAgIH0gQGVsc2UgaWYgKGxvYWRFcnJvcigpKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci1yb3dcIj5cbiAgICAgICAgICA8dmFsLXRleHRcbiAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCdlcnJvclRpdGxlJyksXG4gICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICBjb2xvcjogJ21lZGl1bScsXG4gICAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwicmV0cnlCdXR0b25Qcm9wcygpXCIgKGNsaWNrKT1cImxvYWQoKVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpZiAocmVzb2x2ZWRDb25maWcoKS5zaG93U3lzdGVtUm9sZXMpIHtcbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cInBlcm0tc2VjdGlvblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcm0tc2VjdGlvbl9faGVhZGVyXCI+XG4gICAgICAgICAgICAgIDx2YWwtdGl0bGVcbiAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgICAgICAgYm9sZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCdzeXN0ZW1Sb2xlc1RpdGxlJyksXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiB0dCgnc3lzdGVtUm9sZXNIaW50JyksXG4gICAgICAgICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm9sZS1saXN0XCI+XG4gICAgICAgICAgICAgIEBmb3IgKHJvbGUgb2Ygc3lzdGVtUm9sZXMoKTsgdHJhY2sgcm9sZS5pZCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb2xlLWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb2xlLWNhcmRfX2hlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJvbGUtY2FyZF9fbmFtZVwiPnt7IHJvbGVMYWJlbChyb2xlLm5hbWUpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8dmFsLXBpbGxcbiAgICAgICAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHR0KCdzeXN0ZW1CYWRnZScpLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogJ2JvbGQnLFxuICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICBAaWYgKHJvbGUuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyb2xlLWNhcmRfX2Rlc2NcIj57eyByb2xlLmRlc2NyaXB0aW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgQGlmICghcm9sZS5oYXNQZXJtcykge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVybS1jaGlwc1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVybS1jaGlwIHBlcm0tY2hpcC0tZW1wdHlcIj57eyB0dCgnbm9QZXJtaXNzaW9ucycpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBAZm9yIChnIG9mIHJvbGUuZ3JvdXBzOyB0cmFjayBnLmtleSkge1xuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2NsYXNzXT1cIidwZXJtLWdyb3VwIHBlcm0tZ3JvdXAtLScgKyBnLnNjb3BlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBlcm0tZ3JvdXBfX2JhZGdlXCI+e3sgZy5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLWNoaXBzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHAgb2YgZy5wZXJtczsgdHJhY2sgcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVybS1jaGlwXCI+e3sgcCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChyZXNvbHZlZENvbmZpZygpLnNob3dDdXN0b21Sb2xlcykge1xuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwicGVybS1zZWN0aW9uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVybS1zZWN0aW9uX19oZWFkZXJcIj5cbiAgICAgICAgICAgICAgPHZhbC10aXRsZVxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgICAgICBib2xkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgY29udGVudDogdHQoJ2N1c3RvbVJvbGVzVGl0bGUnKSxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCdjdXN0b21Sb2xlc0hpbnQnKSxcbiAgICAgICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZiAoY3VzdG9tUm9sZXMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCdub0N1c3RvbVJvbGVzJyksXG4gICAgICAgICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb2xlLWxpc3RcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChyb2xlIG9mIGN1c3RvbVJvbGVzKCk7IHRyYWNrIHJvbGUuaWQpIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb2xlLWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvbGUtY2FyZF9faGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyb2xlLWNhcmRfX25hbWVcIj57eyByb2xlLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBAaWYgKHJvbGUuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJvbGUtY2FyZF9fZGVzY1wiPnt7IHJvbGUuZGVzY3JpcHRpb24gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGlmICghcm9sZS5oYXNQZXJtcykge1xuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLWNoaXBzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBlcm0tY2hpcCBwZXJtLWNoaXAtLWVtcHR5XCI+e3sgdHQoJ25vUGVybWlzc2lvbnMnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgQGZvciAoZyBvZiByb2xlLmdyb3VwczsgdHJhY2sgZy5rZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2NsYXNzXT1cIidwZXJtLWdyb3VwIHBlcm0tZ3JvdXAtLScgKyBnLnNjb3BlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVybS1ncm91cF9fYmFkZ2VcIj57eyBnLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVybS1jaGlwc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHAgb2YgZy5wZXJtczsgdHJhY2sgcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwZXJtLWNoaXBcIj57eyBwIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5wYWdlIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAwO1xuICAgICAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICAgIC5wYWdlLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICB9XG4gICAgICAuc3Bpbm5lci1yb3csXG4gICAgICAuZXJyb3Itcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAzMnB4IDA7XG4gICAgICB9XG4gICAgICAucGVybS1zZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgIH1cbiAgICAgIC5wZXJtLXNlY3Rpb25fX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICB9XG4gICAgICAucm9sZS1saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgfVxuICAgICAgLnJvbGUtY2FyZCB7XG4gICAgICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0taW9uLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICB9XG4gICAgICAucm9sZS1jYXJkX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgICAgLnJvbGUtY2FyZF9fbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgfVxuICAgICAgLnJvbGUtY2FyZF9fZGVzYyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICB9XG4gICAgICAucGVybS1ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgfVxuICAgICAgLyogQmFkZ2UgZGUgYWxjYW5jZSBkZWwgZ3J1cG8g4oCUIGNvbG9yIGNvbXVuaWNhIHNpIGVsIHBlcm1pc28gZXMgZ2VuZXJhbCxcbiAgICAgICAgIGRlIGxhIGFwcCBhY3R1YWwsIG8gZGUgb3RyYSBhcHAgKGFudGVzIGVyYSB1biBsYWJlbCBncmlzIHBsYW5vKS4gKi9cbiAgICAgIC5wZXJtLWdyb3VwX19iYWRnZSB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIHBhZGRpbmc6IDNweCA5cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgIH1cbiAgICAgIC5wZXJtLWdyb3VwLS1hcHAgLnBlcm0tZ3JvdXBfX2JhZGdlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1pb24tY29sb3ItcHJpbWFyeS1yZ2IpLCAwLjEyKTtcbiAgICAgIH1cbiAgICAgIC5wZXJtLWdyb3VwLS1vcmcgLnBlcm0tZ3JvdXBfX2JhZGdlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0tc2hhZGUsIHZhcigtLWlvbi1jb2xvci1tZWRpdW0pKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWxpZ2h0LXNoYWRlLCByZ2JhKDAsIDAsIDAsIDAuMDYpKTtcbiAgICAgIH1cbiAgICAgIC5wZXJtLWdyb3VwLS1vdGhlciAucGVybS1ncm91cF9fYmFkZ2Uge1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXRlcnRpYXJ5KTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1pb24tY29sb3ItdGVydGlhcnktcmdiKSwgMC4xMik7XG4gICAgICB9XG4gICAgICAucGVybS1jaGlwcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgICB9XG4gICAgICAucGVybS1jaGlwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAzcHggMTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgIH1cbiAgICAgIC8qIFRpbnRlIHN1dGlsIGRlIGxvcyBjaGlwcyBzZWfDum4gYWxjYW5jZSwgZW4gbMOtbmVhIGNvbiBlbCBiYWRnZS4gKi9cbiAgICAgIC5wZXJtLWdyb3VwLS1hcHAgLnBlcm0tY2hpcCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW9uLWNvbG9yLXByaW1hcnktcmdiKSwgMC4wOCk7XG4gICAgICB9XG4gICAgICAucGVybS1ncm91cC0tb3RoZXIgLnBlcm0tY2hpcCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW9uLWNvbG9yLXRlcnRpYXJ5LXJnYiksIDAuMDgpO1xuICAgICAgfVxuICAgICAgLnBlcm0tY2hpcC0tZW1wdHkge1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBvcmdTZXJ2aWNlID0gaW5qZWN0KE9yZ1NlcnZpY2UpO1xuICBwcml2YXRlIGNhdGFsb2cgPSBpbmplY3QoUGVybWlzc2lvbkNhdGFsb2dTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBhdXRoID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBuYXYgPSBpbmplY3QoTmF2aWdhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIC8qKlxuICAgKiBDb25maWcgdsOtYSBASW5wdXQgKG9iamVjdC1maXJzdCkuIFNpIG5vIHNlIHBhc2EsIHNlIGNhZSBhbCByb3V0ZSBkYXRhXG4gICAqIGBwZXJtaXNzaW9uc0NvbmZpZ2AgKHBvYmxhZG8gcG9yIGBwcm92aWRlVmFsdGVjaFBlcm1pc3Npb25zUm91dGVzYCkuXG4gICAqIGByZXNvbHZlZENvbmZpZ2AgbWVyZ2VhIGNvbiBsb3MgZGVmYXVsdHMg4oCUIGBASW5wdXRgIGdhbmEgc29icmUgcm91dGUgZGF0YS5cbiAgICovXG4gIEBJbnB1dCgpIGNvbmZpZz86IFBlcm1pc3Npb25zVmlld0NvbmZpZztcblxuICAvKipcbiAgICogQ3VhbmRvIGB0cnVlYCwgbGEgdmlzdGEgZXN0w6EgZW1iZWJpZGEgZW4gdW4gbW9kYWwg4oCUIHN1cHJpbWUgZWwgYmFjay1oZWFkZXJcbiAgICogKGxvIGdlc3Rpb25hIGVsIG1vZGFsIHBhZHJlKS4gRGVmYXVsdCBgZmFsc2VgICh1c28gY29tbyBydXRhKS5cbiAgICovXG4gIEBJbnB1dCgpIGlzTW9kYWwgPSBmYWxzZTtcblxuICByZWFkb25seSByZXNvbHZlZENvbmZpZyA9IGNvbXB1dGVkPFJlcXVpcmVkPFBlcm1pc3Npb25zVmlld0NvbmZpZz4+KCgpID0+IHtcbiAgICBjb25zdCBmcm9tUm91dGUgPSAodGhpcy5yb3V0ZT8uc25hcHNob3QuZGF0YVsncGVybWlzc2lvbnNDb25maWcnXSA/PyB7fSkgYXMgUGVybWlzc2lvbnNWaWV3Q29uZmlnO1xuICAgIGNvbnN0IG1lcmdlZDogUGVybWlzc2lvbnNWaWV3Q29uZmlnID0geyAuLi5mcm9tUm91dGUsIC4uLih0aGlzLmNvbmZpZyA/PyB7fSkgfTtcbiAgICByZXR1cm4ge1xuICAgICAgc2hvd1N5c3RlbVJvbGVzOiBtZXJnZWQuc2hvd1N5c3RlbVJvbGVzID8/IHRydWUsXG4gICAgICBzaG93Q3VzdG9tUm9sZXM6IG1lcmdlZC5zaG93Q3VzdG9tUm9sZXMgPz8gdHJ1ZSxcbiAgICAgIGkxOG5OYW1lc3BhY2U6IG1lcmdlZC5pMThuTmFtZXNwYWNlID8/IERFRkFVTFRfTkFNRVNQQUNFLFxuICAgIH07XG4gIH0pO1xuXG4gIC8qKiBOYW1lc3BhY2UgaTE4biByZXN1ZWx0byAoY2FwdHVyYWRvIHBhcmEgbGxhbWFkYXMgbm8tcmVhY3RpdmFzKS4gKi9cbiAgcHJpdmF0ZSBnZXQgbnMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZENvbmZpZygpLmkxOG5OYW1lc3BhY2U7XG4gIH1cblxuICByZWFkb25seSBsb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgbG9hZEVycm9yID0gc2lnbmFsPHVua25vd24gfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSByb2xlcyA9IHNpZ25hbDxSb2xlVmlld1tdPihbXSk7XG5cbiAgcmVhZG9ubHkgc3lzdGVtUm9sZXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJvbGVzKCkuZmlsdGVyKHIgPT4gci5pc1N5c3RlbSkpO1xuICByZWFkb25seSBjdXN0b21Sb2xlcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMucm9sZXMoKS5maWx0ZXIociA9PiAhci5pc1N5c3RlbSkpO1xuXG4gIHJlYWRvbmx5IGFjdGl2ZU9yZ0lkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHUgPSB0aGlzLmF1dGgudXNlcigpIGFzIHtcbiAgICAgIGFjdGl2ZU9yZ0lkPzogc3RyaW5nO1xuICAgICAgYWN0aXZlT3JnPzogc3RyaW5nO1xuICAgIH0gfCBudWxsO1xuICAgIHJldHVybiB1Py5hY3RpdmVPcmdJZCA/PyB1Py5hY3RpdmVPcmcgPz8gJyc7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHJldHJ5QnV0dG9uUHJvcHMgPSBjb21wdXRlZDxQYXJ0aWFsPEJ1dHRvbk1ldGFkYXRhPj4oKCkgPT4gKHtcbiAgICB0ZXh0OiB0aGlzLnR0KCdyZXRyeScpLFxuICAgIGNvbG9yOiAnZGFyaycsXG4gICAgZmlsbDogJ291dGxpbmUnLFxuICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICBzdGF0ZTogdGhpcy5sb2FkaW5nKCkgPyBDb21wb25lbnRTdGF0ZXMuRElTQUJMRUQgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgfSkpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IG5zID0gdGhpcy5ucztcbiAgICB0aGlzLmkxOG4ucmVnaXN0ZXJEZWZhdWx0cyhucywgUEVSTUlTU0lPTlNfVklFV19JMThOKTtcbiAgICB0aGlzLmxvYWQoKTtcbiAgICBjb25uZWN0UGFnZVJlZnJlc2goKCkgPT4gdGhpcy5sb2FkKCkpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzTW9kYWwpIHtcbiAgICAgIHRoaXMubmF2LnNldEJhY2tIZWFkZXIoJ3BhZ2VUaXRsZScsIHRoaXMubnMsIHsgd2l0aE1lbnU6IHRydWUgfSk7XG4gICAgfVxuICB9XG5cbiAgbG9hZCgpOiB2b2lkIHtcbiAgICBjb25zdCBvcmdJZCA9IHRoaXMuYWN0aXZlT3JnSWQoKTtcbiAgICBpZiAoIW9yZ0lkKSByZXR1cm47XG4gICAgdGhpcy5sb2FkaW5nLnNldCh0cnVlKTtcbiAgICB0aGlzLmxvYWRFcnJvci5zZXQobnVsbCk7XG4gICAgZm9ya0pvaW4oe1xuICAgICAgcm9sZXM6IHRoaXMub3JnU2VydmljZS5saXN0T3JnUm9sZXMob3JnSWQpLFxuICAgICAgY2F0YWxvZzogdGhpcy5jYXRhbG9nLmdldENhdGFsb2cob3JnSWQpLFxuICAgIH0pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoeyByb2xlczogcmF3Um9sZXMsIGNhdGFsb2cgfSkgPT4ge1xuICAgICAgICBjb25zdCBieVJlc291cmNlID0gbmV3IE1hcDxzdHJpbmcsIFBlcm1pc3Npb25SZXNvdXJjZT4oKTtcbiAgICAgICAgZm9yIChjb25zdCByIG9mIGNhdGFsb2cucGVybWlzc2lvbnMpIGJ5UmVzb3VyY2Uuc2V0KHIucmVzb3VyY2UsIHIpO1xuICAgICAgICBjb25zdCBjdXJyZW50QXBwSWQgPSBjYXRhbG9nLmFwcElkO1xuICAgICAgICAvLyBMYWJlbGVyIGNvbiBsYSBTU09UIGRlbCBiYWNrZW5kIChsYWJlbHMgZGVsIGNhdMOhbG9nbykg4oCUIHJlZW1wbGF6YSBlbFxuICAgICAgICAvLyBtYXBhIGhhcmRjb2RlYWRvIGBwZXJtKmAuIExvY2FsZSBkZWwgbW9tZW50byBkZSBjYXJnYSAoaWd1YWwgcXVlIGFudGVzOlxuICAgICAgICAvLyBsb3MgbGFiZWxzIHNlIGhvcm5lYW4gZW4gZWwgUm9sZVZpZXc7IGNhbWJpbyBkZSBpZGlvbWEgcmVxdWllcmUgcmVsb2FkKS5cbiAgICAgICAgY29uc3QgbGFiZWxlciA9IGNyZWF0ZVBlcm1pc3Npb25MYWJlbGVyKGNhdGFsb2csIHRoaXMuaTE4bi5sYW5nKCksIHtcbiAgICAgICAgICBhbGxMYWJlbDogdGhpcy50dCgncGVybUFsbCcpLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yb2xlcy5zZXQoXG4gICAgICAgICAgKHJhd1JvbGVzID8/IFtdKS5tYXAoKHI6IGFueSkgPT5cbiAgICAgICAgICAgIHRoaXMuYnVpbGRSb2xlVmlldyhcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiByLmlkLFxuICAgICAgICAgICAgICAgIG5hbWU6IHIubmFtZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogci5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uczogci5wZXJtaXNzaW9ucyA/PyBbXSxcbiAgICAgICAgICAgICAgICBpc1N5c3RlbTogci5pc1N5c3RlbSA/PyBmYWxzZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgYnlSZXNvdXJjZSxcbiAgICAgICAgICAgICAgY3VycmVudEFwcElkLFxuICAgICAgICAgICAgICBsYWJlbGVyXG4gICAgICAgICAgICApXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmxvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgdGhpcy5sb2FkRXJyb3Iuc2V0KGVycik7XG4gICAgICAgIHRoaXMubG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRSb2xlVmlldyhcbiAgICByb2xlOiB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gICAgICBpc1N5c3RlbTogYm9vbGVhbjtcbiAgICB9LFxuICAgIGJ5UmVzb3VyY2U6IE1hcDxzdHJpbmcsIFBlcm1pc3Npb25SZXNvdXJjZT4sXG4gICAgY3VycmVudEFwcElkOiBzdHJpbmcsXG4gICAgbGFiZWxlcjogUGVybWlzc2lvbkxhYmVsZXJcbiAgKTogUm9sZVZpZXcge1xuICAgIGNvbnN0IGFwcFBlcm1zOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IG9yZ1Blcm1zOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IG90aGVyQnlBcHAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nW10+KCk7XG5cbiAgICBmb3IgKGNvbnN0IHBlcm0gb2Ygcm9sZS5wZXJtaXNzaW9ucykge1xuICAgICAgY29uc3QgW3Jlc291cmNlXSA9IHBlcm0uc3BsaXQoJzonKTtcbiAgICAgIGNvbnN0IGVudHJ5ID0gYnlSZXNvdXJjZS5nZXQocmVzb3VyY2UpO1xuICAgICAgLy8gU2luIGVudHJhZGEgZW4gZWwgY2F0w6Fsb2dvIChlbCBiYWNrZW5kIG9taXRlIGxvcyByZWN1cnNvcyBpbnRlcm5hbCBwYXJhXG4gICAgICAvLyBuby1wbGF0Zm9ybS1hZG1pbnMpIG8gZW50cmFkYSBpbnRlcm5hbCDihpIgTlVOQ0Egc2UgbXVlc3RyYSBhIG5pdmVsIGRlXG4gICAgICAvLyBwcm9kdWN0by4gRGVmZW5zYSBlbiBwcm9mdW5kaWRhZCBqdW50byBhbCBmaWx0cm8gZGVsIGJhY2tlbmQgKEFEUi0wMjQpLlxuICAgICAgLy8gTm90YTogZWwgcm9sIHB1ZWRlIHRyYWVyIGVsIHBlcm1pc28gYXVucXVlIGVsIHJlY3Vyc28gZXN0w6kgZmlsdHJhZG8gZGVsXG4gICAgICAvLyBjYXTDoWxvZ28gKGVqLiBhZG1pbiB0aWVuZSB0ZW1wbGF0ZXM6Kik7IHBvciBlc28gc2UgZGVzY2FydGEgbG8gbm8gcmVzdWVsdG8uXG4gICAgICBpZiAoIWVudHJ5IHx8IGVudHJ5LnNjb3BlID09PSAnaW50ZXJuYWwnKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgbGFiZWwgPSBsYWJlbGVyKHBlcm0pO1xuICAgICAgaWYgKGVudHJ5LnNjb3BlID09PSAnYXBwJykge1xuICAgICAgICBpZiAoZW50cnkuYXBwSWQgPT09IGN1cnJlbnRBcHBJZCkge1xuICAgICAgICAgIGFwcFBlcm1zLnB1c2gobGFiZWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGFwcElkID0gZW50cnkuYXBwSWQgPz8gJz8nO1xuICAgICAgICAgIGNvbnN0IGFyciA9IG90aGVyQnlBcHAuZ2V0KGFwcElkKSA/PyBbXTtcbiAgICAgICAgICBhcnIucHVzaChsYWJlbCk7XG4gICAgICAgICAgb3RoZXJCeUFwcC5zZXQoYXBwSWQsIGFycik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHNjb3BlID09PSAnb3JnJyDihpIgZ2VzdGnDs24gZGUgbGEgb3JnYW5pemFjacOzbiBkZWwgY2xpZW50ZVxuICAgICAgICBvcmdQZXJtcy5wdXNoKGxhYmVsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBncm91cHM6IFBlcm1Hcm91cFZpZXdbXSA9IFtdO1xuICAgIGlmIChhcHBQZXJtcy5sZW5ndGgpIHtcbiAgICAgIGdyb3Vwcy5wdXNoKHtcbiAgICAgICAga2V5OiAnYXBwJyxcbiAgICAgICAgbGFiZWw6IHRoaXMudHQoJ2dyb3VwQXBwJyksXG4gICAgICAgIHNjb3BlOiAnYXBwJyxcbiAgICAgICAgcGVybXM6IGFwcFBlcm1zLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChvcmdQZXJtcy5sZW5ndGgpIHtcbiAgICAgIGdyb3Vwcy5wdXNoKHtcbiAgICAgICAga2V5OiAnb3JnJyxcbiAgICAgICAgbGFiZWw6IHRoaXMudHQoJ2dyb3VwT3JnJyksXG4gICAgICAgIHNjb3BlOiAnb3JnJyxcbiAgICAgICAgcGVybXM6IG9yZ1Blcm1zLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgW2FwcElkLCBwZXJtc10gb2Ygb3RoZXJCeUFwcCkge1xuICAgICAgZ3JvdXBzLnB1c2goe1xuICAgICAgICBrZXk6IGBvdGhlcjoke2FwcElkfWAsXG4gICAgICAgIGxhYmVsOiBgJHt0aGlzLnR0KCdncm91cE90aGVyJyl9OiAke3RoaXMuYXBwTGFiZWwoYXBwSWQpfWAsXG4gICAgICAgIHNjb3BlOiAnb3RoZXInLFxuICAgICAgICBhcHBJZCxcbiAgICAgICAgcGVybXMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHJvbGUuaWQsXG4gICAgICBuYW1lOiByb2xlLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcm9sZS5kZXNjcmlwdGlvbixcbiAgICAgIGlzU3lzdGVtOiByb2xlLmlzU3lzdGVtLFxuICAgICAgZ3JvdXBzLFxuICAgICAgaGFzUGVybXM6IGdyb3Vwcy5sZW5ndGggPiAwLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgdHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIHRoaXMubnMpO1xuICB9XG5cbiAgYXBwTGFiZWwoYXBwSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qga2V5ID0gYGFwcF8ke2FwcElkfWA7XG4gICAgY29uc3QgbGFiZWwgPSB0aGlzLnR0KGtleSk7XG4gICAgcmV0dXJuIGxhYmVsID09PSBrZXkgPyBhcHBJZCA6IGxhYmVsO1xuICB9XG5cbiAgcm9sZUxhYmVsKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgdmlld2VyOiAncm9sZVZpZXdlcicsXG4gICAgICBlZGl0b3I6ICdyb2xlRWRpdG9yJyxcbiAgICAgIGFkbWluOiAncm9sZUFkbWluJyxcbiAgICAgIHN1cGVyX2FkbWluOiAncm9sZVN1cGVyQWRtaW4nLFxuICAgICAgYmluZ29fYWRtaW46ICdyb2xlQmluZ29BZG1pbicsXG4gICAgICBiaW5nb190ZXNvcmVybzogJ3JvbGVCaW5nb1Rlc29yZXJvJyxcbiAgICAgIGJpbmdvX3RhcXVpbGxhOiAncm9sZUJpbmdvVGFxdWlsbGEnLFxuICAgICAgYmluZ29fb3BlcmF0b3I6ICdyb2xlQmluZ29PcGVyYXRvcicsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy50dChtYXBbbmFtZV0gPz8gbmFtZSk7XG4gIH1cbn1cbiJdfQ==
@@ -19,7 +19,6 @@ export const PERMISSIONS_VIEW_I18N = {
19
19
  // Grupos de alcance
20
20
  groupApp: 'Permisos de la app',
21
21
  groupOrg: 'Permisos de la organización',
22
- groupPlatform: 'Permisos de plataforma',
23
22
  groupOther: 'Otras apps',
24
23
  // Roles del sistema
25
24
  roleViewer: 'Visor',
@@ -75,7 +74,6 @@ export const PERMISSIONS_VIEW_I18N = {
75
74
  noPermissions: 'No permissions assigned.',
76
75
  groupApp: 'App permissions',
77
76
  groupOrg: 'Organization permissions',
78
- groupPlatform: 'Platform permissions',
79
77
  groupOther: 'Other apps',
80
78
  roleViewer: 'Viewer',
81
79
  roleEditor: 'Editor',
@@ -115,4 +113,4 @@ export const PERMISSIONS_VIEW_I18N = {
115
113
  retry: 'Retry',
116
114
  },
117
115
  };
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtdmlldy5pMThuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9wZXJtaXNzaW9ucy12aWV3L3Blcm1pc3Npb25zLXZpZXcuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBcUI7SUFDckQsRUFBRSxFQUFFO1FBQ0YsU0FBUyxFQUFFLFVBQVU7UUFDckIsZUFBZSxFQUFFLHdEQUF3RDtRQUN6RSxnQkFBZ0IsRUFBRSxtQkFBbUI7UUFDckMsZUFBZSxFQUFFLCtDQUErQztRQUNoRSxnQkFBZ0IsRUFBRSxzQkFBc0I7UUFDeEMsZUFBZSxFQUFFLGdDQUFnQztRQUNqRCxXQUFXLEVBQUUsU0FBUztRQUN0QixhQUFhLEVBQUUsa0RBQWtEO1FBQ2pFLGFBQWEsRUFBRSx5QkFBeUI7UUFDeEMsb0JBQW9CO1FBQ3BCLFFBQVEsRUFBRSxvQkFBb0I7UUFDOUIsUUFBUSxFQUFFLDZCQUE2QjtRQUN2QyxhQUFhLEVBQUUsd0JBQXdCO1FBQ3ZDLFVBQVUsRUFBRSxZQUFZO1FBQ3hCLG9CQUFvQjtRQUNwQixVQUFVLEVBQUUsT0FBTztRQUNuQixVQUFVLEVBQUUsUUFBUTtRQUNwQixTQUFTLEVBQUUsZUFBZTtRQUMxQixjQUFjLEVBQUUscUJBQXFCO1FBQ3JDLGNBQWMsRUFBRSx1QkFBdUI7UUFDdkMsaUJBQWlCLEVBQUUsa0JBQWtCO1FBQ3JDLGlCQUFpQixFQUFFLGtCQUFrQjtRQUNyQyxpQkFBaUIsRUFBRSxrQkFBa0I7UUFDckMsT0FBTztRQUNQLFlBQVksRUFBRSxVQUFVO1FBQ3hCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFdBQVc7UUFDWCxTQUFTLEVBQUUsVUFBVTtRQUNyQixTQUFTLEVBQUUsT0FBTztRQUNsQixRQUFRLEVBQUUsbUJBQW1CO1FBQzdCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLGNBQWMsRUFBRSxVQUFVO1FBQzFCLGdCQUFnQixFQUFFLGdCQUFnQjtRQUNsQyxjQUFjLEVBQUUsYUFBYTtRQUM3QixhQUFhLEVBQUUsWUFBWTtRQUMzQixTQUFTLEVBQUUsT0FBTztRQUNsQixhQUFhLEVBQUUsWUFBWTtRQUMzQixZQUFZLEVBQUUsYUFBYTtRQUMzQixTQUFTLEVBQUUsT0FBTztRQUNsQixXQUFXO1FBQ1gsUUFBUSxFQUFFLE1BQU07UUFDaEIsU0FBUyxFQUFFLFVBQVU7UUFDckIsVUFBVSxFQUFFLE9BQU87UUFDbkIsVUFBVSxFQUFFLFVBQVU7UUFDdEIsVUFBVSxFQUFFLFdBQVc7UUFDdkIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsV0FBVyxFQUFFLFNBQVM7UUFDdEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsVUFBVSxFQUFFLFVBQVU7UUFDdEIsV0FBVyxFQUFFLFFBQVE7UUFDckIsT0FBTyxFQUFFLE1BQU07UUFDZixrQkFBa0I7UUFDbEIsVUFBVSxFQUFFLDBCQUEwQjtRQUN0QyxLQUFLLEVBQUUsWUFBWTtLQUNwQjtJQUNELEVBQUUsRUFBRTtRQUNGLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLGVBQWUsRUFBRSw4REFBOEQ7UUFDL0UsZ0JBQWdCLEVBQUUsY0FBYztRQUNoQyxlQUFlLEVBQUUsd0NBQXdDO1FBQ3pELGdCQUFnQixFQUFFLGNBQWM7UUFDaEMsZUFBZSxFQUFFLCtCQUErQjtRQUNoRCxXQUFXLEVBQUUsUUFBUTtRQUNyQixhQUFhLEVBQUUsd0NBQXdDO1FBQ3ZELGFBQWEsRUFBRSwwQkFBMEI7UUFDekMsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQixRQUFRLEVBQUUsMEJBQTBCO1FBQ3BDLGFBQWEsRUFBRSxzQkFBc0I7UUFDckMsVUFBVSxFQUFFLFlBQVk7UUFDeEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsU0FBUyxFQUFFLGVBQWU7UUFDMUIsY0FBYyxFQUFFLHFCQUFxQjtRQUNyQyxjQUFjLEVBQUUsdUJBQXVCO1FBQ3ZDLGlCQUFpQixFQUFFLG1CQUFtQjtRQUN0QyxpQkFBaUIsRUFBRSxvQkFBb0I7UUFDdkMsaUJBQWlCLEVBQUUsa0JBQWtCO1FBQ3JDLFlBQVksRUFBRSxVQUFVO1FBQ3hCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFFBQVEsRUFBRSxnQkFBZ0I7UUFDMUIsUUFBUSxFQUFFLE1BQU07UUFDaEIsY0FBYyxFQUFFLFVBQVU7UUFDMUIsZ0JBQWdCLEVBQUUsWUFBWTtRQUM5QixjQUFjLEVBQUUsVUFBVTtRQUMxQixhQUFhLEVBQUUsV0FBVztRQUMxQixTQUFTLEVBQUUsT0FBTztRQUNsQixhQUFhLEVBQUUsV0FBVztRQUMxQixZQUFZLEVBQUUsVUFBVTtRQUN4QixTQUFTLEVBQUUsT0FBTztRQUNsQixRQUFRLEVBQUUsTUFBTTtRQUNoQixTQUFTLEVBQUUsT0FBTztRQUNsQixVQUFVLEVBQUUsUUFBUTtRQUNwQixVQUFVLEVBQUUsUUFBUTtRQUNwQixVQUFVLEVBQUUsUUFBUTtRQUNwQixRQUFRLEVBQUUsTUFBTTtRQUNoQixRQUFRLEVBQUUsTUFBTTtRQUNoQixXQUFXLEVBQUUsVUFBVTtRQUN2QixVQUFVLEVBQUUsUUFBUTtRQUNwQixVQUFVLEVBQUUsUUFBUTtRQUNwQixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsS0FBSztRQUNkLFVBQVUsRUFBRSwyQkFBMkI7UUFDdkMsS0FBSyxFQUFFLE9BQU87S0FDZjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYW5ndWFnZXNDb250ZW50IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bi90eXBlcyc7XG5cbi8qKlxuICogRGVmYXVsdHMgaTE4biAoZXMvZW4pIGVtYmViaWRvcyBlbiBgdmFsLXBlcm1pc3Npb25zLXZpZXdgLiBBdXRvLXJlZ2lzdHJhZG9zIGVuXG4gKiBlbCBjb25zdHJ1Y3RvciBkZWwgY29tcG9uZW50ZSBzaSBlbCBjb25zdW1lciBubyBwcm92ZXnDsyBlbCBuYW1lc3BhY2VcbiAqIChgU2V0dGluZ3MuUGVybWlzc2lvbnNgIHBvciBkZWZhdWx0KS4gU09MTyBpbmNsdXllIGxhcyBrZXlzIHF1ZSBsYSB2aXN0YSB1c2EuXG4gKlxuICogUG9ydGFkbyBFWEFDVE8gZGUgYFBFUk1JU1NJT05TX0kxOE5gIChzaG93Y2FzZSkgYmFqbyBlbCBwcm9jZXNvIGRlIEFEUi0wMjEuXG4gKi9cbmV4cG9ydCBjb25zdCBQRVJNSVNTSU9OU19WSUVXX0kxOE46IExhbmd1YWdlc0NvbnRlbnQgPSB7XG4gIGVzOiB7XG4gICAgcGFnZVRpdGxlOiAnUGVybWlzb3MnLFxuICAgIHBhZ2VEZXNjcmlwdGlvbjogJ1JvbGVzIHkgcGVybWlzb3MgZGUgZXN0YSBhcHAgZW4gbGEgb3JnYW5pemFjacOzbiBhY3RpdmEnLFxuICAgIHN5c3RlbVJvbGVzVGl0bGU6ICdSb2xlcyBkZWwgc2lzdGVtYScsXG4gICAgc3lzdGVtUm9sZXNIaW50OiAnUHJlZGVmaW5pZG9zIHBvciBsYSBwbGF0YWZvcm1hLiBObyBlZGl0YWJsZXMuJyxcbiAgICBjdXN0b21Sb2xlc1RpdGxlOiAnUm9sZXMgcGVyc29uYWxpemFkb3MnLFxuICAgIGN1c3RvbVJvbGVzSGludDogJ0RlZmluaWRvcyBwb3IgdHUgb3JnYW5pemFjacOzbi4nLFxuICAgIHN5c3RlbUJhZGdlOiAnU2lzdGVtYScsXG4gICAgbm9DdXN0b21Sb2xlczogJ0VzdGEgb3JnYW5pemFjacOzbiBubyB0aWVuZSByb2xlcyBwZXJzb25hbGl6YWRvcy4nLFxuICAgIG5vUGVybWlzc2lvbnM6ICdTaW4gcGVybWlzb3MgYXNpZ25hZG9zLicsXG4gICAgLy8gR3J1cG9zIGRlIGFsY2FuY2VcbiAgICBncm91cEFwcDogJ1Blcm1pc29zIGRlIGxhIGFwcCcsXG4gICAgZ3JvdXBPcmc6ICdQZXJtaXNvcyBkZSBsYSBvcmdhbml6YWNpw7NuJyxcbiAgICBncm91cFBsYXRmb3JtOiAnUGVybWlzb3MgZGUgcGxhdGFmb3JtYScsXG4gICAgZ3JvdXBPdGhlcjogJ090cmFzIGFwcHMnLFxuICAgIC8vIFJvbGVzIGRlbCBzaXN0ZW1hXG4gICAgcm9sZVZpZXdlcjogJ1Zpc29yJyxcbiAgICByb2xlRWRpdG9yOiAnRWRpdG9yJyxcbiAgICByb2xlQWRtaW46ICdBZG1pbmlzdHJhZG9yJyxcbiAgICByb2xlU3VwZXJBZG1pbjogJ1N1cGVyIEFkbWluaXN0cmFkb3InLFxuICAgIHJvbGVCaW5nb0FkbWluOiAnQmluZ28gwrcgQWRtaW5pc3RyYWRvcicsXG4gICAgcm9sZUJpbmdvVGVzb3Jlcm86ICdCaW5nbyDCtyBUZXNvcmVybycsXG4gICAgcm9sZUJpbmdvVGFxdWlsbGE6ICdCaW5nbyDCtyBUYXF1aWxsYScsXG4gICAgcm9sZUJpbmdvT3BlcmF0b3I6ICdCaW5nbyDCtyBPcGVyYWRvcicsXG4gICAgLy8gQXBwc1xuICAgIGFwcF9zaG93Y2FzZTogJ1Nob3djYXNlJyxcbiAgICBhcHBfYmluZ286ICdCaW5nbycsXG4gICAgLy8gUmVjdXJzb3NcbiAgICBwZXJtVXNlcnM6ICdVc3VhcmlvcycsXG4gICAgcGVybVJvbGVzOiAnUm9sZXMnLFxuICAgIHBlcm1SYmFjOiAnQ29udHJvbCBkZSBhY2Nlc28nLFxuICAgIHBlcm1BcHBzOiAnQXBwcycsXG4gICAgJ3Blcm1BcGkta2V5cyc6ICdBUEkga2V5cycsXG4gICAgJ3Blcm1FbWFpbC1sb2dzJzogJ0xvZ3MgZGUgY29ycmVvJyxcbiAgICAncGVybVNtcy1sb2dzJzogJ0xvZ3MgZGUgU01TJyxcbiAgICBwZXJtRG9jdW1lbnRzOiAnRG9jdW1lbnRvcycsXG4gICAgcGVybU1lZGlhOiAnTWVkaWEnLFxuICAgIHBlcm1UZW1wbGF0ZXM6ICdQbGFudGlsbGFzJyxcbiAgICBwZXJtUmVxdWVzdHM6ICdTb2xpY2l0dWRlcycsXG4gICAgcGVybUJpbmdvOiAnQmluZ28nLFxuICAgIC8vIEFjY2lvbmVzXG4gICAgcGVybVJlYWQ6ICdMZWVyJyxcbiAgICBwZXJtV3JpdGU6ICdFc2NyaWJpcicsXG4gICAgcGVybUNyZWF0ZTogJ0NyZWFyJyxcbiAgICBwZXJtRGVsZXRlOiAnRWxpbWluYXInLFxuICAgIHBlcm1NYW5hZ2U6ICdHZXN0aW9uYXInLFxuICAgIHBlcm1FZGl0OiAnRWRpdGFyJyxcbiAgICBwZXJtU2VsbDogJ1ZlbmRlcicsXG4gICAgcGVybUNoZWNraW46ICdDYW5qZWFyJyxcbiAgICBwZXJtU2V0dGxlOiAnUmVuZGlyJyxcbiAgICBwZXJtRXhwb3J0OiAnRXhwb3J0YXInLFxuICAgIHBlcm1PcGVyYXRlOiAnT3BlcmFyJyxcbiAgICBwZXJtQWxsOiAnVG9kbycsXG4gICAgLy8gTG9hZGluZyAvIGVycm9yXG4gICAgZXJyb3JUaXRsZTogJ0Vycm9yIGFsIGNhcmdhciBwZXJtaXNvcycsXG4gICAgcmV0cnk6ICdSZWludGVudGFyJyxcbiAgfSxcbiAgZW46IHtcbiAgICBwYWdlVGl0bGU6ICdQZXJtaXNzaW9ucycsXG4gICAgcGFnZURlc2NyaXB0aW9uOiAnUm9sZXMgYW5kIHBlcm1pc3Npb25zIG9mIHRoaXMgYXBwIGluIHRoZSBhY3RpdmUgb3JnYW5pemF0aW9uJyxcbiAgICBzeXN0ZW1Sb2xlc1RpdGxlOiAnU3lzdGVtIHJvbGVzJyxcbiAgICBzeXN0ZW1Sb2xlc0hpbnQ6ICdEZWZpbmVkIGJ5IHRoZSBwbGF0Zm9ybS4gTm90IGVkaXRhYmxlLicsXG4gICAgY3VzdG9tUm9sZXNUaXRsZTogJ0N1c3RvbSByb2xlcycsXG4gICAgY3VzdG9tUm9sZXNIaW50OiAnRGVmaW5lZCBieSB5b3VyIG9yZ2FuaXphdGlvbi4nLFxuICAgIHN5c3RlbUJhZGdlOiAnU3lzdGVtJyxcbiAgICBub0N1c3RvbVJvbGVzOiAnVGhpcyBvcmdhbml6YXRpb24gaGFzIG5vIGN1c3RvbSByb2xlcy4nLFxuICAgIG5vUGVybWlzc2lvbnM6ICdObyBwZXJtaXNzaW9ucyBhc3NpZ25lZC4nLFxuICAgIGdyb3VwQXBwOiAnQXBwIHBlcm1pc3Npb25zJyxcbiAgICBncm91cE9yZzogJ09yZ2FuaXphdGlvbiBwZXJtaXNzaW9ucycsXG4gICAgZ3JvdXBQbGF0Zm9ybTogJ1BsYXRmb3JtIHBlcm1pc3Npb25zJyxcbiAgICBncm91cE90aGVyOiAnT3RoZXIgYXBwcycsXG4gICAgcm9sZVZpZXdlcjogJ1ZpZXdlcicsXG4gICAgcm9sZUVkaXRvcjogJ0VkaXRvcicsXG4gICAgcm9sZUFkbWluOiAnQWRtaW5pc3RyYXRvcicsXG4gICAgcm9sZVN1cGVyQWRtaW46ICdTdXBlciBBZG1pbmlzdHJhdG9yJyxcbiAgICByb2xlQmluZ29BZG1pbjogJ0JpbmdvIMK3IEFkbWluaXN0cmF0b3InLFxuICAgIHJvbGVCaW5nb1Rlc29yZXJvOiAnQmluZ28gwrcgVHJlYXN1cmVyJyxcbiAgICByb2xlQmluZ29UYXF1aWxsYTogJ0JpbmdvIMK3IEJveCBvZmZpY2UnLFxuICAgIHJvbGVCaW5nb09wZXJhdG9yOiAnQmluZ28gwrcgT3BlcmF0b3InLFxuICAgIGFwcF9zaG93Y2FzZTogJ1Nob3djYXNlJyxcbiAgICBhcHBfYmluZ286ICdCaW5nbycsXG4gICAgcGVybVVzZXJzOiAnVXNlcnMnLFxuICAgIHBlcm1Sb2xlczogJ1JvbGVzJyxcbiAgICBwZXJtUmJhYzogJ0FjY2VzcyBjb250cm9sJyxcbiAgICBwZXJtQXBwczogJ0FwcHMnLFxuICAgICdwZXJtQXBpLWtleXMnOiAnQVBJIGtleXMnLFxuICAgICdwZXJtRW1haWwtbG9ncyc6ICdFbWFpbCBsb2dzJyxcbiAgICAncGVybVNtcy1sb2dzJzogJ1NNUyBsb2dzJyxcbiAgICBwZXJtRG9jdW1lbnRzOiAnRG9jdW1lbnRzJyxcbiAgICBwZXJtTWVkaWE6ICdNZWRpYScsXG4gICAgcGVybVRlbXBsYXRlczogJ1RlbXBsYXRlcycsXG4gICAgcGVybVJlcXVlc3RzOiAnUmVxdWVzdHMnLFxuICAgIHBlcm1CaW5nbzogJ0JpbmdvJyxcbiAgICBwZXJtUmVhZDogJ1JlYWQnLFxuICAgIHBlcm1Xcml0ZTogJ1dyaXRlJyxcbiAgICBwZXJtQ3JlYXRlOiAnQ3JlYXRlJyxcbiAgICBwZXJtRGVsZXRlOiAnRGVsZXRlJyxcbiAgICBwZXJtTWFuYWdlOiAnTWFuYWdlJyxcbiAgICBwZXJtRWRpdDogJ0VkaXQnLFxuICAgIHBlcm1TZWxsOiAnU2VsbCcsXG4gICAgcGVybUNoZWNraW46ICdDaGVjay1pbicsXG4gICAgcGVybVNldHRsZTogJ1NldHRsZScsXG4gICAgcGVybUV4cG9ydDogJ0V4cG9ydCcsXG4gICAgcGVybU9wZXJhdGU6ICdPcGVyYXRlJyxcbiAgICBwZXJtQWxsOiAnQWxsJyxcbiAgICBlcnJvclRpdGxlOiAnRXJyb3IgbG9hZGluZyBwZXJtaXNzaW9ucycsXG4gICAgcmV0cnk6ICdSZXRyeScsXG4gIH0sXG59O1xuIl19
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtdmlldy5pMThuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9wZXJtaXNzaW9ucy12aWV3L3Blcm1pc3Npb25zLXZpZXcuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBcUI7SUFDckQsRUFBRSxFQUFFO1FBQ0YsU0FBUyxFQUFFLFVBQVU7UUFDckIsZUFBZSxFQUFFLHdEQUF3RDtRQUN6RSxnQkFBZ0IsRUFBRSxtQkFBbUI7UUFDckMsZUFBZSxFQUFFLCtDQUErQztRQUNoRSxnQkFBZ0IsRUFBRSxzQkFBc0I7UUFDeEMsZUFBZSxFQUFFLGdDQUFnQztRQUNqRCxXQUFXLEVBQUUsU0FBUztRQUN0QixhQUFhLEVBQUUsa0RBQWtEO1FBQ2pFLGFBQWEsRUFBRSx5QkFBeUI7UUFDeEMsb0JBQW9CO1FBQ3BCLFFBQVEsRUFBRSxvQkFBb0I7UUFDOUIsUUFBUSxFQUFFLDZCQUE2QjtRQUN2QyxVQUFVLEVBQUUsWUFBWTtRQUN4QixvQkFBb0I7UUFDcEIsVUFBVSxFQUFFLE9BQU87UUFDbkIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsU0FBUyxFQUFFLGVBQWU7UUFDMUIsY0FBYyxFQUFFLHFCQUFxQjtRQUNyQyxjQUFjLEVBQUUsdUJBQXVCO1FBQ3ZDLGlCQUFpQixFQUFFLGtCQUFrQjtRQUNyQyxpQkFBaUIsRUFBRSxrQkFBa0I7UUFDckMsaUJBQWlCLEVBQUUsa0JBQWtCO1FBQ3JDLE9BQU87UUFDUCxZQUFZLEVBQUUsVUFBVTtRQUN4QixTQUFTLEVBQUUsT0FBTztRQUNsQixXQUFXO1FBQ1gsU0FBUyxFQUFFLFVBQVU7UUFDckIsU0FBUyxFQUFFLE9BQU87UUFDbEIsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixRQUFRLEVBQUUsTUFBTTtRQUNoQixjQUFjLEVBQUUsVUFBVTtRQUMxQixnQkFBZ0IsRUFBRSxnQkFBZ0I7UUFDbEMsY0FBYyxFQUFFLGFBQWE7UUFDN0IsYUFBYSxFQUFFLFlBQVk7UUFDM0IsU0FBUyxFQUFFLE9BQU87UUFDbEIsYUFBYSxFQUFFLFlBQVk7UUFDM0IsWUFBWSxFQUFFLGFBQWE7UUFDM0IsU0FBUyxFQUFFLE9BQU87UUFDbEIsV0FBVztRQUNYLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLFVBQVUsRUFBRSxPQUFPO1FBQ25CLFVBQVUsRUFBRSxVQUFVO1FBQ3RCLFVBQVUsRUFBRSxXQUFXO1FBQ3ZCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFVBQVUsRUFBRSxVQUFVO1FBQ3RCLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLE9BQU8sRUFBRSxNQUFNO1FBQ2Ysa0JBQWtCO1FBQ2xCLFVBQVUsRUFBRSwwQkFBMEI7UUFDdEMsS0FBSyxFQUFFLFlBQVk7S0FDcEI7SUFDRCxFQUFFLEVBQUU7UUFDRixTQUFTLEVBQUUsYUFBYTtRQUN4QixlQUFlLEVBQUUsOERBQThEO1FBQy9FLGdCQUFnQixFQUFFLGNBQWM7UUFDaEMsZUFBZSxFQUFFLHdDQUF3QztRQUN6RCxnQkFBZ0IsRUFBRSxjQUFjO1FBQ2hDLGVBQWUsRUFBRSwrQkFBK0I7UUFDaEQsV0FBVyxFQUFFLFFBQVE7UUFDckIsYUFBYSxFQUFFLHdDQUF3QztRQUN2RCxhQUFhLEVBQUUsMEJBQTBCO1FBQ3pDLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsUUFBUSxFQUFFLDBCQUEwQjtRQUNwQyxVQUFVLEVBQUUsWUFBWTtRQUN4QixVQUFVLEVBQUUsUUFBUTtRQUNwQixVQUFVLEVBQUUsUUFBUTtRQUNwQixTQUFTLEVBQUUsZUFBZTtRQUMxQixjQUFjLEVBQUUscUJBQXFCO1FBQ3JDLGNBQWMsRUFBRSx1QkFBdUI7UUFDdkMsaUJBQWlCLEVBQUUsbUJBQW1CO1FBQ3RDLGlCQUFpQixFQUFFLG9CQUFvQjtRQUN2QyxpQkFBaUIsRUFBRSxrQkFBa0I7UUFDckMsWUFBWSxFQUFFLFVBQVU7UUFDeEIsU0FBUyxFQUFFLE9BQU87UUFDbEIsU0FBUyxFQUFFLE9BQU87UUFDbEIsU0FBUyxFQUFFLE9BQU87UUFDbEIsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixRQUFRLEVBQUUsTUFBTTtRQUNoQixjQUFjLEVBQUUsVUFBVTtRQUMxQixnQkFBZ0IsRUFBRSxZQUFZO1FBQzlCLGNBQWMsRUFBRSxVQUFVO1FBQzFCLGFBQWEsRUFBRSxXQUFXO1FBQzFCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLGFBQWEsRUFBRSxXQUFXO1FBQzFCLFlBQVksRUFBRSxVQUFVO1FBQ3hCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFdBQVcsRUFBRSxVQUFVO1FBQ3ZCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsVUFBVSxFQUFFLDJCQUEyQjtRQUN2QyxLQUFLLEVBQUUsT0FBTztLQUNmO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlc0NvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuL3R5cGVzJztcblxuLyoqXG4gKiBEZWZhdWx0cyBpMThuIChlcy9lbikgZW1iZWJpZG9zIGVuIGB2YWwtcGVybWlzc2lvbnMtdmlld2AuIEF1dG8tcmVnaXN0cmFkb3MgZW5cbiAqIGVsIGNvbnN0cnVjdG9yIGRlbCBjb21wb25lbnRlIHNpIGVsIGNvbnN1bWVyIG5vIHByb3ZlecOzIGVsIG5hbWVzcGFjZVxuICogKGBTZXR0aW5ncy5QZXJtaXNzaW9uc2AgcG9yIGRlZmF1bHQpLiBTT0xPIGluY2x1eWUgbGFzIGtleXMgcXVlIGxhIHZpc3RhIHVzYS5cbiAqXG4gKiBQb3J0YWRvIEVYQUNUTyBkZSBgUEVSTUlTU0lPTlNfSTE4TmAgKHNob3djYXNlKSBiYWpvIGVsIHByb2Nlc28gZGUgQURSLTAyMS5cbiAqL1xuZXhwb3J0IGNvbnN0IFBFUk1JU1NJT05TX1ZJRVdfSTE4TjogTGFuZ3VhZ2VzQ29udGVudCA9IHtcbiAgZXM6IHtcbiAgICBwYWdlVGl0bGU6ICdQZXJtaXNvcycsXG4gICAgcGFnZURlc2NyaXB0aW9uOiAnUm9sZXMgeSBwZXJtaXNvcyBkZSBlc3RhIGFwcCBlbiBsYSBvcmdhbml6YWNpw7NuIGFjdGl2YScsXG4gICAgc3lzdGVtUm9sZXNUaXRsZTogJ1JvbGVzIGRlbCBzaXN0ZW1hJyxcbiAgICBzeXN0ZW1Sb2xlc0hpbnQ6ICdQcmVkZWZpbmlkb3MgcG9yIGxhIHBsYXRhZm9ybWEuIE5vIGVkaXRhYmxlcy4nLFxuICAgIGN1c3RvbVJvbGVzVGl0bGU6ICdSb2xlcyBwZXJzb25hbGl6YWRvcycsXG4gICAgY3VzdG9tUm9sZXNIaW50OiAnRGVmaW5pZG9zIHBvciB0dSBvcmdhbml6YWNpw7NuLicsXG4gICAgc3lzdGVtQmFkZ2U6ICdTaXN0ZW1hJyxcbiAgICBub0N1c3RvbVJvbGVzOiAnRXN0YSBvcmdhbml6YWNpw7NuIG5vIHRpZW5lIHJvbGVzIHBlcnNvbmFsaXphZG9zLicsXG4gICAgbm9QZXJtaXNzaW9uczogJ1NpbiBwZXJtaXNvcyBhc2lnbmFkb3MuJyxcbiAgICAvLyBHcnVwb3MgZGUgYWxjYW5jZVxuICAgIGdyb3VwQXBwOiAnUGVybWlzb3MgZGUgbGEgYXBwJyxcbiAgICBncm91cE9yZzogJ1Blcm1pc29zIGRlIGxhIG9yZ2FuaXphY2nDs24nLFxuICAgIGdyb3VwT3RoZXI6ICdPdHJhcyBhcHBzJyxcbiAgICAvLyBSb2xlcyBkZWwgc2lzdGVtYVxuICAgIHJvbGVWaWV3ZXI6ICdWaXNvcicsXG4gICAgcm9sZUVkaXRvcjogJ0VkaXRvcicsXG4gICAgcm9sZUFkbWluOiAnQWRtaW5pc3RyYWRvcicsXG4gICAgcm9sZVN1cGVyQWRtaW46ICdTdXBlciBBZG1pbmlzdHJhZG9yJyxcbiAgICByb2xlQmluZ29BZG1pbjogJ0JpbmdvIMK3IEFkbWluaXN0cmFkb3InLFxuICAgIHJvbGVCaW5nb1Rlc29yZXJvOiAnQmluZ28gwrcgVGVzb3Jlcm8nLFxuICAgIHJvbGVCaW5nb1RhcXVpbGxhOiAnQmluZ28gwrcgVGFxdWlsbGEnLFxuICAgIHJvbGVCaW5nb09wZXJhdG9yOiAnQmluZ28gwrcgT3BlcmFkb3InLFxuICAgIC8vIEFwcHNcbiAgICBhcHBfc2hvd2Nhc2U6ICdTaG93Y2FzZScsXG4gICAgYXBwX2JpbmdvOiAnQmluZ28nLFxuICAgIC8vIFJlY3Vyc29zXG4gICAgcGVybVVzZXJzOiAnVXN1YXJpb3MnLFxuICAgIHBlcm1Sb2xlczogJ1JvbGVzJyxcbiAgICBwZXJtUmJhYzogJ0NvbnRyb2wgZGUgYWNjZXNvJyxcbiAgICBwZXJtQXBwczogJ0FwcHMnLFxuICAgICdwZXJtQXBpLWtleXMnOiAnQVBJIGtleXMnLFxuICAgICdwZXJtRW1haWwtbG9ncyc6ICdMb2dzIGRlIGNvcnJlbycsXG4gICAgJ3Blcm1TbXMtbG9ncyc6ICdMb2dzIGRlIFNNUycsXG4gICAgcGVybURvY3VtZW50czogJ0RvY3VtZW50b3MnLFxuICAgIHBlcm1NZWRpYTogJ01lZGlhJyxcbiAgICBwZXJtVGVtcGxhdGVzOiAnUGxhbnRpbGxhcycsXG4gICAgcGVybVJlcXVlc3RzOiAnU29saWNpdHVkZXMnLFxuICAgIHBlcm1CaW5nbzogJ0JpbmdvJyxcbiAgICAvLyBBY2Npb25lc1xuICAgIHBlcm1SZWFkOiAnTGVlcicsXG4gICAgcGVybVdyaXRlOiAnRXNjcmliaXInLFxuICAgIHBlcm1DcmVhdGU6ICdDcmVhcicsXG4gICAgcGVybURlbGV0ZTogJ0VsaW1pbmFyJyxcbiAgICBwZXJtTWFuYWdlOiAnR2VzdGlvbmFyJyxcbiAgICBwZXJtRWRpdDogJ0VkaXRhcicsXG4gICAgcGVybVNlbGw6ICdWZW5kZXInLFxuICAgIHBlcm1DaGVja2luOiAnQ2FuamVhcicsXG4gICAgcGVybVNldHRsZTogJ1JlbmRpcicsXG4gICAgcGVybUV4cG9ydDogJ0V4cG9ydGFyJyxcbiAgICBwZXJtT3BlcmF0ZTogJ09wZXJhcicsXG4gICAgcGVybUFsbDogJ1RvZG8nLFxuICAgIC8vIExvYWRpbmcgLyBlcnJvclxuICAgIGVycm9yVGl0bGU6ICdFcnJvciBhbCBjYXJnYXIgcGVybWlzb3MnLFxuICAgIHJldHJ5OiAnUmVpbnRlbnRhcicsXG4gIH0sXG4gIGVuOiB7XG4gICAgcGFnZVRpdGxlOiAnUGVybWlzc2lvbnMnLFxuICAgIHBhZ2VEZXNjcmlwdGlvbjogJ1JvbGVzIGFuZCBwZXJtaXNzaW9ucyBvZiB0aGlzIGFwcCBpbiB0aGUgYWN0aXZlIG9yZ2FuaXphdGlvbicsXG4gICAgc3lzdGVtUm9sZXNUaXRsZTogJ1N5c3RlbSByb2xlcycsXG4gICAgc3lzdGVtUm9sZXNIaW50OiAnRGVmaW5lZCBieSB0aGUgcGxhdGZvcm0uIE5vdCBlZGl0YWJsZS4nLFxuICAgIGN1c3RvbVJvbGVzVGl0bGU6ICdDdXN0b20gcm9sZXMnLFxuICAgIGN1c3RvbVJvbGVzSGludDogJ0RlZmluZWQgYnkgeW91ciBvcmdhbml6YXRpb24uJyxcbiAgICBzeXN0ZW1CYWRnZTogJ1N5c3RlbScsXG4gICAgbm9DdXN0b21Sb2xlczogJ1RoaXMgb3JnYW5pemF0aW9uIGhhcyBubyBjdXN0b20gcm9sZXMuJyxcbiAgICBub1Blcm1pc3Npb25zOiAnTm8gcGVybWlzc2lvbnMgYXNzaWduZWQuJyxcbiAgICBncm91cEFwcDogJ0FwcCBwZXJtaXNzaW9ucycsXG4gICAgZ3JvdXBPcmc6ICdPcmdhbml6YXRpb24gcGVybWlzc2lvbnMnLFxuICAgIGdyb3VwT3RoZXI6ICdPdGhlciBhcHBzJyxcbiAgICByb2xlVmlld2VyOiAnVmlld2VyJyxcbiAgICByb2xlRWRpdG9yOiAnRWRpdG9yJyxcbiAgICByb2xlQWRtaW46ICdBZG1pbmlzdHJhdG9yJyxcbiAgICByb2xlU3VwZXJBZG1pbjogJ1N1cGVyIEFkbWluaXN0cmF0b3InLFxuICAgIHJvbGVCaW5nb0FkbWluOiAnQmluZ28gwrcgQWRtaW5pc3RyYXRvcicsXG4gICAgcm9sZUJpbmdvVGVzb3Jlcm86ICdCaW5nbyDCtyBUcmVhc3VyZXInLFxuICAgIHJvbGVCaW5nb1RhcXVpbGxhOiAnQmluZ28gwrcgQm94IG9mZmljZScsXG4gICAgcm9sZUJpbmdvT3BlcmF0b3I6ICdCaW5nbyDCtyBPcGVyYXRvcicsXG4gICAgYXBwX3Nob3djYXNlOiAnU2hvd2Nhc2UnLFxuICAgIGFwcF9iaW5nbzogJ0JpbmdvJyxcbiAgICBwZXJtVXNlcnM6ICdVc2VycycsXG4gICAgcGVybVJvbGVzOiAnUm9sZXMnLFxuICAgIHBlcm1SYmFjOiAnQWNjZXNzIGNvbnRyb2wnLFxuICAgIHBlcm1BcHBzOiAnQXBwcycsXG4gICAgJ3Blcm1BcGkta2V5cyc6ICdBUEkga2V5cycsXG4gICAgJ3Blcm1FbWFpbC1sb2dzJzogJ0VtYWlsIGxvZ3MnLFxuICAgICdwZXJtU21zLWxvZ3MnOiAnU01TIGxvZ3MnLFxuICAgIHBlcm1Eb2N1bWVudHM6ICdEb2N1bWVudHMnLFxuICAgIHBlcm1NZWRpYTogJ01lZGlhJyxcbiAgICBwZXJtVGVtcGxhdGVzOiAnVGVtcGxhdGVzJyxcbiAgICBwZXJtUmVxdWVzdHM6ICdSZXF1ZXN0cycsXG4gICAgcGVybUJpbmdvOiAnQmluZ28nLFxuICAgIHBlcm1SZWFkOiAnUmVhZCcsXG4gICAgcGVybVdyaXRlOiAnV3JpdGUnLFxuICAgIHBlcm1DcmVhdGU6ICdDcmVhdGUnLFxuICAgIHBlcm1EZWxldGU6ICdEZWxldGUnLFxuICAgIHBlcm1NYW5hZ2U6ICdNYW5hZ2UnLFxuICAgIHBlcm1FZGl0OiAnRWRpdCcsXG4gICAgcGVybVNlbGw6ICdTZWxsJyxcbiAgICBwZXJtQ2hlY2tpbjogJ0NoZWNrLWluJyxcbiAgICBwZXJtU2V0dGxlOiAnU2V0dGxlJyxcbiAgICBwZXJtRXhwb3J0OiAnRXhwb3J0JyxcbiAgICBwZXJtT3BlcmF0ZTogJ09wZXJhdGUnLFxuICAgIHBlcm1BbGw6ICdBbGwnLFxuICAgIGVycm9yVGl0bGU6ICdFcnJvciBsb2FkaW5nIHBlcm1pc3Npb25zJyxcbiAgICByZXRyeTogJ1JldHJ5JyxcbiAgfSxcbn07XG4iXX0=
@@ -2,5 +2,5 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export const VERSION = '4.0.132';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4xMzInO1xuIl19
5
+ export const VERSION = '4.0.133';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4xMzMnO1xuIl19
@@ -56,7 +56,7 @@ import { BrowserMultiFormatReader } from '@zxing/browser';
56
56
  * Current version of valtech-components.
57
57
  * This is automatically updated during the publish process.
58
58
  */
59
- const VERSION = '4.0.132';
59
+ const VERSION = '4.0.133';
60
60
 
61
61
  // Control de estado de refresco (singleton a nivel de módulo)
62
62
  let isRefreshing = false;
@@ -51594,7 +51594,6 @@ const PERMISSIONS_VIEW_I18N = {
51594
51594
  // Grupos de alcance
51595
51595
  groupApp: 'Permisos de la app',
51596
51596
  groupOrg: 'Permisos de la organización',
51597
- groupPlatform: 'Permisos de plataforma',
51598
51597
  groupOther: 'Otras apps',
51599
51598
  // Roles del sistema
51600
51599
  roleViewer: 'Visor',
@@ -51650,7 +51649,6 @@ const PERMISSIONS_VIEW_I18N = {
51650
51649
  noPermissions: 'No permissions assigned.',
51651
51650
  groupApp: 'App permissions',
51652
51651
  groupOrg: 'Organization permissions',
51653
- groupPlatform: 'Platform permissions',
51654
51652
  groupOther: 'Other apps',
51655
51653
  roleViewer: 'Viewer',
51656
51654
  roleEditor: 'Editor',
@@ -51836,12 +51834,18 @@ class PermissionsViewComponent {
51836
51834
  }
51837
51835
  const groups = [];
51838
51836
  if (appPerms.length) {
51839
- groups.push({ key: 'app', label: this.tt('groupApp'), perms: appPerms });
51837
+ groups.push({
51838
+ key: 'app',
51839
+ label: this.tt('groupApp'),
51840
+ scope: 'app',
51841
+ perms: appPerms,
51842
+ });
51840
51843
  }
51841
51844
  if (orgPerms.length) {
51842
51845
  groups.push({
51843
51846
  key: 'org',
51844
51847
  label: this.tt('groupOrg'),
51848
+ scope: 'org',
51845
51849
  perms: orgPerms,
51846
51850
  });
51847
51851
  }
@@ -51849,6 +51853,8 @@ class PermissionsViewComponent {
51849
51853
  groups.push({
51850
51854
  key: `other:${appId}`,
51851
51855
  label: `${this.tt('groupOther')}: ${this.appLabel(appId)}`,
51856
+ scope: 'other',
51857
+ appId,
51852
51858
  perms,
51853
51859
  });
51854
51860
  }
@@ -51954,8 +51960,8 @@ class PermissionsViewComponent {
51954
51960
  </div>
51955
51961
  } @else {
51956
51962
  @for (g of role.groups; track g.key) {
51957
- <div class="perm-group">
51958
- <span class="perm-group__label">{{ g.label }}</span>
51963
+ <div [class]="'perm-group perm-group--' + g.scope">
51964
+ <span class="perm-group__badge">{{ g.label }}</span>
51959
51965
  <div class="perm-chips">
51960
51966
  @for (p of g.perms; track p) {
51961
51967
  <span class="perm-chip">{{ p }}</span>
@@ -52015,8 +52021,8 @@ class PermissionsViewComponent {
52015
52021
  </div>
52016
52022
  } @else {
52017
52023
  @for (g of role.groups; track g.key) {
52018
- <div class="perm-group">
52019
- <span class="perm-group__label">{{ g.label }}</span>
52024
+ <div [class]="'perm-group perm-group--' + g.scope">
52025
+ <span class="perm-group__badge">{{ g.label }}</span>
52020
52026
  <div class="perm-chips">
52021
52027
  @for (p of g.perms; track p) {
52022
52028
  <span class="perm-chip">{{ p }}</span>
@@ -52033,7 +52039,7 @@ class PermissionsViewComponent {
52033
52039
  }
52034
52040
  }
52035
52041
  </div>
52036
- `, isInline: true, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.page-header{margin-bottom:24px}.spinner-row,.error-row{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0}.perm-section{margin-bottom:32px}.perm-section__header{margin-bottom:12px}.role-list{display:flex;flex-direction:column;gap:10px}.role-card{border:1.5px solid var(--ion-color-light);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.role-card__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role-card__name{font-size:.9375rem;font-weight:600;color:var(--ion-color-dark)}.role-card__desc{font-size:.8125rem;color:var(--ion-color-medium);line-height:1.4}.perm-group{display:flex;flex-direction:column;gap:6px}.perm-group__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ion-color-medium)}.perm-chips{display:flex;flex-wrap:wrap;gap:6px}.perm-chip{font-size:.75rem;padding:3px 10px;border-radius:20px;background:var(--ion-color-light);color:var(--ion-color-dark)}.perm-chip--empty{color:var(--ion-color-medium);background:transparent;padding-left:0}\n"], dependencies: [{ kind: "component", type: SkeletonLayoutComponent, selector: "val-skeleton-layout", inputs: ["props"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: PillComponent, selector: "val-pill", inputs: ["preset", "props"], outputs: ["pillClick", "pillAction"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }] }); }
52042
+ `, isInline: true, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.page-header{margin-bottom:24px}.spinner-row,.error-row{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0}.perm-section{margin-bottom:32px}.perm-section__header{margin-bottom:12px}.role-list{display:flex;flex-direction:column;gap:10px}.role-card{border:1.5px solid var(--ion-color-light);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.role-card__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role-card__name{font-size:.9375rem;font-weight:600;color:var(--ion-color-dark)}.role-card__desc{font-size:.8125rem;color:var(--ion-color-medium);line-height:1.4}.perm-group{display:flex;flex-direction:column;gap:6px}.perm-group__badge{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:6px}.perm-group--app .perm-group__badge{color:var(--ion-color-primary);background:rgba(var(--ion-color-primary-rgb),.12)}.perm-group--org .perm-group__badge{color:var(--ion-color-medium-shade, var(--ion-color-medium));background:var(--ion-color-light-shade, rgba(0, 0, 0, .06))}.perm-group--other .perm-group__badge{color:var(--ion-color-tertiary);background:rgba(var(--ion-color-tertiary-rgb),.12)}.perm-chips{display:flex;flex-wrap:wrap;gap:6px}.perm-chip{font-size:.75rem;padding:3px 10px;border-radius:20px;background:var(--ion-color-light);color:var(--ion-color-dark)}.perm-group--app .perm-chip{background:rgba(var(--ion-color-primary-rgb),.08)}.perm-group--other .perm-chip{background:rgba(var(--ion-color-tertiary-rgb),.08)}.perm-chip--empty{color:var(--ion-color-medium);background:transparent;padding-left:0}\n"], dependencies: [{ kind: "component", type: SkeletonLayoutComponent, selector: "val-skeleton-layout", inputs: ["props"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: PillComponent, selector: "val-pill", inputs: ["preset", "props"], outputs: ["pillClick", "pillAction"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }] }); }
52037
52043
  }
52038
52044
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PermissionsViewComponent, decorators: [{
52039
52045
  type: Component,
@@ -52108,8 +52114,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
52108
52114
  </div>
52109
52115
  } @else {
52110
52116
  @for (g of role.groups; track g.key) {
52111
- <div class="perm-group">
52112
- <span class="perm-group__label">{{ g.label }}</span>
52117
+ <div [class]="'perm-group perm-group--' + g.scope">
52118
+ <span class="perm-group__badge">{{ g.label }}</span>
52113
52119
  <div class="perm-chips">
52114
52120
  @for (p of g.perms; track p) {
52115
52121
  <span class="perm-chip">{{ p }}</span>
@@ -52169,8 +52175,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
52169
52175
  </div>
52170
52176
  } @else {
52171
52177
  @for (g of role.groups; track g.key) {
52172
- <div class="perm-group">
52173
- <span class="perm-group__label">{{ g.label }}</span>
52178
+ <div [class]="'perm-group perm-group--' + g.scope">
52179
+ <span class="perm-group__badge">{{ g.label }}</span>
52174
52180
  <div class="perm-chips">
52175
52181
  @for (p of g.perms; track p) {
52176
52182
  <span class="perm-chip">{{ p }}</span>
@@ -52187,7 +52193,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
52187
52193
  }
52188
52194
  }
52189
52195
  </div>
52190
- `, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.page-header{margin-bottom:24px}.spinner-row,.error-row{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0}.perm-section{margin-bottom:32px}.perm-section__header{margin-bottom:12px}.role-list{display:flex;flex-direction:column;gap:10px}.role-card{border:1.5px solid var(--ion-color-light);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.role-card__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role-card__name{font-size:.9375rem;font-weight:600;color:var(--ion-color-dark)}.role-card__desc{font-size:.8125rem;color:var(--ion-color-medium);line-height:1.4}.perm-group{display:flex;flex-direction:column;gap:6px}.perm-group__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ion-color-medium)}.perm-chips{display:flex;flex-wrap:wrap;gap:6px}.perm-chip{font-size:.75rem;padding:3px 10px;border-radius:20px;background:var(--ion-color-light);color:var(--ion-color-dark)}.perm-chip--empty{color:var(--ion-color-medium);background:transparent;padding-left:0}\n"] }]
52196
+ `, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.page-header{margin-bottom:24px}.spinner-row,.error-row{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0}.perm-section{margin-bottom:32px}.perm-section__header{margin-bottom:12px}.role-list{display:flex;flex-direction:column;gap:10px}.role-card{border:1.5px solid var(--ion-color-light);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.role-card__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role-card__name{font-size:.9375rem;font-weight:600;color:var(--ion-color-dark)}.role-card__desc{font-size:.8125rem;color:var(--ion-color-medium);line-height:1.4}.perm-group{display:flex;flex-direction:column;gap:6px}.perm-group__badge{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:6px}.perm-group--app .perm-group__badge{color:var(--ion-color-primary);background:rgba(var(--ion-color-primary-rgb),.12)}.perm-group--org .perm-group__badge{color:var(--ion-color-medium-shade, var(--ion-color-medium));background:var(--ion-color-light-shade, rgba(0, 0, 0, .06))}.perm-group--other .perm-group__badge{color:var(--ion-color-tertiary);background:rgba(var(--ion-color-tertiary-rgb),.12)}.perm-chips{display:flex;flex-wrap:wrap;gap:6px}.perm-chip{font-size:.75rem;padding:3px 10px;border-radius:20px;background:var(--ion-color-light);color:var(--ion-color-dark)}.perm-group--app .perm-chip{background:rgba(var(--ion-color-primary-rgb),.08)}.perm-group--other .perm-chip{background:rgba(var(--ion-color-tertiary-rgb),.08)}.perm-chip--empty{color:var(--ion-color-medium);background:transparent;padding-left:0}\n"] }]
52191
52197
  }], ctorParameters: () => [], propDecorators: { config: [{
52192
52198
  type: Input
52193
52199
  }], isModal: [{