@seniorsistemas/data-seniorx-core 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/core/config/card.type.config.d.ts +2 -0
  2. package/core/config/row-card.type.config.d.ts +2 -0
  3. package/core/types/button.type.d.ts +2 -0
  4. package/core/types/card.type.d.ts +36 -0
  5. package/core/types/filters.type.d.ts +27 -0
  6. package/core/types/row-card.type.d.ts +39 -0
  7. package/core/types/semantics.type.d.ts +5 -0
  8. package/core/types/tab.type.d.ts +5 -0
  9. package/core/types/table.types.d.ts +2 -2
  10. package/esm2022/core/config/card.type.config.mjs +18 -0
  11. package/esm2022/core/config/row-card.type.config.mjs +20 -0
  12. package/esm2022/core/types/button.type.mjs +2 -0
  13. package/esm2022/core/types/card.type.mjs +39 -0
  14. package/esm2022/core/types/filters.type.mjs +2 -0
  15. package/esm2022/core/types/row-card.type.mjs +59 -0
  16. package/esm2022/core/types/semantics.type.mjs +1 -1
  17. package/esm2022/core/types/tab.type.mjs +2 -0
  18. package/esm2022/core/types/table.types.mjs +4 -2
  19. package/esm2022/features/button/button.component.mjs +5 -5
  20. package/esm2022/features/card-list/card/card.component.mjs +34 -0
  21. package/esm2022/features/card-list/card-list.component.mjs +136 -0
  22. package/esm2022/features/checkbox/checkbox.component.mjs +5 -5
  23. package/esm2022/features/combobox/combobox.component.mjs +88 -28
  24. package/esm2022/features/confirm/confirm.component.mjs +13 -13
  25. package/esm2022/features/filters/filters.component.mjs +190 -0
  26. package/esm2022/features/hyperlink/hyperlink.component.mjs +14 -14
  27. package/esm2022/features/inputs.mjs +1 -1
  28. package/esm2022/features/list/list.component.mjs +14 -14
  29. package/esm2022/features/modal/modal.component.mjs +11 -11
  30. package/esm2022/features/modalc/modalc.component.mjs +19 -13
  31. package/esm2022/features/paginator/paginator.component.mjs +43 -0
  32. package/esm2022/features/panel/panel.component.mjs +11 -11
  33. package/esm2022/features/row-card-list/row-card/row-card.component.mjs +58 -0
  34. package/esm2022/features/row-card-list/row-card-list.component.mjs +150 -0
  35. package/esm2022/features/scaffold/scaffold.component.mjs +4 -4
  36. package/esm2022/features/searchbox/searchbox.component.mjs +7 -6
  37. package/esm2022/features/sidebar/sidebar.component.mjs +6 -4
  38. package/esm2022/features/spinner/spinner.component.mjs +6 -8
  39. package/esm2022/features/sql-editor/sql-editor.component.mjs +34 -36
  40. package/esm2022/features/tab/tab.component.mjs +8 -7
  41. package/esm2022/features/table/table.component.mjs +52 -47
  42. package/esm2022/features/textbox/textbox.component.mjs +16 -9
  43. package/esm2022/features/toast/toast.component.mjs +17 -21
  44. package/esm2022/locales/en.json +6 -1
  45. package/esm2022/locales/es-CO.json +7 -2
  46. package/esm2022/locales/pt.json +6 -1
  47. package/esm2022/public-api.mjs +5 -1
  48. package/features/button/button.component.d.ts +5 -3
  49. package/features/card-list/card/card.component.d.ts +11 -0
  50. package/features/card-list/card-list.component.d.ts +36 -0
  51. package/features/combobox/combobox.component.d.ts +25 -8
  52. package/features/confirm/confirm.component.d.ts +4 -4
  53. package/features/filters/filters.component.d.ts +36 -0
  54. package/features/hyperlink/hyperlink.component.d.ts +3 -3
  55. package/features/list/list.component.d.ts +3 -3
  56. package/features/modal/modal.component.d.ts +3 -3
  57. package/features/paginator/paginator.component.d.ts +15 -0
  58. package/features/panel/panel.component.d.ts +4 -4
  59. package/features/row-card-list/row-card/row-card.component.d.ts +18 -0
  60. package/features/row-card-list/row-card-list.component.d.ts +40 -0
  61. package/features/searchbox/searchbox.component.d.ts +1 -1
  62. package/features/spinner/spinner.component.d.ts +1 -1
  63. package/features/sql-editor/sql-editor.component.d.ts +8 -8
  64. package/features/tab/tab.component.d.ts +2 -8
  65. package/features/table/table.component.d.ts +5 -6
  66. package/features/toast/toast.component.d.ts +5 -5
  67. package/fesm2022/seniorsistemas-data-seniorx-core.mjs +883 -226
  68. package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
  69. package/package.json +1 -1
  70. package/public-api.d.ts +4 -0
  71. package/styles.css +49 -48
  72. package/styles.css.map +1 -1
@@ -1,36 +1,36 @@
1
+ import { CommonModule } from '@angular/common';
1
2
  import { autocompletion } from '@codemirror/autocomplete';
2
3
  import { ayuLight } from 'thememirror';
3
4
  import { basicSetup } from 'codemirror';
4
- import { CommonModule } from '@angular/common';
5
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
- import { createSqlAutoCompletionHadler } from '../../core/handlers/sqlAutoComplete';
7
5
  import { EditorView } from '@codemirror/view';
8
6
  import { PostgreSQL, sql } from '@codemirror/lang-sql';
7
+ import { StateEffect } from '@codemirror/state';
8
+ import { createSqlAutoCompletionHadler } from '../../core/handlers/sqlAutoComplete';
9
9
  import { sqlDomainFilterDecorator } from '../../core/decorators/sqlDomainFilter';
10
10
  import { sqlFormatterHandler } from '../../core/handlers/sqlFormatter';
11
11
  import { sqlUppercaseHandler } from '../../core/handlers/sqlUppercase';
12
- import { StateEffect } from '@codemirror/state';
13
- import { Component, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
12
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
13
+ import { Component, EventEmitter, forwardRef, Input, Output, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, } from '@angular/core';
14
14
  import * as i0 from "@angular/core";
15
15
  export class SqlEditorComponent {
16
- height = null;
17
16
  sql = '';
17
+ height = null;
18
18
  width = null;
19
- onDomainFilter = new EventEmitter();
20
- editorContainer;
21
19
  set schema(value) {
22
20
  this.$schema = value;
23
- this.updateEditorExtensions(); // atualiza se schema mudar
21
+ this.updateEditorExtensions();
24
22
  }
23
+ onDomainFilter = new EventEmitter();
24
+ editorContainer;
25
25
  $editor;
26
- $onChange = (value) => { };
26
+ $onChange = () => { };
27
27
  $onTouched = () => { };
28
28
  $schema = {};
29
29
  ngOnInit() {
30
30
  this.$editor = new EditorView({
31
31
  doc: this.sql,
32
32
  parent: this.editorContainer.nativeElement,
33
- extensions: this.buildExtensions()
33
+ extensions: this.buildExtensions(),
34
34
  });
35
35
  }
36
36
  ngOnDestroy() {
@@ -39,7 +39,7 @@ export class SqlEditorComponent {
39
39
  writeValue(value) {
40
40
  if (this.$editor && value !== this.$editor.state.doc.toString()) {
41
41
  this.$editor.dispatch({
42
- changes: { from: 0, to: this.$editor.state.doc.length, insert: value }
42
+ changes: { from: 0, to: this.$editor.state.doc.length, insert: value },
43
43
  });
44
44
  }
45
45
  }
@@ -56,12 +56,12 @@ export class SqlEditorComponent {
56
56
  getStyles() {
57
57
  const styles = [];
58
58
  if (this.width) {
59
- const width = typeof this.width === 'number' ? `${this.width}px` : this.width;
60
- styles.push(`width:${width}`);
59
+ const w = typeof this.width === 'number' ? `${this.width}px` : this.width;
60
+ styles.push(`width:${w}`);
61
61
  }
62
62
  if (this.height) {
63
- const height = typeof this.height === 'number' ? `${this.height}px` : this.height;
64
- styles.push(`height:${height}`);
63
+ const h = typeof this.height === 'number' ? `${this.height}px` : this.height;
64
+ styles.push(`height:${h}`);
65
65
  }
66
66
  return styles.join(';');
67
67
  }
@@ -74,54 +74,52 @@ export class SqlEditorComponent {
74
74
  sql({ dialect: PostgreSQL }),
75
75
  sqlDomainFilterDecorator(token => this.onDomainFilter.emit(token)),
76
76
  autocompletion({
77
- override: [createSqlAutoCompletionHadler(this.$schema)]
77
+ override: [createSqlAutoCompletionHadler(this.$schema)],
78
78
  }),
79
79
  EditorView.updateListener.of(update => {
80
80
  if (update.docChanged) {
81
- const newValue = update.state.doc.toString();
82
- this.$onChange(newValue);
81
+ this.$onChange(update.state.doc.toString());
83
82
  }
84
- })
83
+ }),
85
84
  ];
86
85
  }
87
86
  updateEditorExtensions() {
88
- if (!this.$editor) {
87
+ if (!this.$editor)
89
88
  return;
90
- }
91
89
  this.$editor.dispatch({
92
- effects: StateEffect.reconfigure.of(this.buildExtensions())
90
+ effects: StateEffect.reconfigure.of(this.buildExtensions()),
93
91
  });
94
92
  }
95
93
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SqlEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
96
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SqlEditorComponent, isStandalone: true, selector: "sdc-sql-editor", inputs: { height: "height", sql: "sql", width: "width", schema: "schema" }, outputs: { onDomainFilter: "onDomainFilter" }, providers: [
94
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SqlEditorComponent, isStandalone: true, selector: "sdc-sql-editor", inputs: { sql: "sql", height: "height", width: "width", schema: "schema" }, outputs: { onDomainFilter: "onDomainFilter" }, providers: [
97
95
  {
98
96
  provide: NG_VALUE_ACCESSOR,
99
97
  useExisting: forwardRef(() => SqlEditorComponent),
100
- multi: true
101
- }
102
- ], viewQueries: [{ propertyName: "editorContainer", first: true, predicate: ["editorContainer"], descendants: true, static: true }], ngImport: i0, template: "<div #editorContainer class=\"sdc-sql-editor\" [style]=\"getStyles()\"></div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
98
+ multi: true,
99
+ },
100
+ ], viewQueries: [{ propertyName: "editorContainer", first: true, predicate: ["editorContainer"], descendants: true, static: true }], ngImport: i0, template: "<div #editorContainer class=\"sdc-sql-editor\" [style]=\"getStyles()\"></div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
103
101
  }
104
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SqlEditorComponent, decorators: [{
105
103
  type: Component,
106
- args: [{ imports: [CommonModule], providers: [
104
+ args: [{ selector: 'sdc-sql-editor', standalone: true, imports: [CommonModule], providers: [
107
105
  {
108
106
  provide: NG_VALUE_ACCESSOR,
109
107
  useExisting: forwardRef(() => SqlEditorComponent),
110
- multi: true
111
- }
112
- ], standalone: true, selector: 'sdc-sql-editor', template: "<div #editorContainer class=\"sdc-sql-editor\" [style]=\"getStyles()\"></div>" }]
113
- }], propDecorators: { height: [{
108
+ multi: true,
109
+ },
110
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div #editorContainer class=\"sdc-sql-editor\" [style]=\"getStyles()\"></div>" }]
111
+ }], propDecorators: { sql: [{
114
112
  type: Input
115
- }], sql: [{
113
+ }], height: [{
116
114
  type: Input
117
115
  }], width: [{
118
116
  type: Input
117
+ }], schema: [{
118
+ type: Input
119
119
  }], onDomainFilter: [{
120
120
  type: Output
121
121
  }], editorContainer: [{
122
122
  type: ViewChild,
123
123
  args: ['editorContainer', { static: true }]
124
- }], schema: [{
125
- type: Input
126
124
  }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NxbC1lZGl0b3Ivc3FsLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NxbC1lZGl0b3Ivc3FsLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLDZCQUE2QixFQUFVLE1BQU0scUNBQXFDLENBQUM7QUFDNUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQzs7QUFnQnZCLE1BQU0sT0FBTyxrQkFBa0I7SUFDcEIsTUFBTSxHQUEy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U0FBUzs4QkFDQyxDQUFDLFlBQVksQ0FBQyxhQUNaO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixjQUNXLElBQUksWUFDTixnQkFBZ0I7OEJBS2pCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ3lDLGVBQWU7c0JBQTlELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVqQyxNQUFNO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXV0b2NvbXBsZXRpb24gfSBmcm9tICdAY29kZW1pcnJvci9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgYXl1TGlnaHQgfSBmcm9tICd0aGVtZW1pcnJvcic7XG5pbXBvcnQgeyBiYXNpY1NldHVwIH0gZnJvbSAnY29kZW1pcnJvcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY3JlYXRlU3FsQXV0b0NvbXBsZXRpb25IYWRsZXIsIFNjaGVtYSB9IGZyb20gJy4uLy4uL2NvcmUvaGFuZGxlcnMvc3FsQXV0b0NvbXBsZXRlJztcbmltcG9ydCB7IEVkaXRvclZpZXcgfSBmcm9tICdAY29kZW1pcnJvci92aWV3JztcbmltcG9ydCB7IFBvc3RncmVTUUwsIHNxbCB9IGZyb20gJ0Bjb2RlbWlycm9yL2xhbmctc3FsJztcbmltcG9ydCB7IHNxbERvbWFpbkZpbHRlckRlY29yYXRvciB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy9zcWxEb21haW5GaWx0ZXInO1xuaW1wb3J0IHsgc3FsRm9ybWF0dGVySGFuZGxlciB9IGZyb20gJy4uLy4uL2NvcmUvaGFuZGxlcnMvc3FsRm9ybWF0dGVyJztcbmltcG9ydCB7IHNxbFVwcGVyY2FzZUhhbmRsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2hhbmRsZXJzL3NxbFVwcGVyY2FzZSc7XG5pbXBvcnQgeyBTdGF0ZUVmZmVjdCB9IGZyb20gJ0Bjb2RlbWlycm9yL3N0YXRlJztcblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTcWxFZGl0b3JDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc2RjLXNxbC1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vc3FsLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zcWwtZWRpdG9yLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBTcWxFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBoZWlnaHQ6IG51bGwgfCBzdHJpbmcgfCBudW1iZXIgPSBudWxsO1xuICBASW5wdXQoKSBzcWwgPSAnJztcbiAgQElucHV0KCkgd2lkdGg6IG51bGwgfCBzdHJpbmcgfCBudW1iZXIgPSBudWxsO1xuICBAT3V0cHV0KCkgb25Eb21haW5GaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQFZpZXdDaGlsZCgnZWRpdG9yQ29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSkgZWRpdG9yQ29udGFpbmVyITogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKSBzZXQgc2NoZW1hKHZhbHVlOiBTY2hlbWEpIHtcbiAgICB0aGlzLiRzY2hlbWEgPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZUVkaXRvckV4dGVuc2lvbnMoKTsgLy8gYXR1YWxpemEgc2Ugc2NoZW1hIG11ZGFyXG4gIH1cblxuICBwcml2YXRlICRlZGl0b3IhOiBFZGl0b3JWaWV3O1xuICBwcml2YXRlICRvbkNoYW5nZSA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7fTtcbiAgcHJpdmF0ZSAkb25Ub3VjaGVkID0gKCkgPT4ge307XG4gIHByaXZhdGUgJHNjaGVtYTogU2NoZW1hID0ge307XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4kZWRpdG9yID0gbmV3IEVkaXRvclZpZXcoe1xuICAgICAgZG9jOiB0aGlzLnNxbCxcbiAgICAgIHBhcmVudDogdGhpcy5lZGl0b3JDb250YWluZXIubmF0aXZlRWxlbWVudCxcbiAgICAgIGV4dGVuc2lvbnM6IHRoaXMuYnVpbGRFeHRlbnNpb25zKClcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuJGVkaXRvcj8uZGVzdHJveSgpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuJGVkaXRvciAmJiB2YWx1ZSAhPT0gdGhpcy4kZWRpdG9yLnN0YXRlLmRvYy50b1N0cmluZygpKSB7XG4gICAgICB0aGlzLiRlZGl0b3IuZGlzcGF0Y2goe1xuICAgICAgICBjaGFuZ2VzOiB7IGZyb206IDAsIHRvOiB0aGlzLiRlZGl0b3Iuc3RhdGUuZG9jLmxlbmd0aCwgaW5zZXJ0OiB2YWx1ZSB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLiRvbkNoYW5nZSA9IGZuO1xuICAgIHRoaXMuJG9uVG91Y2hlZCgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuJG9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuJGVkaXRvcj8uY29udGVudERPTS5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsIFN0cmluZyghaXNEaXNhYmxlZCkpO1xuICB9XG5cbiAgZ2V0U3R5bGVzKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3R5bGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaWYgKHRoaXMud2lkdGgpIHtcbiAgICAgIGNvbnN0IHdpZHRoOiBzdHJpbmcgPSB0eXBlb2YgdGhpcy53aWR0aCA9PT0gJ251bWJlcicgPyBgJHt0aGlzLndpZHRofXB4YCA6IHRoaXMud2lkdGg7XG4gICAgICBzdHlsZXMucHVzaChgd2lkdGg6JHt3aWR0aH1gKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oZWlnaHQpIHtcbiAgICAgIGNvbnN0IGhlaWdodDogc3RyaW5nID0gdHlwZW9mIHRoaXMuaGVpZ2h0ID09PSAnbnVtYmVyJyA/IGAke3RoaXMuaGVpZ2h0fXB4YCA6IHRoaXMuaGVpZ2h0O1xuICAgICAgc3R5bGVzLnB1c2goYGhlaWdodDoke2hlaWdodH1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3R5bGVzLmpvaW4oJzsnKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRFeHRlbnNpb25zKCk6IGFueVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgYmFzaWNTZXR1cCxcbiAgICAgIGF5dUxpZ2h0LFxuICAgICAgc3FsVXBwZXJjYXNlSGFuZGxlcigpLFxuICAgICAgc3FsRm9ybWF0dGVySGFuZGxlcigpLFxuICAgICAgc3FsKHsgZGlhbGVjdDogUG9zdGdyZVNRTCB9KSxcbiAgICAgIHNxbERvbWFpbkZpbHRlckRlY29yYXRvcih0b2tlbiA9PiB0aGlzLm9uRG9tYWluRmlsdGVyLmVtaXQodG9rZW4pKSxcbiAgICAgIGF1dG9jb21wbGV0aW9uKHtcbiAgICAgICAgb3ZlcnJpZGU6IFtjcmVhdGVTcWxBdXRvQ29tcGxldGlvbkhhZGxlcih0aGlzLiRzY2hlbWEpXVxuICAgICAgfSksXG4gICAgICBFZGl0b3JWaWV3LnVwZGF0ZUxpc3RlbmVyLm9mKHVwZGF0ZSA9PiB7XG4gICAgICAgIGlmICh1cGRhdGUuZG9jQ2hhbmdlZCkge1xuICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdXBkYXRlLnN0YXRlLmRvYy50b1N0cmluZygpO1xuICAgICAgICAgIHRoaXMuJG9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVFZGl0b3JFeHRlbnNpb25zKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy4kZWRpdG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy4kZWRpdG9yLmRpc3BhdGNoKHtcbiAgICAgIGVmZmVjdHM6IFN0YXRlRWZmZWN0LnJlY29uZmlndXJlLm9mKHRoaXMuYnVpbGRFeHRlbnNpb25zKCkpXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgI2VkaXRvckNvbnRhaW5lciBjbGFzcz1cInNkYy1zcWwtZWRpdG9yXCIgW3N0eWxlXT1cImdldFN0eWxlcygpXCI+PC9kaXY+Il19
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NxbC1lZGl0b3Ivc3FsLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3NxbC1lZGl0b3Ivc3FsLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLDZCQUE2QixFQUFVLE1BQU0scUNBQXFDLENBQUM7QUFDNUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOztBQWtCdkIsTUFBTSxP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QUMsYUFHWjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVE7OEJBR2hDLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVPLE1BQU07c0JBQWxCLEtBQUs7Z0JBS0ksY0FBYztzQkFBdkIsTUFBTTtnQkFFeUMsZUFBZTtzQkFBOUQsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYXV0b2NvbXBsZXRpb24gfSBmcm9tICdAY29kZW1pcnJvci9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgYXl1TGlnaHQgfSBmcm9tICd0aGVtZW1pcnJvcic7XG5pbXBvcnQgeyBiYXNpY1NldHVwIH0gZnJvbSAnY29kZW1pcnJvcic7XG5pbXBvcnQgeyBFZGl0b3JWaWV3IH0gZnJvbSAnQGNvZGVtaXJyb3Ivdmlldyc7XG5pbXBvcnQgeyBQb3N0Z3JlU1FMLCBzcWwgfSBmcm9tICdAY29kZW1pcnJvci9sYW5nLXNxbCc7XG5pbXBvcnQgeyBTdGF0ZUVmZmVjdCB9IGZyb20gJ0Bjb2RlbWlycm9yL3N0YXRlJztcbmltcG9ydCB7IGNyZWF0ZVNxbEF1dG9Db21wbGV0aW9uSGFkbGVyLCBTY2hlbWEgfSBmcm9tICcuLi8uLi9jb3JlL2hhbmRsZXJzL3NxbEF1dG9Db21wbGV0ZSc7XG5pbXBvcnQgeyBzcWxEb21haW5GaWx0ZXJEZWNvcmF0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMvc3FsRG9tYWluRmlsdGVyJztcbmltcG9ydCB7IHNxbEZvcm1hdHRlckhhbmRsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2hhbmRsZXJzL3NxbEZvcm1hdHRlcic7XG5pbXBvcnQgeyBzcWxVcHBlcmNhc2VIYW5kbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9oYW5kbGVycy9zcWxVcHBlcmNhc2UnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1zcWwtZWRpdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zcWwtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3NxbC1lZGl0b3IuY29tcG9uZW50LnNjc3MnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNxbEVkaXRvckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG59KVxuZXhwb3J0IGNsYXNzIFNxbEVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHNxbCA9ICcnO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyB8IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KCkgc2V0IHNjaGVtYSh2YWx1ZTogU2NoZW1hKSB7XG4gICAgdGhpcy4kc2NoZW1hID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVFZGl0b3JFeHRlbnNpb25zKCk7XG4gIH1cblxuICBAT3V0cHV0KCkgb25Eb21haW5GaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAVmlld0NoaWxkKCdlZGl0b3JDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBlZGl0b3JDb250YWluZXIhOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgJGVkaXRvciE6IEVkaXRvclZpZXc7XG4gIHByaXZhdGUgJG9uQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IHsgfTtcbiAgcHJpdmF0ZSAkb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4geyB9O1xuICBwcml2YXRlICRzY2hlbWE6IFNjaGVtYSA9IHt9O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuJGVkaXRvciA9IG5ldyBFZGl0b3JWaWV3KHtcbiAgICAgIGRvYzogdGhpcy5zcWwsXG4gICAgICBwYXJlbnQ6IHRoaXMuZWRpdG9yQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICBleHRlbnNpb25zOiB0aGlzLmJ1aWxkRXh0ZW5zaW9ucygpLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4kZWRpdG9yPy5kZXN0cm95KCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4kZWRpdG9yICYmIHZhbHVlICE9PSB0aGlzLiRlZGl0b3Iuc3RhdGUuZG9jLnRvU3RyaW5nKCkpIHtcbiAgICAgIHRoaXMuJGVkaXRvci5kaXNwYXRjaCh7XG4gICAgICAgIGNoYW5nZXM6IHsgZnJvbTogMCwgdG86IHRoaXMuJGVkaXRvci5zdGF0ZS5kb2MubGVuZ3RoLCBpbnNlcnQ6IHZhbHVlIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLiRvbkNoYW5nZSA9IGZuO1xuICAgIHRoaXMuJG9uVG91Y2hlZCgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLiRvblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuJGVkaXRvcj8uY29udGVudERPTS5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsIFN0cmluZyghaXNEaXNhYmxlZCkpO1xuICB9XG5cbiAgZ2V0U3R5bGVzKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3R5bGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaWYgKHRoaXMud2lkdGgpIHtcbiAgICAgIGNvbnN0IHcgPSB0eXBlb2YgdGhpcy53aWR0aCA9PT0gJ251bWJlcicgPyBgJHt0aGlzLndpZHRofXB4YCA6IHRoaXMud2lkdGg7XG4gICAgICBzdHlsZXMucHVzaChgd2lkdGg6JHt3fWApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhlaWdodCkge1xuICAgICAgY29uc3QgaCA9IHR5cGVvZiB0aGlzLmhlaWdodCA9PT0gJ251bWJlcicgPyBgJHt0aGlzLmhlaWdodH1weGAgOiB0aGlzLmhlaWdodDtcbiAgICAgIHN0eWxlcy5wdXNoKGBoZWlnaHQ6JHtofWApO1xuICAgIH1cblxuICAgIHJldHVybiBzdHlsZXMuam9pbignOycpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEV4dGVuc2lvbnMoKTogYW55W10ge1xuICAgIHJldHVybiBbXG4gICAgICBiYXNpY1NldHVwLFxuICAgICAgYXl1TGlnaHQsXG4gICAgICBzcWxVcHBlcmNhc2VIYW5kbGVyKCksXG4gICAgICBzcWxGb3JtYXR0ZXJIYW5kbGVyKCksXG4gICAgICBzcWwoeyBkaWFsZWN0OiBQb3N0Z3JlU1FMIH0pLFxuICAgICAgc3FsRG9tYWluRmlsdGVyRGVjb3JhdG9yKHRva2VuID0+IHRoaXMub25Eb21haW5GaWx0ZXIuZW1pdCh0b2tlbikpLFxuICAgICAgYXV0b2NvbXBsZXRpb24oe1xuICAgICAgICBvdmVycmlkZTogW2NyZWF0ZVNxbEF1dG9Db21wbGV0aW9uSGFkbGVyKHRoaXMuJHNjaGVtYSldLFxuICAgICAgfSksXG4gICAgICBFZGl0b3JWaWV3LnVwZGF0ZUxpc3RlbmVyLm9mKHVwZGF0ZSA9PiB7XG4gICAgICAgIGlmICh1cGRhdGUuZG9jQ2hhbmdlZCkge1xuICAgICAgICAgIHRoaXMuJG9uQ2hhbmdlKHVwZGF0ZS5zdGF0ZS5kb2MudG9TdHJpbmcoKSk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUVkaXRvckV4dGVuc2lvbnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLiRlZGl0b3IpIHJldHVybjtcblxuICAgIHRoaXMuJGVkaXRvci5kaXNwYXRjaCh7XG4gICAgICBlZmZlY3RzOiBTdGF0ZUVmZmVjdC5yZWNvbmZpZ3VyZS5vZih0aGlzLmJ1aWxkRXh0ZW5zaW9ucygpKSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiAjZWRpdG9yQ29udGFpbmVyIGNsYXNzPVwic2RjLXNxbC1lZGl0b3JcIiBbc3R5bGVdPVwiZ2V0U3R5bGVzKClcIj48L2Rpdj4iXX0=
@@ -1,11 +1,10 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, NgZone, Output, ViewChild, numberAttribute, signal, computed, effect, inject, DestroyRef, } from '@angular/core';
3
2
  import { isMobile } from 'lib/src/core/utils/layout.util';
3
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, NgZone, Output, ViewChild, numberAttribute, signal, computed, effect, inject, ViewEncapsulation, } from '@angular/core';
4
4
  import * as i0 from "@angular/core";
5
5
  export class TabComponent {
6
6
  host = inject(ElementRef);
7
7
  zone = inject(NgZone);
8
- destroyRef = inject(DestroyRef);
9
8
  cdr = inject(ChangeDetectorRef);
10
9
  headersRef;
11
10
  _activeIndex = signal(0);
@@ -20,14 +19,16 @@ export class TabComponent {
20
19
  this.cdr.detectChanges();
21
20
  });
22
21
  }
23
- get activeIndex() { return this._activeIndex(); }
22
+ get activeIndex() {
23
+ return this._activeIndex();
24
+ }
24
25
  activeIndexChange = new EventEmitter();
25
26
  isMobile = isMobile();
26
27
  wcEls = signal([]);
27
28
  headers = computed(() => this.wcEls().map((el, i) => ({
28
29
  label: el.getAttribute('label') ?? `Tab ${i}`,
29
30
  disabled: this.parseBool(el.getAttribute('disabled')),
30
- id: el.getAttribute('id') ?? `tab-${i}`
31
+ id: el.getAttribute('id') ?? `tab-${i}`,
31
32
  })));
32
33
  mo;
33
34
  _headersEffect = effect(() => {
@@ -142,11 +143,11 @@ export class TabComponent {
142
143
  return s === '' || s === 'true' || s === '1';
143
144
  }
144
145
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
145
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TabComponent, isStandalone: true, selector: "sdc-tab", inputs: { activeIndex: ["activeIndex", "activeIndex", numberAttribute] }, outputs: { activeIndexChange: "activeIndexChange" }, viewQueries: [{ propertyName: "headersRef", first: true, predicate: ["headersRef"], descendants: true }], ngImport: i0, template: "<div class=\"sdc-tab\" [class.sdc-tab-stack]=\"isMobile\">\n <div #headersRef class=\"sdc-tab-headers\" role=\"tablist\" aria-label=\"Tabs\">\n @for (h of headers(); let i = $index; track i) {\n <button\n class=\"sdc-tab-header\"\n [class.sdc-tab-header-active]=\"i === activeIndex\"\n [class.sdc-tab-header-disabled]=\"h.disabled\"\n role=\"tab\"\n type=\"button\"\n [disabled]=\"h.disabled\"\n [attr.aria-selected]=\"i === activeIndex\"\n [attr.aria-controls]=\"h.id + '-panel'\"\n [attr.aria-disabled]=\"h.disabled\"\n [id]=\"h.id\"\n [tabindex]=\"h.disabled ? -1 : (i === activeIndex ? 0 : -1)\"\n (click)=\"select(i)\"\n (keydown)=\"onHeaderKeydown($event, i)\">\n <span class=\"sdc-tab-label\">{{ h.label }}</span>\n </button>\n }\n </div>\n\n <div class=\"sdc-tab-panels\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sdc-tab{border:0;border-radius:0;background:none;display:flex;flex-direction:column}.sdc-tab .sdc-tab-label{font-size:15px}.sdc-tab-headers{display:flex;white-space:nowrap;overflow-x:auto;overflow-y:hidden;padding:0;margin:0;border-bottom:1px solid var(--sdc-tab-border);position:relative}.sdc-tab-header{position:relative;appearance:none;background:transparent;border:0;margin:0;padding:10px 15px;color:var(--sdc-tab-primary);cursor:pointer;border-bottom:5px solid transparent;transition:color .2s ease-out,border-color .2s ease-out;border-radius:0;flex:0 0 auto}.sdc-tab-header:hover{color:var(--sdc-tab-primary-hover)}.sdc-tab-header:focus{outline:none;background-color:var(--sdc-tab-focus)}.sdc-tab-header[disabled],.sdc-tab-header-disabled{cursor:not-allowed;opacity:.6}.sdc-tab-header-active{color:var(--sdc-tab-text);font-weight:600;border-bottom-color:var(--sdc-tab-primary)}.sdc-tab-header-active:hover{color:#4d4d4d;border-bottom-color:var(--sdc-tab-primary-hover)}.sdc-tab-header>.sds-badge-error{position:absolute;top:16px;left:1px}.sdc-tab-panels{padding:10px 0 0;width:100%;min-width:0}.sdc-tab-panel{outline:0;list-style:none;margin:0}[hidden]{display:none!important}@media (max-width: 750px){.sdc-tab,.sdc-tab *{box-sizing:border-box}.sdc-tab.sdc-tab-stack{display:flex;flex-direction:column;width:100vw;max-width:100vw;overflow:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-headers{flex-direction:row;border-right:0;border-bottom:1px solid var(--sdc-tab-border);width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;gap:.25rem;padding:0;margin:0}.sdc-tab.sdc-tab-stack .sdc-tab-header{flex:0 0 auto;white-space:nowrap;border-right:0;border-bottom:5px solid transparent;width:auto;text-align:left}.sdc-tab.sdc-tab-stack .sdc-tab-panels{padding:10px;width:100%;max-width:100%;min-width:0;overflow-x:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-panel{max-width:100%;overflow-wrap:anywhere;word-break:break-word}img,video,canvas,svg{max-width:100%;height:auto}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
146
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TabComponent, isStandalone: true, selector: "sdc-tab", inputs: { activeIndex: ["activeIndex", "activeIndex", numberAttribute] }, outputs: { activeIndexChange: "activeIndexChange" }, viewQueries: [{ propertyName: "headersRef", first: true, predicate: ["headersRef"], descendants: true }], ngImport: i0, template: "<div class=\"sdc-tab\" [class.sdc-tab-stack]=\"isMobile\">\n <div #headersRef class=\"sdc-tab-headers\" role=\"tablist\" aria-label=\"Tabs\">\n @for (h of headers(); let i = $index; track i) {\n <button\n class=\"sdc-tab-header\"\n [class.sdc-tab-header-active]=\"i === activeIndex\"\n [class.sdc-tab-header-disabled]=\"h.disabled\"\n role=\"tab\"\n type=\"button\"\n [disabled]=\"h.disabled\"\n [attr.aria-selected]=\"i === activeIndex\"\n [attr.aria-controls]=\"h.id + '-panel'\"\n [attr.aria-disabled]=\"h.disabled\"\n [id]=\"h.id\"\n [tabindex]=\"h.disabled ? -1 : (i === activeIndex ? 0 : -1)\"\n (click)=\"select(i)\"\n (keydown)=\"onHeaderKeydown($event, i)\">\n <span class=\"sdc-tab-label\">{{ h.label }}</span>\n </button>\n }\n </div>\n\n <div class=\"sdc-tab-panels\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sdc-tab{border:0;border-radius:0;background:none;display:flex;flex-direction:column}.sdc-tab .sdc-tab-label{font-size:15px}.sdc-tab-headers{display:flex;white-space:nowrap;overflow-x:auto;overflow-y:hidden;padding:0;margin:0;border-bottom:1px solid var(--sdc-tab-border);position:relative}.sdc-tab-header{position:relative;appearance:none;background:transparent;border:0;margin:0;padding:10px 15px;color:var(--sdc-tab-primary);cursor:pointer;border-bottom:5px solid transparent;transition:color .2s ease-out,border-color .2s ease-out;border-radius:0;flex:0 0 auto}.sdc-tab-header:hover{color:var(--sdc-tab-primary-hover)}.sdc-tab-header:focus{outline:none;background-color:var(--sdc-tab-focus)}.sdc-tab-header[disabled],.sdc-tab-header-disabled{cursor:not-allowed;opacity:.6}.sdc-tab-header-active{color:var(--sdc-tab-text);font-weight:600;border-bottom-color:var(--sdc-tab-primary)}.sdc-tab-header-active:hover{color:#4d4d4d;border-bottom-color:var(--sdc-tab-primary-hover)}.sdc-tab-header>.sds-badge-error{position:absolute;top:16px;left:1px}.sdc-tab-panels{padding:10px 0 0;width:100%;min-width:0}.sdc-tab-panel{outline:0;list-style:none;margin:0}[hidden]{display:none!important}@media (max-width: 750px){.sdc-tab,.sdc-tab *{box-sizing:border-box}.sdc-tab.sdc-tab-stack{display:flex;flex-direction:column;width:100vw;max-width:100vw;overflow:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-headers{flex-direction:row;border-right:0;border-bottom:1px solid var(--sdc-tab-border);width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;gap:.25rem;padding:0;margin:0}.sdc-tab.sdc-tab-stack .sdc-tab-header{flex:0 0 auto;white-space:nowrap;border-right:0;border-bottom:5px solid transparent;width:auto;text-align:left}.sdc-tab.sdc-tab-stack .sdc-tab-panels{padding:10px 15px 0 0;width:100%;max-width:100%;min-width:0;overflow-x:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-panel{max-width:100%;overflow-wrap:anywhere;word-break:break-word}img,video,canvas,svg{max-width:100%;height:auto}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
146
147
  }
147
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TabComponent, decorators: [{
148
149
  type: Component,
149
- args: [{ selector: 'sdc-tab', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sdc-tab\" [class.sdc-tab-stack]=\"isMobile\">\n <div #headersRef class=\"sdc-tab-headers\" role=\"tablist\" aria-label=\"Tabs\">\n @for (h of headers(); let i = $index; track i) {\n <button\n class=\"sdc-tab-header\"\n [class.sdc-tab-header-active]=\"i === activeIndex\"\n [class.sdc-tab-header-disabled]=\"h.disabled\"\n role=\"tab\"\n type=\"button\"\n [disabled]=\"h.disabled\"\n [attr.aria-selected]=\"i === activeIndex\"\n [attr.aria-controls]=\"h.id + '-panel'\"\n [attr.aria-disabled]=\"h.disabled\"\n [id]=\"h.id\"\n [tabindex]=\"h.disabled ? -1 : (i === activeIndex ? 0 : -1)\"\n (click)=\"select(i)\"\n (keydown)=\"onHeaderKeydown($event, i)\">\n <span class=\"sdc-tab-label\">{{ h.label }}</span>\n </button>\n }\n </div>\n\n <div class=\"sdc-tab-panels\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sdc-tab{border:0;border-radius:0;background:none;display:flex;flex-direction:column}.sdc-tab .sdc-tab-label{font-size:15px}.sdc-tab-headers{display:flex;white-space:nowrap;overflow-x:auto;overflow-y:hidden;padding:0;margin:0;border-bottom:1px solid var(--sdc-tab-border);position:relative}.sdc-tab-header{position:relative;appearance:none;background:transparent;border:0;margin:0;padding:10px 15px;color:var(--sdc-tab-primary);cursor:pointer;border-bottom:5px solid transparent;transition:color .2s ease-out,border-color .2s ease-out;border-radius:0;flex:0 0 auto}.sdc-tab-header:hover{color:var(--sdc-tab-primary-hover)}.sdc-tab-header:focus{outline:none;background-color:var(--sdc-tab-focus)}.sdc-tab-header[disabled],.sdc-tab-header-disabled{cursor:not-allowed;opacity:.6}.sdc-tab-header-active{color:var(--sdc-tab-text);font-weight:600;border-bottom-color:var(--sdc-tab-primary)}.sdc-tab-header-active:hover{color:#4d4d4d;border-bottom-color:var(--sdc-tab-primary-hover)}.sdc-tab-header>.sds-badge-error{position:absolute;top:16px;left:1px}.sdc-tab-panels{padding:10px 0 0;width:100%;min-width:0}.sdc-tab-panel{outline:0;list-style:none;margin:0}[hidden]{display:none!important}@media (max-width: 750px){.sdc-tab,.sdc-tab *{box-sizing:border-box}.sdc-tab.sdc-tab-stack{display:flex;flex-direction:column;width:100vw;max-width:100vw;overflow:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-headers{flex-direction:row;border-right:0;border-bottom:1px solid var(--sdc-tab-border);width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;gap:.25rem;padding:0;margin:0}.sdc-tab.sdc-tab-stack .sdc-tab-header{flex:0 0 auto;white-space:nowrap;border-right:0;border-bottom:5px solid transparent;width:auto;text-align:left}.sdc-tab.sdc-tab-stack .sdc-tab-panels{padding:10px;width:100%;max-width:100%;min-width:0;overflow-x:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-panel{max-width:100%;overflow-wrap:anywhere;word-break:break-word}img,video,canvas,svg{max-width:100%;height:auto}}\n"] }]
150
+ args: [{ selector: 'sdc-tab', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-tab\" [class.sdc-tab-stack]=\"isMobile\">\n <div #headersRef class=\"sdc-tab-headers\" role=\"tablist\" aria-label=\"Tabs\">\n @for (h of headers(); let i = $index; track i) {\n <button\n class=\"sdc-tab-header\"\n [class.sdc-tab-header-active]=\"i === activeIndex\"\n [class.sdc-tab-header-disabled]=\"h.disabled\"\n role=\"tab\"\n type=\"button\"\n [disabled]=\"h.disabled\"\n [attr.aria-selected]=\"i === activeIndex\"\n [attr.aria-controls]=\"h.id + '-panel'\"\n [attr.aria-disabled]=\"h.disabled\"\n [id]=\"h.id\"\n [tabindex]=\"h.disabled ? -1 : (i === activeIndex ? 0 : -1)\"\n (click)=\"select(i)\"\n (keydown)=\"onHeaderKeydown($event, i)\">\n <span class=\"sdc-tab-label\">{{ h.label }}</span>\n </button>\n }\n </div>\n\n <div class=\"sdc-tab-panels\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sdc-tab{border:0;border-radius:0;background:none;display:flex;flex-direction:column}.sdc-tab .sdc-tab-label{font-size:15px}.sdc-tab-headers{display:flex;white-space:nowrap;overflow-x:auto;overflow-y:hidden;padding:0;margin:0;border-bottom:1px solid var(--sdc-tab-border);position:relative}.sdc-tab-header{position:relative;appearance:none;background:transparent;border:0;margin:0;padding:10px 15px;color:var(--sdc-tab-primary);cursor:pointer;border-bottom:5px solid transparent;transition:color .2s ease-out,border-color .2s ease-out;border-radius:0;flex:0 0 auto}.sdc-tab-header:hover{color:var(--sdc-tab-primary-hover)}.sdc-tab-header:focus{outline:none;background-color:var(--sdc-tab-focus)}.sdc-tab-header[disabled],.sdc-tab-header-disabled{cursor:not-allowed;opacity:.6}.sdc-tab-header-active{color:var(--sdc-tab-text);font-weight:600;border-bottom-color:var(--sdc-tab-primary)}.sdc-tab-header-active:hover{color:#4d4d4d;border-bottom-color:var(--sdc-tab-primary-hover)}.sdc-tab-header>.sds-badge-error{position:absolute;top:16px;left:1px}.sdc-tab-panels{padding:10px 0 0;width:100%;min-width:0}.sdc-tab-panel{outline:0;list-style:none;margin:0}[hidden]{display:none!important}@media (max-width: 750px){.sdc-tab,.sdc-tab *{box-sizing:border-box}.sdc-tab.sdc-tab-stack{display:flex;flex-direction:column;width:100vw;max-width:100vw;overflow:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-headers{flex-direction:row;border-right:0;border-bottom:1px solid var(--sdc-tab-border);width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;gap:.25rem;padding:0;margin:0}.sdc-tab.sdc-tab-stack .sdc-tab-header{flex:0 0 auto;white-space:nowrap;border-right:0;border-bottom:5px solid transparent;width:auto;text-align:left}.sdc-tab.sdc-tab-stack .sdc-tab-panels{padding:10px 15px 0 0;width:100%;max-width:100%;min-width:0;overflow-x:hidden}.sdc-tab.sdc-tab-stack .sdc-tab-panel{max-width:100%;overflow-wrap:anywhere;word-break:break-word}img,video,canvas,svg{max-width:100%;height:auto}}\n"] }]
150
151
  }], propDecorators: { headersRef: [{
151
152
  type: ViewChild,
152
153
  args: ['headersRef']
@@ -156,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
156
157
  }], activeIndexChange: [{
157
158
  type: Output
158
159
  }] } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvdGFiL3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3RhYi90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBWTFELE1BQU0sT0FBTyxZQUFZO0lBQ2YsSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQTRCLENBQUM7SUFDckQsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QixVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLEdBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVmLFVBQVUsQ0FBOEI7SUFFekQsWUFBWSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxJQUNJLFdBQVcsQ0FBQyxDQUFTO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25DLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQUUsT0FBTztZQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxXQUFXLEtBQWEsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRS9DLGlCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFekMsUUFBUSxHQUFHLFFBQVEsRUFBRSxDQUFDO0lBRTlCLEtBQUssR0FBRyxNQUFNLENBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQzFCLE9BQU8sR0FBRyxRQUFRLENBQWMsR0FBRyxFQUFFLENBQ25ELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNCLEtBQUssRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxFQUFFO1FBQzdDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckQsRUFBRSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLEVBQUU7S0FDeEMsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUVNLEVBQUUsQ0FBb0I7SUFFYixjQUFjLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUM1QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUMsQ0FBQyxDQUFDO0lBRUgsZUFBZTtRQUNiLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2hGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSxNQUFNLENBQUMsQ0FBUztRQUNyQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDckMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRU0sZUFBZSxDQUFDLENBQWdCLEVBQUUsQ0FBUztRQUNoRCxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssWUFBWSxFQUFFLENBQUM7WUFBQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUMsQ0FBQzthQUNqRSxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFLENBQUM7WUFBQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUMsQ0FBQzthQUNyRSxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssTUFBTSxFQUFFLENBQUM7WUFBQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUMsQ0FBQzthQUNqRSxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssS0FBSyxFQUFFLENBQUM7WUFBQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFBQyxDQUFDO2FBQ3hGLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxPQUFPLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQyxDQUFDO0lBQ3RGLENBQUM7SUFFTyxTQUFTLENBQUMsQ0FBUztRQUN6QixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2pELEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN2QyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDN0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUFDLE1BQU07WUFBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBRU8sU0FBUyxDQUFDLENBQVM7UUFDekIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNqRCxLQUFLLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7WUFDdkMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUNuQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQUMsTUFBTTtZQUFDLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7SUFFTyxVQUFVLENBQUMsQ0FBUztRQUMxQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQWtDLENBQUM7UUFDOUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBa0IsQ0FBQztRQUNsRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNoQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFCLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztZQUNyRCxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNwQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMvQixJQUFJLEdBQUc7Z0JBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRztnQkFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDOztnQkFDdkMsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sY0FBYyxDQUFDLENBQVM7UUFDOUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNoQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEIsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLFNBQVMsQ0FBQyxDQUFnQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDNUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssTUFBTSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7SUFDL0MsQ0FBQzt3R0FsSVUsWUFBWTs0RkFBWixZQUFZLGlHQVNILGVBQWUsNExDekNyQyxzN0JBMEJBLDZoRURDWSxZQUFZOzs0RkFLWCxZQUFZO2tCQVJ4QixTQUFTOytCQUNFLFNBQVMsY0FDUCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsbUJBR04sdUJBQXVCLENBQUMsTUFBTTs4QkFRdEIsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUluQixXQUFXO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQWEzQixpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBzaWduYWwsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgRGVzdHJveVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJ2xpYi9zcmMvY29yZS91dGlscy9sYXlvdXQudXRpbCc7XG5cbnR5cGUgVGFiSGVhZGVyID0geyBsYWJlbDogc3RyaW5nOyBkaXNhYmxlZDogYm9vbGVhbjsgaWQ6IHN0cmluZyB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtdGFiJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi90YWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGFiQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBob3N0ID0gaW5qZWN0KEVsZW1lbnRSZWYpIGFzIEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICBwcml2YXRlIHpvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgcHJpdmF0ZSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgQFZpZXdDaGlsZCgnaGVhZGVyc1JlZicpIGhlYWRlcnNSZWYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBwcml2YXRlIF9hY3RpdmVJbmRleCA9IHNpZ25hbCgwKTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgc2V0IGFjdGl2ZUluZGV4KHY6IG51bWJlcikge1xuICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgY29uc3QgaWR4ID0gdGhpcy5ub3JtYWxpemVJbmRleCh2KTtcbiAgICAgIGlmIChpZHggPT09IHRoaXMuX2FjdGl2ZUluZGV4KCkpIHJldHVybjtcbiAgICAgIHRoaXMuX2FjdGl2ZUluZGV4LnNldChpZHgpO1xuICAgICAgdGhpcy5zeW5jSGlkZGVuQW5kQXJpYSgpO1xuICAgICAgdGhpcy5hY3RpdmVJbmRleENoYW5nZS5lbWl0KHRoaXMuX2FjdGl2ZUluZGV4KCkpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG4gIGdldCBhY3RpdmVJbmRleCgpOiBudW1iZXIgeyByZXR1cm4gdGhpcy5fYWN0aXZlSW5kZXgoKTsgfVxuXG4gIEBPdXRwdXQoKSBhY3RpdmVJbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBpc01vYmlsZSA9IGlzTW9iaWxlKCk7XG5cbiAgcHJpdmF0ZSB3Y0VscyA9IHNpZ25hbDxIVE1MRWxlbWVudFtdPihbXSk7XG4gIHB1YmxpYyByZWFkb25seSBoZWFkZXJzID0gY29tcHV0ZWQ8VGFiSGVhZGVyW10+KCgpID0+XG4gICAgdGhpcy53Y0VscygpLm1hcCgoZWwsIGkpID0+ICh7XG4gICAgICBsYWJlbDogZWwuZ2V0QXR0cmlidXRlKCdsYWJlbCcpID8/IGBUYWIgJHtpfWAsXG4gICAgICBkaXNhYmxlZDogdGhpcy5wYXJzZUJvb2woZWwuZ2V0QXR0cmlidXRlKCdkaXNhYmxlZCcpKSxcbiAgICAgIGlkOiBlbC5nZXRBdHRyaWJ1dGUoJ2lkJykgPz8gYHRhYi0ke2l9YFxuICAgIH0pKVxuICApO1xuXG4gIHByaXZhdGUgbW8/OiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2hlYWRlcnNFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIHRoaXMuaGVhZGVycygpO1xuICAgIHRoaXMuc3luY0hpZGRlbkFuZEFyaWEoKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfSk7XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaENoaWxkcmVuKCk7XG5cbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5tbyA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHRoaXMucmVmcmVzaENoaWxkcmVuKCkpO1xuICAgICAgdGhpcy5tby5vYnNlcnZlKHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogZmFsc2UgfSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm1vPy5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0KGk6IG51bWJlcikge1xuICAgIGNvbnN0IGhzID0gdGhpcy5oZWFkZXJzKCk7XG4gICAgaWYgKCFoc1tpXSB8fCBoc1tpXS5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGlmIChpICE9PSB0aGlzLl9hY3RpdmVJbmRleCgpKSB7XG4gICAgICB0aGlzLl9hY3RpdmVJbmRleC5zZXQoaSk7XG4gICAgICB0aGlzLnN5bmNIaWRkZW5BbmRBcmlhKCk7XG4gICAgICB0aGlzLmFjdGl2ZUluZGV4Q2hhbmdlLmVtaXQoaSk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSGVhZGVyS2V5ZG93bihlOiBLZXlib2FyZEV2ZW50LCBpOiBudW1iZXIpIHtcbiAgICBpZiAoZS5rZXkgPT09ICdBcnJvd1JpZ2h0JykgeyBlLnByZXZlbnREZWZhdWx0KCk7IHRoaXMuZm9jdXNOZXh0KGkpOyB9XG4gICAgZWxzZSBpZiAoZS5rZXkgPT09ICdBcnJvd0xlZnQnKSB7IGUucHJldmVudERlZmF1bHQoKTsgdGhpcy5mb2N1c1ByZXYoaSk7IH1cbiAgICBlbHNlIGlmIChlLmtleSA9PT0gJ0hvbWUnKSB7IGUucHJldmVudERlZmF1bHQoKTsgdGhpcy5mb2N1c0luZGV4KDApOyB9XG4gICAgZWxzZSBpZiAoZS5rZXkgPT09ICdFbmQnKSB7IGUucHJldmVudERlZmF1bHQoKTsgdGhpcy5mb2N1c0luZGV4KHRoaXMuaGVhZGVycygpLmxlbmd0aCAtIDEpOyB9XG4gICAgZWxzZSBpZiAoZS5rZXkgPT09ICdFbnRlcicgfHwgZS5rZXkgPT09ICcgJykgeyBlLnByZXZlbnREZWZhdWx0KCk7IHRoaXMuc2VsZWN0KGkpOyB9XG4gIH1cblxuICBwcml2YXRlIGZvY3VzTmV4dChpOiBudW1iZXIpIHtcbiAgICBjb25zdCBocyA9IHRoaXMuaGVhZGVycygpOyBjb25zdCBsZW4gPSBocy5sZW5ndGg7XG4gICAgZm9yIChsZXQgc3RlcCA9IDE7IHN0ZXAgPD0gbGVuOyBzdGVwKyspIHtcbiAgICAgIGNvbnN0IGlkeCA9IChpICsgc3RlcCkgJSBsZW47XG4gICAgICBpZiAoIWhzW2lkeF0uZGlzYWJsZWQpIHsgdGhpcy5mb2N1c0luZGV4KGlkeCk7IGJyZWFrOyB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1ByZXYoaTogbnVtYmVyKSB7XG4gICAgY29uc3QgaHMgPSB0aGlzLmhlYWRlcnMoKTsgY29uc3QgbGVuID0gaHMubGVuZ3RoO1xuICAgIGZvciAobGV0IHN0ZXAgPSAxOyBzdGVwIDw9IGxlbjsgc3RlcCsrKSB7XG4gICAgICBjb25zdCBpZHggPSAoaSAtIHN0ZXAgKyBsZW4pICUgbGVuO1xuICAgICAgaWYgKCFoc1tpZHhdLmRpc2FibGVkKSB7IHRoaXMuZm9jdXNJbmRleChpZHgpOyBicmVhazsgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNJbmRleChpOiBudW1iZXIpIHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5oZWFkZXJzUmVmPy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tyb2xlPVwidGFiXCJdJykgYXMgTm9kZUxpc3RPZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gICAgbGlzdD8uW2ldPy5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoQ2hpbGRyZW4oKSB7XG4gICAgY29uc3QgZWxzID0gQXJyYXkuZnJvbSh0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzZGMtdGFiLWl0ZW0nKSkgYXMgSFRNTEVsZW1lbnRbXTtcbiAgICB0aGlzLndjRWxzLnNldChlbHMpO1xuICAgIHRoaXMuX2FjdGl2ZUluZGV4LnNldCh0aGlzLm5vcm1hbGl6ZUluZGV4KHRoaXMuX2FjdGl2ZUluZGV4KCkpKTtcbiAgICB0aGlzLnN5bmNIaWRkZW5BbmRBcmlhKCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIHN5bmNIaWRkZW5BbmRBcmlhKCkge1xuICAgIGNvbnN0IGlkeCA9IHRoaXMuX2FjdGl2ZUluZGV4KCk7XG4gICAgY29uc3QgZWxzID0gdGhpcy53Y0VscygpO1xuICAgIGNvbnN0IGhzID0gdGhpcy5oZWFkZXJzKCk7XG4gICAgZWxzLmZvckVhY2goKGVsLCBpKSA9PiB7XG4gICAgICBjb25zdCBoZHIgPSBoc1tpXTtcbiAgICAgIGNvbnN0IHBhbmVsSWQgPSAoKGhkcj8uaWQgPz8gYHRhYi0ke2l9YCkgKyAnLXBhbmVsJyk7XG4gICAgICBlbC5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAndGFicGFuZWwnKTtcbiAgICAgIGVsLnNldEF0dHJpYnV0ZSgnaWQnLCBwYW5lbElkKTtcbiAgICAgIGlmIChoZHIpIGVsLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5JywgaGRyLmlkKTtcbiAgICAgIGlmIChpID09PSBpZHgpIGVsLnJlbW92ZUF0dHJpYnV0ZSgnaGlkZGVuJyk7XG4gICAgICBlbHNlIGVsLnNldEF0dHJpYnV0ZSgnaGlkZGVuJywgJycpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVJbmRleCh2OiBudW1iZXIpIHtcbiAgICBjb25zdCBsZW4gPSB0aGlzLndjRWxzKCkubGVuZ3RoO1xuICAgIGlmIChsZW4gPT09IDApIHJldHVybiAwO1xuICAgIGNvbnN0IG4gPSBOdW1iZXIuaXNGaW5pdGUodikgPyBNYXRoLnRydW5jKHYpIDogMDtcbiAgICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoMCwgbiksIGxlbiAtIDEpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUJvb2wodjogc3RyaW5nIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgIGlmICh2ID09IG51bGwpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBzID0gdi50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gcyA9PT0gJycgfHwgcyA9PT0gJ3RydWUnIHx8IHMgPT09ICcxJztcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNkYy10YWJcIiBbY2xhc3Muc2RjLXRhYi1zdGFja109XCJpc01vYmlsZVwiPlxuICA8ZGl2ICNoZWFkZXJzUmVmIGNsYXNzPVwic2RjLXRhYi1oZWFkZXJzXCIgcm9sZT1cInRhYmxpc3RcIiBhcmlhLWxhYmVsPVwiVGFic1wiPlxuICAgIEBmb3IgKGggb2YgaGVhZGVycygpOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgaSkge1xuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNkYy10YWItaGVhZGVyXCJcbiAgICAgICAgW2NsYXNzLnNkYy10YWItaGVhZGVyLWFjdGl2ZV09XCJpID09PSBhY3RpdmVJbmRleFwiXG4gICAgICAgIFtjbGFzcy5zZGMtdGFiLWhlYWRlci1kaXNhYmxlZF09XCJoLmRpc2FibGVkXCJcbiAgICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaC5kaXNhYmxlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaSA9PT0gYWN0aXZlSW5kZXhcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImguaWQgKyAnLXBhbmVsJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaC5kaXNhYmxlZFwiXG4gICAgICAgIFtpZF09XCJoLmlkXCJcbiAgICAgICAgW3RhYmluZGV4XT1cImguZGlzYWJsZWQgPyAtMSA6IChpID09PSBhY3RpdmVJbmRleCA/IDAgOiAtMSlcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0KGkpXCJcbiAgICAgICAgKGtleWRvd24pPVwib25IZWFkZXJLZXlkb3duKCRldmVudCwgaSlcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtdGFiLWxhYmVsXCI+e3sgaC5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInNkYy10YWItcGFuZWxzXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvdGFiL3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3RhYi90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFDTixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7O0FBV3ZCLE1BQU0sT0FBTyxZQUFZO0lBQ2YsSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQTRCLENBQUM7SUFDckQsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QixHQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFZixVQUFVLENBQThCO0lBRXpELFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFakMsSUFDSSxXQUFXLENBQUMsQ0FBUztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDakIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQyxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUFFLE9BQU87WUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFUyxpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXpDLFFBQVEsR0FBRyxRQUFRLEVBQUUsQ0FBQztJQUU5QixLQUFLLEdBQUcsTUFBTSxDQUFnQixFQUFFLENBQUMsQ0FBQztJQUN2QixPQUFPLEdBQUcsUUFBUSxDQUFjLEdBQUcsRUFBRSxDQUN0RCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzQixLQUFLLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsRUFBRTtRQUM3QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JELEVBQUUsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxFQUFFO0tBQ3hDLENBQUMsQ0FBQyxDQUNKLENBQUM7SUFFTSxFQUFFLENBQW9CO0lBRWIsY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7UUFDNUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDLENBQUMsQ0FBQztJQUVILGVBQWU7UUFDYixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoRixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sTUFBTSxDQUFDLENBQVM7UUFDckIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQ3JDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVNLGVBQWUsQ0FBQyxDQUFnQixFQUFFLENBQVM7UUFDaEQsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQzNCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7YUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDakMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsQ0FBQzthQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM1QixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQixDQUFDO2FBQU0sSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzNCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQzthQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxPQUFPLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUM5QyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUVPLFNBQVMsQ0FBQyxDQUFTO1FBQ3pCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3RCLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN2QyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDN0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDckIsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLFNBQVMsQ0FBQyxDQUFTO1FBQ3pCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3RCLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN2QyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ25DLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JCLE1BQU07WUFDUixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxVQUFVLENBQUMsQ0FBUztRQUMxQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQWtDLENBQUM7UUFDOUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBa0IsQ0FBQztRQUNsRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNoQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFCLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztZQUNyRCxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNwQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMvQixJQUFJLEdBQUc7Z0JBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRztnQkFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDOztnQkFDdkMsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sY0FBYyxDQUFDLENBQVM7UUFDOUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNoQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEIsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLFNBQVMsQ0FBQyxDQUFnQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDNUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssTUFBTSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7SUFDL0MsQ0FBQzt3R0F2SlUsWUFBWTs0RkFBWixZQUFZLGlHQVNILGVBQWUsNExDekNyQyxzN0JBMEJBLHNpRURBWSxZQUFZOzs0RkFNWCxZQUFZO2tCQVR4QixTQUFTOytCQUNFLFNBQVMsY0FDUCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTs4QkFPaEIsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUtuQixXQUFXO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQWUzQixpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGFiSGVhZGVyIH0gZnJvbSAnbGliL3NyYy9jb3JlL3R5cGVzL3RhYi50eXBlJztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAnbGliL3NyYy9jb3JlL3V0aWxzL2xheW91dC51dGlsJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIG51bWJlckF0dHJpYnV0ZSxcbiAgc2lnbmFsLFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLXRhYicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbn0pXG5leHBvcnQgY2xhc3MgVGFiQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBob3N0ID0gaW5qZWN0KEVsZW1lbnRSZWYpIGFzIEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICBwcml2YXRlIHpvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIEBWaWV3Q2hpbGQoJ2hlYWRlcnNSZWYnKSBoZWFkZXJzUmVmITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgcHJpdmF0ZSBfYWN0aXZlSW5kZXggPSBzaWduYWwoMCk7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgc2V0IGFjdGl2ZUluZGV4KHY6IG51bWJlcikge1xuICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgY29uc3QgaWR4ID0gdGhpcy5ub3JtYWxpemVJbmRleCh2KTtcbiAgICAgIGlmIChpZHggPT09IHRoaXMuX2FjdGl2ZUluZGV4KCkpIHJldHVybjtcbiAgICAgIHRoaXMuX2FjdGl2ZUluZGV4LnNldChpZHgpO1xuICAgICAgdGhpcy5zeW5jSGlkZGVuQW5kQXJpYSgpO1xuICAgICAgdGhpcy5hY3RpdmVJbmRleENoYW5nZS5lbWl0KHRoaXMuX2FjdGl2ZUluZGV4KCkpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG4gIGdldCBhY3RpdmVJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVJbmRleCgpO1xuICB9XG5cbiAgQE91dHB1dCgpIGFjdGl2ZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGlzTW9iaWxlID0gaXNNb2JpbGUoKTtcblxuICBwcml2YXRlIHdjRWxzID0gc2lnbmFsPEhUTUxFbGVtZW50W10+KFtdKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGhlYWRlcnMgPSBjb21wdXRlZDxUYWJIZWFkZXJbXT4oKCkgPT5cbiAgICB0aGlzLndjRWxzKCkubWFwKChlbCwgaSkgPT4gKHtcbiAgICAgIGxhYmVsOiBlbC5nZXRBdHRyaWJ1dGUoJ2xhYmVsJykgPz8gYFRhYiAke2l9YCxcbiAgICAgIGRpc2FibGVkOiB0aGlzLnBhcnNlQm9vbChlbC5nZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpLFxuICAgICAgaWQ6IGVsLmdldEF0dHJpYnV0ZSgnaWQnKSA/PyBgdGFiLSR7aX1gLFxuICAgIH0pKVxuICApO1xuXG4gIHByaXZhdGUgbW8/OiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2hlYWRlcnNFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIHRoaXMuaGVhZGVycygpO1xuICAgIHRoaXMuc3luY0hpZGRlbkFuZEFyaWEoKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfSk7XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaENoaWxkcmVuKCk7XG5cbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5tbyA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHRoaXMucmVmcmVzaENoaWxkcmVuKCkpO1xuICAgICAgdGhpcy5tby5vYnNlcnZlKHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogZmFsc2UgfSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm1vPy5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0KGk6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGhzID0gdGhpcy5oZWFkZXJzKCk7XG4gICAgaWYgKCFoc1tpXSB8fCBoc1tpXS5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGlmIChpICE9PSB0aGlzLl9hY3RpdmVJbmRleCgpKSB7XG4gICAgICB0aGlzLl9hY3RpdmVJbmRleC5zZXQoaSk7XG4gICAgICB0aGlzLnN5bmNIaWRkZW5BbmRBcmlhKCk7XG4gICAgICB0aGlzLmFjdGl2ZUluZGV4Q2hhbmdlLmVtaXQoaSk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSGVhZGVyS2V5ZG93bihlOiBLZXlib2FyZEV2ZW50LCBpOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoZS5rZXkgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5mb2N1c05leHQoaSk7XG4gICAgfSBlbHNlIGlmIChlLmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuZm9jdXNQcmV2KGkpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdIb21lJykge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5mb2N1c0luZGV4KDApO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFbmQnKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmZvY3VzSW5kZXgodGhpcy5oZWFkZXJzKCkubGVuZ3RoIC0gMSk7XG4gICAgfSBlbHNlIGlmIChlLmtleSA9PT0gJ0VudGVyJyB8fCBlLmtleSA9PT0gJyAnKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnNlbGVjdChpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvY3VzTmV4dChpOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBocyA9IHRoaXMuaGVhZGVycygpO1xuICAgIGNvbnN0IGxlbiA9IGhzLmxlbmd0aDtcbiAgICBmb3IgKGxldCBzdGVwID0gMTsgc3RlcCA8PSBsZW47IHN0ZXArKykge1xuICAgICAgY29uc3QgaWR4ID0gKGkgKyBzdGVwKSAlIGxlbjtcbiAgICAgIGlmICghaHNbaWR4XS5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmZvY3VzSW5kZXgoaWR4KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1ByZXYoaTogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgaHMgPSB0aGlzLmhlYWRlcnMoKTtcbiAgICBjb25zdCBsZW4gPSBocy5sZW5ndGg7XG4gICAgZm9yIChsZXQgc3RlcCA9IDE7IHN0ZXAgPD0gbGVuOyBzdGVwKyspIHtcbiAgICAgIGNvbnN0IGlkeCA9IChpIC0gc3RlcCArIGxlbikgJSBsZW47XG4gICAgICBpZiAoIWhzW2lkeF0uZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5mb2N1c0luZGV4KGlkeCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNJbmRleChpOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5oZWFkZXJzUmVmPy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tyb2xlPVwidGFiXCJdJykgYXMgTm9kZUxpc3RPZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gICAgbGlzdD8uW2ldPy5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoQ2hpbGRyZW4oKTogdm9pZCB7XG4gICAgY29uc3QgZWxzID0gQXJyYXkuZnJvbSh0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzZGMtdGFiLWl0ZW0nKSkgYXMgSFRNTEVsZW1lbnRbXTtcbiAgICB0aGlzLndjRWxzLnNldChlbHMpO1xuICAgIHRoaXMuX2FjdGl2ZUluZGV4LnNldCh0aGlzLm5vcm1hbGl6ZUluZGV4KHRoaXMuX2FjdGl2ZUluZGV4KCkpKTtcbiAgICB0aGlzLnN5bmNIaWRkZW5BbmRBcmlhKCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIHN5bmNIaWRkZW5BbmRBcmlhKCk6IHZvaWQge1xuICAgIGNvbnN0IGlkeCA9IHRoaXMuX2FjdGl2ZUluZGV4KCk7XG4gICAgY29uc3QgZWxzID0gdGhpcy53Y0VscygpO1xuICAgIGNvbnN0IGhzID0gdGhpcy5oZWFkZXJzKCk7XG4gICAgZWxzLmZvckVhY2goKGVsLCBpKSA9PiB7XG4gICAgICBjb25zdCBoZHIgPSBoc1tpXTtcbiAgICAgIGNvbnN0IHBhbmVsSWQgPSAoKGhkcj8uaWQgPz8gYHRhYi0ke2l9YCkgKyAnLXBhbmVsJyk7XG4gICAgICBlbC5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAndGFicGFuZWwnKTtcbiAgICAgIGVsLnNldEF0dHJpYnV0ZSgnaWQnLCBwYW5lbElkKTtcbiAgICAgIGlmIChoZHIpIGVsLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5JywgaGRyLmlkKTtcbiAgICAgIGlmIChpID09PSBpZHgpIGVsLnJlbW92ZUF0dHJpYnV0ZSgnaGlkZGVuJyk7XG4gICAgICBlbHNlIGVsLnNldEF0dHJpYnV0ZSgnaGlkZGVuJywgJycpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVJbmRleCh2OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IGxlbiA9IHRoaXMud2NFbHMoKS5sZW5ndGg7XG4gICAgaWYgKGxlbiA9PT0gMCkgcmV0dXJuIDA7XG4gICAgY29uc3QgbiA9IE51bWJlci5pc0Zpbml0ZSh2KSA/IE1hdGgudHJ1bmModikgOiAwO1xuICAgIHJldHVybiBNYXRoLm1pbihNYXRoLm1heCgwLCBuKSwgbGVuIC0gMSk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlQm9vbCh2OiBzdHJpbmcgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgaWYgKHYgPT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IHMgPSB2LnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgIHJldHVybiBzID09PSAnJyB8fCBzID09PSAndHJ1ZScgfHwgcyA9PT0gJzEnO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2RjLXRhYlwiIFtjbGFzcy5zZGMtdGFiLXN0YWNrXT1cImlzTW9iaWxlXCI+XG4gIDxkaXYgI2hlYWRlcnNSZWYgY2xhc3M9XCJzZGMtdGFiLWhlYWRlcnNcIiByb2xlPVwidGFibGlzdFwiIGFyaWEtbGFiZWw9XCJUYWJzXCI+XG4gICAgQGZvciAoaCBvZiBoZWFkZXJzKCk7IGxldCBpID0gJGluZGV4OyB0cmFjayBpKSB7XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwic2RjLXRhYi1oZWFkZXJcIlxuICAgICAgICBbY2xhc3Muc2RjLXRhYi1oZWFkZXItYWN0aXZlXT1cImkgPT09IGFjdGl2ZUluZGV4XCJcbiAgICAgICAgW2NsYXNzLnNkYy10YWItaGVhZGVyLWRpc2FibGVkXT1cImguZGlzYWJsZWRcIlxuICAgICAgICByb2xlPVwidGFiXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJoLmRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpID09PSBhY3RpdmVJbmRleFwiXG4gICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiaC5pZCArICctcGFuZWwnXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJoLmRpc2FibGVkXCJcbiAgICAgICAgW2lkXT1cImguaWRcIlxuICAgICAgICBbdGFiaW5kZXhdPVwiaC5kaXNhYmxlZCA/IC0xIDogKGkgPT09IGFjdGl2ZUluZGV4ID8gMCA6IC0xKVwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3QoaSlcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbkhlYWRlcktleWRvd24oJGV2ZW50LCBpKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNkYy10YWItbGFiZWxcIj57eyBoLmxhYmVsIH19PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwic2RjLXRhYi1wYW5lbHNcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=