ms-data-grid 0.0.127 → 0.0.129

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.
@@ -10,7 +10,7 @@ export class CellRenderInitDirective {
10
10
  if (!this.componentType)
11
11
  return;
12
12
  // ✅ Dynamically create the component
13
- this.componentRef = this.vcr.createComponent(this.componentType, {
13
+ const componentRef = this.vcr.createComponent(this.componentType, {
14
14
  injector: Injector.create({
15
15
  providers: [
16
16
  { provide: 'rowData', useValue: this.rowData },
@@ -20,20 +20,16 @@ export class CellRenderInitDirective {
20
20
  parent: this.injector
21
21
  })
22
22
  });
23
- if (this.colData) {
24
- this.colData.cellComponentRef = this.componentRef;
25
- }
26
23
  // ✅ Automatically call custom lifecycle hook if present
27
- if (typeof this.componentRef.instance.gridInit === 'function') {
28
- this.componentRef.instance.gridInit({
24
+ if (typeof componentRef.instance.gridInit === 'function') {
25
+ componentRef.instance.gridInit({
29
26
  row: this.rowData,
30
27
  col: this.colData,
31
- value: this.cellValue,
32
- context: this.context
28
+ value: this.cellValue
33
29
  });
34
30
  }
35
- for (const key of Object.keys(this.componentRef.instance)) {
36
- const property = this.componentRef.instance[key];
31
+ for (const key of Object.keys(componentRef.instance)) {
32
+ const property = componentRef.instance[key];
37
33
  if (property instanceof EventEmitter) {
38
34
  property.subscribe((value) => {
39
35
  this.cellEvent.emit({
@@ -48,22 +44,8 @@ export class CellRenderInitDirective {
48
44
  }
49
45
  }
50
46
  }
51
- ngOnChanges(changes) {
52
- if (this.componentRef &&
53
- typeof this.componentRef.instance.gridRefresh === 'function') {
54
- this.componentRef.instance.gridRefresh({
55
- row: this.rowData,
56
- col: this.colData,
57
- value: this.cellValue,
58
- context: this.context
59
- });
60
- }
61
- }
62
- ngOnDestroy() {
63
- this.componentRef?.destroy();
64
- }
65
47
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellRenderInitDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
66
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CellRenderInitDirective, selector: "[cellRenderInit]", inputs: { componentType: ["cellRenderInit", "componentType"], rowData: "rowData", colData: "colData", cellValue: "cellValue", context: "context" }, outputs: { cellEvent: "cellEvent" }, usesOnChanges: true, ngImport: i0 }); }
48
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CellRenderInitDirective, selector: "[cellRenderInit]", inputs: { componentType: ["cellRenderInit", "componentType"], rowData: "rowData", colData: "colData", cellValue: "cellValue" }, outputs: { cellEvent: "cellEvent" }, ngImport: i0 }); }
67
49
  }
68
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellRenderInitDirective, decorators: [{
69
51
  type: Directive,
@@ -79,9 +61,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
79
61
  type: Input
80
62
  }], cellValue: [{
81
63
  type: Input
82
- }], context: [{
83
- type: Input
84
64
  }], cellEvent: [{
85
65
  type: Output
86
66
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1yZW5kZXItaW5pdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWdyaWQvc3JjL2xpYi9kaXJlY3RpdmVzL2NlbGwtcmVuZGVyLWluaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUdMLFFBQVEsRUFHUixZQUFZLEVBQ1osTUFBTSxFQUlQLE1BQU0sZUFBZSxDQUFDOztBQUt2QixNQUFNLE9BQU8sdUJBQXVCO0lBVWxDLFlBQW9CLEdBQXFCLEVBQVUsUUFBa0I7UUFBakQsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRjNELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBb0MsQ0FBQztJQUVGLENBQUM7SUFHMUUsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU87UUFFaEMscUNBQXFDO1FBQ3BDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoRSxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDeEIsU0FBUyxFQUFFO29CQUNULEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDOUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO29CQUM5QyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7aUJBQ25EO2dCQUNELE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTthQUN0QixDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUNuRDtRQUVELHdEQUF3RDtRQUN4RCxJQUFJLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLFVBQVUsRUFBRTtZQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7Z0JBQ2xDLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDakIsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3JCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN0QixDQUFDLENBQUM7U0FDSjtRQUdELEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3pELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pELElBQUksUUFBUSxZQUFZLFlBQVksRUFBRTtnQkFDcEMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO29CQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQzt3QkFDbEIsU0FBUyxFQUFFLEdBQUc7d0JBQ2QsSUFBSSxFQUFFOzRCQUNKLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTzs0QkFDakIsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPOzRCQUNqQixLQUFLO3lCQUNOO3FCQUNGLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQzthQUNKO1NBQ0Y7SUFDSCxDQUFDO0lBR0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQ0UsSUFBSSxDQUFDLFlBQVk7WUFDakIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEtBQUssVUFBVSxFQUM1RDtZQUNBLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztnQkFDckMsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNqQixHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3RCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUdELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQy9CLENBQUM7K0dBOUVVLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUhuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCOzhIQUUwQixhQUFhO3NCQUFyQyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFDZCxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUdJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIEluamVjdG9yLFxuICBDb21wb25lbnRSZWYsXG4gIFR5cGUsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxuICBPbkRlc3Ryb3ksXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NlbGxSZW5kZXJJbml0XSdcbn0pXG5leHBvcnQgY2xhc3MgQ2VsbFJlbmRlckluaXREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCdjZWxsUmVuZGVySW5pdCcpIGNvbXBvbmVudFR5cGUhOiBUeXBlPGFueT47XG4gIEBJbnB1dCgpIHJvd0RhdGE6IGFueTtcbiAgQElucHV0KCkgY29sRGF0YTogYW55O1xuICBASW5wdXQoKSBjZWxsVmFsdWU6IGFueTtcbiAgQElucHV0KCkgY29udGV4dDogYW55O1xuXG5cbiAgQE91dHB1dCgpIGNlbGxFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBldmVudE5hbWU6IHN0cmluZzsgZGF0YTogYW55IH0+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2Y3I6IFZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7IH1cbiAgY29tcG9uZW50UmVmITogQ29tcG9uZW50UmVmPGFueT5cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50VHlwZSkgcmV0dXJuO1xuXG4gICAgLy8g4pyFIER5bmFtaWNhbGx5IGNyZWF0ZSB0aGUgY29tcG9uZW50XG4gICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy52Y3IuY3JlYXRlQ29tcG9uZW50KHRoaXMuY29tcG9uZW50VHlwZSwge1xuICAgICAgaW5qZWN0b3I6IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgIHsgcHJvdmlkZTogJ3Jvd0RhdGEnLCB1c2VWYWx1ZTogdGhpcy5yb3dEYXRhIH0sXG4gICAgICAgICAgeyBwcm92aWRlOiAnY29sRGF0YScsIHVzZVZhbHVlOiB0aGlzLmNvbERhdGEgfSxcbiAgICAgICAgICB7IHByb3ZpZGU6ICdjZWxsVmFsdWUnLCB1c2VWYWx1ZTogdGhpcy5jZWxsVmFsdWUgfVxuICAgICAgICBdLFxuICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3JcbiAgICAgIH0pXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5jb2xEYXRhKSB7XG4gICAgICB0aGlzLmNvbERhdGEuY2VsbENvbXBvbmVudFJlZiA9IHRoaXMuY29tcG9uZW50UmVmO1xuICAgIH1cblxuICAgIC8vIOKchSBBdXRvbWF0aWNhbGx5IGNhbGwgY3VzdG9tIGxpZmVjeWNsZSBob29rIGlmIHByZXNlbnRcbiAgICBpZiAodHlwZW9mIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmdyaWRJbml0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5ncmlkSW5pdCh7XG4gICAgICAgIHJvdzogdGhpcy5yb3dEYXRhLFxuICAgICAgICBjb2w6IHRoaXMuY29sRGF0YSxcbiAgICAgICAgdmFsdWU6IHRoaXMuY2VsbFZhbHVlLFxuICAgICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHRcbiAgICAgIH0pO1xuICAgIH1cblxuXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpKSB7XG4gICAgICBjb25zdCBwcm9wZXJ0eSA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlW2tleV07XG4gICAgICBpZiAocHJvcGVydHkgaW5zdGFuY2VvZiBFdmVudEVtaXR0ZXIpIHtcbiAgICAgICAgcHJvcGVydHkuc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5jZWxsRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBldmVudE5hbWU6IGtleSxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgcm93OiB0aGlzLnJvd0RhdGEsXG4gICAgICAgICAgICAgIGNvbDogdGhpcy5jb2xEYXRhLFxuICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5jb21wb25lbnRSZWYgJiZcbiAgICAgIHR5cGVvZiB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5ncmlkUmVmcmVzaCA9PT0gJ2Z1bmN0aW9uJ1xuICAgICkge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuZ3JpZFJlZnJlc2goe1xuICAgICAgICByb3c6IHRoaXMucm93RGF0YSxcbiAgICAgICAgY29sOiB0aGlzLmNvbERhdGEsXG4gICAgICAgIHZhbHVlOiB0aGlzLmNlbGxWYWx1ZSxcbiAgICAgICAgY29udGV4dDogdGhpcy5jb250ZXh0XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50UmVmPy5kZXN0cm95KCk7XG4gIH1cbn1cbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1yZW5kZXItaW5pdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWdyaWQvc3JjL2xpYi9kaXJlY3RpdmVzL2NlbGwtcmVuZGVyLWluaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUdMLFFBQVEsRUFHUixZQUFZLEVBQ1osTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDOztBQUt2QixNQUFNLE9BQU8sdUJBQXVCO0lBUWxDLFlBQW9CLEdBQXFCLEVBQVUsUUFBa0I7UUFBakQsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRjNELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBb0MsQ0FBQztJQUVGLENBQUM7SUFFMUUsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU87UUFFaEMscUNBQXFDO1FBQ3JDLE1BQU0sWUFBWSxHQUFzQixJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ25GLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUN4QixTQUFTLEVBQUU7b0JBQ1QsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO29CQUM5QyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQzlDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtpQkFDbkQ7Z0JBQ0QsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3RCLENBQUM7U0FDSCxDQUFDLENBQUM7UUFFSCx3REFBd0Q7UUFDeEQsSUFBSSxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLFVBQVUsRUFBRTtZQUN4RCxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztnQkFDN0IsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNqQixHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUzthQUN0QixDQUFDLENBQUM7U0FDSjtRQUNELEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDcEQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QyxJQUFJLFFBQVEsWUFBWSxZQUFZLEVBQUU7Z0JBQ3BDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtvQkFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7d0JBQ2xCLFNBQVMsRUFBRSxHQUFHO3dCQUNkLElBQUksRUFBRTs0QkFDSixHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU87NEJBQ2pCLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTzs0QkFDakIsS0FBSzt5QkFDTjtxQkFDRixDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUNGO0lBQ0gsQ0FBQzsrR0FoRFUsdUJBQXVCO21HQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7OEhBRTBCLGFBQWE7c0JBQXJDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUNkLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBJbmplY3RvcixcbiAgQ29tcG9uZW50UmVmLFxuICBUeXBlLFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NlbGxSZW5kZXJJbml0XSdcbn0pXG5leHBvcnQgY2xhc3MgQ2VsbFJlbmRlckluaXREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoJ2NlbGxSZW5kZXJJbml0JykgY29tcG9uZW50VHlwZSE6IFR5cGU8YW55PjtcbiAgQElucHV0KCkgcm93RGF0YTogYW55O1xuICBASW5wdXQoKSBjb2xEYXRhOiBhbnk7XG4gIEBJbnB1dCgpIGNlbGxWYWx1ZTogYW55O1xuXG4gIEBPdXRwdXQoKSBjZWxsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgZXZlbnROYW1lOiBzdHJpbmc7IGRhdGE6IGFueSB9PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmNyOiBWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcikgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbXBvbmVudFR5cGUpIHJldHVybjtcblxuICAgIC8vIOKchSBEeW5hbWljYWxseSBjcmVhdGUgdGhlIGNvbXBvbmVudFxuICAgIGNvbnN0IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gPSB0aGlzLnZjci5jcmVhdGVDb21wb25lbnQodGhpcy5jb21wb25lbnRUeXBlLCB7XG4gICAgICBpbmplY3RvcjogSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgeyBwcm92aWRlOiAncm93RGF0YScsIHVzZVZhbHVlOiB0aGlzLnJvd0RhdGEgfSxcbiAgICAgICAgICB7IHByb3ZpZGU6ICdjb2xEYXRhJywgdXNlVmFsdWU6IHRoaXMuY29sRGF0YSB9LFxuICAgICAgICAgIHsgcHJvdmlkZTogJ2NlbGxWYWx1ZScsIHVzZVZhbHVlOiB0aGlzLmNlbGxWYWx1ZSB9XG4gICAgICAgIF0sXG4gICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvclxuICAgICAgfSlcbiAgICB9KTtcblxuICAgIC8vIOKchSBBdXRvbWF0aWNhbGx5IGNhbGwgY3VzdG9tIGxpZmVjeWNsZSBob29rIGlmIHByZXNlbnRcbiAgICBpZiAodHlwZW9mIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5ncmlkSW5pdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmdyaWRJbml0KHtcbiAgICAgICAgcm93OiB0aGlzLnJvd0RhdGEsXG4gICAgICAgIGNvbDogdGhpcy5jb2xEYXRhLFxuICAgICAgICB2YWx1ZTogdGhpcy5jZWxsVmFsdWVcbiAgICAgIH0pO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhjb21wb25lbnRSZWYuaW5zdGFuY2UpKSB7XG4gICAgICBjb25zdCBwcm9wZXJ0eSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZVtrZXldO1xuICAgICAgaWYgKHByb3BlcnR5IGluc3RhbmNlb2YgRXZlbnRFbWl0dGVyKSB7XG4gICAgICAgIHByb3BlcnR5LnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2VsbEV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgZXZlbnROYW1lOiBrZXksXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgIHJvdzogdGhpcy5yb3dEYXRhLFxuICAgICAgICAgICAgICBjb2w6IHRoaXMuY29sRGF0YSxcbiAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19