bways-report 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/esm2022/lib/core/models/report-grid.model.mjs +1 -1
  2. package/esm2022/lib/features/designer/components/component-palette/component-palette.component.mjs +24 -3
  3. package/esm2022/lib/features/designer/components/design-canvas/design-canvas.component.mjs +20 -13
  4. package/esm2022/lib/features/designer/components/property-editor/property-editor-datasource.component.mjs +64 -5
  5. package/esm2022/lib/features/designer/components/property-editor/property-editor-grid.component.mjs +161 -3
  6. package/esm2022/lib/features/designer/components/property-editor/property-editor.component.mjs +91 -11
  7. package/esm2022/lib/features/designer/components/toolbar/designer-toolbar.component.mjs +88 -25
  8. package/esm2022/lib/features/designer/designer.component.mjs +194 -65
  9. package/esm2022/lib/features/designer/services/designer-state.service.mjs +9 -2
  10. package/esm2022/lib/features/routing/components/routed-report-runtime.component.mjs +2 -2
  11. package/esm2022/lib/features/runtime/dynamic-renderer.component.mjs +11 -3
  12. package/esm2022/lib/features/runtime/report-execution.service.mjs +1 -9
  13. package/esm2022/lib/features/runtime/report-grid-bridge.component.mjs +214 -19
  14. package/esm2022/lib/features/runtime/report-runtime.component.mjs +11 -3
  15. package/esm2022/lib/features/runtime/rpt-report.component.mjs +11 -3
  16. package/esm2022/lib/primitives/components/checkbox/rpt-checkbox.component.mjs +3 -3
  17. package/esm2022/lib/primitives/components/date/rpt-date.component.mjs +3 -3
  18. package/esm2022/lib/primitives/components/date-range/rpt-date-range.component.mjs +3 -3
  19. package/esm2022/lib/primitives/components/dropdown/rpt-dropdown.component.mjs +4 -4
  20. package/esm2022/lib/primitives/components/icon/rpt-icon.component.mjs +23 -1
  21. package/esm2022/lib/primitives/components/input/rpt-input.component.mjs +3 -3
  22. package/esm2022/lib/primitives/components/kpi-card/rpt-kpi-card.component.mjs +3 -3
  23. package/esm2022/lib/primitives/components/number/rpt-number.component.mjs +3 -3
  24. package/fesm2022/bways-report.mjs +920 -162
  25. package/fesm2022/bways-report.mjs.map +1 -1
  26. package/lib/core/models/report-grid.model.d.ts +23 -1
  27. package/lib/features/designer/components/component-palette/component-palette.component.d.ts +2 -1
  28. package/lib/features/designer/components/property-editor/property-editor-datasource.component.d.ts +9 -0
  29. package/lib/features/designer/components/property-editor/property-editor.component.d.ts +4 -1
  30. package/lib/features/designer/components/toolbar/designer-toolbar.component.d.ts +5 -1
  31. package/lib/features/designer/designer.component.d.ts +6 -0
  32. package/lib/features/runtime/dynamic-renderer.component.d.ts +4 -1
  33. package/lib/features/runtime/report-grid-bridge.component.d.ts +46 -4
  34. package/lib/features/runtime/report-runtime.component.d.ts +4 -1
  35. package/lib/features/runtime/rpt-report.component.d.ts +4 -1
  36. package/package.json +1 -1
@@ -19,6 +19,8 @@ export class RptReportComponent {
19
19
  rowClick = output();
20
20
  dataLoaded = output();
21
21
  gridStateChange = output();
22
+ selectionChange = output();
23
+ selectionChanged = output();
22
24
  presetSaved = output();
23
25
  presetChange = output();
24
26
  exportRequested = output();
@@ -67,6 +69,10 @@ export class RptReportComponent {
67
69
  this.latestGridState.set(state);
68
70
  this.gridStateChange.emit(state);
69
71
  }
72
+ onSelectionChange(rows) {
73
+ this.selectionChange.emit(rows);
74
+ this.selectionChanged.emit(rows);
75
+ }
70
76
  onSelectPreset(presetId) {
71
77
  this.activePresetId.set(presetId);
72
78
  if (presetId === 'default') {
@@ -186,7 +192,7 @@ export class RptReportComponent {
186
192
  });
187
193
  }
188
194
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RptReportComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
189
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RptReportComponent, isStandalone: true, selector: "rpt-report, rpt-view", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, report: { classPropertyName: "report", publicName: "report", isSignal: true, isRequired: false, transformFunction: null }, parameters: { classPropertyName: "parameters", publicName: "parameters", isSignal: true, isRequired: false, transformFunction: null }, showExport: { classPropertyName: "showExport", publicName: "showExport", isSignal: true, isRequired: false, transformFunction: null }, enablePresets: { classPropertyName: "enablePresets", publicName: "enablePresets", isSignal: true, isRequired: false, transformFunction: null }, autoExecute: { classPropertyName: "autoExecute", publicName: "autoExecute", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rowClick: "rowClick", dataLoaded: "dataLoaded", gridStateChange: "gridStateChange", presetSaved: "presetSaved", presetChange: "presetChange", exportRequested: "exportRequested", printRequested: "printRequested" }, viewQueries: [{ propertyName: "runtimeComponent", first: true, predicate: ReportRuntimeComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
195
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RptReportComponent, isStandalone: true, selector: "rpt-report, rpt-view", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, report: { classPropertyName: "report", publicName: "report", isSignal: true, isRequired: false, transformFunction: null }, parameters: { classPropertyName: "parameters", publicName: "parameters", isSignal: true, isRequired: false, transformFunction: null }, showExport: { classPropertyName: "showExport", publicName: "showExport", isSignal: true, isRequired: false, transformFunction: null }, enablePresets: { classPropertyName: "enablePresets", publicName: "enablePresets", isSignal: true, isRequired: false, transformFunction: null }, autoExecute: { classPropertyName: "autoExecute", publicName: "autoExecute", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rowClick: "rowClick", dataLoaded: "dataLoaded", gridStateChange: "gridStateChange", selectionChange: "selectionChange", selectionChanged: "selectionChanged", presetSaved: "presetSaved", presetChange: "presetChange", exportRequested: "exportRequested", printRequested: "printRequested" }, viewQueries: [{ propertyName: "runtimeComponent", first: true, predicate: ReportRuntimeComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
190
196
  <div class="rpt-facade-container">
191
197
  <!-- Top Action & Preset Bar -->
192
198
  @if (showToolbar()) {
@@ -282,6 +288,7 @@ export class RptReportComponent {
282
288
  [report]="currentDefinition()"
283
289
  (rowActionTriggered)="onRowActionTriggered($event)"
284
290
  (gridStateChange)="onGridStateChanged($event)"
291
+ (selectionChange)="onSelectionChange($event)"
285
292
  (exportRequested)="exportRequested.emit($event)"
286
293
  (printRequested)="printRequested.emit($event)"
287
294
  />
@@ -357,7 +364,7 @@ export class RptReportComponent {
357
364
  </div>
358
365
  }
359
366
  </div>
360
- `, isInline: true, styles: [":host{display:block;width:100%;box-sizing:border-box;font-family:var(--rpt-font-family, inherit)}.rpt-facade-container{width:100%;position:relative}.rpt-facade-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#fff;border:1px solid var(--rpt-color-border-subtle, #e2e8f0);border-radius:var(--rpt-border-radius-lg, 8px);box-shadow:var(--rpt-box-shadow-xs, 0 1px 2px rgba(0, 0, 0, .04));margin-bottom:14px;flex-wrap:wrap}.rpt-toolbar-left,.rpt-toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rpt-report-title-badge{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:700;color:#0f172a;padding-right:4px}.rpt-title-dot{width:8px;height:8px;border-radius:50%;background:var(--rpt-color-primary, #2563eb)}.rpt-record-count-chip{display:inline-flex;align-items:center;gap:5px;background:#f1f5f9;color:#475569;font-size:.725rem;font-weight:600;padding:3px 8px;border-radius:var(--rpt-border-radius-full, 9999px);border:1px solid #e2e8f0}.rpt-chip-dot{width:6px;height:6px;border-radius:50%;background:#10b981}.rpt-preset-control{display:flex;align-items:center;gap:6px;background:#f8fafc;padding:3px 6px;border-radius:var(--rpt-border-radius, 6px);border:1px solid #e2e8f0}.rpt-preset-label{display:inline-flex;align-items:center;gap:4px;font-size:.725rem;font-weight:600;color:#64748b}.rpt-preset-select{border:1px solid #cbd5e1;border-radius:var(--rpt-border-radius-sm, 4px);padding:3px 8px;font-size:.75rem;font-weight:500;color:#0f172a;background:#fff;outline:none;cursor:pointer;transition:border-color var(--rpt-transition-speed, .15s) ease}.rpt-preset-select:focus{border-color:var(--rpt-color-primary, #2563eb);box-shadow:0 0 0 2px var(--rpt-color-primary-focus, rgba(37, 99, 235, .25))}.rpt-btn-save-view{display:inline-flex;align-items:center;gap:4px;background:var(--rpt-color-primary-light, #eff6ff);border:1px solid #bfdbfe;color:var(--rpt-color-primary, #2563eb);font-size:.725rem;font-weight:600;padding:3px 8px;border-radius:var(--rpt-border-radius-sm, 4px);cursor:pointer;transition:all var(--rpt-transition-speed, .15s) ease}.rpt-btn-save-view:hover{background:#dbeafe;border-color:#93c5fd}.rpt-export-btn{display:inline-flex;align-items:center;gap:5px;border-radius:var(--rpt-border-radius, 6px);padding:5px 12px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--rpt-transition-speed, .15s) ease}.rpt-export-btn:disabled{opacity:.45;cursor:not-allowed}.rpt-export-excel{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.rpt-export-excel:hover:not(:disabled){background:#dcfce7;border-color:#86efac}.rpt-export-csv{background:#f8fafc;border:1px solid #cbd5e1;color:#334155}.rpt-export-csv:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.rpt-export-print{background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca}.rpt-export-print:hover:not(:disabled){background:#e0e7ff;border-color:#a5b4fc}.rpt-modal-backdrop{position:fixed;inset:0;background:#0f172a73;backdrop-filter:blur(6px);z-index:1100}.rpt-modal-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(460px,92vw);background:#fff;border:1px solid #cbd5e1;border-radius:var(--rpt-border-radius-lg, 8px);box-shadow:0 20px 25px -5px #00000026,0 8px 10px -6px #0000001a;z-index:1101;display:flex;flex-direction:column;overflow:hidden;animation:rpt-modal-pop .16s cubic-bezier(.16,1,.3,1)}@keyframes rpt-modal-pop{0%{opacity:0;transform:translate(-50%,-46%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.rpt-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.rpt-modal-header-title{display:inline-flex;align-items:center;gap:8px;color:var(--rpt-color-primary, #2563eb)}.rpt-modal-title{font-size:.95rem;font-weight:700;color:#0f172a;margin:0}.rpt-modal-close{background:transparent;border:none;color:#64748b;font-size:1.1rem;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .12s ease}.rpt-modal-close:hover{background:#e2e8f0;color:#0f172a}.rpt-modal-body{padding:18px}.rpt-modal-hint{font-size:.8rem;color:#64748b;margin:0 0 16px;line-height:1.45}.rpt-input-group{margin-bottom:16px}.rpt-field-label{display:block;font-size:.75rem;font-weight:600;color:#334155;margin-bottom:6px}.rpt-modal-input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:var(--rpt-border-radius, 6px);padding:8px 12px;font-size:.85rem;outline:none;transition:all var(--rpt-transition-speed, .15s) ease}.rpt-modal-input:focus{border-color:var(--rpt-color-primary, #2563eb);box-shadow:0 0 0 3px var(--rpt-color-primary-focus, rgba(37, 99, 235, .25))}.rpt-existing-presets{border-top:1px solid #e2e8f0;padding-top:12px;margin-top:8px}.rpt-existing-label{display:block;font-size:.725rem;font-weight:600;color:#64748b;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.rpt-presets-list{max-height:140px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.rpt-preset-row{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px}.rpt-preset-info{display:inline-flex;align-items:center;gap:8px}.rpt-preset-row-name{font-size:.775rem;font-weight:600;color:#1e293b}.rpt-preset-active-tag{font-size:.65rem;font-weight:600;background:#dbeafe;color:#1d4ed8;padding:1px 6px;border-radius:9999px}.rpt-btn-del-preset{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .12s ease}.rpt-btn-del-preset:hover{background:#fee2e2;color:#dc2626}.rpt-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid #e2e8f0;background:#f8fafc}.rpt-btn-cancel{background:#fff;border:1px solid #cbd5e1;border-radius:var(--rpt-border-radius, 6px);padding:6px 14px;font-size:.775rem;font-weight:500;color:#475569;cursor:pointer;transition:all .12s ease}.rpt-btn-cancel:hover{background:#f1f5f9;color:#0f172a}.rpt-btn-confirm{background:var(--rpt-color-primary, #2563eb);color:#fff;border:none;border-radius:var(--rpt-border-radius, 6px);padding:6px 16px;font-size:.775rem;font-weight:600;cursor:pointer;transition:all .12s ease}.rpt-btn-confirm:hover:not(:disabled){background:var(--rpt-color-primary-hover, #1d4ed8)}.rpt-btn-confirm:disabled{opacity:.5;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ReportRuntimeComponent, selector: "rpt-report-runtime, rpt-runtime", inputs: ["reportId", "report"], outputs: ["resetRequested", "exportRequested", "printRequested", "customActionTriggered", "gridStateChange", "columnDefsChange", "rowActionTriggered", "drilldownRequested"] }, { kind: "component", type: RptIconComponent, selector: "rpt-icon", inputs: ["name", "size", "color", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
367
+ `, isInline: true, styles: [":host{display:block;width:100%;box-sizing:border-box;font-family:var(--rpt-font-family, inherit)}.rpt-facade-container{width:100%;position:relative}.rpt-facade-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#fff;border:1px solid var(--rpt-color-border-subtle, #e2e8f0);border-radius:var(--rpt-border-radius-lg, 8px);box-shadow:var(--rpt-box-shadow-xs, 0 1px 2px rgba(0, 0, 0, .04));margin-bottom:14px;flex-wrap:wrap}.rpt-toolbar-left,.rpt-toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rpt-report-title-badge{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:700;color:#0f172a;padding-right:4px}.rpt-title-dot{width:8px;height:8px;border-radius:50%;background:var(--rpt-color-primary, #2563eb)}.rpt-record-count-chip{display:inline-flex;align-items:center;gap:5px;background:#f1f5f9;color:#475569;font-size:.725rem;font-weight:600;padding:3px 8px;border-radius:var(--rpt-border-radius-full, 9999px);border:1px solid #e2e8f0}.rpt-chip-dot{width:6px;height:6px;border-radius:50%;background:#10b981}.rpt-preset-control{display:flex;align-items:center;gap:6px;background:#f8fafc;padding:3px 6px;border-radius:var(--rpt-border-radius, 6px);border:1px solid #e2e8f0}.rpt-preset-label{display:inline-flex;align-items:center;gap:4px;font-size:.725rem;font-weight:600;color:#64748b}.rpt-preset-select{border:1px solid #cbd5e1;border-radius:var(--rpt-border-radius-sm, 4px);padding:3px 8px;font-size:.75rem;font-weight:500;color:#0f172a;background:#fff;outline:none;cursor:pointer;transition:border-color var(--rpt-transition-speed, .15s) ease}.rpt-preset-select:focus{border-color:var(--rpt-color-primary, #2563eb);box-shadow:0 0 0 2px var(--rpt-color-primary-focus, rgba(37, 99, 235, .25))}.rpt-btn-save-view{display:inline-flex;align-items:center;gap:4px;background:var(--rpt-color-primary-light, #eff6ff);border:1px solid #bfdbfe;color:var(--rpt-color-primary, #2563eb);font-size:.725rem;font-weight:600;padding:3px 8px;border-radius:var(--rpt-border-radius-sm, 4px);cursor:pointer;transition:all var(--rpt-transition-speed, .15s) ease}.rpt-btn-save-view:hover{background:#dbeafe;border-color:#93c5fd}.rpt-export-btn{display:inline-flex;align-items:center;gap:5px;border-radius:var(--rpt-border-radius, 6px);padding:5px 12px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--rpt-transition-speed, .15s) ease}.rpt-export-btn:disabled{opacity:.45;cursor:not-allowed}.rpt-export-excel{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.rpt-export-excel:hover:not(:disabled){background:#dcfce7;border-color:#86efac}.rpt-export-csv{background:#f8fafc;border:1px solid #cbd5e1;color:#334155}.rpt-export-csv:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.rpt-export-print{background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca}.rpt-export-print:hover:not(:disabled){background:#e0e7ff;border-color:#a5b4fc}.rpt-modal-backdrop{position:fixed;inset:0;background:#0f172a73;backdrop-filter:blur(6px);z-index:1100}.rpt-modal-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(460px,92vw);background:#fff;border:1px solid #cbd5e1;border-radius:var(--rpt-border-radius-lg, 8px);box-shadow:0 20px 25px -5px #00000026,0 8px 10px -6px #0000001a;z-index:1101;display:flex;flex-direction:column;overflow:hidden;animation:rpt-modal-pop .16s cubic-bezier(.16,1,.3,1)}@keyframes rpt-modal-pop{0%{opacity:0;transform:translate(-50%,-46%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.rpt-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.rpt-modal-header-title{display:inline-flex;align-items:center;gap:8px;color:var(--rpt-color-primary, #2563eb)}.rpt-modal-title{font-size:.95rem;font-weight:700;color:#0f172a;margin:0}.rpt-modal-close{background:transparent;border:none;color:#64748b;font-size:1.1rem;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .12s ease}.rpt-modal-close:hover{background:#e2e8f0;color:#0f172a}.rpt-modal-body{padding:18px}.rpt-modal-hint{font-size:.8rem;color:#64748b;margin:0 0 16px;line-height:1.45}.rpt-input-group{margin-bottom:16px}.rpt-field-label{display:block;font-size:.75rem;font-weight:600;color:#334155;margin-bottom:6px}.rpt-modal-input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:var(--rpt-border-radius, 6px);padding:8px 12px;font-size:.85rem;outline:none;transition:all var(--rpt-transition-speed, .15s) ease}.rpt-modal-input:focus{border-color:var(--rpt-color-primary, #2563eb);box-shadow:0 0 0 3px var(--rpt-color-primary-focus, rgba(37, 99, 235, .25))}.rpt-existing-presets{border-top:1px solid #e2e8f0;padding-top:12px;margin-top:8px}.rpt-existing-label{display:block;font-size:.725rem;font-weight:600;color:#64748b;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.rpt-presets-list{max-height:140px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.rpt-preset-row{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px}.rpt-preset-info{display:inline-flex;align-items:center;gap:8px}.rpt-preset-row-name{font-size:.775rem;font-weight:600;color:#1e293b}.rpt-preset-active-tag{font-size:.65rem;font-weight:600;background:#dbeafe;color:#1d4ed8;padding:1px 6px;border-radius:9999px}.rpt-btn-del-preset{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .12s ease}.rpt-btn-del-preset:hover{background:#fee2e2;color:#dc2626}.rpt-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid #e2e8f0;background:#f8fafc}.rpt-btn-cancel{background:#fff;border:1px solid #cbd5e1;border-radius:var(--rpt-border-radius, 6px);padding:6px 14px;font-size:.775rem;font-weight:500;color:#475569;cursor:pointer;transition:all .12s ease}.rpt-btn-cancel:hover{background:#f1f5f9;color:#0f172a}.rpt-btn-confirm{background:var(--rpt-color-primary, #2563eb);color:#fff;border:none;border-radius:var(--rpt-border-radius, 6px);padding:6px 16px;font-size:.775rem;font-weight:600;cursor:pointer;transition:all .12s ease}.rpt-btn-confirm:hover:not(:disabled){background:var(--rpt-color-primary-hover, #1d4ed8)}.rpt-btn-confirm:disabled{opacity:.5;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ReportRuntimeComponent, selector: "rpt-report-runtime, rpt-runtime", inputs: ["reportId", "report"], outputs: ["resetRequested", "exportRequested", "printRequested", "customActionTriggered", "gridStateChange", "columnDefsChange", "selectionChange", "selectionChanged", "rowActionTriggered", "drilldownRequested"] }, { kind: "component", type: RptIconComponent, selector: "rpt-icon", inputs: ["name", "size", "color", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
361
368
  }
362
369
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RptReportComponent, decorators: [{
363
370
  type: Component,
@@ -457,6 +464,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
457
464
  [report]="currentDefinition()"
458
465
  (rowActionTriggered)="onRowActionTriggered($event)"
459
466
  (gridStateChange)="onGridStateChanged($event)"
467
+ (selectionChange)="onSelectionChange($event)"
460
468
  (exportRequested)="exportRequested.emit($event)"
461
469
  (printRequested)="printRequested.emit($event)"
462
470
  />
@@ -534,4 +542,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
534
542
  </div>
535
543
  `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;width:100%;box-sizing:border-box;font-family:var(--rpt-font-family, inherit)}.rpt-facade-container{width:100%;position:relative}.rpt-facade-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#fff;border:1px solid var(--rpt-color-border-subtle, #e2e8f0);border-radius:var(--rpt-border-radius-lg, 8px);box-shadow:var(--rpt-box-shadow-xs, 0 1px 2px rgba(0, 0, 0, .04));margin-bottom:14px;flex-wrap:wrap}.rpt-toolbar-left,.rpt-toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rpt-report-title-badge{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:700;color:#0f172a;padding-right:4px}.rpt-title-dot{width:8px;height:8px;border-radius:50%;background:var(--rpt-color-primary, #2563eb)}.rpt-record-count-chip{display:inline-flex;align-items:center;gap:5px;background:#f1f5f9;color:#475569;font-size:.725rem;font-weight:600;padding:3px 8px;border-radius:var(--rpt-border-radius-full, 9999px);border:1px solid #e2e8f0}.rpt-chip-dot{width:6px;height:6px;border-radius:50%;background:#10b981}.rpt-preset-control{display:flex;align-items:center;gap:6px;background:#f8fafc;padding:3px 6px;border-radius:var(--rpt-border-radius, 6px);border:1px solid #e2e8f0}.rpt-preset-label{display:inline-flex;align-items:center;gap:4px;font-size:.725rem;font-weight:600;color:#64748b}.rpt-preset-select{border:1px solid #cbd5e1;border-radius:var(--rpt-border-radius-sm, 4px);padding:3px 8px;font-size:.75rem;font-weight:500;color:#0f172a;background:#fff;outline:none;cursor:pointer;transition:border-color var(--rpt-transition-speed, .15s) ease}.rpt-preset-select:focus{border-color:var(--rpt-color-primary, #2563eb);box-shadow:0 0 0 2px var(--rpt-color-primary-focus, rgba(37, 99, 235, .25))}.rpt-btn-save-view{display:inline-flex;align-items:center;gap:4px;background:var(--rpt-color-primary-light, #eff6ff);border:1px solid #bfdbfe;color:var(--rpt-color-primary, #2563eb);font-size:.725rem;font-weight:600;padding:3px 8px;border-radius:var(--rpt-border-radius-sm, 4px);cursor:pointer;transition:all var(--rpt-transition-speed, .15s) ease}.rpt-btn-save-view:hover{background:#dbeafe;border-color:#93c5fd}.rpt-export-btn{display:inline-flex;align-items:center;gap:5px;border-radius:var(--rpt-border-radius, 6px);padding:5px 12px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--rpt-transition-speed, .15s) ease}.rpt-export-btn:disabled{opacity:.45;cursor:not-allowed}.rpt-export-excel{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.rpt-export-excel:hover:not(:disabled){background:#dcfce7;border-color:#86efac}.rpt-export-csv{background:#f8fafc;border:1px solid #cbd5e1;color:#334155}.rpt-export-csv:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.rpt-export-print{background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca}.rpt-export-print:hover:not(:disabled){background:#e0e7ff;border-color:#a5b4fc}.rpt-modal-backdrop{position:fixed;inset:0;background:#0f172a73;backdrop-filter:blur(6px);z-index:1100}.rpt-modal-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(460px,92vw);background:#fff;border:1px solid #cbd5e1;border-radius:var(--rpt-border-radius-lg, 8px);box-shadow:0 20px 25px -5px #00000026,0 8px 10px -6px #0000001a;z-index:1101;display:flex;flex-direction:column;overflow:hidden;animation:rpt-modal-pop .16s cubic-bezier(.16,1,.3,1)}@keyframes rpt-modal-pop{0%{opacity:0;transform:translate(-50%,-46%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.rpt-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.rpt-modal-header-title{display:inline-flex;align-items:center;gap:8px;color:var(--rpt-color-primary, #2563eb)}.rpt-modal-title{font-size:.95rem;font-weight:700;color:#0f172a;margin:0}.rpt-modal-close{background:transparent;border:none;color:#64748b;font-size:1.1rem;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .12s ease}.rpt-modal-close:hover{background:#e2e8f0;color:#0f172a}.rpt-modal-body{padding:18px}.rpt-modal-hint{font-size:.8rem;color:#64748b;margin:0 0 16px;line-height:1.45}.rpt-input-group{margin-bottom:16px}.rpt-field-label{display:block;font-size:.75rem;font-weight:600;color:#334155;margin-bottom:6px}.rpt-modal-input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:var(--rpt-border-radius, 6px);padding:8px 12px;font-size:.85rem;outline:none;transition:all var(--rpt-transition-speed, .15s) ease}.rpt-modal-input:focus{border-color:var(--rpt-color-primary, #2563eb);box-shadow:0 0 0 3px var(--rpt-color-primary-focus, rgba(37, 99, 235, .25))}.rpt-existing-presets{border-top:1px solid #e2e8f0;padding-top:12px;margin-top:8px}.rpt-existing-label{display:block;font-size:.725rem;font-weight:600;color:#64748b;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.rpt-presets-list{max-height:140px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.rpt-preset-row{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px}.rpt-preset-info{display:inline-flex;align-items:center;gap:8px}.rpt-preset-row-name{font-size:.775rem;font-weight:600;color:#1e293b}.rpt-preset-active-tag{font-size:.65rem;font-weight:600;background:#dbeafe;color:#1d4ed8;padding:1px 6px;border-radius:9999px}.rpt-btn-del-preset{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .12s ease}.rpt-btn-del-preset:hover{background:#fee2e2;color:#dc2626}.rpt-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid #e2e8f0;background:#f8fafc}.rpt-btn-cancel{background:#fff;border:1px solid #cbd5e1;border-radius:var(--rpt-border-radius, 6px);padding:6px 14px;font-size:.775rem;font-weight:500;color:#475569;cursor:pointer;transition:all .12s ease}.rpt-btn-cancel:hover{background:#f1f5f9;color:#0f172a}.rpt-btn-confirm{background:var(--rpt-color-primary, #2563eb);color:#fff;border:none;border-radius:var(--rpt-border-radius, 6px);padding:6px 16px;font-size:.775rem;font-weight:600;cursor:pointer;transition:all .12s ease}.rpt-btn-confirm:hover:not(:disabled){background:var(--rpt-color-primary-hover, #1d4ed8)}.rpt-btn-confirm:disabled{opacity:.5;cursor:not-allowed}\n"] }]
536
544
  }] });
537
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnB0LXJlcG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9id2F5cy1yZXBvcnQvc3JjL2xpYi9mZWF0dXJlcy9ydW50aW1lL3JwdC1yZXBvcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDdkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seURBQXlELENBQUM7OztBQXVpQm5HLE1BQU0sT0FBTyxrQkFBa0I7SUFDWixhQUFhLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDNUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTNFLEVBQUUsR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sR0FBRyxLQUFLLENBQTBCLElBQUksQ0FBQyxDQUFDO0lBQzlDLFVBQVUsR0FBRyxLQUFLLENBQTBCLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELFVBQVUsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7SUFDbEMsYUFBYSxHQUFHLEtBQUssQ0FB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJLVCxtQkE0V2dCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSZXBvcnREZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMvcmVwb3J0LWRlZmluaXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgR3JpZFJvd0NsaWNrQWN0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMvcmVwb3J0LWdyaWQubW9kZWwnO1xuaW1wb3J0IHsgUmVwb3J0RXhwb3J0U2VydmljZSB9IGZyb20gJy4uL2V4cG9ydC9zZXJ2aWNlcy9yZXBvcnQtZXhwb3J0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVwb3J0UnVudGltZUNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LXJ1bnRpbWUuY29tcG9uZW50JztcbmltcG9ydCB7IFJwdEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9wcmltaXRpdmVzL2NvbXBvbmVudHMvaWNvbi9ycHQtaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVwb3J0UGVyc2lzdGVuY2VBZGFwdGVyIH0gZnJvbSAnLi4vLi4vZGF0YS1hY2Nlc3MvY29udHJhY3RzL3JlcG9ydC1wZXJzaXN0ZW5jZS5jb250cmFjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVwb3J0Vmlld1ByZXNldCB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZ3JpZFN0YXRlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgZm9ybVZhbHVlcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JwdC1yZXBvcnQsIHJwdC12aWV3JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlcG9ydFJ1bnRpbWVDb21wb25lbnQsIFJwdEljb25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJycHQtZmFjYWRlLWNvbnRhaW5lclwiPlxuICAgICAgPCEtLSBUb3AgQWN0aW9uICYgUHJlc2V0IEJhciAtLT5cbiAgICAgIEBpZiAoc2hvd1Rvb2xiYXIoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwicnB0LWZhY2FkZS10b29sYmFyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJwdC10b29sYmFyLWxlZnRcIj5cbiAgICAgICAgICAgIEBpZiAoYWN0aXZlRGVmaW5pdGlvbigpPy5uYW1lKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJycHQtcmVwb3J0LXRpdGxlLWJhZGdlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtdGl0bGUtZG90XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicnB0LXRpdGxlLXRleHRcIj57eyBhY3RpdmVEZWZpbml0aW9uKCk/Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKHJlY29yZENvdW50KCkgPiAwKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicnB0LXJlY29yZC1jb3VudC1jaGlwXCIgdGl0bGU9XCJDdXJyZW50IGRhdGFzZXQgc2l6ZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicnB0LWNoaXAtZG90XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicnB0LXRhYnVsYXItbnVtc1wiPnt7IHJlY29yZENvdW50KCkgfX0gcm93czwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8IS0tIFNhdmVkIFZpZXdzIC8gUHJlc2V0IFN3aXRjaGVyIC0tPlxuICAgICAgICAgICAgQGlmIChlbmFibGVQcmVzZXRzKCkpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJwdC1wcmVzZXQtY29udHJvbFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInJwdC1wcmVzZXQtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgIDxycHQtaWNvbiBuYW1lPVwiYm9va21hcmtcIiBbc2l6ZV09XCIxMlwiIC8+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj5WaWV3Ojwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicnB0LXByZXNldC1zZWxlY3RcIlxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiYWN0aXZlUHJlc2V0SWQoKVwiXG4gICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblNlbGVjdFByZXNldCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJTZWxlY3QgcmVwb3J0IHZpZXcgcHJlc2V0XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZGVmYXVsdFwiPkRlZmF1bHQgVmlldzwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgQGZvciAocHJlc2V0IG9mIHNhdmVkUHJlc2V0cygpOyB0cmFjayBwcmVzZXQuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwicHJlc2V0LmlkXCI+e3sgcHJlc2V0Lm5hbWUgfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicnB0LWJ0bi1zYXZlLXZpZXdcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5TYXZlUHJlc2V0TW9kYWwoKVwiXG4gICAgICAgICAgICAgICAgICB0aXRsZT1cIlNhdmUgY3VycmVudCBncmlkIHZpZXcgb3IgbWFuYWdlIHByZXNldHNcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxycHQtaWNvbiBuYW1lPVwicGx1c1wiIFtzaXplXT1cIjExXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPlNhdmUgVmlldzwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8IS0tIEV4cG9ydCBBY3Rpb25zIC0tPlxuICAgICAgICAgIEBpZiAoc2hvd0V4cG9ydCgpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicnB0LXRvb2xiYXItcmlnaHRcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicnB0LWV4cG9ydC1idG4gcnB0LWV4cG9ydC1leGNlbFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRXhwb3J0RXhjZWwoKVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFyZWNvcmRDb3VudCgpXCJcbiAgICAgICAgICAgICAgICB0aXRsZT1cIkV4cG9ydCByZXN1bHQgdGFibGUgdG8gRXhjZWwgc3ByZWFkc2hlZXQgKC54bHMpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxycHQtaWNvbiBuYW1lPVwiZmlsZS10ZXh0XCIgW3NpemVdPVwiMTNcIiAvPlxuICAgICAgICAgICAgICAgIDxzcGFuPkV4Y2VsPC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicnB0LWV4cG9ydC1idG4gcnB0LWV4cG9ydC1jc3ZcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkV4cG9ydENzdigpXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXJlY29yZENvdW50KClcIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwiRXhwb3J0IHJlc3VsdCB0YWJsZSB0byBDU1YgZmlsZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8cnB0LWljb24gbmFtZT1cImRvd25sb2FkXCIgW3NpemVdPVwiMTNcIiAvPlxuICAgICAgICAgICAgICAgIDxzcGFuPkNTVjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInJwdC1leHBvcnQtYnRuIHJwdC1leHBvcnQtcHJpbnRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblByaW50UmVwb3J0KClcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhcmVjb3JkQ291bnQoKVwiXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJQcmludCByZXBvcnQgd2l0aCBicmFuZGVkIGxheW91dFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8cnB0LWljb24gbmFtZT1cInByaW50ZXJcIiBbc2l6ZV09XCIxM1wiIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4+UHJpbnQ8L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBDb3JlIFJ1bnRpbWUgRW5naW5lIC0tPlxuICAgICAgPHJwdC1yZXBvcnQtcnVudGltZVxuICAgICAgICAjcnVudGltZVJlZlxuICAgICAgICBbcmVwb3J0SWRdPVwiaWQoKVwiXG4gICAgICAgIFtyZXBvcnRdPVwiY3VycmVudERlZmluaXRpb24oKVwiXG4gICAgICAgIChyb3dBY3Rpb25UcmlnZ2VyZWQpPVwib25Sb3dBY3Rpb25UcmlnZ2VyZWQoJGV2ZW50KVwiXG4gICAgICAgIChncmlkU3RhdGVDaGFuZ2UpPVwib25HcmlkU3RhdGVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAoZXhwb3J0UmVxdWVzdGVkKT1cImV4cG9ydFJlcXVlc3RlZC5lbWl0KCRldmVudClcIlxuICAgICAgICAocHJpbnRSZXF1ZXN0ZWQpPVwicHJpbnRSZXF1ZXN0ZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgIC8+XG5cbiAgICAgIDwhLS0gU2F2ZSBWaWV3IFByZXNldCBNb2RhbCAtLT5cbiAgICAgIEBpZiAoaXNTYXZlUHJlc2V0TW9kYWxPcGVuKCkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInJwdC1tb2RhbC1iYWNrZHJvcFwiIChjbGljayk9XCJjbG9zZVNhdmVQcmVzZXRNb2RhbCgpXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJycHQtbW9kYWwtZGlhbG9nXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtbW9kYWw9XCJ0cnVlXCIgYXJpYS1sYWJlbD1cIlNhdmUgVmlldyBQcmVzZXRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicnB0LW1vZGFsLWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJwdC1tb2RhbC1oZWFkZXItdGl0bGVcIj5cbiAgICAgICAgICAgICAgPHJwdC1pY29uIG5hbWU9XCJib29rbWFya1wiIFtzaXplXT1cIjE2XCIgLz5cbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwicnB0LW1vZGFsLXRpdGxlXCI+Q3VzdG9tIFZpZXcgUHJlc2V0czwvaDQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwicnB0LW1vZGFsLWNsb3NlXCIgKGNsaWNrKT1cImNsb3NlU2F2ZVByZXNldE1vZGFsKClcIiBhcmlhLWxhYmVsPVwiQ2xvc2UgbW9kYWxcIj7inJU8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicnB0LW1vZGFsLWJvZHlcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwicnB0LW1vZGFsLWhpbnRcIj5cbiAgICAgICAgICAgICAgU2F2ZSB5b3VyIGFjdGl2ZSBjb2x1bW4gb3JkZXJpbmcsIHdpZHRocywgc29ydGluZ3MsIGFuZCBmaWx0ZXJzIGludG8gYSByZXVzYWJsZSB2aWV3IHByZXNldC5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJwdC1pbnB1dC1ncm91cFwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJycHQtZmllbGQtbGFiZWxcIj5OZXcgVmlldyBOYW1lPC9sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicnB0LW1vZGFsLWlucHV0XCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImUuZy4gSGlnaCBWYWx1ZSBUcmFuc2FjdGlvbnMgLSBRM1wiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwibmV3UHJlc2V0TmFtZSgpXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJuZXdQcmVzZXROYW1lLnNldCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJzYXZlQ3VycmVudFByZXNldCgpXCJcbiAgICAgICAgICAgICAgICBhdXRvZm9jdXNcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tIEV4aXN0aW5nIFByZXNldHMgTWFuYWdlbWVudCBMaXN0IC0tPlxuICAgICAgICAgICAgQGlmIChzYXZlZFByZXNldHMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJycHQtZXhpc3RpbmctcHJlc2V0c1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicnB0LWV4aXN0aW5nLWxhYmVsXCI+U2F2ZWQgVmlld3MgaW4gdGhpcyByZXBvcnQ6PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJycHQtcHJlc2V0cy1saXN0XCI+XG4gICAgICAgICAgICAgICAgICBAZm9yIChwcmVzZXQgb2Ygc2F2ZWRQcmVzZXRzKCk7IHRyYWNrIHByZXNldC5pZCkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicnB0LXByZXNldC1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicnB0LXByZXNldC1pbmZvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJwdC1wcmVzZXQtcm93LW5hbWVcIj57eyBwcmVzZXQubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAocHJlc2V0LmlkID09PSBhY3RpdmVQcmVzZXRJZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicnB0LXByZXNldC1hY3RpdmUtdGFnXCI+QWN0aXZlPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJycHQtYnRuLWRlbC1wcmVzZXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZVByZXNldChwcmVzZXQuaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwiRGVsZXRlIHZpZXcgcHJlc2V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJEZWxldGUgdmlldyBwcmVzZXRcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxycHQtaWNvbiBuYW1lPVwidHJhc2hcIiBbc2l6ZV09XCIxMlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicnB0LW1vZGFsLWZvb3RlclwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJycHQtYnRuLWNhbmNlbFwiIChjbGljayk9XCJjbG9zZVNhdmVQcmVzZXRNb2RhbCgpXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cInJwdC1idG4tY29uZmlybVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhbmV3UHJlc2V0TmFtZSgpLnRyaW0oKVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzYXZlQ3VycmVudFByZXNldCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgU2F2ZSBWaWV3XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICA6aG9zdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1ycHQtZm9udC1mYW1pbHksIGluaGVyaXQpO1xuICAgIH1cbiAgICAucnB0LWZhY2FkZS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5ycHQtZmFjYWRlLXRvb2xiYXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBnYXA6IDEycHg7XG4gICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnB0LWNvbG9yLWJvcmRlci1zdWJ0bGUsICNlMmU4ZjApO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcnB0LWJvcmRlci1yYWRpdXMtbGcsIDhweCk7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1ycHQtYm94LXNoYWRvdy14cywgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNCkpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgLnJwdC10b29sYmFyLWxlZnQsIC5ycHQtdG9vbGJhci1yaWdodCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgLnJwdC1yZXBvcnQtdGl0bGUtYmFkZ2Uge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA2cHg7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xuICAgIH1cbiAgICAucnB0LXRpdGxlLWRvdCB7XG4gICAgICB3aWR0aDogOHB4O1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ycHQtY29sb3ItcHJpbWFyeSwgIzI1NjNlYik7XG4gICAgfVxuICAgIC5ycHQtcmVjb3JkLWNvdW50LWNoaXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjFmNWY5O1xuICAgICAgY29sb3I6ICM0NzU1Njk7XG4gICAgICBmb250LXNpemU6IDAuNzI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHBhZGRpbmc6IDNweCA4cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ycHQtYm9yZGVyLXJhZGl1cy1mdWxsLCA5OTk5cHgpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICB9XG4gICAgLnJwdC1jaGlwLWRvdCB7XG4gICAgICB3aWR0aDogNnB4O1xuICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTBiOTgxO1xuICAgIH1cbiAgICAucnB0LXByZXNldC1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA2cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJwdC1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICB9XG4gICAgLnJwdC1wcmVzZXQtbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA0cHg7XG4gICAgICBmb250LXNpemU6IDAuNzI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIH1cbiAgICAucnB0LXByZXNldC1zZWxlY3Qge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NiZDVlMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJwdC1ib3JkZXItcmFkaXVzLXNtLCA0cHgpO1xuICAgICAgcGFkZGluZzogM3B4IDhweDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzBmMTcyYTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXJwdC10cmFuc2l0aW9uLXNwZWVkLCAxNTBtcykgZWFzZTtcbiAgICB9XG4gICAgLnJwdC1wcmVzZXQtc2VsZWN0OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcnB0LWNvbG9yLXByaW1hcnksICMyNTYzZWIpO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXJwdC1jb2xvci1wcmltYXJ5LWZvY3VzLCByZ2JhKDM3LCA5OSwgMjM1LCAwLjI1KSk7XG4gICAgfVxuICAgIC5ycHQtYnRuLXNhdmUtdmlldyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDRweDtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXJwdC1jb2xvci1wcmltYXJ5LWxpZ2h0LCAjZWZmNmZmKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiZmRiZmU7XG4gICAgICBjb2xvcjogdmFyKC0tcnB0LWNvbG9yLXByaW1hcnksICMyNTYzZWIpO1xuICAgICAgZm9udC1zaXplOiAwLjcyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBwYWRkaW5nOiAzcHggOHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcnB0LWJvcmRlci1yYWRpdXMtc20sIDRweCk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tcnB0LXRyYW5zaXRpb24tc3BlZWQsIDE1MG1zKSBlYXNlO1xuICAgIH1cbiAgICAucnB0LWJ0bi1zYXZlLXZpZXc6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2RiZWFmZTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzkzYzVmZDtcbiAgICB9XG4gICAgLnJwdC1leHBvcnQtYnRuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogNXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcnB0LWJvcmRlci1yYWRpdXMsIDZweCk7XG4gICAgICBwYWRkaW5nOiA1cHggMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tcnB0LXRyYW5zaXRpb24tc3BlZWQsIDE1MG1zKSBlYXNlO1xuICAgIH1cbiAgICAucnB0LWV4cG9ydC1idG46ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC40NTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICAgIC5ycHQtZXhwb3J0LWV4Y2VsIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmMGZkZjQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJmN2QwO1xuICAgICAgY29sb3I6ICMxNTgwM2Q7XG4gICAgfVxuICAgIC5ycHQtZXhwb3J0LWV4Y2VsOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkY2ZjZTc7XG4gICAgICBib3JkZXItY29sb3I6ICM4NmVmYWM7XG4gICAgfVxuICAgIC5ycHQtZXhwb3J0LWNzdiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NiZDVlMTtcbiAgICAgIGNvbG9yOiAjMzM0MTU1O1xuICAgIH1cbiAgICAucnB0LWV4cG9ydC1jc3Y6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICAgYmFja2dyb3VuZDogI2YxZjVmOTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzk0YTNiODtcbiAgICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIH1cbiAgICAucnB0LWV4cG9ydC1wcmludCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWVmMmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M3ZDJmZTtcbiAgICAgIGNvbG9yOiAjNDMzOGNhO1xuICAgIH1cbiAgICAucnB0LWV4cG9ydC1wcmludDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTBlN2ZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYTViNGZjO1xuICAgIH1cbiAgICAvKiBNb2RhbCAqL1xuICAgIC5ycHQtbW9kYWwtYmFja2Ryb3Age1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuNDUpO1xuICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCk7XG4gICAgICB6LWluZGV4OiAxMTAwO1xuICAgIH1cbiAgICAucnB0LW1vZGFsLWRpYWxvZyB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgd2lkdGg6IG1pbig0NjBweCwgOTJ2dyk7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NiZDVlMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJwdC1ib3JkZXItcmFkaXVzLWxnLCA4cHgpO1xuICAgICAgYm94LXNoYWRvdzogMCAyMHB4IDI1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwIDhweCAxMHB4IC02cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgei1pbmRleDogMTEwMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGFuaW1hdGlvbjogcnB0LW1vZGFsLXBvcCAxNjBtcyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbiAgICB9XG4gICAgQGtleWZyYW1lcyBycHQtbW9kYWwtcG9wIHtcbiAgICAgIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNDYlKSBzY2FsZSgwLjk3KTsgfVxuICAgICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTsgfVxuICAgIH1cbiAgICAucnB0LW1vZGFsLWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IDE0cHggMThweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICB9XG4gICAgLnJwdC1tb2RhbC1oZWFkZXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBjb2xvcjogdmFyKC0tcnB0LWNvbG9yLXByaW1hcnksICMyNTYzZWIpO1xuICAgIH1cbiAgICAucnB0LW1vZGFsLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzBmMTcyYTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLnJwdC1tb2RhbC1jbG9zZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIGhlaWdodDogMjhweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMTIwbXMgZWFzZTtcbiAgICB9XG4gICAgLnJwdC1tb2RhbC1jbG9zZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTJlOGYwO1xuICAgICAgY29sb3I6ICMwZjE3MmE7XG4gICAgfVxuICAgIC5ycHQtbW9kYWwtYm9keSB7XG4gICAgICBwYWRkaW5nOiAxOHB4O1xuICAgIH1cbiAgICAucnB0LW1vZGFsLWhpbnQge1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICAgIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIH1cbiAgICAucnB0LWlucHV0LWdyb3VwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuICAgIC5ycHQtZmllbGQtbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICMzMzQxNTU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgfVxuICAgIC5ycHQtbW9kYWwtaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NiZDVlMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJwdC1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXJwdC10cmFuc2l0aW9uLXNwZWVkLCAxNTBtcykgZWFzZTtcbiAgICB9XG4gICAgLnJwdC1tb2RhbC1pbnB1dDpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXJwdC1jb2xvci1wcmltYXJ5LCAjMjU2M2ViKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1ycHQtY29sb3ItcHJpbWFyeS1mb2N1cywgcmdiYSgzNywgOTksIDIzNSwgMC4yNSkpO1xuICAgIH1cbiAgICAucnB0LWV4aXN0aW5nLXByZXNldHMge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG4gICAgLnJwdC1leGlzdGluZy1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC43MjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICM2NDc0OGI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIH1cbiAgICAucnB0LXByZXNldHMtbGlzdCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxNDBweDtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogNnB4O1xuICAgIH1cbiAgICAucnB0LXByZXNldC1yb3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIH1cbiAgICAucnB0LXByZXNldC1pbmZvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogOHB4O1xuICAgIH1cbiAgICAucnB0LXByZXNldC1yb3ctbmFtZSB7XG4gICAgICBmb250LXNpemU6IDAuNzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjMWUyOTNiO1xuICAgIH1cbiAgICAucnB0LXByZXNldC1hY3RpdmUtdGFnIHtcbiAgICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZGJlYWZlO1xuICAgICAgY29sb3I6ICMxZDRlZDg7XG4gICAgICBwYWRkaW5nOiAxcHggNnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIH1cbiAgICAucnB0LWJ0bi1kZWwtcHJlc2V0IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6ICM5NGEzYjg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDEyMG1zIGVhc2U7XG4gICAgfVxuICAgIC5ycHQtYnRuLWRlbC1wcmVzZXQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZTJlMjtcbiAgICAgIGNvbG9yOiAjZGMyNjI2O1xuICAgIH1cbiAgICAucnB0LW1vZGFsLWZvb3RlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBwYWRkaW5nOiAxMnB4IDE4cHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZThmMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgfVxuICAgIC5ycHQtYnRuLWNhbmNlbCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NiZDVlMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJwdC1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICAgICAgcGFkZGluZzogNnB4IDE0cHg7XG4gICAgICBmb250LXNpemU6IDAuNzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjNDc1NTY5O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDEyMG1zIGVhc2U7XG4gICAgfVxuICAgIC5ycHQtYnRuLWNhbmNlbDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjFmNWY5O1xuICAgICAgY29sb3I6ICMwZjE3MmE7XG4gICAgfVxuICAgIC5ycHQtYnRuLWNvbmZpcm0ge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcnB0LWNvbG9yLXByaW1hcnksICMyNTYzZWIpO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ycHQtYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgICAgIHBhZGRpbmc6IDZweCAxNnB4O1xuICAgICAgZm9udC1zaXplOiAwLjc3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMTIwbXMgZWFzZTtcbiAgICB9XG4gICAgLnJwdC1idG4tY29uZmlybTpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ycHQtY29sb3ItcHJpbWFyeS1ob3ZlciwgIzFkNGVkOCk7XG4gICAgfVxuICAgIC5ycHQtYnRuLWNvbmZpcm06ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIGBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUnB0UmVwb3J0Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBleHBvcnRTZXJ2aWNlID0gaW5qZWN0KFJlcG9ydEV4cG9ydFNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHBlcnNpc3RlbmNlID0gaW5qZWN0KFJlcG9ydFBlcnNpc3RlbmNlQWRhcHRlciwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICByZWFkb25seSBpZCA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgcmVwb3J0ID0gaW5wdXQ8UmVwb3J0RGVmaW5pdGlvbiB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBwYXJhbWV0ZXJzID0gaW5wdXQ8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+KHt9KTtcbiAgcmVhZG9ubHkgc2hvd0V4cG9ydCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICByZWFkb25seSBlbmFibGVQcmVzZXRzID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIHJlYWRvbmx5IGF1dG9FeGVjdXRlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcmVhZG9ubHkgcm93Q2xpY2sgPSBvdXRwdXQ8e1xuICAgIHJvdzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgcGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgYWN0aW9uPzogR3JpZFJvd0NsaWNrQWN0aW9uO1xuICB9PigpO1xuICByZWFkb25seSBkYXRhTG9hZGVkID0gb3V0cHV0PHVua25vd25bXT4oKTtcbiAgcmVhZG9ubHkgZ3JpZFN0YXRlQ2hhbmdlID0gb3V0cHV0PGFueT4oKTtcbiAgcmVhZG9ubHkgcHJlc2V0U2F2ZWQgPSBvdXRwdXQ8eyBuYW1lOiBzdHJpbmc7IHByZXNldDogUmVwb3J0Vmlld1ByZXNldCB9PigpO1xuICByZWFkb25seSBwcmVzZXRDaGFuZ2UgPSBvdXRwdXQ8UmVwb3J0Vmlld1ByZXNldCB8IG51bGw+KCk7XG4gIHJlYWRvbmx5IGV4cG9ydFJlcXVlc3RlZCA9IG91dHB1dDxhbnk+KCk7XG4gIHJlYWRvbmx5IHByaW50UmVxdWVzdGVkID0gb3V0cHV0PGFueT4oKTtcblxuICByZWFkb25seSBydW50aW1lQ29tcG9uZW50ID0gdmlld0NoaWxkKFJlcG9ydFJ1bnRpbWVDb21wb25lbnQpO1xuXG4gIC8vIFByZXNldCBzdGF0ZXNcbiAgcmVhZG9ubHkgYWN0aXZlUHJlc2V0SWQgPSBzaWduYWw8c3RyaW5nPignZGVmYXVsdCcpO1xuICByZWFkb25seSBpc1NhdmVQcmVzZXRNb2RhbE9wZW4gPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBuZXdQcmVzZXROYW1lID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICByZWFkb25seSBsYXRlc3RHcmlkU3RhdGUgPSBzaWduYWw8UmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgY3VzdG9tUHJlc2V0cyA9IHNpZ25hbDxSZXBvcnRWaWV3UHJlc2V0W10+KFtdKTtcblxuICByZWFkb25seSBjdXJyZW50RGVmaW5pdGlvbiA9IGNvbXB1dGVkPFJlcG9ydERlZmluaXRpb24gfCBudWxsPigoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMucmVwb3J0KCk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGFjdGl2ZURlZmluaXRpb24gPSBjb21wdXRlZDxSZXBvcnREZWZpbml0aW9uIHwgbnVsbD4oKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnJlcG9ydCgpID8/IHRoaXMucnVudGltZUNvbXBvbmVudCgpPy5jdXJyZW50RGVmaW5pdGlvbigpID8/IG51bGw7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHJlY29yZENvdW50ID0gY29tcHV0ZWQ8bnVtYmVyPigoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMucnVudGltZUNvbXBvbmVudCgpPy5yZXN1bHREYXRhKCk/Lmxlbmd0aCA/PyAwO1xuICB9KTtcblxuICByZWFkb25seSBzaG93VG9vbGJhciA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93RXhwb3J0KCkgfHwgdGhpcy5lbmFibGVQcmVzZXRzKCk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHNhdmVkUHJlc2V0cyA9IGNvbXB1dGVkPFJlcG9ydFZpZXdQcmVzZXRbXT4oKCkgPT4ge1xuICAgIGNvbnN0IGRlZiA9IHRoaXMuYWN0aXZlRGVmaW5pdGlvbigpO1xuICAgIGNvbnN0IGluaXRpYWxQcmVzZXRzID0gKChkZWY/LmdyaWQ/Lm9wdGlvbnMgYXMgYW55KT8ucHJlc2V0cyBhcyBSZXBvcnRWaWV3UHJlc2V0W10pID8/IFtdO1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8c3RyaW5nLCBSZXBvcnRWaWV3UHJlc2V0PigpO1xuICAgIGZvciAoY29uc3QgcCBvZiBpbml0aWFsUHJlc2V0cykge1xuICAgICAgaWYgKHAgJiYgcC5pZCkgbWFwLnNldChwLmlkLCBwKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBwIG9mIHRoaXMuY3VzdG9tUHJlc2V0cygpKSB7XG4gICAgICBpZiAocCAmJiBwLmlkKSBtYXAuc2V0KHAuaWQsIHApO1xuICAgIH1cbiAgICByZXR1cm4gQXJyYXkuZnJvbShtYXAudmFsdWVzKCkpO1xuICB9KTtcblxuICBvblJvd0FjdGlvblRyaWdnZXJlZChldmVudDoge1xuICAgIGFjdGlvbjogR3JpZFJvd0NsaWNrQWN0aW9uO1xuICAgIHJvdzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgcGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIH0pOiB2b2lkIHtcbiAgICB0aGlzLnJvd0NsaWNrLmVtaXQoe1xuICAgICAgcm93OiBldmVudC5yb3csXG4gICAgICBwYXJhbWV0ZXJzOiBldmVudC5wYXJhbWV0ZXJzLFxuICAgICAgYWN0aW9uOiBldmVudC5hY3Rpb24sXG4gICAgfSk7XG4gIH1cblxuICBvbkdyaWRTdGF0ZUNoYW5nZWQoc3RhdGU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMubGF0ZXN0R3JpZFN0YXRlLnNldChzdGF0ZSk7XG4gICAgdGhpcy5ncmlkU3RhdGVDaGFuZ2UuZW1pdChzdGF0ZSk7XG4gIH1cblxuICBvblNlbGVjdFByZXNldChwcmVzZXRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVQcmVzZXRJZC5zZXQocHJlc2V0SWQpO1xuICAgIGlmIChwcmVzZXRJZCA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICB0aGlzLnByZXNldENoYW5nZS5lbWl0KG51bGwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHByZXNldCA9IHRoaXMuc2F2ZWRQcmVzZXRzKCkuZmluZCgocCkgPT4gcC5pZCA9PT0gcHJlc2V0SWQpO1xuICAgIGlmIChwcmVzZXQpIHtcbiAgICAgIGlmIChwcmVzZXQuZ3JpZFN0YXRlKSB7XG4gICAgICAgIHRoaXMubGF0ZXN0R3JpZFN0YXRlLnNldChwcmVzZXQuZ3JpZFN0YXRlKTtcbiAgICAgICAgdGhpcy5ncmlkU3RhdGVDaGFuZ2UuZW1pdChwcmVzZXQuZ3JpZFN0YXRlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucHJlc2V0Q2hhbmdlLmVtaXQocHJlc2V0KTtcbiAgICB9XG4gIH1cblxuICBjb25maXJtU2F2ZVByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnNhdmVDdXJyZW50UHJlc2V0KCk7XG4gIH1cblxuICBleHBvcnRFeGNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uRXhwb3J0RXhjZWwoKTtcbiAgfVxuXG4gIGV4cG9ydENzdigpOiB2b2lkIHtcbiAgICB0aGlzLm9uRXhwb3J0Q3N2KCk7XG4gIH1cblxuICBwcmludCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uUHJpbnRSZXBvcnQoKTtcbiAgfVxuXG4gIG9wZW5TYXZlUHJlc2V0TW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy5uZXdQcmVzZXROYW1lLnNldCgnJyk7XG4gICAgdGhpcy5pc1NhdmVQcmVzZXRNb2RhbE9wZW4uc2V0KHRydWUpO1xuICB9XG5cbiAgY2xvc2VTYXZlUHJlc2V0TW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy5pc1NhdmVQcmVzZXRNb2RhbE9wZW4uc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHNhdmVDdXJyZW50UHJlc2V0KCk6IHZvaWQge1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5ld1ByZXNldE5hbWUoKS50cmltKCk7XG4gICAgaWYgKCFuYW1lKSByZXR1cm47XG5cbiAgICBjb25zdCBwcmVzZXRJZCA9IGBwcmVzZXRfJHtEYXRlLm5vdygpfWA7XG4gICAgY29uc3QgbmV3UHJlc2V0OiBSZXBvcnRWaWV3UHJlc2V0ID0ge1xuICAgICAgaWQ6IHByZXNldElkLFxuICAgICAgbmFtZSxcbiAgICAgIGdyaWRTdGF0ZTogdGhpcy5sYXRlc3RHcmlkU3RhdGUoKSA/PyB7fSxcbiAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgIH07XG5cbiAgICBjb25zdCBkZWYgPSB0aGlzLmFjdGl2ZURlZmluaXRpb24oKTtcbiAgICBpZiAoZGVmICYmIGRlZi5ncmlkKSB7XG4gICAgICBpZiAoIWRlZi5ncmlkLm9wdGlvbnMpIGRlZi5ncmlkLm9wdGlvbnMgPSB7fTtcbiAgICAgIGNvbnN0IGN1cnJlbnRQcmVzZXRzOiBSZXBvcnRWaWV3UHJlc2V0W10gPSAoZGVmLmdyaWQub3B0aW9ucyBhcyBhbnkpLnByZXNldHMgPz8gW107XG4gICAgICAoZGVmLmdyaWQub3B0aW9ucyBhcyBhbnkpLnByZXNldHMgPSBbLi4uY3VycmVudFByZXNldHMsIG5ld1ByZXNldF07XG5cbiAgICAgIGlmICh0aGlzLnBlcnNpc3RlbmNlICYmIGRlZi5pZCkge1xuICAgICAgICB0aGlzLnBlcnNpc3RlbmNlLnNhdmUoZGVmKS5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6ICgpID0+IHt9LFxuICAgICAgICAgIGVycm9yOiAoKSA9PiB7fSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5jdXN0b21QcmVzZXRzLnVwZGF0ZSgocHJldikgPT4gWy4uLnByZXYsIG5ld1ByZXNldF0pO1xuICAgIHRoaXMuYWN0aXZlUHJlc2V0SWQuc2V0KHByZXNldElkKTtcbiAgICB0aGlzLnByZXNldFNhdmVkLmVtaXQoeyBuYW1lLCBwcmVzZXQ6IG5ld1ByZXNldCB9KTtcbiAgICB0aGlzLmNsb3NlU2F2ZVByZXNldE1vZGFsKCk7XG4gIH1cblxuICBkZWxldGVQcmVzZXQocHJlc2V0SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChwcmVzZXRJZCA9PT0gJ2RlZmF1bHQnKSByZXR1cm47XG5cbiAgICB0aGlzLmN1c3RvbVByZXNldHMudXBkYXRlKChwcmV2KSA9PiBwcmV2LmZpbHRlcigocCkgPT4gcC5pZCAhPT0gcHJlc2V0SWQpKTtcblxuICAgIGNvbnN0IGRlZiA9IHRoaXMuYWN0aXZlRGVmaW5pdGlvbigpO1xuICAgIGlmIChkZWYgJiYgZGVmLmdyaWQgJiYgZGVmLmdyaWQub3B0aW9ucykge1xuICAgICAgY29uc3QgY3VycmVudCA9ICgoZGVmLmdyaWQub3B0aW9ucyBhcyBhbnkpLnByZXNldHMgYXMgUmVwb3J0Vmlld1ByZXNldFtdKSA/PyBbXTtcbiAgICAgIChkZWYuZ3JpZC5vcHRpb25zIGFzIGFueSkucHJlc2V0cyA9IGN1cnJlbnQuZmlsdGVyKChwKSA9PiBwLmlkICE9PSBwcmVzZXRJZCk7XG5cbiAgICAgIGlmICh0aGlzLnBlcnNpc3RlbmNlICYmIGRlZi5pZCkge1xuICAgICAgICB0aGlzLnBlcnNpc3RlbmNlLnNhdmUoZGVmKS5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6ICgpID0+IHt9LFxuICAgICAgICAgIGVycm9yOiAoKSA9PiB7fSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYWN0aXZlUHJlc2V0SWQoKSA9PT0gcHJlc2V0SWQpIHtcbiAgICAgIHRoaXMub25TZWxlY3RQcmVzZXQoJ2RlZmF1bHQnKTtcbiAgICB9XG4gIH1cblxuICBvbkV4cG9ydEV4Y2VsKCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnJ1bnRpbWVDb21wb25lbnQoKT8ucmVzdWx0RGF0YSgpO1xuICAgIGlmICghZGF0YSB8fCAhQXJyYXkuaXNBcnJheShkYXRhKSB8fCBkYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgIGNvbnN0IGRlZiA9IHRoaXMuYWN0aXZlRGVmaW5pdGlvbigpO1xuICAgIGNvbnN0IGNvbHMgPSBkZWY/LmdyaWQ/LmNvbHVtbnMubWFwKChjKSA9PiAoeyBmaWVsZDogYy5maWVsZCwgaGVhZGVyOiBjLmxhYmVsIH0pKTtcbiAgICB0aGlzLmV4cG9ydFNlcnZpY2UuZXhwb3J0RXhjZWwoZGF0YSBhcyBhbnksIHtcbiAgICAgIGZpbGVOYW1lOiBkZWY/Lm5hbWUgPyBgJHtkZWYubmFtZX0ueGxzYCA6ICdyZXBvcnQueGxzJyxcbiAgICAgIGNvbHVtbnM6IGNvbHMsXG4gICAgICBicmFuZGVkSGVhZGVyOiB7IHJlcG9ydFRpdGxlOiBkZWY/Lm5hbWUgfSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uRXhwb3J0Q3N2KCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnJ1bnRpbWVDb21wb25lbnQoKT8ucmVzdWx0RGF0YSgpO1xuICAgIGlmICghZGF0YSB8fCAhQXJyYXkuaXNBcnJheShkYXRhKSB8fCBkYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgIGNvbnN0IGRlZiA9IHRoaXMuYWN0aXZlRGVmaW5pdGlvbigpO1xuICAgIGNvbnN0IGNvbHMgPSBkZWY/LmdyaWQ/LmNvbHVtbnMubWFwKChjKSA9PiAoeyBmaWVsZDogYy5maWVsZCwgaGVhZGVyOiBjLmxhYmVsIH0pKTtcbiAgICB0aGlzLmV4cG9ydFNlcnZpY2UuZXhwb3J0Q3N2KGRhdGEgYXMgYW55LCB7XG4gICAgICBmaWxlTmFtZTogZGVmPy5uYW1lID8gYCR7ZGVmLm5hbWV9LmNzdmAgOiAncmVwb3J0LmNzdicsXG4gICAgICBjb2x1bW5zOiBjb2xzLFxuICAgICAgYnJhbmRlZEhlYWRlcjogeyByZXBvcnRUaXRsZTogZGVmPy5uYW1lIH0sXG4gICAgfSk7XG4gIH1cblxuICBvblByaW50UmVwb3J0KCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnJ1bnRpbWVDb21wb25lbnQoKT8ucmVzdWx0RGF0YSgpO1xuICAgIGlmICghZGF0YSB8fCAhQXJyYXkuaXNBcnJheShkYXRhKSB8fCBkYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgIGNvbnN0IGRlZiA9IHRoaXMuYWN0aXZlRGVmaW5pdGlvbigpO1xuICAgIGNvbnN0IGNvbHMgPSBkZWY/LmdyaWQ/LmNvbHVtbnMubWFwKChjKSA9PiAoeyBmaWVsZDogYy5maWVsZCwgaGVhZGVyOiBjLmxhYmVsIH0pKTtcbiAgICB0aGlzLmV4cG9ydFNlcnZpY2UucHJpbnRSZXBvcnQoZGF0YSBhcyBhbnksIHtcbiAgICAgIHRpdGxlOiBkZWY/Lm5hbWUgfHwgJ1JlcG9ydCBQcmludCBQcmV2aWV3JyxcbiAgICAgIGNvbHVtbnM6IGNvbHMsXG4gICAgICBicmFuZGVkSGVhZGVyOiB7IHJlcG9ydFRpdGxlOiBkZWY/Lm5hbWUgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
545
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnB0LXJlcG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9id2F5cy1yZXBvcnQvc3JjL2xpYi9mZWF0dXJlcy9ydW50aW1lL3JwdC1yZXBvcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDdkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seURBQXlELENBQUM7OztBQXdpQm5HLE1BQU0sT0FBTyxrQkFBa0I7SUFDWixhQUFhLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDNUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTNFLEVBQUUsR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sR0FBRyxLQUFLLENBQTBCLElBQUksQ0FBQyxDQUFDO0lBQzlDLFVBQVUsR0FBRyxLQUFLLENBQTBCLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELFVBQVUsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7SUFDbEMsYUFBYSxHQUFHLEtBQUssQ0FB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QUFFLFdBQVcsMGdDQUFFLHNCQUFzQixpVUFBRSxnQkFBZ0I7OzRGQTJoQmxFLGtCQUFrQjtrQkE5aEI5QixTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFLGdCQUFnQixDQUFDLFlBQ3BFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEtULG1CQTRXZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJlcG9ydERlZmluaXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscy9yZXBvcnQtZGVmaW5pdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBHcmlkUm93Q2xpY2tBY3Rpb24gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscy9yZXBvcnQtZ3JpZC5tb2RlbCc7XG5pbXBvcnQgeyBSZXBvcnRFeHBvcnRTZXJ2aWNlIH0gZnJvbSAnLi4vZXhwb3J0L3NlcnZpY2VzL3JlcG9ydC1leHBvcnQuc2VydmljZSc7XG5pbXBvcnQgeyBSZXBvcnRSdW50aW1lQ29tcG9uZW50IH0gZnJvbSAnLi9yZXBvcnQtcnVudGltZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUnB0SWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ByaW1pdGl2ZXMvY29tcG9uZW50cy9pY29uL3JwdC1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXBvcnRQZXJzaXN0ZW5jZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9kYXRhLWFjY2Vzcy9jb250cmFjdHMvcmVwb3J0LXBlcnNpc3RlbmNlLmNvbnRyYWN0JztcblxuZXhwb3J0IGludGVyZmFjZSBSZXBvcnRWaWV3UHJlc2V0IHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBncmlkU3RhdGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBmb3JtVmFsdWVzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGNyZWF0ZWRBdD86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnB0LXJlcG9ydCwgcnB0LXZpZXcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVwb3J0UnVudGltZUNvbXBvbmVudCwgUnB0SWNvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInJwdC1mYWNhZGUtY29udGFpbmVyXCI+XG4gICAgICA8IS0tIFRvcCBBY3Rpb24gJiBQcmVzZXQgQmFyIC0tPlxuICAgICAgQGlmIChzaG93VG9vbGJhcigpKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJycHQtZmFjYWRlLXRvb2xiYXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicnB0LXRvb2xiYXItbGVmdFwiPlxuICAgICAgICAgICAgQGlmIChhY3RpdmVEZWZpbml0aW9uKCk/Lm5hbWUpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJwdC1yZXBvcnQtdGl0bGUtYmFkZ2VcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJwdC10aXRsZS1kb3RcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtdGl0bGUtdGV4dFwiPnt7IGFjdGl2ZURlZmluaXRpb24oKT8ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAocmVjb3JkQ291bnQoKSA+IDApIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtcmVjb3JkLWNvdW50LWNoaXBcIiB0aXRsZT1cIkN1cnJlbnQgZGF0YXNldCBzaXplXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtY2hpcC1kb3RcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtdGFidWxhci1udW1zXCI+e3sgcmVjb3JkQ291bnQoKSB9fSByb3dzPC9zcGFuPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDwhLS0gU2F2ZWQgVmlld3MgLyBQcmVzZXQgU3dpdGNoZXIgLS0+XG4gICAgICAgICAgICBAaWYgKGVuYWJsZVByZXNldHMoKSkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicnB0LXByZXNldC1jb250cm9sXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwicnB0LXByZXNldC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgPHJwdC1pY29uIG5hbWU9XCJib29rbWFya1wiIFtzaXplXT1cIjEyXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPlZpZXc6PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJycHQtcHJlc2V0LXNlbGVjdFwiXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJhY3RpdmVQcmVzZXRJZCgpXCJcbiAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uU2VsZWN0UHJlc2V0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNlbGVjdCByZXBvcnQgdmlldyBwcmVzZXRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJkZWZhdWx0XCI+RGVmYXVsdCBWaWV3PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICBAZm9yIChwcmVzZXQgb2Ygc2F2ZWRQcmVzZXRzKCk7IHRyYWNrIHByZXNldC5pZCkge1xuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCJwcmVzZXQuaWRcIj57eyBwcmVzZXQubmFtZSB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJycHQtYnRuLXNhdmUtdmlld1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblNhdmVQcmVzZXRNb2RhbCgpXCJcbiAgICAgICAgICAgICAgICAgIHRpdGxlPVwiU2F2ZSBjdXJyZW50IGdyaWQgdmlldyBvciBtYW5hZ2UgcHJlc2V0c1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHJwdC1pY29uIG5hbWU9XCJwbHVzXCIgW3NpemVdPVwiMTFcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+U2F2ZSBWaWV3PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDwhLS0gRXhwb3J0IEFjdGlvbnMgLS0+XG4gICAgICAgICAgQGlmIChzaG93RXhwb3J0KCkpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJycHQtdG9vbGJhci1yaWdodFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJycHQtZXhwb3J0LWJ0biBycHQtZXhwb3J0LWV4Y2VsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25FeHBvcnRFeGNlbCgpXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXJlY29yZENvdW50KClcIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwiRXhwb3J0IHJlc3VsdCB0YWJsZSB0byBFeGNlbCBzcHJlYWRzaGVldCAoLnhscylcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHJwdC1pY29uIG5hbWU9XCJmaWxlLXRleHRcIiBbc2l6ZV09XCIxM1wiIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4+RXhjZWw8L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJycHQtZXhwb3J0LWJ0biBycHQtZXhwb3J0LWNzdlwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRXhwb3J0Q3N2KClcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhcmVjb3JkQ291bnQoKVwiXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJFeHBvcnQgcmVzdWx0IHRhYmxlIHRvIENTViBmaWxlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxycHQtaWNvbiBuYW1lPVwiZG93bmxvYWRcIiBbc2l6ZV09XCIxM1wiIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4+Q1NWPC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicnB0LWV4cG9ydC1idG4gcnB0LWV4cG9ydC1wcmludFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUHJpbnRSZXBvcnQoKVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFyZWNvcmRDb3VudCgpXCJcbiAgICAgICAgICAgICAgICB0aXRsZT1cIlByaW50IHJlcG9ydCB3aXRoIGJyYW5kZWQgbGF5b3V0XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxycHQtaWNvbiBuYW1lPVwicHJpbnRlclwiIFtzaXplXT1cIjEzXCIgLz5cbiAgICAgICAgICAgICAgICA8c3Bhbj5QcmludDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICA8IS0tIENvcmUgUnVudGltZSBFbmdpbmUgLS0+XG4gICAgICA8cnB0LXJlcG9ydC1ydW50aW1lXG4gICAgICAgICNydW50aW1lUmVmXG4gICAgICAgIFtyZXBvcnRJZF09XCJpZCgpXCJcbiAgICAgICAgW3JlcG9ydF09XCJjdXJyZW50RGVmaW5pdGlvbigpXCJcbiAgICAgICAgKHJvd0FjdGlvblRyaWdnZXJlZCk9XCJvblJvd0FjdGlvblRyaWdnZXJlZCgkZXZlbnQpXCJcbiAgICAgICAgKGdyaWRTdGF0ZUNoYW5nZSk9XCJvbkdyaWRTdGF0ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChleHBvcnRSZXF1ZXN0ZWQpPVwiZXhwb3J0UmVxdWVzdGVkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChwcmludFJlcXVlc3RlZCk9XCJwcmludFJlcXVlc3RlZC5lbWl0KCRldmVudClcIlxuICAgICAgLz5cblxuICAgICAgPCEtLSBTYXZlIFZpZXcgUHJlc2V0IE1vZGFsIC0tPlxuICAgICAgQGlmIChpc1NhdmVQcmVzZXRNb2RhbE9wZW4oKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwicnB0LW1vZGFsLWJhY2tkcm9wXCIgKGNsaWNrKT1cImNsb3NlU2F2ZVByZXNldE1vZGFsKClcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJwdC1tb2RhbC1kaWFsb2dcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIiBhcmlhLWxhYmVsPVwiU2F2ZSBWaWV3IFByZXNldFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJycHQtbW9kYWwtaGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicnB0LW1vZGFsLWhlYWRlci10aXRsZVwiPlxuICAgICAgICAgICAgICA8cnB0LWljb24gbmFtZT1cImJvb2ttYXJrXCIgW3NpemVdPVwiMTZcIiAvPlxuICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJycHQtbW9kYWwtdGl0bGVcIj5DdXN0b20gVmlldyBQcmVzZXRzPC9oND5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJycHQtbW9kYWwtY2xvc2VcIiAoY2xpY2spPVwiY2xvc2VTYXZlUHJlc2V0TW9kYWwoKVwiIGFyaWEtbGFiZWw9XCJDbG9zZSBtb2RhbFwiPuKclTwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJycHQtbW9kYWwtYm9keVwiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJycHQtbW9kYWwtaGludFwiPlxuICAgICAgICAgICAgICBTYXZlIHlvdXIgYWN0aXZlIGNvbHVtbiBvcmRlcmluZywgd2lkdGhzLCBzb3J0aW5ncywgYW5kIGZpbHRlcnMgaW50byBhIHJldXNhYmxlIHZpZXcgcHJlc2V0LlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicnB0LWlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInJwdC1maWVsZC1sYWJlbFwiPk5ldyBWaWV3IE5hbWU8L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJycHQtbW9kYWwtaW5wdXRcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiZS5nLiBIaWdoIFZhbHVlIFRyYW5zYWN0aW9ucyAtIFEzXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJuZXdQcmVzZXROYW1lKClcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm5ld1ByZXNldE5hbWUuc2V0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInNhdmVDdXJyZW50UHJlc2V0KClcIlxuICAgICAgICAgICAgICAgIGF1dG9mb2N1c1xuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS0gRXhpc3RpbmcgUHJlc2V0cyBNYW5hZ2VtZW50IExpc3QgLS0+XG4gICAgICAgICAgICBAaWYgKHNhdmVkUHJlc2V0cygpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJwdC1leGlzdGluZy1wcmVzZXRzXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtZXhpc3RpbmctbGFiZWxcIj5TYXZlZCBWaWV3cyBpbiB0aGlzIHJlcG9ydDo8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJwdC1wcmVzZXRzLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgIEBmb3IgKHByZXNldCBvZiBzYXZlZFByZXNldHMoKTsgdHJhY2sgcHJlc2V0LmlkKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJycHQtcHJlc2V0LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJycHQtcHJlc2V0LWluZm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicnB0LXByZXNldC1yb3ctbmFtZVwiPnt7IHByZXNldC5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChwcmVzZXQuaWQgPT09IGFjdGl2ZVByZXNldElkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtcHJlc2V0LWFjdGl2ZS10YWdcIj5BY3RpdmU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInJwdC1idG4tZGVsLXByZXNldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlUHJlc2V0KHByZXNldC5pZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJEZWxldGUgdmlldyBwcmVzZXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkRlbGV0ZSB2aWV3IHByZXNldFwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHJwdC1pY29uIG5hbWU9XCJ0cmFzaFwiIFtzaXplXT1cIjEyXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJycHQtbW9kYWwtZm9vdGVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInJwdC1idG4tY2FuY2VsXCIgKGNsaWNrKT1cImNsb3NlU2F2ZVByZXNldE1vZGFsKClcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwicnB0LWJ0bi1jb25maXJtXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFuZXdQcmVzZXROYW1lKCkudHJpbSgpXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNhdmVDdXJyZW50UHJlc2V0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBTYXZlIFZpZXdcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIDpob3N0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLXJwdC1mb250LWZhbWlseSwgaW5oZXJpdCk7XG4gICAgfVxuICAgIC5ycHQtZmFjYWRlLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLnJwdC1mYWNhZGUtdG9vbGJhciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGdhcDogMTJweDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ycHQtY29sb3ItYm9yZGVyLXN1YnRsZSwgI2UyZThmMCk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ycHQtYm9yZGVyLXJhZGl1cy1sZywgOHB4KTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXJwdC1ib3gtc2hhZG93LXhzLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA0KSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAucnB0LXRvb2xiYXItbGVmdCwgLnJwdC10b29sYmFyLXJpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxMHB4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAucnB0LXJlcG9ydC10aXRsZS1iYWRnZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDZweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMwZjE3MmE7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gICAgfVxuICAgIC5ycHQtdGl0bGUtZG90IHtcbiAgICAgIHdpZHRoOiA4cHg7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXJwdC1jb2xvci1wcmltYXJ5LCAjMjU2M2ViKTtcbiAgICB9XG4gICAgLnJwdC1yZWNvcmQtY291bnQtY2hpcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDVweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmMWY1Zjk7XG4gICAgICBjb2xvcjogIzQ3NTU2OTtcbiAgICAgIGZvbnQtc2l6ZTogMC43MjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgcGFkZGluZzogM3B4IDhweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJwdC1ib3JkZXItcmFkaXVzLWZ1bGwsIDk5OTlweCk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIH1cbiAgICAucnB0LWNoaXAtZG90IHtcbiAgICAgIHdpZHRoOiA2cHg7XG4gICAgICBoZWlnaHQ6IDZweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6ICMxMGI5ODE7XG4gICAgfVxuICAgIC5ycHQtcHJlc2V0LWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDZweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcnB0LWJvcmRlci1yYWRpdXMsIDZweCk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIH1cbiAgICAucnB0LXByZXNldC1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDRweDtcbiAgICAgIGZvbnQtc2l6ZTogMC43MjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICM2NDc0OGI7XG4gICAgfVxuICAgIC5ycHQtcHJlc2V0LXNlbGVjdCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2JkNWUxO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcnB0LWJvcmRlci1yYWRpdXMtc20sIDRweCk7XG4gICAgICBwYWRkaW5nOiAzcHggOHB4O1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tcnB0LXRyYW5zaXRpb24tc3BlZWQsIDE1MG1zKSBlYXNlO1xuICAgIH1cbiAgICAucnB0LXByZXNldC1zZWxlY3Q6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ycHQtY29sb3ItcHJpbWFyeSwgIzI1NjNlYik7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tcnB0LWNvbG9yLXByaW1hcnktZm9jdXMsIHJnYmEoMzcsIDk5LCAyMzUsIDAuMjUpKTtcbiAgICB9XG4gICAgLnJwdC1idG4tc2F2ZS12aWV3IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogNHB4O1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcnB0LWNvbG9yLXByaW1hcnktbGlnaHQsICNlZmY2ZmYpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JmZGJmZTtcbiAgICAgIGNvbG9yOiB2YXIoLS1ycHQtY29sb3ItcHJpbWFyeSwgIzI1NjNlYik7XG4gICAgICBmb250LXNpemU6IDAuNzI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHBhZGRpbmc6IDNweCA4cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ycHQtYm9yZGVyLXJhZGl1cy1zbSwgNHB4KTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1ycHQtdHJhbnNpdGlvbi1zcGVlZCwgMTUwbXMpIGVhc2U7XG4gICAgfVxuICAgIC5ycHQtYnRuLXNhdmUtdmlldzpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZGJlYWZlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjOTNjNWZkO1xuICAgIH1cbiAgICAucnB0LWV4cG9ydC1idG4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA1cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ycHQtYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgICAgIHBhZGRpbmc6IDVweCAxMnB4O1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1ycHQtdHJhbnNpdGlvbi1zcGVlZCwgMTUwbXMpIGVhc2U7XG4gICAgfVxuICAgIC5ycHQtZXhwb3J0LWJ0bjpkaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjQ1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gICAgLnJwdC1leHBvcnQtZXhjZWwge1xuICAgICAgYmFja2dyb3VuZDogI2YwZmRmNDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmY3ZDA7XG4gICAgICBjb2xvcjogIzE1ODAzZDtcbiAgICB9XG4gICAgLnJwdC1leHBvcnQtZXhjZWw6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICAgYmFja2dyb3VuZDogI2RjZmNlNztcbiAgICAgIGJvcmRlci1jb2xvcjogIzg2ZWZhYztcbiAgICB9XG4gICAgLnJwdC1leHBvcnQtY3N2IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2JkNWUxO1xuICAgICAgY29sb3I6ICMzMzQxNTU7XG4gICAgfVxuICAgIC5ycHQtZXhwb3J0LWNzdjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjFmNWY5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjOTRhM2I4O1xuICAgICAgY29sb3I6ICMwZjE3MmE7XG4gICAgfVxuICAgIC5ycHQtZXhwb3J0LXByaW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICNlZWYyZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzdkMmZlO1xuICAgICAgY29sb3I6ICM0MzM4Y2E7XG4gICAgfVxuICAgIC5ycHQtZXhwb3J0LXByaW50OmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlMGU3ZmY7XG4gICAgICBib3JkZXItY29sb3I6ICNhNWI0ZmM7XG4gICAgfVxuICAgIC8qIE1vZGFsICovXG4gICAgLnJwdC1tb2RhbC1iYWNrZHJvcCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTUsIDIzLCA0MiwgMC40NSk7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNnB4KTtcbiAgICAgIHotaW5kZXg6IDExMDA7XG4gICAgfVxuICAgIC5ycHQtbW9kYWwtZGlhbG9nIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB3aWR0aDogbWluKDQ2MHB4LCA5MnZ3KTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2JkNWUxO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcnB0LWJvcmRlci1yYWRpdXMtbGcsIDhweCk7XG4gICAgICBib3gtc2hhZG93OiAwIDIwcHggMjVweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgOHB4IDEwcHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICB6LWluZGV4OiAxMTAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYW5pbWF0aW9uOiBycHQtbW9kYWwtcG9wIDE2MG1zIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHJwdC1tb2RhbC1wb3Age1xuICAgICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC00NiUpIHNjYWxlKDAuOTcpOyB9XG4gICAgICB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpOyB9XG4gICAgfVxuICAgIC5ycHQtbW9kYWwtaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcGFkZGluZzogMTRweCAxOHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIH1cbiAgICAucnB0LW1vZGFsLWhlYWRlci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDhweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1ycHQtY29sb3ItcHJpbWFyeSwgIzI1NjNlYik7XG4gICAgfVxuICAgIC5ycHQtbW9kYWwtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAucnB0LW1vZGFsLWNsb3NlIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6ICM2NDc0OGI7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxMjBtcyBlYXNlO1xuICAgIH1cbiAgICAucnB0LW1vZGFsLWNsb3NlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlMmU4ZjA7XG4gICAgICBjb2xvcjogIzBmMTcyYTtcbiAgICB9XG4gICAgLnJwdC1tb2RhbC1ib2R5IHtcbiAgICAgIHBhZGRpbmc6IDE4cHg7XG4gICAgfVxuICAgIC5ycHQtbW9kYWwtaGludCB7XG4gICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgICAgbWFyZ2luOiAwIDAgMTZweCAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgfVxuICAgIC5ycHQtaW5wdXQtZ3JvdXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB9XG4gICAgLnJwdC1maWVsZC1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogIzMzNDE1NTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICB9XG4gICAgLnJwdC1tb2RhbC1pbnB1dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2JkNWUxO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcnB0LWJvcmRlci1yYWRpdXMsIDZweCk7XG4gICAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tcnB0LXRyYW5zaXRpb24tc3BlZWQsIDE1MG1zKSBlYXNlO1xuICAgIH1cbiAgICAucnB0LW1vZGFsLWlucHV0OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcnB0LWNvbG9yLXByaW1hcnksICMyNTYzZWIpO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLXJwdC1jb2xvci1wcmltYXJ5LWZvY3VzLCByZ2JhKDM3LCA5OSwgMjM1LCAwLjI1KSk7XG4gICAgfVxuICAgIC5ycHQtZXhpc3RpbmctcHJlc2V0cyB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZThmMDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIH1cbiAgICAucnB0LWV4aXN0aW5nLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjcyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgfVxuICAgIC5ycHQtcHJlc2V0cy1saXN0IHtcbiAgICAgIG1heC1oZWlnaHQ6IDE0MHB4O1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiA2cHg7XG4gICAgfVxuICAgIC5ycHQtcHJlc2V0LXJvdyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgfVxuICAgIC5ycHQtcHJlc2V0LWluZm8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgfVxuICAgIC5ycHQtcHJlc2V0LXJvdy1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICMxZTI5M2I7XG4gICAgfVxuICAgIC5ycHQtcHJlc2V0LWFjdGl2ZS10YWcge1xuICAgICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGJhY2tncm91bmQ6ICNkYmVhZmU7XG4gICAgICBjb2xvcjogIzFkNGVkODtcbiAgICAgIHBhZGRpbmc6IDFweCA2cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgfVxuICAgIC5ycHQtYnRuLWRlbC1wcmVzZXQge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogIzk0YTNiODtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMTIwbXMgZWFzZTtcbiAgICB9XG4gICAgLnJwdC1idG4tZGVsLXByZXNldDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVlMmUyO1xuICAgICAgY29sb3I6ICNkYzI2MjY7XG4gICAgfVxuICAgIC5ycHQtbW9kYWwtZm9vdGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIHBhZGRpbmc6IDEycHggMThweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICB9XG4gICAgLnJwdC1idG4tY2FuY2VsIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2JkNWUxO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcnB0LWJvcmRlci1yYWRpdXMsIDZweCk7XG4gICAgICBwYWRkaW5nOiA2cHggMTRweDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICM0NzU1Njk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMTIwbXMgZWFzZTtcbiAgICB9XG4gICAgLnJwdC1idG4tY2FuY2VsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmMWY1Zjk7XG4gICAgICBjb2xvcjogIzBmMTcyYTtcbiAgICB9XG4gICAgLnJwdC1idG4tY29uZmlybSB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ycHQtY29sb3ItcHJpbWFyeSwgIzI1NjNlYik7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJwdC1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICAgICAgcGFkZGluZzogNnB4IDE2cHg7XG4gICAgICBmb250LXNpemU6IDAuNzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxMjBtcyBlYXNlO1xuICAgIH1cbiAgICAucnB0LWJ0bi1jb25maXJtOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXJwdC1jb2xvci1wcmltYXJ5LWhvdmVyLCAjMWQ0ZWQ4KTtcbiAgICB9XG4gICAgLnJwdC1idG4tY29uZmlybTpkaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgYF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBScHRSZXBvcnRDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IGV4cG9ydFNlcnZpY2UgPSBpbmplY3QoUmVwb3J0RXhwb3J0U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGVyc2lzdGVuY2UgPSBpbmplY3QoUmVwb3J0UGVyc2lzdGVuY2VBZGFwdGVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IGlkID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSByZXBvcnQgPSBpbnB1dDxSZXBvcnREZWZpbml0aW9uIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IHBhcmFtZXRlcnMgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe30pO1xuICByZWFkb25seSBzaG93RXhwb3J0ID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIHJlYWRvbmx5IGVuYWJsZVByZXNldHMgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgcmVhZG9ubHkgYXV0b0V4ZWN1dGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcblxuICByZWFkb25seSByb3dDbGljayA9IG91dHB1dDx7XG4gICAgcm93OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBwYXJhbWV0ZXJzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBhY3Rpb24/OiBHcmlkUm93Q2xpY2tBY3Rpb247XG4gIH0+KCk7XG4gIHJlYWRvbmx5IGRhdGFMb2FkZWQgPSBvdXRwdXQ8dW5rbm93bltdPigpO1xuICByZWFkb25seSBncmlkU3RhdGVDaGFuZ2UgPSBvdXRwdXQ8YW55PigpO1xuICByZWFkb25seSBzZWxlY3Rpb25DaGFuZ2UgPSBvdXRwdXQ8YW55W10+KCk7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbkNoYW5nZWQgPSBvdXRwdXQ8YW55W10+KCk7XG4gIHJlYWRvbmx5IHByZXNldFNhdmVkID0gb3V0cHV0PHsgbmFtZTogc3RyaW5nOyBwcmVzZXQ6IFJlcG9ydFZpZXdQcmVzZXQgfT4oKTtcbiAgcmVhZG9ubHkgcHJlc2V0Q2hhbmdlID0gb3V0cHV0PFJlcG9ydFZpZXdQcmVzZXQgfCBudWxsPigpO1xuICByZWFkb25seSBleHBvcnRSZXF1ZXN0ZWQgPSBvdXRwdXQ8YW55PigpO1xuICByZWFkb25seSBwcmludFJlcXVlc3RlZCA9IG91dHB1dDxhbnk+KCk7XG5cbiAgcmVhZG9ubHkgcnVudGltZUNvbXBvbmVudCA9IHZpZXdDaGlsZChSZXBvcnRSdW50aW1lQ29tcG9uZW50KTtcblxuICAvLyBQcmVzZXQgc3RhdGVzXG4gIHJlYWRvbmx5IGFjdGl2ZVByZXNldElkID0gc2lnbmFsPHN0cmluZz4oJ2RlZmF1bHQnKTtcbiAgcmVhZG9ubHkgaXNTYXZlUHJlc2V0TW9kYWxPcGVuID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgbmV3UHJlc2V0TmFtZSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgbGF0ZXN0R3JpZFN0YXRlID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGN1c3RvbVByZXNldHMgPSBzaWduYWw8UmVwb3J0Vmlld1ByZXNldFtdPihbXSk7XG5cbiAgcmVhZG9ubHkgY3VycmVudERlZmluaXRpb24gPSBjb21wdXRlZDxSZXBvcnREZWZpbml0aW9uIHwgbnVsbD4oKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnJlcG9ydCgpO1xuICB9KTtcblxuICByZWFkb25seSBhY3RpdmVEZWZpbml0aW9uID0gY29tcHV0ZWQ8UmVwb3J0RGVmaW5pdGlvbiB8IG51bGw+KCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5yZXBvcnQoKSA/PyB0aGlzLnJ1bnRpbWVDb21wb25lbnQoKT8uY3VycmVudERlZmluaXRpb24oKSA/PyBudWxsO1xuICB9KTtcblxuICByZWFkb25seSByZWNvcmRDb3VudCA9IGNvbXB1dGVkPG51bWJlcj4oKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVDb21wb25lbnQoKT8ucmVzdWx0RGF0YSgpPy5sZW5ndGggPz8gMDtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgc2hvd1Rvb2xiYXIgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0V4cG9ydCgpIHx8IHRoaXMuZW5hYmxlUHJlc2V0cygpO1xuICB9KTtcblxuICByZWFkb25seSBzYXZlZFByZXNldHMgPSBjb21wdXRlZDxSZXBvcnRWaWV3UHJlc2V0W10+KCgpID0+IHtcbiAgICBjb25zdCBkZWYgPSB0aGlzLmFjdGl2ZURlZmluaXRpb24oKTtcbiAgICBjb25zdCBpbml0aWFsUHJlc2V0cyA9ICgoZGVmPy5ncmlkPy5vcHRpb25zIGFzIGFueSk/LnByZXNldHMgYXMgUmVwb3J0Vmlld1ByZXNldFtdKSA/PyBbXTtcbiAgICBjb25zdCBtYXAgPSBuZXcgTWFwPHN0cmluZywgUmVwb3J0Vmlld1ByZXNldD4oKTtcbiAgICBmb3IgKGNvbnN0IHAgb2YgaW5pdGlhbFByZXNldHMpIHtcbiAgICAgIGlmIChwICYmIHAuaWQpIG1hcC5zZXQocC5pZCwgcCk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgcCBvZiB0aGlzLmN1c3RvbVByZXNldHMoKSkge1xuICAgICAgaWYgKHAgJiYgcC5pZCkgbWFwLnNldChwLmlkLCBwKTtcbiAgICB9XG4gICAgcmV0dXJuIEFycmF5LmZyb20obWFwLnZhbHVlcygpKTtcbiAgfSk7XG5cbiAgb25Sb3dBY3Rpb25UcmlnZ2VyZWQoZXZlbnQ6IHtcbiAgICBhY3Rpb246IEdyaWRSb3dDbGlja0FjdGlvbjtcbiAgICByb3c6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIHBhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICB9KTogdm9pZCB7XG4gICAgdGhpcy5yb3dDbGljay5lbWl0KHtcbiAgICAgIHJvdzogZXZlbnQucm93LFxuICAgICAgcGFyYW1ldGVyczogZXZlbnQucGFyYW1ldGVycyxcbiAgICAgIGFjdGlvbjogZXZlbnQuYWN0aW9uLFxuICAgIH0pO1xuICB9XG5cbiAgb25HcmlkU3RhdGVDaGFuZ2VkKHN0YXRlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmxhdGVzdEdyaWRTdGF0ZS5zZXQoc3RhdGUpO1xuICAgIHRoaXMuZ3JpZFN0YXRlQ2hhbmdlLmVtaXQoc3RhdGUpO1xuICB9XG5cbiAgb25TZWxlY3Rpb25DaGFuZ2Uocm93czogYW55W10pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHJvd3MpO1xuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlZC5lbWl0KHJvd3MpO1xuICB9XG5cbiAgb25TZWxlY3RQcmVzZXQocHJlc2V0SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlUHJlc2V0SWQuc2V0KHByZXNldElkKTtcbiAgICBpZiAocHJlc2V0SWQgPT09ICdkZWZhdWx0Jykge1xuICAgICAgdGhpcy5wcmVzZXRDaGFuZ2UuZW1pdChudWxsKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVzZXQgPSB0aGlzLnNhdmVkUHJlc2V0cygpLmZpbmQoKHApID0+IHAuaWQgPT09IHByZXNldElkKTtcbiAgICBpZiAocHJlc2V0KSB7XG4gICAgICBpZiAocHJlc2V0LmdyaWRTdGF0ZSkge1xuICAgICAgICB0aGlzLmxhdGVzdEdyaWRTdGF0ZS5zZXQocHJlc2V0LmdyaWRTdGF0ZSk7XG4gICAgICAgIHRoaXMuZ3JpZFN0YXRlQ2hhbmdlLmVtaXQocHJlc2V0LmdyaWRTdGF0ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLnByZXNldENoYW5nZS5lbWl0KHByZXNldCk7XG4gICAgfVxuICB9XG5cbiAgY29uZmlybVNhdmVQcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlQ3VycmVudFByZXNldCgpO1xuICB9XG5cbiAgZXhwb3J0RXhjZWwoKTogdm9pZCB7XG4gICAgdGhpcy5vbkV4cG9ydEV4Y2VsKCk7XG4gIH1cblxuICBleHBvcnRDc3YoKTogdm9pZCB7XG4gICAgdGhpcy5vbkV4cG9ydENzdigpO1xuICB9XG5cbiAgcHJpbnQoKTogdm9pZCB7XG4gICAgdGhpcy5vblByaW50UmVwb3J0KCk7XG4gIH1cblxuICBvcGVuU2F2ZVByZXNldE1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMubmV3UHJlc2V0TmFtZS5zZXQoJycpO1xuICAgIHRoaXMuaXNTYXZlUHJlc2V0TW9kYWxPcGVuLnNldCh0cnVlKTtcbiAgfVxuXG4gIGNsb3NlU2F2ZVByZXNldE1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMuaXNTYXZlUHJlc2V0TW9kYWxPcGVuLnNldChmYWxzZSk7XG4gIH1cblxuICBzYXZlQ3VycmVudFByZXNldCgpOiB2b2lkIHtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5uZXdQcmVzZXROYW1lKCkudHJpbSgpO1xuICAgIGlmICghbmFtZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgcHJlc2V0SWQgPSBgcHJlc2V0XyR7RGF0ZS5ub3coKX1gO1xuICAgIGNvbnN0IG5ld1ByZXNldDogUmVwb3J0Vmlld1ByZXNldCA9IHtcbiAgICAgIGlkOiBwcmVzZXRJZCxcbiAgICAgIG5hbWUsXG4gICAgICBncmlkU3RhdGU6IHRoaXMubGF0ZXN0R3JpZFN0YXRlKCkgPz8ge30sXG4gICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICB9O1xuXG4gICAgY29uc3QgZGVmID0gdGhpcy5hY3RpdmVEZWZpbml0aW9uKCk7XG4gICAgaWYgKGRlZiAmJiBkZWYuZ3JpZCkge1xuICAgICAgaWYgKCFkZWYuZ3JpZC5vcHRpb25zKSBkZWYuZ3JpZC5vcHRpb25zID0ge307XG4gICAgICBjb25zdCBjdXJyZW50UHJlc2V0czogUmVwb3J0Vmlld1ByZXNldFtdID0gKGRlZi5ncmlkLm9wdGlvbnMgYXMgYW55KS5wcmVzZXRzID8/IFtdO1xuICAgICAgKGRlZi5ncmlkLm9wdGlvbnMgYXMgYW55KS5wcmVzZXRzID0gWy4uLmN1cnJlbnRQcmVzZXRzLCBuZXdQcmVzZXRdO1xuXG4gICAgICBpZiAodGhpcy5wZXJzaXN0ZW5jZSAmJiBkZWYuaWQpIHtcbiAgICAgICAgdGhpcy5wZXJzaXN0ZW5jZS5zYXZlKGRlZikuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoKSA9PiB7fSxcbiAgICAgICAgICBlcnJvcjogKCkgPT4ge30sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuY3VzdG9tUHJlc2V0cy51cGRhdGUoKHByZXYpID0+IFsuLi5wcmV2LCBuZXdQcmVzZXRdKTtcbiAgICB0aGlzLmFjdGl2ZVByZXNldElkLnNldChwcmVzZXRJZCk7XG4gICAgdGhpcy5wcmVzZXRTYXZlZC5lbWl0KHsgbmFtZSwgcHJlc2V0OiBuZXdQcmVzZXQgfSk7XG4gICAgdGhpcy5jbG9zZVNhdmVQcmVzZXRNb2RhbCgpO1xuICB9XG5cbiAgZGVsZXRlUHJlc2V0KHByZXNldElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAocHJlc2V0SWQgPT09ICdkZWZhdWx0JykgcmV0dXJuO1xuXG4gICAgdGhpcy5jdXN0b21QcmVzZXRzLnVwZGF0ZSgocHJldikgPT4gcHJldi5maWx0ZXIoKHApID0+IHAuaWQgIT09IHByZXNldElkKSk7XG5cbiAgICBjb25zdCBkZWYgPSB0aGlzLmFjdGl2ZURlZmluaXRpb24oKTtcbiAgICBpZiAoZGVmICYmIGRlZi5ncmlkICYmIGRlZi5ncmlkLm9wdGlvbnMpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSAoKGRlZi5ncmlkLm9wdGlvbnMgYXMgYW55KS5wcmVzZXRzIGFzIFJlcG9ydFZpZXdQcmVzZXRbXSkgPz8gW107XG4gICAgICAoZGVmLmdyaWQub3B0aW9ucyBhcyBhbnkpLnByZXNldHMgPSBjdXJyZW50LmZpbHRlcigocCkgPT4gcC5pZCAhPT0gcHJlc2V0SWQpO1xuXG4gICAgICBpZiAodGhpcy5wZXJzaXN0ZW5jZSAmJiBkZWYuaWQpIHtcbiAgICAgICAgdGhpcy5wZXJzaXN0ZW5jZS5zYXZlKGRlZikuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoKSA9PiB7fSxcbiAgICAgICAgICBlcnJvcjogKCkgPT4ge30sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmFjdGl2ZVByZXNldElkKCkgPT09IHByZXNldElkKSB7XG4gICAgICB0aGlzLm9uU2VsZWN0UHJlc2V0KCdkZWZhdWx0Jyk7XG4gICAgfVxuICB9XG5cbiAgb25FeHBvcnRFeGNlbCgpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5ydW50aW1lQ29tcG9uZW50KCk/LnJlc3VsdERhdGEoKTtcbiAgICBpZiAoIWRhdGEgfHwgIUFycmF5LmlzQXJyYXkoZGF0YSkgfHwgZGF0YS5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICBjb25zdCBkZWYgPSB0aGlzLmFjdGl2ZURlZmluaXRpb24oKTtcbiAgICBjb25zdCBjb2xzID0gZGVmPy5ncmlkPy5jb2x1bW5zLm1hcCgoYykgPT4gKHsgZmllbGQ6IGMuZmllbGQsIGhlYWRlcjogYy5sYWJlbCB9KSk7XG4gICAgdGhpcy5leHBvcnRTZXJ2aWNlLmV4cG9ydEV4Y2VsKGRhdGEgYXMgYW55LCB7XG4gICAgICBmaWxlTmFtZTogZGVmPy5uYW1lID8gYCR7ZGVmLm5hbWV9Lnhsc2AgOiAncmVwb3J0LnhscycsXG4gICAgICBjb2x1bW5zOiBjb2xzLFxuICAgICAgYnJhbmRlZEhlYWRlcjogeyByZXBvcnRUaXRsZTogZGVmPy5uYW1lIH0sXG4gICAgfSk7XG4gIH1cblxuICBvbkV4cG9ydENzdigpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5ydW50aW1lQ29tcG9uZW50KCk/LnJlc3VsdERhdGEoKTtcbiAgICBpZiAoIWRhdGEgfHwgIUFycmF5LmlzQXJyYXkoZGF0YSkgfHwgZGF0YS5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICBjb25zdCBkZWYgPSB0aGlzLmFjdGl2ZURlZmluaXRpb24oKTtcbiAgICBjb25zdCBjb2xzID0gZGVmPy5ncmlkPy5jb2x1bW5zLm1hcCgoYykgPT4gKHsgZmllbGQ6IGMuZmllbGQsIGhlYWRlcjogYy5sYWJlbCB9KSk7XG4gICAgdGhpcy5leHBvcnRTZXJ2aWNlLmV4cG9ydENzdihkYXRhIGFzIGFueSwge1xuICAgICAgZmlsZU5hbWU6IGRlZj8ubmFtZSA/IGAke2RlZi5uYW1lfS5jc3ZgIDogJ3JlcG9ydC5jc3YnLFxuICAgICAgY29sdW1uczogY29scyxcbiAgICAgIGJyYW5kZWRIZWFkZXI6IHsgcmVwb3J0VGl0bGU6IGRlZj8ubmFtZSB9LFxuICAgIH0pO1xuICB9XG5cbiAgb25QcmludFJlcG9ydCgpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5ydW50aW1lQ29tcG9uZW50KCk/LnJlc3VsdERhdGEoKTtcbiAgICBpZiAoIWRhdGEgfHwgIUFycmF5LmlzQXJyYXkoZGF0YSkgfHwgZGF0YS5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICBjb25zdCBkZWYgPSB0aGlzLmFjdGl2ZURlZmluaXRpb24oKTtcbiAgICBjb25zdCBjb2xzID0gZGVmPy5ncmlkPy5jb2x1bW5zLm1hcCgoYykgPT4gKHsgZmllbGQ6IGMuZmllbGQsIGhlYWRlcjogYy5sYWJlbCB9KSk7XG4gICAgdGhpcy5leHBvcnRTZXJ2aWNlLnByaW50UmVwb3J0KGRhdGEgYXMgYW55LCB7XG4gICAgICB0aXRsZTogZGVmPy5uYW1lIHx8ICdSZXBvcnQgUHJpbnQgUHJldmlldycsXG4gICAgICBjb2x1bW5zOiBjb2xzLFxuICAgICAgYnJhbmRlZEhlYWRlcjogeyByZXBvcnRUaXRsZTogZGVmPy5uYW1lIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -51,7 +51,7 @@ export class RptCheckboxComponent {
51
51
  <span class="rpt-error-text">{{ errorMessage() }}</span>
52
52
  }
53
53
  </div>
54
- `, isInline: true, styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;font-family:var(--rpt-font-family, inherit)}.rpt-checkbox-field{display:flex;flex-direction:column;justify-content:flex-end;height:100%;gap:4px;padding-bottom:8px;box-sizing:border-box}.rpt-checkbox-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.rpt-checkbox-input{position:absolute;opacity:0;width:0;height:0;margin:0}.rpt-custom-checkbox{width:18px;height:18px;border:1px solid var(--rpt-color-border, #cbd5e1);border-radius:var(--rpt-border-radius-sm, 4px);background-color:var(--rpt-color-bg, #ffffff);display:flex;align-items:center;justify-content:center;transition:all var(--rpt-transition-speed, .15s) ease;color:var(--rpt-color-text-inverse, #ffffff);flex-shrink:0}.rpt-checkbox-label:hover .rpt-custom-checkbox{border-color:var(--rpt-color-border-hover, #94a3b8)}.rpt-checkbox-input:focus-visible+.rpt-custom-checkbox{border-color:var(--rpt-color-border-focus, #2563eb);box-shadow:var(--rpt-box-shadow-focus, 0 0 0 3px rgba(37, 99, 235, .25))}.rpt-checkbox-input:checked+.rpt-custom-checkbox{background-color:var(--rpt-color-primary, #2563eb);border-color:var(--rpt-color-primary, #2563eb)}.rpt-check-icon{opacity:0;transform:scale(.6);transition:all var(--rpt-transition-speed, .15s) ease}.rpt-checkbox-input:checked+.rpt-custom-checkbox .rpt-check-icon{opacity:1;transform:scale(1)}.rpt-checkbox-input:disabled+.rpt-custom-checkbox{background-color:var(--rpt-color-surface, #f8fafc);border-color:var(--rpt-color-border, #cbd5e1);cursor:not-allowed}.rpt-checkbox-text{font-size:var(--rpt-font-size-base, .875rem);color:var(--rpt-color-text, #0f172a)}.rpt-required-marker{color:var(--rpt-color-danger, #ef4444);margin-left:2px}.rpt-error-text{font-size:var(--rpt-font-size-sm, .75rem);color:var(--rpt-color-danger, #ef4444)}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
54
+ `, isInline: true, styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;font-family:var(--rpt-font-family, inherit)}.rpt-checkbox-field{display:flex;flex-direction:column;justify-content:flex-end;height:100%;gap:4px;padding-bottom:8px;box-sizing:border-box}.rpt-checkbox-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.rpt-checkbox-input{position:absolute;opacity:0;width:0;height:0;margin:0}.rpt-custom-checkbox{width:18px;height:18px;border:1px solid var(--rpt-color-border, #cbd5e1);border-radius:var(--rpt-border-radius-sm, 4px);background-color:var(--rpt-color-bg, #ffffff);display:flex;align-items:center;justify-content:center;transition:all var(--rpt-transition-speed, .15s) ease;color:var(--rpt-color-text-inverse, #ffffff);flex-shrink:0}.rpt-checkbox-label:hover .rpt-custom-checkbox{border-color:var(--rpt-color-border-hover, #94a3b8)}.rpt-checkbox-input:focus-visible+.rpt-custom-checkbox{border-color:var(--rpt-color-border-focus, #2563eb);box-shadow:var(--rpt-box-shadow-focus, 0 0 0 3px rgba(37, 99, 235, .25))}.rpt-checkbox-input:checked+.rpt-custom-checkbox{background-color:var(--rpt-color-primary, #2563eb);border-color:var(--rpt-color-primary, #2563eb)}.rpt-check-icon{opacity:0;transform:scale(.6);transition:all var(--rpt-transition-speed, .15s) ease}.rpt-checkbox-input:checked+.rpt-custom-checkbox .rpt-check-icon{opacity:1;transform:scale(1)}.rpt-checkbox-input:disabled+.rpt-custom-checkbox{background-color:var(--rpt-color-surface, #f8fafc);border-color:var(--rpt-color-border, #cbd5e1);cursor:not-allowed}.rpt-checkbox-text{font-size:var(--rpt-font-size-base, .875rem);color:var(--rpt-color-text, #0f172a)}.rpt-required-marker{color:var(--rpt-color-danger, #ef4444);margin-left:2px}.rpt-error-text{font-size:.7rem;color:var(--rpt-color-danger, #ef4444);margin-top:3px;line-height:1.25;max-width:100%;overflow-wrap:anywhere;word-break:break-word;display:block}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
55
55
  }
56
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RptCheckboxComponent, decorators: [{
57
57
  type: Component,
@@ -81,6 +81,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
81
81
  <span class="rpt-error-text">{{ errorMessage() }}</span>
82
82
  }
83
83
  </div>
84
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;font-family:var(--rpt-font-family, inherit)}.rpt-checkbox-field{display:flex;flex-direction:column;justify-content:flex-end;height:100%;gap:4px;padding-bottom:8px;box-sizing:border-box}.rpt-checkbox-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.rpt-checkbox-input{position:absolute;opacity:0;width:0;height:0;margin:0}.rpt-custom-checkbox{width:18px;height:18px;border:1px solid var(--rpt-color-border, #cbd5e1);border-radius:var(--rpt-border-radius-sm, 4px);background-color:var(--rpt-color-bg, #ffffff);display:flex;align-items:center;justify-content:center;transition:all var(--rpt-transition-speed, .15s) ease;color:var(--rpt-color-text-inverse, #ffffff);flex-shrink:0}.rpt-checkbox-label:hover .rpt-custom-checkbox{border-color:var(--rpt-color-border-hover, #94a3b8)}.rpt-checkbox-input:focus-visible+.rpt-custom-checkbox{border-color:var(--rpt-color-border-focus, #2563eb);box-shadow:var(--rpt-box-shadow-focus, 0 0 0 3px rgba(37, 99, 235, .25))}.rpt-checkbox-input:checked+.rpt-custom-checkbox{background-color:var(--rpt-color-primary, #2563eb);border-color:var(--rpt-color-primary, #2563eb)}.rpt-check-icon{opacity:0;transform:scale(.6);transition:all var(--rpt-transition-speed, .15s) ease}.rpt-checkbox-input:checked+.rpt-custom-checkbox .rpt-check-icon{opacity:1;transform:scale(1)}.rpt-checkbox-input:disabled+.rpt-custom-checkbox{background-color:var(--rpt-color-surface, #f8fafc);border-color:var(--rpt-color-border, #cbd5e1);cursor:not-allowed}.rpt-checkbox-text{font-size:var(--rpt-font-size-base, .875rem);color:var(--rpt-color-text, #0f172a)}.rpt-required-marker{color:var(--rpt-color-danger, #ef4444);margin-left:2px}.rpt-error-text{font-size:var(--rpt-font-size-sm, .75rem);color:var(--rpt-color-danger, #ef4444)}\n"] }]
84
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;font-family:var(--rpt-font-family, inherit)}.rpt-checkbox-field{display:flex;flex-direction:column;justify-content:flex-end;height:100%;gap:4px;padding-bottom:8px;box-sizing:border-box}.rpt-checkbox-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.rpt-checkbox-input{position:absolute;opacity:0;width:0;height:0;margin:0}.rpt-custom-checkbox{width:18px;height:18px;border:1px solid var(--rpt-color-border, #cbd5e1);border-radius:var(--rpt-border-radius-sm, 4px);background-color:var(--rpt-color-bg, #ffffff);display:flex;align-items:center;justify-content:center;transition:all var(--rpt-transition-speed, .15s) ease;color:var(--rpt-color-text-inverse, #ffffff);flex-shrink:0}.rpt-checkbox-label:hover .rpt-custom-checkbox{border-color:var(--rpt-color-border-hover, #94a3b8)}.rpt-checkbox-input:focus-visible+.rpt-custom-checkbox{border-color:var(--rpt-color-border-focus, #2563eb);box-shadow:var(--rpt-box-shadow-focus, 0 0 0 3px rgba(37, 99, 235, .25))}.rpt-checkbox-input:checked+.rpt-custom-checkbox{background-color:var(--rpt-color-primary, #2563eb);border-color:var(--rpt-color-primary, #2563eb)}.rpt-check-icon{opacity:0;transform:scale(.6);transition:all var(--rpt-transition-speed, .15s) ease}.rpt-checkbox-input:checked+.rpt-custom-checkbox .rpt-check-icon{opacity:1;transform:scale(1)}.rpt-checkbox-input:disabled+.rpt-custom-checkbox{background-color:var(--rpt-color-surface, #f8fafc);border-color:var(--rpt-color-border, #cbd5e1);cursor:not-allowed}.rpt-checkbox-text{font-size:var(--rpt-font-size-base, .875rem);color:var(--rpt-color-text, #0f172a)}.rpt-required-marker{color:var(--rpt-color-danger, #ef4444);margin-left:2px}.rpt-error-text{font-size:.7rem;color:var(--rpt-color-danger, #ef4444);margin-top:3px;line-height:1.25;max-width:100%;overflow-wrap:anywhere;word-break:break-word;display:block}\n"] }]
85
85
  }] });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnB0LWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J3YXlzLXJlcG9ydC9zcmMvbGliL3ByaW1pdGl2ZXMvY29tcG9uZW50cy9jaGVja2JveC9ycHQtY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7OztBQXFIbkYsTUFBTSxPQUFPLG9CQUFvQjtJQUN0QixNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBNkIsQ0FBQztJQUNyRCxPQUFPLEdBQUcsS0FBSyxFQUFlLENBQUM7SUFFdkIsZUFBZSxHQUFHLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWpELFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNyRSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRWxFLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDLENBQUMsQ0FBQztJQUVNLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3BELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN2QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNsRSxDQUFDLENBQUMsQ0FBQzt3R0F2QlEsb0JBQW9COzRGQUFwQixvQkFBb0IsNFVBL0dyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQlQsazVEQTNCUyxtQkFBbUI7OzRGQWdIbEIsb0JBQW9CO2tCQW5IaEMsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQLENBQUMsbUJBQW1CLENBQUMsWUFDcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJULG1CQW1GZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSZXBvcnRDb21wb25lbnREZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9tb2RlbHMvcmVwb3J0LWNvbXBvbmVudC5tb2RlbCc7XG5pbXBvcnQgeyBnZXRWYWxpZGF0aW9uTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdmFsaWRhdGlvbi92YWxpZGF0aW9uLWZhY3RvcnknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdycHQtY2hlY2tib3gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInJwdC1jaGVja2JveC1maWVsZFwiPlxuICAgICAgPGxhYmVsIFtmb3JdPVwiZWxlbWVudElkKClcIiBjbGFzcz1cInJwdC1jaGVja2JveC1sYWJlbFwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBbaWRdPVwiZWxlbWVudElkKClcIlxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICAgIGNsYXNzPVwicnB0LWNoZWNrYm94LWlucHV0XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtY3VzdG9tLWNoZWNrYm94XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgPHN2ZyBjbGFzcz1cInJwdC1jaGVjay1pY29uXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEwXCIgdmlld0JveD1cIjAgMCAxMiAxMFwiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTEgNUw0LjUgOC41TDExIDEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtY2hlY2tib3gtdGV4dFwiPlxuICAgICAgICAgIHt7IGNvbmZpZygpLmxhYmVsIH19XG4gICAgICAgICAgQGlmIChjb25maWcoKS52YWxpZGF0aW9uPy5yZXF1aXJlZCkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtcmVxdWlyZWQtbWFya2VyXCI+Kjwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG5cbiAgICAgIEBpZiAoZXJyb3JNZXNzYWdlKCkpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtZXJyb3ItdGV4dFwiPnt7IGVycm9yTWVzc2FnZSgpIH19PC9zcGFuPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgOmhvc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tcnB0LWZvbnQtZmFtaWx5LCBpbmhlcml0KTtcbiAgICB9XG4gICAgLnJwdC1jaGVja2JveC1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBnYXA6IDRweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IC8qIGFsaWduIHdpdGggbGFiZWxlZCBpbnB1dHMgYmFzZWxpbmUgKi9cbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgIC5ycHQtY2hlY2tib3gtbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG4gICAgLnJwdC1jaGVja2JveC1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5ycHQtY3VzdG9tLWNoZWNrYm94IHtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnB0LWNvbG9yLWJvcmRlciwgI2NiZDVlMSk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ycHQtYm9yZGVyLXJhZGl1cy1zbSwgNHB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJwdC1jb2xvci1iZywgI2ZmZmZmZik7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXJwdC10cmFuc2l0aW9uLXNwZWVkLCAxNTBtcykgZWFzZTtcbiAgICAgIGNvbG9yOiB2YXIoLS1ycHQtY29sb3ItdGV4dC1pbnZlcnNlLCAjZmZmZmZmKTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbiAgICAucnB0LWNoZWNrYm94LWxhYmVsOmhvdmVyIC5ycHQtY3VzdG9tLWNoZWNrYm94IHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcnB0LWNvbG9yLWJvcmRlci1ob3ZlciwgIzk0YTNiOCk7XG4gICAgfVxuICAgIC5ycHQtY2hlY2tib3gtaW5wdXQ6Zm9jdXMtdmlzaWJsZSArIC5ycHQtY3VzdG9tLWNoZWNrYm94IHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcnB0LWNvbG9yLWJvcmRlci1mb2N1cywgIzI1NjNlYik7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1ycHQtYm94LXNoYWRvdy1mb2N1cywgMCAwIDAgM3B4IHJnYmEoMzcsIDk5LCAyMzUsIDAuMjUpKTtcbiAgICB9XG4gICAgLnJwdC1jaGVja2JveC1pbnB1dDpjaGVja2VkICsgLnJwdC1jdXN0b20tY2hlY2tib3gge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnB0LWNvbG9yLXByaW1hcnksICMyNTYzZWIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ycHQtY29sb3ItcHJpbWFyeSwgIzI1NjNlYik7XG4gICAgfVxuICAgIC5ycHQtY2hlY2staWNvbiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXJwdC10cmFuc2l0aW9uLXNwZWVkLCAxNTBtcykgZWFzZTtcbiAgICB9XG4gICAgLnJwdC1jaGVja2JveC1pbnB1dDpjaGVja2VkICsgLnJwdC1jdXN0b20tY2hlY2tib3ggLnJwdC1jaGVjay1pY29uIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgICAucnB0LWNoZWNrYm94LWlucHV0OmRpc2FibGVkICsgLnJwdC1jdXN0b20tY2hlY2tib3gge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnB0LWNvbG9yLXN1cmZhY2UsICNmOGZhZmMpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ycHQtY29sb3ItYm9yZGVyLCAjY2JkNWUxKTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICAgIC5ycHQtY2hlY2tib3gtdGV4dCB7XG4gICAgICBmb250LXNpemU6IHZhcigtLXJwdC1mb250LXNpemUtYmFzZSwgMC44NzVyZW0pO1xuICAgICAgY29sb3I6IHZhcigtLXJwdC1jb2xvci10ZXh0LCAjMGYxNzJhKTtcbiAgICB9XG4gICAgLnJwdC1yZXF1aXJlZC1tYXJrZXIge1xuICAgICAgY29sb3I6IHZhcigtLXJwdC1jb2xvci1kYW5nZXIsICNlZjQ0NDQpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICB9XG4gICAgLnJwdC1lcnJvci10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcnB0LWZvbnQtc2l6ZS1zbSwgMC43NXJlbSk7XG4gICAgICBjb2xvcjogdmFyKC0tcnB0LWNvbG9yLWRhbmdlciwgI2VmNDQ0NCk7XG4gICAgfVxuICBgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJwdENoZWNrYm94Q29tcG9uZW50IHtcbiAgcmVhZG9ubHkgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8UmVwb3J0Q29tcG9uZW50RGVmaW5pdGlvbj4oKTtcbiAgcmVhZG9ubHkgY29udHJvbCA9IGlucHV0PEZvcm1Db250cm9sPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZmFsbGJhY2tDb250cm9sID0gbmV3IEZvcm1Db250cm9sKGZhbHNlKTtcblxuICByZWFkb25seSBmb3JtQ29udHJvbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29udHJvbCgpID8/IHRoaXMuZmFsbGJhY2tDb250cm9sKTtcbiAgcmVhZG9ubHkgZWxlbWVudElkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5rZXkgfHwgdGhpcy5jb25maWcoKS5pZCk7XG5cbiAgcmVhZG9ubHkgaXNJbnZhbGlkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGN0cmwgPSB0aGlzLmZvcm1Db250cm9sKCk7XG4gICAgcmV0dXJuIGN0cmwuaW52YWxpZCAmJiAoY3RybC5kaXJ0eSB8fCBjdHJsLnRvdWNoZWQpO1xuICB9KTtcblxuICByZWFkb25seSBlcnJvck1lc3NhZ2UgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY3RybCA9IHRoaXMuZm9ybUNvbnRyb2woKTtcbiAgICBpZiAoIWN0cmwuaW52YWxpZCB8fCAoIWN0cmwuZGlydHkgJiYgIWN0cmwudG91Y2hlZCkpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3QgZXJyb3JzID0gY3RybC5lcnJvcnM7XG4gICAgaWYgKCFlcnJvcnMpIHJldHVybiAnJztcbiAgICBjb25zdCBmaXJzdEtleSA9IE9iamVjdC5rZXlzKGVycm9ycylbMF07XG4gICAgcmV0dXJuIGdldFZhbGlkYXRpb25NZXNzYWdlKHRoaXMuY29uZmlnKCkudmFsaWRhdGlvbiwgZmlyc3RLZXkpO1xuICB9KTtcbn1cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnB0LWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J3YXlzLXJlcG9ydC9zcmMvbGliL3ByaW1pdGl2ZXMvY29tcG9uZW50cy9jaGVja2JveC9ycHQtY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7OztBQTJIbkYsTUFBTSxPQUFPLG9CQUFvQjtJQUN0QixNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBNkIsQ0FBQztJQUNyRCxPQUFPLEdBQUcsS0FBSyxFQUFlLENBQUM7SUFFdkIsZUFBZSxHQUFHLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWpELFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNyRSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRWxFLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDLENBQUMsQ0FBQztJQUVNLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3BELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN2QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNsRSxDQUFDLENBQUMsQ0FBQzt3R0F2QlEsb0JBQW9COzRGQUFwQixvQkFBb0IsNFVBckhyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQlQsaytEQTNCUyxtQkFBbUI7OzRGQXNIbEIsb0JBQW9CO2tCQXpIaEMsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQLENBQUMsbUJBQW1CLENBQUMsWUFDcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJULG1CQXlGZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSZXBvcnRDb21wb25lbnREZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9tb2RlbHMvcmVwb3J0LWNvbXBvbmVudC5tb2RlbCc7XG5pbXBvcnQgeyBnZXRWYWxpZGF0aW9uTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdmFsaWRhdGlvbi92YWxpZGF0aW9uLWZhY3RvcnknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdycHQtY2hlY2tib3gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInJwdC1jaGVja2JveC1maWVsZFwiPlxuICAgICAgPGxhYmVsIFtmb3JdPVwiZWxlbWVudElkKClcIiBjbGFzcz1cInJwdC1jaGVja2JveC1sYWJlbFwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBbaWRdPVwiZWxlbWVudElkKClcIlxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICAgIGNsYXNzPVwicnB0LWNoZWNrYm94LWlucHV0XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtY3VzdG9tLWNoZWNrYm94XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgPHN2ZyBjbGFzcz1cInJwdC1jaGVjay1pY29uXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEwXCIgdmlld0JveD1cIjAgMCAxMiAxMFwiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTEgNUw0LjUgOC41TDExIDEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtY2hlY2tib3gtdGV4dFwiPlxuICAgICAgICAgIHt7IGNvbmZpZygpLmxhYmVsIH19XG4gICAgICAgICAgQGlmIChjb25maWcoKS52YWxpZGF0aW9uPy5yZXF1aXJlZCkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtcmVxdWlyZWQtbWFya2VyXCI+Kjwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG5cbiAgICAgIEBpZiAoZXJyb3JNZXNzYWdlKCkpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtZXJyb3ItdGV4dFwiPnt7IGVycm9yTWVzc2FnZSgpIH19PC9zcGFuPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgOmhvc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tcnB0LWZvbnQtZmFtaWx5LCBpbmhlcml0KTtcbiAgICB9XG4gICAgLnJwdC1jaGVja2JveC1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBnYXA6IDRweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IC8qIGFsaWduIHdpdGggbGFiZWxlZCBpbnB1dHMgYmFzZWxpbmUgKi9cbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgIC5ycHQtY2hlY2tib3gtbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG4gICAgLnJwdC1jaGVja2JveC1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5ycHQtY3VzdG9tLWNoZWNrYm94IHtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnB0LWNvbG9yLWJvcmRlciwgI2NiZDVlMSk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ycHQtYm9yZGVyLXJhZGl1cy1zbSwgNHB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJwdC1jb2xvci1iZywgI2ZmZmZmZik7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXJwdC10cmFuc2l0aW9uLXNwZWVkLCAxNTBtcykgZWFzZTtcbiAgICAgIGNvbG9yOiB2YXIoLS1ycHQtY29sb3ItdGV4dC1pbnZlcnNlLCAjZmZmZmZmKTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbiAgICAucnB0LWNoZWNrYm94LWxhYmVsOmhvdmVyIC5ycHQtY3VzdG9tLWNoZWNrYm94IHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcnB0LWNvbG9yLWJvcmRlci1ob3ZlciwgIzk0YTNiOCk7XG4gICAgfVxuICAgIC5ycHQtY2hlY2tib3gtaW5wdXQ6Zm9jdXMtdmlzaWJsZSArIC5ycHQtY3VzdG9tLWNoZWNrYm94IHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcnB0LWNvbG9yLWJvcmRlci1mb2N1cywgIzI1NjNlYik7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1ycHQtYm94LXNoYWRvdy1mb2N1cywgMCAwIDAgM3B4IHJnYmEoMzcsIDk5LCAyMzUsIDAuMjUpKTtcbiAgICB9XG4gICAgLnJwdC1jaGVja2JveC1pbnB1dDpjaGVja2VkICsgLnJwdC1jdXN0b20tY2hlY2tib3gge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnB0LWNvbG9yLXByaW1hcnksICMyNTYzZWIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ycHQtY29sb3ItcHJpbWFyeSwgIzI1NjNlYik7XG4gICAgfVxuICAgIC5ycHQtY2hlY2staWNvbiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXJwdC10cmFuc2l0aW9uLXNwZWVkLCAxNTBtcykgZWFzZTtcbiAgICB9XG4gICAgLnJwdC1jaGVja2JveC1pbnB1dDpjaGVja2VkICsgLnJwdC1jdXN0b20tY2hlY2tib3ggLnJwdC1jaGVjay1pY29uIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgICAucnB0LWNoZWNrYm94LWlucHV0OmRpc2FibGVkICsgLnJwdC1jdXN0b20tY2hlY2tib3gge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnB0LWNvbG9yLXN1cmZhY2UsICNmOGZhZmMpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ycHQtY29sb3ItYm9yZGVyLCAjY2JkNWUxKTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICAgIC5ycHQtY2hlY2tib3gtdGV4dCB7XG4gICAgICBmb250LXNpemU6IHZhcigtLXJwdC1mb250LXNpemUtYmFzZSwgMC44NzVyZW0pO1xuICAgICAgY29sb3I6IHZhcigtLXJwdC1jb2xvci10ZXh0LCAjMGYxNzJhKTtcbiAgICB9XG4gICAgLnJwdC1yZXF1aXJlZC1tYXJrZXIge1xuICAgICAgY29sb3I6IHZhcigtLXJwdC1jb2xvci1kYW5nZXIsICNlZjQ0NDQpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICB9XG4gICAgLnJwdC1lcnJvci10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgY29sb3I6IHZhcigtLXJwdC1jb2xvci1kYW5nZXIsICNlZjQ0NDQpO1xuICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIGBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUnB0Q2hlY2tib3hDb21wb25lbnQge1xuICByZWFkb25seSBjb25maWcgPSBpbnB1dC5yZXF1aXJlZDxSZXBvcnRDb21wb25lbnREZWZpbml0aW9uPigpO1xuICByZWFkb25seSBjb250cm9sID0gaW5wdXQ8Rm9ybUNvbnRyb2w+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBmYWxsYmFja0NvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGZvcm1Db250cm9sID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb250cm9sKCkgPz8gdGhpcy5mYWxsYmFja0NvbnRyb2wpO1xuICByZWFkb25seSBlbGVtZW50SWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmtleSB8fCB0aGlzLmNvbmZpZygpLmlkKTtcblxuICByZWFkb25seSBpc0ludmFsaWQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY3RybCA9IHRoaXMuZm9ybUNvbnRyb2woKTtcbiAgICByZXR1cm4gY3RybC5pbnZhbGlkICYmIChjdHJsLmRpcnR5IHx8IGN0cmwudG91Y2hlZCk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGVycm9yTWVzc2FnZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjdHJsID0gdGhpcy5mb3JtQ29udHJvbCgpO1xuICAgIGlmICghY3RybC5pbnZhbGlkIHx8ICghY3RybC5kaXJ0eSAmJiAhY3RybC50b3VjaGVkKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCBlcnJvcnMgPSBjdHJsLmVycm9ycztcbiAgICBpZiAoIWVycm9ycykgcmV0dXJuICcnO1xuICAgIGNvbnN0IGZpcnN0S2V5ID0gT2JqZWN0LmtleXMoZXJyb3JzKVswXTtcbiAgICByZXR1cm4gZ2V0VmFsaWRhdGlvbk1lc3NhZ2UodGhpcy5jb25maWcoKS52YWxpZGF0aW9uLCBmaXJzdEtleSk7XG4gIH0pO1xufVxuIl19
@@ -55,7 +55,7 @@ export class RptDateComponent {
55
55
  <span class="rpt-error-text">{{ errorMessage() }}</span>
56
56
  }
57
57
  </div>
58
- `, isInline: true, styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;font-family:var(--rpt-font-family, inherit)}.rpt-field-group{display:flex;flex-direction:column;height:100%;gap:4px;box-sizing:border-box}.rpt-label{font-size:var(--rpt-font-size-sm, .75rem);font-weight:500;color:var(--rpt-color-text, #0f172a);flex-shrink:0}.rpt-required-marker{color:var(--rpt-color-danger, #ef4444);margin-left:2px}.rpt-date-wrapper{position:relative;width:100%;flex:1;min-height:0;display:flex}.rpt-date-input{width:100%;height:100%;min-height:38px;box-sizing:border-box;padding:6px 12px;font-size:var(--rpt-font-size-base, .875rem);color:var(--rpt-color-text, #0f172a);background-color:var(--rpt-color-bg, #ffffff);border:1px solid var(--rpt-color-border, #cbd5e1);border-radius:var(--rpt-border-radius, 6px);transition:border-color var(--rpt-transition-speed, .15s) ease,box-shadow var(--rpt-transition-speed, .15s) ease;outline:none}.rpt-date-input:hover:not(:disabled){border-color:var(--rpt-color-border-hover, #94a3b8)}.rpt-date-input:focus{border-color:var(--rpt-color-border-focus, #2563eb);box-shadow:var(--rpt-box-shadow-focus, 0 0 0 3px rgba(37, 99, 235, .25))}.rpt-date-input:disabled{background-color:var(--rpt-color-surface, #f8fafc);color:var(--rpt-color-text-muted, #64748b);cursor:not-allowed}.rpt-date-input.rpt-invalid{border-color:var(--rpt-color-danger, #ef4444)}.rpt-date-input.rpt-invalid:focus{box-shadow:0 0 0 3px #ef444440}.rpt-error-text{font-size:var(--rpt-font-size-sm, .75rem);color:var(--rpt-color-danger, #ef4444);margin-top:2px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
58
+ `, isInline: true, styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;font-family:var(--rpt-font-family, inherit)}.rpt-field-group{display:flex;flex-direction:column;height:100%;gap:4px;box-sizing:border-box}.rpt-label{font-size:var(--rpt-font-size-sm, .75rem);font-weight:500;color:var(--rpt-color-text, #0f172a);flex-shrink:0}.rpt-required-marker{color:var(--rpt-color-danger, #ef4444);margin-left:2px}.rpt-date-wrapper{position:relative;width:100%;flex:1;min-height:0;display:flex}.rpt-date-input{width:100%;height:100%;min-height:38px;box-sizing:border-box;padding:6px 12px;font-size:var(--rpt-font-size-base, .875rem);color:var(--rpt-color-text, #0f172a);background-color:var(--rpt-color-bg, #ffffff);border:1px solid var(--rpt-color-border, #cbd5e1);border-radius:var(--rpt-border-radius, 6px);transition:border-color var(--rpt-transition-speed, .15s) ease,box-shadow var(--rpt-transition-speed, .15s) ease;outline:none}.rpt-date-input:hover:not(:disabled){border-color:var(--rpt-color-border-hover, #94a3b8)}.rpt-date-input:focus{border-color:var(--rpt-color-border-focus, #2563eb);box-shadow:var(--rpt-box-shadow-focus, 0 0 0 3px rgba(37, 99, 235, .25))}.rpt-date-input:disabled{background-color:var(--rpt-color-surface, #f8fafc);color:var(--rpt-color-text-muted, #64748b);cursor:not-allowed}.rpt-date-input.rpt-invalid{border-color:var(--rpt-color-danger, #ef4444)}.rpt-date-input.rpt-invalid:focus{box-shadow:0 0 0 3px #ef444440}.rpt-error-text{font-size:.7rem;color:var(--rpt-color-danger, #ef4444);margin-top:3px;line-height:1.25;max-width:100%;overflow-wrap:anywhere;word-break:break-word;display:block}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
59
  }
60
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RptDateComponent, decorators: [{
61
61
  type: Component,
@@ -86,6 +86,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
86
86
  <span class="rpt-error-text">{{ errorMessage() }}</span>
87
87
  }
88
88
  </div>
89
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;font-family:var(--rpt-font-family, inherit)}.rpt-field-group{display:flex;flex-direction:column;height:100%;gap:4px;box-sizing:border-box}.rpt-label{font-size:var(--rpt-font-size-sm, .75rem);font-weight:500;color:var(--rpt-color-text, #0f172a);flex-shrink:0}.rpt-required-marker{color:var(--rpt-color-danger, #ef4444);margin-left:2px}.rpt-date-wrapper{position:relative;width:100%;flex:1;min-height:0;display:flex}.rpt-date-input{width:100%;height:100%;min-height:38px;box-sizing:border-box;padding:6px 12px;font-size:var(--rpt-font-size-base, .875rem);color:var(--rpt-color-text, #0f172a);background-color:var(--rpt-color-bg, #ffffff);border:1px solid var(--rpt-color-border, #cbd5e1);border-radius:var(--rpt-border-radius, 6px);transition:border-color var(--rpt-transition-speed, .15s) ease,box-shadow var(--rpt-transition-speed, .15s) ease;outline:none}.rpt-date-input:hover:not(:disabled){border-color:var(--rpt-color-border-hover, #94a3b8)}.rpt-date-input:focus{border-color:var(--rpt-color-border-focus, #2563eb);box-shadow:var(--rpt-box-shadow-focus, 0 0 0 3px rgba(37, 99, 235, .25))}.rpt-date-input:disabled{background-color:var(--rpt-color-surface, #f8fafc);color:var(--rpt-color-text-muted, #64748b);cursor:not-allowed}.rpt-date-input.rpt-invalid{border-color:var(--rpt-color-danger, #ef4444)}.rpt-date-input.rpt-invalid:focus{box-shadow:0 0 0 3px #ef444440}.rpt-error-text{font-size:var(--rpt-font-size-sm, .75rem);color:var(--rpt-color-danger, #ef4444);margin-top:2px}\n"] }]
89
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;font-family:var(--rpt-font-family, inherit)}.rpt-field-group{display:flex;flex-direction:column;height:100%;gap:4px;box-sizing:border-box}.rpt-label{font-size:var(--rpt-font-size-sm, .75rem);font-weight:500;color:var(--rpt-color-text, #0f172a);flex-shrink:0}.rpt-required-marker{color:var(--rpt-color-danger, #ef4444);margin-left:2px}.rpt-date-wrapper{position:relative;width:100%;flex:1;min-height:0;display:flex}.rpt-date-input{width:100%;height:100%;min-height:38px;box-sizing:border-box;padding:6px 12px;font-size:var(--rpt-font-size-base, .875rem);color:var(--rpt-color-text, #0f172a);background-color:var(--rpt-color-bg, #ffffff);border:1px solid var(--rpt-color-border, #cbd5e1);border-radius:var(--rpt-border-radius, 6px);transition:border-color var(--rpt-transition-speed, .15s) ease,box-shadow var(--rpt-transition-speed, .15s) ease;outline:none}.rpt-date-input:hover:not(:disabled){border-color:var(--rpt-color-border-hover, #94a3b8)}.rpt-date-input:focus{border-color:var(--rpt-color-border-focus, #2563eb);box-shadow:var(--rpt-box-shadow-focus, 0 0 0 3px rgba(37, 99, 235, .25))}.rpt-date-input:disabled{background-color:var(--rpt-color-surface, #f8fafc);color:var(--rpt-color-text-muted, #64748b);cursor:not-allowed}.rpt-date-input.rpt-invalid{border-color:var(--rpt-color-danger, #ef4444)}.rpt-date-input.rpt-invalid:focus{box-shadow:0 0 0 3px #ef444440}.rpt-error-text{font-size:.7rem;color:var(--rpt-color-danger, #ef4444);margin-top:3px;line-height:1.25;max-width:100%;overflow-wrap:anywhere;word-break:break-word;display:block}\n"] }]
90
90
  }] });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnB0LWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYndheXMtcmVwb3J0L3NyYy9saWIvcHJpbWl0aXZlcy9jb21wb25lbnRzL2RhdGUvcnB0LWRhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7OztBQTJHbkYsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBNkIsQ0FBQztJQUNyRCxPQUFPLEdBQUcsS0FBSyxFQUFlLENBQUM7SUFFdkIsZUFBZSxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTlDLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNyRSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ25HLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBWSxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQ3BGLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBWSxJQUFJLElBQUksQ0FBQyxDQUFDO0lBRXBGLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDLENBQUMsQ0FBQztJQUVNLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3BELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN2QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNsRSxDQUFDLENBQUMsQ0FBQzt3R0ExQlEsZ0JBQWdCOzRGQUFoQixnQkFBZ0Isd1VBckdqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJULHFsREE1QlMsbUJBQW1COzs0RkFzR2xCLGdCQUFnQjtrQkF6RzVCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLG1CQUFtQixDQUFDLFlBQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQlQsbUJBd0VnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJlcG9ydENvbXBvbmVudERlZmluaXRpb24gfSBmcm9tICcuLi8uLi8uLi9jb3JlL21vZGVscy9yZXBvcnQtY29tcG9uZW50Lm1vZGVsJztcbmltcG9ydCB7IGdldFZhbGlkYXRpb25NZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS92YWxpZGF0aW9uL3ZhbGlkYXRpb24tZmFjdG9yeSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JwdC1kYXRlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJycHQtZmllbGQtZ3JvdXBcIj5cbiAgICAgIEBpZiAoY29uZmlnKCkubGFiZWwpIHtcbiAgICAgICAgPGxhYmVsIFtmb3JdPVwiZWxlbWVudElkKClcIiBjbGFzcz1cInJwdC1sYWJlbFwiPlxuICAgICAgICAgIHt7IGNvbmZpZygpLmxhYmVsIH19XG4gICAgICAgICAgQGlmIChjb25maWcoKS52YWxpZGF0aW9uPy5yZXF1aXJlZCkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtcmVxdWlyZWQtbWFya2VyXCI+Kjwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJycHQtZGF0ZS13cmFwcGVyXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIFtpZF09XCJlbGVtZW50SWQoKVwiXG4gICAgICAgICAgW3R5cGVdPVwiZGF0ZVR5cGUoKVwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICAgIFttaW5dPVwibWluRGF0ZSgpXCJcbiAgICAgICAgICBbbWF4XT1cIm1heERhdGUoKVwiXG4gICAgICAgICAgW2NsYXNzLnJwdC1pbnZhbGlkXT1cImlzSW52YWxpZCgpXCJcbiAgICAgICAgICBjbGFzcz1cInJwdC1kYXRlLWlucHV0XCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKGVycm9yTWVzc2FnZSgpKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicnB0LWVycm9yLXRleHRcIj57eyBlcnJvck1lc3NhZ2UoKSB9fTwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIDpob3N0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLXJwdC1mb250LWZhbWlseSwgaW5oZXJpdCk7XG4gICAgfVxuICAgIC5ycHQtZmllbGQtZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBnYXA6IDRweDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgIC5ycHQtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1ycHQtZm9udC1zaXplLXNtLCAwLjc1cmVtKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogdmFyKC0tcnB0LWNvbG9yLXRleHQsICMwZjE3MmEpO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICAgIC5ycHQtcmVxdWlyZWQtbWFya2VyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1ycHQtY29sb3ItZGFuZ2VyLCAjZWY0NDQ0KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgfVxuICAgIC5ycHQtZGF0ZS13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleDogMTtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAucnB0LWRhdGUtaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAzOHB4O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1ycHQtZm9udC1zaXplLWJhc2UsIDAuODc1cmVtKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1ycHQtY29sb3ItdGV4dCwgIzBmMTcyYSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ycHQtY29sb3ItYmcsICNmZmZmZmYpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnB0LWNvbG9yLWJvcmRlciwgI2NiZDVlMSk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ycHQtYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1ycHQtdHJhbnNpdGlvbi1zcGVlZCwgMTUwbXMpIGVhc2UsXG4gICAgICAgICAgICAgICAgICBib3gtc2hhZG93IHZhcigtLXJwdC10cmFuc2l0aW9uLXNwZWVkLCAxNTBtcykgZWFzZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICAgIC5ycHQtZGF0ZS1pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXJwdC1jb2xvci1ib3JkZXItaG92ZXIsICM5NGEzYjgpO1xuICAgIH1cbiAgICAucnB0LWRhdGUtaW5wdXQ6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ycHQtY29sb3ItYm9yZGVyLWZvY3VzLCAjMjU2M2ViKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXJwdC1ib3gtc2hhZG93LWZvY3VzLCAwIDAgMCAzcHggcmdiYSgzNywgOTksIDIzNSwgMC4yNSkpO1xuICAgIH1cbiAgICAucnB0LWRhdGUtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnB0LWNvbG9yLXN1cmZhY2UsICNmOGZhZmMpO1xuICAgICAgY29sb3I6IHZhcigtLXJwdC1jb2xvci10ZXh0LW11dGVkLCAjNjQ3NDhiKTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICAgIC5ycHQtZGF0ZS1pbnB1dC5ycHQtaW52YWxpZCB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXJwdC1jb2xvci1kYW5nZXIsICNlZjQ0NDQpO1xuICAgIH1cbiAgICAucnB0LWRhdGUtaW5wdXQucnB0LWludmFsaWQ6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMjM5LCA2OCwgNjgsIDAuMjUpO1xuICAgIH1cbiAgICAucnB0LWVycm9yLXRleHQge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1ycHQtZm9udC1zaXplLXNtLCAwLjc1cmVtKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1ycHQtY29sb3ItZGFuZ2VyLCAjZWY0NDQ0KTtcbiAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICB9XG4gIGBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUnB0RGF0ZUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPFJlcG9ydENvbXBvbmVudERlZmluaXRpb24+KCk7XG4gIHJlYWRvbmx5IGNvbnRyb2wgPSBpbnB1dDxGb3JtQ29udHJvbD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGZhbGxiYWNrQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG5cbiAgcmVhZG9ubHkgZm9ybUNvbnRyb2wgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbnRyb2woKSA/PyB0aGlzLmZhbGxiYWNrQ29udHJvbCk7XG4gIHJlYWRvbmx5IGVsZW1lbnRJZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkua2V5IHx8IHRoaXMuY29uZmlnKCkuaWQpO1xuICByZWFkb25seSBkYXRlVHlwZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmNvbmZpZygpLnByb3BlcnRpZXM/LlsnaW5jbHVkZVRpbWUnXSA/ICdkYXRldGltZS1sb2NhbCcgOiAnZGF0ZScpKTtcbiAgcmVhZG9ubHkgbWluRGF0ZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmNvbmZpZygpLnByb3BlcnRpZXM/LlsnbWluRGF0ZSddIGFzIHN0cmluZykgfHwgbnVsbCk7XG4gIHJlYWRvbmx5IG1heERhdGUgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5jb25maWcoKS5wcm9wZXJ0aWVzPy5bJ21heERhdGUnXSBhcyBzdHJpbmcpIHx8IG51bGwpO1xuXG4gIHJlYWRvbmx5IGlzSW52YWxpZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjdHJsID0gdGhpcy5mb3JtQ29udHJvbCgpO1xuICAgIHJldHVybiBjdHJsLmludmFsaWQgJiYgKGN0cmwuZGlydHkgfHwgY3RybC50b3VjaGVkKTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgZXJyb3JNZXNzYWdlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGN0cmwgPSB0aGlzLmZvcm1Db250cm9sKCk7XG4gICAgaWYgKCFjdHJsLmludmFsaWQgfHwgKCFjdHJsLmRpcnR5ICYmICFjdHJsLnRvdWNoZWQpKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGNvbnN0IGVycm9ycyA9IGN0cmwuZXJyb3JzO1xuICAgIGlmICghZXJyb3JzKSByZXR1cm4gJyc7XG4gICAgY29uc3QgZmlyc3RLZXkgPSBPYmplY3Qua2V5cyhlcnJvcnMpWzBdO1xuICAgIHJldHVybiBnZXRWYWxpZGF0aW9uTWVzc2FnZSh0aGlzLmNvbmZpZygpLnZhbGlkYXRpb24sIGZpcnN0S2V5KTtcbiAgfSk7XG59XG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnB0LWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYndheXMtcmVwb3J0L3NyYy9saWIvcHJpbWl0aXZlcy9jb21wb25lbnRzL2RhdGUvcnB0LWRhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7OztBQWdIbkYsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBNkIsQ0FBQztJQUNyRCxPQUFPLEdBQUcsS0FBSyxFQUFlLENBQUM7SUFFdkIsZUFBZSxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTlDLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNyRSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ25HLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBWSxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQ3BGLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBWSxJQUFJLElBQUksQ0FBQyxDQUFDO0lBRXBGLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDLENBQUMsQ0FBQztJQUVNLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3BELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN2QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNsRSxDQUFDLENBQUMsQ0FBQzt3R0ExQlEsZ0JBQWdCOzRGQUFoQixnQkFBZ0Isd1VBMUdqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJULHNwREE1QlMsbUJBQW1COzs0RkEyR2xCLGdCQUFnQjtrQkE5RzVCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLG1CQUFtQixDQUFDLFlBQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQlQsbUJBNkVnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJlcG9ydENvbXBvbmVudERlZmluaXRpb24gfSBmcm9tICcuLi8uLi8uLi9jb3JlL21vZGVscy9yZXBvcnQtY29tcG9uZW50Lm1vZGVsJztcbmltcG9ydCB7IGdldFZhbGlkYXRpb25NZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS92YWxpZGF0aW9uL3ZhbGlkYXRpb24tZmFjdG9yeSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JwdC1kYXRlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJycHQtZmllbGQtZ3JvdXBcIj5cbiAgICAgIEBpZiAoY29uZmlnKCkubGFiZWwpIHtcbiAgICAgICAgPGxhYmVsIFtmb3JdPVwiZWxlbWVudElkKClcIiBjbGFzcz1cInJwdC1sYWJlbFwiPlxuICAgICAgICAgIHt7IGNvbmZpZygpLmxhYmVsIH19XG4gICAgICAgICAgQGlmIChjb25maWcoKS52YWxpZGF0aW9uPy5yZXF1aXJlZCkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJycHQtcmVxdWlyZWQtbWFya2VyXCI+Kjwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJycHQtZGF0ZS13cmFwcGVyXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIFtpZF09XCJlbGVtZW50SWQoKVwiXG4gICAgICAgICAgW3R5cGVdPVwiZGF0ZVR5cGUoKVwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICAgIFttaW5dPVwibWluRGF0ZSgpXCJcbiAgICAgICAgICBbbWF4XT1cIm1heERhdGUoKVwiXG4gICAgICAgICAgW2NsYXNzLnJwdC1pbnZhbGlkXT1cImlzSW52YWxpZCgpXCJcbiAgICAgICAgICBjbGFzcz1cInJwdC1kYXRlLWlucHV0XCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKGVycm9yTWVzc2FnZSgpKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicnB0LWVycm9yLXRleHRcIj57eyBlcnJvck1lc3NhZ2UoKSB9fTwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIDpob3N0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLXJwdC1mb250LWZhbWlseSwgaW5oZXJpdCk7XG4gICAgfVxuICAgIC5ycHQtZmllbGQtZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBnYXA6IDRweDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgIC5ycHQtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1ycHQtZm9udC1zaXplLXNtLCAwLjc1cmVtKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogdmFyKC0tcnB0LWNvbG9yLXRleHQsICMwZjE3MmEpO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICAgIC5ycHQtcmVxdWlyZWQtbWFya2VyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1ycHQtY29sb3ItZGFuZ2VyLCAjZWY0NDQ0KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgfVxuICAgIC5ycHQtZGF0ZS13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleDogMTtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAucnB0LWRhdGUtaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAzOHB4O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1ycHQtZm9udC1zaXplLWJhc2UsIDAuODc1cmVtKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1ycHQtY29sb3ItdGV4dCwgIzBmMTcyYSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ycHQtY29sb3ItYmcsICNmZmZmZmYpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcnB0LWNvbG9yLWJvcmRlciwgI2NiZDVlMSk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ycHQtYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1ycHQtdHJhbnNpdGlvbi1zcGVlZCwgMTUwbXMpIGVhc2UsXG4gICAgICAgICAgICAgICAgICBib3gtc2hhZG93IHZhcigtLXJwdC10cmFuc2l0aW9uLXNwZWVkLCAxNTBtcykgZWFzZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICAgIC5ycHQtZGF0ZS1pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXJwdC1jb2xvci1ib3JkZXItaG92ZXIsICM5NGEzYjgpO1xuICAgIH1cbiAgICAucnB0LWRhdGUtaW5wdXQ6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ycHQtY29sb3ItYm9yZGVyLWZvY3VzLCAjMjU2M2ViKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXJwdC1ib3gtc2hhZG93LWZvY3VzLCAwIDAgMCAzcHggcmdiYSgzNywgOTksIDIzNSwgMC4yNSkpO1xuICAgIH1cbiAgICAucnB0LWRhdGUtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnB0LWNvbG9yLXN1cmZhY2UsICNmOGZhZmMpO1xuICAgICAgY29sb3I6IHZhcigtLXJwdC1jb2xvci10ZXh0LW11dGVkLCAjNjQ3NDhiKTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICAgIC5ycHQtZGF0ZS1pbnB1dC5ycHQtaW52YWxpZCB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXJwdC1jb2xvci1kYW5nZXIsICNlZjQ0NDQpO1xuICAgIH1cbiAgICAucnB0LWRhdGUtaW5wdXQucnB0LWludmFsaWQ6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMjM5LCA2OCwgNjgsIDAuMjUpO1xuICAgIH1cbiAgICAucnB0LWVycm9yLXRleHQge1xuICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICBjb2xvcjogdmFyKC0tcnB0LWNvbG9yLWRhbmdlciwgI2VmNDQ0NCk7XG4gICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgYF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBScHREYXRlQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8UmVwb3J0Q29tcG9uZW50RGVmaW5pdGlvbj4oKTtcbiAgcmVhZG9ubHkgY29udHJvbCA9IGlucHV0PEZvcm1Db250cm9sPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZmFsbGJhY2tDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnKTtcblxuICByZWFkb25seSBmb3JtQ29udHJvbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29udHJvbCgpID8/IHRoaXMuZmFsbGJhY2tDb250cm9sKTtcbiAgcmVhZG9ubHkgZWxlbWVudElkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5rZXkgfHwgdGhpcy5jb25maWcoKS5pZCk7XG4gIHJlYWRvbmx5IGRhdGVUeXBlID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuY29uZmlnKCkucHJvcGVydGllcz8uWydpbmNsdWRlVGltZSddID8gJ2RhdGV0aW1lLWxvY2FsJyA6ICdkYXRlJykpO1xuICByZWFkb25seSBtaW5EYXRlID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuY29uZmlnKCkucHJvcGVydGllcz8uWydtaW5EYXRlJ10gYXMgc3RyaW5nKSB8fCBudWxsKTtcbiAgcmVhZG9ubHkgbWF4RGF0ZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmNvbmZpZygpLnByb3BlcnRpZXM/LlsnbWF4RGF0ZSddIGFzIHN0cmluZykgfHwgbnVsbCk7XG5cbiAgcmVhZG9ubHkgaXNJbnZhbGlkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGN0cmwgPSB0aGlzLmZvcm1Db250cm9sKCk7XG4gICAgcmV0dXJuIGN0cmwuaW52YWxpZCAmJiAoY3RybC5kaXJ0eSB8fCBjdHJsLnRvdWNoZWQpO1xuICB9KTtcblxuICByZWFkb25seSBlcnJvck1lc3NhZ2UgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY3RybCA9IHRoaXMuZm9ybUNvbnRyb2woKTtcbiAgICBpZiAoIWN0cmwuaW52YWxpZCB8fCAoIWN0cmwuZGlydHkgJiYgIWN0cmwudG91Y2hlZCkpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3QgZXJyb3JzID0gY3RybC5lcnJvcnM7XG4gICAgaWYgKCFlcnJvcnMpIHJldHVybiAnJztcbiAgICBjb25zdCBmaXJzdEtleSA9IE9iamVjdC5rZXlzKGVycm9ycylbMF07XG4gICAgcmV0dXJuIGdldFZhbGlkYXRpb25NZXNzYWdlKHRoaXMuY29uZmlnKCkudmFsaWRhdGlvbiwgZmlyc3RLZXkpO1xuICB9KTtcbn1cbiJdfQ==